Doug Gregor
d93bed5ed1
[GSB] Move a well-formed GenericSignatureBuilder to be the canonical builder.
...
Once we compute a generic signature from a generic signature builder,
all queries involving that generic signature will go through a separate
(canonicalized) builder, and the original builder can no longer be used.
The canonicalization process then creates a new, effectively identical
generic signature builder. How silly.
Once we’ve computed the signature of a generic signature builder, “register”
it with the ASTContext, allowing us to move the existing generic signature
builder into place as the canonical generic signature builder. The builder
requires minimal patching but is otherwise fully usable.
Thanks to Slava Pestov for the idea!
2017-09-28 16:19:08 -07:00
Doug Gregor
54864f858c
[Type checker] Replace a use of GenericSignatureBuilder::resolveArchetype().
...
The type checker shouldn’t know about potential archetypes. Use
GenericSignatureBuilder::resolveEquivalenceClass() and perform the lookup
into that instead.
The test case change highlights an existing problem with generic signature
minimization.
2017-09-28 14:27:42 -07:00
Doug Gregor
118eb003ed
Resolve a fixed crasher
2017-09-28 14:27:09 -07:00
Doug Gregor
8f5d8aa7f9
Revert "[GSB] Centralize, clean up, and cache nested type name lookup"
2017-09-25 13:43:10 -07:00
Doug Gregor
4b43cbe26b
Resolve a fixed crasher
2017-09-25 10:12:27 -07:00
Joe Shajrawi
00f44ce24a
Revert "Create fewer generic signature builders"
2017-09-22 21:57:53 -07:00
Doug Gregor
eccdedaf97
Merge pull request #12062 from DougGregor/make-fewer-gsbs
...
Create fewer generic signature builders
2017-09-22 18:38:27 -07:00
Doug Gregor
76a532b3af
[GSB] Move a well-formed GenericSignatureBuilder to be the canonical builder.
...
Once we compute a generic signature from a generic signature builder,
all queries involving that generic signature will go through a separate
(canonicalized) builder, and the original builder can no longer be used.
The canonicalization process then creates a new, effectively identical
generic signature builder. How silly.
Once we’ve computed the signature of a generic signature builder, “register”
it with the ASTContext, allowing us to move the existing generic signature
builder into place as the canonical generic signature builder. The builder
requires minimal patching but is otherwise fully usable.
Thanks to Slava Pestov for the idea!
2017-09-22 17:11:05 -07:00
practicalswift
44fb6752d2
[swiftc (57 vs. 5592)] Add crasher in swift::Parser::parseStmtForEach(...)
...
Add test case for crash triggered in `swift::Parser::parseStmtForEach(...)`.
Current number of unresolved compiler crashers: 57 (5592 resolved)
/cc @rintaro - just wanted to let you know that this crasher caused an assertion failure for the assertion `StartOfControl != Tok.getLoc()` added on 2017-08-01 by you in commit 546aeb23 :-)
Assertion failure in [`lib/Parse/ParseStmt.cpp (line 1839)`](6f0c787996/lib/Parse/ParseStmt.cpp (L1839) ):
```
Assertion `StartOfControl != Tok.getLoc()' failed.
When executing: ParserResult<swift::Stmt> swift::Parser::parseStmtForEach(swift::LabeledStmtInfo)
```
Assertion context:
```c++
skipSingle();
}
if (Tok.is(tok::code_complete))
return makeParserCodeCompletionStatus();
assert(StartOfControl != Tok.getLoc());
SourceRange ControlRange(StartOfControl, PreviousLoc);
Container = makeParserErrorResult(new (Context) ErrorExpr(ControlRange));
diagnose(ForLoc, diag::c_style_for_stmt_removed)
.highlight(ControlRange);
Status = makeParserError();
```
Stack trace:
```
0 0x0000000003e86f24 PrintStackTraceSignalHandler(void*) (/path/to/swift/bin/swift+0x3e86f24)
1 0x0000000003e87266 SignalHandler(int) (/path/to/swift/bin/swift+0x3e87266)
2 0x00007f79f84f1390 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x11390)
3 0x00007f79f6a16428 gsignal /build/glibc-bfm8X4/glibc-2.23/signal/../sysdeps/unix/sysv/linux/raise.c:54:0
4 0x00007f79f6a1802a abort /build/glibc-bfm8X4/glibc-2.23/stdlib/abort.c:91:0
5 0x00007f79f6a0ebd7 __assert_fail_base /build/glibc-bfm8X4/glibc-2.23/assert/assert.c:92:0
6 0x00007f79f6a0ec82 (/lib/x86_64-linux-gnu/libc.so.6+0x2dc82)
7 0x0000000001576d12 swift::Parser::parseStmtForEach(swift::LabeledStmtInfo) (/path/to/swift/bin/swift+0x1576d12)
8 0x000000000157021a swift::Parser::parseStmt() (/path/to/swift/bin/swift+0x157021a)
9 0x000000000156f3b9 swift::Parser::parseExprOrStmt(swift::ASTNode&) (/path/to/swift/bin/swift+0x156f3b9)
10 0x0000000001571301 swift::Parser::parseBraceItems(llvm::SmallVectorImpl<swift::ASTNode>&, swift::BraceItemListKind, swift::BraceItemListKind) (/path/to/swift/bin/swift+0x1571301)
11 0x00000000015568f8 swift::Parser::parseExprClosure() (/path/to/swift/bin/swift+0x15568f8)
12 0x000000000154d893 swift::Parser::parseExprPostfix(swift::Diag<>, bool) (/path/to/swift/bin/swift+0x154d893)
13 0x000000000154c677 swift::Parser::parseExprSequenceElement(swift::Diag<>, bool) (/path/to/swift/bin/swift+0x154c677)
14 0x000000000154b6d6 swift::Parser::parseExprSequence(swift::Diag<>, bool, bool) (/path/to/swift/bin/swift+0x154b6d6)
15 0x000000000154b5b2 swift::Parser::parseExprImpl(swift::Diag<>, bool) (/path/to/swift/bin/swift+0x154b5b2)
16 0x000000000156f519 swift::Parser::parseExprOrStmt(swift::ASTNode&) (/path/to/swift/bin/swift+0x156f519)
17 0x0000000001571108 swift::Parser::parseBraceItems(llvm::SmallVectorImpl<swift::ASTNode>&, swift::BraceItemListKind, swift::BraceItemListKind) (/path/to/swift/bin/swift+0x1571108)
18 0x0000000001525a6e swift::Parser::parseTopLevel() (/path/to/swift/bin/swift+0x1525a6e)
19 0x00000000010c8aa2 swift::parseIntoSourceFile(swift::SourceFile&, unsigned int, bool*, swift::SILParserState*, swift::PersistentParserState*, swift::DelayedParsingCallbacks*) (/path/to/swift/bin/swift+0x10c8aa2)
20 0x0000000001045213 swift::CompilerInstance::performSema() (/path/to/swift/bin/swift+0x1045213)
21 0x00000000004bd856 performCompile(swift::CompilerInstance&, swift::CompilerInvocation&, llvm::ArrayRef<char const*>, int&, swift::FrontendObserver*, swift::UnifiedStatsReporter*) (/path/to/swift/bin/swift+0x4bd856)
22 0x00000000004bc60e swift::performFrontend(llvm::ArrayRef<char const*>, char const*, void*, swift::FrontendObserver*) (/path/to/swift/bin/swift+0x4bc60e)
23 0x0000000000474c54 main (/path/to/swift/bin/swift+0x474c54)
24 0x00007f79f6a01830 __libc_start_main /build/glibc-bfm8X4/glibc-2.23/csu/../csu/libc-start.c:325:0
25 0x0000000000472509 _start (/path/to/swift/bin/swift+0x472509)
```
2017-09-21 22:22:10 +02:00
practicalswift
2c18e9a8ce
[swiftc (56 vs. 5592)] Add crasher in swift::GenericSignatureBuilder::Constraint
...
Add test case for crash triggered in `swift::GenericSignatureBuilder::Constraint`.
Current number of unresolved compiler crashers: 56 (5592 resolved)
Assertion failure in `llvm/include/llvm/ADT/Optional.h (line 137)`:
```
Assertion `hasVal' failed.
When executing: T &llvm::Optional<swift::GenericSignatureBuilder::Constraint<swift::Type> >::operator*() & [T = swift::GenericSignatureBuilder::Constraint<swift::Type>]
```
Assertion context:
```c++
explicit operator bool() const { return hasVal; }
bool hasValue() const { return hasVal; }
const T* operator->() const { return getPointer(); }
T* operator->() { return getPointer(); }
const T& operator*() const LLVM_LVALUE_FUNCTION { assert(hasVal); return *getPointer(); }
T& operator*() LLVM_LVALUE_FUNCTION { assert(hasVal); return *getPointer(); }
template <typename U>
constexpr T getValueOr(U &&value) const LLVM_LVALUE_FUNCTION {
return hasValue() ? getValue() : std::forward<U>(value);
}
```
Stack trace:
```
0 0x0000000003e86f24 PrintStackTraceSignalHandler(void*) (/path/to/swift/bin/swift+0x3e86f24)
1 0x0000000003e87266 SignalHandler(int) (/path/to/swift/bin/swift+0x3e87266)
2 0x00007f6c4e004390 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x11390)
3 0x00007f6c4c529428 gsignal /build/glibc-bfm8X4/glibc-2.23/signal/../sysdeps/unix/sysv/linux/raise.c:54:0
4 0x00007f6c4c52b02a abort /build/glibc-bfm8X4/glibc-2.23/stdlib/abort.c:91:0
5 0x00007f6c4c521bd7 __assert_fail_base /build/glibc-bfm8X4/glibc-2.23/assert/assert.c:92:0
6 0x00007f6c4c521c82 (/lib/x86_64-linux-gnu/libc.so.6+0x2dc82)
7 0x000000000168baa6 swift::GenericSignatureBuilder::Constraint<swift::Type> swift::GenericSignatureBuilder::checkConstraintList<swift::Type, swift::Type>(llvm::ArrayRef<swift::GenericTypeParamType*>, std::vector<swift::GenericSignatureBuilder::Constraint<swift::Type>, std::allocator<swift::GenericSignatureBuilder::Constraint<swift::Type> > >&, llvm::function_ref<bool (swift::GenericSignatureBuilder::Constraint<swift::Type> const&)>, llvm::function_ref<swift::GenericSignatureBuilder::ConstraintRelation (swift::GenericSignatureBuilder::Constraint<swift::Type> const&)>, llvm::Optional<swift::Diag<unsigned int, swift::Type, swift::Type, swift::Type> >, swift::Diag<swift::Type, swift::Type>, swift::Diag<unsigned int, swift::Type, swift::Type>, llvm::function_ref<swift::Type (swift::Type const&)>, bool) (/path/to/swift/bin/swift+0x168baa6)
8 0x000000000167c244 swift::GenericSignatureBuilder::checkConcreteTypeConstraints(llvm::ArrayRef<swift::GenericTypeParamType*>, swift::GenericSignatureBuilder::PotentialArchetype*) (/path/to/swift/bin/swift+0x167c244)
9 0x00000000016758c7 swift::GenericSignatureBuilder::finalize(swift::SourceLoc, llvm::ArrayRef<swift::GenericTypeParamType*>, bool) (/path/to/swift/bin/swift+0x16758c7)
10 0x000000000167deb3 swift::GenericSignatureBuilder::computeGenericSignature(swift::SourceLoc, bool) (/path/to/swift/bin/swift+0x167deb3)
11 0x000000000163a7e8 swift::ProtocolDecl::computeRequirementSignature() (/path/to/swift/bin/swift+0x163a7e8)
12 0x00000000012c3ae8 swift::TypeChecker::validateGenericTypeSignature(swift::GenericTypeDecl*) (/path/to/swift/bin/swift+0x12c3ae8)
13 0x00000000012917a3 swift::TypeChecker::validateDecl(swift::ValueDecl*) (/path/to/swift/bin/swift+0x12917a3)
14 0x00000000012a2abf (anonymous namespace)::DeclChecker::visitProtocolDecl(swift::ProtocolDecl*) (/path/to/swift/bin/swift+0x12a2abf)
15 0x000000000128f948 (anonymous namespace)::DeclChecker::visit(swift::Decl*) (/path/to/swift/bin/swift+0x128f948)
16 0x000000000128f853 swift::TypeChecker::typeCheckDecl(swift::Decl*, bool) (/path/to/swift/bin/swift+0x128f853)
17 0x00000000013203b4 swift::performTypeChecking(swift::SourceFile&, swift::TopLevelContext&, swift::OptionSet<swift::TypeCheckingFlags, unsigned int>, unsigned int, unsigned int, unsigned int, unsigned int) (/path/to/swift/bin/swift+0x13203b4)
18 0x0000000001045247 swift::CompilerInstance::performSema() (/path/to/swift/bin/swift+0x1045247)
19 0x00000000004bd856 performCompile(swift::CompilerInstance&, swift::CompilerInvocation&, llvm::ArrayRef<char const*>, int&, swift::FrontendObserver*, swift::UnifiedStatsReporter*) (/path/to/swift/bin/swift+0x4bd856)
20 0x00000000004bc60e swift::performFrontend(llvm::ArrayRef<char const*>, char const*, void*, swift::FrontendObserver*) (/path/to/swift/bin/swift+0x4bc60e)
21 0x0000000000474c54 main (/path/to/swift/bin/swift+0x474c54)
22 0x00007f6c4c514830 __libc_start_main /build/glibc-bfm8X4/glibc-2.23/csu/../csu/libc-start.c:325:0
23 0x0000000000472509 _start (/path/to/swift/bin/swift+0x472509)
```
2017-09-21 19:39:37 +02:00
practicalswift
f783584b38
[swiftc (55 vs. 5592)] Add crasher in swift::ValueDecl::getFormalAccessScope
...
Add test case for crash triggered in `swift::ValueDecl::getFormalAccessScope`.
Current number of unresolved compiler crashers: 55 (5592 resolved)
Stack trace:
```
0 0x0000000003e86f24 PrintStackTraceSignalHandler(void*) (/path/to/swift/bin/swift+0x3e86f24)
1 0x0000000003e87266 SignalHandler(int) (/path/to/swift/bin/swift+0x3e87266)
2 0x00007fa0c7650390 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x11390)
3 0x0000000001632e9f swift::ValueDecl::getFormalAccessScope(swift::DeclContext const*, bool) const (/path/to/swift/bin/swift+0x1632e9f)
4 0x000000000128e99a (anonymous namespace)::DeclChecker::checkOverrides(swift::TypeChecker&, swift::ValueDecl*) (/path/to/swift/bin/swift+0x128e99a)
5 0x00000000012921dd swift::TypeChecker::validateDecl(swift::ValueDecl*) (/path/to/swift/bin/swift+0x12921dd)
6 0x00000000012a8ba0 (anonymous namespace)::DeclChecker::visitBoundVariable(swift::VarDecl*) (/path/to/swift/bin/swift+0x12a8ba0)
7 0x00000000016b443f swift::Pattern::forEachVariable(std::function<void (swift::VarDecl*)> const&) const (/path/to/swift/bin/swift+0x16b443f)
8 0x000000000128fb02 (anonymous namespace)::DeclChecker::visit(swift::Decl*) (/path/to/swift/bin/swift+0x128fb02)
9 0x00000000012a112b (anonymous namespace)::DeclChecker::visitExtensionDecl(swift::ExtensionDecl*) (/path/to/swift/bin/swift+0x12a112b)
10 0x000000000128f978 (anonymous namespace)::DeclChecker::visit(swift::Decl*) (/path/to/swift/bin/swift+0x128f978)
11 0x000000000128f853 swift::TypeChecker::typeCheckDecl(swift::Decl*, bool) (/path/to/swift/bin/swift+0x128f853)
12 0x00000000013203b4 swift::performTypeChecking(swift::SourceFile&, swift::TopLevelContext&, swift::OptionSet<swift::TypeCheckingFlags, unsigned int>, unsigned int, unsigned int, unsigned int, unsigned int) (/path/to/swift/bin/swift+0x13203b4)
13 0x0000000001045247 swift::CompilerInstance::performSema() (/path/to/swift/bin/swift+0x1045247)
14 0x00000000004bd856 performCompile(swift::CompilerInstance&, swift::CompilerInvocation&, llvm::ArrayRef<char const*>, int&, swift::FrontendObserver*, swift::UnifiedStatsReporter*) (/path/to/swift/bin/swift+0x4bd856)
15 0x00000000004bc60e swift::performFrontend(llvm::ArrayRef<char const*>, char const*, void*, swift::FrontendObserver*) (/path/to/swift/bin/swift+0x4bc60e)
16 0x0000000000474c54 main (/path/to/swift/bin/swift+0x474c54)
17 0x00007fa0c5b60830 __libc_start_main /build/glibc-bfm8X4/glibc-2.23/csu/../csu/libc-start.c:325:0
18 0x0000000000472509 _start (/path/to/swift/bin/swift+0x472509)
```
2017-09-21 12:29:43 +02:00
practicalswift
3055545cd1
[swiftc (54 vs. 5592)] Add crasher in swift::TypeBase::getCanonicalType(...)
...
Add test case for crash triggered in `swift::TypeBase::getCanonicalType(...)`.
Current number of unresolved compiler crashers: 54 (5592 resolved)
Stack trace:
```
0 0x0000000003e86f24 PrintStackTraceSignalHandler(void*) (/path/to/swift/bin/swift+0x3e86f24)
1 0x0000000003e87266 SignalHandler(int) (/path/to/swift/bin/swift+0x3e87266)
2 0x00007f20209a0390 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x11390)
3 0x00000000016c77d4 swift::TypeBase::getCanonicalType() (/path/to/swift/bin/swift+0x16c77d4)
4 0x00000000012c67b1 swift::TypeChecker::lookupMemberType(swift::DeclContext*, swift::Type, swift::Identifier, swift::OptionSet<swift::NameLookupFlags, unsigned int>) (/path/to/swift/bin/swift+0x12c67b1)
5 0x00000000013123ce resolveIdentTypeComponent(swift::TypeChecker&, swift::DeclContext*, llvm::ArrayRef<swift::ComponentIdentTypeRepr*>, swift::OptionSet<swift::TypeResolutionFlags, unsigned int>, bool, swift::GenericTypeResolver*, llvm::function_ref<bool (swift::TypeCheckRequest)>*) (/path/to/swift/bin/swift+0x13123ce)
6 0x0000000001311b2a swift::TypeChecker::resolveIdentifierType(swift::DeclContext*, swift::IdentTypeRepr*, swift::OptionSet<swift::TypeResolutionFlags, unsigned int>, bool, swift::GenericTypeResolver*, llvm::function_ref<bool (swift::TypeCheckRequest)>*) (/path/to/swift/bin/swift+0x1311b2a)
7 0x00000000013128f0 (anonymous namespace)::TypeResolver::resolveType(swift::TypeRepr*, swift::OptionSet<swift::TypeResolutionFlags, unsigned int>) (/path/to/swift/bin/swift+0x13128f0)
8 0x0000000001313f3b (anonymous namespace)::TypeResolver::resolveType(swift::TypeRepr*, swift::OptionSet<swift::TypeResolutionFlags, unsigned int>) (/path/to/swift/bin/swift+0x1313f3b)
9 0x00000000013127fc swift::TypeChecker::resolveType(swift::TypeRepr*, swift::DeclContext*, swift::OptionSet<swift::TypeResolutionFlags, unsigned int>, swift::GenericTypeResolver*, llvm::function_ref<bool (swift::TypeCheckRequest)>*) (/path/to/swift/bin/swift+0x13127fc)
10 0x00000000013110dd swift::TypeChecker::validateType(swift::TypeLoc&, swift::DeclContext*, swift::OptionSet<swift::TypeResolutionFlags, unsigned int>, swift::GenericTypeResolver*, llvm::function_ref<bool (swift::TypeCheckRequest)>*) (/path/to/swift/bin/swift+0x13110dd)
11 0x0000000001292a25 validateTypealiasType(swift::TypeChecker&, swift::TypeAliasDecl*) (/path/to/swift/bin/swift+0x1292a25)
12 0x0000000001291895 swift::TypeChecker::validateDecl(swift::ValueDecl*) (/path/to/swift/bin/swift+0x1291895)
13 0x00000000012a2abf (anonymous namespace)::DeclChecker::visitProtocolDecl(swift::ProtocolDecl*) (/path/to/swift/bin/swift+0x12a2abf)
14 0x000000000128f948 (anonymous namespace)::DeclChecker::visit(swift::Decl*) (/path/to/swift/bin/swift+0x128f948)
15 0x000000000128f853 swift::TypeChecker::typeCheckDecl(swift::Decl*, bool) (/path/to/swift/bin/swift+0x128f853)
16 0x00000000013203b4 swift::performTypeChecking(swift::SourceFile&, swift::TopLevelContext&, swift::OptionSet<swift::TypeCheckingFlags, unsigned int>, unsigned int, unsigned int, unsigned int, unsigned int) (/path/to/swift/bin/swift+0x13203b4)
17 0x0000000001045247 swift::CompilerInstance::performSema() (/path/to/swift/bin/swift+0x1045247)
18 0x00000000004bd856 performCompile(swift::CompilerInstance&, swift::CompilerInvocation&, llvm::ArrayRef<char const*>, int&, swift::FrontendObserver*, swift::UnifiedStatsReporter*) (/path/to/swift/bin/swift+0x4bd856)
19 0x00000000004bc60e swift::performFrontend(llvm::ArrayRef<char const*>, char const*, void*, swift::FrontendObserver*) (/path/to/swift/bin/swift+0x4bc60e)
20 0x0000000000474c54 main (/path/to/swift/bin/swift+0x474c54)
21 0x00007f201eeb0830 __libc_start_main /build/glibc-bfm8X4/glibc-2.23/csu/../csu/libc-start.c:325:0
22 0x0000000000472509 _start (/path/to/swift/bin/swift+0x472509)
```
2017-09-21 10:46:04 +02:00
practicalswift
e7dd8c9650
[swiftc (53 vs. 5592)] Add crasher in swift::SubstitutionMap::lookupSubstitution
...
Add test case for crash triggered in `swift::SubstitutionMap::lookupSubstitution`.
Current number of unresolved compiler crashers: 53 (5592 resolved)
/cc @swiftix - just wanted to let you know that this crasher caused an assertion failure for the assertion `genericSig` added on 2017-05-01 by you in commit 0aff7c0c :-)
Assertion failure in [`lib/AST/SubstitutionMap.cpp (line 120)`](5490877692/lib/AST/SubstitutionMap.cpp (L120) ):
```
Assertion `genericSig' failed.
When executing: swift::Type swift::SubstitutionMap::lookupSubstitution(CanSubstitutableType) const
```
Assertion context:
```c++
// have.
auto genericParam = cast<GenericTypeParamType>(type);
auto mutableThis = const_cast<SubstitutionMap *>(this);
auto replacementTypes = mutableThis->getReplacementTypes();
auto genericSig = getGenericSignature();
assert(genericSig);
auto genericParams = genericSig->getGenericParams();
auto replacementIndex =
GenericParamKey(genericParam).findIndexIn(genericParams);
// If this generic parameter isn't represented, we don't have a replacement
```
Stack trace:
```
0 0x0000000003e86f24 PrintStackTraceSignalHandler(void*) (/path/to/swift/bin/swift+0x3e86f24)
1 0x0000000003e87266 SignalHandler(int) (/path/to/swift/bin/swift+0x3e87266)
2 0x00007f81f4d05390 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x11390)
3 0x00007f81f322a428 gsignal /build/glibc-bfm8X4/glibc-2.23/signal/../sysdeps/unix/sysv/linux/raise.c:54:0
4 0x00007f81f322c02a abort /build/glibc-bfm8X4/glibc-2.23/stdlib/abort.c:91:0
5 0x00007f81f3222bd7 __assert_fail_base /build/glibc-bfm8X4/glibc-2.23/assert/assert.c:92:0
6 0x00007f81f3222c82 (/lib/x86_64-linux-gnu/libc.so.6+0x2dc82)
7 0x00000000016c3b02 swift::SubstitutionMap::lookupSubstitution(swift::CanTypeWrapper<swift::SubstitutableType>) const (/path/to/swift/bin/swift+0x16c3b02)
8 0x00000000016d5df9 llvm::Optional<swift::Type> llvm::function_ref<llvm::Optional<swift::Type> (swift::TypeBase*)>::callback_fn<substType(swift::Type, llvm::function_ref<swift::Type (swift::SubstitutableType*)>, llvm::function_ref<llvm::Optional<swift::ProtocolConformanceRef> (swift::CanType, swift::Type, swift::ProtocolType*)>, swift::SubstOptions)::$_18>(long, swift::TypeBase*) (/path/to/swift/bin/swift+0x16d5df9)
9 0x00000000016d2336 swift::Type::transformRec(llvm::function_ref<llvm::Optional<swift::Type> (swift::TypeBase*)>) const (/path/to/swift/bin/swift+0x16d2336)
10 0x00000000016d264d swift::Type::transformRec(llvm::function_ref<llvm::Optional<swift::Type> (swift::TypeBase*)>) const (/path/to/swift/bin/swift+0x16d264d)
11 0x00000000016cd625 swift::Type::subst(swift::SubstitutionMap const&, swift::SubstOptions) const (/path/to/swift/bin/swift+0x16cd625)
12 0x00000000016d20ac swift::TypeBase::getTypeOfMember(swift::ModuleDecl*, swift::ValueDecl const*, swift::Type) (/path/to/swift/bin/swift+0x16d20ac)
13 0x0000000001669cec swift::GenericSignatureBuilder::PotentialArchetype::updateNestedTypeForConformance(llvm::PointerUnion<swift::AssociatedTypeDecl*, swift::TypeDecl*>, swift::ArchetypeResolutionKind) (/path/to/swift/bin/swift+0x1669cec)
14 0x00000000016690d3 swift::GenericSignatureBuilder::PotentialArchetype::getNestedArchetypeAnchor(swift::Identifier, swift::GenericSignatureBuilder&, swift::ArchetypeResolutionKind) (/path/to/swift/bin/swift+0x16690d3)
15 0x000000000166d8db swift::GenericSignatureBuilder::resolvePotentialArchetype(swift::Type, swift::ArchetypeResolutionKind) (/path/to/swift/bin/swift+0x166d8db)
16 0x000000000166da71 swift::GenericSignatureBuilder::resolve(llvm::PointerUnion<swift::GenericSignatureBuilder::PotentialArchetype*, swift::Type>, swift::GenericSignatureBuilder::FloatingRequirementSource) (/path/to/swift/bin/swift+0x166da71)
17 0x00000000016725c5 swift::GenericSignatureBuilder::addTypeRequirement(llvm::PointerUnion<swift::GenericSignatureBuilder::PotentialArchetype*, swift::Type>, llvm::PointerUnion<swift::GenericSignatureBuilder::PotentialArchetype*, swift::Type>, swift::GenericSignatureBuilder::FloatingRequirementSource, swift::GenericSignatureBuilder::UnresolvedHandlingKind) (/path/to/swift/bin/swift+0x16725c5)
18 0x0000000001687a53 swift::GenericSignatureBuilder::ConstraintResult llvm::function_ref<swift::GenericSignatureBuilder::ConstraintResult (swift::Type, swift::TypeRepr const*)>::callback_fn<swift::GenericSignatureBuilder::addInheritedRequirements(swift::TypeDecl*, llvm::PointerUnion<swift::GenericSignatureBuilder::PotentialArchetype*, swift::Type>, swift::GenericSignatureBuilder::RequirementSource const*, swift::ModuleDecl*)::$_22>(long, swift::Type, swift::TypeRepr const*) (/path/to/swift/bin/swift+0x1687a53)
19 0x000000000167f682 std::_Function_handler<void (swift::Type, swift::TypeRepr const*), visitInherited(llvm::ArrayRef<swift::TypeLoc>, llvm::function_ref<swift::GenericSignatureBuilder::ConstraintResult (swift::Type, swift::TypeRepr const*)>)::$_56>::_M_invoke(std::_Any_data const&, swift::Type&&, swift::TypeRepr const*&&) (/path/to/swift/bin/swift+0x167f682)
20 0x000000000166e00e swift::GenericSignatureBuilder::addInheritedRequirements(swift::TypeDecl*, llvm::PointerUnion<swift::GenericSignatureBuilder::PotentialArchetype*, swift::Type>, swift::GenericSignatureBuilder::RequirementSource const*, swift::ModuleDecl*) (/path/to/swift/bin/swift+0x166e00e)
21 0x000000000166e609 swift::GenericSignatureBuilder::expandConformanceRequirement(swift::GenericSignatureBuilder::PotentialArchetype*, swift::ProtocolDecl*, swift::GenericSignatureBuilder::RequirementSource const*, bool) (/path/to/swift/bin/swift+0x166e609)
22 0x000000000167289a swift::GenericSignatureBuilder::addTypeRequirement(llvm::PointerUnion<swift::GenericSignatureBuilder::PotentialArchetype*, swift::Type>, llvm::PointerUnion<swift::GenericSignatureBuilder::PotentialArchetype*, swift::Type>, swift::GenericSignatureBuilder::FloatingRequirementSource, swift::GenericSignatureBuilder::UnresolvedHandlingKind) (/path/to/swift/bin/swift+0x167289a)
23 0x0000000001687a53 swift::GenericSignatureBuilder::ConstraintResult llvm::function_ref<swift::GenericSignatureBuilder::ConstraintResult (swift::Type, swift::TypeRepr const*)>::callback_fn<swift::GenericSignatureBuilder::addInheritedRequirements(swift::TypeDecl*, llvm::PointerUnion<swift::GenericSignatureBuilder::PotentialArchetype*, swift::Type>, swift::GenericSignatureBuilder::RequirementSource const*, swift::ModuleDecl*)::$_22>(long, swift::Type, swift::TypeRepr const*) (/path/to/swift/bin/swift+0x1687a53)
24 0x000000000167f682 std::_Function_handler<void (swift::Type, swift::TypeRepr const*), visitInherited(llvm::ArrayRef<swift::TypeLoc>, llvm::function_ref<swift::GenericSignatureBuilder::ConstraintResult (swift::Type, swift::TypeRepr const*)>)::$_56>::_M_invoke(std::_Any_data const&, swift::Type&&, swift::TypeRepr const*&&) (/path/to/swift/bin/swift+0x167f682)
25 0x000000000166e00e swift::GenericSignatureBuilder::addInheritedRequirements(swift::TypeDecl*, llvm::PointerUnion<swift::GenericSignatureBuilder::PotentialArchetype*, swift::Type>, swift::GenericSignatureBuilder::RequirementSource const*, swift::ModuleDecl*) (/path/to/swift/bin/swift+0x166e00e)
26 0x000000000166de3e swift::GenericSignatureBuilder::addGenericParameterRequirements(swift::GenericTypeParamDecl*) (/path/to/swift/bin/swift+0x166de3e)
27 0x00000000012bfdd2 swift::TypeChecker::checkGenericParamList(swift::GenericSignatureBuilder*, swift::GenericParamList*, swift::GenericSignature*, swift::GenericTypeResolver*) (/path/to/swift/bin/swift+0x12bfdd2)
28 0x00000000012c36f4 swift::TypeChecker::checkGenericEnvironment(swift::GenericParamList*, swift::DeclContext*, swift::GenericSignature*, bool, llvm::function_ref<void (swift::GenericSignatureBuilder&)>) (/path/to/swift/bin/swift+0x12c36f4)
29 0x00000000012c3b23 swift::TypeChecker::validateGenericTypeSignature(swift::GenericTypeDecl*) (/path/to/swift/bin/swift+0x12c3b23)
30 0x0000000001291324 swift::TypeChecker::validateDecl(swift::ValueDecl*) (/path/to/swift/bin/swift+0x1291324)
31 0x00000000012a19cc (anonymous namespace)::DeclChecker::visitClassDecl(swift::ClassDecl*) (/path/to/swift/bin/swift+0x12a19cc)
32 0x000000000128fa3e (anonymous namespace)::DeclChecker::visit(swift::Decl*) (/path/to/swift/bin/swift+0x128fa3e)
33 0x00000000012a1adb (anonymous namespace)::DeclChecker::visitClassDecl(swift::ClassDecl*) (/path/to/swift/bin/swift+0x12a1adb)
34 0x000000000128fa3e (anonymous namespace)::DeclChecker::visit(swift::Decl*) (/path/to/swift/bin/swift+0x128fa3e)
35 0x000000000128f853 swift::TypeChecker::typeCheckDecl(swift::Decl*, bool) (/path/to/swift/bin/swift+0x128f853)
36 0x00000000013203b4 swift::performTypeChecking(swift::SourceFile&, swift::TopLevelContext&, swift::OptionSet<swift::TypeCheckingFlags, unsigned int>, unsigned int, unsigned int, unsigned int, unsigned int) (/path/to/swift/bin/swift+0x13203b4)
37 0x0000000001045247 swift::CompilerInstance::performSema() (/path/to/swift/bin/swift+0x1045247)
38 0x00000000004bd856 performCompile(swift::CompilerInstance&, swift::CompilerInvocation&, llvm::ArrayRef<char const*>, int&, swift::FrontendObserver*, swift::UnifiedStatsReporter*) (/path/to/swift/bin/swift+0x4bd856)
39 0x00000000004bc60e swift::performFrontend(llvm::ArrayRef<char const*>, char const*, void*, swift::FrontendObserver*) (/path/to/swift/bin/swift+0x4bc60e)
40 0x0000000000474c54 main (/path/to/swift/bin/swift+0x474c54)
41 0x00007f81f3215830 __libc_start_main /build/glibc-bfm8X4/glibc-2.23/csu/../csu/libc-start.c:325:0
42 0x0000000000472509 _start (/path/to/swift/bin/swift+0x472509)
```
2017-09-21 06:38:44 +02:00
practicalswift
5ac61dcb10
[swiftc (52 vs. 5592)] Add crasher in swift::TypeBase::getCanonicalType(...)
...
Add test case for crash triggered in `swift::TypeBase::getCanonicalType(...)`.
Current number of unresolved compiler crashers: 52 (5592 resolved)
/cc @slavapestov - just wanted to let you know that this crasher caused an assertion failure for the assertion `gpDecl->getDepth() != GenericTypeParamDecl::InvalidDepth && "parameter hasn't been validated"` added on 2017-02-22 by you in commit fdb0a186 :-)
Assertion failure in [`lib/AST/Type.cpp (line 1086)`](c1139c0b0c/lib/AST/Type.cpp (L1086) ):
```
Assertion `gpDecl->getDepth() != GenericTypeParamDecl::InvalidDepth && "parameter hasn't been validated"' failed.
When executing: swift::CanType swift::TypeBase::getCanonicalType()
```
Assertion context:
```c++
case TypeKind::GenericTypeParam: {
GenericTypeParamType *gp = cast<GenericTypeParamType>(this);
auto gpDecl = gp->getDecl();
assert(gpDecl->getDepth() != GenericTypeParamDecl::InvalidDepth &&
"parameter hasn't been validated");
Result = GenericTypeParamType::get(gpDecl->getDepth(), gpDecl->getIndex(),
gpDecl->getASTContext());
break;
}
```
Stack trace:
```
0 0x0000000003e849d4 PrintStackTraceSignalHandler(void*) (/path/to/swift/bin/swift+0x3e849d4)
1 0x0000000003e84d16 SignalHandler(int) (/path/to/swift/bin/swift+0x3e84d16)
2 0x00007f6adc82e390 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x11390)
3 0x00007f6adad53428 gsignal /build/glibc-bfm8X4/glibc-2.23/signal/../sysdeps/unix/sysv/linux/raise.c:54:0
4 0x00007f6adad5502a abort /build/glibc-bfm8X4/glibc-2.23/stdlib/abort.c:91:0
5 0x00007f6adad4bbd7 __assert_fail_base /build/glibc-bfm8X4/glibc-2.23/assert/assert.c:92:0
6 0x00007f6adad4bc82 (/lib/x86_64-linux-gnu/libc.so.6+0x2dc82)
7 0x00000000016c6c70 swift::TypeBase::getCanonicalType() (/path/to/swift/bin/swift+0x16c6c70)
8 0x00000000016c6eac swift::QuerySubstitutionMap::operator()(swift::SubstitutableType*) const (/path/to/swift/bin/swift+0x16c6eac)
9 0x00000000016d4519 llvm::Optional<swift::Type> llvm::function_ref<llvm::Optional<swift::Type> (swift::TypeBase*)>::callback_fn<substType(swift::Type, llvm::function_ref<swift::Type (swift::SubstitutableType*)>, llvm::function_ref<llvm::Optional<swift::ProtocolConformanceRef> (swift::CanType, swift::Type, swift::ProtocolType*)>, swift::SubstOptions)::$_18>(long, swift::TypeBase*) (/path/to/swift/bin/swift+0x16d4519)
10 0x00000000016d0a56 swift::Type::transformRec(llvm::function_ref<llvm::Optional<swift::Type> (swift::TypeBase*)>) const (/path/to/swift/bin/swift+0x16d0a56)
11 0x00000000016d0d6d swift::Type::transformRec(llvm::function_ref<llvm::Optional<swift::Type> (swift::TypeBase*)>) const (/path/to/swift/bin/swift+0x16d0d6d)
12 0x00000000016cbd45 swift::Type::subst(swift::SubstitutionMap const&, swift::SubstOptions) const (/path/to/swift/bin/swift+0x16cbd45)
13 0x000000000166e75e swift::GenericSignatureBuilder::addRequirement(swift::Requirement const&, swift::GenericSignatureBuilder::FloatingRequirementSource, swift::ModuleDecl*, swift::SubstitutionMap const*) (/path/to/swift/bin/swift+0x166e75e)
14 0x000000000166f67f swift::GenericSignatureBuilder::expandConformanceRequirement(swift::GenericSignatureBuilder::PotentialArchetype*, swift::ProtocolDecl*, swift::GenericSignatureBuilder::RequirementSource const*, bool)::$_15::operator()(swift::TypeDecl*, swift::TypeDecl*) const (/path/to/swift/bin/swift+0x166f67f)
15 0x000000000166e04f swift::GenericSignatureBuilder::expandConformanceRequirement(swift::GenericSignatureBuilder::PotentialArchetype*, swift::ProtocolDecl*, swift::GenericSignatureBuilder::RequirementSource const*, bool) (/path/to/swift/bin/swift+0x166e04f)
16 0x0000000001670fba swift::GenericSignatureBuilder::addTypeRequirement(llvm::PointerUnion<swift::GenericSignatureBuilder::PotentialArchetype*, swift::Type>, llvm::PointerUnion<swift::GenericSignatureBuilder::PotentialArchetype*, swift::Type>, swift::GenericSignatureBuilder::FloatingRequirementSource, swift::GenericSignatureBuilder::UnresolvedHandlingKind) (/path/to/swift/bin/swift+0x1670fba)
17 0x0000000001686173 swift::GenericSignatureBuilder::ConstraintResult llvm::function_ref<swift::GenericSignatureBuilder::ConstraintResult (swift::Type, swift::TypeRepr const*)>::callback_fn<swift::GenericSignatureBuilder::addInheritedRequirements(swift::TypeDecl*, llvm::PointerUnion<swift::GenericSignatureBuilder::PotentialArchetype*, swift::Type>, swift::GenericSignatureBuilder::RequirementSource const*, swift::ModuleDecl*)::$_22>(long, swift::Type, swift::TypeRepr const*) (/path/to/swift/bin/swift+0x1686173)
18 0x000000000167dda2 std::_Function_handler<void (swift::Type, swift::TypeRepr const*), visitInherited(llvm::ArrayRef<swift::TypeLoc>, llvm::function_ref<swift::GenericSignatureBuilder::ConstraintResult (swift::Type, swift::TypeRepr const*)>)::$_56>::_M_invoke(std::_Any_data const&, swift::Type&&, swift::TypeRepr const*&&) (/path/to/swift/bin/swift+0x167dda2)
19 0x000000000166c72e swift::GenericSignatureBuilder::addInheritedRequirements(swift::TypeDecl*, llvm::PointerUnion<swift::GenericSignatureBuilder::PotentialArchetype*, swift::Type>, swift::GenericSignatureBuilder::RequirementSource const*, swift::ModuleDecl*) (/path/to/swift/bin/swift+0x166c72e)
20 0x000000000166cd29 swift::GenericSignatureBuilder::expandConformanceRequirement(swift::GenericSignatureBuilder::PotentialArchetype*, swift::ProtocolDecl*, swift::GenericSignatureBuilder::RequirementSource const*, bool) (/path/to/swift/bin/swift+0x166cd29)
21 0x0000000001670fba swift::GenericSignatureBuilder::addTypeRequirement(llvm::PointerUnion<swift::GenericSignatureBuilder::PotentialArchetype*, swift::Type>, llvm::PointerUnion<swift::GenericSignatureBuilder::PotentialArchetype*, swift::Type>, swift::GenericSignatureBuilder::FloatingRequirementSource, swift::GenericSignatureBuilder::UnresolvedHandlingKind) (/path/to/swift/bin/swift+0x1670fba)
22 0x0000000001686173 swift::GenericSignatureBuilder::ConstraintResult llvm::function_ref<swift::GenericSignatureBuilder::ConstraintResult (swift::Type, swift::TypeRepr const*)>::callback_fn<swift::GenericSignatureBuilder::addInheritedRequirements(swift::TypeDecl*, llvm::PointerUnion<swift::GenericSignatureBuilder::PotentialArchetype*, swift::Type>, swift::GenericSignatureBuilder::RequirementSource const*, swift::ModuleDecl*)::$_22>(long, swift::Type, swift::TypeRepr const*) (/path/to/swift/bin/swift+0x1686173)
23 0x000000000167dda2 std::_Function_handler<void (swift::Type, swift::TypeRepr const*), visitInherited(llvm::ArrayRef<swift::TypeLoc>, llvm::function_ref<swift::GenericSignatureBuilder::ConstraintResult (swift::Type, swift::TypeRepr const*)>)::$_56>::_M_invoke(std::_Any_data const&, swift::Type&&, swift::TypeRepr const*&&) (/path/to/swift/bin/swift+0x167dda2)
24 0x000000000166c72e swift::GenericSignatureBuilder::addInheritedRequirements(swift::TypeDecl*, llvm::PointerUnion<swift::GenericSignatureBuilder::PotentialArchetype*, swift::Type>, swift::GenericSignatureBuilder::RequirementSource const*, swift::ModuleDecl*) (/path/to/swift/bin/swift+0x166c72e)
25 0x000000000166ca45 swift::GenericSignatureBuilder::expandConformanceRequirement(swift::GenericSignatureBuilder::PotentialArchetype*, swift::ProtocolDecl*, swift::GenericSignatureBuilder::RequirementSource const*, bool) (/path/to/swift/bin/swift+0x166ca45)
26 0x0000000001670fba swift::GenericSignatureBuilder::addTypeRequirement(llvm::PointerUnion<swift::GenericSignatureBuilder::PotentialArchetype*, swift::Type>, llvm::PointerUnion<swift::GenericSignatureBuilder::PotentialArchetype*, swift::Type>, swift::GenericSignatureBuilder::FloatingRequirementSource, swift::GenericSignatureBuilder::UnresolvedHandlingKind) (/path/to/swift/bin/swift+0x1670fba)
27 0x0000000001686173 swift::GenericSignatureBuilder::ConstraintResult llvm::function_ref<swift::GenericSignatureBuilder::ConstraintResult (swift::Type, swift::TypeRepr const*)>::callback_fn<swift::GenericSignatureBuilder::addInheritedRequirements(swift::TypeDecl*, llvm::PointerUnion<swift::GenericSignatureBuilder::PotentialArchetype*, swift::Type>, swift::GenericSignatureBuilder::RequirementSource const*, swift::ModuleDecl*)::$_22>(long, swift::Type, swift::TypeRepr const*) (/path/to/swift/bin/swift+0x1686173)
28 0x000000000167dda2 std::_Function_handler<void (swift::Type, swift::TypeRepr const*), visitInherited(llvm::ArrayRef<swift::TypeLoc>, llvm::function_ref<swift::GenericSignatureBuilder::ConstraintResult (swift::Type, swift::TypeRepr const*)>)::$_56>::_M_invoke(std::_Any_data const&, swift::Type&&, swift::TypeRepr const*&&) (/path/to/swift/bin/swift+0x167dda2)
29 0x000000000166c72e swift::GenericSignatureBuilder::addInheritedRequirements(swift::TypeDecl*, llvm::PointerUnion<swift::GenericSignatureBuilder::PotentialArchetype*, swift::Type>, swift::GenericSignatureBuilder::RequirementSource const*, swift::ModuleDecl*) (/path/to/swift/bin/swift+0x166c72e)
30 0x000000000166cd29 swift::GenericSignatureBuilder::expandConformanceRequirement(swift::GenericSignatureBuilder::PotentialArchetype*, swift::ProtocolDecl*, swift::GenericSignatureBuilder::RequirementSource const*, bool) (/path/to/swift/bin/swift+0x166cd29)
31 0x0000000001670fba swift::GenericSignatureBuilder::addTypeRequirement(llvm::PointerUnion<swift::GenericSignatureBuilder::PotentialArchetype*, swift::Type>, llvm::PointerUnion<swift::GenericSignatureBuilder::PotentialArchetype*, swift::Type>, swift::GenericSignatureBuilder::FloatingRequirementSource, swift::GenericSignatureBuilder::UnresolvedHandlingKind) (/path/to/swift/bin/swift+0x1670fba)
32 0x000000000166e93b swift::GenericSignatureBuilder::addRequirement(swift::Requirement const&, swift::GenericSignatureBuilder::FloatingRequirementSource, swift::ModuleDecl*, swift::SubstitutionMap const*) (/path/to/swift/bin/swift+0x166e93b)
33 0x0000000001638efc swift::ProtocolDecl::computeRequirementSignature() (/path/to/swift/bin/swift+0x1638efc)
34 0x00000000012c2a48 swift::TypeChecker::validateGenericTypeSignature(swift::GenericTypeDecl*) (/path/to/swift/bin/swift+0x12c2a48)
35 0x0000000001290473 swift::TypeChecker::validateDecl(swift::ValueDecl*) (/path/to/swift/bin/swift+0x1290473)
36 0x00000000012a18cf (anonymous namespace)::DeclChecker::visitProtocolDecl(swift::ProtocolDecl*) (/path/to/swift/bin/swift+0x12a18cf)
37 0x000000000128e5b8 (anonymous namespace)::DeclChecker::visit(swift::Decl*) (/path/to/swift/bin/swift+0x128e5b8)
38 0x000000000128e4b3 swift::TypeChecker::typeCheckDecl(swift::Decl*, bool) (/path/to/swift/bin/swift+0x128e4b3)
39 0x000000000131efc4 swift::performTypeChecking(swift::SourceFile&, swift::TopLevelContext&, swift::OptionSet<swift::TypeCheckingFlags, unsigned int>, unsigned int, unsigned int, unsigned int, unsigned int) (/path/to/swift/bin/swift+0x131efc4)
40 0x0000000001043dd7 swift::CompilerInstance::performSema() (/path/to/swift/bin/swift+0x1043dd7)
41 0x00000000004bd856 performCompile(swift::CompilerInstance&, swift::CompilerInvocation&, llvm::ArrayRef<char const*>, int&, swift::FrontendObserver*, swift::UnifiedStatsReporter*) (/path/to/swift/bin/swift+0x4bd856)
42 0x00000000004bc60e swift::performFrontend(llvm::ArrayRef<char const*>, char const*, void*, swift::FrontendObserver*) (/path/to/swift/bin/swift+0x4bc60e)
43 0x0000000000474c54 main (/path/to/swift/bin/swift+0x474c54)
44 0x00007f6adad3e830 __libc_start_main /build/glibc-bfm8X4/glibc-2.23/csu/../csu/libc-start.c:325:0
45 0x0000000000472509 _start (/path/to/swift/bin/swift+0x472509)
```
2017-09-21 00:13:44 +02:00
practicalswift
4c735effb0
[swiftc (51 vs. 5592)] Add crasher in swift::ProtocolType::canonicalizeProtocols
...
Add test case for crash triggered in `swift::ProtocolType::canonicalizeProtocols`.
Current number of unresolved compiler crashers: 51 (5592 resolved)
Stack trace:
```
0 0x0000000003e849d4 PrintStackTraceSignalHandler(void*) (/path/to/swift/bin/swift+0x3e849d4)
1 0x0000000003e84d16 SignalHandler(int) (/path/to/swift/bin/swift+0x3e84d16)
2 0x00007f8696c53390 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x11390)
3 0x00000000016c9cc4 swift::ProtocolType::canonicalizeProtocols(llvm::SmallVectorImpl<swift::ProtocolDecl*>&) (/path/to/swift/bin/swift+0x16c9cc4)
4 0x00000000016caa8a swift::ProtocolCompositionType::get(swift::ASTContext const&, llvm::ArrayRef<swift::Type>, bool) (/path/to/swift/bin/swift+0x16caa8a)
5 0x00000000016c649c swift::TypeBase::getCanonicalType() (/path/to/swift/bin/swift+0x16c649c)
6 0x0000000001637765 swift::ProtocolDecl::getInheritedProtocols() const (/path/to/swift/bin/swift+0x1637765)
7 0x00000000016ca0a0 swift::ProtocolType::canonicalizeProtocols(llvm::SmallVectorImpl<swift::ProtocolDecl*>&) (/path/to/swift/bin/swift+0x16ca0a0)
8 0x00000000016caa8a swift::ProtocolCompositionType::get(swift::ASTContext const&, llvm::ArrayRef<swift::Type>, bool) (/path/to/swift/bin/swift+0x16caa8a)
9 0x00000000016c649c swift::TypeBase::getCanonicalType() (/path/to/swift/bin/swift+0x16c649c)
10 0x0000000001637765 swift::ProtocolDecl::getInheritedProtocols() const (/path/to/swift/bin/swift+0x1637765)
11 0x00000000016ca0a0 swift::ProtocolType::canonicalizeProtocols(llvm::SmallVectorImpl<swift::ProtocolDecl*>&) (/path/to/swift/bin/swift+0x16ca0a0)
12 0x00000000016caa8a swift::ProtocolCompositionType::get(swift::ASTContext const&, llvm::ArrayRef<swift::Type>, bool) (/path/to/swift/bin/swift+0x16caa8a)
13 0x00000000016c649c swift::TypeBase::getCanonicalType() (/path/to/swift/bin/swift+0x16c649c)
14 0x0000000001637765 swift::ProtocolDecl::getInheritedProtocols() const (/path/to/swift/bin/swift+0x1637765)
15 0x00000000016ca0a0 swift::ProtocolType::canonicalizeProtocols(llvm::SmallVectorImpl<swift::ProtocolDecl*>&) (/path/to/swift/bin/swift+0x16ca0a0)
16 0x00000000016caa8a swift::ProtocolCompositionType::get(swift::ASTContext const&, llvm::ArrayRef<swift::Type>, bool) (/path/to/swift/bin/swift+0x16caa8a)
17 0x00000000016c649c swift::TypeBase::getCanonicalType() (/path/to/swift/bin/swift+0x16c649c)
18 0x0000000001637765 swift::ProtocolDecl::getInheritedProtocols() const (/path/to/swift/bin/swift+0x1637765)
19 0x00000000016ca0a0 swift::ProtocolType::canonicalizeProtocols(llvm::SmallVectorImpl<swift::ProtocolDecl*>&) (/path/to/swift/bin/swift+0x16ca0a0)
20 0x00000000016caa8a swift::ProtocolCompositionType::get(swift::ASTContext const&, llvm::ArrayRef<swift::Type>, bool) (/path/to/swift/bin/swift+0x16caa8a)
21 0x00000000016c649c swift::TypeBase::getCanonicalType() (/path/to/swift/bin/swift+0x16c649c)
22 0x0000000001637765 swift::ProtocolDecl::getInheritedProtocols() const (/path/to/swift/bin/swift+0x1637765)
23 0x00000000016ca0a0 swift::ProtocolType::canonicalizeProtocols(llvm::SmallVectorImpl<swift::ProtocolDecl*>&) (/path/to/swift/bin/swift+0x16ca0a0)
24 0x00000000016caa8a swift::ProtocolCompositionType::get(swift::ASTContext const&, llvm::ArrayRef<swift::Type>, bool) (/path/to/swift/bin/swift+0x16caa8a)
25 0x00000000016c649c swift::TypeBase::getCanonicalType() (/path/to/swift/bin/swift+0x16c649c)
26 0x0000000001637765 swift::ProtocolDecl::getInheritedProtocols() const (/path/to/swift/bin/swift+0x1637765)
27 0x00000000016ca0a0 swift::ProtocolType::canonicalizeProtocols(llvm::SmallVectorImpl<swift::ProtocolDecl*>&) (/path/to/swift/bin/swift+0x16ca0a0)
28 0x00000000016caa8a swift::ProtocolCompositionType::get(swift::ASTContext const&, llvm::ArrayRef<swift::Type>, bool) (/path/to/swift/bin/swift+0x16caa8a)
29 0x00000000016c649c swift::TypeBase::getCanonicalType() (/path/to/swift/bin/swift+0x16c649c)
30 0x0000000001637765 swift::ProtocolDecl::getInheritedProtocols() const (/path/to/swift/bin/swift+0x1637765)
31 0x00000000016ca0a0 swift::ProtocolType::canonicalizeProtocols(llvm::SmallVectorImpl<swift::ProtocolDecl*>&) (/path/to/swift/bin/swift+0x16ca0a0)
32 0x00000000016caa8a swift::ProtocolCompositionType::get(swift::ASTContext const&, llvm::ArrayRef<swift::Type>, bool) (/path/to/swift/bin/swift+0x16caa8a)
33 0x00000000016c649c swift::TypeBase::getCanonicalType() (/path/to/swift/bin/swift+0x16c649c)
34 0x0000000001637765 swift::ProtocolDecl::getInheritedProtocols() const (/path/to/swift/bin/swift+0x1637765)
35 0x00000000016ca0a0 swift::ProtocolType::canonicalizeProtocols(llvm::SmallVectorImpl<swift::ProtocolDecl*>&) (/path/to/swift/bin/swift+0x16ca0a0)
36 0x00000000016caa8a swift::ProtocolCompositionType::get(swift::ASTContext const&, llvm::ArrayRef<swift::Type>, bool) (/path/to/swift/bin/swift+0x16caa8a)
37 0x00000000016c649c swift::TypeBase::getCanonicalType() (/path/to/swift/bin/swift+0x16c649c)
38 0x0000000001637765 swift::ProtocolDecl::getInheritedProtocols() const (/path/to/swift/bin/swift+0x1637765)
39 0x00000000016ca0a0 swift::ProtocolType::canonicalizeProtocols(llvm::SmallVectorImpl<swift::ProtocolDecl*>&) (/path/to/swift/bin/swift+0x16ca0a0)
40 0x00000000016caa8a swift::ProtocolCompositionType::get(swift::ASTContext const&, llvm::ArrayRef<swift::Type>, bool) (/path/to/swift/bin/swift+0x16caa8a)
41 0x00000000016c649c swift::TypeBase::getCanonicalType() (/path/to/swift/bin/swift+0x16c649c)
42 0x0000000001637765 swift::ProtocolDecl::getInheritedProtocols() const (/path/to/swift/bin/swift+0x1637765)
43 0x00000000016ca0a0 swift::ProtocolType::canonicalizeProtocols(llvm::SmallVectorImpl<swift::ProtocolDecl*>&) (/path/to/swift/bin/swift+0x16ca0a0)
44 0x00000000016caa8a swift::ProtocolCompositionType::get(swift::ASTContext const&, llvm::ArrayRef<swift::Type>, bool) (/path/to/swift/bin/swift+0x16caa8a)
45 0x00000000016c649c swift::TypeBase::getCanonicalType() (/path/to/swift/bin/swift+0x16c649c)
46 0x0000000001637765 swift::ProtocolDecl::getInheritedProtocols() const (/path/to/swift/bin/swift+0x1637765)
47 0x00000000016ca0a0 swift::ProtocolType::canonicalizeProtocols(llvm::SmallVectorImpl<swift::ProtocolDecl*>&) (/path/to/swift/bin/swift+0x16ca0a0)
48 0x00000000016caa8a swift::ProtocolCompositionType::get(swift::ASTContext const&, llvm::ArrayRef<swift::Type>, bool) (/path/to/swift/bin/swift+0x16caa8a)
49 0x00000000016c649c swift::TypeBase::getCanonicalType() (/path/to/swift/bin/swift+0x16c649c)
50 0x0000000001637765 swift::ProtocolDecl::getInheritedProtocols() const (/path/to/swift/bin/swift+0x1637765)
51 0x00000000016ca0a0 swift::ProtocolType::canonicalizeProtocols(llvm::SmallVectorImpl<swift::ProtocolDecl*>&) (/path/to/swift/bin/swift+0x16ca0a0)
52 0x00000000016caa8a swift::ProtocolCompositionType::get(swift::ASTContext const&, llvm::ArrayRef<swift::Type>, bool) (/path/to/swift/bin/swift+0x16caa8a)
53 0x00000000016c649c swift::TypeBase::getCanonicalType() (/path/to/swift/bin/swift+0x16c649c)
54 0x0000000001637765 swift::ProtocolDecl::getInheritedProtocols() const (/path/to/swift/bin/swift+0x1637765)
55 0x00000000016ca0a0 swift::ProtocolType::canonicalizeProtocols(llvm::SmallVectorImpl<swift::ProtocolDecl*>&) (/path/to/swift/bin/swift+0x16ca0a0)
56 0x00000000016caa8a swift::ProtocolCompositionType::get(swift::ASTContext const&, llvm::ArrayRef<swift::Type>, bool) (/path/to/swift/bin/swift+0x16caa8a)
57 0x00000000016c649c swift::TypeBase::getCanonicalType() (/path/to/swift/bin/swift+0x16c649c)
58 0x0000000001637765 swift::ProtocolDecl::getInheritedProtocols() const (/path/to/swift/bin/swift+0x1637765)
59 0x00000000016ca0a0 swift::ProtocolType::canonicalizeProtocols(llvm::SmallVectorImpl<swift::ProtocolDecl*>&) (/path/to/swift/bin/swift+0x16ca0a0)
60 0x00000000016caa8a swift::ProtocolCompositionType::get(swift::ASTContext const&, llvm::ArrayRef<swift::Type>, bool) (/path/to/swift/bin/swift+0x16caa8a)
61 0x00000000016c649c swift::TypeBase::getCanonicalType() (/path/to/swift/bin/swift+0x16c649c)
62 0x0000000001637765 swift::ProtocolDecl::getInheritedProtocols() const (/path/to/swift/bin/swift+0x1637765)
63 0x00000000016ca0a0 swift::ProtocolType::canonicalizeProtocols(llvm::SmallVectorImpl<swift::ProtocolDecl*>&) (/path/to/swift/bin/swift+0x16ca0a0)
64 0x00000000016caa8a swift::ProtocolCompositionType::get(swift::ASTContext const&, llvm::ArrayRef<swift::Type>, bool) (/path/to/swift/bin/swift+0x16caa8a)
65 0x00000000016c649c swift::TypeBase::getCanonicalType() (/path/to/swift/bin/swift+0x16c649c)
66 0x0000000001637765 swift::ProtocolDecl::getInheritedProtocols() const (/path/to/swift/bin/swift+0x1637765)
67 0x00000000016ca0a0 swift::ProtocolType::canonicalizeProtocols(llvm::SmallVectorImpl<swift::ProtocolDecl*>&) (/path/to/swift/bin/swift+0x16ca0a0)
68 0x00000000016caa8a swift::ProtocolCompositionType::get(swift::ASTContext const&, llvm::ArrayRef<swift::Type>, bool) (/path/to/swift/bin/swift+0x16caa8a)
69 0x00000000016c649c swift::TypeBase::getCanonicalType() (/path/to/swift/bin/swift+0x16c649c)
70 0x0000000001637765 swift::ProtocolDecl::getInheritedProtocols() const (/path/to/swift/bin/swift+0x1637765)
71 0x00000000016ca0a0 swift::ProtocolType::canonicalizeProtocols(llvm::SmallVectorImpl<swift::ProtocolDecl*>&) (/path/to/swift/bin/swift+0x16ca0a0)
72 0x00000000016caa8a swift::ProtocolCompositionType::get(swift::ASTContext const&, llvm::ArrayRef<swift::Type>, bool) (/path/to/swift/bin/swift+0x16caa8a)
73 0x00000000016c649c swift::TypeBase::getCanonicalType() (/path/to/swift/bin/swift+0x16c649c)
74 0x0000000001637765 swift::ProtocolDecl::getInheritedProtocols() const (/path/to/swift/bin/swift+0x1637765)
75 0x00000000016ca0a0 swift::ProtocolType::canonicalizeProtocols(llvm::SmallVectorImpl<swift::ProtocolDecl*>&) (/path/to/swift/bin/swift+0x16ca0a0)
76 0x00000000016caa8a swift::ProtocolCompositionType::get(swift::ASTContext const&, llvm::ArrayRef<swift::Type>, bool) (/path/to/swift/bin/swift+0x16caa8a)
77 0x00000000016c649c swift::TypeBase::getCanonicalType() (/path/to/swift/bin/swift+0x16c649c)
78 0x0000000001637765 swift::ProtocolDecl::getInheritedProtocols() const (/path/to/swift/bin/swift+0x1637765)
79 0x00000000016ca0a0 swift::ProtocolType::canonicalizeProtocols(llvm::SmallVectorImpl<swift::ProtocolDecl*>&) (/path/to/swift/bin/swift+0x16ca0a0)
80 0x00000000016caa8a swift::ProtocolCompositionType::get(swift::ASTContext const&, llvm::ArrayRef<swift::Type>, bool) (/path/to/swift/bin/swift+0x16caa8a)
81 0x00000000016c649c swift::TypeBase::getCanonicalType() (/path/to/swift/bin/swift+0x16c649c)
82 0x0000000001637765 swift::ProtocolDecl::getInheritedProtocols() const (/path/to/swift/bin/swift+0x1637765)
83 0x00000000016ca0a0 swift::ProtocolType::canonicalizeProtocols(llvm::SmallVectorImpl<swift::ProtocolDecl*>&) (/path/to/swift/bin/swift+0x16ca0a0)
84 0x00000000016caa8a swift::ProtocolCompositionType::get(swift::ASTContext const&, llvm::ArrayRef<swift::Type>, bool) (/path/to/swift/bin/swift+0x16caa8a)
85 0x00000000016c649c swift::TypeBase::getCanonicalType() (/path/to/swift/bin/swift+0x16c649c)
86 0x0000000001637765 swift::ProtocolDecl::getInheritedProtocols() const (/path/to/swift/bin/swift+0x1637765)
87 0x00000000016ca0a0 swift::ProtocolType::canonicalizeProtocols(llvm::SmallVectorImpl<swift::ProtocolDecl*>&) (/path/to/swift/bin/swift+0x16ca0a0)
88 0x00000000016caa8a swift::ProtocolCompositionType::get(swift::ASTContext const&, llvm::ArrayRef<swift::Type>, bool) (/path/to/swift/bin/swift+0x16caa8a)
89 0x00000000016c649c swift::TypeBase::getCanonicalType() (/path/to/swift/bin/swift+0x16c649c)
90 0x0000000001637765 swift::ProtocolDecl::getInheritedProtocols() const (/path/to/swift/bin/swift+0x1637765)
91 0x00000000016ca0a0 swift::ProtocolType::canonicalizeProtocols(llvm::SmallVectorImpl<swift::ProtocolDecl*>&) (/path/to/swift/bin/swift+0x16ca0a0)
92 0x00000000016caa8a swift::ProtocolCompositionType::get(swift::ASTContext const&, llvm::ArrayRef<swift::Type>, bool) (/path/to/swift/bin/swift+0x16caa8a)
93 0x00000000016c649c swift::TypeBase::getCanonicalType() (/path/to/swift/bin/swift+0x16c649c)
94 0x0000000001637765 swift::ProtocolDecl::getInheritedProtocols() const (/path/to/swift/bin/swift+0x1637765)
95 0x00000000016ca0a0 swift::ProtocolType::canonicalizeProtocols(llvm::SmallVectorImpl<swift::ProtocolDecl*>&) (/path/to/swift/bin/swift+0x16ca0a0)
96 0x00000000016caa8a swift::ProtocolCompositionType::get(swift::ASTContext const&, llvm::ArrayRef<swift::Type>, bool) (/path/to/swift/bin/swift+0x16caa8a)
97 0x00000000016c649c swift::TypeBase::getCanonicalType() (/path/to/swift/bin/swift+0x16c649c)
98 0x0000000001637765 swift::ProtocolDecl::getInheritedProtocols() const (/path/to/swift/bin/swift+0x1637765)
99 0x00000000016ca0a0 swift::ProtocolType::canonicalizeProtocols(llvm::SmallVectorImpl<swift::ProtocolDecl*>&) (/path/to/swift/bin/swift+0x16ca0a0)
100 0x00000000016caa8a swift::ProtocolCompositionType::get(swift::ASTContext const&, llvm::ArrayRef<swift::Type>, bool) (/path/to/swift/bin/swift+0x16caa8a)
101 0x00000000016c649c swift::TypeBase::getCanonicalType() (/path/to/swift/bin/swift+0x16c649c)
102 0x0000000001637765 swift::ProtocolDecl::getInheritedProtocols() const (/path/to/swift/bin/swift+0x1637765)
103 0x00000000016ca0a0 swift::ProtocolType::canonicalizeProtocols(llvm::SmallVectorImpl<swift::ProtocolDecl*>&) (/path/to/swift/bin/swift+0x16ca0a0)
104 0x00000000016caa8a swift::ProtocolCompositionType::get(swift::ASTContext const&, llvm::ArrayRef<swift::Type>, bool) (/path/to/swift/bin/swift+0x16caa8a)
105 0x00000000016c649c swift::TypeBase::getCanonicalType() (/path/to/swift/bin/swift+0x16c649c)
106 0x0000000001637765 swift::ProtocolDecl::getInheritedProtocols() const (/path/to/swift/bin/swift+0x1637765)
107 0x00000000016ca0a0 swift::ProtocolType::canonicalizeProtocols(llvm::SmallVectorImpl<swift::ProtocolDecl*>&) (/path/to/swift/bin/swift+0x16ca0a0)
108 0x00000000016caa8a swift::ProtocolCompositionType::get(swift::ASTContext const&, llvm::ArrayRef<swift::Type>, bool) (/path/to/swift/bin/swift+0x16caa8a)
109 0x00000000016c649c swift::TypeBase::getCanonicalType() (/path/to/swift/bin/swift+0x16c649c)
110 0x0000000001637765 swift::ProtocolDecl::getInheritedProtocols() const (/path/to/swift/bin/swift+0x1637765)
111 0x00000000016ca0a0 swift::ProtocolType::canonicalizeProtocols(llvm::SmallVectorImpl<swift::ProtocolDecl*>&) (/path/to/swift/bin/swift+0x16ca0a0)
112 0x00000000016caa8a swift::ProtocolCompositionType::get(swift::ASTContext const&, llvm::ArrayRef<swift::Type>, bool) (/path/to/swift/bin/swift+0x16caa8a)
113 0x00000000016c649c swift::TypeBase::getCanonicalType() (/path/to/swift/bin/swift+0x16c649c)
114 0x0000000001637765 swift::ProtocolDecl::getInheritedProtocols() const (/path/to/swift/bin/swift+0x1637765)
115 0x00000000016ca0a0 swift::ProtocolType::canonicalizeProtocols(llvm::SmallVectorImpl<swift::ProtocolDecl*>&) (/path/to/swift/bin/swift+0x16ca0a0)
116 0x00000000016caa8a swift::ProtocolCompositionType::get(swift::ASTContext const&, llvm::ArrayRef<swift::Type>, bool) (/path/to/swift/bin/swift+0x16caa8a)
117 0x00000000016c649c swift::TypeBase::getCanonicalType() (/path/to/swift/bin/swift+0x16c649c)
118 0x0000000001637765 swift::ProtocolDecl::getInheritedProtocols() const (/path/to/swift/bin/swift+0x1637765)
119 0x00000000016ca0a0 swift::ProtocolType::canonicalizeProtocols(llvm::SmallVectorImpl<swift::ProtocolDecl*>&) (/path/to/swift/bin/swift+0x16ca0a0)
120 0x00000000016caa8a swift::ProtocolCompositionType::get(swift::ASTContext const&, llvm::ArrayRef<swift::Type>, bool) (/path/to/swift/bin/swift+0x16caa8a)
121 0x00000000016c649c swift::TypeBase::getCanonicalType() (/path/to/swift/bin/swift+0x16c649c)
122 0x0000000001637765 swift::ProtocolDecl::getInheritedProtocols() const (/path/to/swift/bin/swift+0x1637765)
123 0x00000000016ca0a0 swift::ProtocolType::canonicalizeProtocols(llvm::SmallVectorImpl<swift::ProtocolDecl*>&) (/path/to/swift/bin/swift+0x16ca0a0)
124 0x00000000016caa8a swift::ProtocolCompositionType::get(swift::ASTContext const&, llvm::ArrayRef<swift::Type>, bool) (/path/to/swift/bin/swift+0x16caa8a)
125 0x00000000016c649c swift::TypeBase::getCanonicalType() (/path/to/swift/bin/swift+0x16c649c)
126 0x0000000001637765 swift::ProtocolDecl::getInheritedProtocols() const (/path/to/swift/bin/swift+0x1637765)
127 0x00000000016ca0a0 swift::ProtocolType::canonicalizeProtocols(llvm::SmallVectorImpl<swift::ProtocolDecl*>&) (/path/to/swift/bin/swift+0x16ca0a0)
128 0x00000000016caa8a swift::ProtocolCompositionType::get(swift::ASTContext const&, llvm::ArrayRef<swift::Type>, bool) (/path/to/swift/bin/swift+0x16caa8a)
129 0x00000000016c649c swift::TypeBase::getCanonicalType() (/path/to/swift/bin/swift+0x16c649c)
130 0x0000000001637765 swift::ProtocolDecl::getInheritedProtocols() const (/path/to/swift/bin/swift+0x1637765)
131 0x00000000016ca0a0 swift::ProtocolType::canonicalizeProtocols(llvm::SmallVectorImpl<swift::ProtocolDecl*>&) (/path/to/swift/bin/swift+0x16ca0a0)
132 0x00000000016caa8a swift::ProtocolCompositionType::get(swift::ASTContext const&, llvm::ArrayRef<swift::Type>, bool) (/path/to/swift/bin/swift+0x16caa8a)
133 0x00000000016c649c swift::TypeBase::getCanonicalType() (/path/to/swift/bin/swift+0x16c649c)
134 0x0000000001637765 swift::ProtocolDecl::getInheritedProtocols() const (/path/to/swift/bin/swift+0x1637765)
135 0x00000000016ca0a0 swift::ProtocolType::canonicalizeProtocols(llvm::SmallVectorImpl<swift::ProtocolDecl*>&) (/path/to/swift/bin/swift+0x16ca0a0)
136 0x00000000016caa8a swift::ProtocolCompositionType::get(swift::ASTContext const&, llvm::ArrayRef<swift::Type>, bool) (/path/to/swift/bin/swift+0x16caa8a)
137 0x00000000016c649c swift::TypeBase::getCanonicalType() (/path/to/swift/bin/swift+0x16c649c)
138 0x0000000001637765 swift::ProtocolDecl::getInheritedProtocols() const (/path/to/swift/bin/swift+0x1637765)
139 0x00000000016ca0a0 swift::ProtocolType::canonicalizeProtocols(llvm::SmallVectorImpl<swift::ProtocolDecl*>&) (/path/to/swift/bin/swift+0x16ca0a0)
140 0x00000000016caa8a swift::ProtocolCompositionType::get(swift::ASTContext const&, llvm::ArrayRef<swift::Type>, bool) (/path/to/swift/bin/swift+0x16caa8a)
141 0x00000000016c649c swift::TypeBase::getCanonicalType() (/path/to/swift/bin/swift+0x16c649c)
142 0x0000000001637765 swift::ProtocolDecl::getInheritedProtocols() const (/path/to/swift/bin/swift+0x1637765)
143 0x00000000016ca0a0 swift::ProtocolType::canonicalizeProtocols(llvm::SmallVectorImpl<swift::ProtocolDecl*>&) (/path/to/swift/bin/swift+0x16ca0a0)
144 0x00000000016caa8a swift::ProtocolCompositionType::get(swift::ASTContext const&, llvm::ArrayRef<swift::Type>, bool) (/path/to/swift/bin/swift+0x16caa8a)
145 0x00000000016c649c swift::TypeBase::getCanonicalType() (/path/to/swift/bin/swift+0x16c649c)
146 0x0000000001637765 swift::ProtocolDecl::getInheritedProtocols() const (/path/to/swift/bin/swift+0x1637765)
147 0x00000000016ca0a0 swift::ProtocolType::canonicalizeProtocols(llvm::SmallVectorImpl<swift::ProtocolDecl*>&) (/path/to/swift/bin/swift+0x16ca0a0)
148 0x00000000016caa8a swift::ProtocolCompositionType::get(swift::ASTContext const&, llvm::ArrayRef<swift::Type>, bool) (/path/to/swift/bin/swift+0x16caa8a)
149 0x00000000016c649c swift::TypeBase::getCanonicalType() (/path/to/swift/bin/swift+0x16c649c)
150 0x0000000001637765 swift::ProtocolDecl::getInheritedProtocols() const (/path/to/swift/bin/swift+0x1637765)
151 0x00000000016ca0a0 swift::ProtocolType::canonicalizeProtocols(llvm::SmallVectorImpl<swift::ProtocolDecl*>&) (/path/to/swift/bin/swift+0x16ca0a0)
152 0x00000000016caa8a swift::ProtocolCompositionType::get(swift::ASTContext const&, llvm::ArrayRef<swift::Type>, bool) (/path/to/swift/bin/swift+0x16caa8a)
153 0x00000000016c649c swift::TypeBase::getCanonicalType() (/path/to/swift/bin/swift+0x16c649c)
154 0x0000000001637765 swift::ProtocolDecl::getInheritedProtocols() const (/path/to/swift/bin/swift+0x1637765)
155 0x00000000016ca0a0 swift::ProtocolType::canonicalizeProtocols(llvm::SmallVectorImpl<swift::ProtocolDecl*>&) (/path/to/swift/bin/swift+0x16ca0a0)
156 0x00000000016caa8a swift::ProtocolCompositionType::get(swift::ASTContext const&, llvm::ArrayRef<swift::Type>, bool) (/path/to/swift/bin/swift+0x16caa8a)
157 0x00000000016c649c swift::TypeBase::getCanonicalType() (/path/to/swift/bin/swift+0x16c649c)
158 0x0000000001637765 swift::ProtocolDecl::getInheritedProtocols() const (/path/to/swift/bin/swift+0x1637765)
159 0x00000000016ca0a0 swift::ProtocolType::canonicalizeProtocols(llvm::SmallVectorImpl<swift::ProtocolDecl*>&) (/path/to/swift/bin/swift+0x16ca0a0)
160 0x00000000016caa8a swift::ProtocolCompositionType::get(swift::ASTContext const&, llvm::ArrayRef<swift::Type>, bool) (/path/to/swift/bin/swift+0x16caa8a)
161 0x00000000016c649c swift::TypeBase::getCanonicalType() (/path/to/swift/bin/swift+0x16c649c)
162 0x0000000001637765 swift::ProtocolDecl::getInheritedProtocols() const (/path/to/swift/bin/swift+0x1637765)
163 0x00000000016ca0a0 swift::ProtocolType::canonicalizeProtocols(llvm::SmallVectorImpl<swift::ProtocolDecl*>&) (/path/to/swift/bin/swift+0x16ca0a0)
164 0x00000000016caa8a swift::ProtocolCompositionType::get(swift::ASTContext const&, llvm::ArrayRef<swift::Type>, bool) (/path/to/swift/bin/swift+0x16caa8a)
165 0x00000000016c649c swift::TypeBase::getCanonicalType() (/path/to/swift/bin/swift+0x16c649c)
166 0x0000000001637765 swift::ProtocolDecl::getInheritedProtocols() const (/path/to/swift/bin/swift+0x1637765)
167 0x00000000016ca0a0 swift::ProtocolType::canonicalizeProtocols(llvm::SmallVectorImpl<swift::ProtocolDecl*>&) (/path/to/swift/bin/swift+0x16ca0a0)
168 0x00000000016caa8a swift::ProtocolCompositionType::get(swift::ASTContext const&, llvm::ArrayRef<swift::Type>, bool) (/path/to/swift/bin/swift+0x16caa8a)
169 0x00000000016c649c swift::TypeBase::getCanonicalType() (/path/to/swift/bin/swift+0x16c649c)
170 0x0000000001637765 swift::ProtocolDecl::getInheritedProtocols() const (/path/to/swift/bin/swift+0x1637765)
171 0x00000000016ca0a0 swift::ProtocolType::canonicalizeProtocols(llvm::SmallVectorImpl<swift::ProtocolDecl*>&) (/path/to/swift/bin/swift+0x16ca0a0)
172 0x00000000016caa8a swift::ProtocolCompositionType::get(swift::ASTContext const&, llvm::ArrayRef<swift::Type>, bool) (/path/to/swift/bin/swift+0x16caa8a)
173 0x00000000016c649c swift::TypeBase::getCanonicalType() (/path/to/swift/bin/swift+0x16c649c)
174 0x0000000001637765 swift::ProtocolDecl::getInheritedProtocols() const (/path/to/swift/bin/swift+0x1637765)
175 0x00000000016ca0a0 swift::ProtocolType::canonicalizeProtocols(llvm::SmallVectorImpl<swift::ProtocolDecl*>&) (/path/to/swift/bin/swift+0x16ca0a0)
176 0x00000000016caa8a swift::ProtocolCompositionType::get(swift::ASTContext const&, llvm::ArrayRef<swift::Type>, bool) (/path/to/swift/bin/swift+0x16caa8a)
177 0x00000000016c649c swift::TypeBase::getCanonicalType() (/path/to/swift/bin/swift+0x16c649c)
178 0x0000000001637765 swift::ProtocolDecl::getInheritedProtocols() const (/path/to/swift/bin/swift+0x1637765)
179 0x00000000016ca0a0 swift::ProtocolType::canonicalizeProtocols(llvm::SmallVectorImpl<swift::ProtocolDecl*>&) (/path/to/swift/bin/swift+0x16ca0a0)
180 0x00000000016caa8a swift::ProtocolCompositionType::get(swift::ASTContext const&, llvm::ArrayRef<swift::Type>, bool) (/path/to/swift/bin/swift+0x16caa8a)
181 0x00000000016c649c swift::TypeBase::getCanonicalType() (/path/to/swift/bin/swift+0x16c649c)
182 0x0000000001637765 swift::ProtocolDecl::getInheritedProtocols() const (/path/to/swift/bin/swift+0x1637765)
183 0x00000000016ca0a0 swift::ProtocolType::canonicalizeProtocols(llvm::SmallVectorImpl<swift::ProtocolDecl*>&) (/path/to/swift/bin/swift+0x16ca0a0)
184 0x00000000016caa8a swift::ProtocolCompositionType::get(swift::ASTContext const&, llvm::ArrayRef<swift::Type>, bool) (/path/to/swift/bin/swift+0x16caa8a)
185 0x00000000016c649c swift::TypeBase::getCanonicalType() (/path/to/swift/bin/swift+0x16c649c)
186 0x0000000001637765 swift::ProtocolDecl::getInheritedProtocols() const (/path/to/swift/bin/swift+0x1637765)
187 0x00000000016ca0a0 swift::ProtocolType::canonicalizeProtocols(llvm::SmallVectorImpl<swift::ProtocolDecl*>&) (/path/to/swift/bin/swift+0x16ca0a0)
188 0x00000000016caa8a swift::ProtocolCompositionType::get(swift::ASTContext const&, llvm::ArrayRef<swift::Type>, bool) (/path/to/swift/bin/swift+0x16caa8a)
189 0x00000000016c649c swift::TypeBase::getCanonicalType() (/path/to/swift/bin/swift+0x16c649c)
190 0x0000000001637765 swift::ProtocolDecl::getInheritedProtocols() const (/path/to/swift/bin/swift+0x1637765)
191 0x00000000016ca0a0 swift::ProtocolType::canonicalizeProtocols(llvm::SmallVectorImpl<swift::ProtocolDecl*>&) (/path/to/swift/bin/swift+0x16ca0a0)
192 0x00000000016caa8a swift::ProtocolCompositionType::get(swift::ASTContext const&, llvm::ArrayRef<swift::Type>, bool) (/path/to/swift/bin/swift+0x16caa8a)
193 0x00000000016c649c swift::TypeBase::getCanonicalType() (/path/to/swift/bin/swift+0x16c649c)
194 0x0000000001637765 swift::ProtocolDecl::getInheritedProtocols() const (/path/to/swift/bin/swift+0x1637765)
195 0x00000000016ca0a0 swift::ProtocolType::canonicalizeProtocols(llvm::SmallVectorImpl<swift::ProtocolDecl*>&) (/path/to/swift/bin/swift+0x16ca0a0)
196 0x00000000016caa8a swift::ProtocolCompositionType::get(swift::ASTContext const&, llvm::ArrayRef<swift::Type>, bool) (/path/to/swift/bin/swift+0x16caa8a)
197 0x00000000016c649c swift::TypeBase::getCanonicalType() (/path/to/swift/bin/swift+0x16c649c)
198 0x0000000001637765 swift::ProtocolDecl::getInheritedProtocols() const (/path/to/swift/bin/swift+0x1637765)
199 0x00000000016ca0a0 swift::ProtocolType::canonicalizeProtocols(llvm::SmallVectorImpl<swift::ProtocolDecl*>&) (/path/to/swift/bin/swift+0x16ca0a0)
200 0x00000000016caa8a swift::ProtocolCompositionType::get(swift::ASTContext const&, llvm::ArrayRef<swift::Type>, bool) (/path/to/swift/bin/swift+0x16caa8a)
201 0x00000000016c649c swift::TypeBase::getCanonicalType() (/path/to/swift/bin/swift+0x16c649c)
202 0x0000000001637765 swift::ProtocolDecl::getInheritedProtocols() const (/path/to/swift/bin/swift+0x1637765)
203 0x00000000016ca0a0 swift::ProtocolType::canonicalizeProtocols(llvm::SmallVectorImpl<swift::ProtocolDecl*>&) (/path/to/swift/bin/swift+0x16ca0a0)
204 0x00000000016caa8a swift::ProtocolCompositionType::get(swift::ASTContext const&, llvm::ArrayRef<swift::Type>, bool) (/path/to/swift/bin/swift+0x16caa8a)
205 0x00000000016c649c swift::TypeBase::getCanonicalType() (/path/to/swift/bin/swift+0x16c649c)
206 0x0000000001637765 swift::ProtocolDecl::getInheritedProtocols() const (/path/to/swift/bin/swift+0x1637765)
207 0x00000000016ca0a0 swift::ProtocolType::canonicalizeProtocols(llvm::SmallVectorImpl<swift::ProtocolDecl*>&) (/path/to/swift/bin/swift+0x16ca0a0)
208 0x00000000016caa8a swift::ProtocolCompositionType::get(swift::ASTContext const&, llvm::ArrayRef<swift::Type>, bool) (/path/to/swift/bin/swift+0x16caa8a)
209 0x00000000016c649c swift::TypeBase::getCanonicalType() (/path/to/swift/bin/swift+0x16c649c)
210 0x0000000001637765 swift::ProtocolDecl::getInheritedProtocols() const (/path/to/swift/bin/swift+0x1637765)
211 0x00000000016ca0a0 swift::ProtocolType::canonicalizeProtocols(llvm::SmallVectorImpl<swift::ProtocolDecl*>&) (/path/to/swift/bin/swift+0x16ca0a0)
212 0x00000000016caa8a swift::ProtocolCompositionType::get(swift::ASTContext const&, llvm::ArrayRef<swift::Type>, bool) (/path/to/swift/bin/swift+0x16caa8a)
213 0x00000000016c649c swift::TypeBase::getCanonicalType() (/path/to/swift/bin/swift+0x16c649c)
214 0x0000000001637765 swift::ProtocolDecl::getInheritedProtocols() const (/path/to/swift/bin/swift+0x1637765)
215 0x00000000016ca0a0 swift::ProtocolType::canonicalizeProtocols(llvm::SmallVectorImpl<swift::ProtocolDecl*>&) (/path/to/swift/bin/swift+0x16ca0a0)
216 0x00000000016caa8a swift::ProtocolCompositionType::get(swift::ASTContext const&, llvm::ArrayRef<swift::Type>, bool) (/path/to/swift/bin/swift+0x16caa8a)
217 0x00000000016c649c swift::TypeBase::getCanonicalType() (/path/to/swift/bin/swift+0x16c649c)
218 0x0000000001637765 swift::ProtocolDecl::getInheritedProtocols() const (/path/to/swift/bin/swift+0x1637765)
219 0x00000000016ca0a0 swift::ProtocolType::canonicalizeProtocols(llvm::SmallVectorImpl<swift::ProtocolDecl*>&) (/path/to/swift/bin/swift+0x16ca0a0)
220 0x00000000016caa8a swift::ProtocolCompositionType::get(swift::ASTContext const&, llvm::ArrayRef<swift::Type>, bool) (/path/to/swift/bin/swift+0x16caa8a)
221 0x00000000016c649c swift::TypeBase::getCanonicalType() (/path/to/swift/bin/swift+0x16c649c)
222 0x0000000001637765 swift::ProtocolDecl::getInheritedProtocols() const (/path/to/swift/bin/swift+0x1637765)
223 0x00000000016ca0a0 swift::ProtocolType::canonicalizeProtocols(llvm::SmallVectorImpl<swift::ProtocolDecl*>&) (/path/to/swift/bin/swift+0x16ca0a0)
224 0x00000000016caa8a swift::ProtocolCompositionType::get(swift::ASTContext const&, llvm::ArrayRef<swift::Type>, bool) (/path/to/swift/bin/swift+0x16caa8a)
225 0x00000000016c649c swift::TypeBase::getCanonicalType() (/path/to/swift/bin/swift+0x16c649c)
226 0x0000000001637765 swift::ProtocolDecl::getInheritedProtocols() const (/path/to/swift/bin/swift+0x1637765)
227 0x00000000016ca0a0 swift::ProtocolType::canonicalizeProtocols(llvm::SmallVectorImpl<swift::ProtocolDecl*>&) (/path/to/swift/bin/swift+0x16ca0a0)
228 0x00000000016caa8a swift::ProtocolCompositionType::get(swift::ASTContext const&, llvm::ArrayRef<swift::Type>, bool) (/path/to/swift/bin/swift+0x16caa8a)
229 0x00000000016c649c swift::TypeBase::getCanonicalType() (/path/to/swift/bin/swift+0x16c649c)
230 0x0000000001637765 swift::ProtocolDecl::getInheritedProtocols() const (/path/to/swift/bin/swift+0x1637765)
231 0x00000000016ca0a0 swift::ProtocolType::canonicalizeProtocols(llvm::SmallVectorImpl<swift::ProtocolDecl*>&) (/path/to/swift/bin/swift+0x16ca0a0)
232 0x00000000016caa8a swift::ProtocolCompositionType::get(swift::ASTContext const&, llvm::ArrayRef<swift::Type>, bool) (/path/to/swift/bin/swift+0x16caa8a)
233 0x00000000016c649c swift::TypeBase::getCanonicalType() (/path/to/swift/bin/swift+0x16c649c)
234 0x0000000001637765 swift::ProtocolDecl::getInheritedProtocols() const (/path/to/swift/bin/swift+0x1637765)
235 0x00000000016ca0a0 swift::ProtocolType::canonicalizeProtocols(llvm::SmallVectorImpl<swift::ProtocolDecl*>&) (/path/to/swift/bin/swift+0x16ca0a0)
236 0x00000000016caa8a swift::ProtocolCompositionType::get(swift::ASTContext const&, llvm::ArrayRef<swift::Type>, bool) (/path/to/swift/bin/swift+0x16caa8a)
237 0x00000000016c649c swift::TypeBase::getCanonicalType() (/path/to/swift/bin/swift+0x16c649c)
238 0x0000000001637765 swift::ProtocolDecl::getInheritedProtocols() const (/path/to/swift/bin/swift+0x1637765)
239 0x00000000016ca0a0 swift::ProtocolType::canonicalizeProtocols(llvm::SmallVectorImpl<swift::ProtocolDecl*>&) (/path/to/swift/bin/swift+0x16ca0a0)
240 0x00000000016caa8a swift::ProtocolCompositionType::get(swift::ASTContext const&, llvm::ArrayRef<swift::Type>, bool) (/path/to/swift/bin/swift+0x16caa8a)
241 0x00000000016c649c swift::TypeBase::getCanonicalType() (/path/to/swift/bin/swift+0x16c649c)
242 0x0000000001637765 swift::ProtocolDecl::getInheritedProtocols() const (/path/to/swift/bin/swift+0x1637765)
243 0x00000000016ca0a0 swift::ProtocolType::canonicalizeProtocols(llvm::SmallVectorImpl<swift::ProtocolDecl*>&) (/path/to/swift/bin/swift+0x16ca0a0)
244 0x00000000016caa8a swift::ProtocolCompositionType::get(swift::ASTContext const&, llvm::ArrayRef<swift::Type>, bool) (/path/to/swift/bin/swift+0x16caa8a)
245 0x00000000016c649c swift::TypeBase::getCanonicalType() (/path/to/swift/bin/swift+0x16c649c)
246 0x0000000001637765 swift::ProtocolDecl::getInheritedProtocols() const (/path/to/swift/bin/swift+0x1637765)
247 0x00000000016ca0a0 swift::ProtocolType::canonicalizeProtocols(llvm::SmallVectorImpl<swift::ProtocolDecl*>&) (/path/to/swift/bin/swift+0x16ca0a0)
248 0x00000000016caa8a swift::ProtocolCompositionType::get(swift::ASTContext const&, llvm::ArrayRef<swift::Type>, bool) (/path/to/swift/bin/swift+0x16caa8a)
249 0x00000000016c649c swift::TypeBase::getCanonicalType() (/path/to/swift/bin/swift+0x16c649c)
250 0x0000000001637765 swift::ProtocolDecl::getInheritedProtocols() const (/path/to/swift/bin/swift+0x1637765)
251 0x00000000016ca0a0 swift::ProtocolType::canonicalizeProtocols(llvm::SmallVectorImpl<swift::ProtocolDecl*>&) (/path/to/swift/bin/swift+0x16ca0a0)
252 0x00000000016caa8a swift::ProtocolCompositionType::get(swift::ASTContext const&, llvm::ArrayRef<swift::Type>, bool) (/path/to/swift/bin/swift+0x16caa8a)
253 0x00000000016c649c swift::TypeBase::getCanonicalType() (/path/to/swift/bin/swift+0x16c649c)
254 0x0000000001637765 swift::ProtocolDecl::getInheritedProtocols() const (/path/to/swift/bin/swift+0x1637765)
255 0x00000000016ca0a0 swift::ProtocolType::canonicalizeProtocols(llvm::SmallVectorImpl<swift::ProtocolDecl*>&) (/path/to/swift/bin/swift+0x16ca0a0)
```
2017-09-20 22:05:58 +02:00
Doug Gregor
ca4c5253d0
[GSB] Don’t record invalid concrete types via parent conformances.
2017-09-14 09:16:13 -07:00
Slava Pestov
3e2acb8ab0
Parse: Allow protocol compositions in all inheritance clauses
...
We allowed them for generic parameter inheritance clauses but
not anywhere else. While arguably this has stylistic benefits,
the restriction was not enforced consistently and was mostly a
result of implementation limitations.
Lift the restriction and fix things up where needed to make them
work. This brings us closer to allowing protocols to constrain
the 'Self' type to a subclass of a class by listing the class in
the protocol's inheritance clause, which was a feature from SE-0156,
but this doesn't quite work.
Fixes <https://bugs.swift.org/browse/SR-4678 > and
<rdar://problem/31785092>.
2017-09-05 21:53:52 -07:00
Slava Pestov
50e7c066f7
Parse: Simpler handling of 'class' in protocol inheritance list
...
Instead of treating this as its own thing, just parse it as if
the user wrote 'AnyObject'.
2017-09-04 17:52:34 -05:00
swift-ci
bb4fd09ccd
Merge pull request #11456 from practicalswift/swiftc-28836-functy-hasarchetype
2017-08-14 12:13:47 -07:00
Robert Widmann
76f9c3e096
Merge pull request #11451 from CodaFi/in-glome-we-trust
...
Turn on circularity checks for ProtocolCompositions
2017-08-14 12:07:36 -07:00
practicalswift
17ca499b04
[swiftc (54 vs. 5588)] Add crasher in swift::TypeChecker::configureInterfaceType
...
Add test case for crash triggered in `swift::TypeChecker::configureInterfaceType`.
Current number of unresolved compiler crashers: 54 (5588 resolved)
/cc @slavapestov - just wanted to let you know that this crasher caused an assertion failure for the assertion `!funcTy->hasArchetype()` added on 2016-07-24 by you in commit c55e0eec :-)
Assertion failure in [`lib/Sema/TypeCheckGeneric.cpp (line 883)`](6726f2491f/lib/Sema/TypeCheckGeneric.cpp (L883) ):
```
Assertion `!funcTy->hasArchetype()' failed.
When executing: void swift::TypeChecker::configureInterfaceType(swift::AbstractFunctionDecl *, swift::GenericSignature *)
```
Assertion context:
```c++
info = info.withThrows();
assert(std::all_of(argTy.begin(), argTy.end(), [](const AnyFunctionType::Param &aty){
return !aty.getType()->hasArchetype();
}));
assert(!funcTy->hasArchetype());
if (initFuncTy)
assert(!initFuncTy->hasArchetype());
if (sig && i == e-1) {
funcTy = GenericFunctionType::get(sig, argTy, funcTy, info);
```
Stack trace:
```
0 0x0000000003f25fd4 PrintStackTraceSignalHandler(void*) (/path/to/swift/bin/swift+0x3f25fd4)
1 0x0000000003f26316 SignalHandler(int) (/path/to/swift/bin/swift+0x3f26316)
2 0x00007ff1f9cea390 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x11390)
3 0x00007ff1f820f428 gsignal /build/glibc-bfm8X4/glibc-2.23/signal/../sysdeps/unix/sysv/linux/raise.c:54:0
4 0x00007ff1f821102a abort /build/glibc-bfm8X4/glibc-2.23/stdlib/abort.c:91:0
5 0x00007ff1f8207bd7 __assert_fail_base /build/glibc-bfm8X4/glibc-2.23/assert/assert.c:92:0
6 0x00007ff1f8207c82 (/lib/x86_64-linux-gnu/libc.so.6+0x2dc82)
7 0x0000000001285257 swift::TypeChecker::configureInterfaceType(swift::AbstractFunctionDecl*, swift::GenericSignature*) (/path/to/swift/bin/swift+0x1285257)
8 0x0000000001283bbe swift::TypeChecker::validateGenericFuncSignature(swift::AbstractFunctionDecl*) (/path/to/swift/bin/swift+0x1283bbe)
9 0x0000000001268a77 (anonymous namespace)::DeclChecker::visitFuncDecl(swift::FuncDecl*) (/path/to/swift/bin/swift+0x1268a77)
10 0x0000000001253824 (anonymous namespace)::DeclChecker::visit(swift::Decl*) (/path/to/swift/bin/swift+0x1253824)
11 0x000000000126534b (anonymous namespace)::DeclChecker::visitClassDecl(swift::ClassDecl*) (/path/to/swift/bin/swift+0x126534b)
12 0x00000000012538ee (anonymous namespace)::DeclChecker::visit(swift::Decl*) (/path/to/swift/bin/swift+0x12538ee)
13 0x000000000126664b (anonymous namespace)::DeclChecker::visitProtocolDecl(swift::ProtocolDecl*) (/path/to/swift/bin/swift+0x126664b)
14 0x0000000001253804 (anonymous namespace)::DeclChecker::visit(swift::Decl*) (/path/to/swift/bin/swift+0x1253804)
15 0x00000000012536f3 swift::TypeChecker::typeCheckDecl(swift::Decl*, bool) (/path/to/swift/bin/swift+0x12536f3)
16 0x00000000012c3d55 swift::ASTVisitor<(anonymous namespace)::StmtChecker, void, swift::Stmt*, void, void, void, void>::visit(swift::Stmt*) (/path/to/swift/bin/swift+0x12c3d55)
17 0x00000000012c205c swift::TypeChecker::typeCheckFunctionBodyUntil(swift::FuncDecl*, swift::SourceLoc) (/path/to/swift/bin/swift+0x12c205c)
18 0x00000000012c1eb5 swift::TypeChecker::typeCheckAbstractFunctionBodyUntil(swift::AbstractFunctionDecl*, swift::SourceLoc) (/path/to/swift/bin/swift+0x12c1eb5)
19 0x00000000012c2c2d swift::TypeChecker::typeCheckAbstractFunctionBody(swift::AbstractFunctionDecl*) (/path/to/swift/bin/swift+0x12c2c2d)
20 0x00000000012e2638 typeCheckFunctionsAndExternalDecls(swift::TypeChecker&) (/path/to/swift/bin/swift+0x12e2638)
21 0x00000000012e352a swift::performTypeChecking(swift::SourceFile&, swift::TopLevelContext&, swift::OptionSet<swift::TypeCheckingFlags, unsigned int>, unsigned int, unsigned int, unsigned int, unsigned int) (/path/to/swift/bin/swift+0x12e352a)
22 0x0000000001013ce7 swift::CompilerInstance::performSema() (/path/to/swift/bin/swift+0x1013ce7)
23 0x00000000004bc4d7 performCompile(swift::CompilerInstance&, swift::CompilerInvocation&, llvm::ArrayRef<char const*>, int&, swift::FrontendObserver*, swift::UnifiedStatsReporter*) (/path/to/swift/bin/swift+0x4bc4d7)
24 0x00000000004bb284 swift::performFrontend(llvm::ArrayRef<char const*>, char const*, void*, swift::FrontendObserver*) (/path/to/swift/bin/swift+0x4bb284)
25 0x0000000000473494 main (/path/to/swift/bin/swift+0x473494)
26 0x00007ff1f81fa830 __libc_start_main /build/glibc-bfm8X4/glibc-2.23/csu/../csu/libc-start.c:325:0
27 0x0000000000470d49 _start (/path/to/swift/bin/swift+0x470d49)
```
2017-08-14 19:22:23 +02:00
practicalswift
835631ccf0
[swiftc (53 vs. 5588)] Add crasher in swift::GenericEnvironment::mapTypeOutOfContext
...
Add test case for crash triggered in `swift::GenericEnvironment::mapTypeOutOfContext`.
Current number of unresolved compiler crashers: 53 (5588 resolved)
/cc @slavapestov - just wanted to let you know that this crasher caused an assertion failure for the assertion `!type->hasTypeParameter() && "already have an interface type"` added on 2016-12-18 by you in commit fb0f372e :-)
Assertion failure in [`lib/AST/GenericEnvironment.cpp (line 160)`](31d7f741d0/lib/AST/GenericEnvironment.cpp (L160) ):
```
Assertion `!type->hasTypeParameter() && "already have an interface type"' failed.
When executing: static swift::Type swift::GenericEnvironment::mapTypeOutOfContext(swift::GenericEnvironment *, swift::Type)
```
Assertion context:
```c++
}
Type
GenericEnvironment::mapTypeOutOfContext(GenericEnvironment *env,
Type type) {
assert(!type->hasTypeParameter() && "already have an interface type");
if (!env)
return type.substDependentTypesWithErrorTypes();
return env->mapTypeOutOfContext(type);
```
Stack trace:
```
0 0x0000000003f25fd4 PrintStackTraceSignalHandler(void*) (/path/to/swift/bin/swift+0x3f25fd4)
1 0x0000000003f26316 SignalHandler(int) (/path/to/swift/bin/swift+0x3f26316)
2 0x00007f7a7dfb6390 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x11390)
3 0x00007f7a7c4db428 gsignal /build/glibc-bfm8X4/glibc-2.23/signal/../sysdeps/unix/sysv/linux/raise.c:54:0
4 0x00007f7a7c4dd02a abort /build/glibc-bfm8X4/glibc-2.23/stdlib/abort.c:91:0
5 0x00007f7a7c4d3bd7 __assert_fail_base /build/glibc-bfm8X4/glibc-2.23/assert/assert.c:92:0
6 0x00007f7a7c4d3c82 (/lib/x86_64-linux-gnu/libc.so.6+0x2dc82)
7 0x0000000001615c84 swift::GenericEnvironment::mapTypeOutOfContext(swift::GenericEnvironment*, swift::Type) (/path/to/swift/bin/swift+0x1615c84)
8 0x0000000001624a0a maybeAddSameTypeRequirementForNestedType(swift::GenericSignatureBuilder::PotentialArchetype*, swift::GenericSignatureBuilder::RequirementSource const*, swift::GenericSignatureBuilder&) (/path/to/swift/bin/swift+0x1624a0a)
9 0x000000000162be54 swift::GenericSignatureBuilder::updateSuperclass(swift::GenericSignatureBuilder::PotentialArchetype*, swift::Type, swift::GenericSignatureBuilder::RequirementSource const*)::$_20::operator()() const (/path/to/swift/bin/swift+0x162be54)
10 0x000000000162bb85 swift::GenericSignatureBuilder::updateSuperclass(swift::GenericSignatureBuilder::PotentialArchetype*, swift::Type, swift::GenericSignatureBuilder::RequirementSource const*) (/path/to/swift/bin/swift+0x162bb85)
11 0x000000000162c32c swift::GenericSignatureBuilder::addSuperclassRequirementDirect(swift::GenericSignatureBuilder::PotentialArchetype*, swift::Type, swift::GenericSignatureBuilder::RequirementSource const*) (/path/to/swift/bin/swift+0x162c32c)
12 0x000000000162c9d7 swift::GenericSignatureBuilder::addTypeRequirement(llvm::PointerUnion<swift::GenericSignatureBuilder::PotentialArchetype*, swift::Type>, llvm::PointerUnion<swift::GenericSignatureBuilder::PotentialArchetype*, swift::Type>, swift::GenericSignatureBuilder::FloatingRequirementSource, swift::GenericSignatureBuilder::UnresolvedHandlingKind) (/path/to/swift/bin/swift+0x162c9d7)
13 0x000000000163ddb3 swift::GenericSignatureBuilder::ConstraintResult llvm::function_ref<swift::GenericSignatureBuilder::ConstraintResult (swift::Type, swift::TypeRepr const*)>::callback_fn<swift::GenericSignatureBuilder::addInheritedRequirements(swift::TypeDecl*, llvm::PointerUnion<swift::GenericSignatureBuilder::PotentialArchetype*, swift::Type>, swift::GenericSignatureBuilder::RequirementSource const*, swift::ModuleDecl*)::$_23>(long, swift::Type, swift::TypeRepr const*) (/path/to/swift/bin/swift+0x163ddb3)
14 0x0000000001637102 std::_Function_handler<void (swift::Type, swift::TypeRepr const*), visitInherited(llvm::ArrayRef<swift::TypeLoc>, llvm::function_ref<swift::GenericSignatureBuilder::ConstraintResult (swift::Type, swift::TypeRepr const*)>)::$_56>::_M_invoke(std::_Any_data const&, swift::Type&&, swift::TypeRepr const*&&) (/path/to/swift/bin/swift+0x1637102)
15 0x0000000001627f30 swift::GenericSignatureBuilder::addInheritedRequirements(swift::TypeDecl*, llvm::PointerUnion<swift::GenericSignatureBuilder::PotentialArchetype*, swift::Type>, swift::GenericSignatureBuilder::RequirementSource const*, swift::ModuleDecl*) (/path/to/swift/bin/swift+0x1627f30)
16 0x00000000016281ee swift::GenericSignatureBuilder::addConformanceRequirement(swift::GenericSignatureBuilder::PotentialArchetype*, swift::ProtocolDecl*, swift::GenericSignatureBuilder::RequirementSource const*) (/path/to/swift/bin/swift+0x16281ee)
17 0x000000000162c625 swift::GenericSignatureBuilder::addTypeRequirement(llvm::PointerUnion<swift::GenericSignatureBuilder::PotentialArchetype*, swift::Type>, llvm::PointerUnion<swift::GenericSignatureBuilder::PotentialArchetype*, swift::Type>, swift::GenericSignatureBuilder::FloatingRequirementSource, swift::GenericSignatureBuilder::UnresolvedHandlingKind) (/path/to/swift/bin/swift+0x162c625)
18 0x000000000162a05b swift::GenericSignatureBuilder::addRequirement(swift::Requirement const&, swift::GenericSignatureBuilder::FloatingRequirementSource, swift::ModuleDecl*, swift::SubstitutionMap const*) (/path/to/swift/bin/swift+0x162a05b)
19 0x00000000015f58ac swift::ProtocolDecl::computeRequirementSignature() (/path/to/swift/bin/swift+0x15f58ac)
20 0x0000000001286c98 swift::TypeChecker::validateGenericTypeSignature(swift::GenericTypeDecl*) (/path/to/swift/bin/swift+0x1286c98)
21 0x00000000012556c2 swift::TypeChecker::validateDecl(swift::ValueDecl*) (/path/to/swift/bin/swift+0x12556c2)
22 0x000000000126632f (anonymous namespace)::DeclChecker::visitProtocolDecl(swift::ProtocolDecl*) (/path/to/swift/bin/swift+0x126632f)
23 0x0000000001253804 (anonymous namespace)::DeclChecker::visit(swift::Decl*) (/path/to/swift/bin/swift+0x1253804)
24 0x000000000126534b (anonymous namespace)::DeclChecker::visitClassDecl(swift::ClassDecl*) (/path/to/swift/bin/swift+0x126534b)
25 0x00000000012538ee (anonymous namespace)::DeclChecker::visit(swift::Decl*) (/path/to/swift/bin/swift+0x12538ee)
26 0x00000000012536f3 swift::TypeChecker::typeCheckDecl(swift::Decl*, bool) (/path/to/swift/bin/swift+0x12536f3)
27 0x00000000012e3434 swift::performTypeChecking(swift::SourceFile&, swift::TopLevelContext&, swift::OptionSet<swift::TypeCheckingFlags, unsigned int>, unsigned int, unsigned int, unsigned int, unsigned int) (/path/to/swift/bin/swift+0x12e3434)
28 0x0000000001013ce7 swift::CompilerInstance::performSema() (/path/to/swift/bin/swift+0x1013ce7)
29 0x00000000004bc4d7 performCompile(swift::CompilerInstance&, swift::CompilerInvocation&, llvm::ArrayRef<char const*>, int&, swift::FrontendObserver*, swift::UnifiedStatsReporter*) (/path/to/swift/bin/swift+0x4bc4d7)
30 0x00000000004bb284 swift::performFrontend(llvm::ArrayRef<char const*>, char const*, void*, swift::FrontendObserver*) (/path/to/swift/bin/swift+0x4bb284)
31 0x0000000000473494 main (/path/to/swift/bin/swift+0x473494)
32 0x00007f7a7c4c6830 __libc_start_main /build/glibc-bfm8X4/glibc-2.23/csu/../csu/libc-start.c:325:0
33 0x0000000000470d49 _start (/path/to/swift/bin/swift+0x470d49)
```
2017-08-14 17:43:53 +02:00
practicalswift
e0f7264f39
[swiftc (52 vs. 5588)] Add crasher in swift::TypeChecker::typeCheckExprPattern
...
Add test case for crash triggered in `swift::TypeChecker::typeCheckExprPattern`.
Current number of unresolved compiler crashers: 52 (5588 resolved)
/cc @CodaFi - just wanted to let you know that this crasher caused an assertion failure for the assertion `t.isNull() || !t->is<InOutType>()` added on 2017-07-11 by you in commit 8cdddef2 :-)
Assertion failure in [`lib/AST/Decl.cpp (line 3865)`](f82016efd2/lib/AST/Decl.cpp (L3865) ):
```
Assertion `t.isNull() || !t->is<InOutType>()' failed.
When executing: void swift::VarDecl::setType(swift::Type)
```
Assertion context:
```c++
if (isInOut()) return InOutType::get(typeInContext);
return typeInContext;
}
void VarDecl::setType(Type t) {
assert(t.isNull() || !t->is<InOutType>());
typeInContext = t;
if (t && t->hasError())
setInvalid();
}
```
Stack trace:
```
0 0x0000000003f25fd4 PrintStackTraceSignalHandler(void*) (/path/to/swift/bin/swift+0x3f25fd4)
1 0x0000000003f26316 SignalHandler(int) (/path/to/swift/bin/swift+0x3f26316)
2 0x00007f07070ff390 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x11390)
3 0x00007f0705624428 gsignal /build/glibc-bfm8X4/glibc-2.23/signal/../sysdeps/unix/sysv/linux/raise.c:54:0
4 0x00007f070562602a abort /build/glibc-bfm8X4/glibc-2.23/stdlib/abort.c:91:0
5 0x00007f070561cbd7 __assert_fail_base /build/glibc-bfm8X4/glibc-2.23/assert/assert.c:92:0
6 0x00007f070561cc82 (/lib/x86_64-linux-gnu/libc.so.6+0x2dc82)
7 0x00000000015f88ac (/path/to/swift/bin/swift+0x15f88ac)
8 0x00000000012418ae swift::TypeChecker::typeCheckExprPattern(swift::ExprPattern*, swift::DeclContext*, swift::Type) (/path/to/swift/bin/swift+0x12418ae)
9 0x000000000128d8ad swift::TypeChecker::coercePatternToType(swift::Pattern*&, swift::DeclContext*, swift::Type, swift::OptionSet<swift::TypeResolutionFlags, unsigned int>, swift::GenericTypeResolver*, swift::TypeLoc, bool) (/path/to/swift/bin/swift+0x128d8ad)
10 0x00000000012c4b1d swift::ASTVisitor<(anonymous namespace)::StmtChecker, void, swift::Stmt*, void, void, void, void>::visit(swift::Stmt*) (/path/to/swift/bin/swift+0x12c4b1d)
11 0x00000000012c3ce5 swift::ASTVisitor<(anonymous namespace)::StmtChecker, void, swift::Stmt*, void, void, void, void>::visit(swift::Stmt*) (/path/to/swift/bin/swift+0x12c3ce5)
12 0x00000000012c35d6 swift::TypeChecker::typeCheckTopLevelCodeDecl(swift::TopLevelCodeDecl*) (/path/to/swift/bin/swift+0x12c35d6)
13 0x00000000012e34a0 swift::performTypeChecking(swift::SourceFile&, swift::TopLevelContext&, swift::OptionSet<swift::TypeCheckingFlags, unsigned int>, unsigned int, unsigned int, unsigned int, unsigned int) (/path/to/swift/bin/swift+0x12e34a0)
14 0x0000000001013ce7 swift::CompilerInstance::performSema() (/path/to/swift/bin/swift+0x1013ce7)
15 0x00000000004bc4d7 performCompile(swift::CompilerInstance&, swift::CompilerInvocation&, llvm::ArrayRef<char const*>, int&, swift::FrontendObserver*, swift::UnifiedStatsReporter*) (/path/to/swift/bin/swift+0x4bc4d7)
16 0x00000000004bb284 swift::performFrontend(llvm::ArrayRef<char const*>, char const*, void*, swift::FrontendObserver*) (/path/to/swift/bin/swift+0x4bb284)
17 0x0000000000473494 main (/path/to/swift/bin/swift+0x473494)
18 0x00007f070560f830 __libc_start_main /build/glibc-bfm8X4/glibc-2.23/csu/../csu/libc-start.c:325:0
19 0x0000000000470d49 _start (/path/to/swift/bin/swift+0x470d49)
```
2017-08-14 16:06:04 +02:00
practicalswift
53157f2451
[swiftc (51 vs. 5588)] Add crasher in swift::TypeChecker::lookupMember
...
Add test case for crash triggered in `swift::TypeChecker::lookupMember`.
Current number of unresolved compiler crashers: 51 (5588 resolved)
/cc @slavapestov - just wanted to let you know that this crasher caused an assertion failure for the assertion `foundInType->isExistentialType()` added on 2017-07-27 by you in commit bfb252ab :-)
Assertion failure in [`lib/Sema/TypeCheckNameLookup.cpp (line 159)`](5456dc60f0/lib/Sema/TypeCheckNameLookup.cpp (L159) ):
```
Assertion `foundInType->isExistentialType()' failed.
When executing: void (anonymous namespace)::LookupResultBuilder::add(swift::ValueDecl *, swift::DeclContext *, swift::Type)
```
Assertion context:
```c++
conformanceOptions);
if (!conformance) {
// If there's no conformance, we have an existential
// and we found a member from one of the protocols, and
// not a class constraint if any.
assert(foundInType->isExistentialType());
addResult(found);
return;
}
if (conformance->isAbstract()) {
```
Stack trace:
```
0 0x0000000003f25fd4 PrintStackTraceSignalHandler(void*) (/path/to/swift/bin/swift+0x3f25fd4)
1 0x0000000003f26316 SignalHandler(int) (/path/to/swift/bin/swift+0x3f26316)
2 0x00007fd0f05f6390 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x11390)
3 0x00007fd0eeb1b428 gsignal /build/glibc-bfm8X4/glibc-2.23/signal/../sysdeps/unix/sysv/linux/raise.c:54:0
4 0x00007fd0eeb1d02a abort /build/glibc-bfm8X4/glibc-2.23/stdlib/abort.c:91:0
5 0x00007fd0eeb13bd7 __assert_fail_base /build/glibc-bfm8X4/glibc-2.23/assert/assert.c:92:0
6 0x00007fd0eeb13c82 (/lib/x86_64-linux-gnu/libc.so.6+0x2dc82)
7 0x0000000001288d45 (anonymous namespace)::LookupResultBuilder::add(swift::ValueDecl*, swift::DeclContext*, swift::Type) (/path/to/swift/bin/swift+0x1288d45)
8 0x00000000012892e1 swift::TypeChecker::lookupMember(swift::DeclContext*, swift::Type, swift::DeclName, swift::OptionSet<swift::NameLookupFlags, unsigned int>) (/path/to/swift/bin/swift+0x12892e1)
9 0x0000000001289cbd swift::TypeChecker::lookupConstructors(swift::DeclContext*, swift::Type, swift::OptionSet<swift::NameLookupFlags, unsigned int>) (/path/to/swift/bin/swift+0x1289cbd)
10 0x000000000136fb81 diagSyntacticUseRestrictions(swift::TypeChecker&, swift::Expr const*, swift::DeclContext const*, bool)::DiagnoseWalker::checkUseOfMetaTypeName(swift::Expr*) (/path/to/swift/bin/swift+0x136fb81)
11 0x000000000136e8e7 diagSyntacticUseRestrictions(swift::TypeChecker&, swift::Expr const*, swift::DeclContext const*, bool)::DiagnoseWalker::walkToExprPre(swift::Expr*) (/path/to/swift/bin/swift+0x136e8e7)
12 0x00000000015cdd0b swift::Expr::walk(swift::ASTWalker&) (/path/to/swift/bin/swift+0x15cdd0b)
13 0x0000000001367cb3 swift::performSyntacticExprDiagnostics(swift::TypeChecker&, swift::Expr const*, swift::DeclContext const*, bool) (/path/to/swift/bin/swift+0x1367cb3)
14 0x000000000123c485 swift::TypeChecker::typeCheckExpression(swift::Expr*&, swift::DeclContext*, swift::TypeLoc, swift::ContextualTypePurpose, swift::OptionSet<swift::TypeCheckExprFlags, unsigned int>, swift::ExprTypeCheckListener*, swift::constraints::ConstraintSystem*) (/path/to/swift/bin/swift+0x123c485)
15 0x00000000012c3db5 swift::ASTVisitor<(anonymous namespace)::StmtChecker, void, swift::Stmt*, void, void, void, void>::visit(swift::Stmt*) (/path/to/swift/bin/swift+0x12c3db5)
16 0x00000000012c35d6 swift::TypeChecker::typeCheckTopLevelCodeDecl(swift::TopLevelCodeDecl*) (/path/to/swift/bin/swift+0x12c35d6)
17 0x00000000012e34a0 swift::performTypeChecking(swift::SourceFile&, swift::TopLevelContext&, swift::OptionSet<swift::TypeCheckingFlags, unsigned int>, unsigned int, unsigned int, unsigned int, unsigned int) (/path/to/swift/bin/swift+0x12e34a0)
18 0x0000000001013ce7 swift::CompilerInstance::performSema() (/path/to/swift/bin/swift+0x1013ce7)
19 0x00000000004bc4d7 performCompile(swift::CompilerInstance&, swift::CompilerInvocation&, llvm::ArrayRef<char const*>, int&, swift::FrontendObserver*, swift::UnifiedStatsReporter*) (/path/to/swift/bin/swift+0x4bc4d7)
20 0x00000000004bb284 swift::performFrontend(llvm::ArrayRef<char const*>, char const*, void*, swift::FrontendObserver*) (/path/to/swift/bin/swift+0x4bb284)
21 0x0000000000473494 main (/path/to/swift/bin/swift+0x473494)
22 0x00007fd0eeb06830 __libc_start_main /build/glibc-bfm8X4/glibc-2.23/csu/../csu/libc-start.c:325:0
23 0x0000000000470d49 _start (/path/to/swift/bin/swift+0x470d49)
```
2017-08-14 14:29:15 +02:00
Robert Widmann
f479f27420
Turn on circularity checks for ProtocolCompositions
...
When resolving protocol composition types, using the
old type checker to resolve the type manually instead
of the iterative type checker submits a recursive-but-
satisfiable request to the ITC. This way we directly
resolve through TypeCheckType and can catch the
circularity before it takes down the compiler.
2017-08-14 03:55:22 -07:00
practicalswift
efcda8802b
[swiftc (50 vs. 5588)] Add crasher in swift::IterativeTypeChecker::processTypeCheckSuperclass
...
Add test case for crash triggered in `swift::IterativeTypeChecker::processTypeCheckSuperclass`.
Current number of unresolved compiler crashers: 50 (5588 resolved)
/cc @slavapestov - just wanted to let you know that this crasher caused an assertion failure for the assertion `(!superclass || !superclass->hasArchetype()) && "superclass must be interface type"` added on 2016-06-25 by you in commit 680688cb :-)
Assertion failure in [`lib/AST/Decl.cpp (line 5399)`](1f136dba52/lib/AST/Decl.cpp (L5399) ):
```
Assertion `(!superclass || !superclass->hasArchetype()) && "superclass must be interface type"' failed.
When executing: void swift::ClassDecl::setSuperclass(swift::Type)
```
Assertion context:
```c++
return nullptr;
}
void ClassDecl::setSuperclass(Type superclass) {
assert((!superclass || !superclass->hasArchetype())
&& "superclass must be interface type");
LazySemanticInfo.Superclass.setPointerAndInt(superclass, true);
}
```
Stack trace:
```
0 0x0000000003f25fd4 PrintStackTraceSignalHandler(void*) (/path/to/swift/bin/swift+0x3f25fd4)
1 0x0000000003f26316 SignalHandler(int) (/path/to/swift/bin/swift+0x3f26316)
2 0x00007efe46964390 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x11390)
3 0x00007efe44e89428 gsignal /build/glibc-bfm8X4/glibc-2.23/signal/../sysdeps/unix/sysv/linux/raise.c:54:0
4 0x00007efe44e8b02a abort /build/glibc-bfm8X4/glibc-2.23/stdlib/abort.c:91:0
5 0x00007efe44e81bd7 __assert_fail_base /build/glibc-bfm8X4/glibc-2.23/assert/assert.c:92:0
6 0x00007efe44e81c82 (/lib/x86_64-linux-gnu/libc.so.6+0x2dc82)
7 0x00000000015fcb7d (/path/to/swift/bin/swift+0x15fcb7d)
8 0x000000000139a40d swift::IterativeTypeChecker::processTypeCheckSuperclass(swift::ClassDecl*, llvm::function_ref<bool (swift::TypeCheckRequest)>) (/path/to/swift/bin/swift+0x139a40d)
9 0x0000000001363626 swift::IterativeTypeChecker::satisfy(swift::TypeCheckRequest) (/path/to/swift/bin/swift+0x1363626)
10 0x00000000013636eb swift::IterativeTypeChecker::satisfy(swift::TypeCheckRequest) (/path/to/swift/bin/swift+0x13636eb)
11 0x00000000013636eb swift::IterativeTypeChecker::satisfy(swift::TypeCheckRequest) (/path/to/swift/bin/swift+0x13636eb)
12 0x000000000124b929 swift::TypeChecker::resolveInheritanceClause(llvm::PointerUnion<swift::TypeDecl*, swift::ExtensionDecl*>) (/path/to/swift/bin/swift+0x124b929)
13 0x00000000016983bc swift::ConformanceLookupTable::updateLookupTable(swift::NominalTypeDecl*, swift::ConformanceLookupTable::ConformanceStage, swift::LazyResolver*) (/path/to/swift/bin/swift+0x16983bc)
14 0x0000000001697d4f swift::ConformanceLookupTable::updateLookupTable(swift::NominalTypeDecl*, swift::ConformanceLookupTable::ConformanceStage, swift::LazyResolver*) (/path/to/swift/bin/swift+0x1697d4f)
15 0x0000000001697c75 swift::ConformanceLookupTable::updateLookupTable(swift::NominalTypeDecl*, swift::ConformanceLookupTable::ConformanceStage, swift::LazyResolver*) (/path/to/swift/bin/swift+0x1697c75)
16 0x000000000169bd7e swift::ConformanceLookupTable::getAllProtocols(swift::NominalTypeDecl*, swift::LazyResolver*, llvm::SmallVectorImpl<swift::ProtocolDecl*>&) (/path/to/swift/bin/swift+0x169bd7e)
17 0x0000000001671976 swift::NominalTypeDecl::getAllProtocols() const (/path/to/swift/bin/swift+0x1671976)
18 0x0000000001299a61 swift::TypeChecker::findWitnessedObjCRequirements(swift::ValueDecl const*, bool) (/path/to/swift/bin/swift+0x1299a61)
19 0x0000000001259c63 shouldMarkAsObjC(swift::TypeChecker&, swift::ValueDecl const*, bool) (/path/to/swift/bin/swift+0x1259c63)
20 0x0000000001268e97 (anonymous namespace)::DeclChecker::visitFuncDecl(swift::FuncDecl*) (/path/to/swift/bin/swift+0x1268e97)
21 0x0000000001253824 (anonymous namespace)::DeclChecker::visit(swift::Decl*) (/path/to/swift/bin/swift+0x1253824)
22 0x0000000001255951 swift::TypeChecker::validateDecl(swift::ValueDecl*) (/path/to/swift/bin/swift+0x1255951)
23 0x00000000016642ab swift::DeclContext::lookupQualified(swift::Type, swift::DeclName, swift::NLOptions, swift::LazyResolver*, llvm::SmallVectorImpl<swift::ValueDecl*>&) const (/path/to/swift/bin/swift+0x16642ab)
24 0x00000000012892ae swift::TypeChecker::lookupMember(swift::DeclContext*, swift::Type, swift::DeclName, swift::OptionSet<swift::NameLookupFlags, unsigned int>) (/path/to/swift/bin/swift+0x12892ae)
25 0x00000000012db5b0 diagnoseUnknownType(swift::TypeChecker&, swift::DeclContext*, swift::Type, swift::SourceRange, swift::ComponentIdentTypeRepr*, swift::OptionSet<swift::TypeResolutionFlags, unsigned int>, swift::OptionSet<swift::NameLookupFlags, unsigned int>, swift::GenericTypeResolver*, llvm::function_ref<bool (swift::TypeCheckRequest)>*) (/path/to/swift/bin/swift+0x12db5b0)
26 0x00000000012d51b0 resolveIdentTypeComponent(swift::TypeChecker&, swift::DeclContext*, llvm::ArrayRef<swift::ComponentIdentTypeRepr*>, swift::OptionSet<swift::TypeResolutionFlags, unsigned int>, bool, swift::GenericTypeResolver*, llvm::function_ref<bool (swift::TypeCheckRequest)>*) (/path/to/swift/bin/swift+0x12d51b0)
27 0x00000000012d47ca swift::TypeChecker::resolveIdentifierType(swift::DeclContext*, swift::IdentTypeRepr*, swift::OptionSet<swift::TypeResolutionFlags, unsigned int>, bool, swift::GenericTypeResolver*, llvm::function_ref<bool (swift::TypeCheckRequest)>*) (/path/to/swift/bin/swift+0x12d47ca)
28 0x00000000012d5597 (anonymous namespace)::TypeResolver::resolveType(swift::TypeRepr*, swift::OptionSet<swift::TypeResolutionFlags, unsigned int>) (/path/to/swift/bin/swift+0x12d5597)
29 0x00000000012d549c swift::TypeChecker::resolveType(swift::TypeRepr*, swift::DeclContext*, swift::OptionSet<swift::TypeResolutionFlags, unsigned int>, swift::GenericTypeResolver*, llvm::function_ref<bool (swift::TypeCheckRequest)>*) (/path/to/swift/bin/swift+0x12d549c)
30 0x00000000012d3cd0 swift::TypeChecker::validateType(swift::TypeLoc&, swift::DeclContext*, swift::OptionSet<swift::TypeResolutionFlags, unsigned int>, swift::GenericTypeResolver*, llvm::function_ref<bool (swift::TypeCheckRequest)>*) (/path/to/swift/bin/swift+0x12d3cd0)
31 0x000000000124c86c swift::TypeChecker::checkInheritanceClause(swift::Decl*, swift::GenericTypeResolver*) (/path/to/swift/bin/swift+0x124c86c)
32 0x0000000001255271 swift::TypeChecker::validateDecl(swift::ValueDecl*) (/path/to/swift/bin/swift+0x1255271)
33 0x000000000126524c (anonymous namespace)::DeclChecker::visitClassDecl(swift::ClassDecl*) (/path/to/swift/bin/swift+0x126524c)
34 0x00000000012538ee (anonymous namespace)::DeclChecker::visit(swift::Decl*) (/path/to/swift/bin/swift+0x12538ee)
35 0x0000000001264bab (anonymous namespace)::DeclChecker::visitExtensionDecl(swift::ExtensionDecl*) (/path/to/swift/bin/swift+0x1264bab)
36 0x00000000012537f4 (anonymous namespace)::DeclChecker::visit(swift::Decl*) (/path/to/swift/bin/swift+0x12537f4)
37 0x00000000012536f3 swift::TypeChecker::typeCheckDecl(swift::Decl*, bool) (/path/to/swift/bin/swift+0x12536f3)
38 0x00000000012e3434 swift::performTypeChecking(swift::SourceFile&, swift::TopLevelContext&, swift::OptionSet<swift::TypeCheckingFlags, unsigned int>, unsigned int, unsigned int, unsigned int, unsigned int) (/path/to/swift/bin/swift+0x12e3434)
39 0x0000000001013ce7 swift::CompilerInstance::performSema() (/path/to/swift/bin/swift+0x1013ce7)
40 0x00000000004bc4d7 performCompile(swift::CompilerInstance&, swift::CompilerInvocation&, llvm::ArrayRef<char const*>, int&, swift::FrontendObserver*, swift::UnifiedStatsReporter*) (/path/to/swift/bin/swift+0x4bc4d7)
41 0x00000000004bb284 swift::performFrontend(llvm::ArrayRef<char const*>, char const*, void*, swift::FrontendObserver*) (/path/to/swift/bin/swift+0x4bb284)
42 0x0000000000473494 main (/path/to/swift/bin/swift+0x473494)
43 0x00007efe44e74830 __libc_start_main /build/glibc-bfm8X4/glibc-2.23/csu/../csu/libc-start.c:325:0
44 0x0000000000470d49 _start (/path/to/swift/bin/swift+0x470d49)
```
2017-08-14 10:41:13 +02:00
practicalswift
3f661b8d6d
[swiftc (49 vs. 5588)] Add crasher in swift::constraints::ConstraintSystem::setMustBeMaterializableRecursive(...)
...
Add test case for crash triggered in `swift::constraints::ConstraintSystem::setMustBeMaterializableRecursive(...)`.
Current number of unresolved compiler crashers: 49 (5588 resolved)
/cc @cwillmor - just wanted to let you know that this crasher caused an assertion failure for the assertion `type->isMaterializable() && "argument to setMustBeMaterializableRecursive may not be inherently " "non-materializable"` added on 2015-05-21 by you in commit df9136e0 :-)
Assertion failure in [`lib/Sema/ConstraintSystem.cpp (line 181)`](efe143c2f4/lib/Sema/ConstraintSystem.cpp (L181) ):
```
Assertion `type->isMaterializable() && "argument to setMustBeMaterializableRecursive may not be inherently " "non-materializable"' failed.
When executing: void swift::constraints::ConstraintSystem::setMustBeMaterializableRecursive(swift::Type)
```
Assertion context:
```c++
void ConstraintSystem::setMustBeMaterializableRecursive(Type type)
{
assert(type->isMaterializable() &&
"argument to setMustBeMaterializableRecursive may not be inherently "
"non-materializable");
type = getFixedTypeRecursive(type, /*wantRValue=*/false);
type = type->lookThroughAllAnyOptionalTypes();
if (auto typeVar = type->getAs<TypeVariableType>()) {
typeVar->getImpl().setMustBeMaterializable(getSavedBindings());
```
Stack trace:
```
0 0x0000000003f9c924 PrintStackTraceSignalHandler(void*) (/path/to/swift/bin/swift+0x3f9c924)
1 0x0000000003f9cc66 SignalHandler(int) (/path/to/swift/bin/swift+0x3f9cc66)
2 0x00007f236f9c6390 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x11390)
3 0x00007f236deeb428 gsignal /build/glibc-bfm8X4/glibc-2.23/signal/../sysdeps/unix/sysv/linux/raise.c:54:0
4 0x00007f236deed02a abort /build/glibc-bfm8X4/glibc-2.23/stdlib/abort.c:91:0
5 0x00007f236dee3bd7 __assert_fail_base /build/glibc-bfm8X4/glibc-2.23/assert/assert.c:92:0
6 0x00007f236dee3c82 (/lib/x86_64-linux-gnu/libc.so.6+0x2dc82)
7 0x000000000121f142 swift::constraints::ConstraintSystem::setMustBeMaterializableRecursive(swift::Type) (/path/to/swift/bin/swift+0x121f142)
8 0x000000000121f0f3 swift::constraints::ConstraintSystem::setMustBeMaterializableRecursive(swift::Type) (/path/to/swift/bin/swift+0x121f0f3)
9 0x00000000011e8ebc swift::constraints::ConstraintSystem::matchTypes(swift::Type, swift::Type, swift::constraints::ConstraintKind, swift::OptionSet<swift::constraints::ConstraintSystem::TypeMatchFlags, unsigned int>, swift::constraints::ConstraintLocatorBuilder) (/path/to/swift/bin/swift+0x11e8ebc)
10 0x00000000011f8a18 swift::constraints::ConstraintSystem::addConstraintImpl(swift::constraints::ConstraintKind, swift::Type, swift::Type, swift::constraints::ConstraintLocatorBuilder, bool) (/path/to/swift/bin/swift+0x11f8a18)
11 0x00000000011ef5cd swift::constraints::ConstraintSystem::addConstraint(swift::constraints::ConstraintKind, swift::Type, swift::Type, swift::constraints::ConstraintLocatorBuilder, bool) (/path/to/swift/bin/swift+0x11ef5cd)
12 0x0000000001200137 swift::constraints::ConstraintSystem::tryTypeVariableBindings(unsigned int, swift::TypeVariableType*, llvm::ArrayRef<swift::constraints::ConstraintSystem::PotentialBinding>, llvm::SmallVectorImpl<swift::constraints::Solution>&, swift::FreeTypeVariableBinding) (/path/to/swift/bin/swift+0x1200137)
13 0x0000000001204004 swift::constraints::ConstraintSystem::solveSimplified(llvm::SmallVectorImpl<swift::constraints::Solution>&, swift::FreeTypeVariableBinding) (/path/to/swift/bin/swift+0x1204004)
14 0x0000000001200741 swift::constraints::ConstraintSystem::solveRec(llvm::SmallVectorImpl<swift::constraints::Solution>&, swift::FreeTypeVariableBinding) (/path/to/swift/bin/swift+0x1200741)
15 0x0000000001200189 swift::constraints::ConstraintSystem::tryTypeVariableBindings(unsigned int, swift::TypeVariableType*, llvm::ArrayRef<swift::constraints::ConstraintSystem::PotentialBinding>, llvm::SmallVectorImpl<swift::constraints::Solution>&, swift::FreeTypeVariableBinding) (/path/to/swift/bin/swift+0x1200189)
16 0x0000000001204004 swift::constraints::ConstraintSystem::solveSimplified(llvm::SmallVectorImpl<swift::constraints::Solution>&, swift::FreeTypeVariableBinding) (/path/to/swift/bin/swift+0x1204004)
17 0x0000000001200741 swift::constraints::ConstraintSystem::solveRec(llvm::SmallVectorImpl<swift::constraints::Solution>&, swift::FreeTypeVariableBinding) (/path/to/swift/bin/swift+0x1200741)
18 0x00000000012021b8 swift::constraints::ConstraintSystem::solve(llvm::SmallVectorImpl<swift::constraints::Solution>&, swift::FreeTypeVariableBinding) (/path/to/swift/bin/swift+0x12021b8)
19 0x0000000001203cd2 swift::constraints::ConstraintSystem::solve(swift::Expr*&, swift::Type, swift::ExprTypeCheckListener*, llvm::SmallVectorImpl<swift::constraints::Solution>&, swift::FreeTypeVariableBinding) (/path/to/swift/bin/swift+0x1203cd2)
20 0x00000000012377b7 swift::TypeChecker::solveForExpression(swift::Expr*&, swift::DeclContext*, swift::Type, swift::FreeTypeVariableBinding, swift::ExprTypeCheckListener*, swift::constraints::ConstraintSystem&, llvm::SmallVectorImpl<swift::constraints::Solution>&, swift::OptionSet<swift::TypeCheckExprFlags, unsigned int>) (/path/to/swift/bin/swift+0x12377b7)
21 0x000000000123b63b swift::TypeChecker::typeCheckExpression(swift::Expr*&, swift::DeclContext*, swift::TypeLoc, swift::ContextualTypePurpose, swift::OptionSet<swift::TypeCheckExprFlags, unsigned int>, swift::ExprTypeCheckListener*, swift::constraints::ConstraintSystem*) (/path/to/swift/bin/swift+0x123b63b)
22 0x00000000012c30f0 swift::ASTVisitor<(anonymous namespace)::StmtChecker, void, swift::Stmt*, void, void, void, void>::visit(swift::Stmt*) (/path/to/swift/bin/swift+0x12c30f0)
23 0x00000000012c28f6 swift::TypeChecker::typeCheckTopLevelCodeDecl(swift::TopLevelCodeDecl*) (/path/to/swift/bin/swift+0x12c28f6)
24 0x00000000012e28f0 swift::performTypeChecking(swift::SourceFile&, swift::TopLevelContext&, swift::OptionSet<swift::TypeCheckingFlags, unsigned int>, unsigned int, unsigned int, unsigned int, unsigned int) (/path/to/swift/bin/swift+0x12e28f0)
25 0x00000000010142e7 swift::CompilerInstance::performSema() (/path/to/swift/bin/swift+0x10142e7)
26 0x00000000004bba87 performCompile(swift::CompilerInstance&, swift::CompilerInvocation&, llvm::ArrayRef<char const*>, int&, swift::FrontendObserver*, swift::UnifiedStatsReporter*) (/path/to/swift/bin/swift+0x4bba87)
27 0x00000000004ba834 swift::performFrontend(llvm::ArrayRef<char const*>, char const*, void*, swift::FrontendObserver*) (/path/to/swift/bin/swift+0x4ba834)
28 0x0000000000473494 main (/path/to/swift/bin/swift+0x473494)
29 0x00007f236ded6830 __libc_start_main /build/glibc-bfm8X4/glibc-2.23/csu/../csu/libc-start.c:325:0
30 0x0000000000470d49 _start (/path/to/swift/bin/swift+0x470d49)
```
2017-08-08 03:59:50 +02:00
practicalswift
0949a758b2
[swiftc (48 vs. 5588)] Add crasher in swift::TypeChecker::validateExtension(...)
...
Add test case for crash triggered in `swift::TypeChecker::validateExtension(...)`.
Current number of unresolved compiler crashers: 48 (5588 resolved)
Stack trace:
```
0 0x0000000003f81e94 PrintStackTraceSignalHandler(void*) (/path/to/swift/bin/swift+0x3f81e94)
1 0x0000000003f821d6 SignalHandler(int) (/path/to/swift/bin/swift+0x3f821d6)
2 0x00007f72592e4390 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x11390)
3 0x000000000125ca20 formExtensionInterfaceType(swift::Type, swift::GenericParamList*) (/path/to/swift/bin/swift+0x125ca20)
4 0x000000000125ca29 formExtensionInterfaceType(swift::Type, swift::GenericParamList*) (/path/to/swift/bin/swift+0x125ca29)
5 0x000000000123ee82 checkExtensionGenericParams(swift::TypeChecker&, swift::ExtensionDecl*, swift::Type, swift::GenericParamList*) (/path/to/swift/bin/swift+0x123ee82)
6 0x000000000123229f swift::TypeChecker::validateExtension(swift::ExtensionDecl*) (/path/to/swift/bin/swift+0x123229f)
7 0x00000000012492eb (anonymous namespace)::DeclChecker::visitExtensionDecl(swift::ExtensionDecl*) (/path/to/swift/bin/swift+0x12492eb)
8 0x0000000001238194 (anonymous namespace)::DeclChecker::visit(swift::Decl*) (/path/to/swift/bin/swift+0x1238194)
9 0x0000000001238093 swift::TypeChecker::typeCheckDecl(swift::Decl*, bool) (/path/to/swift/bin/swift+0x1238093)
10 0x00000000012c7e94 swift::performTypeChecking(swift::SourceFile&, swift::TopLevelContext&, swift::OptionSet<swift::TypeCheckingFlags, unsigned int>, unsigned int, unsigned int, unsigned int, unsigned int) (/path/to/swift/bin/swift+0x12c7e94)
11 0x0000000000ffa5d7 swift::CompilerInstance::performSema() (/path/to/swift/bin/swift+0xffa5d7)
12 0x00000000004bc0e0 performCompile(swift::CompilerInstance&, swift::CompilerInvocation&, llvm::ArrayRef<char const*>, int&, swift::FrontendObserver*, swift::UnifiedStatsReporter*) (/path/to/swift/bin/swift+0x4bc0e0)
13 0x00000000004ba654 swift::performFrontend(llvm::ArrayRef<char const*>, char const*, void*, swift::FrontendObserver*) (/path/to/swift/bin/swift+0x4ba654)
14 0x00000000004732b4 main (/path/to/swift/bin/swift+0x4732b4)
15 0x00007f72577f4830 __libc_start_main /build/glibc-bfm8X4/glibc-2.23/csu/../csu/libc-start.c:325:0
16 0x0000000000470b69 _start (/path/to/swift/bin/swift+0x470b69)
```
2017-08-07 17:07:01 +02:00
Slava Pestov
2c61ed5c99
Sema: Fix pre-check expression folding nested types of generic parameters
...
This allows [Foo.Bar](), [Foo.Bar?]() etc to type check if Bar is
an associated type of a generic parameter Foo.
Fixes <rdar://problem/27631137>.
2017-08-06 20:27:47 -07:00
Slava Pestov
edfaf7f724
Sema: Fix name lookup of nominal types nested inside a class from a protocol
2017-08-06 00:21:49 -07:00
Slava Pestov
8c98b7a306
AST: Fix a crasher with unqualified lookup
...
If the DeclContext's Self type-in-context is an ErrorType,
we should still resolve generic parameters to interface types.
2017-08-06 00:21:49 -07:00
Robert Widmann
d033648c21
Merge pull request #11208 from CodaFi/paren-de-la-paren
...
Report nested inout paren types as non-materializable
2017-07-26 15:19:24 -07:00
Robert Widmann
43beb80480
Report nested inout paren types as non-materializable
2017-07-26 13:56:33 -07:00
Robert Widmann
04e4c8c9ce
Update CSDiag to use the proper InOutType convention
2017-07-26 13:15:19 -07:00
practicalswift
9d1e076aa1
[swiftc (53 vs. 5582)] Add crasher in swift::Substitution::Substitution
...
Add test case for crash triggered in `swift::Substitution::Substitution`.
Current number of unresolved compiler crashers: 53 (5582 resolved)
/cc @slavapestov - just wanted to let you know that this crasher caused an assertion failure for the assertion `Replacement->isMaterializable() && "cannot substitute with a non-materializable type"` added on 2016-09-08 by you in commit 9cba638c :-)
Assertion failure in [`lib/AST/Substitution.cpp (line 43)`](9c9db59c97/lib/AST/Substitution.cpp (L43) ):
```
Assertion `Replacement->isMaterializable() && "cannot substitute with a non-materializable type"' failed.
When executing: swift::Substitution::Substitution(swift::Type, ArrayRef<swift::ProtocolConformanceRef>)
```
Assertion context:
```c++
ArrayRef<ProtocolConformanceRef> Conformance)
: Replacement(Replacement), Conformance(Conformance)
{
// The replacement type must be materializable.
assert(Replacement->isMaterializable()
&& "cannot substitute with a non-materializable type");
}
bool Substitution::isCanonical() const {
if (!getReplacement()->isCanonical())
return false;
```
Stack trace:
```
0 0x0000000003aee658 llvm::sys::PrintStackTrace(llvm::raw_ostream&) (/path/to/swift/bin/swift+0x3aee658)
1 0x0000000003aeed96 SignalHandler(int) (/path/to/swift/bin/swift+0x3aeed96)
2 0x00007f2813f88390 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x11390)
3 0x00007f28124ad428 gsignal /build/glibc-bfm8X4/glibc-2.23/signal/../sysdeps/unix/sysv/linux/raise.c:54:0
4 0x00007f28124af02a abort /build/glibc-bfm8X4/glibc-2.23/stdlib/abort.c:91:0
5 0x00007f28124a5bd7 __assert_fail_base /build/glibc-bfm8X4/glibc-2.23/assert/assert.c:92:0
6 0x00007f28124a5c82 (/lib/x86_64-linux-gnu/libc.so.6+0x2dc82)
7 0x00000000015fb4ee swift::Substitution::Substitution(swift::Type, llvm::ArrayRef<swift::ProtocolConformanceRef>) (/path/to/swift/bin/swift+0x15fb4ee)
8 0x000000000159f633 bool llvm::function_ref<bool (swift::Type, llvm::ArrayRef<swift::Requirement>)>::callback_fn<swift::GenericSignature::getSubstitutions(swift::SubstitutionMap const&, llvm::SmallVectorImpl<swift::Substitution>&) const::$_8>(long, swift::Type, llvm::ArrayRef<swift::Requirement>) (/path/to/swift/bin/swift+0x159f633)
9 0x000000000159d363 swift::GenericSignature::enumeratePairedRequirements(llvm::function_ref<bool (swift::Type, llvm::ArrayRef<swift::Requirement>)>) const::$_4::operator()(swift::CanType) const (/path/to/swift/bin/swift+0x159d363)
10 0x000000000159bf61 swift::GenericSignature::enumeratePairedRequirements(llvm::function_ref<bool (swift::Type, llvm::ArrayRef<swift::Requirement>)>) const (/path/to/swift/bin/swift+0x159bf61)
11 0x000000000159d532 swift::GenericSignature::getSubstitutions(swift::SubstitutionMap const&, llvm::SmallVectorImpl<swift::Substitution>&) const (/path/to/swift/bin/swift+0x159d532)
12 0x00000000014d0655 swift::ASTContext::getSpecializedConformance(swift::Type, swift::ProtocolConformance*, swift::SubstitutionMap const&) (/path/to/swift/bin/swift+0x14d0655)
13 0x00000000015d4dd5 swift::ModuleDecl::lookupConformance(swift::Type, swift::ProtocolDecl*, swift::LazyResolver*) (/path/to/swift/bin/swift+0x15d4dd5)
14 0x000000000121ca41 swift::TypeChecker::conformsToProtocol(swift::Type, swift::ProtocolDecl*, swift::DeclContext*, swift::OptionSet<swift::ConformanceCheckFlags, unsigned int>, swift::SourceLoc) (/path/to/swift/bin/swift+0x121ca41)
15 0x0000000001178e2e swift::constraints::ConstraintSystem::simplifyConformsToConstraint(swift::Type, swift::ProtocolDecl*, swift::constraints::ConstraintKind, swift::constraints::ConstraintLocatorBuilder, swift::OptionSet<swift::constraints::ConstraintSystem::TypeMatchFlags, unsigned int>) (/path/to/swift/bin/swift+0x1178e2e)
16 0x0000000001179b2a swift::constraints::ConstraintSystem::simplifyConformsToConstraint(swift::Type, swift::Type, swift::constraints::ConstraintKind, swift::constraints::ConstraintLocatorBuilder, swift::OptionSet<swift::constraints::ConstraintSystem::TypeMatchFlags, unsigned int>) (/path/to/swift/bin/swift+0x1179b2a)
17 0x0000000001182c72 swift::constraints::ConstraintSystem::simplifyConstraint(swift::constraints::Constraint const&) (/path/to/swift/bin/swift+0x1182c72)
18 0x0000000001186db9 swift::constraints::ConstraintSystem::simplify(bool) (/path/to/swift/bin/swift+0x1186db9)
19 0x000000000118a1d2 swift::constraints::ConstraintSystem::solveRec(llvm::SmallVectorImpl<swift::constraints::Solution>&, swift::FreeTypeVariableBinding) (/path/to/swift/bin/swift+0x118a1d2)
20 0x0000000001189d3c swift::constraints::ConstraintSystem::tryTypeVariableBindings(unsigned int, swift::TypeVariableType*, llvm::ArrayRef<swift::constraints::ConstraintSystem::PotentialBinding>, llvm::SmallVectorImpl<swift::constraints::Solution>&, swift::FreeTypeVariableBinding) (/path/to/swift/bin/swift+0x1189d3c)
21 0x000000000118dc44 swift::constraints::ConstraintSystem::solveSimplified(llvm::SmallVectorImpl<swift::constraints::Solution>&, swift::FreeTypeVariableBinding) (/path/to/swift/bin/swift+0x118dc44)
22 0x000000000118a2d3 swift::constraints::ConstraintSystem::solveRec(llvm::SmallVectorImpl<swift::constraints::Solution>&, swift::FreeTypeVariableBinding) (/path/to/swift/bin/swift+0x118a2d3)
23 0x0000000001189d3c swift::constraints::ConstraintSystem::tryTypeVariableBindings(unsigned int, swift::TypeVariableType*, llvm::ArrayRef<swift::constraints::ConstraintSystem::PotentialBinding>, llvm::SmallVectorImpl<swift::constraints::Solution>&, swift::FreeTypeVariableBinding) (/path/to/swift/bin/swift+0x1189d3c)
24 0x000000000118dc44 swift::constraints::ConstraintSystem::solveSimplified(llvm::SmallVectorImpl<swift::constraints::Solution>&, swift::FreeTypeVariableBinding) (/path/to/swift/bin/swift+0x118dc44)
25 0x000000000118a2d3 swift::constraints::ConstraintSystem::solveRec(llvm::SmallVectorImpl<swift::constraints::Solution>&, swift::FreeTypeVariableBinding) (/path/to/swift/bin/swift+0x118a2d3)
26 0x000000000118e385 swift::constraints::ConstraintSystem::solveSimplified(llvm::SmallVectorImpl<swift::constraints::Solution>&, swift::FreeTypeVariableBinding) (/path/to/swift/bin/swift+0x118e385)
27 0x000000000118a2d3 swift::constraints::ConstraintSystem::solveRec(llvm::SmallVectorImpl<swift::constraints::Solution>&, swift::FreeTypeVariableBinding) (/path/to/swift/bin/swift+0x118a2d3)
28 0x000000000118bd58 swift::constraints::ConstraintSystem::solve(llvm::SmallVectorImpl<swift::constraints::Solution>&, swift::FreeTypeVariableBinding) (/path/to/swift/bin/swift+0x118bd58)
29 0x000000000118d8f3 swift::constraints::ConstraintSystem::solve(swift::Expr*&, swift::Type, swift::ExprTypeCheckListener*, llvm::SmallVectorImpl<swift::constraints::Solution>&, swift::FreeTypeVariableBinding) (/path/to/swift/bin/swift+0x118d8f3)
30 0x00000000011c1387 swift::TypeChecker::solveForExpression(swift::Expr*&, swift::DeclContext*, swift::Type, swift::FreeTypeVariableBinding, swift::ExprTypeCheckListener*, swift::constraints::ConstraintSystem&, llvm::SmallVectorImpl<swift::constraints::Solution>&, swift::OptionSet<swift::TypeCheckExprFlags, unsigned int>) (/path/to/swift/bin/swift+0x11c1387)
31 0x00000000011c51f5 swift::TypeChecker::typeCheckExpression(swift::Expr*&, swift::DeclContext*, swift::TypeLoc, swift::ContextualTypePurpose, swift::OptionSet<swift::TypeCheckExprFlags, unsigned int>, swift::ExprTypeCheckListener*, swift::constraints::ConstraintSystem*) (/path/to/swift/bin/swift+0x11c51f5)
32 0x000000000124c910 swift::ASTVisitor<(anonymous namespace)::StmtChecker, void, swift::Stmt*, void, void, void, void>::visit(swift::Stmt*) (/path/to/swift/bin/swift+0x124c910)
33 0x000000000124c116 swift::TypeChecker::typeCheckTopLevelCodeDecl(swift::TopLevelCodeDecl*) (/path/to/swift/bin/swift+0x124c116)
34 0x000000000126a7d0 swift::performTypeChecking(swift::SourceFile&, swift::TopLevelContext&, swift::OptionSet<swift::TypeCheckingFlags, unsigned int>, unsigned int, unsigned int, unsigned int, unsigned int) (/path/to/swift/bin/swift+0x126a7d0)
35 0x0000000000fb6787 swift::CompilerInstance::performSema() (/path/to/swift/bin/swift+0xfb6787)
36 0x00000000004ad9f8 performCompile(swift::CompilerInstance&, swift::CompilerInvocation&, llvm::ArrayRef<char const*>, int&, swift::FrontendObserver*, swift::UnifiedStatsReporter*) (/path/to/swift/bin/swift+0x4ad9f8)
37 0x00000000004abfa1 swift::performFrontend(llvm::ArrayRef<char const*>, char const*, void*, swift::FrontendObserver*) (/path/to/swift/bin/swift+0x4abfa1)
38 0x00000000004655d4 main (/path/to/swift/bin/swift+0x4655d4)
39 0x00007f2812498830 __libc_start_main /build/glibc-bfm8X4/glibc-2.23/csu/../csu/libc-start.c:325:0
40 0x0000000000462ea9 _start (/path/to/swift/bin/swift+0x462ea9)
```
2017-07-26 05:10:15 +02:00
practicalswift
95bed2baa1
[swiftc (52 vs. 5582)] Add crasher in swift::TypeBase::getSuperclassForDecl
...
Add test case for crash triggered in `swift::TypeBase::getSuperclassForDecl`.
Current number of unresolved compiler crashers: 52 (5582 resolved)
Stack trace:
```
0 0x0000000003aee658 llvm::sys::PrintStackTrace(llvm::raw_ostream&) (/path/to/swift/bin/swift+0x3aee658)
1 0x0000000003aeed96 SignalHandler(int) (/path/to/swift/bin/swift+0x3aeed96)
2 0x00007f2ad12b5390 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x11390)
3 0x00007f2acf7da428 gsignal /build/glibc-bfm8X4/glibc-2.23/signal/../sysdeps/unix/sysv/linux/raise.c:54:0
4 0x00007f2acf7dc02a abort /build/glibc-bfm8X4/glibc-2.23/stdlib/abort.c:91:0
5 0x0000000003a8b3dd llvm::llvm_unreachable_internal(char const*, char const*, unsigned int) (/path/to/swift/bin/swift+0x3a8b3dd)
6 0x0000000001609a5c swift::TypeBase::getSuperclassForDecl(swift::ClassDecl const*) (/path/to/swift/bin/swift+0x1609a5c)
7 0x000000000125a68d swift::TypeChecker::substMemberTypeWithBase(swift::ModuleDecl*, swift::TypeDecl*, swift::Type) (/path/to/swift/bin/swift+0x125a68d)
8 0x0000000001212724 swift::TypeChecker::lookupMemberType(swift::DeclContext*, swift::Type, swift::Identifier, swift::OptionSet<swift::NameLookupFlags, unsigned int>) (/path/to/swift/bin/swift+0x1212724)
9 0x000000000125c46e resolveIdentTypeComponent(swift::TypeChecker&, swift::DeclContext*, llvm::ArrayRef<swift::ComponentIdentTypeRepr*>, swift::OptionSet<swift::TypeResolutionFlags, unsigned int>, bool, swift::GenericTypeResolver*, llvm::function_ref<bool (swift::TypeCheckRequest)>*) (/path/to/swift/bin/swift+0x125c46e)
10 0x000000000125bbda swift::TypeChecker::resolveIdentifierType(swift::DeclContext*, swift::IdentTypeRepr*, swift::OptionSet<swift::TypeResolutionFlags, unsigned int>, bool, swift::GenericTypeResolver*, llvm::function_ref<bool (swift::TypeCheckRequest)>*) (/path/to/swift/bin/swift+0x125bbda)
11 0x000000000125c997 (anonymous namespace)::TypeResolver::resolveType(swift::TypeRepr*, swift::OptionSet<swift::TypeResolutionFlags, unsigned int>) (/path/to/swift/bin/swift+0x125c997)
12 0x000000000125c89c swift::TypeChecker::resolveType(swift::TypeRepr*, swift::DeclContext*, swift::OptionSet<swift::TypeResolutionFlags, unsigned int>, swift::GenericTypeResolver*, llvm::function_ref<bool (swift::TypeCheckRequest)>*) (/path/to/swift/bin/swift+0x125c89c)
13 0x000000000125b250 swift::TypeChecker::validateType(swift::TypeLoc&, swift::DeclContext*, swift::OptionSet<swift::TypeResolutionFlags, unsigned int>, swift::GenericTypeResolver*, llvm::function_ref<bool (swift::TypeCheckRequest)>*) (/path/to/swift/bin/swift+0x125b250)
14 0x000000000120c9a6 checkGenericFuncSignature(swift::TypeChecker&, swift::GenericSignatureBuilder*, swift::AbstractFunctionDecl*, swift::GenericTypeResolver&) (/path/to/swift/bin/swift+0x120c9a6)
15 0x000000000120c509 swift::TypeChecker::validateGenericFuncSignature(swift::AbstractFunctionDecl*) (/path/to/swift/bin/swift+0x120c509)
16 0x00000000011f1957 (anonymous namespace)::DeclChecker::visitFuncDecl(swift::FuncDecl*) (/path/to/swift/bin/swift+0x11f1957)
17 0x00000000011dc824 (anonymous namespace)::DeclChecker::visit(swift::Decl*) (/path/to/swift/bin/swift+0x11dc824)
18 0x00000000011ee34b (anonymous namespace)::DeclChecker::visitClassDecl(swift::ClassDecl*) (/path/to/swift/bin/swift+0x11ee34b)
19 0x00000000011dc8fe (anonymous namespace)::DeclChecker::visit(swift::Decl*) (/path/to/swift/bin/swift+0x11dc8fe)
20 0x00000000011ef53b (anonymous namespace)::DeclChecker::visitProtocolDecl(swift::ProtocolDecl*) (/path/to/swift/bin/swift+0x11ef53b)
21 0x00000000011dc804 (anonymous namespace)::DeclChecker::visit(swift::Decl*) (/path/to/swift/bin/swift+0x11dc804)
22 0x00000000011edbdb (anonymous namespace)::DeclChecker::visitExtensionDecl(swift::ExtensionDecl*) (/path/to/swift/bin/swift+0x11edbdb)
23 0x00000000011dc834 (anonymous namespace)::DeclChecker::visit(swift::Decl*) (/path/to/swift/bin/swift+0x11dc834)
24 0x00000000011ee34b (anonymous namespace)::DeclChecker::visitClassDecl(swift::ClassDecl*) (/path/to/swift/bin/swift+0x11ee34b)
25 0x00000000011dc8fe (anonymous namespace)::DeclChecker::visit(swift::Decl*) (/path/to/swift/bin/swift+0x11dc8fe)
26 0x00000000011ee34b (anonymous namespace)::DeclChecker::visitClassDecl(swift::ClassDecl*) (/path/to/swift/bin/swift+0x11ee34b)
27 0x00000000011dc8fe (anonymous namespace)::DeclChecker::visit(swift::Decl*) (/path/to/swift/bin/swift+0x11dc8fe)
28 0x00000000011dc703 swift::TypeChecker::typeCheckDecl(swift::Decl*, bool) (/path/to/swift/bin/swift+0x11dc703)
29 0x000000000126a764 swift::performTypeChecking(swift::SourceFile&, swift::TopLevelContext&, swift::OptionSet<swift::TypeCheckingFlags, unsigned int>, unsigned int, unsigned int, unsigned int, unsigned int) (/path/to/swift/bin/swift+0x126a764)
30 0x0000000000fb6787 swift::CompilerInstance::performSema() (/path/to/swift/bin/swift+0xfb6787)
31 0x00000000004ad9f8 performCompile(swift::CompilerInstance&, swift::CompilerInvocation&, llvm::ArrayRef<char const*>, int&, swift::FrontendObserver*, swift::UnifiedStatsReporter*) (/path/to/swift/bin/swift+0x4ad9f8)
32 0x00000000004abfa1 swift::performFrontend(llvm::ArrayRef<char const*>, char const*, void*, swift::FrontendObserver*) (/path/to/swift/bin/swift+0x4abfa1)
33 0x00000000004655d4 main (/path/to/swift/bin/swift+0x4655d4)
34 0x00007f2acf7c5830 __libc_start_main /build/glibc-bfm8X4/glibc-2.23/csu/../csu/libc-start.c:325:0
35 0x0000000000462ea9 _start (/path/to/swift/bin/swift+0x462ea9)
```
2017-07-26 03:43:09 +02:00
practicalswift
9141823d55
[swiftc (51 vs. 5582)] Add crasher in swift::constraints::ConstraintSystem::setMustBeMaterializableRecursive(...)
...
Add test case for crash triggered in `swift::constraints::ConstraintSystem::setMustBeMaterializableRecursive(...)`.
Current number of unresolved compiler crashers: 51 (5582 resolved)
/cc Chris Willmore - just wanted to let you know that this crasher caused an assertion failure for the assertion `type->isMaterializable() && "argument to setMustBeMaterializableRecursive may not be inherently " "non-materializable"` added on 2015-05-21 by you in commit df9136e0 :-)
Assertion failure in [`lib/Sema/ConstraintSystem.cpp (line 181)`](6d0679292f/lib/Sema/ConstraintSystem.cpp (L181) ):
```
Assertion `type->isMaterializable() && "argument to setMustBeMaterializableRecursive may not be inherently " "non-materializable"' failed.
When executing: void swift::constraints::ConstraintSystem::setMustBeMaterializableRecursive(swift::Type)
```
Assertion context:
```c++
void ConstraintSystem::setMustBeMaterializableRecursive(Type type)
{
assert(type->isMaterializable() &&
"argument to setMustBeMaterializableRecursive may not be inherently "
"non-materializable");
type = getFixedTypeRecursive(type, /*wantRValue=*/false);
type = type->lookThroughAllAnyOptionalTypes();
if (auto typeVar = type->getAs<TypeVariableType>()) {
typeVar->getImpl().setMustBeMaterializable(getSavedBindings());
```
Stack trace:
```
0 0x0000000003aeda68 llvm::sys::PrintStackTrace(llvm::raw_ostream&) (/path/to/swift/bin/swift+0x3aeda68)
1 0x0000000003aee1a6 SignalHandler(int) (/path/to/swift/bin/swift+0x3aee1a6)
2 0x00007fd58d755390 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x11390)
3 0x00007fd58bc7a428 gsignal /build/glibc-bfm8X4/glibc-2.23/signal/../sysdeps/unix/sysv/linux/raise.c:54:0
4 0x00007fd58bc7c02a abort /build/glibc-bfm8X4/glibc-2.23/stdlib/abort.c:91:0
5 0x00007fd58bc72bd7 __assert_fail_base /build/glibc-bfm8X4/glibc-2.23/assert/assert.c:92:0
6 0x00007fd58bc72c82 (/lib/x86_64-linux-gnu/libc.so.6+0x2dc82)
7 0x00000000011a8732 swift::constraints::ConstraintSystem::setMustBeMaterializableRecursive(swift::Type) (/path/to/swift/bin/swift+0x11a8732)
8 0x00000000011a86e3 swift::constraints::ConstraintSystem::setMustBeMaterializableRecursive(swift::Type) (/path/to/swift/bin/swift+0x11a86e3)
9 0x00000000011723fc swift::constraints::ConstraintSystem::matchTypes(swift::Type, swift::Type, swift::constraints::ConstraintKind, swift::OptionSet<swift::constraints::ConstraintSystem::TypeMatchFlags, unsigned int>, swift::constraints::ConstraintLocatorBuilder) (/path/to/swift/bin/swift+0x11723fc)
10 0x0000000001181ee8 swift::constraints::ConstraintSystem::addConstraintImpl(swift::constraints::ConstraintKind, swift::Type, swift::Type, swift::constraints::ConstraintLocatorBuilder, bool) (/path/to/swift/bin/swift+0x1181ee8)
11 0x0000000001178aed swift::constraints::ConstraintSystem::addConstraint(swift::constraints::ConstraintKind, swift::Type, swift::Type, swift::constraints::ConstraintLocatorBuilder, bool) (/path/to/swift/bin/swift+0x1178aed)
12 0x0000000001189648 swift::constraints::ConstraintSystem::tryTypeVariableBindings(unsigned int, swift::TypeVariableType*, llvm::ArrayRef<swift::constraints::ConstraintSystem::PotentialBinding>, llvm::SmallVectorImpl<swift::constraints::Solution>&, swift::FreeTypeVariableBinding) (/path/to/swift/bin/swift+0x1189648)
13 0x000000000118d5a4 swift::constraints::ConstraintSystem::solveSimplified(llvm::SmallVectorImpl<swift::constraints::Solution>&, swift::FreeTypeVariableBinding) (/path/to/swift/bin/swift+0x118d5a4)
14 0x0000000001189c33 swift::constraints::ConstraintSystem::solveRec(llvm::SmallVectorImpl<swift::constraints::Solution>&, swift::FreeTypeVariableBinding) (/path/to/swift/bin/swift+0x1189c33)
15 0x000000000118969c swift::constraints::ConstraintSystem::tryTypeVariableBindings(unsigned int, swift::TypeVariableType*, llvm::ArrayRef<swift::constraints::ConstraintSystem::PotentialBinding>, llvm::SmallVectorImpl<swift::constraints::Solution>&, swift::FreeTypeVariableBinding) (/path/to/swift/bin/swift+0x118969c)
16 0x000000000118d5a4 swift::constraints::ConstraintSystem::solveSimplified(llvm::SmallVectorImpl<swift::constraints::Solution>&, swift::FreeTypeVariableBinding) (/path/to/swift/bin/swift+0x118d5a4)
17 0x0000000001189c33 swift::constraints::ConstraintSystem::solveRec(llvm::SmallVectorImpl<swift::constraints::Solution>&, swift::FreeTypeVariableBinding) (/path/to/swift/bin/swift+0x1189c33)
18 0x000000000118b6b8 swift::constraints::ConstraintSystem::solve(llvm::SmallVectorImpl<swift::constraints::Solution>&, swift::FreeTypeVariableBinding) (/path/to/swift/bin/swift+0x118b6b8)
19 0x000000000118d253 swift::constraints::ConstraintSystem::solve(swift::Expr*&, swift::Type, swift::ExprTypeCheckListener*, llvm::SmallVectorImpl<swift::constraints::Solution>&, swift::FreeTypeVariableBinding) (/path/to/swift/bin/swift+0x118d253)
20 0x00000000011c0ca7 swift::TypeChecker::solveForExpression(swift::Expr*&, swift::DeclContext*, swift::Type, swift::FreeTypeVariableBinding, swift::ExprTypeCheckListener*, swift::constraints::ConstraintSystem&, llvm::SmallVectorImpl<swift::constraints::Solution>&, swift::OptionSet<swift::TypeCheckExprFlags, unsigned int>) (/path/to/swift/bin/swift+0x11c0ca7)
21 0x00000000011c4b15 swift::TypeChecker::typeCheckExpression(swift::Expr*&, swift::DeclContext*, swift::TypeLoc, swift::ContextualTypePurpose, swift::OptionSet<swift::TypeCheckExprFlags, unsigned int>, swift::ExprTypeCheckListener*, swift::constraints::ConstraintSystem*) (/path/to/swift/bin/swift+0x11c4b15)
22 0x000000000124c170 swift::ASTVisitor<(anonymous namespace)::StmtChecker, void, swift::Stmt*, void, void, void, void>::visit(swift::Stmt*) (/path/to/swift/bin/swift+0x124c170)
23 0x000000000124b976 swift::TypeChecker::typeCheckTopLevelCodeDecl(swift::TopLevelCodeDecl*) (/path/to/swift/bin/swift+0x124b976)
24 0x000000000126a030 swift::performTypeChecking(swift::SourceFile&, swift::TopLevelContext&, swift::OptionSet<swift::TypeCheckingFlags, unsigned int>, unsigned int, unsigned int, unsigned int, unsigned int) (/path/to/swift/bin/swift+0x126a030)
25 0x0000000000fb6477 swift::CompilerInstance::performSema() (/path/to/swift/bin/swift+0xfb6477)
26 0x00000000004ad9f8 performCompile(swift::CompilerInstance&, swift::CompilerInvocation&, llvm::ArrayRef<char const*>, int&, swift::FrontendObserver*, swift::UnifiedStatsReporter*) (/path/to/swift/bin/swift+0x4ad9f8)
27 0x00000000004abfa1 swift::performFrontend(llvm::ArrayRef<char const*>, char const*, void*, swift::FrontendObserver*) (/path/to/swift/bin/swift+0x4abfa1)
28 0x00000000004655d4 main (/path/to/swift/bin/swift+0x4655d4)
29 0x00007fd58bc65830 __libc_start_main /build/glibc-bfm8X4/glibc-2.23/csu/../csu/libc-start.c:325:0
30 0x0000000000462ea9 _start (/path/to/swift/bin/swift+0x462ea9)
```
2017-07-26 02:01:25 +02:00
practicalswift
0a3bafa1d9
[swiftc (50 vs. 5582)] Add crasher in swift::constraints::ConstraintSystem::matchTypes
...
Add test case for crash triggered in `swift::constraints::ConstraintSystem::matchTypes`.
Current number of unresolved compiler crashers: 50 (5582 resolved)
/cc @rudkx - just wanted to let you know that this crasher caused an assertion failure for the assertion `!type->hasError() && "Should not be assigning a type involving ErrorType!"` added on 2017-05-24 by you in commit e83131da :-)
Assertion failure in [`lib/Sema/ConstraintSystem.cpp (line 132)`](01510ec93d/lib/Sema/ConstraintSystem.cpp (L132) ):
```
Assertion `!type->hasError() && "Should not be assigning a type involving ErrorType!"' failed.
When executing: void swift::constraints::ConstraintSystem::assignFixedType(swift::TypeVariableType *, swift::Type, bool)
```
Assertion context:
```c++
}
void ConstraintSystem::assignFixedType(TypeVariableType *typeVar, Type type,
bool updateState) {
assert(!type->hasError() &&
"Should not be assigning a type involving ErrorType!");
typeVar->getImpl().assignFixedType(type, getSavedBindings());
if (!updateState)
return;
```
Stack trace:
```
0 0x0000000003ae8f28 llvm::sys::PrintStackTrace(llvm::raw_ostream&) (/path/to/swift/bin/swift+0x3ae8f28)
1 0x0000000003ae9666 SignalHandler(int) (/path/to/swift/bin/swift+0x3ae9666)
2 0x00007f17747a4390 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x11390)
3 0x00007f1772cc9428 gsignal /build/glibc-bfm8X4/glibc-2.23/signal/../sysdeps/unix/sysv/linux/raise.c:54:0
4 0x00007f1772ccb02a abort /build/glibc-bfm8X4/glibc-2.23/stdlib/abort.c:91:0
5 0x00007f1772cc1bd7 __assert_fail_base /build/glibc-bfm8X4/glibc-2.23/assert/assert.c:92:0
6 0x00007f1772cc1c82 (/lib/x86_64-linux-gnu/libc.so.6+0x2dc82)
7 0x00000000011a712e (/path/to/swift/bin/swift+0x11a712e)
8 0x00000000011712ae swift::constraints::ConstraintSystem::matchTypes(swift::Type, swift::Type, swift::constraints::ConstraintKind, swift::OptionSet<swift::constraints::ConstraintSystem::TypeMatchFlags, unsigned int>, swift::constraints::ConstraintLocatorBuilder) (/path/to/swift/bin/swift+0x11712ae)
9 0x0000000001180ca8 swift::constraints::ConstraintSystem::addConstraintImpl(swift::constraints::ConstraintKind, swift::Type, swift::Type, swift::constraints::ConstraintLocatorBuilder, bool) (/path/to/swift/bin/swift+0x1180ca8)
10 0x00000000011778ad swift::constraints::ConstraintSystem::addConstraint(swift::constraints::ConstraintKind, swift::Type, swift::Type, swift::constraints::ConstraintLocatorBuilder, bool) (/path/to/swift/bin/swift+0x11778ad)
11 0x00000000011a8e77 swift::constraints::ConstraintSystem::openGeneric(swift::DeclContext*, swift::DeclContext*, swift::GenericSignature*, bool, swift::constraints::ConstraintLocatorBuilder, llvm::DenseMap<swift::GenericTypeParamType*, swift::TypeVariableType*, llvm::DenseMapInfo<swift::GenericTypeParamType*>, llvm::detail::DenseMapPair<swift::GenericTypeParamType*, swift::TypeVariableType*> >&) (/path/to/swift/bin/swift+0x11a8e77)
12 0x00000000011a81d9 swift::constraints::ConstraintSystem::openUnboundGenericType(swift::UnboundGenericType*, swift::constraints::ConstraintLocatorBuilder, llvm::DenseMap<swift::GenericTypeParamType*, swift::TypeVariableType*, llvm::DenseMapInfo<swift::GenericTypeParamType*>, llvm::detail::DenseMapPair<swift::GenericTypeParamType*, swift::TypeVariableType*> >&) (/path/to/swift/bin/swift+0x11a81d9)
13 0x00000000011aee80 swift::Type llvm::function_ref<swift::Type (swift::Type)>::callback_fn<swift::constraints::ConstraintSystem::openUnboundGenericType(swift::Type, swift::constraints::ConstraintLocatorBuilder)::$_1>(long, swift::Type) (/path/to/swift/bin/swift+0x11aee80)
14 0x000000000160bbd6 llvm::Optional<swift::Type> llvm::function_ref<llvm::Optional<swift::Type> (swift::TypeBase*)>::callback_fn<swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const::$_13>(long, swift::TypeBase*) (/path/to/swift/bin/swift+0x160bbd6)
15 0x0000000001605156 swift::Type::transformRec(llvm::function_ref<llvm::Optional<swift::Type> (swift::TypeBase*)>) const (/path/to/swift/bin/swift+0x1605156)
16 0x00000000015fc6c7 swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const (/path/to/swift/bin/swift+0x15fc6c7)
17 0x00000000011a8988 swift::constraints::ConstraintSystem::openUnboundGenericType(swift::Type, swift::constraints::ConstraintLocatorBuilder) (/path/to/swift/bin/swift+0x11a8988)
18 0x00000000011626cf swift::ASTVisitor<(anonymous namespace)::ConstraintGenerator, swift::Type, void, void, void, void, void>::visit(swift::Expr*) (/path/to/swift/bin/swift+0x11626cf)
19 0x00000000011683b8 (anonymous namespace)::ConstraintWalker::walkToExprPost(swift::Expr*) (/path/to/swift/bin/swift+0x11683b8)
20 0x0000000001551a9c (anonymous namespace)::Traversal::visitApplyExpr(swift::ApplyExpr*) (/path/to/swift/bin/swift+0x1551a9c)
21 0x000000000154dbdb swift::Expr::walk(swift::ASTWalker&) (/path/to/swift/bin/swift+0x154dbdb)
22 0x000000000115ed91 swift::constraints::ConstraintSystem::generateConstraints(swift::Expr*) (/path/to/swift/bin/swift+0x115ed91)
23 0x000000000118be18 swift::constraints::ConstraintSystem::solve(swift::Expr*&, swift::Type, swift::ExprTypeCheckListener*, llvm::SmallVectorImpl<swift::constraints::Solution>&, swift::FreeTypeVariableBinding) (/path/to/swift/bin/swift+0x118be18)
24 0x00000000011bf997 swift::TypeChecker::solveForExpression(swift::Expr*&, swift::DeclContext*, swift::Type, swift::FreeTypeVariableBinding, swift::ExprTypeCheckListener*, swift::constraints::ConstraintSystem&, llvm::SmallVectorImpl<swift::constraints::Solution>&, swift::OptionSet<swift::TypeCheckExprFlags, unsigned int>) (/path/to/swift/bin/swift+0x11bf997)
25 0x00000000011c3795 swift::TypeChecker::typeCheckExpression(swift::Expr*&, swift::DeclContext*, swift::TypeLoc, swift::ContextualTypePurpose, swift::OptionSet<swift::TypeCheckExprFlags, unsigned int>, swift::ExprTypeCheckListener*, swift::constraints::ConstraintSystem*) (/path/to/swift/bin/swift+0x11c3795)
26 0x00000000011c7f31 swift::TypeChecker::typeCheckBinding(swift::Pattern*&, swift::Expr*&, swift::DeclContext*, bool) (/path/to/swift/bin/swift+0x11c7f31)
27 0x00000000011c81a6 swift::TypeChecker::typeCheckPatternBinding(swift::PatternBindingDecl*, unsigned int, bool) (/path/to/swift/bin/swift+0x11c81a6)
28 0x00000000011e0a18 validatePatternBindingEntries(swift::TypeChecker&, swift::PatternBindingDecl*) (/path/to/swift/bin/swift+0x11e0a18)
29 0x00000000011dac9d (anonymous namespace)::DeclChecker::visit(swift::Decl*) (/path/to/swift/bin/swift+0x11dac9d)
30 0x00000000011ec4ab (anonymous namespace)::DeclChecker::visitClassDecl(swift::ClassDecl*) (/path/to/swift/bin/swift+0x11ec4ab)
31 0x00000000011dad4e (anonymous namespace)::DeclChecker::visit(swift::Decl*) (/path/to/swift/bin/swift+0x11dad4e)
32 0x00000000011ebd3b (anonymous namespace)::DeclChecker::visitExtensionDecl(swift::ExtensionDecl*) (/path/to/swift/bin/swift+0x11ebd3b)
33 0x00000000011dac84 (anonymous namespace)::DeclChecker::visit(swift::Decl*) (/path/to/swift/bin/swift+0x11dac84)
34 0x00000000011ed69b (anonymous namespace)::DeclChecker::visitProtocolDecl(swift::ProtocolDecl*) (/path/to/swift/bin/swift+0x11ed69b)
35 0x00000000011dac54 (anonymous namespace)::DeclChecker::visit(swift::Decl*) (/path/to/swift/bin/swift+0x11dac54)
36 0x00000000011ed69b (anonymous namespace)::DeclChecker::visitProtocolDecl(swift::ProtocolDecl*) (/path/to/swift/bin/swift+0x11ed69b)
37 0x00000000011dac54 (anonymous namespace)::DeclChecker::visit(swift::Decl*) (/path/to/swift/bin/swift+0x11dac54)
38 0x00000000011dab53 swift::TypeChecker::typeCheckDecl(swift::Decl*, bool) (/path/to/swift/bin/swift+0x11dab53)
39 0x00000000012687e4 swift::performTypeChecking(swift::SourceFile&, swift::TopLevelContext&, swift::OptionSet<swift::TypeCheckingFlags, unsigned int>, unsigned int, unsigned int, unsigned int, unsigned int) (/path/to/swift/bin/swift+0x12687e4)
40 0x0000000000fb59e7 swift::CompilerInstance::performSema() (/path/to/swift/bin/swift+0xfb59e7)
41 0x00000000004ad9f8 performCompile(swift::CompilerInstance&, swift::CompilerInvocation&, llvm::ArrayRef<char const*>, int&, swift::FrontendObserver*, swift::UnifiedStatsReporter*) (/path/to/swift/bin/swift+0x4ad9f8)
42 0x00000000004abfa1 swift::performFrontend(llvm::ArrayRef<char const*>, char const*, void*, swift::FrontendObserver*) (/path/to/swift/bin/swift+0x4abfa1)
43 0x00000000004655d4 main (/path/to/swift/bin/swift+0x4655d4)
44 0x00007f1772cb4830 __libc_start_main /build/glibc-bfm8X4/glibc-2.23/csu/../csu/libc-start.c:325:0
45 0x0000000000462ea9 _start (/path/to/swift/bin/swift+0x462ea9)
```
2017-07-24 16:34:16 +02:00
practicalswift
691dbca8b1
[swiftc (49 vs. 5582)] Add crasher in swift::TypeChecker::substMemberTypeWithBase
...
Add test case for crash triggered in `swift::TypeChecker::substMemberTypeWithBase`.
Current number of unresolved compiler crashers: 49 (5582 resolved)
/cc @slavapestov - just wanted to let you know that this crasher caused an assertion failure for the assertion `isa<ClassDecl>(nominalDecl) && "expected a class here"` added on 2017-04-07 by you in commit 473faf1e :-)
Assertion failure in [`lib/AST/Type.cpp (line 3230)`](e1e759c758/lib/AST/Type.cpp (L3230) ):
```
Assertion `isa<ClassDecl>(nominalDecl) && "expected a class here"' failed.
When executing: swift::Type swift::TypeBase::getSuperclassForDecl(const swift::ClassDecl *)
```
Assertion context:
```c++
"expected a class, archetype or existential");
t = t->getSuperclass();
assert(t && "archetype or existential is not class constrained");
continue;
}
assert(isa<ClassDecl>(nominalDecl) && "expected a class here");
if (nominalDecl == baseClass)
return t;
t = t->getSuperclass();
```
Stack trace:
```
0 0x0000000003ae8f28 llvm::sys::PrintStackTrace(llvm::raw_ostream&) (/path/to/swift/bin/swift+0x3ae8f28)
1 0x0000000003ae9666 SignalHandler(int) (/path/to/swift/bin/swift+0x3ae9666)
2 0x00007f9cb2da7390 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x11390)
3 0x00007f9cb12cc428 gsignal /build/glibc-bfm8X4/glibc-2.23/signal/../sysdeps/unix/sysv/linux/raise.c:54:0
4 0x00007f9cb12ce02a abort /build/glibc-bfm8X4/glibc-2.23/stdlib/abort.c:91:0
5 0x00007f9cb12c4bd7 __assert_fail_base /build/glibc-bfm8X4/glibc-2.23/assert/assert.c:92:0
6 0x00007f9cb12c4c82 (/lib/x86_64-linux-gnu/libc.so.6+0x2dc82)
7 0x00000000016046d9 (/path/to/swift/bin/swift+0x16046d9)
8 0x0000000001258829 swift::TypeChecker::substMemberTypeWithBase(swift::ModuleDecl*, swift::TypeDecl*, swift::Type) (/path/to/swift/bin/swift+0x1258829)
9 0x00000000012586c0 swift::TypeChecker::resolveTypeInContext(swift::TypeDecl*, swift::DeclContext*, swift::DeclContext*, swift::OptionSet<swift::TypeResolutionFlags, unsigned int>, bool, swift::GenericTypeResolver*) (/path/to/swift/bin/swift+0x12586c0)
10 0x000000000126024d resolveTypeDecl(swift::TypeChecker&, swift::TypeDecl*, swift::SourceLoc, swift::DeclContext*, swift::DeclContext*, swift::GenericIdentTypeRepr*, swift::OptionSet<swift::TypeResolutionFlags, unsigned int>, swift::GenericTypeResolver*, llvm::function_ref<bool (swift::TypeCheckRequest)>*) (/path/to/swift/bin/swift+0x126024d)
11 0x000000000125fda6 resolveTopLevelIdentTypeComponent(swift::TypeChecker&, swift::DeclContext*, swift::ComponentIdentTypeRepr*, swift::OptionSet<swift::TypeResolutionFlags, unsigned int>, bool, swift::GenericTypeResolver*, llvm::function_ref<bool (swift::TypeCheckRequest)>*) (/path/to/swift/bin/swift+0x125fda6)
12 0x000000000125a363 resolveIdentTypeComponent(swift::TypeChecker&, swift::DeclContext*, llvm::ArrayRef<swift::ComponentIdentTypeRepr*>, swift::OptionSet<swift::TypeResolutionFlags, unsigned int>, bool, swift::GenericTypeResolver*, llvm::function_ref<bool (swift::TypeCheckRequest)>*) (/path/to/swift/bin/swift+0x125a363)
13 0x0000000001259cfa swift::TypeChecker::resolveIdentifierType(swift::DeclContext*, swift::IdentTypeRepr*, swift::OptionSet<swift::TypeResolutionFlags, unsigned int>, bool, swift::GenericTypeResolver*, llvm::function_ref<bool (swift::TypeCheckRequest)>*) (/path/to/swift/bin/swift+0x1259cfa)
14 0x000000000125aab2 (anonymous namespace)::TypeResolver::resolveType(swift::TypeRepr*, swift::OptionSet<swift::TypeResolutionFlags, unsigned int>) (/path/to/swift/bin/swift+0x125aab2)
15 0x000000000125a9bc swift::TypeChecker::resolveType(swift::TypeRepr*, swift::DeclContext*, swift::OptionSet<swift::TypeResolutionFlags, unsigned int>, swift::GenericTypeResolver*, llvm::function_ref<bool (swift::TypeCheckRequest)>*) (/path/to/swift/bin/swift+0x125a9bc)
16 0x0000000001259370 swift::TypeChecker::validateType(swift::TypeLoc&, swift::DeclContext*, swift::OptionSet<swift::TypeResolutionFlags, unsigned int>, swift::GenericTypeResolver*, llvm::function_ref<bool (swift::TypeCheckRequest)>*) (/path/to/swift/bin/swift+0x1259370)
17 0x0000000001212e3e validateParameterType(swift::ParamDecl*, swift::DeclContext*, swift::OptionSet<swift::TypeResolutionFlags, unsigned int>, swift::GenericTypeResolver&, swift::TypeChecker&) (/path/to/swift/bin/swift+0x1212e3e)
18 0x0000000001212c3a swift::TypeChecker::typeCheckParameterList(swift::ParameterList*, swift::DeclContext*, swift::OptionSet<swift::TypeResolutionFlags, unsigned int>, swift::GenericTypeResolver&) (/path/to/swift/bin/swift+0x1212c3a)
19 0x000000000120aaac checkGenericFuncSignature(swift::TypeChecker&, swift::GenericSignatureBuilder*, swift::AbstractFunctionDecl*, swift::GenericTypeResolver&) (/path/to/swift/bin/swift+0x120aaac)
20 0x000000000120a6a9 swift::TypeChecker::validateGenericFuncSignature(swift::AbstractFunctionDecl*) (/path/to/swift/bin/swift+0x120a6a9)
21 0x00000000011ee2d4 (anonymous namespace)::DeclChecker::visitConstructorDecl(swift::ConstructorDecl*) (/path/to/swift/bin/swift+0x11ee2d4)
22 0x00000000011dac64 (anonymous namespace)::DeclChecker::visit(swift::Decl*) (/path/to/swift/bin/swift+0x11dac64)
23 0x00000000011ed69b (anonymous namespace)::DeclChecker::visitProtocolDecl(swift::ProtocolDecl*) (/path/to/swift/bin/swift+0x11ed69b)
24 0x00000000011dac54 (anonymous namespace)::DeclChecker::visit(swift::Decl*) (/path/to/swift/bin/swift+0x11dac54)
25 0x00000000011dab53 swift::TypeChecker::typeCheckDecl(swift::Decl*, bool) (/path/to/swift/bin/swift+0x11dab53)
26 0x00000000012687e4 swift::performTypeChecking(swift::SourceFile&, swift::TopLevelContext&, swift::OptionSet<swift::TypeCheckingFlags, unsigned int>, unsigned int, unsigned int, unsigned int, unsigned int) (/path/to/swift/bin/swift+0x12687e4)
27 0x0000000000fb59e7 swift::CompilerInstance::performSema() (/path/to/swift/bin/swift+0xfb59e7)
28 0x00000000004ad9f8 performCompile(swift::CompilerInstance&, swift::CompilerInvocation&, llvm::ArrayRef<char const*>, int&, swift::FrontendObserver*, swift::UnifiedStatsReporter*) (/path/to/swift/bin/swift+0x4ad9f8)
29 0x00000000004abfa1 swift::performFrontend(llvm::ArrayRef<char const*>, char const*, void*, swift::FrontendObserver*) (/path/to/swift/bin/swift+0x4abfa1)
30 0x00000000004655d4 main (/path/to/swift/bin/swift+0x4655d4)
31 0x00007f9cb12b7830 __libc_start_main /build/glibc-bfm8X4/glibc-2.23/csu/../csu/libc-start.c:325:0
32 0x0000000000462ea9 _start (/path/to/swift/bin/swift+0x462ea9)
```
2017-07-24 15:14:56 +02:00
practicalswift
6ded10ebe0
[swiftc (48 vs. 5582)] Add crasher in swift::SubstitutionMap::lookupConformance
...
Add test case for crash triggered in `swift::SubstitutionMap::lookupConformance`.
Current number of unresolved compiler crashers: 48 (5582 resolved)
Assertion failure in `llvm/include/llvm/ADT/Optional.h (line 138)`:
```
Assertion `hasVal' failed.
When executing: T &&llvm::Optional<swift::ProtocolConformanceRef>::operator*() && [T = swift::ProtocolConformanceRef]
```
Assertion context:
```c++
return hasValue() ? getValue() : std::forward<U>(value);
}
#if LLVM_HAS_RVALUE_REFERENCE_THIS
T&& getValue() && { assert(hasVal); return std::move(*getPointer()); }
T&& operator*() && { assert(hasVal); return std::move(*getPointer()); }
template <typename U>
T getValueOr(U &&value) && {
return hasValue() ? std::move(getValue()) : std::forward<U>(value);
}
```
Stack trace:
```
0 0x0000000003ae8f28 llvm::sys::PrintStackTrace(llvm::raw_ostream&) (/path/to/swift/bin/swift+0x3ae8f28)
1 0x0000000003ae9666 SignalHandler(int) (/path/to/swift/bin/swift+0x3ae9666)
2 0x00007fb288bad390 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x11390)
3 0x00007fb2870d2428 gsignal /build/glibc-bfm8X4/glibc-2.23/signal/../sysdeps/unix/sysv/linux/raise.c:54:0
4 0x00007fb2870d402a abort /build/glibc-bfm8X4/glibc-2.23/stdlib/abort.c:91:0
5 0x00007fb2870cabd7 __assert_fail_base /build/glibc-bfm8X4/glibc-2.23/assert/assert.c:92:0
6 0x00007fb2870cac82 (/lib/x86_64-linux-gnu/libc.so.6+0x2dc82)
7 0x00000000015f71a9 swift::SubstitutionMap::lookupConformance(swift::CanType, swift::ProtocolDecl*) const (/path/to/swift/bin/swift+0x15f71a9)
8 0x0000000001603ca0 swift::LookUpConformanceInSubstitutionMap::operator()(swift::CanType, swift::Type, swift::ProtocolType*) const (/path/to/swift/bin/swift+0x1603ca0)
9 0x0000000000c39469 llvm::Optional<swift::ProtocolConformanceRef> llvm::function_ref<llvm::Optional<swift::ProtocolConformanceRef> (swift::CanType, swift::Type, swift::ProtocolType*)>::callback_fn<swift::LookUpConformanceInSubstitutionMap>(long, swift::CanType, swift::Type, swift::ProtocolType*) (/path/to/swift/bin/swift+0xc39469)
10 0x00000000016041ad getMemberForBaseType(llvm::function_ref<llvm::Optional<swift::ProtocolConformanceRef> (swift::CanType, swift::Type, swift::ProtocolType*)>, swift::Type, swift::Type, swift::AssociatedTypeDecl*, swift::Identifier, swift::SubstOptions) (/path/to/swift/bin/swift+0x16041ad)
11 0x0000000001608f09 llvm::Optional<swift::Type> llvm::function_ref<llvm::Optional<swift::Type> (swift::TypeBase*)>::callback_fn<substType(swift::Type, llvm::function_ref<swift::Type (swift::SubstitutableType*)>, llvm::function_ref<llvm::Optional<swift::ProtocolConformanceRef> (swift::CanType, swift::Type, swift::ProtocolType*)>, swift::SubstOptions)::$_18>(long, swift::TypeBase*) (/path/to/swift/bin/swift+0x1608f09)
12 0x0000000001605156 swift::Type::transformRec(llvm::function_ref<llvm::Optional<swift::Type> (swift::TypeBase*)>) const (/path/to/swift/bin/swift+0x1605156)
13 0x00000000016003f5 swift::Type::subst(swift::SubstitutionMap const&, swift::SubstOptions) const (/path/to/swift/bin/swift+0x16003f5)
14 0x00000000015ec786 swift::SpecializedProtocolConformance::getTypeWitnessAndDecl(swift::AssociatedTypeDecl*, swift::LazyResolver*, swift::SubstOptions) const (/path/to/swift/bin/swift+0x15ec786)
15 0x00000000015ebec2 swift::ProtocolConformance::getTypeWitnessAndDecl(swift::AssociatedTypeDecl*, swift::LazyResolver*, swift::SubstOptions) const (/path/to/swift/bin/swift+0x15ebec2)
16 0x00000000015eb8d9 swift::ProtocolConformance::getTypeWitness(swift::AssociatedTypeDecl*, swift::LazyResolver*, swift::SubstOptions) const (/path/to/swift/bin/swift+0x15eb8d9)
17 0x0000000001604277 getMemberForBaseType(llvm::function_ref<llvm::Optional<swift::ProtocolConformanceRef> (swift::CanType, swift::Type, swift::ProtocolType*)>, swift::Type, swift::Type, swift::AssociatedTypeDecl*, swift::Identifier, swift::SubstOptions) (/path/to/swift/bin/swift+0x1604277)
18 0x0000000001608f09 llvm::Optional<swift::Type> llvm::function_ref<llvm::Optional<swift::Type> (swift::TypeBase*)>::callback_fn<substType(swift::Type, llvm::function_ref<swift::Type (swift::SubstitutableType*)>, llvm::function_ref<llvm::Optional<swift::ProtocolConformanceRef> (swift::CanType, swift::Type, swift::ProtocolType*)>, swift::SubstOptions)::$_18>(long, swift::TypeBase*) (/path/to/swift/bin/swift+0x1608f09)
19 0x0000000001605156 swift::Type::transformRec(llvm::function_ref<llvm::Optional<swift::Type> (swift::TypeBase*)>) const (/path/to/swift/bin/swift+0x1605156)
20 0x00000000016003f5 swift::Type::subst(swift::SubstitutionMap const&, swift::SubstOptions) const (/path/to/swift/bin/swift+0x16003f5)
21 0x00000000015ec786 swift::SpecializedProtocolConformance::getTypeWitnessAndDecl(swift::AssociatedTypeDecl*, swift::LazyResolver*, swift::SubstOptions) const (/path/to/swift/bin/swift+0x15ec786)
22 0x00000000015ebec2 swift::ProtocolConformance::getTypeWitnessAndDecl(swift::AssociatedTypeDecl*, swift::LazyResolver*, swift::SubstOptions) const (/path/to/swift/bin/swift+0x15ebec2)
23 0x00000000015eb8d9 swift::ProtocolConformance::getTypeWitness(swift::AssociatedTypeDecl*, swift::LazyResolver*, swift::SubstOptions) const (/path/to/swift/bin/swift+0x15eb8d9)
24 0x00000000015a40a2 concretizeNestedTypeFromConcreteParent(swift::GenericSignatureBuilder::PotentialArchetype*, swift::GenericSignatureBuilder::PotentialArchetype*, swift::GenericSignatureBuilder&) (/path/to/swift/bin/swift+0x15a40a2)
25 0x00000000015acb3b swift::GenericSignatureBuilder::addSameTypeRequirementToConcrete(swift::GenericSignatureBuilder::PotentialArchetype*, swift::Type, swift::GenericSignatureBuilder::RequirementSource const*) (/path/to/swift/bin/swift+0x15acb3b)
26 0x00000000015ac5bc swift::GenericSignatureBuilder::addSameTypeRequirement(llvm::PointerUnion<swift::GenericSignatureBuilder::PotentialArchetype*, swift::Type>, llvm::PointerUnion<swift::GenericSignatureBuilder::PotentialArchetype*, swift::Type>, swift::GenericSignatureBuilder::FloatingRequirementSource, swift::GenericSignatureBuilder::UnresolvedHandlingKind, llvm::function_ref<void (swift::Type, swift::Type)>) (/path/to/swift/bin/swift+0x15ac5bc)
27 0x00000000015a4136 concretizeNestedTypeFromConcreteParent(swift::GenericSignatureBuilder::PotentialArchetype*, swift::GenericSignatureBuilder::PotentialArchetype*, swift::GenericSignatureBuilder&) (/path/to/swift/bin/swift+0x15a4136)
28 0x00000000015acb3b swift::GenericSignatureBuilder::addSameTypeRequirementToConcrete(swift::GenericSignatureBuilder::PotentialArchetype*, swift::Type, swift::GenericSignatureBuilder::RequirementSource const*) (/path/to/swift/bin/swift+0x15acb3b)
29 0x00000000015ac5bc swift::GenericSignatureBuilder::addSameTypeRequirement(llvm::PointerUnion<swift::GenericSignatureBuilder::PotentialArchetype*, swift::Type>, llvm::PointerUnion<swift::GenericSignatureBuilder::PotentialArchetype*, swift::Type>, swift::GenericSignatureBuilder::FloatingRequirementSource, swift::GenericSignatureBuilder::UnresolvedHandlingKind, llvm::function_ref<void (swift::Type, swift::Type)>) (/path/to/swift/bin/swift+0x15ac5bc)
30 0x00000000015a4136 concretizeNestedTypeFromConcreteParent(swift::GenericSignatureBuilder::PotentialArchetype*, swift::GenericSignatureBuilder::PotentialArchetype*, swift::GenericSignatureBuilder&) (/path/to/swift/bin/swift+0x15a4136)
31 0x00000000015acb3b swift::GenericSignatureBuilder::addSameTypeRequirementToConcrete(swift::GenericSignatureBuilder::PotentialArchetype*, swift::Type, swift::GenericSignatureBuilder::RequirementSource const*) (/path/to/swift/bin/swift+0x15acb3b)
32 0x00000000015ac5bc swift::GenericSignatureBuilder::addSameTypeRequirement(llvm::PointerUnion<swift::GenericSignatureBuilder::PotentialArchetype*, swift::Type>, llvm::PointerUnion<swift::GenericSignatureBuilder::PotentialArchetype*, swift::Type>, swift::GenericSignatureBuilder::FloatingRequirementSource, swift::GenericSignatureBuilder::UnresolvedHandlingKind, llvm::function_ref<void (swift::Type, swift::Type)>) (/path/to/swift/bin/swift+0x15ac5bc)
33 0x00000000015a3086 swift::GenericSignatureBuilder::PotentialArchetype::updateNestedTypeForConformance(llvm::PointerUnion<swift::AssociatedTypeDecl*, swift::TypeDecl*>, swift::ArchetypeResolutionKind) (/path/to/swift/bin/swift+0x15a3086)
34 0x00000000015a2513 swift::GenericSignatureBuilder::PotentialArchetype::getNestedArchetypeAnchor(swift::Identifier, swift::GenericSignatureBuilder&, swift::ArchetypeResolutionKind) (/path/to/swift/bin/swift+0x15a2513)
35 0x00000000015b0be6 getLocalAnchor(swift::GenericSignatureBuilder::PotentialArchetype*, swift::GenericSignatureBuilder&) (/path/to/swift/bin/swift+0x15b0be6)
36 0x00000000015af7bc swift::GenericSignatureBuilder::checkSameTypeConstraints(llvm::ArrayRef<swift::GenericTypeParamType*>, swift::GenericSignatureBuilder::PotentialArchetype*) (/path/to/swift/bin/swift+0x15af7bc)
37 0x00000000015ad5ea swift::GenericSignatureBuilder::finalize(swift::SourceLoc, llvm::ArrayRef<swift::GenericTypeParamType*>, bool) (/path/to/swift/bin/swift+0x15ad5ea)
38 0x000000000120d820 swift::TypeChecker::checkGenericEnvironment(swift::GenericParamList*, swift::DeclContext*, swift::GenericSignature*, bool, llvm::function_ref<void (swift::GenericSignatureBuilder&)>) (/path/to/swift/bin/swift+0x120d820)
39 0x000000000120dc13 swift::TypeChecker::validateGenericTypeSignature(swift::GenericTypeDecl*) (/path/to/swift/bin/swift+0x120dc13)
40 0x00000000011dcad2 swift::TypeChecker::validateDecl(swift::ValueDecl*) (/path/to/swift/bin/swift+0x11dcad2)
41 0x00000000011ed37f (anonymous namespace)::DeclChecker::visitProtocolDecl(swift::ProtocolDecl*) (/path/to/swift/bin/swift+0x11ed37f)
42 0x00000000011dac54 (anonymous namespace)::DeclChecker::visit(swift::Decl*) (/path/to/swift/bin/swift+0x11dac54)
43 0x00000000011ed69b (anonymous namespace)::DeclChecker::visitProtocolDecl(swift::ProtocolDecl*) (/path/to/swift/bin/swift+0x11ed69b)
44 0x00000000011dac54 (anonymous namespace)::DeclChecker::visit(swift::Decl*) (/path/to/swift/bin/swift+0x11dac54)
45 0x00000000011ebd3b (anonymous namespace)::DeclChecker::visitExtensionDecl(swift::ExtensionDecl*) (/path/to/swift/bin/swift+0x11ebd3b)
46 0x00000000011dac84 (anonymous namespace)::DeclChecker::visit(swift::Decl*) (/path/to/swift/bin/swift+0x11dac84)
47 0x00000000011dab53 swift::TypeChecker::typeCheckDecl(swift::Decl*, bool) (/path/to/swift/bin/swift+0x11dab53)
48 0x00000000012687e4 swift::performTypeChecking(swift::SourceFile&, swift::TopLevelContext&, swift::OptionSet<swift::TypeCheckingFlags, unsigned int>, unsigned int, unsigned int, unsigned int, unsigned int) (/path/to/swift/bin/swift+0x12687e4)
49 0x0000000000fb59e7 swift::CompilerInstance::performSema() (/path/to/swift/bin/swift+0xfb59e7)
50 0x00000000004ad9f8 performCompile(swift::CompilerInstance&, swift::CompilerInvocation&, llvm::ArrayRef<char const*>, int&, swift::FrontendObserver*, swift::UnifiedStatsReporter*) (/path/to/swift/bin/swift+0x4ad9f8)
51 0x00000000004abfa1 swift::performFrontend(llvm::ArrayRef<char const*>, char const*, void*, swift::FrontendObserver*) (/path/to/swift/bin/swift+0x4abfa1)
52 0x00000000004655d4 main (/path/to/swift/bin/swift+0x4655d4)
53 0x00007fb2870bd830 __libc_start_main /build/glibc-bfm8X4/glibc-2.23/csu/../csu/libc-start.c:325:0
54 0x0000000000462ea9 _start (/path/to/swift/bin/swift+0x462ea9)
```
2017-07-24 13:55:21 +02:00
practicalswift
bda127ae2a
[swiftc (47 vs. 5582)] Add crasher in swift::constraints::ConstraintGraph::addConstraint(...)
...
Add test case for crash triggered in `swift::constraints::ConstraintGraph::addConstraint(...)`.
Current number of unresolved compiler crashers: 47 (5582 resolved)
/cc @DougGregor - just wanted to let you know that this crasher caused an assertion failure for the assertion `impl.getGraphIndex() < TypeVariables.size() && "Out-of-bounds index"` added on 2013-12-09 by you in commit 11794095 :-)
Assertion failure in [`lib/Sema/ConstraintGraph.cpp (line 50)`](725702c283/lib/Sema/ConstraintGraph.cpp (L50) ):
```
Assertion `impl.getGraphIndex() < TypeVariables.size() && "Out-of-bounds index"' failed.
When executing: std::pair<ConstraintGraphNode &, unsigned int> swift::constraints::ConstraintGraph::lookupNode(swift::TypeVariableType *)
```
Assertion context:
```c++
std::pair<ConstraintGraphNode &, unsigned>
ConstraintGraph::lookupNode(TypeVariableType *typeVar) {
// Check whether we've already created a node for this type variable.
auto &impl = typeVar->getImpl();
if (auto nodePtr = impl.getGraphNode()) {
assert(impl.getGraphIndex() < TypeVariables.size() && "Out-of-bounds index");
assert(TypeVariables[impl.getGraphIndex()] == typeVar &&
"Type variable mismatch");
return { *nodePtr, impl.getGraphIndex() };
}
```
Stack trace:
```
0 0x0000000003ae8f28 llvm::sys::PrintStackTrace(llvm::raw_ostream&) (/path/to/swift/bin/swift+0x3ae8f28)
1 0x0000000003ae9666 SignalHandler(int) (/path/to/swift/bin/swift+0x3ae9666)
2 0x00007f7cdb9c7390 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x11390)
3 0x00007f7cd9eec428 gsignal /build/glibc-bfm8X4/glibc-2.23/signal/../sysdeps/unix/sysv/linux/raise.c:54:0
4 0x00007f7cd9eee02a abort /build/glibc-bfm8X4/glibc-2.23/stdlib/abort.c:91:0
5 0x00007f7cd9ee4bd7 __assert_fail_base /build/glibc-bfm8X4/glibc-2.23/assert/assert.c:92:0
6 0x00007f7cd9ee4c82 (/lib/x86_64-linux-gnu/libc.so.6+0x2dc82)
7 0x000000000119a2bb (/path/to/swift/bin/swift+0x119a2bb)
8 0x000000000119bbdf swift::constraints::ConstraintGraph::addConstraint(swift::constraints::Constraint*) (/path/to/swift/bin/swift+0x119bbdf)
9 0x000000000116a909 swift::constraints::ConstraintSystem::addUnsolvedConstraint(swift::constraints::Constraint*) (/path/to/swift/bin/swift+0x116a909)
10 0x000000000117cf20 swift::constraints::ConstraintSystem::addExplicitConversionConstraint(swift::Type, swift::Type, bool, swift::constraints::ConstraintLocatorBuilder) (/path/to/swift/bin/swift+0x117cf20)
11 0x00000000011618af swift::ASTVisitor<(anonymous namespace)::ConstraintGenerator, swift::Type, void, void, void, void, void>::visit(swift::Expr*) (/path/to/swift/bin/swift+0x11618af)
12 0x00000000011683b8 (anonymous namespace)::ConstraintWalker::walkToExprPost(swift::Expr*) (/path/to/swift/bin/swift+0x11683b8)
13 0x0000000001550faf swift::ASTVisitor<(anonymous namespace)::Traversal, swift::Expr*, swift::Stmt*, bool, swift::Pattern*, bool, void>::visit(swift::Expr*) (/path/to/swift/bin/swift+0x1550faf)
14 0x000000000154dbdb swift::Expr::walk(swift::ASTWalker&) (/path/to/swift/bin/swift+0x154dbdb)
15 0x000000000115ed91 swift::constraints::ConstraintSystem::generateConstraints(swift::Expr*) (/path/to/swift/bin/swift+0x115ed91)
16 0x000000000118be18 swift::constraints::ConstraintSystem::solve(swift::Expr*&, swift::Type, swift::ExprTypeCheckListener*, llvm::SmallVectorImpl<swift::constraints::Solution>&, swift::FreeTypeVariableBinding) (/path/to/swift/bin/swift+0x118be18)
17 0x00000000011bf997 swift::TypeChecker::solveForExpression(swift::Expr*&, swift::DeclContext*, swift::Type, swift::FreeTypeVariableBinding, swift::ExprTypeCheckListener*, swift::constraints::ConstraintSystem&, llvm::SmallVectorImpl<swift::constraints::Solution>&, swift::OptionSet<swift::TypeCheckExprFlags, unsigned int>) (/path/to/swift/bin/swift+0x11bf997)
18 0x00000000011c4012 swift::TypeChecker::getPossibleTypesOfExpressionWithoutApplying(swift::Expr*&, swift::DeclContext*, llvm::SmallVectorImpl<swift::Type>&, swift::FreeTypeVariableBinding, swift::ExprTypeCheckListener*) (/path/to/swift/bin/swift+0x11c4012)
19 0x00000000012b856b (anonymous namespace)::FailureDiagnosis::visitApplyExpr(swift::ApplyExpr*) (/path/to/swift/bin/swift+0x12b856b)
20 0x000000000129b642 swift::ASTVisitor<(anonymous namespace)::FailureDiagnosis, bool, void, void, void, void, void>::visit(swift::Expr*) (/path/to/swift/bin/swift+0x129b642)
21 0x0000000001295162 swift::constraints::ConstraintSystem::diagnoseFailureForExpr(swift::Expr*) (/path/to/swift/bin/swift+0x1295162)
22 0x000000000129b049 swift::constraints::ConstraintSystem::salvage(llvm::SmallVectorImpl<swift::constraints::Solution>&, swift::Expr*) (/path/to/swift/bin/swift+0x129b049)
23 0x00000000011bf9d8 swift::TypeChecker::solveForExpression(swift::Expr*&, swift::DeclContext*, swift::Type, swift::FreeTypeVariableBinding, swift::ExprTypeCheckListener*, swift::constraints::ConstraintSystem&, llvm::SmallVectorImpl<swift::constraints::Solution>&, swift::OptionSet<swift::TypeCheckExprFlags, unsigned int>) (/path/to/swift/bin/swift+0x11bf9d8)
24 0x00000000011c3795 swift::TypeChecker::typeCheckExpression(swift::Expr*&, swift::DeclContext*, swift::TypeLoc, swift::ContextualTypePurpose, swift::OptionSet<swift::TypeCheckExprFlags, unsigned int>, swift::ExprTypeCheckListener*, swift::constraints::ConstraintSystem*) (/path/to/swift/bin/swift+0x11c3795)
25 0x000000000124aab0 swift::ASTVisitor<(anonymous namespace)::StmtChecker, void, swift::Stmt*, void, void, void, void>::visit(swift::Stmt*) (/path/to/swift/bin/swift+0x124aab0)
26 0x000000000124a2b6 swift::TypeChecker::typeCheckTopLevelCodeDecl(swift::TopLevelCodeDecl*) (/path/to/swift/bin/swift+0x124a2b6)
27 0x0000000001268850 swift::performTypeChecking(swift::SourceFile&, swift::TopLevelContext&, swift::OptionSet<swift::TypeCheckingFlags, unsigned int>, unsigned int, unsigned int, unsigned int, unsigned int) (/path/to/swift/bin/swift+0x1268850)
28 0x0000000000fb59e7 swift::CompilerInstance::performSema() (/path/to/swift/bin/swift+0xfb59e7)
29 0x00000000004ad9f8 performCompile(swift::CompilerInstance&, swift::CompilerInvocation&, llvm::ArrayRef<char const*>, int&, swift::FrontendObserver*, swift::UnifiedStatsReporter*) (/path/to/swift/bin/swift+0x4ad9f8)
30 0x00000000004abfa1 swift::performFrontend(llvm::ArrayRef<char const*>, char const*, void*, swift::FrontendObserver*) (/path/to/swift/bin/swift+0x4abfa1)
31 0x00000000004655d4 main (/path/to/swift/bin/swift+0x4655d4)
32 0x00007f7cd9ed7830 __libc_start_main /build/glibc-bfm8X4/glibc-2.23/csu/../csu/libc-start.c:325:0
33 0x0000000000462ea9 _start (/path/to/swift/bin/swift+0x462ea9)
```
2017-07-24 12:06:47 +02:00
practicalswift
3add1f0ba3
[swiftc (46 vs. 5582)] Add crasher in swift::GenericSignatureBuilder::FloatingRequirementSource::getSource(...)
...
Add test case for crash triggered in `swift::GenericSignatureBuilder::FloatingRequirementSource::getSource(...)`.
Current number of unresolved compiler crashers: 46 (5582 resolved)
Stack trace:
```
0 0x0000000003ae8f28 llvm::sys::PrintStackTrace(llvm::raw_ostream&) (/path/to/swift/bin/swift+0x3ae8f28)
1 0x0000000003ae9666 SignalHandler(int) (/path/to/swift/bin/swift+0x3ae9666)
2 0x00007f9436c6a390 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x11390)
3 0x000000000159e87c formProtocolRelativeType(swift::ProtocolDecl*, swift::GenericSignatureBuilder::PotentialArchetype*, swift::GenericSignatureBuilder::PotentialArchetype*) (/path/to/swift/bin/swift+0x159e87c)
4 0x000000000159e893 formProtocolRelativeType(swift::ProtocolDecl*, swift::GenericSignatureBuilder::PotentialArchetype*, swift::GenericSignatureBuilder::PotentialArchetype*) (/path/to/swift/bin/swift+0x159e893)
5 0x000000000159e6c6 swift::GenericSignatureBuilder::FloatingRequirementSource::getSource(swift::GenericSignatureBuilder::PotentialArchetype*) const (/path/to/swift/bin/swift+0x159e6c6)
6 0x00000000015aaec0 swift::GenericSignatureBuilder::addTypeRequirement(llvm::PointerUnion<swift::GenericSignatureBuilder::PotentialArchetype*, swift::Type>, llvm::PointerUnion<swift::GenericSignatureBuilder::PotentialArchetype*, swift::Type>, swift::GenericSignatureBuilder::FloatingRequirementSource, swift::GenericSignatureBuilder::UnresolvedHandlingKind) (/path/to/swift/bin/swift+0x15aaec0)
7 0x00000000015a8f0b swift::GenericSignatureBuilder::addRequirement(swift::Requirement const&, swift::GenericSignatureBuilder::FloatingRequirementSource, swift::ModuleDecl*, swift::SubstitutionMap const*) (/path/to/swift/bin/swift+0x15a8f0b)
8 0x00000000015b48fd swift::GenericSignatureBuilder::InferRequirementsWalker::walkToTypePost(swift::Type) (/path/to/swift/bin/swift+0x15b48fd)
9 0x0000000001612467 swift::TypeVisitor<(anonymous namespace)::Traversal, bool>::visit(swift::Type) (/path/to/swift/bin/swift+0x1612467)
10 0x0000000001612416 swift::TypeVisitor<(anonymous namespace)::Traversal, bool>::visit(swift::Type) (/path/to/swift/bin/swift+0x1612416)
11 0x00000000016113c4 swift::Type::walk(swift::TypeWalker&) const (/path/to/swift/bin/swift+0x16113c4)
12 0x00000000015bb0ad swift::GenericSignatureBuilder::ConstraintResult llvm::function_ref<swift::GenericSignatureBuilder::ConstraintResult (swift::Type, swift::TypeRepr const*)>::callback_fn<swift::GenericSignatureBuilder::addInheritedRequirements(swift::TypeDecl*, llvm::PointerUnion<swift::GenericSignatureBuilder::PotentialArchetype*, swift::Type>, swift::GenericSignatureBuilder::RequirementSource const*, swift::ModuleDecl*)::$_22>(long, swift::Type, swift::TypeRepr const*) (/path/to/swift/bin/swift+0x15bb0ad)
13 0x00000000015b4742 std::_Function_handler<void (swift::Type, swift::TypeRepr const*), visitInherited(llvm::ArrayRef<swift::TypeLoc>, llvm::function_ref<swift::GenericSignatureBuilder::ConstraintResult (swift::Type, swift::TypeRepr const*)>)::$_54>::_M_invoke(std::_Any_data const&, swift::Type&&, swift::TypeRepr const*&&) (/path/to/swift/bin/swift+0x15b4742)
14 0x00000000015a6d81 swift::GenericSignatureBuilder::addInheritedRequirements(swift::TypeDecl*, llvm::PointerUnion<swift::GenericSignatureBuilder::PotentialArchetype*, swift::Type>, swift::GenericSignatureBuilder::RequirementSource const*, swift::ModuleDecl*) (/path/to/swift/bin/swift+0x15a6d81)
15 0x00000000015a7384 swift::GenericSignatureBuilder::addConformanceRequirement(swift::GenericSignatureBuilder::PotentialArchetype*, swift::ProtocolDecl*, swift::GenericSignatureBuilder::RequirementSource const*) (/path/to/swift/bin/swift+0x15a7384)
16 0x00000000015aaf85 swift::GenericSignatureBuilder::addTypeRequirement(llvm::PointerUnion<swift::GenericSignatureBuilder::PotentialArchetype*, swift::Type>, llvm::PointerUnion<swift::GenericSignatureBuilder::PotentialArchetype*, swift::Type>, swift::GenericSignatureBuilder::FloatingRequirementSource, swift::GenericSignatureBuilder::UnresolvedHandlingKind) (/path/to/swift/bin/swift+0x15aaf85)
17 0x00000000015bb27f swift::GenericSignatureBuilder::ConstraintResult llvm::function_ref<swift::GenericSignatureBuilder::ConstraintResult (swift::Type, swift::TypeRepr const*)>::callback_fn<swift::GenericSignatureBuilder::addInheritedRequirements(swift::TypeDecl*, llvm::PointerUnion<swift::GenericSignatureBuilder::PotentialArchetype*, swift::Type>, swift::GenericSignatureBuilder::RequirementSource const*, swift::ModuleDecl*)::$_22>(long, swift::Type, swift::TypeRepr const*) (/path/to/swift/bin/swift+0x15bb27f)
18 0x00000000015b4742 std::_Function_handler<void (swift::Type, swift::TypeRepr const*), visitInherited(llvm::ArrayRef<swift::TypeLoc>, llvm::function_ref<swift::GenericSignatureBuilder::ConstraintResult (swift::Type, swift::TypeRepr const*)>)::$_54>::_M_invoke(std::_Any_data const&, swift::Type&&, swift::TypeRepr const*&&) (/path/to/swift/bin/swift+0x15b4742)
19 0x00000000015a6d81 swift::GenericSignatureBuilder::addInheritedRequirements(swift::TypeDecl*, llvm::PointerUnion<swift::GenericSignatureBuilder::PotentialArchetype*, swift::Type>, swift::GenericSignatureBuilder::RequirementSource const*, swift::ModuleDecl*) (/path/to/swift/bin/swift+0x15a6d81)
20 0x00000000015a6b9e swift::GenericSignatureBuilder::addGenericParameterRequirements(swift::GenericTypeParamDecl*) (/path/to/swift/bin/swift+0x15a6b9e)
21 0x0000000001209ca2 swift::TypeChecker::checkGenericParamList(swift::GenericSignatureBuilder*, swift::GenericParamList*, swift::GenericSignature*, swift::GenericTypeResolver*) (/path/to/swift/bin/swift+0x1209ca2)
22 0x000000000120a9f1 checkGenericFuncSignature(swift::TypeChecker&, swift::GenericSignatureBuilder*, swift::AbstractFunctionDecl*, swift::GenericTypeResolver&) (/path/to/swift/bin/swift+0x120a9f1)
23 0x000000000120a6a9 swift::TypeChecker::validateGenericFuncSignature(swift::AbstractFunctionDecl*) (/path/to/swift/bin/swift+0x120a6a9)
24 0x00000000011efa74 (anonymous namespace)::DeclChecker::visitFuncDecl(swift::FuncDecl*) (/path/to/swift/bin/swift+0x11efa74)
25 0x00000000011dac74 (anonymous namespace)::DeclChecker::visit(swift::Decl*) (/path/to/swift/bin/swift+0x11dac74)
26 0x00000000011ebd3b (anonymous namespace)::DeclChecker::visitExtensionDecl(swift::ExtensionDecl*) (/path/to/swift/bin/swift+0x11ebd3b)
27 0x00000000011dac84 (anonymous namespace)::DeclChecker::visit(swift::Decl*) (/path/to/swift/bin/swift+0x11dac84)
28 0x00000000011dab53 swift::TypeChecker::typeCheckDecl(swift::Decl*, bool) (/path/to/swift/bin/swift+0x11dab53)
29 0x00000000012687e4 swift::performTypeChecking(swift::SourceFile&, swift::TopLevelContext&, swift::OptionSet<swift::TypeCheckingFlags, unsigned int>, unsigned int, unsigned int, unsigned int, unsigned int) (/path/to/swift/bin/swift+0x12687e4)
30 0x0000000000fb59e7 swift::CompilerInstance::performSema() (/path/to/swift/bin/swift+0xfb59e7)
31 0x00000000004ad9f8 performCompile(swift::CompilerInstance&, swift::CompilerInvocation&, llvm::ArrayRef<char const*>, int&, swift::FrontendObserver*, swift::UnifiedStatsReporter*) (/path/to/swift/bin/swift+0x4ad9f8)
32 0x00000000004abfa1 swift::performFrontend(llvm::ArrayRef<char const*>, char const*, void*, swift::FrontendObserver*) (/path/to/swift/bin/swift+0x4abfa1)
33 0x00000000004655d4 main (/path/to/swift/bin/swift+0x4655d4)
34 0x00007f943517a830 __libc_start_main /build/glibc-bfm8X4/glibc-2.23/csu/../csu/libc-start.c:325:0
35 0x0000000000462ea9 _start (/path/to/swift/bin/swift+0x462ea9)
```
2017-07-24 10:19:59 +02:00
practicalswift
fd560b7cb3
[swiftc (45 vs. 5582)] Add crasher in swift::TypeChecker::resolveIdentifierType
...
Add test case for crash triggered in `swift::TypeChecker::resolveIdentifierType`.
Current number of unresolved compiler crashers: 45 (5582 resolved)
/cc @slavapestov - just wanted to let you know that this crasher caused an assertion failure for the assertion `!isa<ProtocolDecl>(nominal) && "Cannot be a protocol"` added on 2017-04-23 by you in commit 07c189558 :-)
Assertion failure in [`lib/Sema/TypeCheckType.cpp (line 688)`](bd02831599/lib/Sema/TypeCheckType.cpp (L688) ):
```
Assertion `!isa<ProtocolDecl>(nominal) && "Cannot be a protocol"' failed.
When executing: swift::Type diagnoseUnknownType(swift::TypeChecker &, swift::DeclContext *, swift::Type, swift::SourceRange, swift::ComponentIdentTypeRepr *, TypeResolutionOptions, NameLookupOptions, swift::GenericTypeResolver *, UnsatisfiedDependency *)
```
Assertion context:
```c++
(nominal = nominalDC->getAsNominalTypeOrNominalTypeExtensionContext())) {
// Attempt to refer to 'Self' within a non-protocol nominal
// type. Fix this by replacing 'Self' with the nominal type name.
// Retrieve the nominal type and resolve it within this context.
assert(!isa<ProtocolDecl>(nominal) && "Cannot be a protocol");
auto type = resolver->mapTypeIntoContext(
dc->getInnermostTypeContext()->getSelfInterfaceType());
if (type->hasError())
return type;
```
Stack trace:
```
0 0x0000000003ae85e8 llvm::sys::PrintStackTrace(llvm::raw_ostream&) (/path/to/swift/bin/swift+0x3ae85e8)
1 0x0000000003ae8d26 SignalHandler(int) (/path/to/swift/bin/swift+0x3ae8d26)
2 0x00007fc4866f5390 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x11390)
3 0x00007fc484c1a428 gsignal /build/glibc-bfm8X4/glibc-2.23/signal/../sysdeps/unix/sysv/linux/raise.c:54:0
4 0x00007fc484c1c02a abort /build/glibc-bfm8X4/glibc-2.23/stdlib/abort.c:91:0
5 0x00007fc484c12bd7 __assert_fail_base /build/glibc-bfm8X4/glibc-2.23/assert/assert.c:92:0
6 0x00007fc484c12c82 (/lib/x86_64-linux-gnu/libc.so.6+0x2dc82)
7 0x000000000126141a diagnoseUnknownType(swift::TypeChecker&, swift::DeclContext*, swift::Type, swift::SourceRange, swift::ComponentIdentTypeRepr*, swift::OptionSet<swift::TypeResolutionFlags, unsigned int>, swift::OptionSet<swift::NameLookupFlags, unsigned int>, swift::GenericTypeResolver*, llvm::function_ref<bool (swift::TypeCheckRequest)>*) (/path/to/swift/bin/swift+0x126141a)
8 0x000000000125fbc7 resolveTopLevelIdentTypeComponent(swift::TypeChecker&, swift::DeclContext*, swift::ComponentIdentTypeRepr*, swift::OptionSet<swift::TypeResolutionFlags, unsigned int>, bool, swift::GenericTypeResolver*, llvm::function_ref<bool (swift::TypeCheckRequest)>*) (/path/to/swift/bin/swift+0x125fbc7)
9 0x000000000125a093 resolveIdentTypeComponent(swift::TypeChecker&, swift::DeclContext*, llvm::ArrayRef<swift::ComponentIdentTypeRepr*>, swift::OptionSet<swift::TypeResolutionFlags, unsigned int>, bool, swift::GenericTypeResolver*, llvm::function_ref<bool (swift::TypeCheckRequest)>*) (/path/to/swift/bin/swift+0x125a093)
10 0x0000000001259e6f resolveIdentTypeComponent(swift::TypeChecker&, swift::DeclContext*, llvm::ArrayRef<swift::ComponentIdentTypeRepr*>, swift::OptionSet<swift::TypeResolutionFlags, unsigned int>, bool, swift::GenericTypeResolver*, llvm::function_ref<bool (swift::TypeCheckRequest)>*) (/path/to/swift/bin/swift+0x1259e6f)
11 0x0000000001259a2a swift::TypeChecker::resolveIdentifierType(swift::DeclContext*, swift::IdentTypeRepr*, swift::OptionSet<swift::TypeResolutionFlags, unsigned int>, bool, swift::GenericTypeResolver*, llvm::function_ref<bool (swift::TypeCheckRequest)>*) (/path/to/swift/bin/swift+0x1259a2a)
12 0x000000000125a7e2 (anonymous namespace)::TypeResolver::resolveType(swift::TypeRepr*, swift::OptionSet<swift::TypeResolutionFlags, unsigned int>) (/path/to/swift/bin/swift+0x125a7e2)
13 0x000000000125a6ec swift::TypeChecker::resolveType(swift::TypeRepr*, swift::DeclContext*, swift::OptionSet<swift::TypeResolutionFlags, unsigned int>, swift::GenericTypeResolver*, llvm::function_ref<bool (swift::TypeCheckRequest)>*) (/path/to/swift/bin/swift+0x125a6ec)
14 0x00000000012590a0 swift::TypeChecker::validateType(swift::TypeLoc&, swift::DeclContext*, swift::OptionSet<swift::TypeResolutionFlags, unsigned int>, swift::GenericTypeResolver*, llvm::function_ref<bool (swift::TypeCheckRequest)>*) (/path/to/swift/bin/swift+0x12590a0)
15 0x000000000120a876 checkGenericFuncSignature(swift::TypeChecker&, swift::GenericSignatureBuilder*, swift::AbstractFunctionDecl*, swift::GenericTypeResolver&) (/path/to/swift/bin/swift+0x120a876)
16 0x000000000120a3d9 swift::TypeChecker::validateGenericFuncSignature(swift::AbstractFunctionDecl*) (/path/to/swift/bin/swift+0x120a3d9)
17 0x00000000011ef7e7 (anonymous namespace)::DeclChecker::visitFuncDecl(swift::FuncDecl*) (/path/to/swift/bin/swift+0x11ef7e7)
18 0x00000000011da9a4 (anonymous namespace)::DeclChecker::visit(swift::Decl*) (/path/to/swift/bin/swift+0x11da9a4)
19 0x00000000011dca91 swift::TypeChecker::validateDecl(swift::ValueDecl*) (/path/to/swift/bin/swift+0x11dca91)
20 0x00000000015e09cb swift::DeclContext::lookupQualified(swift::Type, swift::DeclName, swift::NLOptions, swift::LazyResolver*, llvm::SmallVectorImpl<swift::ValueDecl*>&) const (/path/to/swift/bin/swift+0x15e09cb)
21 0x00000000012100af swift::TypeChecker::lookupMember(swift::DeclContext*, swift::Type, swift::DeclName, swift::OptionSet<swift::NameLookupFlags, unsigned int>)::$_1::operator()() const (/path/to/swift/bin/swift+0x12100af)
22 0x000000000120ff37 swift::TypeChecker::lookupMember(swift::DeclContext*, swift::Type, swift::DeclName, swift::OptionSet<swift::NameLookupFlags, unsigned int>) (/path/to/swift/bin/swift+0x120ff37)
23 0x0000000001260740 diagnoseUnknownType(swift::TypeChecker&, swift::DeclContext*, swift::Type, swift::SourceRange, swift::ComponentIdentTypeRepr*, swift::OptionSet<swift::TypeResolutionFlags, unsigned int>, swift::OptionSet<swift::NameLookupFlags, unsigned int>, swift::GenericTypeResolver*, llvm::function_ref<bool (swift::TypeCheckRequest)>*) (/path/to/swift/bin/swift+0x1260740)
24 0x000000000125a3fd resolveIdentTypeComponent(swift::TypeChecker&, swift::DeclContext*, llvm::ArrayRef<swift::ComponentIdentTypeRepr*>, swift::OptionSet<swift::TypeResolutionFlags, unsigned int>, bool, swift::GenericTypeResolver*, llvm::function_ref<bool (swift::TypeCheckRequest)>*) (/path/to/swift/bin/swift+0x125a3fd)
25 0x0000000001259a2a swift::TypeChecker::resolveIdentifierType(swift::DeclContext*, swift::IdentTypeRepr*, swift::OptionSet<swift::TypeResolutionFlags, unsigned int>, bool, swift::GenericTypeResolver*, llvm::function_ref<bool (swift::TypeCheckRequest)>*) (/path/to/swift/bin/swift+0x1259a2a)
26 0x000000000125a7e2 (anonymous namespace)::TypeResolver::resolveType(swift::TypeRepr*, swift::OptionSet<swift::TypeResolutionFlags, unsigned int>) (/path/to/swift/bin/swift+0x125a7e2)
27 0x000000000125a6ec swift::TypeChecker::resolveType(swift::TypeRepr*, swift::DeclContext*, swift::OptionSet<swift::TypeResolutionFlags, unsigned int>, swift::GenericTypeResolver*, llvm::function_ref<bool (swift::TypeCheckRequest)>*) (/path/to/swift/bin/swift+0x125a6ec)
28 0x00000000012590a0 swift::TypeChecker::validateType(swift::TypeLoc&, swift::DeclContext*, swift::OptionSet<swift::TypeResolutionFlags, unsigned int>, swift::GenericTypeResolver*, llvm::function_ref<bool (swift::TypeCheckRequest)>*) (/path/to/swift/bin/swift+0x12590a0)
29 0x000000000131e971 swift::IterativeTypeChecker::processResolveInheritedClauseEntry(std::pair<llvm::PointerUnion<swift::TypeDecl*, swift::ExtensionDecl*>, unsigned int>, llvm::function_ref<bool (swift::TypeCheckRequest)>) (/path/to/swift/bin/swift+0x131e971)
30 0x00000000012e6856 swift::IterativeTypeChecker::satisfy(swift::TypeCheckRequest) (/path/to/swift/bin/swift+0x12e6856)
31 0x00000000011d2aa9 swift::TypeChecker::resolveInheritanceClause(llvm::PointerUnion<swift::TypeDecl*, swift::ExtensionDecl*>) (/path/to/swift/bin/swift+0x11d2aa9)
32 0x00000000015a65f4 swift::GenericSignatureBuilder::addInheritedRequirements(swift::TypeDecl*, llvm::PointerUnion<swift::GenericSignatureBuilder::PotentialArchetype*, swift::Type>, swift::GenericSignatureBuilder::RequirementSource const*, swift::ModuleDecl*) (/path/to/swift/bin/swift+0x15a65f4)
33 0x00000000015a6cf4 swift::GenericSignatureBuilder::addConformanceRequirement(swift::GenericSignatureBuilder::PotentialArchetype*, swift::ProtocolDecl*, swift::GenericSignatureBuilder::RequirementSource const*) (/path/to/swift/bin/swift+0x15a6cf4)
34 0x00000000015aa8f5 swift::GenericSignatureBuilder::addTypeRequirement(llvm::PointerUnion<swift::GenericSignatureBuilder::PotentialArchetype*, swift::Type>, llvm::PointerUnion<swift::GenericSignatureBuilder::PotentialArchetype*, swift::Type>, swift::GenericSignatureBuilder::FloatingRequirementSource, swift::GenericSignatureBuilder::UnresolvedHandlingKind) (/path/to/swift/bin/swift+0x15aa8f5)
35 0x00000000015a887b swift::GenericSignatureBuilder::addRequirement(swift::Requirement const&, swift::GenericSignatureBuilder::FloatingRequirementSource, swift::ModuleDecl*, swift::SubstitutionMap const*) (/path/to/swift/bin/swift+0x15a887b)
36 0x000000000157515c swift::ProtocolDecl::computeRequirementSignature() (/path/to/swift/bin/swift+0x157515c)
37 0x000000000120d908 swift::TypeChecker::validateGenericTypeSignature(swift::GenericTypeDecl*) (/path/to/swift/bin/swift+0x120d908)
38 0x00000000011dc802 swift::TypeChecker::validateDecl(swift::ValueDecl*) (/path/to/swift/bin/swift+0x11dc802)
39 0x00000000011ed0af (anonymous namespace)::DeclChecker::visitProtocolDecl(swift::ProtocolDecl*) (/path/to/swift/bin/swift+0x11ed0af)
40 0x00000000011da984 (anonymous namespace)::DeclChecker::visit(swift::Decl*) (/path/to/swift/bin/swift+0x11da984)
41 0x00000000011da883 swift::TypeChecker::typeCheckDecl(swift::Decl*, bool) (/path/to/swift/bin/swift+0x11da883)
42 0x0000000001268514 swift::performTypeChecking(swift::SourceFile&, swift::TopLevelContext&, swift::OptionSet<swift::TypeCheckingFlags, unsigned int>, unsigned int, unsigned int, unsigned int, unsigned int) (/path/to/swift/bin/swift+0x1268514)
43 0x0000000000fb5717 swift::CompilerInstance::performSema() (/path/to/swift/bin/swift+0xfb5717)
44 0x00000000004ad9f8 performCompile(swift::CompilerInstance&, swift::CompilerInvocation&, llvm::ArrayRef<char const*>, int&, swift::FrontendObserver*, swift::UnifiedStatsReporter*) (/path/to/swift/bin/swift+0x4ad9f8)
45 0x00000000004abfa1 swift::performFrontend(llvm::ArrayRef<char const*>, char const*, void*, swift::FrontendObserver*) (/path/to/swift/bin/swift+0x4abfa1)
46 0x00000000004655d4 main (/path/to/swift/bin/swift+0x4655d4)
47 0x00007fc484c05830 __libc_start_main /build/glibc-bfm8X4/glibc-2.23/csu/../csu/libc-start.c:325:0
48 0x0000000000462ea9 _start (/path/to/swift/bin/swift+0x462ea9)
```
2017-07-24 00:04:08 +02:00
practicalswift
83047d4c0c
[swiftc (44 vs. 5582)] Add crasher in swift::TupleTypeElt::TupleTypeElt
...
Add test case for crash triggered in `swift::TupleTypeElt::TupleTypeElt`.
Current number of unresolved compiler crashers: 44 (5582 resolved)
/cc Robert Widmann - just wanted to let you know that this crasher caused an assertion failure for the assertion `fl.isInOut() && "caller did not set flags correctly"` added on 2017-07-11 by you in commit 5d5d16393 :-)
Assertion failure in [`lib/AST/ASTContext.cpp (line 2748)`](e6d3e37519/lib/AST/ASTContext.cpp (L2748) ):
```
Assertion `fl.isInOut() && "caller did not set flags correctly"' failed.
When executing: swift::TupleTypeElt::TupleTypeElt(swift::Type, swift::Identifier, swift::ParameterTypeFlags)
```
Assertion context:
```c++
ParameterTypeFlags fl)
: Name(name), ElementType(ty), Flags(fl) {
if (fl.isInOut())
assert(!ty->is<InOutType>() && "caller did not pass a base type");
if (ty->is<InOutType>())
assert(fl.isInOut() && "caller did not set flags correctly");
}
Type TupleTypeElt::getType() const {
if (Flags.isInOut()) return InOutType::get(ElementType);
return ElementType;
```
Stack trace:
```
0 0x0000000003ae85e8 llvm::sys::PrintStackTrace(llvm::raw_ostream&) (/path/to/swift/bin/swift+0x3ae85e8)
1 0x0000000003ae8d26 SignalHandler(int) (/path/to/swift/bin/swift+0x3ae8d26)
2 0x00007f5ee0168390 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x11390)
3 0x00007f5ede68d428 gsignal /build/glibc-bfm8X4/glibc-2.23/signal/../sysdeps/unix/sysv/linux/raise.c:54:0
4 0x00007f5ede68f02a abort /build/glibc-bfm8X4/glibc-2.23/stdlib/abort.c:91:0
5 0x00007f5ede685bd7 __assert_fail_base /build/glibc-bfm8X4/glibc-2.23/assert/assert.c:92:0
6 0x00007f5ede685c82 (/lib/x86_64-linux-gnu/libc.so.6+0x2dc82)
7 0x00000000014d1488 swift::TupleTypeElt::TupleTypeElt(swift::Type, swift::Identifier, swift::ParameterTypeFlags) (/path/to/swift/bin/swift+0x14d1488)
8 0x00000000012a77b9 (anonymous namespace)::FailureDiagnosis::typeCheckArgumentChildIndependently(swift::Expr*, swift::Type, (anonymous namespace)::CalleeCandidateInfo const&, swift::OptionSet<TCCFlags, unsigned int>) (/path/to/swift/bin/swift+0x12a77b9)
9 0x00000000012b924a (anonymous namespace)::FailureDiagnosis::visitApplyExpr(swift::ApplyExpr*) (/path/to/swift/bin/swift+0x12b924a)
10 0x000000000129b372 swift::ASTVisitor<(anonymous namespace)::FailureDiagnosis, bool, void, void, void, void, void>::visit(swift::Expr*) (/path/to/swift/bin/swift+0x129b372)
11 0x0000000001294e92 swift::constraints::ConstraintSystem::diagnoseFailureForExpr(swift::Expr*) (/path/to/swift/bin/swift+0x1294e92)
12 0x000000000129ad79 swift::constraints::ConstraintSystem::salvage(llvm::SmallVectorImpl<swift::constraints::Solution>&, swift::Expr*) (/path/to/swift/bin/swift+0x129ad79)
13 0x00000000011bf708 swift::TypeChecker::solveForExpression(swift::Expr*&, swift::DeclContext*, swift::Type, swift::FreeTypeVariableBinding, swift::ExprTypeCheckListener*, swift::constraints::ConstraintSystem&, llvm::SmallVectorImpl<swift::constraints::Solution>&, swift::OptionSet<swift::TypeCheckExprFlags, unsigned int>) (/path/to/swift/bin/swift+0x11bf708)
14 0x00000000011c34c5 swift::TypeChecker::typeCheckExpression(swift::Expr*&, swift::DeclContext*, swift::TypeLoc, swift::ContextualTypePurpose, swift::OptionSet<swift::TypeCheckExprFlags, unsigned int>, swift::ExprTypeCheckListener*, swift::constraints::ConstraintSystem*) (/path/to/swift/bin/swift+0x11c34c5)
15 0x000000000124a7e0 swift::ASTVisitor<(anonymous namespace)::StmtChecker, void, swift::Stmt*, void, void, void, void>::visit(swift::Stmt*) (/path/to/swift/bin/swift+0x124a7e0)
16 0x0000000001249fe6 swift::TypeChecker::typeCheckTopLevelCodeDecl(swift::TopLevelCodeDecl*) (/path/to/swift/bin/swift+0x1249fe6)
17 0x0000000001268580 swift::performTypeChecking(swift::SourceFile&, swift::TopLevelContext&, swift::OptionSet<swift::TypeCheckingFlags, unsigned int>, unsigned int, unsigned int, unsigned int, unsigned int) (/path/to/swift/bin/swift+0x1268580)
18 0x0000000000fb5717 swift::CompilerInstance::performSema() (/path/to/swift/bin/swift+0xfb5717)
19 0x00000000004ad9f8 performCompile(swift::CompilerInstance&, swift::CompilerInvocation&, llvm::ArrayRef<char const*>, int&, swift::FrontendObserver*, swift::UnifiedStatsReporter*) (/path/to/swift/bin/swift+0x4ad9f8)
20 0x00000000004abfa1 swift::performFrontend(llvm::ArrayRef<char const*>, char const*, void*, swift::FrontendObserver*) (/path/to/swift/bin/swift+0x4abfa1)
21 0x00000000004655d4 main (/path/to/swift/bin/swift+0x4655d4)
22 0x00007f5ede678830 __libc_start_main /build/glibc-bfm8X4/glibc-2.23/csu/../csu/libc-start.c:325:0
23 0x0000000000462ea9 _start (/path/to/swift/bin/swift+0x462ea9)
```
2017-07-23 22:45:26 +02:00
practicalswift
af7735c402
[swiftc (43 vs. 5582)] Add crasher in swift::TypeChecker::validateExtension(...)
...
Add test case for crash triggered in `swift::TypeChecker::validateExtension(...)`.
Current number of unresolved compiler crashers: 43 (5582 resolved)
Stack trace:
```
0 0x0000000003ae85e8 llvm::sys::PrintStackTrace(llvm::raw_ostream&) (/path/to/swift/bin/swift+0x3ae85e8)
1 0x0000000003ae8d26 SignalHandler(int) (/path/to/swift/bin/swift+0x3ae8d26)
2 0x00007fec1bdbe390 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x11390)
3 0x00000000011feb95 formExtensionInterfaceType(swift::Type, swift::GenericParamList*) (/path/to/swift/bin/swift+0x11feb95)
4 0x00000000011feb19 formExtensionInterfaceType(swift::Type, swift::GenericParamList*) (/path/to/swift/bin/swift+0x11feb19)
5 0x00000000011e1682 checkExtensionGenericParams(swift::TypeChecker&, swift::ExtensionDecl*, swift::Type, swift::GenericParamList*) (/path/to/swift/bin/swift+0x11e1682)
6 0x00000000011d4a4f swift::TypeChecker::validateExtension(swift::ExtensionDecl*) (/path/to/swift/bin/swift+0x11d4a4f)
7 0x00000000011eb80b (anonymous namespace)::DeclChecker::visitExtensionDecl(swift::ExtensionDecl*) (/path/to/swift/bin/swift+0x11eb80b)
8 0x00000000011da9b4 (anonymous namespace)::DeclChecker::visit(swift::Decl*) (/path/to/swift/bin/swift+0x11da9b4)
9 0x00000000011da883 swift::TypeChecker::typeCheckDecl(swift::Decl*, bool) (/path/to/swift/bin/swift+0x11da883)
10 0x0000000001268514 swift::performTypeChecking(swift::SourceFile&, swift::TopLevelContext&, swift::OptionSet<swift::TypeCheckingFlags, unsigned int>, unsigned int, unsigned int, unsigned int, unsigned int) (/path/to/swift/bin/swift+0x1268514)
11 0x0000000000fb5717 swift::CompilerInstance::performSema() (/path/to/swift/bin/swift+0xfb5717)
12 0x00000000004ad9f8 performCompile(swift::CompilerInstance&, swift::CompilerInvocation&, llvm::ArrayRef<char const*>, int&, swift::FrontendObserver*, swift::UnifiedStatsReporter*) (/path/to/swift/bin/swift+0x4ad9f8)
13 0x00000000004abfa1 swift::performFrontend(llvm::ArrayRef<char const*>, char const*, void*, swift::FrontendObserver*) (/path/to/swift/bin/swift+0x4abfa1)
14 0x00000000004655d4 main (/path/to/swift/bin/swift+0x4655d4)
15 0x00007fec1a2ce830 __libc_start_main /build/glibc-bfm8X4/glibc-2.23/csu/../csu/libc-start.c:325:0
16 0x0000000000462ea9 _start (/path/to/swift/bin/swift+0x462ea9)
```
2017-07-23 21:10:11 +02:00
Slava Pestov
ee68ff4170
Sema: Use foundDC in resolveTypeInContext()
...
Now that we remember the DeclContext of lookup results when
doing unqualified lookup, we don't have to walk parent contexts
again to find this DeclContext.
This means that unqualified lookup is now the "single source of
truth" for what names are visible and why.
2017-07-18 22:11:29 -07:00
Robert Widmann
296492e4d1
Merge pull request #10941 from CodaFi/im-in-ur-member-base
...
Never Bind to ErrorType
2017-07-18 14:14:19 -07:00
Slava Pestov
a39b5eb53b
Sema: Move preCheckExpression() out of solveForExpression()
...
There are two "RAII cleaners" here:
- CleanupIllFormedExpressionRAII cleans up the Expr in its final state
- ExprCleanser walks the Expr before it is mutated and collects
sub-expressions, then cleans those up after
The subtle difference comes into play if we started to apply the
solution (which can fail, leaving the AST in an inconsistent state)
or if preCheckExpression() modified the AST.
The latter case was causing an ASan failure because we were not
cleaning up type variables in new nodes introduced by
preCheckExpression().
Fix this by moving the preCheckExpression() call out of
solveForExpression(), so that if solveForExpression() is called
with TypeCheckExprFlags::SkipApplyingSolution, we don't mutate the
AST at all.
Sigh...
Fixes <rdar://problem/33277279>.
2017-07-14 16:46:51 -07:00
Robert Widmann
6a47d02ca5
Don't add ErrorType-containing substitutions to the map
...
As a side-effect, resolves compiler crasher 28815
2017-07-13 13:22:23 -07:00
Doug Gregor
138b0361d2
[Type checker] Don't allow type variables to bind to dependent members.
...
When a type variable binds to an (unresolved) dependent member type,
it prevents us from inferring the type variable and adds no useful
information to the system. Refuse to bind type variables to dependent
member types.
Fixes rdar://problem/32697033.
2017-07-11 13:03:16 -07:00