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

var f1: a<d<d-> {
class B : A {
class A {
}
}
class B : A {
deinit {
deinit {
func f.E == F>: A {
}
}
func f.h> {
}
func f<T where T where f<T) {
}
class d:b class A {
enum A : a {
}
struct A {
func a<h : a
class b: a {
class A : A {
var f1: A {
func f<b = a
