[clang] Reapply "[Clang][Sema] Refactor collection of multi-level template argument lists (#106585, #111173)" (PR #111852)
Utkarsh Saxena via cfe-commits
cfe-commits at lists.llvm.org
Wed Nov 6 20:01:43 PST 2024
usx95 wrote:
For module related compilation issue: I added the reproducer here: https://github.com/usx95/llvm-project/commit/8886dbecaf04f5c117e70d50e342bf264947cc64
Fails with:
<details>
```
sh module-reproducer/args.sh
In module 'libB':
module-reproducer/flume_test_utils.h:26:10: error: no viable conversion from returned value of type 'vector<std::basic_string<char>>' to function return type 'vector<S>'
26 | return ret;
| ^~~
module-reproducer/access_boundaries_test.cc:5:6: note: in instantiation of function template specialization 'N::Friend<S>' requested here
5 | N::Friend<S>({});
| ^
/usr/lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/stl_vector.h:598:7: note: candidate constructor not viable: no known conversion from 'std::vector<basic_string<char, char_traits<char>, allocator<char>>>' to 'const vector<S> &' for 1st argument
598 | vector(const vector& __x)
| ^ ~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/stl_vector.h:617:7: note: candidate constructor not viable: no known conversion from 'std::vector<basic_string<char, char_traits<char>, allocator<char>>>' to 'vector<S> &&' for 1st argument
617 | vector(vector&&) noexcept = default;
| ^ ~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/stl_vector.h:675:7: note: candidate constructor not viable: no known conversion from 'std::vector<basic_string<char, char_traits<char>, allocator<char>>>' to 'initializer_list<value_type>' (aka 'initializer_list<S>') for 1st argument
675 | vector(initializer_list<value_type> __l,
| ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/stl_vector.h:539:7: note: explicit constructor is not a candidate
539 | vector(const allocator_type& __a) _GLIBCXX_NOEXCEPT
| ^
/usr/lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/stl_vector.h:553:7: note: explicit constructor is not a candidate
553 | vector(size_type __n, const allocator_type& __a = allocator_type())
| ^
1 error generated.
```
</details>
https://github.com/llvm/llvm-project/pull/111852
More information about the cfe-commits
mailing list