| //@ build-pass | |
| //@ compile-flags: -Copt-level=1 --crate-type=lib | |
| #![feature(specialization)] | |
| //~^ WARN the feature `specialization` is incomplete | |
| pub unsafe trait Storage { | |
| type Handle; | |
| } | |
| pub unsafe trait MultipleStorage: Storage {} | |
| default unsafe impl<S> Storage for S where S: MultipleStorage {} | |
| // Make sure that we call is_freeze on `(S::Handle,)` in the param-env of `ice`, | |
| // instead of in an empty, reveal-all param-env. | |
| pub fn ice<S: Storage>(boxed: (S::Handle,)) -> (S::Handle,) { | |
| boxed | |
| } |