mirror of
https://github.com/rust-lang/rust
synced 2024-11-05 20:45:15 +00:00
32 lines
574 B
Rust
32 lines
574 B
Rust
//@ run-pass
|
|
#![allow(dead_code)]
|
|
#![allow(non_snake_case)]
|
|
#![allow(non_camel_case_types)]
|
|
|
|
use std::cell::RefCell;
|
|
|
|
static S: &'static str = "str";
|
|
|
|
struct list<T> {
|
|
element: T,
|
|
next: Option<Box<RefCell<list<T>>>>
|
|
}
|
|
|
|
impl<T:'static> list<T> {
|
|
pub fn addEnd(&mut self, element: T) {
|
|
let newList = list {
|
|
element: element,
|
|
next: None
|
|
};
|
|
|
|
self.next = Some(Box::new(RefCell::new(newList)));
|
|
}
|
|
}
|
|
|
|
pub fn main() {
|
|
let ls = list {
|
|
element: S,
|
|
next: None
|
|
};
|
|
println!("{}", ls.element);
|
|
}
|