Fully-qualified references to associated types in parameter lists of
constructors could result in infinite recursion and crash the compiler
when the typealias for the associated type is not defined.
Use the same approach used in normal function parameter lists of setting
IsBeingTypeChecked on the enclosing type to avoid going into an infinite
recursion here.
Resolves rdar://problem/27680407.
Add minimized test for rdar://problem/27830834.
In a build with asserts enabled assert with:
(TypeVariables[impl.getGraphIndex()] == typeVar && "Type variable mismatch")
Add minimized tests for:
rdar://problem/27464577
rdar://problem/27575060
rdar://problem/27680407
rdar://problem/27787341
rdar://problem/27815848
As these (and other tests added here) are fixed, we can move them into a
new type_checker_crashers_fixed directory.