diff --git a/doc/langref.html.in b/doc/langref.html.in
index 2c98fae1fc5a38b0a33d9b2796ac2c49eff8873c..53a471e36a874c16329d850cbbe8b56249f6b012 100644
--- a/doc/langref.html.in
+++ b/doc/langref.html.in
@@ -12371,9 +12371,9 @@ fn readU32Be() u32 {}
Root <- skip container_doc_comment? ContainerMembers eof
# *** Top level ***
-ContainerMembers <- ContainerDeclarations (ContainerField COMMA)* (ContainerField / ContainerDeclarations)
+ContainerMembers <- ContainerDeclaration* (ContainerField COMMA)* (ContainerField / ContainerDeclaration*)
-ContainerDeclarations <- (TestDecl / ComptimeDecl / doc_comment? KEYWORD_pub? Decl)*
+ContainerDeclaration <- TestDecl / ComptimeDecl / doc_comment? KEYWORD_pub? Decl
TestDecl <- KEYWORD_test (STRINGLITERALSINGLE / IDENTIFIER)? Block
diff --git a/lib/std/zig/Parse.zig b/lib/std/zig/Parse.zig
index 67e293986519482dad77c80a2a3df57ba31d73d5..b978077404b4ca6949bd4530561d59041a8ff77d 100644
--- a/lib/std/zig/Parse.zig
+++ b/lib/std/zig/Parse.zig
@@ -205,9 +205,9 @@ pub fn parseZon(p: *Parse) !void {
};
}
-/// ContainerMembers <- ContainerDeclarations (ContainerField COMMA)* (ContainerField / ContainerDeclarations)
+/// ContainerMembers <- ContainerDeclaration* (ContainerField COMMA)* (ContainerField / ContainerDeclaration*)
///
-/// ContainerDeclarations <- (TestDecl / ComptimeDecl / doc_comment? KEYWORD_pub? Decl)*
+/// ContainerDeclaration <- TestDecl / ComptimeDecl / doc_comment? KEYWORD_pub? Decl
///
/// ComptimeDecl <- KEYWORD_comptime Block
fn parseContainerMembers(p: *Parse) !Members {