(no title)
celrod | 8 months ago
The problem with eager diagnostics and templates is that the program could define a `Base<int>` specialization that has a working copy constructor later. [0]
I think if you define an explicit instantiation definition, it should type check at that point and error. [1] I find myself sometimes defining explicit instantiations to make clangd useful (can also help avoid repeated instantiations if you use explicit declarations in other TUs).
[0] https://en.cppreference.com/w/cpp/language/template_speciali...
[1] https://en.cppreference.com/w/cpp/language/class_template.ht...
No comments yet.