Index: src/tests/.expect/tupleVariadic.txt
===================================================================
--- src/tests/.expect/tupleVariadic.txt	(revision 627f58564ea1659614d187a7110f17db71c41c42)
+++ src/tests/.expect/tupleVariadic.txt	(revision 2298a7b8e3b12b5a036815a4c846aa7a78531850)
@@ -9,4 +9,5 @@
 called ?{} with a: 10 2 3 4
 array = { 10, 2, 3, 4, }
+copy=111111
 calling func
 called process(int) 3
Index: src/tests/tupleVariadic.c
===================================================================
--- src/tests/tupleVariadic.c	(revision 627f58564ea1659614d187a7110f17db71c41c42)
+++ src/tests/tupleVariadic.c	(revision 2298a7b8e3b12b5a036815a4c846aa7a78531850)
@@ -89,4 +89,10 @@
 }
 
+forall(otype T)
+T * copy(T x) {
+	// test calling new inside a polymorphic function
+	return new(x);
+}
+
 int main() {
 	array * x0 = new();
@@ -104,4 +110,8 @@
 	array * x4 = new(10, 2, 3, 4);
 	print(x4);
+
+	int * ptr = copy(111111);
+	printf("copy=%d\n", *ptr);
+
 	printf("calling func\n");
 	func(3, 2.0, 111, 4.145);
