Description
Description
For context I'm attempting to modify SwiftSyntax's SyntaxVisitor to support typed throws by annotating each visitor method with a throws (E)
effect specifier, where E: Error
. I'm currently using Swift 6.1, so I'm using the @_specialize
annotation rather than @specialized
. If I annotate private methods (visitChildren
, dispatchVisit
, visit*Impl
, etc), I encounter a crash in the EagerSpecializer.
Reproduction
open class ThrowingSyntaxVisitor<E: Error> {
// intro of visitor class...
@_specialize(where E == Never)
private func visitChildren(_ node: Syntax) throws (E) {
for case let childDataRef? in node.layoutBuffer where viewMode.shouldTraverse(node: childDataRef.pointee.raw) {
try dispatchVisit(Syntax(arena: node.arena, dataRef: childDataRef))
}
}
}
Stack dump
Please submit a bug report (https://swift.org/contributing/#reporting-bugs) and include the crash backtrace.
Stack dump:
0. Program arguments: /Applications/Xcode_16.4.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift-frontend -frontend -c /Users/ethansmith/swift-syntax/Sources/SwiftSyntax/AbsolutePosition.swift /Users/ethansmith/swift-syntax/Sources/SwiftSyntax/AbsoluteSyntaxInfo.swift /Users/ethansmith/swift-syntax/Sources/SwiftSyntax/ArenaAllocatedBuffer.swift /Users/ethansmith/swift-syntax/Sources/SwiftSyntax/Assert.swift /Users/ethansmith/swift-syntax/Sources/SwiftSyntax/BumpPtrAllocator.swift /Users/ethansmith/swift-syntax/Sources/SwiftSyntax/CommonAncestor.swift /Users/ethansmith/swift-syntax/Sources/SwiftSyntax/Convenience.swift /Users/ethansmith/swift-syntax/Sources/SwiftSyntax/CustomTraits.swift /Users/ethansmith/swift-syntax/Sources/SwiftSyntax/EditorPlaceholder.swift /Users/ethansmith/swift-syntax/Sources/SwiftSyntax/Identifier.swift /Users/ethansmith/swift-syntax/Sources/SwiftSyntax/MemoryLayout.swift /Users/ethansmith/swift-syntax/Sources/SwiftSyntax/MissingNodeInitializers.swift /Users/ethansmith/swift-syntax/Sources/SwiftSyntax/Raw/RawSyntax.swift /Users/ethansmith/swift-syntax/Sources/SwiftSyntax/Raw/RawSyntaxArena.swift /Users/ethansmith/swift-syntax/Sources/SwiftSyntax/Raw/RawSyntaxLayoutView.swift /Users/ethansmith/swift-syntax/Sources/SwiftSyntax/Raw/RawSyntaxNodeProtocol.swift /Users/ethansmith/swift-syntax/Sources/SwiftSyntax/Raw/RawSyntaxTokenView.swift /Users/ethansmith/swift-syntax/Sources/SwiftSyntax/SourceEdit.swift /Users/ethansmith/swift-syntax/Sources/SwiftSyntax/SourceLength.swift /Users/ethansmith/swift-syntax/Sources/SwiftSyntax/SourceLocation.swift /Users/ethansmith/swift-syntax/Sources/SwiftSyntax/SourcePresence.swift /Users/ethansmith/swift-syntax/Sources/SwiftSyntax/SwiftSyntaxCompatibility.swift /Users/ethansmith/swift-syntax/Sources/SwiftSyntax/Syntax.swift /Users/ethansmith/swift-syntax/Sources/SwiftSyntax/SyntaxChildren.swift /Users/ethansmith/swift-syntax/Sources/SwiftSyntax/SyntaxCollection.swift /Users/ethansmith/swift-syntax/Sources/SwiftSyntax/SyntaxHashable.swift /Users/ethansmith/swift-syntax/Sources/SwiftSyntax/SyntaxIdentifier.swift /Users/ethansmith/swift-syntax/Sources/SwiftSyntax/SyntaxNodeStructure.swift /Users/ethansmith/swift-syntax/Sources/SwiftSyntax/SyntaxProtocol.swift /Users/ethansmith/swift-syntax/Sources/SwiftSyntax/SyntaxText.swift /Users/ethansmith/swift-syntax/Sources/SwiftSyntax/SyntaxTreeViewMode.swift /Users/ethansmith/swift-syntax/Sources/SwiftSyntax/TokenDiagnostic.swift /Users/ethansmith/swift-syntax/Sources/SwiftSyntax/TokenSequence.swift /Users/ethansmith/swift-syntax/Sources/SwiftSyntax/TokenSyntax.swift /Users/ethansmith/swift-syntax/Sources/SwiftSyntax/Trivia.swift /Users/ethansmith/swift-syntax/Sources/SwiftSyntax/Utils.swift /Users/ethansmith/swift-syntax/Sources/SwiftSyntax/generated/ChildNameForKeyPath.swift /Users/ethansmith/swift-syntax/Sources/SwiftSyntax/generated/Keyword.swift /Users/ethansmith/swift-syntax/Sources/SwiftSyntax/generated/RenamedChildrenCompatibility.swift /Users/ethansmith/swift-syntax/Sources/SwiftSyntax/generated/RenamedNodesCompatibility.swift /Users/ethansmith/swift-syntax/Sources/SwiftSyntax/generated/SyntaxAnyVisitor.swift /Users/ethansmith/swift-syntax/Sources/SwiftSyntax/generated/SyntaxBaseNodes.swift /Users/ethansmith/swift-syntax/Sources/SwiftSyntax/generated/SyntaxCollections.swift /Users/ethansmith/swift-syntax/Sources/SwiftSyntax/generated/SyntaxEnum.swift /Users/ethansmith/swift-syntax/Sources/SwiftSyntax/generated/SyntaxKind.swift /Users/ethansmith/swift-syntax/Sources/SwiftSyntax/generated/SyntaxRewriter.swift /Users/ethansmith/swift-syntax/Sources/SwiftSyntax/generated/SyntaxTraits.swift /Users/ethansmith/swift-syntax/Sources/SwiftSyntax/generated/SyntaxVisitor.swift /Users/ethansmith/swift-syntax/Sources/SwiftSyntax/generated/ThrowingSpecSyntaxVisitor.swift /Users/ethansmith/swift-syntax/Sources/SwiftSyntax/generated/TokenKind.swift /Users/ethansmith/swift-syntax/Sources/SwiftSyntax/generated/Tokens.swift /Users/ethansmith/swift-syntax/Sources/SwiftSyntax/generated/TriviaPieces.swift /Users/ethansmith/swift-syntax/Sources/SwiftSyntax/generated/raw/RawSyntaxNodesAB.swift /Users/ethansmith/swift-syntax/Sources/SwiftSyntax/generated/raw/RawSyntaxNodesC.swift /Users/ethansmith/swift-syntax/Sources/SwiftSyntax/generated/raw/RawSyntaxNodesD.swift /Users/ethansmith/swift-syntax/Sources/SwiftSyntax/generated/raw/RawSyntaxNodesEF.swift /Users/ethansmith/swift-syntax/Sources/SwiftSyntax/generated/raw/RawSyntaxNodesGHI.swift /Users/ethansmith/swift-syntax/Sources/SwiftSyntax/generated/raw/RawSyntaxNodesJKLMN.swift /Users/ethansmith/swift-syntax/Sources/SwiftSyntax/generated/raw/RawSyntaxNodesOP.swift /Users/ethansmith/swift-syntax/Sources/SwiftSyntax/generated/raw/RawSyntaxNodesQRS.swift /Users/ethansmith/swift-syntax/Sources/SwiftSyntax/generated/raw/RawSyntaxNodesTUVWXYZ.swift /Users/ethansmith/swift-syntax/Sources/SwiftSyntax/generated/raw/RawSyntaxValidation.swift /Users/ethansmith/swift-syntax/Sources/SwiftSyntax/generated/syntaxNodes/SyntaxNodesAB.swift /Users/ethansmith/swift-syntax/Sources/SwiftSyntax/generated/syntaxNodes/SyntaxNodesC.swift /Users/ethansmith/swift-syntax/Sources/SwiftSyntax/generated/syntaxNodes/SyntaxNodesD.swift /Users/ethansmith/swift-syntax/Sources/SwiftSyntax/generated/syntaxNodes/SyntaxNodesEF.swift /Users/ethansmith/swift-syntax/Sources/SwiftSyntax/generated/syntaxNodes/SyntaxNodesGHI.swift /Users/ethansmith/swift-syntax/Sources/SwiftSyntax/generated/syntaxNodes/SyntaxNodesJKLMN.swift /Users/ethansmith/swift-syntax/Sources/SwiftSyntax/generated/syntaxNodes/SyntaxNodesOP.swift /Users/ethansmith/swift-syntax/Sources/SwiftSyntax/generated/syntaxNodes/SyntaxNodesQRS.swift /Users/ethansmith/swift-syntax/Sources/SwiftSyntax/generated/syntaxNodes/SyntaxNodesTUVWXYZ.swift -supplementary-output-file-map /var/folders/1w/_t71y0091x5994q_qjw6nmsm00g9ps/T/TemporaryDirectory.uH1RrU/supplementaryOutputs-1 -target arm64-apple-macosx10.15 -Xllvm -aarch64-use-tbi -enable-objc-interop -stack-check -sdk /Applications/Xcode_16.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.5.sdk -I /Users/ethansmith/swift-syntax/.build/arm64-apple-macosx/release/Modules -I /Applications/Xcode_16.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/usr/lib -F /Applications/Xcode_16.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/Library/Frameworks -F /Applications/Xcode_16.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/Library/PrivateFrameworks -color-diagnostics -enable-testing -g -debug-info-format=dwarf -dwarf-version=4 -module-cache-path /Users/ethansmith/swift-syntax/.build/arm64-apple-macosx/release/ModuleCache -swift-version 6 -O -D SWIFT_PACKAGE -new-driver-path /Applications/Xcode_16.4.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift-driver -empty-abi-descriptor -resource-dir /Applications/Xcode_16.4.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift -file-compilation-dir /Users/ethansmith/swift-syntax -Xcc -fmodule-map-file=/Users/ethansmith/swift-syntax/Sources/_SwiftSyntaxCShims/include/module.modulemap -Xcc -I -Xcc /Users/ethansmith/swift-syntax/Sources/_SwiftSyntaxCShims/include -Xcc -isysroot -Xcc /Applications/Xcode_16.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.5.sdk -Xcc -F -Xcc /Applications/Xcode_16.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/Library/Frameworks -Xcc -F -Xcc /Applications/Xcode_16.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/Library/PrivateFrameworks -Xcc -fPIC -Xcc -g -module-name SwiftSyntax -package-name swift_syntax -disable-clang-spi -target-sdk-version 15.5 -target-sdk-name macosx15.5 -external-plugin-path /Applications/Xcode_16.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/usr/lib/swift/host/plugins#/Applications/Xcode_16.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/usr/bin/swift-plugin-server -external-plugin-path /Applications/Xcode_16.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/usr/local/lib/swift/host/plugins#/Applications/Xcode_16.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/usr/bin/swift-plugin-server -in-process-plugin-server-path /Applications/Xcode_16.4.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/host/libSwiftInProcPluginServer.dylib -plugin-path /Applications/Xcode_16.4.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/host/plugins -plugin-path /Applications/Xcode_16.4.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/local/lib/swift/host/plugins -enable-default-cmo -parse-as-library -num-threads 10 -o /Users/ethansmith/swift-syntax/.build/arm64-apple-macosx/release/SwiftSyntax.build/AbsolutePosition.swift.o -o /Users/ethansmith/swift-syntax/.build/arm64-apple-macosx/release/SwiftSyntax.build/AbsoluteSyntaxInfo.swift.o -o /Users/ethansmith/swift-syntax/.build/arm64-apple-macosx/release/SwiftSyntax.build/ArenaAllocatedBuffer.swift.o -o /Users/ethansmith/swift-syntax/.build/arm64-apple-macosx/release/SwiftSyntax.build/Assert.swift.o -o /Users/ethansmith/swift-syntax/.build/arm64-apple-macosx/release/SwiftSyntax.build/BumpPtrAllocator.swift.o -o /Users/ethansmith/swift-syntax/.build/arm64-apple-macosx/release/SwiftSyntax.build/CommonAncestor.swift.o -o /Users/ethansmith/swift-syntax/.build/arm64-apple-macosx/release/SwiftSyntax.build/Convenience.swift.o -o /Users/ethansmith/swift-syntax/.build/arm64-apple-macosx/release/SwiftSyntax.build/CustomTraits.swift.o -o /Users/ethansmith/swift-syntax/.build/arm64-apple-macosx/release/SwiftSyntax.build/EditorPlaceholder.swift.o -o /Users/ethansmith/swift-syntax/.build/arm64-apple-macosx/release/SwiftSyntax.build/Identifier.swift.o -o /Users/ethansmith/swift-syntax/.build/arm64-apple-macosx/release/SwiftSyntax.build/MemoryLayout.swift.o -o /Users/ethansmith/swift-syntax/.build/arm64-apple-macosx/release/SwiftSyntax.build/MissingNodeInitializers.swift.o -o /Users/ethansmith/swift-syntax/.build/arm64-apple-macosx/release/SwiftSyntax.build/RawSyntax.swift.o -o /Users/ethansmith/swift-syntax/.build/arm64-apple-macosx/release/SwiftSyntax.build/RawSyntaxArena.swift.o -o /Users/ethansmith/swift-syntax/.build/arm64-apple-macosx/release/SwiftSyntax.build/RawSyntaxLayoutView.swift.o -o /Users/ethansmith/swift-syntax/.build/arm64-apple-macosx/release/SwiftSyntax.build/RawSyntaxNodeProtocol.swift.o -o /Users/ethansmith/swift-syntax/.build/arm64-apple-macosx/release/SwiftSyntax.build/RawSyntaxTokenView.swift.o -o /Users/ethansmith/swift-syntax/.build/arm64-apple-macosx/release/SwiftSyntax.build/SourceEdit.swift.o -o /Users/ethansmith/swift-syntax/.build/arm64-apple-macosx/release/SwiftSyntax.build/SourceLength.swift.o -o /Users/ethansmith/swift-syntax/.build/arm64-apple-macosx/release/SwiftSyntax.build/SourceLocation.swift.o -o /Users/ethansmith/swift-syntax/.build/arm64-apple-macosx/release/SwiftSyntax.build/SourcePresence.swift.o -o /Users/ethansmith/swift-syntax/.build/arm64-apple-macosx/release/SwiftSyntax.build/SwiftSyntaxCompatibility.swift.o -o /Users/ethansmith/swift-syntax/.build/arm64-apple-macosx/release/SwiftSyntax.build/Syntax.swift.o -o /Users/ethansmith/swift-syntax/.build/arm64-apple-macosx/release/SwiftSyntax.build/SyntaxChildren.swift.o -o /Users/ethansmith/swift-syntax/.build/arm64-apple-macosx/release/SwiftSyntax.build/SyntaxCollection.swift.o -o /Users/ethansmith/swift-syntax/.build/arm64-apple-macosx/release/SwiftSyntax.build/SyntaxHashable.swift.o -o /Users/ethansmith/swift-syntax/.build/arm64-apple-macosx/release/SwiftSyntax.build/SyntaxIdentifier.swift.o -o /Users/ethansmith/swift-syntax/.build/arm64-apple-macosx/release/SwiftSyntax.build/SyntaxNodeStructure.swift.o -o /Users/ethansmith/swift-syntax/.build/arm64-apple-macosx/release/SwiftSyntax.build/SyntaxProtocol.swift.o -o /Users/ethansmith/swift-syntax/.build/arm64-apple-macosx/release/SwiftSyntax.build/SyntaxText.swift.o -o /Users/ethansmith/swift-syntax/.build/arm64-apple-macosx/release/SwiftSyntax.build/SyntaxTreeViewMode.swift.o -o /Users/ethansmith/swift-syntax/.build/arm64-apple-macosx/release/SwiftSyntax.build/TokenDiagnostic.swift.o -o /Users/ethansmith/swift-syntax/.build/arm64-apple-macosx/release/SwiftSyntax.build/TokenSequence.swift.o -o /Users/ethansmith/swift-syntax/.build/arm64-apple-macosx/release/SwiftSyntax.build/TokenSyntax.swift.o -o /Users/ethansmith/swift-syntax/.build/arm64-apple-macosx/release/SwiftSyntax.build/Trivia.swift.o -o /Users/ethansmith/swift-syntax/.build/arm64-apple-macosx/release/SwiftSyntax.build/Utils.swift.o -o /Users/ethansmith/swift-syntax/.build/arm64-apple-macosx/release/SwiftSyntax.build/ChildNameForKeyPath.swift.o -o /Users/ethansmith/swift-syntax/.build/arm64-apple-macosx/release/SwiftSyntax.build/Keyword.swift.o -o /Users/ethansmith/swift-syntax/.build/arm64-apple-macosx/release/SwiftSyntax.build/RenamedChildrenCompatibility.swift.o -o /Users/ethansmith/swift-syntax/.build/arm64-apple-macosx/release/SwiftSyntax.build/RenamedNodesCompatibility.swift.o -o /Users/ethansmith/swift-syntax/.build/arm64-apple-macosx/release/SwiftSyntax.build/SyntaxAnyVisitor.swift.o -o /Users/ethansmith/swift-syntax/.build/arm64-apple-macosx/release/SwiftSyntax.build/SyntaxBaseNodes.swift.o -o /Users/ethansmith/swift-syntax/.build/arm64-apple-macosx/release/SwiftSyntax.build/SyntaxCollections.swift.o -o /Users/ethansmith/swift-syntax/.build/arm64-apple-macosx/release/SwiftSyntax.build/SyntaxEnum.swift.o -o /Users/ethansmith/swift-syntax/.build/arm64-apple-macosx/release/SwiftSyntax.build/SyntaxKind.swift.o -o /Users/ethansmith/swift-syntax/.build/arm64-apple-macosx/release/SwiftSyntax.build/SyntaxRewriter.swift.o -o /Users/ethansmith/swift-syntax/.build/arm64-apple-macosx/release/SwiftSyntax.build/SyntaxTraits.swift.o -o /Users/ethansmith/swift-syntax/.build/arm64-apple-macosx/release/SwiftSyntax.build/SyntaxVisitor.swift.o -o /Users/ethansmith/swift-syntax/.build/arm64-apple-macosx/release/SwiftSyntax.build/ThrowingSpecSyntaxVisitor.swift.o -o /Users/ethansmith/swift-syntax/.build/arm64-apple-macosx/release/SwiftSyntax.build/TokenKind.swift.o -o /Users/ethansmith/swift-syntax/.build/arm64-apple-macosx/release/SwiftSyntax.build/Tokens.swift.o -o /Users/ethansmith/swift-syntax/.build/arm64-apple-macosx/release/SwiftSyntax.build/TriviaPieces.swift.o -o /Users/ethansmith/swift-syntax/.build/arm64-apple-macosx/release/SwiftSyntax.build/RawSyntaxNodesAB.swift.o -o /Users/ethansmith/swift-syntax/.build/arm64-apple-macosx/release/SwiftSyntax.build/RawSyntaxNodesC.swift.o -o /Users/ethansmith/swift-syntax/.build/arm64-apple-macosx/release/SwiftSyntax.build/RawSyntaxNodesD.swift.o -o /Users/ethansmith/swift-syntax/.build/arm64-apple-macosx/release/SwiftSyntax.build/RawSyntaxNodesEF.swift.o -o /Users/ethansmith/swift-syntax/.build/arm64-apple-macosx/release/SwiftSyntax.build/RawSyntaxNodesGHI.swift.o -o /Users/ethansmith/swift-syntax/.build/arm64-apple-macosx/release/SwiftSyntax.build/RawSyntaxNodesJKLMN.swift.o -o /Users/ethansmith/swift-syntax/.build/arm64-apple-macosx/release/SwiftSyntax.build/RawSyntaxNodesOP.swift.o -o /Users/ethansmith/swift-syntax/.build/arm64-apple-macosx/release/SwiftSyntax.build/RawSyntaxNodesQRS.swift.o -o /Users/ethansmith/swift-syntax/.build/arm64-apple-macosx/release/SwiftSyntax.build/RawSyntaxNodesTUVWXYZ.swift.o -o /Users/ethansmith/swift-syntax/.build/arm64-apple-macosx/release/SwiftSyntax.build/RawSyntaxValidation.swift.o -o /Users/ethansmith/swift-syntax/.build/arm64-apple-macosx/release/SwiftSyntax.build/SyntaxNodesAB.swift.o -o /Users/ethansmith/swift-syntax/.build/arm64-apple-macosx/release/SwiftSyntax.build/SyntaxNodesC.swift.o -o /Users/ethansmith/swift-syntax/.build/arm64-apple-macosx/release/SwiftSyntax.build/SyntaxNodesD.swift.o -o /Users/ethansmith/swift-syntax/.build/arm64-apple-macosx/release/SwiftSyntax.build/SyntaxNodesEF.swift.o -o /Users/ethansmith/swift-syntax/.build/arm64-apple-macosx/release/SwiftSyntax.build/SyntaxNodesGHI.swift.o -o /Users/ethansmith/swift-syntax/.build/arm64-apple-macosx/release/SwiftSyntax.build/SyntaxNodesJKLMN.swift.o -o /Users/ethansmith/swift-syntax/.build/arm64-apple-macosx/release/SwiftSyntax.build/SyntaxNodesOP.swift.o -o /Users/ethansmith/swift-syntax/.build/arm64-apple-macosx/release/SwiftSyntax.build/SyntaxNodesQRS.swift.o -o /Users/ethansmith/swift-syntax/.build/arm64-apple-macosx/release/SwiftSyntax.build/SyntaxNodesTUVWXYZ.swift.o
1. Apple Swift version 6.1.2 (swiftlang-6.1.2.1.2 clang-1700.0.13.5)
2. Compiling with the current language version
3. While evaluating request ExecuteSILPipelineRequest(Run pipelines { PrepareOptimizationPasses, EarlyModulePasses, HighLevel,Function+EarlyLoopOpt, HighLevel,Module+StackPromote, MidLevel,Function, ClosureSpecialize, LowLevel,Function, LateLoopOpt, SIL Debug Info Generator } on SIL for SwiftSyntax)
4. While running pass #3532701 SILFunctionTransform "EagerSpecializer" on SILFunction "@$s11SwiftSyntax08ThrowingB7VisitorC13visitChildren33_F966D2E530B0A562820FA4876E472C28LLyyAA0B0VxYKF".
for 'visitChildren(_:)' (at /Users/ethansmith/swift-syntax/Sources/SwiftSyntax/generated/SyntaxVisitor.swift:7971:11)
Stack dump without symbol names (ensure you have llvm-symbolizer in your PATH or set the environment var `LLVM_SYMBOLIZER_PATH` to point to it):
0 swift-frontend 0x000000010b2bee24 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) + 56
1 swift-frontend 0x000000010b2bcc5c llvm::sys::RunSignalHandlers() + 112
2 swift-frontend 0x000000010b2bf460 SignalHandler(int) + 360
3 libsystem_platform.dylib 0x0000000181fbc624 _sigtramp + 56
4 swift-frontend 0x0000000106068c78 addReturnValueImpl(swift::SILBasicBlock*, swift::SILBasicBlock*, swift::SILValue) + 132
5 swift-frontend 0x000000010606697c (anonymous namespace)::EagerSpecializerTransform::run() + 7948
6 swift-frontend 0x0000000105fafa9c swift::SILPassManager::runFunctionPasses(unsigned int, unsigned int) + 3336
7 swift-frontend 0x0000000105fa906c swift::SILPassManager::executePassPipelinePlan(swift::SILPassPipelinePlan const&) + 208
8 swift-frontend 0x0000000105fe6edc swift::SimpleRequest<swift::ExecuteSILPipelineRequest, std::__1::tuple<> (swift::SILPipelineExecutionDescriptor), (swift::RequestFlags)1>::evaluateRequest(swift::ExecuteSILPipelineRequest const&, swift::Evaluator&) + 52
9 swift-frontend 0x0000000105fca96c swift::ExecuteSILPipelineRequest::OutputType swift::Evaluator::getResultUncached<swift::ExecuteSILPipelineRequest, swift::ExecuteSILPipelineRequest::OutputType swift::evaluateOrFatal<swift::ExecuteSILPipelineRequest>(swift::Evaluator&, swift::ExecuteSILPipelineRequest)::'lambda'()>(swift::ExecuteSILPipelineRequest const&, swift::ExecuteSILPipelineRequest::OutputType swift::evaluateOrFatal<swift::ExecuteSILPipelineRequest>(swift::Evaluator&, swift::ExecuteSILPipelineRequest)::'lambda'()) + 412
10 swift-frontend 0x0000000105fce1bc swift::runSILOptimizationPasses(swift::SILModule&) + 448
11 swift-frontend 0x00000001054d0a9c swift::CompilerInstance::performSILProcessing(swift::SILModule*) + 1148
12 swift-frontend 0x0000000105110d90 performCompileStepsPostSILGen(swift::CompilerInstance&, std::__1::unique_ptr<swift::SILModule, std::__1::default_delete<swift::SILModule>>, llvm::PointerUnion<swift::ModuleDecl*, swift::SourceFile*>, swift::PrimarySpecificPaths const&, int&, swift::FrontendObserver*) + 1360
13 swift-frontend 0x000000010511071c swift::performCompileStepsPostSema(swift::CompilerInstance&, int&, swift::FrontendObserver*) + 2688
14 swift-frontend 0x0000000105113654 performCompile(swift::CompilerInstance&, int&, swift::FrontendObserver*) + 1764
15 swift-frontend 0x0000000105111fd8 swift::performFrontend(llvm::ArrayRef<char const*>, char const*, void*, swift::FrontendObserver*) + 3716
16 swift-frontend 0x00000001050960bc swift::mainEntry(int, char const**) + 5428
17 dyld 0x0000000181be2b98 start + 6076
Expected behavior
Specialized version of visitChildren
is produced that optimizes away the throwing code since E == Never
or a compiler error is produced explaining why the annotation won't work as expected.
Environment
Apple Swift version 6.1.2 (swiftlang-6.1.2.1.2 clang-1700.0.13.5)
Target: arm64-apple-macosx15.0
Additional information
I've used visitChildren
in the example here, but I encounter the same error annotating any of the private methods within SyntaxVisitor
(dispatchChildren, visitSwitchCaseListSyntaxImpl, visitSourceFileSyntaxImpl, etc)