You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
At the moment, trying to generate code for a pure virtual class says:
gen/content/browser/gen0.cc:134:5: error: field type 'content::RenderFrameHost' is an abstract class
T value;
^
gen/content/browser/gen0.cc:344:91: note: in instantiation of template class 'rust::MaybeUninit<content::RenderFrameHost>' requested here
::content::RenderFrameHost *uninit = reinterpret_cast<::content::RenderFrameHost *>(new ::rust::MaybeUninit<::content::RenderFrameHost>);
^
../../ipc/ipc_listener.h:25:16: note: unimplemented pure virtual method 'OnMessageReceived' in 'RenderFrameHost'
virtual bool OnMessageReceived(const Message& message) = 0;
^
Fix upstream bindgen issue (but this isn't quite ideal for us; we don't want to call functions using the vtable from Rust; we simply want to know of their existence so we can generate C++ wrapper functions)
Modify our autocxx-bindgen 'temporary' fork to output some metadata about these
Eventually switch away from bindgen and use libclang directly
adetaylor
changed the title
Allow raw pointers to pure virtual classes
Allow calling pure virtual functions
Mar 24, 2021
At the moment, trying to generate code for a pure virtual class says:
Relevant bits of code from the generated C++:
This is, I think, because we are doing
impl UniquePtr<content::RenderFrameHost>
in our generatedcxx::bridge
.The text was updated successfully, but these errors were encountered: