mizvekov added a comment. Isolated example:
template <class T, int=0> struct span {}; auto make_span() { using T = int; return span<const T, 0>(); } void WontCompile() { span<int> s1 = make_span(); } https://godbolt.org/z/rjd6Y6f9d testcc:9:13: error: no viable conversion from 'span<const T, [...]>' to 'span<int, [...]>' span<int> s1 = make_span(); ^ ~~~~~~~~~~~ test.cc:1:34: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'span<const T, 0>' (aka 'span<const int, 0>') to 'const span<int, 0> &' for 1st argument template <class T, int=0> struct span {}; ^ test.cc:1:34: note: candidate constructor (the implicit move constructor) not viable: no known conversion from 'span<const T, 0>' (aka 'span<const int, 0>') to 'span<int, 0> &&' for 1st argument template <class T, int=0> struct span {}; Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D110216/new/ https://reviews.llvm.org/D110216 _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits