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

// Without assertions, this test does not fail on all platforms.
// 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

g..startIndex, AnyObject)
import Foundation
import Foundation
enum b {
}
func i: (x) -> String {
convenience init(c
}
public var b)
protocol A {
protocol B = g: NSObject {
}
func b: $0
self.startIndex)
}
case C: l) -> {
}
typealias B = a<c({
}
}
class func c<b[T]({
typealias E
for b = f<d()):
var a: d) {
for ([0x31] = ""ab"
var a<Int], AnyObject> (x) -> {
}
class b
class A {
class a(T) -> String {
func c<B : A: A, T> String {
}
}
class A {
protocol A {
return ""foo"
}
}
func g
}
class b: end)
protocol b = {
}
i<d {
class a<T>([B
}
case c, 3] = []
typealias e : Any, b = nil
}
struct e {
class A.b where I.c: a {
func c() -> Any in
}
class C(T>("
struct c(_ c<h == d
return !.Type) -> Any in
}
struct S : d where H) -> T>
}
}
func c
enum A {
for b {
i> {
convenience init(c, range.e : a {
typealias b {
enum A where d
class func b, let i<T.e> ("".h>Bool)
}
}
}
self.Type
class B == D> S(bytes: T
func g<e, b {
}
class A {
}
case A<T>()(x: A.c where T> (A> {
}
}
return "ab")
typealias e = {
typealias C {
func f(start: ([c) in return b, U>() ->(b.f == a(start, object2: T) -> String {
func g.count]]("")?
}
protocol A : T> Any) -> V, let end = .E == ""A.<T : d where A.c {
}
func a"
}
protocol A {
func e: ()
protocol a {
}
class A<I : Int -> A {
}
let foo as [[])()
}
}
protocol b {
b() -> U) -> Bool {
}
}
func b: c, c: NSManagedObject {
}
}
struct Q<Y> Bool {
get
struct c, U) -> Any, e == {
func i() -> U {
typealias d: P {
}
}
self.endIndex - range.f == { }
let i: c<T: start, i> T {
func a(""
return [Int
struct e = e!)
return { _, g : C {
map()
protocol a = {
extension NSData {
class C("[1].f = nil
convenience init(x) {
if true }
let v: b
}
}
enum A {
map(x: A : d where B = e: b {
}
}
import Foundation
d: A<T> Any, Any) {
self.E
}
class func c, x }
}
}
var a: S(bytes: A>(c<b
extension String {
class b()
struct c {
typealias B<T>(b> A {
for ()
}
extension Array {
func a<T> Any] in
func f() -> : T : d = { }
}
}
}
}
self.e = {
typealias e = T) {
func a<T>] = b.a("
let i: B<T.B : B? = b: c: A, AnyObject, y)
}
struct B<T>()
fu
