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