Fix CI
diff --git a/mypy/semanal_namedtuple.py b/mypy/semanal_namedtuple.py
index cc8f987..111da96 100644
--- a/mypy/semanal_namedtuple.py
+++ b/mypy/semanal_namedtuple.py
@@ -149,6 +149,7 @@
         default_items: dict[str, Expression] = {}
         statements: list[Statement] = []
         for stmt in defn.defs.body:
+            statements.append(stmt)
             if not isinstance(stmt, AssignmentStmt):
                 # Still allow pass or ... (for empty namedtuples).
                 if isinstance(stmt, PassStmt) or (
@@ -163,18 +164,17 @@
                     continue
                 # And nested classes, they need to be analyzed further:
                 if isinstance(stmt, ClassDef):
-                    statements.append(stmt)
                     continue
-
+                statements.pop()
                 defn.removed_statements.append(stmt)
                 self.fail(NAMEDTUP_CLASS_ERROR, stmt)
             elif len(stmt.lvalues) > 1 or not isinstance(stmt.lvalues[0], NameExpr):
                 # An assignment, but an invalid one.
+                statements.pop()
                 defn.removed_statements.append(stmt)
                 self.fail(NAMEDTUP_CLASS_ERROR, stmt)
             else:
                 # Append name and type in this case...
-                statements.append(stmt)
                 name = stmt.lvalues[0].name
                 items.append(name)
                 if stmt.type is None:
diff --git a/test-data/unit/check-class-namedtuple.test b/test-data/unit/check-class-namedtuple.test
index b914bb3..a4e391f 100644
--- a/test-data/unit/check-class-namedtuple.test
+++ b/test-data/unit/check-class-namedtuple.test
@@ -390,12 +390,18 @@
     class B(NamedTuple):
         x: str
         y: int = 1
+        def method(self) -> int: ...
 
 # Correct:
 A(1)
 A.B('a')
 A.B('a', 2)
 
+b: A.B
+reveal_type(b.x)  # N: Revealed type is "builtins.str"
+reveal_type(b.y)  # N: Revealed type is "builtins.int"
+reveal_type(b.method())  # N: Revealed type is "builtins.int"
+
 # Incorrect:
 A.B()  # E: Missing positional argument "x" in call to "B"
 A.B(1, 'a')  # E: Argument 1 to "B" has incompatible type "int"; expected "str" \