Simon Krajewski 5 лет назад
Родитель
Сommit
1187b5de60
1 измененных файлов с 21 добавлено и 5 удалено
  1. 21 5
      tests/unit/src/unit/TestConstrainedMonomorphs.hx

+ 21 - 5
tests/unit/src/unit/TestConstrainedMonomorphs.hx

@@ -2,16 +2,32 @@ package unit;
 
 import utest.Assert;
 
+private class MyNotString {
+	var s:String;
+
+	public function new(s:String) {
+		this.s = s;
+	}
+
+	public function toUpperCase() {
+		return new MyNotString(s.toUpperCase());
+	}
+
+	public function getString() {
+		return s;
+	}
+}
+
 class TestConstrainedMonomorphs extends Test {
 
 	function infer(arg) {
-		var s1 = arg.toUpperCase();
-		var s:String = arg;
-		HelperMacros.typedAs(arg, "foo");
-		return s + s1;
+		var s1:MyNotString = arg.toUpperCase();
+		var s:MyNotString = arg;
+		HelperMacros.typedAs(arg, (null : MyNotString));
+		return s.getString() + s1.getString();
 	}
 
 	function testNarrowingInference() {
-		eq("fooFOO", infer("foo"));
+		eq("fooFOO", infer(new MyNotString("foo")));
 	}
 }