June 2018 Update
This commit is contained in:
parent
ba8067c3b7
commit
22f33d4004
5278 changed files with 84726 additions and 14379 deletions
|
|
@ -1,4 +1,4 @@
|
|||
// The compiler can automatically implement Clone on structs (assuming all members have implemented Clone).
|
||||
// The compiler can automatically implement Clone on structs (assuming all members have implemented Clone).
|
||||
#[derive(Clone)]
|
||||
struct Tree<T> {
|
||||
left: Leaf<T>,
|
||||
|
|
@ -9,18 +9,19 @@ struct Tree<T> {
|
|||
type Leaf<T> = Option<Box<Tree<T>>>;
|
||||
|
||||
impl<T> Tree<T> {
|
||||
fn root(d: T) -> Self {
|
||||
Tree { left: None, data: d, right: None }
|
||||
fn root(data: T) -> Self {
|
||||
Self { left: None, data, right: None }
|
||||
}
|
||||
|
||||
fn leaf(d: T) -> Leaf<T> {
|
||||
Some(Box::new(Tree::root(d)))
|
||||
Some(Box::new(Self::root(d)))
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
fn main() {
|
||||
let mut tree = Tree::root(vec![4,5,6]);
|
||||
tree.right = Tree::leaf(vec![1,2,3]);
|
||||
tree.left = Tree::leaf(vec![7,8,9]);
|
||||
let mut tree = Tree::root([4, 5, 6]);
|
||||
tree.right = Tree::leaf([1, 2, 3]);
|
||||
tree.left = Tree::leaf([7, 8, 9]);
|
||||
|
||||
let newtree = tree.clone();
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue