//@ 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 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(boxed: (S::Handle,)) -> (S::Handle,) { boxed }