// PR c++/68828 // { dg-do compile { target c++20 } } template struct Var { }; struct A { }; template T forward(T t) { return static_cast(t); } template bool requires_types_args(V&& v, Var&, Args&&... args) { return (true && ... && requires (V&& v, Types type, Args... args) { foo(forward(v), forward(type), forward(args)...); } ); } void bar() { Var v; requires_types_args(A(), v, 1, 'b'); }