2 ms·
I agree. The problem with eager diagnostics and templates is that the program could define a `Base<int>` specialization that has a working copy constructor lat
by celrod 1y ago
I agree.
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_specialization.html https://en.cppreference.com/w/cpp/language/template_speciali...
[1] https://en.cppreference.com/w/cpp/language/class_template.html https://en.cppreference.com/w/cpp/language/class_template.ht...