Files
swift-mirror/validation-test/compiler_crashers_fixed/rdar54609704.swift
Hamish Knight 4e811c3a88 [test] Merge crasher directories
There is no longer much of a good reason to keep these separate,
merge them.
2025-10-18 12:51:30 +01:00

35 lines
681 B
Swift

// RUN: %target-swift-frontend -c %s
@propertyWrapper
class OneOf<Value: Equatable> {
var wrappedValue: Value {
get { value }
set { storeIfAllowed(newValue) }
}
private var value: Value
private let allowedValues: [Value]
init(wrappedValue value: Value, _ allowedValues: Value...) {
precondition(allowedValues.contains(value))
self.value = value
self.allowedValues = allowedValues
}
private func storeIfAllowed(_ value: Value) {
guard allowedValues.contains(value) else {
return
}
self.value = value
}
}
struct Test {
@OneOf(4, 8, 15, 16, 23, 42) private var numbers: Int = 4
}
func test() {
_ = Test()
}