#include using namespace emscripten; struct Base { virtual ~Base() {} }; struct Sub : Base { Sub(Base* b) {} }; struct SubWrapper : wrapper { EMSCRIPTEN_WRAPPER(SubWrapper); }; EMSCRIPTEN_BINDINGS(test) { class_("Base") .constructor<>() ; class_("Sub") .allow_subclass("SubWrapper", constructor(), allow_raw_pointer>()) ; } int main() { return 0; }