Advertisement
Guest User

Untitled

a guest
Oct 20th, 2019
100
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.41 KB | None | 0 0
  1. #[derive(Debug)]
  2. enum List<T> {
  3. Nil,
  4. Node(T, Box<List<T>>)
  5. }
  6.  
  7. impl List<T> {
  8. fn prepend(self, item: T) -> Self {
  9. Node(item, Box::new(self))
  10. }
  11.  
  12. fn head(&self) -> Option<T> {
  13. match self {
  14. Node(t, _) => Some(t),
  15. Nil => None
  16. }
  17. }
  18. }
  19.  
  20. use List::*;
  21.  
  22. fn main() {
  23. let list = Node(2, Box::new(Node(3, Box::new(Nil))));
  24. println!("{:?}", list);
  25. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement