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

// 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 f<g>() -> (g, g -> g) -> g {
d j d.i = {
}
{
g) {
h  }
}
protocol f {
}
class d: f{  class func i {}
protocol A {
func b(b: X.Type) {
}
init(foo: T) {
}
func a<d>() -> [c<d>] {
}
protocol a {
}
}
class b<h, i> {
}
protocol c {
}
class A: A {
}
class B : C {
}
func ^(a: BooleanType, Bool) -> Bool {
}
class a<f : b, g : b where f.d == g> {
}
protocol b {
}
struct c<h : b> : b {
}
func f<T : BooleanType>(b: T) {
}
protocol A {
}
class C<D> {
init <A: A where A.B == D>(e: A.B) {
}
}
protocol A {
}
class B {
func d() -> String {
}
}
class C: B, A {
override func d() -> String {
}
func c() -> String {
}
}
func e<T where T: A, T: B>(t: T) {
}
func i(c: () -> ()) {
}
class a {
var _ = i() {
}
}
enum S<T> {
}
class a {
}
protocol A {
}
struct B : A {
}
struct C<D, E: A where D.C == E> {
}
protocol b {
}
struct c {
func e() {
}
}
func c<d {
enum c {
}
}
protocol a {
}
class b: a {
}
(b() as a).dyprefix(with: String) -> <T>(() -> T) -> String {
}
func a<T>() {
enum b {
}
}
protocol c : b { func b
