mirror of
				https://github.com/rust-lang/rust.git
				synced 2025-10-31 13:04:42 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			31 lines
		
	
	
		
			477 B
		
	
	
	
		
			Rust
		
	
	
	
	
	
			
		
		
	
	
			31 lines
		
	
	
		
			477 B
		
	
	
	
		
			Rust
		
	
	
	
	
	
| // check-pass
 | |
| 
 | |
| #![feature(type_alias_impl_trait)]
 | |
| 
 | |
| struct MyTy<'a>(Vec<u8>, &'a ());
 | |
| 
 | |
| impl MyTy<'_> {
 | |
|     fn one(&mut self) -> &mut impl Sized {
 | |
|         &mut self.0
 | |
|     }
 | |
|     fn two(&mut self) -> &mut (impl Sized + 'static) {
 | |
|         self.one()
 | |
|     }
 | |
| }
 | |
| 
 | |
| type Opaque<'a> = impl Sized;
 | |
| fn define<'a>() -> Opaque<'a> {}
 | |
| 
 | |
| fn test<'a>() {
 | |
|     None::<&'static Opaque<'a>>;
 | |
| }
 | |
| 
 | |
| fn one<'a, 'b: 'b>() -> &'a impl Sized {
 | |
|     &()
 | |
| }
 | |
| fn two<'a, 'b>() {
 | |
|     one::<'a, 'b>();
 | |
| }
 | |
| 
 | |
| fn main() {}
 | 
