rust/src/libcore
Steven Stewart-Gallus 72c9aab0d2 Created utility uninhabited type
In this commit I added a useful utility type, named Void, that encapsulates the
doable but annoying job of creating an uninhabited type. As well, a function on
that type, named absurd, was created which is useful for ignoring the result of
matching on that type. No unit tests were created because it is not possible to
create an instance of this type to test the usage of.

This type is useful because it is like NonCopyable in that it can be used to
create a type with special characteristics without special bloat. For instance,
instead of typing pub struct PhantomType { priv contents : () } for each void
type one may want to use one can simply type pub struct PhantomType (Void);.
This type make such special cases much easier to write.
2013-05-08 23:29:11 -07:00
..
num Add is_normal and classify methods to Float trait 2013-05-07 20:30:51 +10:00
rand libcore: Remove mutable fields from rand. 2013-05-08 17:03:58 -07:00
rt libcore: Fix more merge fallout. 2013-05-08 17:04:03 -07:00
str Add a brief description to show up in http://static.rust-lang.org/doc/core/index.html 2013-05-03 09:20:01 +03:00
task libcore: Fix tests. 2013-05-08 17:04:01 -07:00
unstable libcore: Fix tests. 2013-05-08 17:04:01 -07:00
at_vec.rs librustc: Stop parsing modes and remove them entirely from the language 2013-05-08 17:04:01 -07:00
bool.rs Remove extra #[cfg(stage0)] 2013-05-03 15:57:05 +09:00
cast.rs librustc: Stop parsing modes and remove them entirely from the language 2013-05-08 17:04:01 -07:00
cell.rs auto merge of #6251 : thestinger/rust/non_owned, r=pcwalton 2013-05-07 01:27:38 -07:00
char.rs Remove pub from core::{unicode,cmath,stackwalk,rt} 2013-05-03 17:10:32 -04:00
cleanup.rs Remove debug_mem since @graydon said it conflicted with GC changes 2013-05-06 20:14:54 -04:00
clone.rs clone: managed boxes need to clone by shallow copy 2013-04-08 16:19:12 -04:00
cmp.rs Move FuzzyEq trait into core::cmp and rename it to 'ApproxEq' 2013-05-06 21:51:07 +10:00
comm.rs libcore: Fix tests. 2013-05-08 17:04:01 -07:00
condition.rs core: Warning police 2013-04-24 13:47:52 -07:00
container.rs Add pop() and swap() to the Map trait 2013-05-07 01:16:04 -04:00
core.rc Move core::simd to core::unstable::simd 2013-05-08 14:37:18 +09:00
either.rs Remove 'Local Variable' comments 2013-05-02 13:22:04 +10:00
flate.rs libcore: Fix tests. 2013-05-08 17:04:01 -07:00
from_str.rs libcore: Remove pure from libcore. rs=depure 2013-03-22 10:29:17 -07:00
gc.rs Remove pub from core::{unicode,cmath,stackwalk,rt} 2013-05-03 17:10:32 -04:00
hash.rs libcore: Fix tests. 2013-05-08 17:04:01 -07:00
hashmap.rs libcore: Remove mutable fields from rand. 2013-05-08 17:03:58 -07:00
io.rs libcore: Fix tests. 2013-05-08 17:04:01 -07:00
iter.rs iter: add max and min functions 2013-04-30 14:14:55 -04:00
iterator.rs libcore: Make ChainIterator take two different-typed Iterators. 2013-05-02 11:10:13 +09:00
kinds.rs Remove Durable from the language 2013-05-07 17:50:42 -07:00
libc.rs Merge remote-tracking branch 'mozilla/incoming' into issue-5910-dyna-freeze 2013-05-05 15:11:04 -04:00
logging.rs add gitattributes and fix whitespace issues 2013-05-03 20:01:42 -04:00
macros.rs core: Turn off rtdebug logging 2013-04-24 13:47:54 -07:00
managed.rs librustc: Remove ptr::addr_of. 2013-04-29 14:30:53 -07:00
nil.rs add a TotalEq trait 2013-03-27 17:29:10 -04:00
old_iter.rs make way for a new iter module 2013-04-28 22:31:39 -04:00
ops.rs Register snapshots 2013-05-04 15:43:51 -07:00
option.rs Register snapshots 2013-05-04 15:43:51 -07:00
os.rs libcore: Fix tests. 2013-05-08 17:04:01 -07:00
owned.rs add gitattributes and fix whitespace issues 2013-05-03 20:01:42 -04:00
path.rs auto merge of #6107 : catamorphism/rust/mkdir_recursive, r=brson 2013-04-29 20:48:37 -07:00
pipes.rs libcore: Fix tests. 2013-05-08 17:04:01 -07:00
prelude.rs Remove Durable from the language 2013-05-07 17:50:42 -07:00
ptr.rs libcore: Remove mutable fields from os and ptr 2013-05-08 17:03:58 -07:00
rand.rs libcore: Fix tests. 2013-05-08 17:04:01 -07:00
reflect.rs Register snapshots 2013-05-04 15:43:51 -07:00
repr.rs librustc: Fix merge fallout. 2013-05-08 17:04:00 -07:00
result.rs Register snapshots 2013-05-04 15:43:51 -07:00
run.rs Move core::run tests of process killing into standalone run-pass tests 2013-05-06 12:50:08 -07:00
stackwalk.rs librustc: Stop parsing modes and remove them entirely from the language 2013-05-08 17:04:01 -07:00
str.rs Merge remote-tracking branch 'mozilla/incoming' into issue-5910-dyna-freeze 2013-05-05 15:11:04 -04:00
sys.rs Register snapshots 2013-05-04 15:43:51 -07:00
to_bytes.rs Merge remote-tracking branch 'mozilla/incoming' into issue-5910-dyna-freeze 2013-05-05 15:11:04 -04:00
to_str.rs Added Ascii type 2013-04-20 22:51:55 +02:00
trie.rs auto merge of #6292 : thestinger/rust/cleanup, r=brson 2013-05-07 12:42:41 -07:00
tuple.rs Register snapshots 2013-05-04 15:43:51 -07:00
unicode.rs add gitattributes and fix whitespace issues 2013-05-03 20:01:42 -04:00
unstable.rs libcore: Remove mutable fields from task::spawn 2013-05-08 17:03:58 -07:00
util.rs Created utility uninhabited type 2013-05-08 23:29:11 -07:00
vec.rs librustc: Stop parsing modes and remove them entirely from the language 2013-05-08 17:04:01 -07:00