Files
swift-mirror/validation-test/compiler_crashers_2_fixed/issue-55443.swift
Slava Pestov 908c9368ed Parse: Only accept certain literals as enum case raw values
Just checking for LiteralExpr is too broad, because Sema doesn't
know what to do with RegexLiteralExpr for example.
2025-06-17 09:19:00 -04:00

22 lines
1.2 KiB
Swift

// RUN: %target-swift-frontend -typecheck %s -verify
// https://github.com/apple/swift/issues/55443
enum FooString: String {
case bar1 = #file // expected-error {{raw value for enum case must be a literal}}
case bar2 = #function // expected-error {{raw value for enum case must be a literal}}
case bar3 = #filePath // expected-error {{raw value for enum case must be a literal}}
case bar4 = #line // expected-error {{raw value for enum case must be a literal}}
case bar5 = #column // expected-error {{raw value for enum case must be a literal}}
case bar6 = #dsohandle // expected-error {{raw value for enum case must be a literal}}
}
enum FooInt: Int {
case bar1 = #file // expected-error {{raw value for enum case must be a literal}}
case bar2 = #function // expected-error {{raw value for enum case must be a literal}}
case bar3 = #filePath // expected-error {{raw value for enum case must be a literal}}
case bar4 = #line // expected-error {{raw value for enum case must be a literal}}
case bar5 = #column // expected-error {{raw value for enum case must be a literal}}
case bar6 = #dsohandle // expected-error {{raw value for enum case must be a literal}}
}