Simon Krajewski пре 11 година
родитељ
комит
759203448d
1 измењених фајлова са 26 додато и 0 уклоњено
  1. 26 0
      tests/unit/issues/Issue2157.hx

+ 26 - 0
tests/unit/issues/Issue2157.hx

@@ -0,0 +1,26 @@
+package unit.issues;
+
+private abstract Choice<X,Y>(Dynamic) {
+    private function new (x:Dynamic) this = x;
+
+    @:from public static function fromX <X,Y>(x:X):Choice<X,Y> return new Choice(x);
+    @:from public static function fromY <X,Y>(y:Y):Choice<X,Y> return new Choice(y);
+}
+
+private abstract False(Bool) {
+    inline function new (x:Bool) this = x;
+    @:from public static function fromBool (b:Bool) {
+        if (!b) {
+            throw "assert " + b + " should be false";
+        }
+        return new False(b);
+    }
+}
+
+
+class Issue2157 extends Test {
+	function test() {
+		var x : False = true;
+		t(unit.TestType.typeError(var z : Choice<False, Int> = true));
+	}
+}