diff --git a/doc/langref.html.in b/doc/langref.html.in
index 54b73317d89c70272687d0ec387dd62858cf34c3..b963eea92d622506b4fc485b7c15d01508497257 100644
--- a/doc/langref.html.in
+++ b/doc/langref.html.in
@@ -12373,11 +12373,7 @@ Root <- skip container_doc_comment? ContainerMembers eof
# *** Top level ***
ContainerMembers <- ContainerDeclarations (ContainerField COMMA)* (ContainerField / ContainerDeclarations)
-ContainerDeclarations
- <- TestDecl ContainerDeclarations
- / ComptimeDecl ContainerDeclarations
- / doc_comment? KEYWORD_pub? Decl ContainerDeclarations
- /
+ContainerDeclarations <- (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 19c89221c646494147b8977e6918b87e94bcfe35..67e293986519482dad77c80a2a3df57ba31d73d5 100644
--- a/lib/std/zig/Parse.zig
+++ b/lib/std/zig/Parse.zig
@@ -207,11 +207,7 @@ pub fn parseZon(p: *Parse) !void {
/// ContainerMembers <- ContainerDeclarations (ContainerField COMMA)* (ContainerField / ContainerDeclarations)
///
-/// ContainerDeclarations
-/// <- TestDecl ContainerDeclarations
-/// / ComptimeDecl ContainerDeclarations
-/// / doc_comment? KEYWORD_pub? Decl ContainerDeclarations
-/// /
+/// ContainerDeclarations <- (TestDecl / ComptimeDecl / doc_comment? KEYWORD_pub? Decl)*
///
/// ComptimeDecl <- KEYWORD_comptime Block
fn parseContainerMembers(p: *Parse) !Members {