mirror of
				https://github.com/rust-lang/rust.git
				synced 2025-10-31 21:16:44 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			31 lines
		
	
	
		
			545 B
		
	
	
	
		
			Rust
		
	
	
	
	
	
			
		
		
	
	
			31 lines
		
	
	
		
			545 B
		
	
	
	
		
			Rust
		
	
	
	
	
	
| use std::fmt;
 | |
| 
 | |
| struct Number {
 | |
|     n: i64
 | |
| }
 | |
| 
 | |
| impl fmt::Display for Number {
 | |
|     fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
 | |
|         write!(f, "{}", self.n)
 | |
|     }
 | |
| }
 | |
| 
 | |
| struct List {
 | |
|     list: Vec<Box<dyn ToString + 'static>> }
 | |
| 
 | |
| impl List {
 | |
|     fn push(&mut self, n: Box<dyn ToString + 'static>) {
 | |
|         self.list.push(n);
 | |
|     }
 | |
| }
 | |
| 
 | |
| fn main() {
 | |
| 
 | |
|     let n: Box<_> = Number { n: 42 }.into();
 | |
|     let mut l: Box<_> = List { list: Vec::new() }.into();
 | |
|     l.push(n);
 | |
| 
 | |
|     let x = n.to_string();
 | |
|     //~^ ERROR: borrow of moved value: `n`
 | |
| }
 | 
