On Sunday, 10 September 2017 at 08:56:11 UTC, rikki cattermole wrote:
On 10/09/2017 9:40 AM, Yuxuan Shui wrote:
I was experimenting with -betterC and found out that C++ classes doesn't work. Because the resulting object file needs a symbol "_D14TypeInfo_Class6__vtblZ" which is in druntime. I suppose this is to support T.classinfo?

Nope.

Could we remove T.classinfo and make classes work under -betterC? Or is there some other reason preventing this from happening?

Thanks.

Definitely not.

Classes require vtable's to work. Vtables are generated as part of TypeInfo. No TypeInfo, no classes, simple to understand.

Same reason why you can't use classes and cross the dll boundary on Windows.

....

You sure can do that in C++, since Windows 3.x days.

The constraint is that C++ compiler needs to be the same on both sides.

Then there is COM as language neutral vtable.

Reply via email to