..\..\tests\std\tests\P2278R4_views_as_const\test.cpp(48,19): error: static assertion failed
48 | static_assert(ranges::view<R>);
| ^~~~~~~~~~~~~~~
..\..\tests\std\tests\P2278R4_views_as_const\test.cpp(635,23): note: in instantiation of function template
specialization 'test_one<const std::span<const int> &, const int (&)[6]>' requested here
635 | static_assert(test_one(s, some_ints));
| ^
..\..\tests\std\tests\P2278R4_views_as_const\test.cpp(48,19): note: because 'R' (aka 'as_const_view<std::span<const int,
18446744073709551615>>') does not satisfy 'view'
48 | static_assert(ranges::view<R>);
| ^
C:\Program Files\Microsoft Visual Studio\18\Insiders\VC\Tools\MSVC\14.52.36405\include\xutility(3590,34): note: because
'R' (aka 'as_const_view<std::span<const int, 18446744073709551615>>') does not satisfy 'movable'
3590 | concept view = range<_Ty> && movable<_Ty> && enable_view<_Ty>;
| ^
C:\Program Files\Microsoft Visual Studio\18\Insiders\VC\Tools\MSVC\14.52.36405\include\concepts(231,96): note: because
'std::ranges::as_const_view<std::span<const int>>' does not satisfy 'swappable'
231 | concept movable = is_object_v<_Ty> && move_constructible<_Ty> && assignable_from<_Ty&, _Ty> && swappable<_Ty>;
| ^
C:\Program Files\Microsoft Visual Studio\18\Insiders\VC\Tools\MSVC\14.52.36405\include\concepts(159,52): note: because
'::std::ranges::swap(__x, __y)' would be invalid: no matching function for call to object of type
'const _Swap::_Cpo'
159 | concept swappable = requires(_Ty& __x, _Ty& __y) { _RANGES swap(__x, __y); };
| ^
C:\Program Files\Microsoft Visual Studio\18\Insiders\VC\Tools\MSVC\14.52.36405\include\yvals_core.h(1908,17): note:
expanded from macro '_RANGES'
1908 | #define _RANGES ::std::ranges::
| ^
In file included from ..\..\tests\std\tests\P2278R4_views_as_const\test.cpp:4:
In file included from C:\Program Files\Microsoft Visual Studio\18\Insiders\VC\Tools\MSVC\14.52.36405\include\algorithm:10:
In file included from C:\Program Files\Microsoft Visual Studio\18\Insiders\VC\Tools\MSVC\14.52.36405\include\__msvc_heap_algorithms.hpp:11:
C:\Program Files\Microsoft Visual Studio\18\Insiders\VC\Tools\MSVC\14.52.36405\include\xutility(3915,27): error: static
assertion failed: view_interface's template argument must model the view concept
(N4950 [view.interface.general]/2).
3915 | static_assert(view<_Derived>,
| ^~~~~~~~~~~~~~
C:\Program Files\Microsoft Visual Studio\18\Insiders\VC\Tools\MSVC\14.52.36405\include\xutility(3924,27): note: in
instantiation of member function 'std::ranges::view_interface<std::ranges::as_const_view<std::span<const
int>>>::_Cast' requested here
3924 | auto& _Self = _Cast();
| ^
..\..\tests\std\tests\P2278R4_views_as_const\test.cpp(322,18): note: in instantiation of member function
'std::ranges::view_interface<std::ranges::as_const_view<std::span<const int>>>::empty' requested here
322 | assert(r.empty() == is_empty);
| ^
C:\Program Files (x86)\Windows Kits\10\include\10.0.28000.0\ucrt\assert.h(40,17): note: expanded from macro 'assert'
40 | (!!(expression)) || \
| ^
..\..\tests\std\tests\P2278R4_views_as_const\test.cpp(635,23): note: in instantiation of function template
specialization 'test_one<const std::span<const int> &, const int (&)[6]>' requested here
635 | static_assert(test_one(s, some_ints));
| ^
C:\Program Files\Microsoft Visual Studio\18\Insiders\VC\Tools\MSVC\14.52.36405\include\xutility(3915,27): note: because
'R' (aka 'as_const_view<std::span<const int, 18446744073709551615>>') does not satisfy 'view'
3915 | static_assert(view<_Derived>,
| ^
C:\Program Files\Microsoft Visual Studio\18\Insiders\VC\Tools\MSVC\14.52.36405\include\xutility(3590,34): note: because
'R' (aka 'as_const_view<std::span<const int, 18446744073709551615>>') does not satisfy 'movable'
3590 | concept view = range<_Ty> && movable<_Ty> && enable_view<_Ty>;
| ^
C:\Program Files\Microsoft Visual Studio\18\Insiders\VC\Tools\MSVC\14.52.36405\include\concepts(231,96): note: because
'std::ranges::as_const_view<std::span<const int>>' does not satisfy 'swappable'
231 | concept movable = is_object_v<_Ty> && move_constructible<_Ty> && assignable_from<_Ty&, _Ty> && swappable<_Ty>;
| ^
C:\Program Files\Microsoft Visual Studio\18\Insiders\VC\Tools\MSVC\14.52.36405\include\concepts(159,52): note: because
'::std::ranges::swap(__x, __y)' would be invalid: no matching function for call to object of type
'const _Swap::_Cpo'
159 | concept swappable = requires(_Ty& __x, _Ty& __y) { _RANGES swap(__x, __y); };
| ^
C:\Program Files\Microsoft Visual Studio\18\Insiders\VC\Tools\MSVC\14.52.36405\include\yvals_core.h(1908,17): note:
expanded from macro '_RANGES'
1908 | #define _RANGES ::std::ranges::
| ^
..\..\tests\std\tests\P2278R4_views_as_const\test.cpp(635,23): error: static assertion expression is not an integral
constant expression
635 | static_assert(test_one(s, some_ints));
| ^~~~~~~~~~~~~~~~~~~~~~
C:\Program Files\Microsoft Visual Studio\18\Insiders\VC\Tools\MSVC\14.52.36405\include\xutility(3984,50): note:
subexpression not valid in a constant expression
3984 | return _STD to_address(_RANGES begin(_Cast()));
| ^
..\..\tests\std\tests\P2278R4_views_as_const\test.cpp(504,91): note: in call to 'r.data()'
504 | const same_as<const remove_reference_t<ranges::range_reference_t<V>>*> auto ptr = r.data();
| ^~~~~~~~
..\..\tests\std\tests\P2278R4_views_as_const\test.cpp(635,23): note: in call to 'test_one<const std::span<const int> &,
const int (&)[6]>(s, some_ints)'
635 | static_assert(test_one(s, some_ints));
| ^~~~~~~~~~~~~~~~~~~~~~
In file included from ..\..\tests\std\tests\P2278R4_views_as_const\test.cpp:4:
In file included from C:\Program Files\Microsoft Visual Studio\18\Insiders\VC\Tools\MSVC\14.52.36405\include\algorithm:10:
In file included from C:\Program Files\Microsoft Visual Studio\18\Insiders\VC\Tools\MSVC\14.52.36405\include\__msvc_heap_algorithms.hpp:11:
In file included from C:\Program Files\Microsoft Visual Studio\18\Insiders\VC\Tools\MSVC\14.52.36405\include\xutility:11:
In file included from C:\Program Files\Microsoft Visual Studio\18\Insiders\VC\Tools\MSVC\14.52.36405\include\__msvc_iter_core.hpp:10:
In file included from C:\Program Files\Microsoft Visual Studio\18\Insiders\VC\Tools\MSVC\14.52.36405\include\utility:15:
In file included from C:\Program Files\Microsoft Visual Studio\18\Insiders\VC\Tools\MSVC\14.52.36405\include\compare:14:
C:\Program Files\Microsoft Visual Studio\18\Insiders\VC\Tools\MSVC\14.52.36405\include\concepts(91,51): error:
satisfaction of constraint '__is_constructible(_Ty, _ArgTys...)' depends on itself
91 | concept constructible_from = destructible<_Ty> && __is_constructible(_Ty, _ArgTys...);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C:\Program Files\Microsoft Visual Studio\18\Insiders\VC\Tools\MSVC\14.52.36405\include\concepts(100,30): note: while
checking the satisfaction of concept 'constructible_from<std::ranges::as_const_view<std::span<int>>>' requested
here
100 | concept move_constructible = constructible_from<_Ty, _Ty> && convertible_to<_Ty, _Ty>;
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
C:\Program Files\Microsoft Visual Studio\18\Insiders\VC\Tools\MSVC\14.52.36405\include\concepts(231,39): note: while
checking the satisfaction of concept 'move_constructible<std::ranges::as_const_view<std::span<int>>>' requested
here
231 | concept movable = is_object_v<_Ty> && move_constructible<_Ty> && assignable_from<_Ty&, _Ty> && swappable<_Ty>;
| ^~~~~~~~~~~~~~~~~~~~~~~
C:\Program Files\Microsoft Visual Studio\18\Insiders\VC\Tools\MSVC\14.52.36405\include\xutility(3590,34): note: while
checking the satisfaction of concept 'movable<std::ranges::as_const_view<std::span<int>>>' requested here
3590 | concept view = range<_Ty> && movable<_Ty> && enable_view<_Ty>;
| ^~~~~~~~~~~~
C:\Program Files\Microsoft Visual Studio\18\Insiders\VC\Tools\MSVC\14.52.36405\include\xutility(3906,27): note: while
checking the satisfaction of concept 'view<std::ranges::as_const_view<std::span<int>>>' requested here
3906 | static_assert(view<_Derived>,
| ^~~~~~~~~~~~~~
C:\Program Files\Microsoft Visual Studio\18\Insiders\VC\Tools\MSVC\14.52.36405\include\xutility(3984,50): note: in
instantiation of member function 'std::ranges::view_interface<std::ranges::as_const_view<std::span<int>>>::_Cast'
requested here
3984 | return _STD to_address(_RANGES begin(_Cast()));
| ^
C:\Program Files\Microsoft Visual Studio\18\Insiders\VC\Tools\MSVC\14.52.36405\include\xutility(3494,40): note:
(skipping 16 contexts in backtrace; use -ftemplate-backtrace-limit=0 to see all)
3494 | { _STD _Fake_copy_init(__t.data()) } -> _Points_to_object;
| ^
C:\Program Files\Microsoft Visual Studio\18\Insiders\VC\Tools\MSVC\14.52.36405\include\concepts(100,30): note: while
checking the satisfaction of concept 'constructible_from<R>' requested here
100 | concept move_constructible = constructible_from<_Ty, _Ty> && convertible_to<_Ty, _Ty>;
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
C:\Program Files\Microsoft Visual Studio\18\Insiders\VC\Tools\MSVC\14.52.36405\include\concepts(231,39): note: while
checking the satisfaction of concept 'move_constructible<R>' requested here
231 | concept movable = is_object_v<_Ty> && move_constructible<_Ty> && assignable_from<_Ty&, _Ty> && swappable<_Ty>;
| ^~~~~~~~~~~~~~~~~~~~~~~
C:\Program Files\Microsoft Visual Studio\18\Insiders\VC\Tools\MSVC\14.52.36405\include\xutility(3590,34): note: while
checking the satisfaction of concept 'movable<R>' requested here
3590 | concept view = range<_Ty> && movable<_Ty> && enable_view<_Ty>;
| ^~~~~~~~~~~~
..\..\tests\std\tests\P2278R4_views_as_const\test.cpp(48,19): note: while checking the satisfaction of concept 'view<R>'
requested here
48 | static_assert(ranges::view<R>);
| ^~~~~~~~~~~~~~~
..\..\tests\std\tests\P2278R4_views_as_const\test.cpp(700,23): note: in instantiation of function template
specialization 'test_one<std::span<int>, std::span<int>>' requested here
700 | static_assert(test_one(Span{}, Span{}));
| ^
..\..\tests\std\tests\P2278R4_views_as_const\test.cpp(48,19): error: static assertion failed
48 | static_assert(ranges::view<R>);
| ^~~~~~~~~~~~~~~
..\..\tests\std\tests\P2278R4_views_as_const\test.cpp(700,23): note: in instantiation of function template
specialization 'test_one<std::span<int>, std::span<int>>' requested here
700 | static_assert(test_one(Span{}, Span{}));
| ^
..\..\tests\std\tests\P2278R4_views_as_const\test.cpp(48,19): note: because 'R' (aka 'as_const_view<std::span<int,
18446744073709551615>>') does not satisfy 'view'
48 | static_assert(ranges::view<R>);
| ^
C:\Program Files\Microsoft Visual Studio\18\Insiders\VC\Tools\MSVC\14.52.36405\include\xutility(3590,34): note: because
'R' (aka 'as_const_view<std::span<int, 18446744073709551615>>') does not satisfy 'movable'
3590 | concept view = range<_Ty> && movable<_Ty> && enable_view<_Ty>;
| ^
C:\Program Files\Microsoft Visual Studio\18\Insiders\VC\Tools\MSVC\14.52.36405\include\concepts(231,96): note: because
'std::ranges::as_const_view<std::span<int>>' does not satisfy 'swappable'
231 | concept movable = is_object_v<_Ty> && move_constructible<_Ty> && assignable_from<_Ty&, _Ty> && swappable<_Ty>;
| ^
C:\Program Files\Microsoft Visual Studio\18\Insiders\VC\Tools\MSVC\14.52.36405\include\concepts(159,52): note: because
'::std::ranges::swap(__x, __y)' would be invalid: no matching function for call to object of type
'const _Swap::_Cpo'
159 | concept swappable = requires(_Ty& __x, _Ty& __y) { _RANGES swap(__x, __y); };
| ^
C:\Program Files\Microsoft Visual Studio\18\Insiders\VC\Tools\MSVC\14.52.36405\include\yvals_core.h(1908,17): note:
expanded from macro '_RANGES'
1908 | #define _RANGES ::std::ranges::
| ^
In file included from ..\..\tests\std\tests\P2278R4_views_as_const\test.cpp:4:
In file included from C:\Program Files\Microsoft Visual Studio\18\Insiders\VC\Tools\MSVC\14.52.36405\include\algorithm:10:
In file included from C:\Program Files\Microsoft Visual Studio\18\Insiders\VC\Tools\MSVC\14.52.36405\include\__msvc_heap_algorithms.hpp:11:
C:\Program Files\Microsoft Visual Studio\18\Insiders\VC\Tools\MSVC\14.52.36405\include\xutility(3915,27): error: static
assertion failed: view_interface's template argument must model the view concept
(N4950 [view.interface.general]/2).
3915 | static_assert(view<_Derived>,
| ^~~~~~~~~~~~~~
C:\Program Files\Microsoft Visual Studio\18\Insiders\VC\Tools\MSVC\14.52.36405\include\xutility(3924,27): note: in
instantiation of member function 'std::ranges::view_interface<std::ranges::as_const_view<std::span<int>>>::_Cast'
requested here
3924 | auto& _Self = _Cast();
| ^
..\..\tests\std\tests\P2278R4_views_as_const\test.cpp(322,18): note: in instantiation of member function
'std::ranges::view_interface<std::ranges::as_const_view<std::span<int>>>::empty' requested here
322 | assert(r.empty() == is_empty);
| ^
C:\Program Files (x86)\Windows Kits\10\include\10.0.28000.0\ucrt\assert.h(40,17): note: expanded from macro 'assert'
40 | (!!(expression)) || \
| ^
..\..\tests\std\tests\P2278R4_views_as_const\test.cpp(700,23): note: in instantiation of function template
specialization 'test_one<std::span<int>, std::span<int>>' requested here
700 | static_assert(test_one(Span{}, Span{}));
| ^
C:\Program Files\Microsoft Visual Studio\18\Insiders\VC\Tools\MSVC\14.52.36405\include\xutility(3915,27): note: because
'R' (aka 'as_const_view<std::span<int, 18446744073709551615>>') does not satisfy 'view'
3915 | static_assert(view<_Derived>,
| ^
C:\Program Files\Microsoft Visual Studio\18\Insiders\VC\Tools\MSVC\14.52.36405\include\xutility(3590,34): note: because
'R' (aka 'as_const_view<std::span<int, 18446744073709551615>>') does not satisfy 'movable'
3590 | concept view = range<_Ty> && movable<_Ty> && enable_view<_Ty>;
| ^
C:\Program Files\Microsoft Visual Studio\18\Insiders\VC\Tools\MSVC\14.52.36405\include\concepts(231,96): note: because
'std::ranges::as_const_view<std::span<int>>' does not satisfy 'swappable'
231 | concept movable = is_object_v<_Ty> && move_constructible<_Ty> && assignable_from<_Ty&, _Ty> && swappable<_Ty>;
| ^
C:\Program Files\Microsoft Visual Studio\18\Insiders\VC\Tools\MSVC\14.52.36405\include\concepts(159,52): note: because
'::std::ranges::swap(__x, __y)' would be invalid: no matching function for call to object of type
'const _Swap::_Cpo'
159 | concept swappable = requires(_Ty& __x, _Ty& __y) { _RANGES swap(__x, __y); };
| ^
C:\Program Files\Microsoft Visual Studio\18\Insiders\VC\Tools\MSVC\14.52.36405\include\yvals_core.h(1908,17): note:
expanded from macro '_RANGES'
1908 | #define _RANGES ::std::ranges::
| ^
..\..\tests\std\tests\P2278R4_views_as_const\test.cpp(700,23): error: static assertion expression is not an integral
constant expression
700 | static_assert(test_one(Span{}, Span{}));
| ^~~~~~~~~~~~~~~~~~~~~~~~
C:\Program Files\Microsoft Visual Studio\18\Insiders\VC\Tools\MSVC\14.52.36405\include\xutility(3984,50): note:
subexpression not valid in a constant expression
3984 | return _STD to_address(_RANGES begin(_Cast()));
| ^
..\..\tests\std\tests\P2278R4_views_as_const\test.cpp(504,91): note: in call to 'r.data()'
504 | const same_as<const remove_reference_t<ranges::range_reference_t<V>>*> auto ptr = r.data();
| ^~~~~~~~
..\..\tests\std\tests\P2278R4_views_as_const\test.cpp(700,23): note: in call to 'test_one<std::span<int>,
std::span<int>>(Span{}, Span{})'
700 | static_assert(test_one(Span{}, Span{}));
| ^~~~~~~~~~~~~~~~~~~~~~~~
8 errors generated.
Accepted by MSVC and Clang 20, rejected by Clang 22, I don't know why yet:
STL/tests/std/tests/P2278R4_views_as_const/test.cpp
Line 48 in f3ae96a
Click to expand more errors: