// PR c++/91911 // { dg-do compile { target c++17 } } // A variant of class-deduction101.C where SpanType has more levels than // ConstSpanType. template struct span { using value_type = T; span(T); }; template struct A { template using SpanType = decltype(span{T()}); }; template using ConstSpanType = span::SpanType::value_type>; using type = ConstSpanType; using type = span;