Hi,

I found a piece of code that could made the compiler crash, It’s can reproduce 
on Xcode 7.2(7C68) with Apple Swift version 2.1.1 (swiftlang-700.1.101.15 
clang-700.1.81) Target: x86_64-apple-darwin15.2.0

the code is simply like:

protocol FooType {
  func bar(b: Int)
}

extension FooType {
  func bar(a: Int, b: Int) {
  }
}

struct Foo: FooType {
  
}

Even the function’s default implementation signature in protocol extension is 
different with its definition in protocol, it can compiling successful with no 
error, but when compiling Foo, the compiler will crash, the stack is like:

0  swift                    0x0000000110dbcfbb 
llvm::sys::PrintStackTrace(__sFILE*) + 43
1  swift                    0x0000000110dbd6fb SignalHandler(int) + 379
2  libsystem_platform.dylib 0x00007fff996feeaa _sigtramp + 26
3  libsystem_platform.dylib 0x00007f9fa3aa12a8 _sigtramp + 171582488
4  swift                    0x000000010f083707 
swift::SILWitnessVisitor<(anonymous 
namespace)::SILGenConformance>::visitProtocolDecl(swift::ProtocolDecl*) + 999
5  swift                    0x000000010f080ee5 
swift::Lowering::SILGenModule::getWitnessTable(swift::ProtocolConformance*) + 
277
6  swift                    0x000000010f0d05b0 (anonymous 
namespace)::SILGenType::emitType() + 1264
7  swift                    0x000000010f0d12d1 
SILGenExtension::visitNominalTypeDecl(swift::NominalTypeDecl*) + 33
8  swift                    0x000000010f0d0d4b 
SILGenExtension::emitExtension(swift::ExtensionDecl*) + 59
9  swift                    0x000000010f0d06f5 
swift::Lowering::SILGenModule::visitExtensionDecl(swift::ExtensionDecl*) + 21
10 swift                    0x000000010f058bdb 
swift::Lowering::SILGenModule::emitSourceFile(swift::SourceFile*, unsigned int) 
+ 779
11 swift                    0x000000010f059790 
swift::SILModule::constructSIL(swift::ModuleDecl*, swift::SILOptions&, 
swift::FileUnit*, llvm::Optional<unsigned int>, bool, bool) + 928
12 swift                    0x000000010f059b3d 
swift::performSILGeneration(swift::FileUnit&, swift::SILOptions&, 
llvm::Optional<unsigned int>, bool) + 109
13 swift                    0x000000010eead992 
performCompile(swift::CompilerInstance&, swift::CompilerInvocation&, 
llvm::ArrayRef<char const*>, int&) + 11442
14 swift                    0x000000010eeaaad3 
frontend_main(llvm::ArrayRef<char const*>, char const*, void*) + 2691
15 swift                    0x000000010eea7154 main + 2324
16 libdyld.dylib            0x00007fff8c66c5ad start + 1

Please check.

thank you!

-- 
Jasl
Sent with Airmail
_______________________________________________
swift-dev mailing list
swift-dev@swift.org
https://lists.swift.org/mailman/listinfo/swift-dev

Reply via email to