summaryrefslogtreecommitdiff
path: root/advanced/adv-traits
diff options
context:
space:
mode:
authorAdam Carpenter <53hornet@gmail.com>2019-03-27 15:32:37 -0400
committerAdam Carpenter <53hornet@gmail.com>2019-03-27 15:32:37 -0400
commit67cdcc2e12118becb823e20a40cc2687f2b8425a (patch)
treeed92c3234b89079e6d4cf36f5e80c5ffa79def48 /advanced/adv-traits
parente25482fca375d318a39c3b54db396b0db6e0b263 (diff)
downloadlearning-rust-67cdcc2e12118becb823e20a40cc2687f2b8425a.tar.xz
learning-rust-67cdcc2e12118becb823e20a40cc2687f2b8425a.zip
Started Rust in Action MEAP.
Diffstat (limited to 'advanced/adv-traits')
-rw-r--r--advanced/adv-traits/Cargo.lock4
-rw-r--r--advanced/adv-traits/Cargo.toml7
-rw-r--r--advanced/adv-traits/src/main.rs163
3 files changed, 0 insertions, 174 deletions
diff --git a/advanced/adv-traits/Cargo.lock b/advanced/adv-traits/Cargo.lock
deleted file mode 100644
index 4fb1ae5..0000000
--- a/advanced/adv-traits/Cargo.lock
+++ /dev/null
@@ -1,4 +0,0 @@
-[[package]]
-name = "adv-traits"
-version = "0.1.0"
-
diff --git a/advanced/adv-traits/Cargo.toml b/advanced/adv-traits/Cargo.toml
deleted file mode 100644
index b1c5f6a..0000000
--- a/advanced/adv-traits/Cargo.toml
+++ /dev/null
@@ -1,7 +0,0 @@
-[package]
-name = "adv-traits"
-version = "0.1.0"
-authors = ["Adam Carpenter <53hornet@gmail.com>"]
-edition = "2018"
-
-[dependencies]
diff --git a/advanced/adv-traits/src/main.rs b/advanced/adv-traits/src/main.rs
deleted file mode 100644
index 659883c..0000000
--- a/advanced/adv-traits/src/main.rs
+++ /dev/null
@@ -1,163 +0,0 @@
-//fn main() {
-// println!("Hello, world!");
-//}
-//
-//pub trait Iterator {
-// type Item;
-//
-// fn next(&mut self) -> Option<Self::Item>;
-//}
-//
-//
-//#[derive(Debug, PartialEq)]
-//struct Point {
-// x: i32,
-// y: i32,
-//}
-//
-//impl Add for Point {
-// type Output = Point;
-//
-// fn add(self, other: Point) -> Point {
-// Point {
-// x: self.x + other.x,
-// y: self.y + other.y,
-// }
-// }
-//}
-
-//fn main() {
-// assert_eq!(Point { x: 1, y: 0 } + Point { x: 2, y: 3 },
-// Point { x: 3, y: 3 });
-// println!("Done.");
-//}
-
-//trait Add<RHS=Self> {
-// type Output;
-//
-// fn add(self, rhs: RHS) -> Self::Output;
-//}
-
-//use std::ops::Add;
-//
-//struct Millimeters(u32);
-//struct Meters(u32);
-//
-//impl Add<Meters> for Millimeters {
-// type Output = Millimeters;
-//
-// fn add(self, other: Meters) -> Millimeters {
-// Millimeters(self.0 + (other.0 * 1000))
-// }
-//}
-
-
-//trait Pilot {
-// fn fly(&self);
-//}
-//
-//trait Wizard {
-// fn fly(&self);
-//}
-//
-//struct Human;
-//
-//impl Pilot for Human {
-// fn fly(&self) {
-// println!("Because I was inverted.");
-// }
-//}
-//
-//impl Wizard for Human {
-// fn fly(&self) {
-// println!("Fly, you fools.");
-// }
-//}
-//
-//impl Human {
-// fn fly(&self) {
-// println!("*feels real loose like a long-neck goose*");
-// }
-//}
-//
-//
-//trait Animal {
-// fn baby_name() -> String;
-//}
-//
-//struct Dog;
-//
-//impl Dog {
-// fn baby_name() -> String {
-// String::from("Spot")
-// }
-//}
-//
-//impl Animal for Dog {
-// fn baby_name() -> String {
-// String::from("puppy")
-// }
-//}
-
-
-//fn main() {
-// let person = Human;
-// person.fly();
-// Pilot::fly(&person);
-// Wizard::fly(&person);
-//
-//
-// println!("A baby dog is called a {}", <Dog as Animal>::baby_name());
-//
-//
-// println!("Done.");
-//}
-//
-
-
-//use std::fmt;
-//
-//trait OutlinePrint: fmt::Display {
-// fn outline_print(&self) {
-// let output = self.to_string();
-// let len = output.len();
-// println!("{}", "*".repeat(len + 4));
-// println!("*{}*", " ".repeat(len + 2));
-// println!("* {} *", output);
-// println!("*{}*", " ".repeat(len + 2));
-// println!("{}", "*".repeat(len + 4));
-// }
-//}
-//
-//struct Point {
-// x: i32,
-// y: i32,
-//}
-//
-//impl OutlinePrint for Point {}
-//
-//impl fmt::Display for Point {
-// fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
-// write!(f, "({}, {})", self.x, self.y)
-// }
-//}
-//
-//fn main() {
-// let point = Point { x: 5, y: 6 };
-// point.outline_print();
-//}
-
-use std::fmt;
-
-struct Wrapper(Vec<String>);
-
-impl fmt::Display for Wrapper {
- fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
- write!(f, "[{}]", self.0.join(", "))
- }
-}
-
-fn main() {
- let w = Wrapper(vec![String::from("hello"), String::from("world")]);
- println!("w = {}", w);
-}