Environment
MacOS: 10.15.7
Swift:
Apple Swift version 5.3.2 (swiftlang-1200.0.45 clang-1200.0.32.28)
Target: x86_64-apple-darwin19.6.0
Tried in iOS simulator and with running swiftc from command line - same result
Additional Detail from JIRA
| | |
|------------------|-----------------|
|Votes | 0 |
|Component/s | Compiler |
|Labels | Bug |
|Assignee | None |
|Priority | Medium |
md5: 2ddf88c49d37dddb33907ce1c11306d0
Issue Description:
The problem
Swift compiler cannot build the following piece of code:
protocol Hiddenable {}
func getHidden() -> some Hiddenable {
class Hidden: Hiddenable {}
return Hidden()
}
let hidden = getHidden()
But is builds without problem, if func getHidden() -> some Hiddenable is replaced with func getHidden() -> Hiddenable
Stacktrace
fatal error: unsupported
Stack dump:
0. Program arguments: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift -frontend -c -primary-file Contents.swift -target x86_64-apple-darwin19.6.0 -enable-objc-interop -stack-check -sdk /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.1.sdk -color-diagnostics -target-sdk-version 11.1 -module-name Contents -o Contents.o
1. Apple Swift version 5.3.2 (swiftlang-1200.0.45 clang-1200.0.32.28)
2. While evaluating request IRGenSourceFileRequest(IR Generation for file "Contents.swift")
3. While emitting IR for source file Contents.swift
4. While emitting class metadata for 'Hidden' (at Contents.swift:4:5)
5. While emitting metadata for 'Hidden' (at Contents.swift:4:5)
6. While emitting ObjC metadata for 'Hidden' (at Contents.swift:4:5)
0 swift 0x00000001135fc615 llvm::sys::PrintStackTrace(llvm::raw_ostream&) + 37
1 swift 0x00000001135fb615 llvm::sys::RunSignalHandlers() + 85
2 swift 0x00000001135fcbcf SignalHandler(int) + 111
3 libsystem_platform.dylib 0x00007fff72f495fd _sigtramp + 29
4 libsystem_platform.dylib 0x00007ffee0b3ad58 _sigtramp + 18446744071255824248
5 libsystem_c.dylib 0x00007fff72e1f808 abort + 120
6 swift 0x0000000110566b04 unreachable(char const*) + 36
7 swift 0x0000000110566ac0 (anonymous namespace)::Remangler::mangleOpaqueReturnTypeOf(swift::Demangle::Node*) + 0
8 swift 0x0000000110565654 (anonymous namespace)::Remangler::mangle(swift::Demangle::Node*) + 83492
9 swift 0x000000011056711b (anonymous namespace)::Remangler::mangleEntityContext(swift::Demangle::Node*, (anonymous namespace)::Remangler::EntityContext&) + 779
10 swift 0x000000011056a80c (anonymous namespace)::Remangler::mangleNamedEntity(swift::Demangle::Node*, char, llvm::StringRef, (anonymous namespace)::Remangler::EntityContext&, llvm::StringRef) + 380
11 swift 0x0000000110569672 (anonymous namespace)::Remangler::mangleAnyNominalType(swift::Demangle::Node*, (anonymous namespace)::Remangler::EntityContext&) + 1106
12 swift 0x0000000110551099 (anonymous namespace)::Remangler::mangle(swift::Demangle::Node*) + 105
13 swift 0x0000000110556622 (anonymous namespace)::Remangler::mangle(swift::Demangle::Node*) + 22002
14 swift 0x0000000110550f07 swift::Demangle::mangleNodeOld(swift::Demangle::Node*) + 695
15 swift 0x00000001102ff795 swift::Mangle::ASTMangler::mangleObjCRuntimeName(swift::NominalTypeDecl const*) + 1525
16 swift 0x000000011038ecaa mangleObjCRuntimeName(swift::NominalTypeDecl const*, llvm::SmallVectorImpl<char>&) + 378
17 swift 0x0000000110382a66 swift::ClassDecl::getObjCRuntimeName(llvm::SmallVectorImpl<char>&) const + 246
18 swift 0x000000010f3d4157 (anonymous namespace)::ClassDataBuilder::emitRODataFields(swift::irgen::ConstantStructBuilder&, swift::irgen::ForMetaClass_t, swift::irgen::HasUpdateCallback_t) + 999
19 swift 0x000000010f3d2dcf swift::irgen::emitClassPrivateData(swift::irgen::IRGenModule&, swift::ClassDecl*) + 1135
20 swift 0x000000010f4a22f5 swift::irgen::emitClassMetadata(swift::irgen::IRGenModule&, swift::ClassDecl*, swift::irgen::ClassLayout const&, swift::irgen::ClassLayout const&) + 8853
21 swift 0x000000010f3d1e9c swift::irgen::IRGenModule::emitClassDecl(swift::ClassDecl*) + 252
22 swift 0x000000010f3e163b swift::irgen::IRGenModule::emitSourceFile(swift::SourceFile&) + 267
23 swift 0x000000010f525c4f performIRGeneration(swift::IRGenOptions const&, swift::ModuleDecl*, std::__1::unique_ptr<swift::SILModule, std::__1::default_delete<swift::SILModule> >, llvm::StringRef, swift::PrimarySpecificPaths const&, llvm::StringRef, swift::SourceFile*, llvm::GlobalVariable**, llvm::StringSet<llvm::MallocAllocator>*) + 1711
24 swift 0x000000010f54e781 swift::SimpleRequest<swift::IRGenSourceFileRequest, swift::GeneratedModule (swift::IRGenDescriptor), (swift::RequestFlags)9>::evaluateRequest(swift::IRGenSourceFileRequest const&, swift::Evaluator&) + 97
25 swift 0x000000010f52a04c llvm::Expected<swift::IRGenSourceFileRequest::OutputType> swift::Evaluator::getResultUncached<swift::IRGenSourceFileRequest>(swift::IRGenSourceFileRequest const&) + 940
26 swift 0x000000010f52629d swift::performIRGeneration(swift::IRGenOptions const&, swift::SourceFile&, std::__1::unique_ptr<swift::SILModule, std::__1::default_delete<swift::SILModule> >, llvm::StringRef, swift::PrimarySpecificPaths const&, llvm::StringRef, llvm::GlobalVariable**, llvm::StringSet<llvm::MallocAllocator>*) + 269
27 swift 0x000000010f1701ba performCompileStepsPostSILGen(swift::CompilerInstance&, swift::CompilerInvocation const&, std::__1::unique_ptr<swift::SILModule, std::__1::default_delete<swift::SILModule> >, llvm::PointerUnion<swift::ModuleDecl*, swift::SourceFile*>, swift::PrimarySpecificPaths const&, int&, swift::FrontendObserver*) + 3002
28 swift 0x000000010f15fd97 swift::performFrontend(llvm::ArrayRef<char const*>, char const*, void*, swift::FrontendObserver*) + 20695
29 swift 0x000000010f0e0c27 main + 1255
30 libdyld.dylib 0x00007fff72d50cc9 start + 1
[1] 64333 abort swiftc -c Contents.swift
Environment
MacOS: 10.15.7 Swift: Apple Swift version 5.3.2 (swiftlang-1200.0.45 clang-1200.0.32.28) Target: x86_64-apple-darwin19.6.0 Tried in iOS simulator and with running swiftc from command line - same resultAdditional Detail from JIRA
| | | |------------------|-----------------| |Votes | 0 | |Component/s | Compiler | |Labels | Bug | |Assignee | None | |Priority | Medium | md5: 2ddf88c49d37dddb33907ce1c11306d0Issue Description:
The problem
Swift compiler cannot build the following piece of code:
But is builds without problem, if func getHidden() -> some Hiddenable is replaced with func getHidden() -> Hiddenable
Stacktrace