Date: Sat, 14 Jun 2025 09:30:58 +0200
The major problem I see is that you are trying to import implementation details into the standard. Why should that be a good thing in general? The standard should inform the implementation and not the other way around. If you import implementation details into the standard (e.g. vtables), it will restrict all future implementations of C++ to follow this path. No one is allowed to explore other ways to model inheritance. IMHO it requires a really good reason to go down this route.
A better way would be to start with the standard and the assumptions it already makes that could help implement a polyhandle. You have only shown that a few implementations of C++ allow for your feature. However, you are using parts of the standard that are explicitly “implementation defined”. You have to change the standard to make them mandatory instead. If you want to extend the standard, you need to start with the standard and not the implementation. If you are not willing to change every single part of the standard that gets touched by your proposal (e.g. making vtables mandatory), you should rather drop the proposal. It will also be very hard to convince everyone to make drastic changes to the standard to import implementation details. This means you need a really, really good motivation that shows that this effort is worth it.
A better way would be to start with the standard and the assumptions it already makes that could help implement a polyhandle. You have only shown that a few implementations of C++ allow for your feature. However, you are using parts of the standard that are explicitly “implementation defined”. You have to change the standard to make them mandatory instead. If you want to extend the standard, you need to start with the standard and not the implementation. If you are not willing to change every single part of the standard that gets touched by your proposal (e.g. making vtables mandatory), you should rather drop the proposal. It will also be very hard to convince everyone to make drastic changes to the standard to import implementation details. This means you need a really, really good motivation that shows that this effort is worth it.
Received on 2025-06-14 07:31:12