// -goexperiment=aliastypeparams -gotypesalias=1 // Copyright 2024 The Go Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. package p type A[P any] func() // alias signature types type B[P any] = func() type C[P any] = B[P] var _ = A /* ERROR "cannot use generic type A without instantiation" */ (nil) // generic alias signature types must be instantiated before use var _ = B /* ERROR "cannot use generic type B without instantiation" */ (nil) var _ = C /* ERROR "cannot use generic type C without instantiation" */ (nil)