[clang] [Serialization] Fix lazy template loading (PR #133057)

Maksim Ivanov via cfe-commits cfe-commits at lists.llvm.org
Mon May 5 07:50:05 PDT 2025


================
@@ -367,12 +367,6 @@ bool RedeclarableTemplateDecl::loadLazySpecializationsImpl(
   if (!ExternalSource)
     return false;
 
-  // If TPL is not null, it implies that we're loading specializations for
-  // partial templates. We need to load all specializations in such cases.
-  if (TPL)
----------------
emaxx-google wrote:

Unfortunately the error in Google3 doesn't go away after reverting https://github.com/llvm/llvm-project/commit/48f50c7385d79da320cdf52d3aabc83cc403ff9c.

The failures do happen on overloaded template functions. Actually we can disclose some of the information about the failing line - where the STL and Abseil are involved:

```c++
std::vector<absl::string_view>& x = some_vector_of_views;
x = absl::StrSplit(another_vector_of_views, 'y');  // <--- triggers "use of overloaded operator '=' is ambiguous"
```

Hopefully it's helpful, although this snippet looks very simple, and the root cause probably sits elsewhere.

https://github.com/llvm/llvm-project/pull/133057


More information about the cfe-commits mailing list