@:generic ignores @:unreflective
When a Haxe class is annotated with both @:generic and @:unreflective, the corresponding C++ class still retains the reflection machinery.
For example, compiling the following code with these annotations generates a class named MyClass_Int.cpp, which contains declarations such as HX_DEFINE_DYNAMIC_FUNC0(MyClass_Int_obj, get, return).
I am using Haxe 4.3.4 (but Haxe 4.3.3 exhibits the same behaviour).
@:generic
@:unreflective
class MyClass<T> {
var _v: T;
public function new(v: T) _v = v;
public function get() return _v;
}
class Main {
static function main() {
trace(new MyClass(1).get());
}
}
Fixed by the linked commit, but I don't know how to test this robustly.
Thanks. I'll try the nightly build.
The patch seems to work.
Is it possible to backport the patch on branch 4.3.x?
Yeah @kLabz