blob: 76283f4eced91ecd0bddcbd8e6e47922fcc58a25 [file] [log] [blame]
Roy Frostigd5ff6e12010-06-29 04:45:481
Graydon Hoarece729932011-06-15 18:19:502
Marijn Haverbekedf7f21d2011-07-27 12:19:393obj buf[T](data: {_0: T, _1: T, _2: T}) {
4 fn get(i: int) -> T {
5 if i == 0 {
Graydon Hoarece729932011-06-15 18:19:506 ret data._0;
Marijn Haverbekedf7f21d2011-07-27 12:19:397 } else { if i == 1 { ret data._1; } else { ret data._2; } }
Graydon Hoarece729932011-06-15 18:19:508 }
Marijn Haverbekedf7f21d2011-07-27 12:19:399 fn take(t: &T) { }
10 fn take2(t: &T) { }
Graydon Hoared6b7c962010-06-24 04:03:0911}
12
13fn main() {
Marijn Haverbekedf7f21d2011-07-27 12:19:3914 let b: buf[int] = buf[int]({_0: 1, _1: 2, _2: 3});
Graydon Hoarece729932011-06-15 18:19:5015 log "constructed object";
16 log b.get(0);
17 log b.get(1);
18 log b.get(2);
19 assert (b.get(0) == 1);
20 assert (b.get(1) == 2);
21 assert (b.get(2) == 3);
22 b.take2(0);
23}