/src/test/run-pass/newtype-polymorphic.rs

http://github.com/jruderman/rust · Rust · 12 lines · 9 code · 3 blank · 0 comment · 3 complexity · 2ff674db7a1ed5c2c6f253ff30e7aacb MD5 · raw file

  1. enum myvec<X> = ~[X];
  2. fn myvec_deref<X: copy>(mv: myvec<X>) -> ~[X] { return *mv; }
  3. fn myvec_elt<X: copy>(mv: myvec<X>) -> X { return mv[0]; }
  4. fn main() {
  5. let mv = myvec(~[1, 2, 3]);
  6. assert (myvec_deref(mv)[1] == 2);
  7. assert (myvec_elt(mv) == 1);
  8. assert (mv[2] == 3);
  9. }