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

class B<T where g<T>() { c: d where H.init<T>: T -> () {
struct A : H.E == ")
func g: b> () {
var d where S<T where g: A")
protocol b : NSObject {
protocol A {
protocol A : b> () {
enum S.Generator.e = c: T: A")
typealias b : A? {
