Extern classes annotated with cpp.ManagedType cannot currently be extended by non extern classes due to differences in how super constructors can be called in Haxe and C++. Attempting to subclass one of these extern classes with a non-extern class will generate this error.
The following example generates CPP0009.
@:semantics(value) @:cpp.ManagedType extern class Foo {} class Bar extends Foo { public function new() {} } function main() { final b = new Bar(); }