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

let a {
class d<T where g: A
{
}
struct c<T {
enum S
struct B {
class b<T where S = e
}
class B {
class b
func b<T where B : d
class B
