mirror of
https://github.com/rust-lang/rust
synced 2024-11-05 20:45:15 +00:00
30 lines
545 B
Rust
30 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`
|
|
}
|