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

func a{
struct S<T{
func g:e
typealias e=a}
func f<T:T.I
