https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100940
Bug ID: 100940 Summary: views::take and views::drop should not define _S_has_simple_extra_args Product: gcc Version: 12.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: libstdc++ Assignee: unassigned at gcc dot gnu.org Reporter: hewillk at gmail dot com Target Milestone: --- For view::take and views::drop, we need to perfectly forward its incoming arg in some uncommon situations: #include <ranges> struct Five { operator int() && { return 5; } } five; extern int x[10]; auto r = x | std::views::take(five); https://godbolt.org/z/MEsssWGEh