// RUN: not %target-swift-frontend %s -parse
// REQUIRES: asserts

// 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 c<e>() -> (e -> e) -> e {
e, e -> e) ->)func d(f: b) -> <e>(() -> e) -> b {
struct c<d : SequenceType> {
var b:  [c<d>] {
}
protocol a {
}
class b: a {
}
func f<T : BooleanType>(b: T) {
}
func e() {
}
}
protocol c : b { func b
otocol A {
}
struct  }
}
class a<b : b, d : b where b.d == d> {
}
protocol b {
typealias d
typealias e = a<c<h>, d>
}
struct c<d, e: b where d.c == e
