@@ -2833,19 +2833,18 @@ The appropriate metaclass for a class definition is determined in two steps:
28332833 as candidate;
28342834 * if an explicit metaclass is given and it is an instance of :func: `type `,
28352835 then it is used as candidate;
2836- * if bases are defined but no explicit metaclass, the metaclass of the first
2836+ * if bases are defined but no explicit metaclass, the class of the first
28372837 base is used as candidate;
28382838 * if an explicit metaclass is given and it is *not * an instance of
28392839 :func: `type `, then it is used directly as the metaclass and step 2 is skipped.
28402840
284128412) bases, if present, are traversed left-to-right, and the most derived
28422842 metaclass is determined as follows:
28432843
2844- * if the metaclass of the current candidate is a subtype of the metaclass of
2845- the current base, update the candidate to the metaclass of the base and
2846- continue to the next base;
2847- * if the current candidate is a subtype of the metaclass of the current base,
2848- continue to the next base;
2844+ * if the current candidate is a subclass of the class of the current base,
2845+ continue with the next base;
2846+ * if the class of the current base is a subclass of the current candidate ,
2847+ continue with the next base;
28492848 * else raise a :exc: `TypeError `.
28502849
28512850
0 commit comments