mirror of
				https://github.com/rust-lang/rust.git
				synced 2025-11-04 06:56:14 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			26 lines
		
	
	
		
			442 B
		
	
	
	
		
			Rust
		
	
	
	
	
	
			
		
		
	
	
			26 lines
		
	
	
		
			442 B
		
	
	
	
		
			Rust
		
	
	
	
	
	
pub struct Stuff {
 | 
						|
    inner: *mut (),
 | 
						|
}
 | 
						|
 | 
						|
pub struct Wrap<T>(T);
 | 
						|
 | 
						|
fn fun<T>(t: T) -> Wrap<T> {
 | 
						|
    todo!()
 | 
						|
}
 | 
						|
 | 
						|
pub trait Trait<'de> {
 | 
						|
    fn do_stuff(_: Wrap<&'de mut Self>);
 | 
						|
}
 | 
						|
 | 
						|
impl<'a> Trait<'a> for () {
 | 
						|
    fn do_stuff(_: Wrap<&'a mut Self>) {}
 | 
						|
}
 | 
						|
 | 
						|
fn fun2(t: &mut Stuff) -> () {
 | 
						|
    let Stuff { inner, .. } = t;
 | 
						|
    Trait::do_stuff({ fun(&mut *inner) });
 | 
						|
    //~^ ERROR the trait bound `*mut (): Trait<'_>` is not satisfied
 | 
						|
}
 | 
						|
 | 
						|
fn main() {}
 |