-
Notifications
You must be signed in to change notification settings - Fork 10.6k
Open
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
Compiler crashes when running on a valid program.
Reproduction
public protocol DefaultProvider {
associatedtype Value
static var defaultValue: Value { get }
}
enum Defaults {
enum EmptyString: DefaultProvider {
static let defaultValue: String = ""
}
protocol EmptyArrayProvider<Element>: DefaultProvider where Value == [Element] {
associatedtype Element
}
enum EmptyArray<Element>: EmptyArrayProvider {
static var defaultValue: [Element] { [] }
}
}
@propertyWrapper
struct Defaulted<P: DefaultProvider> {
init() { wrappedValue = P.defaultValue }
init(wrappedValue: Value) { self.wrappedValue = wrappedValue }
typealias Value = P.Value
var wrappedValue: Value
}
// String literal bundle behind equality constraint.
extension Defaulted: ExpressibleByStringLiteral, ExpressibleByUnicodeScalarLiteral,
ExpressibleByExtendedGraphemeClusterLiteral
where P.Value == String
{
init(stringLiteral value: StringLiteralType) { self.init(wrappedValue: value) }
}
// Array literal behind EmptyArrayProvider equality constraint.
extension Defaulted: ExpressibleByArrayLiteral where P: Defaults.EmptyArrayProvider {
typealias ArrayLiteralElement = P.Element
init(arrayLiteral elements: ArrayLiteralElement...) { self.init(wrappedValue: elements) }
}
struct Example {
@Defaulted<Defaults.EmptyString> var name: String
@Defaulted<Defaults.EmptyArray<Int>> var numbers: [Int]
}
@main
enum Entry {
static func main() {
_ = Example()
}
}
Stack dump
Assertion failed: hasNoNontrivialLexicalLeaf && "Found non-trivial lexical leaf in non-trivial non-lexical type?!", file C:\Users\swift-ci\jenkins\workspace\swift-6.2-windows-toolchain\swift\lib\SIL\IR\TypeLowering.cpp, line 3218
Please submit a bug report (https://swift.org/contributing/#reporting-bugs) and include the crash backtrace.
Stack dump:
0. Program arguments: C:\\Users\\ClarkDuVall\\AppData\\Local\\Programs\\Swift\\Toolchains\\6.2.0+Asserts\\usr\\bin\\swift-frontend.exe -frontend -c -primary-file D:\\code\\sample\\Sources\\Sample\\Repro.swift -emit-dependencies-path D:\\code\\sample\\.build\\x86_64-unknown-windows-msvc\\debug\\Sample.build\\Repro.d -emit-reference-dependencies-path D:\\code\\sample\\.build\\x86_64-unknown-windows-msvc\\debug\\Sample.build\\Repro.swiftdeps -serialize-diagnostics-path D:\\code\\sample\\.build\\x86_64-unknown-windows-msvc\\debug\\Sample.build\\Repro.dia -target x86_64-unknown-windows-msvc -disable-objc-interop -sdk C:\\Users\\ClarkDuVall\\AppData\\Local\\Programs\\Swift\\Platforms\\6.2.0\\Windows.platform\\Developer\\SDKs\\Windows.sdk\\ -I D:\\code\\sample\\.build\\x86_64-unknown-windows-msvc\\debug\\Modules -I C:\\Users\\ClarkDuVall\\AppData\\Local\\Programs\\Swift\\Platforms\\6.2.0\\Windows.platform\\Developer\\Library\\XCTest-6.2.0\\usr\\lib\\swift\\windows -I C:\\Users\\ClarkDuVall\\AppData\\Local\\Programs\\Swift\\Platforms\\6.2.0\\Windows.platform\\Developer\\Library\\XCTest-6.2.0\\usr\\lib\\swift\\windows\\x86_64 -I C:\\Users\\ClarkDuVall\\AppData\\Local\\Programs\\Swift\\Platforms\\6.2.0\\Windows.platform\\Developer\\Library\\Testing-6.2.0\\usr\\lib\\swift\\windows -color-diagnostics -Xcc -fcolor-diagnostics -enable-testing -g -debug-info-format=dwarf -dwarf-version=4 -module-cache-path D:\\code\\sample\\.build\\x86_64-unknown-windows-msvc\\debug\\ModuleCache -static -swift-version 6 -Onone -D SWIFT_PACKAGE -D DEBUG -D SWIFT_MODULE_RESOURCE_BUNDLE_UNAVAILABLE -empty-abi-descriptor -enable-anonymous-context-mangled-names -file-compilation-dir D:\\code\\sample -Xcc -D_MT -Xcc -D_DLL -Xcc -Xclang -Xcc --dependent-lib=msvcrt -Xcc -gdwarf -no-auto-bridging-header-chaining -module-name Sample -package-name sample -in-process-plugin-server-path C:\\Users\\ClarkDuVall\\AppData\\Local\\Programs\\Swift\\Toolchains\\6.2.0+Asserts\\usr\\bin\\SwiftInProcPluginServer.dll -plugin-path C:\\Users\\ClarkDuVall\\AppData\\Local\\Programs\\Swift\\Toolchains\\6.2.0+Asserts\\usr\\bin -plugin-path C:\\Users\\ClarkDuVall\\AppData\\Local\\Programs\\Swift\\Toolchains\\6.2.0+Asserts\\usr\\local\\bin -autolink-library oldnames -autolink-library msvcrt -Xcc -D_MT -Xcc -D_DLL -parse-as-library -o D:\\code\\sample\\.build\\x86_64-unknown-windows-msvc\\debug\\Sample.build\\Repro.swift.o -index-store-path D:\\code\\sample\\.build\\x86_64-unknown-windows-msvc\\debug\\index\\store -index-system-modules
1. Swift version 6.2 (swift-6.2-RELEASE)
2. Compiling with the current language version
3. While evaluating request ASTLoweringRequest(Lowering AST to SIL for file "D:\code\sample\Sources\Sample\Repro.swift")
Exception Code: 0x80000003
#0 0x00007ff7694e6bb5 (C:\Users\ClarkDuVall\AppData\Local\Programs\Swift\Toolchains\6.2.0+Asserts\usr\bin\swift-frontend.exe+0x6f06bb5)
#1 0x00007ffffce41989 (C:\windows\System32\ucrtbase.dll+0xc1989)
#2 0x00007ffffce24ab1 (C:\windows\System32\ucrtbase.dll+0xa4ab1)
#3 0x00007ffffce42986 (C:\windows\System32\ucrtbase.dll+0xc2986)
#4 0x00007ffffce42b61 (C:\windows\System32\ucrtbase.dll+0xc2b61)
#5 0x00007ff763da4ae7 (C:\Users\ClarkDuVall\AppData\Local\Programs\Swift\Toolchains\6.2.0+Asserts\usr\bin\swift-frontend.exe+0x17c4ae7)
#6 0x00007ff763d99a1d (C:\Users\ClarkDuVall\AppData\Local\Programs\Swift\Toolchains\6.2.0+Asserts\usr\bin\swift-frontend.exe+0x17b9a1d)
#7 0x00007ff763db0fde (C:\Users\ClarkDuVall\AppData\Local\Programs\Swift\Toolchains\6.2.0+Asserts\usr\bin\swift-frontend.exe+0x17d0fde)
#8 0x00007ff763da4ac9 (C:\Users\ClarkDuVall\AppData\Local\Programs\Swift\Toolchains\6.2.0+Asserts\usr\bin\swift-frontend.exe+0x17c4ac9)
#9 0x00007ff763dcac71 (C:\Users\ClarkDuVall\AppData\Local\Programs\Swift\Toolchains\6.2.0+Asserts\usr\bin\swift-frontend.exe+0x17eac71)
#10 0x00007ff763dd7440 (C:\Users\ClarkDuVall\AppData\Local\Programs\Swift\Toolchains\6.2.0+Asserts\usr\bin\swift-frontend.exe+0x17f7440)
#11 0x00007ff763dc5260 (C:\Users\ClarkDuVall\AppData\Local\Programs\Swift\Toolchains\6.2.0+Asserts\usr\bin\swift-frontend.exe+0x17e5260)
#12 0x00007ff763dd51e4 (C:\Users\ClarkDuVall\AppData\Local\Programs\Swift\Toolchains\6.2.0+Asserts\usr\bin\swift-frontend.exe+0x17f51e4)
#13 0x00007ff763dda5b3 (C:\Users\ClarkDuVall\AppData\Local\Programs\Swift\Toolchains\6.2.0+Asserts\usr\bin\swift-frontend.exe+0x17fa5b3)
#14 0x00007ff763dcf74e (C:\Users\ClarkDuVall\AppData\Local\Programs\Swift\Toolchains\6.2.0+Asserts\usr\bin\swift-frontend.exe+0x17ef74e)
#15 0x00007ff763e49e29 (C:\Users\ClarkDuVall\AppData\Local\Programs\Swift\Toolchains\6.2.0+Asserts\usr\bin\swift-frontend.exe+0x1869e29)
#16 0x00007ff763337b9d (C:\Users\ClarkDuVall\AppData\Local\Programs\Swift\Toolchains\6.2.0+Asserts\usr\bin\swift-frontend.exe+0xd57b9d)
#17 0x00007ff763334e8b (C:\Users\ClarkDuVall\AppData\Local\Programs\Swift\Toolchains\6.2.0+Asserts\usr\bin\swift-frontend.exe+0xd54e8b)
#18 0x00007ff763330757 (C:\Users\ClarkDuVall\AppData\Local\Programs\Swift\Toolchains\6.2.0+Asserts\usr\bin\swift-frontend.exe+0xd50757)
#19 0x00007ff76337dda4 (C:\Users\ClarkDuVall\AppData\Local\Programs\Swift\Toolchains\6.2.0+Asserts\usr\bin\swift-frontend.exe+0xd9dda4)
#20 0x00007ff76337791e (C:\Users\ClarkDuVall\AppData\Local\Programs\Swift\Toolchains\6.2.0+Asserts\usr\bin\swift-frontend.exe+0xd9791e)
#21 0x00007ff76337f0d3 (C:\Users\ClarkDuVall\AppData\Local\Programs\Swift\Toolchains\6.2.0+Asserts\usr\bin\swift-frontend.exe+0xd9f0d3)
#22 0x00007ff76333cb90 (C:\Users\ClarkDuVall\AppData\Local\Programs\Swift\Toolchains\6.2.0+Asserts\usr\bin\swift-frontend.exe+0xd5cb90)
#23 0x00007ff763335105 (C:\Users\ClarkDuVall\AppData\Local\Programs\Swift\Toolchains\6.2.0+Asserts\usr\bin\swift-frontend.exe+0xd55105)
#24 0x00007ff7633357e6 (C:\Users\ClarkDuVall\AppData\Local\Programs\Swift\Toolchains\6.2.0+Asserts\usr\bin\swift-frontend.exe+0xd557e6)
#25 0x00007ff76333ce16 (C:\Users\ClarkDuVall\AppData\Local\Programs\Swift\Toolchains\6.2.0+Asserts\usr\bin\swift-frontend.exe+0xd5ce16)
#26 0x00007ff76332b773 (C:\Users\ClarkDuVall\AppData\Local\Programs\Swift\Toolchains\6.2.0+Asserts\usr\bin\swift-frontend.exe+0xd4b773)
#27 0x00007ff76333b2c4 (C:\Users\ClarkDuVall\AppData\Local\Programs\Swift\Toolchains\6.2.0+Asserts\usr\bin\swift-frontend.exe+0xd5b2c4)
#28 0x00007ff762c27d69 (C:\Users\ClarkDuVall\AppData\Local\Programs\Swift\Toolchains\6.2.0+Asserts\usr\bin\swift-frontend.exe+0x647d69)
#29 0x00007ff762c26b34 (C:\Users\ClarkDuVall\AppData\Local\Programs\Swift\Toolchains\6.2.0+Asserts\usr\bin\swift-frontend.exe+0x646b34)
#30 0x00007ff762c26feb (C:\Users\ClarkDuVall\AppData\Local\Programs\Swift\Toolchains\6.2.0+Asserts\usr\bin\swift-frontend.exe+0x646feb)
#31 0x00007ff762c28f52 (C:\Users\ClarkDuVall\AppData\Local\Programs\Swift\Toolchains\6.2.0+Asserts\usr\bin\swift-frontend.exe+0x648f52)
#32 0x00007ff762a74110 (C:\Users\ClarkDuVall\AppData\Local\Programs\Swift\Toolchains\6.2.0+Asserts\usr\bin\swift-frontend.exe+0x494110)
#33 0x00007ff762a73ca7 (C:\Users\ClarkDuVall\AppData\Local\Programs\Swift\Toolchains\6.2.0+Asserts\usr\bin\swift-frontend.exe+0x493ca7)
#34 0x00007ff769546698 (C:\Users\ClarkDuVall\AppData\Local\Programs\Swift\Toolchains\6.2.0+Asserts\usr\bin\swift-frontend.exe+0x6f66698)
#35 0x00007ffffdade8d7 (C:\windows\System32\KERNEL32.DLL+0x2e8d7)
#36 0x00007fffff5cc53c (C:\windows\SYSTEM32\ntdll.dll+0x8c53c)
Expected behavior
Compiler doesn't crash
Environment
Swift version 6.2 (swift-6.2-RELEASE)
Target: x86_64-unknown-windows-msvc
Build config: +assertions
This is failing only with Swift on Windows.
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