rust/src/test
bors 661a5ad38e Auto merge of #26173 - pnkfelix:fsk-trans-nzmove-take3, r=nikomatsakis
Add dropflag hints (stack-local booleans) for unfragmented paths in trans.  Part of #5016.

Added code to maintain these hints at runtime, and to conditionalize drop-filling and calls to destructors.

In this early stage of my incremental implementation strategy, we are using hints, so we are always free to leave out a flag for a path -- then we just pass `None` as the dropflag hint in the corresponding schedule cleanup call. But, once a path has a hint, we must at least maintain it: i.e. if the hint exists, we must ensure it is never set to "moved" if the data in question might actually have been initialized. It remains sound to conservatively set the hint to "initialized" as long as the true drop-flag embedded in the value itself is up-to-date.

I hope the commit series has been broken up to be readable; most of the commits in the series should build (though I did not always check this).

----

Oh, I think this technically qualifies as a:
[breaking-change]
because it removes drop-filling in some cases where one could previously observe it. That should only affect `unsafe` code; no safe code should be able to inspect whether the drop-fill was present or not. For an example of code that needed to change to account for this, see commit a81c24ae0216ab47df59acd724f8a33124fb6d97 (a unit test of the `move_val_init` intrinsic).  I have not encountered actual code that needed to be updated to account for the change, since this should only be skipping the drop-filling on *moved* values, not on dropped one, and so even types that use `unsafe_no_drop_flag` should be unchanged by this particular PR. (Their time will come later.)
2015-07-28 15:15:00 +00:00
..
auxiliary Auto merge of #27330 - alexcrichton:reenable-lto-syntax-extension, r=huonw 2015-07-28 12:53:28 +00:00
bench Use vec![elt; n] where possible 2015-07-09 11:05:32 +02:00
codegen Pass fat pointers in two immediate arguments 2015-06-20 18:58:47 +02:00
compile-fail Auto merge of #27309 - eddyb:snapshot-infdef, r=alexcrichton 2015-07-28 08:51:21 +00:00
compile-fail-fulldeps Auto merge of #25168 - Manishearth:register_attr, r=eddyb 2015-05-24 09:38:26 +00:00
debuginfo Create proper debuginfo for closure variables 2015-07-20 15:45:11 +02:00
parse-fail Turn on box(PLACE) expr deprecation warning post-snapshot. 2015-07-27 18:11:43 +03:00
pretty Feature-gate #[prelude_import]. 2015-07-05 22:35:20 +03:00
run-fail Support checked Shl/Shr on SIMD types 2015-06-20 01:38:28 +00:00
run-fail-fulldeps syntax: refactor (Span)Handler and ParseSess constructors to be methods. 2015-05-14 01:47:56 +03:00
run-make test: Fix lto-syntax-extension 2015-07-27 10:42:04 -07:00
run-pass Revise intrinsic-move-val test to not require knowledge of whether filling drop is in use. 2015-07-28 16:15:05 +02:00
run-pass-fulldeps test: Fix lto-syntax-extension 2015-07-27 10:42:04 -07:00
run-pass-valgrind Use assert_eq! instead of assert! in tests 2015-06-13 14:55:55 +03:00
rustdoc Auto merge of #27103 - wthrowe:doc_format, r=alexcrichton 2015-07-21 01:41:22 +00:00