Guest User

Untitled

a guest
Jan 21st, 2019
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.32 KB | None | 0 0
  1. use std::marker::PhantomData;
  2.  
  3. trait Cons {
  4. const PI: f32;
  5. }
  6.  
  7. struct Vague;
  8. impl Cons for Vague {
  9. const PI: f32 = 3.14;
  10. }
  11.  
  12. struct Outer<T: Cons>(PhantomData<T>);
  13.  
  14. impl<T: Cons> Outer<T> {
  15. fn pi(&self) -> f32 {
  16. T::PI
  17. }
  18. }
  19.  
  20. fn main() {
  21. let x = Outer::<Vague>(PhantomData);
  22. println!("{}", x.pi());
  23. }
Add Comment
Please, Sign In to add comment