Thanks to visit codestin.com
Credit goes to github.com

Skip to content

<ranges>: operator|(_Left&& __l, _Right&& __r) should return decltype(auto) #4153

@hewillk

Description

@hewillk

STL/stl/inc/ranges

Lines 183 to 190 in bc5a5c3

_EXPORT_STD template <class _Left, class _Right>
requires (_Range_adaptor_closure_object<_Right> && range<_Left>)
_NODISCARD constexpr auto operator|(_Left&& __l, _Right&& __r) noexcept(
noexcept(_STD forward<_Right>(__r)(_STD forward<_Left>(__l))))
requires requires { static_cast<_Right&&>(__r)(static_cast<_Left&&>(__l)); }
{
return _STD forward<_Right>(__r)(_STD forward<_Left>(__l));
}

IIUC, LWG-3981 being tagged as NAD means it's a bug in MSVC-STL, right?

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingfixedSomething works now, yay!rangesC++20/23 ranges

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions