Closed sylveon closed 1 year ago
The implementation seems reasonable, but I'll let @dmachaj sign off.
Do either of you know if these delegates are pruned by the linker if there is no usage? The only meta-question I have is regarding binary size. If these delegates have two additional vtable slots each, and they are not pruned by the linker when unused, then that might add up across a large code base.
@sylveon thank you for taking this on 🙂. I am now back from my vacation and it was a nice thing to see this PR at the top of my inbox. I think your changes here (especially the test coverage) are better than anything I would have been able to write 👍.
Since all the implementation is templated constructors, I expect them to never even show up to the linker until used (because the compiler wouldn't instantiate the template for no reason).
And you're welcome @dmachaj! I had some free time this weekend so I decided why not do this :)
If these delegates have two additional vtable slots each
This does not affect binary (vtable) layout.
Fixes #1316