-
Notifications
You must be signed in to change notification settings - Fork 10.6k
Closed
Labels
bugA 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 softwaretriage neededThis issue needs more specific labelsThis issue needs more specific labels
Description
Description
When extending a C++ specialized generic type in Swift it crashes with an an assertion:
Assertion failed: !T->isDependentType() && "should not see dependent types here", file T:\5\tools\clang\include\clang/AST/TypeNodes.inc, line 78
Seems to happen only if the type includes at least a member value of the generic 'T' type.
Does not crash on an empty generic type.
swiftCxxCrash_extensionOnSpecializedGenericTypes.zip
Reproduction
#pragma once
struct Foo {
int value;
};
template<typename T>
struct GenericFoo {
T value;
};
template<>
struct GenericFoo<int>;
typedef GenericFoo<int> FooInt;import CxxLib
extension Foo { } // OK
extension FooInt { } // CrashesStack dump
Planning build
Building for debugging...
Write auxiliary file E:\Experiments\swiftCxxCrash_extensionOnSpecializedGenericType\.build\x86_64-unknown-windows-msvc\debug\swift-version--419FB1E48B690C4E.txt
E:\swift\Toolchains\6.1.0+Asserts\usr\bin\swiftc.exe -module-name swiftCxxCrash -emit-dependencies -emit-module -emit-module-path E:\Experiments\swiftCxxCrash_extensionOnSpecializedGenericType\.build\x86_64-unknown-windows-msvc\debug\Modules\swiftCxxCrash.swiftmodule -output-file-map E:\Experiments\swiftCxxCrash_extensionOnSpecializedGenericType\.build\x86_64-unknown-windows-msvc\debug\swiftCxxCrash.build\output-file-map.json -parse-as-library -incremental -c @E:\Experiments\swiftCxxCrash_extensionOnSpecializedGenericType\.build\x86_64-unknown-windows-msvc\debug\swiftCxxCrash.build\sources -I E:\Experiments\swiftCxxCrash_extensionOnSpecializedGenericType\.build\x86_64-unknown-windows-msvc\debug\Modules -target x86_64-unknown-windows-msvc -v -enable-batch-mode -index-store-path E:\Experiments\swiftCxxCrash_extensionOnSpecializedGenericType\.build\x86_64-unknown-windows-msvc\debug\index\store -Onone -enable-testing -j12 -DSWIFT_PACKAGE -DDEBUG -Xcc -fmodule-map-file=E:\Experiments\swiftCxxCrash_extensionOnSpecializedGenericType\.build\x86_64-unknown-windows-msvc\debug\CxxLib.build\module.modulemap -Xcc -I -Xcc E:\Experiments\swiftCxxCrash_extensionOnSpecializedGenericType\Sources\CxxLib\include -module-cache-path E:\Experiments\swiftCxxCrash_extensionOnSpecializedGenericType\.build\x86_64-unknown-windows-msvc\debug\ModuleCache -parseable-output -parse-as-library -static -swift-version 6 -cxx-interoperability-mode=default -sdk E:\swift\Platforms\6.1.0\Windows.platform\Developer\SDKs\Windows.sdk\ -libc MD -I E:\swift\Platforms\6.1.0\Windows.platform\Developer\Library\XCTest-development\usr\lib\swift\windows -I E:\swift\Platforms\6.1.0\Windows.platform\Developer\Library\XCTest-development\usr\lib\swift\windows\x86_64 -L E:\swift\Platforms\6.1.0\Windows.platform\Developer\Library\XCTest-development\usr\lib\swift\windows\x86_64 -I E:\swift\Platforms\6.1.0\Windows.platform\Developer\Library\Testing-development\usr\lib\swift\windows -L E:\swift\Platforms\6.1.0\Windows.platform\Developer\Library\Testing-development\usr\lib\swift\windows\x86_64 -use-ld=lld -g -use-ld=lld -Xcc -D_MT -Xcc -D_DLL -Xcc -Xclang -Xcc --dependent-lib=msvcrt -Xcc -gdwarf -package-name swiftcxxcrash_extensiononspecializedgenerictype
Swift version 6.1 (swift-6.1-RELEASE)
Target: x86_64-unknown-windows-msvc
E:\swift\Toolchains\6.1.0+Asserts\usr\bin\swift-frontend.exe -frontend -emit-module -experimental-skip-non-inlinable-function-bodies-without-types E:\Experiments\swiftCxxCrash_extensionOnSpecializedGenericType\Sources\swiftCxxCrash\swiftCxxCrash.swift -target x86_64-unknown-windows-msvc -disable-objc-interop -cxx-interoperability-mode=default -sdk E:\swift\Platforms\6.1.0\Windows.platform\Developer\SDKs\Windows.sdk\ -I E:\Experiments\swiftCxxCrash_extensionOnSpecializedGenericType\.build\x86_64-unknown-windows-msvc\debug\Modules -I E:\swift\Platforms\6.1.0\Windows.platform\Developer\Library\XCTest-development\usr\lib\swift\windows -I E:\swift\Platforms\6.1.0\Windows.platform\Developer\Library\XCTest-development\usr\lib\swift\windows\x86_64 -I E:\swift\Platforms\6.1.0\Windows.platform\Developer\Library\Testing-development\usr\lib\swift\windows -enable-testing -g -debug-info-format=dwarf -dwarf-version=4 -module-cache-path E:\Experiments\swiftCxxCrash_extensionOnSpecializedGenericType\.build\x86_64-unknown-windows-msvc\debug\ModuleCache -static -swift-version 6 -Onone -D SWIFT_PACKAGE -D DEBUG -empty-abi-descriptor -resource-dir E:\swift\Toolchains\6.1.0+Asserts\usr\lib\swift -enable-anonymous-context-mangled-names -file-compilation-dir E:\Experiments\swiftCxxCrash_extensionOnSpecializedGenericType -Xcc -fmodule-map-file=E:\Experiments\swiftCxxCrash_extensionOnSpecializedGenericType\.build\x86_64-unknown-windows-msvc\debug\CxxLib.build\module.modulemap -Xcc -I -Xcc E:\Experiments\swiftCxxCrash_extensionOnSpecializedGenericType\Sources\CxxLib\include -Xcc -D_MT -Xcc -D_DLL -Xcc -Xclang -Xcc --dependent-lib=msvcrt -Xcc -gdwarf -module-name swiftCxxCrash -package-name swiftcxxcrash_extensiononspecializedgenerictype -in-process-plugin-server-path E:\swift\Toolchains\6.1.0+Asserts\usr\bin\SwiftInProcPluginServer.dll -plugin-path E:\swift\Toolchains\6.1.0+Asserts\usr\bin -plugin-path E:\swift\Toolchains\6.1.0+Asserts\usr\local\bin -emit-module-doc-path E:\Experiments\swiftCxxCrash_extensionOnSpecializedGenericType\.build\x86_64-unknown-windows-msvc\debug\Modules\swiftCxxCrash.swiftdoc -emit-module-source-info-path E:\Experiments\swiftCxxCrash_extensionOnSpecializedGenericType\.build\x86_64-unknown-windows-msvc\debug\Modules\swiftCxxCrash.swiftsourceinfo -emit-dependencies-path E:\Experiments\swiftCxxCrash_extensionOnSpecializedGenericType\.build\x86_64-unknown-windows-msvc\debug\swiftCxxCrash.build\swiftCxxCrash.emit-module.d -parse-as-library -o E:\Experiments\swiftCxxCrash_extensionOnSpecializedGenericType\.build\x86_64-unknown-windows-msvc\debug\Modules\swiftCxxCrash.swiftmodule
E:\swift\Toolchains\6.1.0+Asserts\usr\bin\swift-frontend.exe -frontend -c -primary-file E:\Experiments\swiftCxxCrash_extensionOnSpecializedGenericType\Sources\swiftCxxCrash\swiftCxxCrash.swift -emit-dependencies-path E:\Experiments\swiftCxxCrash_extensionOnSpecializedGenericType\.build\x86_64-unknown-windows-msvc\debug\swiftCxxCrash.build\swiftCxxCrash.d -emit-reference-dependencies-path E:\Experiments\swiftCxxCrash_extensionOnSpecializedGenericType\.build\x86_64-unknown-windows-msvc\debug\swiftCxxCrash.build\swiftCxxCrash.swiftdeps -target x86_64-unknown-windows-msvc -disable-objc-interop -cxx-interoperability-mode=default -sdk E:\swift\Platforms\6.1.0\Windows.platform\Developer\SDKs\Windows.sdk\ -I E:\Experiments\swiftCxxCrash_extensionOnSpecializedGenericType\.build\x86_64-unknown-windows-msvc\debug\Modules -I E:\swift\Platforms\6.1.0\Windows.platform\Developer\Library\XCTest-development\usr\lib\swift\windows -I E:\swift\Platforms\6.1.0\Windows.platform\Developer\Library\XCTest-development\usr\lib\swift\windows\x86_64 -I E:\swift\Platforms\6.1.0\Windows.platform\Developer\Library\Testing-development\usr\lib\swift\windows -enable-testing -g -debug-info-format=dwarf -dwarf-version=4 -module-cache-path E:\Experiments\swiftCxxCrash_extensionOnSpecializedGenericType\.build\x86_64-unknown-windows-msvc\debug\ModuleCache -static -swift-version 6 -Onone -D SWIFT_PACKAGE -D DEBUG -empty-abi-descriptor -resource-dir E:\swift\Toolchains\6.1.0+Asserts\usr\lib\swift -enable-anonymous-context-mangled-names -file-compilation-dir E:\Experiments\swiftCxxCrash_extensionOnSpecializedGenericType -Xcc -fmodule-map-file=E:\Experiments\swiftCxxCrash_extensionOnSpecializedGenericType\.build\x86_64-unknown-windows-msvc\debug\CxxLib.build\module.modulemap -Xcc -I -Xcc E:\Experiments\swiftCxxCrash_extensionOnSpecializedGenericType\Sources\CxxLib\include -Xcc -D_MT -Xcc -D_DLL -Xcc -Xclang -Xcc --dependent-lib=msvcrt -Xcc -gdwarf -module-name swiftCxxCrash -package-name swiftcxxcrash_extensiononspecializedgenerictype -in-process-plugin-server-path E:\swift\Toolchains\6.1.0+Asserts\usr\bin\SwiftInProcPluginServer.dll -plugin-path E:\swift\Toolchains\6.1.0+Asserts\usr\bin -plugin-path E:\swift\Toolchains\6.1.0+Asserts\usr\local\bin -parse-as-library -o E:\Experiments\swiftCxxCrash_extensionOnSpecializedGenericType\.build\x86_64-unknown-windows-msvc\debug\swiftCxxCrash.build\swiftCxxCrash.swift.o -index-store-path E:\Experiments\swiftCxxCrash_extensionOnSpecializedGenericType\.build\x86_64-unknown-windows-msvc\debug\index\store -index-system-modules
error: emit-module command failed due to exception 3 (use -v to see invocation)
Assertion failed: !T->isDependentType() && "should not see dependent types here", file T:\5\tools\clang\include\clang/AST/TypeNodes.inc, line 78
Please submit a bug report (https://swift.org/contributing/#reporting-bugs) and include the crash backtrace.
Stack dump:
0. Program arguments: E:\\swift\\Toolchains\\6.1.0+Asserts\\usr\\bin\\swift-frontend.exe -frontend -emit-module -experimental-skip-non-inlinable-function-bodies-without-types E:\\Experiments\\swiftCxxCrash_extensionOnSpecializedGenericType\\Sources\\swiftCxxCrash\\swiftCxxCrash.swift -target x86_64-unknown-windows-msvc -disable-objc-interop -cxx-interoperability-mode=default -sdk E:\\swift\\Platforms\\6.1.0\\Windows.platform\\Developer\\SDKs\\Windows.sdk\\ -I E:\\Experiments\\swiftCxxCrash_extensionOnSpecializedGenericType\\.build\\x86_64-unknown-windows-msvc\\debug\\Modules -I E:\\swift\\Platforms\\6.1.0\\Windows.platform\\Developer\\Library\\XCTest-development\\usr\\lib\\swift\\windows -I E:\\swift\\Platforms\\6.1.0\\Windows.platform\\Developer\\Library\\XCTest-development\\usr\\lib\\swift\\windows\\x86_64 -I E:\\swift\\Platforms\\6.1.0\\Windows.platform\\Developer\\Library\\Testing-development\\usr\\lib\\swift\\windows -enable-testing -g -debug-info-format=dwarf -dwarf-version=4 -module-cache-path E:\\Experiments\\swiftCxxCrash_extensionOnSpecializedGenericType\\.build\\x86_64-unknown-windows-msvc\\debug\\ModuleCache -static -swift-version 6 -Onone -D SWIFT_PACKAGE -D DEBUG -empty-abi-descriptor -resource-dir E:\\swift\\Toolchains\\6.1.0+Asserts\\usr\\lib\\swift -enable-anonymous-context-mangled-names -file-compilation-dir E:\\Experiments\\swiftCxxCrash_extensionOnSpecializedGenericType -Xcc -fmodule-map-file=E:\\Experiments\\swiftCxxCrash_extensionOnSpecializedGenericType\\.build\\x86_64-unknown-windows-msvc\\debug\\CxxLib.build\\module.modulemap -Xcc -I -Xcc E:\\Experiments\\swiftCxxCrash_extensionOnSpecializedGenericType\\Sources\\CxxLib\\include -Xcc -D_MT -Xcc -D_DLL -Xcc -Xclang -Xcc --dependent-lib=msvcrt -Xcc -gdwarf -module-name swiftCxxCrash -package-name swiftcxxcrash_extensiononspecializedgenerictype -in-process-plugin-server-path E:\\swift\\Toolchains\\6.1.0+Asserts\\usr\\bin\\SwiftInProcPluginServer.dll -plugin-path E:\\swift\\Toolchains\\6.1.0+Asserts\\usr\\bin -plugin-path E:\\swift\\Toolchains\\6.1.0+Asserts\\usr\\local\\bin -emit-module-doc-path E:\\Experiments\\swiftCxxCrash_extensionOnSpecializedGenericType\\.build\\x86_64-unknown-windows-msvc\\debug\\Modules\\swiftCxxCrash.swiftdoc -emit-module-source-info-path E:\\Experiments\\swiftCxxCrash_extensionOnSpecializedGenericType\\.build\\x86_64-unknown-windows-msvc\\debug\\Modules\\swiftCxxCrash.swiftsourceinfo -emit-dependencies-path E:\\Experiments\\swiftCxxCrash_extensionOnSpecializedGenericType\\.build\\x86_64-unknown-windows-msvc\\debug\\swiftCxxCrash.build\\swiftCxxCrash.emit-module.d -parse-as-library -o E:\\Experiments\\swiftCxxCrash_extensionOnSpecializedGenericType\\.build\\x86_64-unknown-windows-msvc\\debug\\Modules\\swiftCxxCrash.swiftmodule
1. Swift version 6.1 (swift-6.1-RELEASE)
2. Compiling with the current language version
3. While evaluating request ExtendedNominalRequest(extension of FooInt@E:\Experiments\swiftCxxCrash_extensionOnSpecializedGenericType\Sources\swiftCxxCrash\swiftCxxCrash.swift:8:1)
4. While evaluating request UnqualifiedLookupRequest(looking up 'FooInt' from 0x2911d0a3590 FileUnit file="E:\Experiments\swiftCxxCrash_extensionOnSpecializedGenericType\Sources\swiftCxxCrash\swiftCxxCrash.swift" with options { AllowProtocolMembers, TypeLookup })
5. While evaluating request LookupInModuleRequest(0x2911d0a3590 FileUnit file="E:\Experiments\swiftCxxCrash_extensionOnSpecializedGenericType\Sources\swiftCxxCrash\swiftCxxCrash.swift", 'FooInt', UnqualifiedLookup, TypesOnly, 0x2911d0a3590 FileUnit file="E:\Experiments\swiftCxxCrash_extensionOnSpecializedGenericType\Sources\swiftCxxCrash\swiftCxxCrash.swift", { NL_RemoveNonVisible, NL_RemoveOverridden })
6. E:\Experiments\swiftCxxCrash_extensionOnSpecializedGenericType\Sources\CxxLib\include\shim.h:15:25: importing 'FooInt'
7. While importing a clang type ElaboratedType 0x2911d119850 'GenericFoo<int>' sugar imported
`-TemplateSpecializationType 0x2911d119800 'GenericFoo<int>' sugar imported
|-name: 'GenericFoo' qualified
| `-ClassTemplateDecl 0x2911d119240 <E:\Experiments\swiftCxxCrash_extensionOnSpecializedGenericType\Sources\CxxLib\include\shim.h:7:1, line:10:1> line:8:8 imported in CxxLib GenericFoo
|-TemplateArgument type 'int'
| `-BuiltinType 0x29119c0c700 'int'
`-RecordType 0x2911d1197e0 'GenericFoo<int>' imported
`-ClassTemplateSpecialization 0x2911d119668 'GenericFoo'
8. While importing a clang type TemplateSpecializationType 0x2911d119800 'GenericFoo<int>' sugar imported
|-name: 'GenericFoo' qualified
| `-ClassTemplateDecl 0x2911d119240 <E:\Experiments\swiftCxxCrash_extensionOnSpecializedGenericType\Sources\CxxLib\include\shim.h:7:1, line:10:1> line:8:8 imported in CxxLib GenericFoo
|-TemplateArgument type 'int'
| `-BuiltinType 0x29119c0c700 'int'
`-RecordType 0x2911d1197e0 'GenericFoo<int>' imported
`-ClassTemplateSpecialization 0x2911d119668 'GenericFoo'
9. While importing a clang type RecordType 0x2911d1197e0 'GenericFoo<int>' imported
`-ClassTemplateSpecialization 0x2911d119668 'GenericFoo'
10. E:\Experiments\swiftCxxCrash_extensionOnSpecializedGenericType\Sources\CxxLib\include\shim.h:8:8: importing 'GenericFoo'
Exception Code: 0x80000003
#0 0x00007ff7be1676b5 (E:\swift\Toolchains\6.1.0+Asserts\usr\bin\swift-frontend.exe+0x69e76b5)
#1 0x00007ff825821881 (C:\Windows\System32\ucrtbase.dll+0x71881)
#2 0x00007ff825822851 (C:\Windows\System32\ucrtbase.dll+0x72851)
#3 0x00007ff8258241b5 (C:\Windows\System32\ucrtbase.dll+0x741b5)
#4 0x00007ff8258244f1 (C:\Windows\System32\ucrtbase.dll+0x744f1)
#5 0x00007ff7bccd5b2a (E:\swift\Toolchains\6.1.0+Asserts\usr\bin\swift-frontend.exe+0x5555b2a)
#6 0x00007ff7bccd56ed (E:\swift\Toolchains\6.1.0+Asserts\usr\bin\swift-frontend.exe+0x55556ed)
#7 0x00007ff7bccd7299 (E:\swift\Toolchains\6.1.0+Asserts\usr\bin\swift-frontend.exe+0x5557299)
#8 0x00007ff7bcd75391 (E:\swift\Toolchains\6.1.0+Asserts\usr\bin\swift-frontend.exe+0x55f5391)
#9 0x00007ff7bcd7704e (E:\swift\Toolchains\6.1.0+Asserts\usr\bin\swift-frontend.exe+0x55f704e)
#10 0x00007ff7bcd77403 (E:\swift\Toolchains\6.1.0+Asserts\usr\bin\swift-frontend.exe+0x55f7403)
#11 0x00007ff7bcd7450c (E:\swift\Toolchains\6.1.0+Asserts\usr\bin\swift-frontend.exe+0x55f450c)
#12 0x00007ff7bcd74a24 (E:\swift\Toolchains\6.1.0+Asserts\usr\bin\swift-frontend.exe+0x55f4a24)
#13 0x00007ff7bccd6546 (E:\swift\Toolchains\6.1.0+Asserts\usr\bin\swift-frontend.exe+0x5556546)
#14 0x00007ff7bccd56ed (E:\swift\Toolchains\6.1.0+Asserts\usr\bin\swift-frontend.exe+0x55556ed)
#15 0x00007ff7bccd542f (E:\swift\Toolchains\6.1.0+Asserts\usr\bin\swift-frontend.exe+0x555542f)
#16 0x00007ff7b94c9b1e (E:\swift\Toolchains\6.1.0+Asserts\usr\bin\swift-frontend.exe+0x1d49b1e)
#17 0x00007ff7b94c9aa6 (E:\swift\Toolchains\6.1.0+Asserts\usr\bin\swift-frontend.exe+0x1d49aa6)
#18 0x00007ff7b94e375e (E:\swift\Toolchains\6.1.0+Asserts\usr\bin\swift-frontend.exe+0x1d6375e)
#19 0x00007ff7b94dcde6 (E:\swift\Toolchains\6.1.0+Asserts\usr\bin\swift-frontend.exe+0x1d5cde6)
#20 0x00007ff7b94ddbbb (E:\swift\Toolchains\6.1.0+Asserts\usr\bin\swift-frontend.exe+0x1d5dbbb)
#21 0x00007ff7b94f886e (E:\swift\Toolchains\6.1.0+Asserts\usr\bin\swift-frontend.exe+0x1d7886e)
#22 0x00007ff7b94f7622 (E:\swift\Toolchains\6.1.0+Asserts\usr\bin\swift-frontend.exe+0x1d77622)
#23 0x00007ff7b94bc98b (E:\swift\Toolchains\6.1.0+Asserts\usr\bin\swift-frontend.exe+0x1d3c98b)
#24 0x00007ff7b94bccd9 (E:\swift\Toolchains\6.1.0+Asserts\usr\bin\swift-frontend.exe+0x1d3ccd9)
#25 0x00007ff7b94bc724 (E:\swift\Toolchains\6.1.0+Asserts\usr\bin\swift-frontend.exe+0x1d3c724)
#26 0x00007ff7b94bccd9 (E:\swift\Toolchains\6.1.0+Asserts\usr\bin\swift-frontend.exe+0x1d3ccd9)
#27 0x00007ff7b94bc724 (E:\swift\Toolchains\6.1.0+Asserts\usr\bin\swift-frontend.exe+0x1d3c724)
#28 0x00007ff7b94bccd9 (E:\swift\Toolchains\6.1.0+Asserts\usr\bin\swift-frontend.exe+0x1d3ccd9)
#29 0x00007ff7b94c82a9 (E:\swift\Toolchains\6.1.0+Asserts\usr\bin\swift-frontend.exe+0x1d482a9)
#30 0x00007ff7b94c83bf (E:\swift\Toolchains\6.1.0+Asserts\usr\bin\swift-frontend.exe+0x1d483bf)
#31 0x00007ff7b94e5a12 (E:\swift\Toolchains\6.1.0+Asserts\usr\bin\swift-frontend.exe+0x1d65a12)
#32 0x00007ff7b94f886e (E:\swift\Toolchains\6.1.0+Asserts\usr\bin\swift-frontend.exe+0x1d7886e)
#33 0x00007ff7b94f7622 (E:\swift\Toolchains\6.1.0+Asserts\usr\bin\swift-frontend.exe+0x1d77622)
#34 0x00007ff7b947802a (E:\swift\Toolchains\6.1.0+Asserts\usr\bin\swift-frontend.exe+0x1cf802a)
#35 0x00007ff7b9477940 (E:\swift\Toolchains\6.1.0+Asserts\usr\bin\swift-frontend.exe+0x1cf7940)
#36 0x00007ff7b9628b6a (E:\swift\Toolchains\6.1.0+Asserts\usr\bin\swift-frontend.exe+0x1ea8b6a)
#37 0x00007ff7b98865d3 (E:\swift\Toolchains\6.1.0+Asserts\usr\bin\swift-frontend.exe+0x21065d3)
#38 0x00007ff7b9886c9f (E:\swift\Toolchains\6.1.0+Asserts\usr\bin\swift-frontend.exe+0x2106c9f)
#39 0x00007ff7b98866cc (E:\swift\Toolchains\6.1.0+Asserts\usr\bin\swift-frontend.exe+0x21066cc)
#40 0x00007ff7b9887e67 (E:\swift\Toolchains\6.1.0+Asserts\usr\bin\swift-frontend.exe+0x2107e67)
#41 0x00007ff7b9885d7a (E:\swift\Toolchains\6.1.0+Asserts\usr\bin\swift-frontend.exe+0x2105d7a)
#42 0x00007ff7b98874c6 (E:\swift\Toolchains\6.1.0+Asserts\usr\bin\swift-frontend.exe+0x21074c6)
#43 0x00007ff7b996412d (E:\swift\Toolchains\6.1.0+Asserts\usr\bin\swift-frontend.exe+0x21e412d)
#44 0x00007ff7b9965c46 (E:\swift\Toolchains\6.1.0+Asserts\usr\bin\swift-frontend.exe+0x21e5c46)
#45 0x00007ff7b9966320 (E:\swift\Toolchains\6.1.0+Asserts\usr\bin\swift-frontend.exe+0x21e6320)
#46 0x00007ff7b9964f00 (E:\swift\Toolchains\6.1.0+Asserts\usr\bin\swift-frontend.exe+0x21e4f00)
#47 0x00007ff7b9887d8d (E:\swift\Toolchains\6.1.0+Asserts\usr\bin\swift-frontend.exe+0x2107d8d)
#48 0x00007ff7b8f19d49 (E:\swift\Toolchains\6.1.0+Asserts\usr\bin\swift-frontend.exe+0x1799d49)
#49 0x00007ff7b8f197f0 (E:\swift\Toolchains\6.1.0+Asserts\usr\bin\swift-frontend.exe+0x17997f0)
#50 0x00007ff7b9791b4d (E:\swift\Toolchains\6.1.0+Asserts\usr\bin\swift-frontend.exe+0x2011b4d)
#51 0x00007ff7b9790913 (E:\swift\Toolchains\6.1.0+Asserts\usr\bin\swift-frontend.exe+0x2010913)
#52 0x00007ff7b97915c3 (E:\swift\Toolchains\6.1.0+Asserts\usr\bin\swift-frontend.exe+0x20115c3)
#53 0x00007ff7b979388e (E:\swift\Toolchains\6.1.0+Asserts\usr\bin\swift-frontend.exe+0x201388e)
#54 0x00007ff7b96f9b6f (E:\swift\Toolchains\6.1.0+Asserts\usr\bin\swift-frontend.exe+0x1f79b6f)
#55 0x00007ff7b96e90f4 (E:\swift\Toolchains\6.1.0+Asserts\usr\bin\swift-frontend.exe+0x1f690f4)
#56 0x00007ff7b97248c6 (E:\swift\Toolchains\6.1.0+Asserts\usr\bin\swift-frontend.exe+0x1fa48c6)
#57 0x00007ff7b8fdff9c (E:\swift\Toolchains\6.1.0+Asserts\usr\bin\swift-frontend.exe+0x185ff9c)
#58 0x00007ff7b7fd0515 (E:\swift\Toolchains\6.1.0+Asserts\usr\bin\swift-frontend.exe+0x850515)
#59 0x00007ff7b7fd083a (E:\swift\Toolchains\6.1.0+Asserts\usr\bin\swift-frontend.exe+0x85083a)
#60 0x00007ff7b7d3f21e (E:\swift\Toolchains\6.1.0+Asserts\usr\bin\swift-frontend.exe+0x5bf21e)
#61 0x00007ff7b7d3f7db (E:\swift\Toolchains\6.1.0+Asserts\usr\bin\swift-frontend.exe+0x5bf7db)
#62 0x00007ff7b7d415bb (E:\swift\Toolchains\6.1.0+Asserts\usr\bin\swift-frontend.exe+0x5c15bb)
#63 0x00007ff7b7b8f4f0 (E:\swift\Toolchains\6.1.0+Asserts\usr\bin\swift-frontend.exe+0x40f4f0)
#64 0x00007ff7b7b8efa7 (E:\swift\Toolchains\6.1.0+Asserts\usr\bin\swift-frontend.exe+0x40efa7)
#65 0x00007ff7be1c6750 (E:\swift\Toolchains\6.1.0+Asserts\usr\bin\swift-frontend.exe+0x6a46750)
#66 0x00007ff827597374 (C:\Windows\System32\KERNEL32.DLL+0x17374)
#67 0x00007ff82805cc91 (C:\Windows\SYSTEM32\ntdll.dll+0x4cc91)
error: compile command failed due to exception 3 (use -v to see invocation)
Assertion failed: !T->isDependentType() && "should not see dependent types here", file T:\5\tools\clang\include\clang/AST/TypeNodes.inc, line 78
Please submit a bug report (https://swift.org/contributing/#reporting-bugs) and include the crash backtrace.
Stack dump:
0. Program arguments: E:\\swift\\Toolchains\\6.1.0+Asserts\\usr\\bin\\swift-frontend.exe -frontend -c -primary-file E:\\Experiments\\swiftCxxCrash_extensionOnSpecializedGenericType\\Sources\\swiftCxxCrash\\swiftCxxCrash.swift -emit-dependencies-path E:\\Experiments\\swiftCxxCrash_extensionOnSpecializedGenericType\\.build\\x86_64-unknown-windows-msvc\\debug\\swiftCxxCrash.build\\swiftCxxCrash.d -emit-reference-dependencies-path E:\\Experiments\\swiftCxxCrash_extensionOnSpecializedGenericType\\.build\\x86_64-unknown-windows-msvc\\debug\\swiftCxxCrash.build\\swiftCxxCrash.swiftdeps -target x86_64-unknown-windows-msvc -disable-objc-interop -cxx-interoperability-mode=default -sdk E:\\swift\\Platforms\\6.1.0\\Windows.platform\\Developer\\SDKs\\Windows.sdk\\ -I E:\\Experiments\\swiftCxxCrash_extensionOnSpecializedGenericType\\.build\\x86_64-unknown-windows-msvc\\debug\\Modules -I E:\\swift\\Platforms\\6.1.0\\Windows.platform\\Developer\\Library\\XCTest-development\\usr\\lib\\swift\\windows -I E:\\swift\\Platforms\\6.1.0\\Windows.platform\\Developer\\Library\\XCTest-development\\usr\\lib\\swift\\windows\\x86_64 -I E:\\swift\\Platforms\\6.1.0\\Windows.platform\\Developer\\Library\\Testing-development\\usr\\lib\\swift\\windows -enable-testing -g -debug-info-format=dwarf -dwarf-version=4 -module-cache-path E:\\Experiments\\swiftCxxCrash_extensionOnSpecializedGenericType\\.build\\x86_64-unknown-windows-msvc\\debug\\ModuleCache -static -swift-version 6 -Onone -D SWIFT_PACKAGE -D DEBUG -empty-abi-descriptor -resource-dir E:\\swift\\Toolchains\\6.1.0+Asserts\\usr\\lib\\swift -enable-anonymous-context-mangled-names -file-compilation-dir E:\\Experiments\\swiftCxxCrash_extensionOnSpecializedGenericType -Xcc -fmodule-map-file=E:\\Experiments\\swiftCxxCrash_extensionOnSpecializedGenericType\\.build\\x86_64-unknown-windows-msvc\\debug\\CxxLib.build\\module.modulemap -Xcc -I -Xcc E:\\Experiments\\swiftCxxCrash_extensionOnSpecializedGenericType\\Sources\\CxxLib\\include -Xcc -D_MT -Xcc -D_DLL -Xcc -Xclang -Xcc --dependent-lib=msvcrt -Xcc -gdwarf -module-name swiftCxxCrash -package-name swiftcxxcrash_extensiononspecializedgenerictype -in-process-plugin-server-path E:\\swift\\Toolchains\\6.1.0+Asserts\\usr\\bin\\SwiftInProcPluginServer.dll -plugin-path E:\\swift\\Toolchains\\6.1.0+Asserts\\usr\\bin -plugin-path E:\\swift\\Toolchains\\6.1.0+Asserts\\usr\\local\\bin -parse-as-library -o E:\\Experiments\\swiftCxxCrash_extensionOnSpecializedGenericType\\.build\\x86_64-unknown-windows-msvc\\debug\\swiftCxxCrash.build\\swiftCxxCrash.swift.o -index-store-path E:\\Experiments\\swiftCxxCrash_extensionOnSpecializedGenericType\\.build\\x86_64-unknown-windows-msvc\\debug\\index\\store -index-system-modules
1. Swift version 6.1 (swift-6.1-RELEASE)
2. Compiling with the current language version
3. While evaluating request ExtendedNominalRequest(extension of FooInt@E:\Experiments\swiftCxxCrash_extensionOnSpecializedGenericType\Sources\swiftCxxCrash\swiftCxxCrash.swift:8:1)
4. While evaluating request UnqualifiedLookupRequest(looking up 'FooInt' from 0x2722452d720 FileUnit file="E:\Experiments\swiftCxxCrash_extensionOnSpecializedGenericType\Sources\swiftCxxCrash\swiftCxxCrash.swift" with options { AllowProtocolMembers, TypeLookup })
5. While evaluating request LookupInModuleRequest(0x2722452d720 FileUnit file="E:\Experiments\swiftCxxCrash_extensionOnSpecializedGenericType\Sources\swiftCxxCrash\swiftCxxCrash.swift", 'FooInt', UnqualifiedLookup, TypesOnly, 0x2722452d720 FileUnit file="E:\Experiments\swiftCxxCrash_extensionOnSpecializedGenericType\Sources\swiftCxxCrash\swiftCxxCrash.swift", { NL_RemoveNonVisible, NL_RemoveOverridden })
6. E:\Experiments\swiftCxxCrash_extensionOnSpecializedGenericType\Sources\CxxLib\include\shim.h:15:25: importing 'FooInt'
7. While importing a clang type ElaboratedType 0x2722459f1e0 'GenericFoo<int>' sugar imported
`-TemplateSpecializationType 0x2722459f190 'GenericFoo<int>' sugar imported
|-name: 'GenericFoo' qualified
| `-ClassTemplateDecl 0x2722459ebd0 <E:\Experiments\swiftCxxCrash_extensionOnSpecializedGenericType\Sources\CxxLib\include\shim.h:7:1, line:10:1> line:8:8 imported in CxxLib GenericFoo
|-TemplateArgument type 'int'
| `-BuiltinType 0x27222f33520 'int'
`-RecordType 0x2722459f170 'GenericFoo<int>' imported
`-ClassTemplateSpecialization 0x2722459eff8 'GenericFoo'
8. While importing a clang type TemplateSpecializationType 0x2722459f190 'GenericFoo<int>' sugar imported
|-name: 'GenericFoo' qualified
| `-ClassTemplateDecl 0x2722459ebd0 <E:\Experiments\swiftCxxCrash_extensionOnSpecializedGenericType\Sources\CxxLib\include\shim.h:7:1, line:10:1> line:8:8 imported in CxxLib GenericFoo
|-TemplateArgument type 'int'
| `-BuiltinType 0x27222f33520 'int'
`-RecordType 0x2722459f170 'GenericFoo<int>' imported
`-ClassTemplateSpecialization 0x2722459eff8 'GenericFoo'
9. While importing a clang type RecordType 0x2722459f170 'GenericFoo<int>' imported
`-ClassTemplateSpecialization 0x2722459eff8 'GenericFoo'
10. E:\Experiments\swiftCxxCrash_extensionOnSpecializedGenericType\Sources\CxxLib\include\shim.h:8:8: importing 'GenericFoo'
Exception Code: 0x80000003
#0 0x00007ff7be1676b5 (E:\swift\Toolchains\6.1.0+Asserts\usr\bin\swift-frontend.exe+0x69e76b5)
#1 0x00007ff825821881 (C:\Windows\System32\ucrtbase.dll+0x71881)
#2 0x00007ff825822851 (C:\Windows\System32\ucrtbase.dll+0x72851)
#3 0x00007ff8258241b5 (C:\Windows\System32\ucrtbase.dll+0x741b5)
#4 0x00007ff8258244f1 (C:\Windows\System32\ucrtbase.dll+0x744f1)
#5 0x00007ff7bccd5b2a (E:\swift\Toolchains\6.1.0+Asserts\usr\bin\swift-frontend.exe+0x5555b2a)
#6 0x00007ff7bccd56ed (E:\swift\Toolchains\6.1.0+Asserts\usr\bin\swift-frontend.exe+0x55556ed)
#7 0x00007ff7bccd7299 (E:\swift\Toolchains\6.1.0+Asserts\usr\bin\swift-frontend.exe+0x5557299)
#8 0x00007ff7bcd75391 (E:\swift\Toolchains\6.1.0+Asserts\usr\bin\swift-frontend.exe+0x55f5391)
#9 0x00007ff7bcd7704e (E:\swift\Toolchains\6.1.0+Asserts\usr\bin\swift-frontend.exe+0x55f704e)
#10 0x00007ff7bcd77403 (E:\swift\Toolchains\6.1.0+Asserts\usr\bin\swift-frontend.exe+0x55f7403)
#11 0x00007ff7bcd7450c (E:\swift\Toolchains\6.1.0+Asserts\usr\bin\swift-frontend.exe+0x55f450c)
#12 0x00007ff7bcd74a24 (E:\swift\Toolchains\6.1.0+Asserts\usr\bin\swift-frontend.exe+0x55f4a24)
#13 0x00007ff7bccd6546 (E:\swift\Toolchains\6.1.0+Asserts\usr\bin\swift-frontend.exe+0x5556546)
#14 0x00007ff7bccd56ed (E:\swift\Toolchains\6.1.0+Asserts\usr\bin\swift-frontend.exe+0x55556ed)
#15 0x00007ff7bccd542f (E:\swift\Toolchains\6.1.0+Asserts\usr\bin\swift-frontend.exe+0x555542f)
#16 0x00007ff7b94c9b1e (E:\swift\Toolchains\6.1.0+Asserts\usr\bin\swift-frontend.exe+0x1d49b1e)
#17 0x00007ff7b94c9aa6 (E:\swift\Toolchains\6.1.0+Asserts\usr\bin\swift-frontend.exe+0x1d49aa6)
#18 0x00007ff7b94e375e (E:\swift\Toolchains\6.1.0+Asserts\usr\bin\swift-frontend.exe+0x1d6375e)
#19 0x00007ff7b94dcde6 (E:\swift\Toolchains\6.1.0+Asserts\usr\bin\swift-frontend.exe+0x1d5cde6)
#20 0x00007ff7b94ddbbb (E:\swift\Toolchains\6.1.0+Asserts\usr\bin\swift-frontend.exe+0x1d5dbbb)
#21 0x00007ff7b94f886e (E:\swift\Toolchains\6.1.0+Asserts\usr\bin\swift-frontend.exe+0x1d7886e)
#22 0x00007ff7b94f7622 (E:\swift\Toolchains\6.1.0+Asserts\usr\bin\swift-frontend.exe+0x1d77622)
#23 0x00007ff7b94bc98b (E:\swift\Toolchains\6.1.0+Asserts\usr\bin\swift-frontend.exe+0x1d3c98b)
#24 0x00007ff7b94bccd9 (E:\swift\Toolchains\6.1.0+Asserts\usr\bin\swift-frontend.exe+0x1d3ccd9)
#25 0x00007ff7b94bc724 (E:\swift\Toolchains\6.1.0+Asserts\usr\bin\swift-frontend.exe+0x1d3c724)
#26 0x00007ff7b94bccd9 (E:\swift\Toolchains\6.1.0+Asserts\usr\bin\swift-frontend.exe+0x1d3ccd9)
#27 0x00007ff7b94bc724 (E:\swift\Toolchains\6.1.0+Asserts\usr\bin\swift-frontend.exe+0x1d3c724)
#28 0x00007ff7b94bccd9 (E:\swift\Toolchains\6.1.0+Asserts\usr\bin\swift-frontend.exe+0x1d3ccd9)
#29 0x00007ff7b94c82a9 (E:\swift\Toolchains\6.1.0+Asserts\usr\bin\swift-frontend.exe+0x1d482a9)
#30 0x00007ff7b94c83bf (E:\swift\Toolchains\6.1.0+Asserts\usr\bin\swift-frontend.exe+0x1d483bf)
#31 0x00007ff7b94e5a12 (E:\swift\Toolchains\6.1.0+Asserts\usr\bin\swift-frontend.exe+0x1d65a12)
#32 0x00007ff7b94f886e (E:\swift\Toolchains\6.1.0+Asserts\usr\bin\swift-frontend.exe+0x1d7886e)
#33 0x00007ff7b94f7622 (E:\swift\Toolchains\6.1.0+Asserts\usr\bin\swift-frontend.exe+0x1d77622)
#34 0x00007ff7b947802a (E:\swift\Toolchains\6.1.0+Asserts\usr\bin\swift-frontend.exe+0x1cf802a)
#35 0x00007ff7b9477940 (E:\swift\Toolchains\6.1.0+Asserts\usr\bin\swift-frontend.exe+0x1cf7940)
#36 0x00007ff7b9628b6a (E:\swift\Toolchains\6.1.0+Asserts\usr\bin\swift-frontend.exe+0x1ea8b6a)
#37 0x00007ff7b98865d3 (E:\swift\Toolchains\6.1.0+Asserts\usr\bin\swift-frontend.exe+0x21065d3)
#38 0x00007ff7b9886c9f (E:\swift\Toolchains\6.1.0+Asserts\usr\bin\swift-frontend.exe+0x2106c9f)
#39 0x00007ff7b98866cc (E:\swift\Toolchains\6.1.0+Asserts\usr\bin\swift-frontend.exe+0x21066cc)
#40 0x00007ff7b9887e67 (E:\swift\Toolchains\6.1.0+Asserts\usr\bin\swift-frontend.exe+0x2107e67)
#41 0x00007ff7b9885d7a (E:\swift\Toolchains\6.1.0+Asserts\usr\bin\swift-frontend.exe+0x2105d7a)
#42 0x00007ff7b98874c6 (E:\swift\Toolchains\6.1.0+Asserts\usr\bin\swift-frontend.exe+0x21074c6)
#43 0x00007ff7b996412d (E:\swift\Toolchains\6.1.0+Asserts\usr\bin\swift-frontend.exe+0x21e412d)
#44 0x00007ff7b9965c46 (E:\swift\Toolchains\6.1.0+Asserts\usr\bin\swift-frontend.exe+0x21e5c46)
#45 0x00007ff7b9966320 (E:\swift\Toolchains\6.1.0+Asserts\usr\bin\swift-frontend.exe+0x21e6320)
#46 0x00007ff7b9964f00 (E:\swift\Toolchains\6.1.0+Asserts\usr\bin\swift-frontend.exe+0x21e4f00)
#47 0x00007ff7b9887d8d (E:\swift\Toolchains\6.1.0+Asserts\usr\bin\swift-frontend.exe+0x2107d8d)
#48 0x00007ff7b8f19d49 (E:\swift\Toolchains\6.1.0+Asserts\usr\bin\swift-frontend.exe+0x1799d49)
#49 0x00007ff7b8f197f0 (E:\swift\Toolchains\6.1.0+Asserts\usr\bin\swift-frontend.exe+0x17997f0)
#50 0x00007ff7b9791b4d (E:\swift\Toolchains\6.1.0+Asserts\usr\bin\swift-frontend.exe+0x2011b4d)
#51 0x00007ff7b9790913 (E:\swift\Toolchains\6.1.0+Asserts\usr\bin\swift-frontend.exe+0x2010913)
#52 0x00007ff7b97915c3 (E:\swift\Toolchains\6.1.0+Asserts\usr\bin\swift-frontend.exe+0x20115c3)
#53 0x00007ff7b979388e (E:\swift\Toolchains\6.1.0+Asserts\usr\bin\swift-frontend.exe+0x201388e)
#54 0x00007ff7b96f9b6f (E:\swift\Toolchains\6.1.0+Asserts\usr\bin\swift-frontend.exe+0x1f79b6f)
#55 0x00007ff7b96e90f4 (E:\swift\Toolchains\6.1.0+Asserts\usr\bin\swift-frontend.exe+0x1f690f4)
#56 0x00007ff7b97248c6 (E:\swift\Toolchains\6.1.0+Asserts\usr\bin\swift-frontend.exe+0x1fa48c6)
#57 0x00007ff7b8fdff9c (E:\swift\Toolchains\6.1.0+Asserts\usr\bin\swift-frontend.exe+0x185ff9c)
#58 0x00007ff7b7fd0515 (E:\swift\Toolchains\6.1.0+Asserts\usr\bin\swift-frontend.exe+0x850515)
#59 0x00007ff7b7fd083a (E:\swift\Toolchains\6.1.0+Asserts\usr\bin\swift-frontend.exe+0x85083a)
#60 0x00007ff7b7d3f21e (E:\swift\Toolchains\6.1.0+Asserts\usr\bin\swift-frontend.exe+0x5bf21e)
#61 0x00007ff7b7d3f7db (E:\swift\Toolchains\6.1.0+Asserts\usr\bin\swift-frontend.exe+0x5bf7db)
#62 0x00007ff7b7d415bb (E:\swift\Toolchains\6.1.0+Asserts\usr\bin\swift-frontend.exe+0x5c15bb)
#63 0x00007ff7b7b8f4f0 (E:\swift\Toolchains\6.1.0+Asserts\usr\bin\swift-frontend.exe+0x40f4f0)
#64 0x00007ff7b7b8efa7 (E:\swift\Toolchains\6.1.0+Asserts\usr\bin\swift-frontend.exe+0x40efa7)
#65 0x00007ff7be1c6750 (E:\swift\Toolchains\6.1.0+Asserts\usr\bin\swift-frontend.exe+0x6a46750)
#66 0x00007ff827597374 (C:\Windows\System32\KERNEL32.DLL+0x17374)
#67 0x00007ff82805cc91 (C:\Windows\SYSTEM32\ntdll.dll+0x4cc91)
Expected behavior
To not crash / to display an error if this operation is not supported
Environment
Swift version 6.1 (swift-6.1-RELEASE)
Target: x86_64-unknown-windows-msvc
Additional information
No response
Metadata
Metadata
Assignees
Labels
bugA 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 softwaretriage neededThis issue needs more specific labelsThis issue needs more specific labels