Sema: Nuke NominalTypeDecl::markInvalidGenericSignature()

This would just set the NominalTypeDecl's declared type to
ErrorType, which caused problems elsewhere.

Instead, generalize the logic used for AbstractFunctionDecl.
This correctly wires up the GenericTypeParamDecl's archetypes even
if the signature didn't validate, fixing crashes if the generic
parameters of the type are referenced.
This commit is contained in:
Slava Pestov
2015-12-14 00:19:54 -08:00
parent dfbb580de3
commit c258f991f6
713 changed files with 728 additions and 735 deletions

View File

@@ -0,0 +1,15 @@
// RUN: not %target-swift-frontend %s -parse
// Distributed under the terms of the MIT license
// Test case submitted to project by https://github.com/practicalswift (practicalswift)
// Test case found by fuzzing
let c{
class A{
struct c<T where B:d {struct B{
class c{
struct Q{enum A{
enum b<a{
struct A{
let b= A{
var _ e: