Skip to content

Commit 9dc624b

Browse files
authored
[mypyc] Improve error message for multiple inheritance. (#14344)
Ref: mypyc/mypyc#962
1 parent 86dad8a commit 9dc624b

File tree

2 files changed

+2
-2
lines changed

2 files changed

+2
-2
lines changed

mypyc/irbuild/classdef.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ def transform_class_def(builder: IRBuilder, cdef: ClassDef) -> None:
8484
# classes aren't necessarily populated yet at
8585
# prepare_class_def time.
8686
if any(ir.base_mro[i].base != ir.base_mro[i + 1] for i in range(len(ir.base_mro) - 1)):
87-
builder.error("Non-trait MRO must be linear", cdef.line)
87+
builder.error("Multiple inheritance is not supported (except for traits)", cdef.line)
8888

8989
if ir.allow_interpreted_subclasses:
9090
for parent in ir.mro:

mypyc/test-data/commandline.test

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -164,7 +164,7 @@ class Trait2(Concrete2):
164164
class NonExt(Concrete1): # E: Non-extension classes may not inherit from extension classes
165165
pass
166166

167-
class Nope(Trait1, Concrete2): # E: Non-trait bases must appear first in parent list # E: Non-trait MRO must be linear
167+
class Nope(Trait1, Concrete2): # E: Non-trait bases must appear first in parent list # E: Multiple inheritance is not supported (except for traits)
168168
pass
169169

170170
@decorator

0 commit comments

Comments
 (0)