rust/src/libstd
bors d161e630d8 auto merge of #7317 : Aatch/rust/no-drop-flag, r=thestinger
This adds a `#[no_drop_flag]` attribute. This attribute tells the compiler to omit the drop flag from the struct, if it has a destructor. When the destructor is run, instead of setting the drop flag, it instead zeroes-out the struct. This means the destructor can run multiple times and therefore it is up to the developer to use it safely.

The primary usage case for this is smart-pointer types like `Rc<T>` as the extra flag caused the struct to be 1 word larger because of alignment.

This closes #7271 and #7138
2013-06-25 07:23:06 -07:00
..
num replace #[inline(always)] with #[inline]. r=burningtree. 2013-06-18 14:48:48 -07:00
rand replace #[inline(always)] with #[inline]. r=burningtree. 2013-06-18 14:48:48 -07:00
rt auto merge of #7254 : Blei/rust/intrinsic-overhaul, r=cmr 2013-06-25 04:38:06 -07:00
str vec: remove BaseIter implementation 2013-06-23 02:05:20 -04:00
task vec: rm old_iter implementations, except BaseIter 2013-06-21 03:20:22 -04:00
unstable auto merge of #7317 : Aatch/rust/no-drop-flag, r=thestinger 2013-06-25 07:23:06 -07:00
at_vec.rs auto merge of #7254 : Blei/rust/intrinsic-overhaul, r=cmr 2013-06-25 04:38:06 -07:00
bool.rs replace #[inline(always)] with #[inline]. r=burningtree. 2013-06-18 14:48:48 -07:00
borrow.rs replace #[inline(always)] with #[inline]. r=burningtree. 2013-06-18 14:48:48 -07:00
cast.rs Remove all #[cfg(stage0)]-protected code 2013-06-21 02:43:02 +12:00
cell.rs std::cell: Modernize constructors 2013-06-04 12:03:58 +02:00
char.rs replace #[inline(always)] with #[inline]. r=burningtree. 2013-06-18 14:48:48 -07:00
cleanup.rs Remove unused TyDesc parameter from the glue functions 2013-06-23 13:02:00 +02:00
clone.rs implement Clone for slices 2013-06-24 01:35:12 -04:00
cmp.rs replace #[inline(always)] with #[inline]. r=burningtree. 2013-06-18 14:48:48 -07:00
comm.rs libstd: cleanup warnings 2013-06-21 02:43:02 +12:00
condition.rs Remove all uses of pub impl. rs=style 2013-06-01 09:18:27 -07:00
container.rs rm vec::uniq_len 2013-06-15 22:16:21 -04:00
core.rc remove old_iter 2013-06-24 01:35:11 -04:00
either.rs vec: remove BaseIter implementation 2013-06-23 02:05:20 -04:00
from_str.rs Require documentation by default for libstd 2013-05-30 01:02:55 -05:00
gc.rs Remove unused TyDesc parameter from the glue functions 2013-06-23 13:02:00 +02:00
hash.rs vec: remove BaseIter implementation 2013-06-23 02:05:20 -04:00
hashmap.rs hashmap: add FIXME number 2013-06-23 05:13:13 -04:00
io.rs vec: remove BaseIter implementation 2013-06-23 02:05:20 -04:00
iter.rs vec: remove BaseIter implementation 2013-06-23 02:05:20 -04:00
iterator.rs Remove stage0 cfgs 2013-06-25 17:08:26 +12:00
kinds.rs Add 'Sized' builtin kind; doesn't do anything yet 2013-05-30 21:41:41 -04:00
libc.rs libc: (u)int => c_(u)int for consts 2013-06-24 21:06:51 +02:00
local_data.rs Remove unnecessary 'use' forms 2013-05-30 13:08:18 -07:00
logging.rs Require documentation by default for libstd 2013-05-30 01:02:55 -05:00
macros.rs libstd: Rename libcore to libstd and libstd to libextra; update makefiles. 2013-05-22 21:57:05 -07:00
managed.rs Remove intrinsic module 2013-06-23 12:49:16 +02:00
nil.rs replace #[inline(always)] with #[inline]. r=burningtree. 2013-06-18 14:48:48 -07:00
ops.rs Require documentation by default for libstd 2013-05-30 01:02:55 -05:00
option.rs auto merge of #7279 : hanny24/rust/master, r=msullivan 2013-06-23 17:40:56 -07:00
os.rs libc: (u)int => c_(u)int for consts 2013-06-24 21:06:51 +02:00
owned.rs replace #[inline(always)] with #[inline]. r=burningtree. 2013-06-18 14:48:48 -07:00
path.rs vec: remove BaseIter implementation 2013-06-23 02:05:20 -04:00
pipes.rs libstd: cleanup warnings 2013-06-21 02:43:02 +12:00
prelude.rs remove old_iter 2013-06-24 01:35:11 -04:00
ptr.rs Remove all #[cfg(stage0)]-protected code 2013-06-21 02:43:02 +12:00
rand.rs vec: remove BaseIter implementation 2013-06-23 02:05:20 -04:00
reflect.rs Remove intrinsic module 2013-06-23 12:49:16 +02:00
repr.rs Remove intrinsic module 2013-06-23 12:49:16 +02:00
result.rs vec: remove BaseIter implementation 2013-06-23 02:05:20 -04:00
run.rs vec: remove BaseIter implementation 2013-06-23 02:05:20 -04:00
stackwalk.rs Require documentation by default for libstd 2013-05-30 01:02:55 -05:00
str.rs remove old_iter 2013-06-24 01:35:11 -04:00
sys.rs Remove rust_call_tydesc_glue 2013-06-23 12:49:16 +02:00
to_bytes.rs vec: remove BaseIter implementation 2013-06-23 02:05:20 -04:00
to_str.rs Add missing import to tests 2013-06-25 18:02:56 +12:00
trie.rs remove old_iter 2013-06-24 01:35:11 -04:00
tuple.rs replace #[inline(always)] with #[inline]. r=burningtree. 2013-06-18 14:48:48 -07:00
unicode.rs Require documentation by default for libstd 2013-05-30 01:02:55 -05:00
util.rs replace #[inline(always)] with #[inline]. r=burningtree. 2013-06-18 14:48:48 -07:00
vec.rs auto merge of #7254 : Blei/rust/intrinsic-overhaul, r=cmr 2013-06-25 04:38:06 -07:00