mirror of
				https://github.com/rust-lang/rust.git
				synced 2025-11-04 06:56:14 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			17 lines
		
	
	
		
			916 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			17 lines
		
	
	
		
			916 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
error[E0038]: the trait `Foo` cannot be made into an object
 | 
						|
  --> $DIR/foreign-dyn-error.rs:6:12
 | 
						|
   |
 | 
						|
LL |     let _: &dyn rpitit::Foo = todo!();
 | 
						|
   |            ^^^^^^^^^^^^^^^^ `Foo` cannot be made into an object
 | 
						|
   |
 | 
						|
note: for a trait to be "dyn-compatible" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit <https://doc.rust-lang.org/reference/items/traits.html#object-safety>
 | 
						|
  --> $DIR/auxiliary/rpitit.rs:4:21
 | 
						|
   |
 | 
						|
LL |     fn bar(self) -> impl Deref<Target = impl Sized>;
 | 
						|
   |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait cannot be made into an object because method `bar` references an `impl Trait` type in its return type
 | 
						|
   = help: only type `rpitit::Foreign` implements the trait, consider using it directly instead
 | 
						|
 | 
						|
error: aborting due to 1 previous error
 | 
						|
 | 
						|
For more information about this error, try `rustc --explain E0038`.
 |