https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88419
--- Comment #2 from Marek Polacek <mpolacek at gcc dot gnu.org> --- But not sure if it's a regression: 7/8/9 ICEs whereas $ xg++-6 -c 88419.C -std=c++17 88419.C:5:48: error: expected constructor, destructor, or type conversion before ‘;’ token template<class R> ref_view(R&) -> ref_view<R>; ^ 88419.C:9:33: error: missing template arguments before ‘{’ token noexcept(noexcept(ref_view{r})); ^ 88419.C:9:33: error: expected ‘)’ before ‘{’ token 88419.C:9:33: error: expected ‘)’ before ‘{’ token 88419.C:9:36: error: expected unqualified-id before ‘)’ token noexcept(noexcept(ref_view{r})); ^ 88419.C: In member function ‘auto ref_fn::operator()(R) const’: 88419.C:9:35: error: expected ‘;’ before ‘}’ token noexcept(noexcept(ref_view{r})); ^ 88419.C: At global scope: 88419.C:18:38: error: missing template arguments before ‘{’ token noexcept(noexcept(indirect_view{r})); ^ 88419.C:18:38: error: expected ‘)’ before ‘{’ token 88419.C:18:38: error: expected ‘)’ before ‘{’ token 88419.C:18:41: error: expected unqualified-id before ‘)’ token noexcept(noexcept(indirect_view{r})); ^ 88419.C: In member function ‘auto indirect_fn::operator()(R) const’: 88419.C:18:40: error: expected ‘;’ before ‘}’ token noexcept(noexcept(indirect_view{r})); ^