// RUN: not --crash %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

var b
class A<T where g
}}struct c<T where j:A{class A<T.g:a=0 as a=(f=e?
struct c{}func a<T where j:T>:A<T where g = b
class b<T{class d
let a=(f
import n{class d=0 as a{class B<I{
class x{class A
struct d
struct b{class B<H
}}}
class A{var b<T:AnyObject
class B<d
class A<d{struct A{}struct S{class n
var f
}let h=0.g:A{class B<T where j:d=b
class d{
struct c{let h=e?
var d{class A<T where g
struct A}
struct S{enum S<S:a{class A{let a=B{
var f:a{}struct S{class a<T where g = b{}let e=b
println{class A{let a=B{
protocol b
class A:T{class B<S{{{
class A
func<T where H
var f=e?
struct d=0.g
struct S{}let a=0.b
class B<T where g
func<T where g:a{
println{func a{}struct A:A:A<T.b
var _=e?
class x{
let e=c<T where T{
struct d
var _=e=0 as a=e=0.h=b
if true{}let e=b{func c<d{class A{struct A:A{{class A{let a=B{
"
class A}struct A<S:AnyObject
class n
class A}let a{struct B{}struct B{let a{}
struct S:d<T{var:A{let C
class b{struct c{var f=b<{class x{class A
}func c<T>:d
if true{class A{let a=B{
println{let a
struct c{}let a
var d
var d<T{
struct d=c<T where H
""
import n{{
class n{}func c{class A{let a=B{
""
if true{var:AnyObject
var f=0.g:A{class B<T where g:T{struct B<T where j:A{struct S:d{struct B<d{var _=(f
var d=0.h:A{class A{struct B<T{{class n
var _=0.g
class A{}
class d=0.g:d
class A{var f
class A:A{struct b<d
class a{
func<I{class A:A:A{{{struct B<d
func<H=(f=B<T where k:AnyObject
struct A{class A<S{
if true{class A{let a=B{
struct B<T where g = b
class a
let e=e=0.h:T{enum S<T.h=e?
protocol b
class B<T where T{struct c<S<T where j:T{class n{
var b{
let h=0 as a{
struct c<T where g = b
class A{
class n{}let a{let a{var f:AnyObject
var _=Int
class d
println{}let e?
""""
var f:A<T where j:A:A}}func c<d{
}let a=B<T.b
import n
if true{{let a<T where T>:A<I{{class B<T where T:d{struct d{class A
class B<S{{enum S:A{
func<I{class B<T where g:A:T.h:A:A{
class A<T>:a<I{let a{func c{
import n{}}}let a{let a{class A{let a=B{
struct B{let C
if true{}struct S:T:T{
class A<I{let a<T{class A{let a=B{
if true{func a{{class A{class d{let h:T{struct B<T.b{}let a<I{let C
class B<T:T.b{
import n{
"
if true{
