mirror of
				https://github.com/rust-lang/rust.git
				synced 2025-10-31 13:04:42 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			26 lines
		
	
	
		
			1005 B
		
	
	
	
		
			Rust
		
	
	
	
	
	
			
		
		
	
	
			26 lines
		
	
	
		
			1005 B
		
	
	
	
		
			Rust
		
	
	
	
	
	
| // Emit additional suggestion to correct the trait implementation
 | |
| // on a pointer
 | |
| use std::{fmt, marker};
 | |
| 
 | |
| struct LocalType;
 | |
| 
 | |
| impl fmt::Display for *mut LocalType {
 | |
| //~^ ERROR only traits defined in the current crate can be implemented for arbitrary types
 | |
| //~| NOTE impl doesn't use only types from inside the current crate
 | |
| //~| NOTE `*mut LocalType` is not defined in the current crate because raw pointers are always foreign
 | |
| //~| NOTE define and implement a trait or new type instead
 | |
| //~| HELP consider introducing a new wrapper type
 | |
|     fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
 | |
|         write!(f, "This not compile")
 | |
|     }
 | |
| }
 | |
| 
 | |
| impl<T> marker::Copy for *mut T {
 | |
| //~^ ERROR only traits defined in the current crate can be implemented for arbitrary types
 | |
| //~| NOTE impl doesn't use only types from inside the current crate
 | |
| //~| NOTE `*mut T` is not defined in the current crate because raw pointers are always foreign
 | |
| //~| NOTE define and implement a trait or new type instead
 | |
| }
 | |
| 
 | |
| fn main() {}
 | 
