diff options
| author | Alex Crichton <alex@alexcrichton.com> | 2014-05-12 21:22:50 -0700 |
|---|---|---|
| committer | Alex Crichton <alex@alexcrichton.com> | 2014-05-13 23:59:03 -0700 |
| commit | 82a8a5ebb3b3c34cd135da511641a9df28e2c30e (patch) | |
| tree | 26cb0ea2ea9f95e9997e4ffb3b7428251d801212 /src | |
| parent | 57f3b6ee5c7c3261592342118b05b93409e285ce (diff) | |
| download | rust-82a8a5ebb3b3c34cd135da511641a9df28e2c30e.tar.gz rust-82a8a5ebb3b3c34cd135da511641a9df28e2c30e.zip | |
core: Document should_not_exist's existence
Explain why it should not exist, and the plan of attack for removing it.
Diffstat (limited to 'src')
| -rw-r--r-- | src/libcore/should_not_exist.rs | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/libcore/should_not_exist.rs b/src/libcore/should_not_exist.rs index 7ecf53a6348..9272f24da9d 100644 --- a/src/libcore/should_not_exist.rs +++ b/src/libcore/should_not_exist.rs @@ -8,6 +8,22 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. +// As noted by this file name, this file should not exist. This file should not +// exist because it performs allocations which libcore is not allowed to do. The +// reason for this file's existence is that the `~[T]` and `~str` types are +// language-defined types. Traits are defined in libcore, such as `Clone`, which +// these types need to implement, but the implementation can only be found in +// libcore. +// +// Plan of attack for solving this problem: +// +// 1. Implement DST +// 2. Make `Box<T>` not a language feature +// 3. Move `Box<T>` to a separate crate, liballoc. +// 4. Implement relevant trais in liballoc, not libcore +// +// Currently, no progress has been made on this list. + use char::Char; use clone::Clone; use container::Container; |
