We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent 432e5e9 commit d863cdbCopy full SHA for d863cdb
src/test/run-pass/newtype-polymorphic.rs
@@ -0,0 +1,16 @@
1
+tag myvec[X] = vec[X];
2
+
3
+fn myvec_deref[X](&myvec[X] mv) -> vec[X] {
4
+ ret *mv;
5
+}
6
7
+fn myvec_elt[X](&myvec[X] mv) -> X {
8
+ ret mv.(0);
9
10
11
+fn main() {
12
+ auto mv = myvec([1, 2, 3]);
13
+ assert(myvec_deref(mv).(1) == 2);
14
+ assert(myvec_elt(mv) == 1);
15
+ assert(mv.(2) == 3);
16
src/test/run-pass/newtype.rs
@@ -0,0 +1,10 @@
+tag mytype = rec(fn (&mytype i) -> int compute, int val);
+fn compute(&mytype i) -> int {
+ ret i.val + 20;
+ auto myval = mytype(rec(compute=compute, val=30));
+ assert(myval.compute(myval) == 50);
0 commit comments