mirror of
				https://github.com/rust-lang/rust.git
				synced 2025-11-03 22:49:17 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			20 lines
		
	
	
		
			511 B
		
	
	
	
		
			Rust
		
	
	
	
	
	
			
		
		
	
	
			20 lines
		
	
	
		
			511 B
		
	
	
	
		
			Rust
		
	
	
	
	
	
//@ 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
 | 
						|
}
 |