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

class a : a {
enum b { func g<T where T {
if true {
}
struct S<T>(false)
struct A {
class
case c,
let f = f<d {
var b {
println() {
let a : S<T>(x: a {
let f = f<T : a {
protocol a {
class a {
var _ = f<T where I.b { func c,
struct d<d where T {
var b {
var b : d {
let a {
enum b : S<h: P {
func b: b : b {
func g<A<T {
protocol c : b {
func g<d {
enum b : A<T where T>(x: b> {
struct S<T>() {
enum b {
struct d<A<d {
enum b {
enum b {
enum b { func c
fun
