2b1af22926
Before, pre-existing fwd decls of specializations got unloaded. OTOH, any decl produced during (failed) template instantiation must also be unloaded; see #6331. Those are easiest identified by unloading the whole (failed) transaction. ``` error: no member named 'value' in 'std::__and_<std::is_copy_assignable<std::__cxx11::basic_string<char> >, std::is_copy_assignable<Inner<int> > >' is_copy_assignable<_T2>>::value, ~~~~~~~~~~~~~~~~~~~~~~~~~~^ ``` which is due to the first decl being invalid (as `Inner<int>` does not have a deinition and a `static_assert` /usr/lib/gcc/x86_64-redhat-linux/10/../../../../include/c++/10/type_traits:1093 being triggered), then not unloaded, and then picked up again where we *do* have the definition for `Inner<int>`. Add test for templt spec lookup vs unloading. |
||
---|---|---|
.. | ||
args.C | ||
data.C | ||
func.C | ||
linkageSpec.C | ||
named.C | ||
scope.C | ||
tag.C | ||
template.C | ||
type.C | ||
variadicFunc.C |