// 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

protocol c {
typealias B : AnyObject, i : U) {
return b() -> == "))
return g<T : AnyObject) ->] = Swift.init() -> (b
A, range.startIndex)!))
}
func f<T where T>() {
class a {
}
([c() ->
