hans added a comment.

> I am not sure how to reproduce this.

Attaching preprocessed source. With Clang built at 
508aa4fe0c82b3b409e2e194d591ee6d665c8623 it reproduces for me like this:

  $ clang++ -c /tmp/a.ii
  ../../base/containers/span_unittest.cc:11:13: error: no viable conversion 
from 'span<T, [...]>' to 'span<int, [...]>'
    span<int> s = make_span(v);
              ^   ~~~~~~~~~~~~
  ../../base/containers/span.h:340:13: note: candidate constructor not viable: 
no known conversion from 'span<T, Extent::value>' (aka 'span<const int, 
Extent::value>') to 'const base::span<int, 18446744073709551615> &' for 1st 
argument
    constexpr span(const span& other) noexcept = default;
              ^
  ../../base/containers/span.h:303:13: note: candidate template ignored: could 
not match 'int[N]' against 'span<T, Extent::value>' (aka 'span<const int, 
Extent::value>')
    constexpr span(T (&array)[N]) noexcept : span(base::data(array), N) {}
              ^
  ../../base/containers/span.h:310:13: note: candidate template ignored: could 
not match 'array' against 'span'
    constexpr span(std::array<U, N>& array) noexcept
              ^
  ../../base/containers/span.h:317:13: note: candidate template ignored: could 
not match 'array' against 'span'
    constexpr span(const std::array<U, N>& array) noexcept
              ^
  ../../base/containers/span.h:328:13: note: candidate template ignored: 
requirement 
'conjunction<base::negation<base::internal::IsSpanImpl<base::span<const int, 
18446744073709551615>>>, 
base::negation<base::internal::IsStdArrayImpl<base::span<const int, 
18446744073709551615>>>, base::negation<std::is_array<base::span<const int, 
18446744073709551615>>>, std::is_convertible<const int (*)[], int (*)[]>, 
std::is_integral<unsigned long>>::value' was not satisfied [with Container = 
base::span<const int, 18446744073709551615>]
    constexpr span(Container& container) noexcept{F20424748}
              ^
  ../../base/containers/span.h:337:13: note: candidate template ignored: 
requirement 
'conjunction<base::negation<base::internal::IsSpanImpl<base::span<const int, 
18446744073709551615>>>, 
base::negation<base::internal::IsStdArrayImpl<base::span<const int, 
18446744073709551615>>>, base::negation<std::is_array<const base::span<const 
int, 18446744073709551615>>>, std::is_convertible<const int (*)[], int (*)[]>, 
std::is_integral<unsigned long>>::value' was not satisfied [with Container = 
base::span<const int, 18446744073709551615>]
    constexpr span(const Container& container) noexcept
              ^
  ../../base/containers/span.h:350:13: note: candidate template ignored: 
requirement 'is_convertible<const int (*)[], int (*)[]>::value' was not 
satisfied [with U = const int, OtherExtent = 18446744073709551615]
    constexpr span(const span<U, OtherExtent>& other)
              ^
  1 error generated.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D110216/new/

https://reviews.llvm.org/D110216

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to