aboutsummaryrefslogtreecommitdiff
path: root/src/test/run-pass/generic-exterior-box.rs
blob: 07eae9c1a4268f9f1ae7939140b7c1be09093151 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
type tupbox[T] = tup(@T);
type recbox[T] = rec(@T x);

fn tuplift[T](&T t) -> tupbox[T] { ret tup(@t); }
fn reclift[T](&T t) -> recbox[T] { ret rec(x=@t); }

fn main() {
  let int foo = 17;
  let tupbox[int] tbfoo = tuplift[int](foo);
  let recbox[int] rbfoo = reclift[int](foo);
  assert (tbfoo._0 == foo);
  assert (rbfoo.x == foo);
}