slint/internal/compiler/tests/syntax/basic/enums.slint
Olivier Goffart 54b076d4a2
Compilation error with empty enums
Technically a breaking change, although code generation was very likely
to panic.

Fixes #8743

ChangeLog: Enums without value cause compilation errors (instead of panics)
2025-06-23 12:43:02 +02:00

30 lines
821 B
Text

// Copyright © SixtyFPS GmbH <info@slint.dev>
// SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-Slint-Royalty-free-2.0 OR LicenseRef-Slint-Software-3.0
enum Xyz {
hello-hello,
HelloHello,
// ^error{Duplicated enum value 'HelloHello'}
Abc,
Cde,
Abc,
// ^error{Duplicated enum value 'Abc'}
cde,
// ^error{Duplicated enum value 'cde'}
CDE, // this one is not duplicated
Xyz,
// ^error{Enum 'Xyz' can't have a value with the same name}
c-dE
// ^error{Duplicated enum value 'c-dE'}
}
enum Empty {}
// ^error{Enums must have at least one value}
export component Test {
property<Empty> empty;
property<Xyz> xyz;
property<{ a: Empty, b: Xyz }> xxx: { b: Xyz.c-dE};
// ^error{'c-dE' is not a member of the enum Xyz}
}