Hi Jacob, Maybe it would be better to figure out why getMemberSubstitutions() is being called on the invalid type, and try to catch the problem further up?
Otherwise, Doug Gregor might have further suggestions. Slava > On Dec 5, 2015, at 11:41 PM, Jacob Bandes-Storch via swift-dev > <swift-dev@swift.org> wrote: > > Investigating compiler_crashers/26960-void.swift, I found that > TypeBase::getMemberSubstitutions is being called on a NominalType > (StructType) whose Parent is an ErrorType (getString() returns "<<error > type>>.B"). > > In this case, is<ErrorType>() returns false, because the type is not itself > an ErrorType, only its parent is. > > Immediately collapsing any NominalType whose parent is ErrorType seems like > it would lose information that might be useful for diagnostics. However, > simply checking is<ErrorType>() is clearly insufficient. > > Should there be something like "isErrorType()" which checks recursively > whether any members (including Parent) are ErrorType? > > Jacob Bandes-Storch > _______________________________________________ > swift-dev mailing list > swift-dev@swift.org > https://lists.swift.org/mailman/listinfo/swift-dev
_______________________________________________ swift-dev mailing list swift-dev@swift.org https://lists.swift.org/mailman/listinfo/swift-dev