[clang] [Clang][Sema] Fix lookup of dependent operator= outside of complete-class contexts (PR #91498)

Mike Hommey via cfe-commits cfe-commits at lists.llvm.org
Wed May 8 22:47:06 PDT 2024


glandium wrote:

This caused some breakage in something completely unrelated to operator= O_o

This is from webrtc code in Firefox:
```
/tmp/gecko/third_party/libwebrtc/rtc_base/containers/flat_map.h:331:49: error: out-of-line definition of 'try_emplace' does not match any declaration in 'flat_map<Key, Mapped, Compare, Container>'
  331 | auto flat_map<Key, Mapped, Compare, Container>::try_emplace(K&& key,
      |                                                 ^~~~~~~~~~~
/tmp/gecko/third_party/libwebrtc/rtc_base/containers/flat_map.h:343:49: error: out-of-line definition of 'try_emplace' does not match any declaration in 'flat_map<Key, Mapped, Compare, Container>'
  343 | auto flat_map<Key, Mapped, Compare, Container>::try_emplace(const_iterator hint,
      |                                                 ^~~~~~~~~~~
2 errors generated.
```
The lines with error are: https://searchfox.org/mozilla-central/rev/c34cf367c29601ed56ae4ea51e20b28cd8331f9c/third_party/libwebrtc/rtc_base/containers/flat_map.h#331,343

The corresponding declarations are:
https://searchfox.org/mozilla-central/rev/c34cf367c29601ed56ae4ea51e20b28cd8331f9c/third_party/libwebrtc/rtc_base/containers/flat_map.h#243,248

I don't see how they differ.

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


More information about the cfe-commits mailing list