-
Notifications
You must be signed in to change notification settings - Fork 10.6k
Open
Labels
SILGenArea → compiler: The SIL generation stageArea → compiler: The SIL generation stagebugA deviation from expected or documented behavior. Also: expected but undesirable behavior.A deviation from expected or documented behavior. Also: expected but undesirable behavior.crashBug: A crash, i.e., an abnormal termination of softwareBug: A crash, i.e., an abnormal termination of softwareparameter packsFeature → generics: Parameter packsFeature → generics: Parameter packs
Description
Description
Using parameter pack in the below code crashes the compiler.
Also reproduced using godbolt: https://godbolt.org/z/jex19rYPe
Reproduction
public protocol Generic {
associatedtype Rep
static func to(_ x: Rep) -> Self
}
struct RepType<each T>: Generic where repeat each T: Generic {
typealias Rep = (repeat each T)
let storage: (repeat each T)
static func to(_ x: (repeat each T)) -> RepType<repeat each T> {
RepType(storage: x)
}
}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.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift-frontend -frontend -c -primary-file /Users/jaap/Developer/passive-logic/swift-multiarray/Benchmarks/Benchmarks/Benchmarks.swift -emit-dependencies-path /Users/jaap/Library/Developer/Xcode/DerivedData/Benchmarks-garnosjpcvdrnghietejyfeogfak/Build/Intermediates.noindex/swift-multiarray-benchmarks.build/Debug/Benchmarks.build/Objects-normal/arm64/Benchmarks.d -emit-const-values-path /Users/jaap/Library/Developer/Xcode/DerivedData/Benchmarks-garnosjpcvdrnghietejyfeogfak/Build/Intermediates.noindex/swift-multiarray-benchmarks.build/Debug/Benchmarks.build/Objects-normal/arm64/Benchmarks.swiftconstvalues -emit-reference-dependencies-path /Users/jaap/Library/Developer/Xcode/DerivedData/Benchmarks-garnosjpcvdrnghietejyfeogfak/Build/Intermediates.noindex/swift-multiarray-benchmarks.build/Debug/Benchmarks.build/Objects-normal/arm64/Benchmarks.swiftdeps -serialize-diagnostics-path /Users/jaap/Library/Developer/Xcode/DerivedData/Benchmarks-garnosjpcvdrnghietejyfeogfak/Build/Intermediates.noindex/swift-multiarray-benchmarks.build/Debug/Benchmarks.build/Objects-normal/arm64/Benchmarks.dia -target arm64-apple-macos15.0 -load-resolved-plugin /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/usr/lib/swift/host/plugins/libSwiftMacros.dylib#/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/usr/bin/swift-plugin-server#SwiftMacros -disable-implicit-swift-modules -Xcc -fno-implicit-modules -Xcc -fno-implicit-module-maps -explicit-swift-module-map-file /Users/jaap/Library/Developer/Xcode/DerivedData/Benchmarks-garnosjpcvdrnghietejyfeogfak/Build/Intermediates.noindex/swift-multiarray-benchmarks.build/Debug/Benchmarks.build/Objects-normal/arm64/Benchmarks-dependencies-26.json -Xllvm -aarch64-use-tbi -enable-objc-interop -stack-check -sdk /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.0.sdk -I /Users/jaap/Library/Developer/Xcode/DerivedData/Benchmarks-garnosjpcvdrnghietejyfeogfak/Build/Products/Debug -Isystem /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/usr/lib -F /Users/jaap/Library/Developer/Xcode/DerivedData/Benchmarks-garnosjpcvdrnghietejyfeogfak/Build/Products/Debug -F /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/Library/Frameworks -no-color-diagnostics -Xcc -fno-color-diagnostics -enable-testing -g -debug-info-format=dwarf -dwarf-version=5 -module-cache-path /Users/jaap/Library/Developer/Xcode/DerivedData/Benchmarks-garnosjpcvdrnghietejyfeogfak/Build/Intermediates.noindex/SwiftExplicitPrecompiledModules -swift-version 6 -enforce-exclusivity=checked -Onone -D SWIFT_PACKAGE -D DEBUG -D Xcode -serialize-debugging-options -const-gather-protocols-file /Users/jaap/Library/Developer/Xcode/DerivedData/Benchmarks-garnosjpcvdrnghietejyfeogfak/Build/Intermediates.noindex/swift-multiarray-benchmarks.build/Debug/Benchmarks.build/Objects-normal/arm64/Benchmarks_const_extract_protocols.json -enable-experimental-feature DebugDescriptionMacro -empty-abi-descriptor -validate-clang-modules-once -clang-build-session-file /Users/jaap/Library/Developer/Xcode/DerivedData/ModuleCache.noindex/Session.modulevalidation -Xcc -working-directory -Xcc /Users/jaap/Developer/passive-logic/swift-multiarray/Benchmarks/.swiftpm/xcode -enable-anonymous-context-mangled-names -file-compilation-dir /Users/jaap/Developer/passive-logic/swift-multiarray/Benchmarks/.swiftpm/xcode -Xcc -D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_DEBUG -Xcc -ivfsstatcache -Xcc /Users/jaap/Library/Developer/Xcode/DerivedData/SDKStatCaches.noindex/macosx26.0-25A352-3885c01c3e6b6a337905948deab2002e28806144b0707e398aac92880fa50324.sdkstatcache -Xcc -I/Users/jaap/Library/Developer/Xcode/DerivedData/Benchmarks-garnosjpcvdrnghietejyfeogfak/Build/Products/Debug/include -Xcc -I/Users/jaap/Library/Developer/Xcode/DerivedData/Benchmarks-garnosjpcvdrnghietejyfeogfak/Build/Intermediates.noindex/swift-multiarray-benchmarks.build/Debug/Benchmarks.build/DerivedSources-normal/arm64 -Xcc -I/Users/jaap/Library/Developer/Xcode/DerivedData/Benchmarks-garnosjpcvdrnghietejyfeogfak/Build/Intermediates.noindex/swift-multiarray-benchmarks.build/Debug/Benchmarks.build/DerivedSources/arm64 -Xcc -I/Users/jaap/Library/Developer/Xcode/DerivedData/Benchmarks-garnosjpcvdrnghietejyfeogfak/Build/Intermediates.noindex/swift-multiarray-benchmarks.build/Debug/Benchmarks.build/DerivedSources -Xcc -DSWIFT_PACKAGE -Xcc -DDEBUG=1 -no-auto-bridging-header-chaining -module-name Benchmarks -package-name benchmarks -frontend-parseable-output -disable-clang-spi -target-sdk-version 26.0 -target-sdk-name macosx26.0 -clang-target arm64-apple-macos26.0 -in-process-plugin-server-path /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/host/libSwiftInProcPluginServer.dylib -parse-as-library -o /Users/jaap/Library/Developer/Xcode/DerivedData/Benchmarks-garnosjpcvdrnghietejyfeogfak/Build/Intermediates.noindex/swift-multiarray-benchmarks.build/Debug/Benchmarks.build/Objects-normal/arm64/Benchmarks.o -index-unit-output-path /swift-multiarray-benchmarks.build/Debug/Benchmarks.build/Objects-normal/arm64/Benchmarks.o -index-store-path /Users/jaap/Library/Developer/Xcode/DerivedData/Benchmarks-garnosjpcvdrnghietejyfeogfak/Index.noindex/DataStore -index-system-modules
1. Apple Swift version 6.2 (swiftlang-6.2.0.19.9 clang-1700.3.19.1)
2. Compiling with the current language version
3. While evaluating request ASTLoweringRequest(Lowering AST to SIL for file "/Users/jaap/Developer/passive-logic/swift-multiarray/Benchmarks/Benchmarks/Benchmarks.swift")
4. While silgen emitFunction SIL function "@$s10Benchmarks7RepTypeV2toyACyxxQp_QPGxxQp_t_tFZ".
for 'to(_:)' (at /Users/jaap/Developer/passive-logic/swift-multiarray/Benchmarks/Benchmarks/Benchmarks.swift:2:5)
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 0x0000000108eedbcc llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) + 56
1 swift-frontend 0x0000000108eeb55c llvm::sys::RunSignalHandlers() + 112
2 swift-frontend 0x0000000108eee1f8 SignalHandler(int, __siginfo*, void*) + 344
3 libsystem_platform.dylib 0x00000001885d7744 _sigtramp + 56
4 swift-frontend 0x000000010364414c void llvm::function_ref<void (swift::SILValue, swift::SILValue, swift::SILValue)>::callback_fn<(anonymous namespace)::ArgEmitter::emitPackExpansionIntoPack(swift::Lowering::ArgumentSource&&, swift::Lowering::AbstractionPattern, swift::SILType, bool, swift::SILValue, swift::CanTypeWrapper<swift::PackType>, unsigned int)::'lambda'(swift::SILValue, swift::SILValue, swift::SILValue)>(long, swift::SILValue, swift::SILValue, swift::SILValue) + 492
5 swift-frontend 0x000000010364414c void llvm::function_ref<void (swift::SILValue, swift::SILValue, swift::SILValue)>::callback_fn<(anonymous namespace)::ArgEmitter::emitPackExpansionIntoPack(swift::Lowering::ArgumentSource&&, swift::Lowering::AbstractionPattern, swift::SILType, bool, swift::SILValue, swift::CanTypeWrapper<swift::PackType>, unsigned int)::'lambda'(swift::SILValue, swift::SILValue, swift::SILValue)>(long, swift::SILValue, swift::SILValue, swift::SILValue) + 492
6 swift-frontend 0x000000010371e950 swift::Lowering::SILGenFunction::emitDynamicPackLoop(swift::SILLocation, swift::CanTypeWrapper<swift::PackType>, unsigned int, swift::SILValue, swift::SILValue, swift::GenericEnvironment*, bool, llvm::function_ref<void (swift::SILValue, swift::SILValue, swift::SILValue)>, swift::SILBasicBlock*) + 1904
7 swift-frontend 0x00000001036435f4 (anonymous namespace)::ArgEmitter::emitPackArg(llvm::MutableArrayRef<swift::Lowering::ArgumentSource>, swift::Lowering::AbstractionPattern) + 3532
8 swift-frontend 0x0000000103642758 void llvm::function_ref<void (swift::Lowering::TupleElementGenerator&)>::callback_fn<(anonymous namespace)::ArgEmitter::emitExpanded(swift::Lowering::ArgumentSource&&, swift::Lowering::AbstractionPattern)::'lambda'(swift::Lowering::TupleElementGenerator&)>(long, swift::Lowering::TupleElementGenerator&) + 356
9 swift-frontend 0x00000001033f51fc swift::Lowering::AbstractionPattern::forEachTupleElement(swift::CanType, llvm::function_ref<void (swift::Lowering::TupleElementGenerator&)>) const + 184
10 swift-frontend 0x0000000103641318 (anonymous namespace)::ArgEmitter::emit(swift::Lowering::ArgumentSource&&, swift::Lowering::AbstractionPattern, bool, std::__1::optional<swift::AnyFunctionType::Param>) + 3688
11 swift-frontend 0x000000010362e4e0 (anonymous namespace)::ArgEmitter::emitSingleArg(swift::Lowering::ArgumentSource&&, swift::Lowering::AbstractionPattern, bool, std::__1::optional<swift::AnyFunctionType::Param>) + 204
12 swift-frontend 0x000000010363faf0 (anonymous namespace)::ArgEmitter::emitPreparedArgs(swift::Lowering::PreparedArguments&&, swift::Lowering::AbstractionPattern, llvm::ArrayRef<swift::LifetimeDependenceInfo>) + 304
13 swift-frontend 0x000000010364ca20 (anonymous namespace)::CallSite::emit(swift::Lowering::SILGenFunction&, swift::Lowering::AbstractionPattern, swift::CanTypeWrapper<swift::SILFunctionType>, llvm::ArrayRef<swift::LifetimeDependenceInfo>, (anonymous namespace)::ParamLowering&, llvm::SmallVectorImpl<swift::Lowering::ManagedValue>&, llvm::SmallVectorImpl<(anonymous namespace)::DelayedArgument>&, swift::ForeignInfo const&) && + 676
14 swift-frontend 0x000000010364c1d8 (anonymous namespace)::CallEmission::emitArgumentsForNormalApply(swift::Lowering::AbstractionPattern, swift::CanTypeWrapper<swift::SILFunctionType>, llvm::ArrayRef<swift::LifetimeDependenceInfo>, swift::ForeignInfo const&, llvm::SmallVectorImpl<swift::Lowering::ManagedValue>&, std::__1::optional<swift::SILLocation>&) + 1112
15 swift-frontend 0x0000000103633100 (anonymous namespace)::CallEmission::apply(swift::Lowering::SGFContext) + 1092
16 swift-frontend 0x0000000103631a3c swift::Lowering::SILGenFunction::emitApplyExpr(swift::ApplyExpr*, swift::Lowering::SGFContext) + 3204
17 swift-frontend 0x00000001036a6920 swift::Lowering::SILGenFunction::emitExprInto(swift::Expr*, swift::Lowering::Initialization*, std::__1::optional<swift::SILLocation>) + 132
18 swift-frontend 0x000000010376aa3c swift::Lowering::SILGenFunction::emitReturnExpr(swift::SILLocation, swift::Expr*) + 404
19 swift-frontend 0x00000001037677cc swift::ASTVisitor<(anonymous namespace)::StmtEmitter, void, void, void, void, void, void>::visit(swift::Stmt*) + 6232
20 swift-frontend 0x00000001036df5ac swift::Lowering::SILGenFunction::emitFunction(swift::FuncDecl*) + 384
21 swift-frontend 0x000000010361a6ac swift::Lowering::SILGenModule::emitFunctionDefinition(swift::SILDeclRef, swift::SILFunction*) + 7596
22 swift-frontend 0x000000010361b6f0 swift::Lowering::SILGenModule::emitOrDelayFunction(swift::SILDeclRef) + 236
23 swift-frontend 0x00000001036188ec swift::Lowering::SILGenModule::emitFunction(swift::FuncDecl*) + 136
24 swift-frontend 0x0000000103782668 (anonymous namespace)::SILGenType::visitFuncDecl(swift::FuncDecl*) + 32
25 swift-frontend 0x000000010377e410 (anonymous namespace)::SILGenType::emitType() + 364
26 swift-frontend 0x0000000103618600 swift::ASTVisitor<swift::Lowering::SILGenModule, void, void, void, void, void, void>::visit(swift::Decl*) + 100
27 swift-frontend 0x000000010361f538 swift::ASTLoweringRequest::evaluate(swift::Evaluator&, swift::ASTLoweringDescriptor) const + 2364
28 swift-frontend 0x000000010376561c swift::SimpleRequest<swift::ASTLoweringRequest, std::__1::unique_ptr<swift::SILModule, std::__1::default_delete<swift::SILModule>> (swift::ASTLoweringDescriptor), (swift::RequestFlags)17>::evaluateRequest(swift::ASTLoweringRequest const&, swift::Evaluator&) + 208
29 swift-frontend 0x0000000103623fc0 swift::ASTLoweringRequest::OutputType swift::Evaluator::getResultUncached<swift::ASTLoweringRequest, swift::ASTLoweringRequest::OutputType swift::evaluateOrFatal<swift::ASTLoweringRequest>(swift::Evaluator&, swift::ASTLoweringRequest)::'lambda'()>(swift::ASTLoweringRequest const&, swift::ASTLoweringRequest::OutputType swift::evaluateOrFatal<swift::ASTLoweringRequest>(swift::Evaluator&, swift::ASTLoweringRequest)::'lambda'()) + 572
30 swift-frontend 0x0000000102b27708 swift::performCompileStepsPostSema(swift::CompilerInstance&, int&, swift::FrontendObserver*) + 964
31 swift-frontend 0x0000000102b2aa7c performCompile(swift::CompilerInstance&, int&, swift::FrontendObserver*) + 1764
32 swift-frontend 0x0000000102b2968c swift::performFrontend(llvm::ArrayRef<char const*>, char const*, void*, swift::FrontendObserver*) + 3580
33 swift-frontend 0x0000000102aaac6c swift::mainEntry(int, char const**) + 5412
34 dyld 0x0000000188205d54 start + 7184
Failed frontend command:
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift-frontend -frontend -c -primary-file /Users/jaap/Developer/passive-logic/swift-multiarray/Benchmarks/Benchmarks/Benchmarks.swift -emit-dependencies-path /Users/jaap/Library/Developer/Xcode/DerivedData/Benchmarks-garnosjpcvdrnghietejyfeogfak/Build/Intermediates.noindex/swift-multiarray-benchmarks.build/Debug/Benchmarks.build/Objects-normal/arm64/Benchmarks.d -emit-const-values-path /Users/jaap/Library/Developer/Xcode/DerivedData/Benchmarks-garnosjpcvdrnghietejyfeogfak/Build/Intermediates.noindex/swift-multiarray-benchmarks.build/Debug/Benchmarks.build/Objects-normal/arm64/Benchmarks.swiftconstvalues -emit-reference-dependencies-path /Users/jaap/Library/Developer/Xcode/DerivedData/Benchmarks-garnosjpcvdrnghietejyfeogfak/Build/Intermediates.noindex/swift-multiarray-benchmarks.build/Debug/Benchmarks.build/Objects-normal/arm64/Benchmarks.swiftdeps -serialize-diagnostics-path /Users/jaap/Library/Developer/Xcode/DerivedData/Benchmarks-garnosjpcvdrnghietejyfeogfak/Build/Intermediates.noindex/swift-multiarray-benchmarks.build/Debug/Benchmarks.build/Objects-normal/arm64/Benchmarks.dia -target arm64-apple-macos15.0 -load-resolved-plugin /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/usr/lib/swift/host/plugins/libSwiftMacros.dylib\#/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/usr/bin/swift-plugin-server\#SwiftMacros -disable-implicit-swift-modules -Xcc -fno-implicit-modules -Xcc -fno-implicit-module-maps -explicit-swift-module-map-file /Users/jaap/Library/Developer/Xcode/DerivedData/Benchmarks-garnosjpcvdrnghietejyfeogfak/Build/Intermediates.noindex/swift-multiarray-benchmarks.build/Debug/Benchmarks.build/Objects-normal/arm64/Benchmarks-dependencies-26.json -Xllvm -aarch64-use-tbi -enable-objc-interop -stack-check -sdk /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.0.sdk -I /Users/jaap/Library/Developer/Xcode/DerivedData/Benchmarks-garnosjpcvdrnghietejyfeogfak/Build/Products/Debug -Isystem /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/usr/lib -F /Users/jaap/Library/Developer/Xcode/DerivedData/Benchmarks-garnosjpcvdrnghietejyfeogfak/Build/Products/Debug -F /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/Library/Frameworks -no-color-diagnostics -Xcc -fno-color-diagnostics -enable-testing -g -debug-info-format\=dwarf -dwarf-version\=5 -module-cache-path /Users/jaap/Library/Developer/Xcode/DerivedData/Benchmarks-garnosjpcvdrnghietejyfeogfak/Build/Intermediates.noindex/SwiftExplicitPrecompiledModules -swift-version 6 -enforce-exclusivity\=checked -Onone -D SWIFT_PACKAGE -D DEBUG -D Xcode -serialize-debugging-options -const-gather-protocols-file /Users/jaap/Library/Developer/Xcode/DerivedData/Benchmarks-garnosjpcvdrnghietejyfeogfak/Build/Intermediates.noindex/swift-multiarray-benchmarks.build/Debug/Benchmarks.build/Objects-normal/arm64/Benchmarks_const_extract_protocols.json -enable-experimental-feature DebugDescriptionMacro -empty-abi-descriptor -validate-clang-modules-once -clang-build-session-file /Users/jaap/Library/Developer/Xcode/DerivedData/ModuleCache.noindex/Session.modulevalidation -Xcc -working-directory -Xcc /Users/jaap/Developer/passive-logic/swift-multiarray/Benchmarks/.swiftpm/xcode -enable-anonymous-context-mangled-names -file-compilation-dir /Users/jaap/Developer/passive-logic/swift-multiarray/Benchmarks/.swiftpm/xcode -Xcc -D_LIBCPP_HARDENING_MODE\=_LIBCPP_HARDENING_MODE_DEBUG -Xcc -ivfsstatcache -Xcc /Users/jaap/Library/Developer/Xcode/DerivedData/SDKStatCaches.noindex/macosx26.0-25A352-3885c01c3e6b6a337905948deab2002e28806144b0707e398aac92880fa50324.sdkstatcache -Xcc -I/Users/jaap/Library/Developer/Xcode/DerivedData/Benchmarks-garnosjpcvdrnghietejyfeogfak/Build/Products/Debug/include -Xcc -I/Users/jaap/Library/Developer/Xcode/DerivedData/Benchmarks-garnosjpcvdrnghietejyfeogfak/Build/Intermediates.noindex/swift-multiarray-benchmarks.build/Debug/Benchmarks.build/DerivedSources-normal/arm64 -Xcc -I/Users/jaap/Library/Developer/Xcode/DerivedData/Benchmarks-garnosjpcvdrnghietejyfeogfak/Build/Intermediates.noindex/swift-multiarray-benchmarks.build/Debug/Benchmarks.build/DerivedSources/arm64 -Xcc -I/Users/jaap/Library/Developer/Xcode/DerivedData/Benchmarks-garnosjpcvdrnghietejyfeogfak/Build/Intermediates.noindex/swift-multiarray-benchmarks.build/Debug/Benchmarks.build/DerivedSources -Xcc -DSWIFT_PACKAGE -Xcc -DDEBUG\=1 -no-auto-bridging-header-chaining -module-name Benchmarks -package-name benchmarks -frontend-parseable-output -disable-clang-spi -target-sdk-version 26.0 -target-sdk-name macosx26.0 -clang-target arm64-apple-macos26.0 -in-process-plugin-server-path /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/host/libSwiftInProcPluginServer.dylib -parse-as-library -o /Users/jaap/Library/Developer/Xcode/DerivedData/Benchmarks-garnosjpcvdrnghietejyfeogfak/Build/Intermediates.noindex/swift-multiarray-benchmarks.build/Debug/Benchmarks.build/Objects-normal/arm64/Benchmarks.o -index-unit-output-path /swift-multiarray-benchmarks.build/Debug/Benchmarks.build/Objects-normal/arm64/Benchmarks.o -index-store-path /Users/jaap/Library/Developer/Xcode/DerivedData/Benchmarks-garnosjpcvdrnghietejyfeogfak/Index.noindex/DataStore -index-system-modules
Expected behavior
Compiler successfully or perhaps give a diagnostic if I'm doing something wrong or unsupported
Environment
swift-driver version: 1.127.14.1 Apple Swift version 6.2 (swiftlang-6.2.0.19.9 clang-1700.3.19.1)
Target: arm64-apple-macosx26.0
Also reproduced this on godbolt (see link at the top)
Additional information
No response
Metadata
Metadata
Assignees
Labels
SILGenArea → compiler: The SIL generation stageArea → compiler: The SIL generation stagebugA deviation from expected or documented behavior. Also: expected but undesirable behavior.A deviation from expected or documented behavior. Also: expected but undesirable behavior.crashBug: A crash, i.e., an abnormal termination of softwareBug: A crash, i.e., an abnormal termination of softwareparameter packsFeature → generics: Parameter packsFeature → generics: Parameter packs