// Distributed under the terms of the MIT license
// Test case submitted to project by https://github.com/practicalswift (practicalswift)
// Test case found by fuzzing

protocol A {
struct B<T where T: A : d
typealias e : b: Int = c<T where T: d
class B<T: b
func a<T where h: P {
"\(t: a {
typealias b : a {
