以下代码片段使用分段错误使Swift 5.2编译器崩溃。
protocol Something {
func add(_ n: Int)
}
let function = Something.add这里的问题是什么?
下面是堆栈跟踪
1. Apple Swift version 5.2.2 (swiftlang-1103.0.32.6 clang-1103.0.32.51)
0 swift 0x000000011369f4ea PrintStackTraceSignalHandler(void*) + 42
1 swift 0x000000011369ecc0 SignalHandler(int) + 352
2 libsystem_platform.dylib 0x00007fff6db7d5fd _sigtramp + 29
3 libsystem_platform.dylib 0x00007ffee08b1f48 _sigtramp + 1926449512
4 swift 0x000000010f8885fa swift::Lowering::SILGenFunction::emitOpenExistentialExprImpl(swift::OpenExistentialExpr*, llvm::function_ref<void (swift::Expr*)>) + 666
5 swift 0x000000010f87979a swift::ASTVisitor<(anonymous namespace)::RValueEmitter, swift::Lowering::RValue, void, void, void, void, void, swift::Lowering::SGFContext>::visit(swift::Expr*, swift::Lowering::SGFContext) + 38938
6 swift 0x000000010f86fd93 swift::Lowering::SILGenFunction::emitExprInto(swift::Expr*, swift::Lowering::Initialization*, llvm::Optional<swift::SILLocation>) + 131
7 swift 0x000000010f863c18 swift::Lowering::SILGenFunction::emitPatternBinding(swift::PatternBindingDecl*, unsigned int) + 280
8 swift 0x000000010f80ec5d swift::ASTVisitor<swift::Lowering::SILGenFunction, void, void, void, void, void, void>::visit(swift::Decl*) + 109
9 swift 0x000000010f8105f1 swift::ASTVisitor<swift::Lowering::SILGenModule, void, void, void, void, void, void>::visit(swift::Decl*) + 1265
10 swift 0x000000010f80f31c swift::Lowering::SILGenModule::emitSourceFile(swift::SourceFile*) + 1356
11 swift 0x000000010f81139e swift::SILModule::constructSIL(swift::ModuleDecl*, swift::Lowering::TypeConverter&, swift::SILOptions&, swift::FileUnit*) + 1438
12 swift 0x000000010f3f1131 swift::performFrontend(llvm::ArrayRef<char const*>, char const*, void*, swift::FrontendObserver*) + 48065
13 swift 0x000000010f368f53 main + 1283
14 libdyld.dylib 0x00007fff6d984cc9 start + 1
15 libdyld.dylib 0x0000000000000045 start + 2456269693
error: Segmentation fault: 11发布于 2020-04-24 07:32:35
看起来这是Swift 5.2编译器中的已知错误。它应该在Swift 5.3中修复,并支持此模式。查看此处https://bugs.swift.org/browse/SR-75
https://stackoverflow.com/questions/61380263
复制相似问题