// Distributed under the terms of the MIT license
// Test case submitted to project by https://github.com/practicalswift (practicalswift)
// Test case found by fuzzing

enum A {
func b(t: T.j> {
var b =
class A
: a
}
class {
(
i: T = nil
func g: A? {
i: a : B : ? {
a : : T.B : - {
e(t T>:
let i: Bool
func n: a : T f
> Void{
{
class A : Int e(("
for : e: T where T.e : j> {
i: where g: A
typealias e = e ("
enum {
}
func b<T where T.j == 0
func b(
struct b<T where B : String {
func b(i: j A?
