/src/test/run-pass/output-slot-variants.rs

http://github.com/jruderman/rust · Rust · 58 lines · 32 code · 26 blank · 0 comment · 0 complexity · c3b017d60617fd39a0a0a548a3335570 MD5 · raw file

  1. fn ret_int_i() -> int { return 10; }
  2. fn ret_ext_i() -> @int { return @10; }
  3. fn ret_int_rec() -> {a: int, b: int} { return {a: 10, b: 10}; }
  4. fn ret_ext_rec() -> @{a: int, b: int} { return @{a: 10, b: 10}; }
  5. fn ret_ext_mem() -> {a: @int, b: @int} { return {a: @10, b: @10}; }
  6. fn ret_ext_ext_mem() -> @{a: @int, b: @int} { return @{a: @10, b: @10}; }
  7. fn main() {
  8. let mut int_i: int;
  9. let mut ext_i: @int;
  10. let mut int_rec: {a: int, b: int};
  11. let mut ext_rec: @{a: int, b: int};
  12. let mut ext_mem: {a: @int, b: @int};
  13. let mut ext_ext_mem: @{a: @int, b: @int};
  14. int_i = ret_int_i(); // initializing
  15. int_i = ret_int_i(); // non-initializing
  16. int_i = ret_int_i(); // non-initializing
  17. ext_i = ret_ext_i(); // initializing
  18. ext_i = ret_ext_i(); // non-initializing
  19. ext_i = ret_ext_i(); // non-initializing
  20. int_rec = ret_int_rec(); // initializing
  21. int_rec = ret_int_rec(); // non-initializing
  22. int_rec = ret_int_rec(); // non-initializing
  23. ext_rec = ret_ext_rec(); // initializing
  24. ext_rec = ret_ext_rec(); // non-initializing
  25. ext_rec = ret_ext_rec(); // non-initializing
  26. ext_mem = ret_ext_mem(); // initializing
  27. ext_mem = ret_ext_mem(); // non-initializing
  28. ext_mem = ret_ext_mem(); // non-initializing
  29. ext_ext_mem = ret_ext_ext_mem(); // initializing
  30. ext_ext_mem = ret_ext_ext_mem(); // non-initializing
  31. ext_ext_mem = ret_ext_ext_mem(); // non-initializing
  32. }