Commits
practicalswift committed 976fc052f86
[SIL] Add test case for crash triggered in swift::TypeChecker::resolveType(swift::TypeRepr*, swift::DeclContext*, swift::OptionSet<swift::TypeResolutionFlags, unsigned int>, swift::GenericTypeResolver*, llvm::function_ref<bool (swift::TypeCheckRequest)>*)
Stack trace:
```
<stdin>:3:18: error: expected '(' in argument list of function declaration
protocol l{func t-> <T>()->(
^
<stdin>:3:29: error: expected type
protocol l{func t-> <T>()->(
^
<stdin>:3:29: error: expected ',' separator
protocol l{func t-> <T>()->(
^
,
<stdin>:3:29: error: consecutive declarations on a line must be separated by ';'
protocol l{func t-> <T>()->(
^
;
<stdin>:3:29: error: expected declaration
protocol l{func t-> <T>()->(
^
<stdin>:3:10: note: in declaration of 'l'
protocol l{func t-> <T>()->(
^
sil-opt: /path/to/swift/lib/Sema/TypeCheckType.cpp:1964: swift::Type (anonymous namespace)::TypeResolver::resolveASTFunctionType(swift::FunctionTypeRepr *, TypeResolutionOptions, FunctionType::ExtInfo): Assertion `genericSig != nullptr && "Did not call handleSILGenericParams()?"' failed.
9 sil-opt 0x0000000000b5a904 swift::TypeChecker::resolveType(swift::TypeRepr*, swift::DeclContext*, swift::OptionSet<swift::TypeResolutionFlags, unsigned int>, swift::GenericTypeResolver*, llvm::function_ref<bool (swift::TypeCheckRequest)>*) + 164
10 sil-opt 0x0000000000b598a0 swift::TypeChecker::validateType(swift::TypeLoc&, swift::DeclContext*, swift::OptionSet<swift::TypeResolutionFlags, unsigned int>, swift::GenericTypeResolver*, llvm::function_ref<bool (swift::TypeCheckRequest)>*) + 192
12 sil-opt 0x0000000000b2398e swift::TypeChecker::validateGenericFuncSignature(swift::AbstractFunctionDecl*) + 94
17 sil-opt 0x0000000000aea496 swift::TypeChecker::typeCheckDecl(swift::Decl*, bool) + 150
18 sil-opt 0x0000000000b0d762 swift::performTypeChecking(swift::SourceFile&, swift::TopLevelContext&, swift::OptionSet<swift::TypeCheckingFlags, unsigned int>, unsigned int, unsigned int) + 1026
19 sil-opt 0x0000000000772259 swift::CompilerInstance::performSema() + 3289
20 sil-opt 0x000000000075b72d main + 1805
Stack dump:
0. Program arguments: sil-opt -enable-sil-verify-all
1. While type-checking 'l' at <stdin>:3:1
2. While resolving type () -> () at [<stdin>:3:24 - line:3:28] RangeText="()->("
```