We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Learn more about funding links in repositories.
Report abuse
1 parent ed790ae commit f980578Copy full SHA for f980578
spec/compiler/semantic/enum_spec.cr
@@ -298,4 +298,12 @@ describe "Semantic: enum" do
298
),
299
"can't inherit Enum. Use the enum keyword to define enums"
300
end
301
+
302
+ it "errors on enum without members (#3447)" do
303
+ assert_error %(
304
+ enum Foo
305
+ end
306
+ ),
307
+ "enum Foo must have at least one member"
308
309
src/compiler/crystal/semantic/top_level_visitor.cr
@@ -485,6 +485,10 @@ class Crystal::TopLevelVisitor < Crystal::SemanticVisitor
485
is_flags: is_flags)
486
487
488
+ if enum_type.types.empty?
489
+ node.raise "enum #{node.name} must have at least one member"
490
491
492
unless existed
493
if is_flags
494
unless enum_type.types["None"]?
0 commit comments