mirror of
				https://github.com/rust-lang/rust.git
				synced 2025-11-04 15:05:30 +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`
 | 
						|
}
 |