From d778e57bf61b2284f33d28486f2ac63faa0422cf Mon Sep 17 00:00:00 2001 From: "Felix S. Klock II" Date: Fri, 17 Jul 2015 16:12:35 +0200 Subject: Add RFC 1238's `unsafe_destructor_blind_to_params` (UGEH) where needed. I needed it in `RawVec`, `Vec`, and `TypedArena` for `rustc` to bootstrap; but of course that alone was not sufficient for `make check`. Later I added `unsafe_destructor_blind_to_params` to collections, in particular `LinkedList` and `RawTable` (the backing representation for `HashMap` and `HashSet`), to get the regression tests exercising cyclic structure from PR #27185 building. ---- Note that the feature is `dropck_parametricity` (which is not the same as the attribute's name). We will almost certainly vary our strategy here in the future, so it makes some sense to have a not-as-ugly name for the feature gate. (The attribute name was deliberately selected to be ugly looking.) --- src/libstd/collections/hash/table.rs | 1 + 1 file changed, 1 insertion(+) (limited to 'src/libstd/collections') diff --git a/src/libstd/collections/hash/table.rs b/src/libstd/collections/hash/table.rs index 32541353a0a..e8796dd10b4 100644 --- a/src/libstd/collections/hash/table.rs +++ b/src/libstd/collections/hash/table.rs @@ -999,6 +999,7 @@ impl Clone for RawTable { } impl Drop for RawTable { + #[unsafe_destructor_blind_to_params] fn drop(&mut self) { if self.capacity == 0 || self.capacity == mem::POST_DROP_USIZE { return; -- cgit 1.4.1-3-g733a5