mirror of
				https://github.com/rust-lang/rust.git
				synced 2025-10-31 04:57:19 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			16 lines
		
	
	
		
			450 B
		
	
	
	
		
			Rust
		
	
	
	
	
	
			
		
		
	
	
			16 lines
		
	
	
		
			450 B
		
	
	
	
		
			Rust
		
	
	
	
	
	
| //@ check-pass
 | |
| 
 | |
| #![feature(unboxed_closures)]
 | |
| 
 | |
| fn is_fn<T: for<'a> Fn<(&'a (),)>>() {}
 | |
| fn is_fn2<T: for<'a, 'b> Fn<(&'a &'b (),)>>() {}
 | |
| 
 | |
| struct Outlives<'a, 'b>(std::marker::PhantomData<&'a &'b ()>);
 | |
| 
 | |
| fn main() {
 | |
|     is_fn::<for<'a> fn(&'a ()) -> &'a ()>();
 | |
|     is_fn::<for<'a> fn(&'a ()) -> &'a dyn std::fmt::Debug>();
 | |
|     is_fn2::<for<'a, 'b> fn(&'a &'b ()) -> Outlives<'a, 'b>>();
 | |
|     is_fn2::<for<'a, 'b> fn(&'a &'b ()) -> (&'a (), &'a ())>();
 | |
| }
 | 
