@@ -0,0 +1,5 @@
+class Macro {
+ public static function build() {
+ return macro :Any;
+ }
+}
@@ -0,0 +1,2 @@
+typedef Foo = Array<String, default>
+function main() {}
+@:genericBuild(Macro.build())
+private class Foo<Rest> {}
+private typedef Bar = Foo<Int, default>
+
@@ -0,0 +1,3 @@
+-main Main6
+-D message.reporting=pretty
+-D message.no-color
@@ -0,0 +1,6 @@
+[ERROR] Main6.hx:1: characters 29-36
+ 1 | typedef Foo = Array<String, default>
+ | ^^^^^^^
+ | Too many type parameters for Array
+-main Main7
+[ERROR] Main7.hx:3: characters 32-39
+ 3 | private typedef Bar = Foo<Int, default>
+ | Cannot use default with rest type parameters