// 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 b<I
{
struct A<Q {
struct D : A {
protocol A {
protocol A
