// 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 o<k {
init(j: k) {
{
}
struct l<c, r {
{
}
{
{
}
}
{
}
protocol A {
typealias E
}
struct B<T : A {
let : T.E
protocol C {
typealias F
func g<T where T.E = F> (f: B<T>
}
struct D : C {
func g
