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

func b: a {
class a<T where f: b: T
protocol A {
}
protocol b {
func g<T: T where f: A? {
return "[Void{
}
protocol A : a {
r
