mirror of
				https://github.com/rust-lang/rust.git
				synced 2025-10-30 20:44:34 +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
 | |
| }
 | 
