From 873fc674b9763fe584479fa31115927c82fd09d9 Mon Sep 17 00:00:00 2001 From: Joshua Bronson Date: Mon, 26 Dec 2022 09:52:41 -0500 Subject: [PATCH] [mypyc] Improve error message for multiple inheritance. mypyc/mypyc#962 --- mypyc/irbuild/classdef.py | 2 +- mypyc/test-data/commandline.test | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/mypyc/irbuild/classdef.py b/mypyc/irbuild/classdef.py index 34fc1fd766b0..b1f2ed1a1a65 100644 --- a/mypyc/irbuild/classdef.py +++ b/mypyc/irbuild/classdef.py @@ -84,7 +84,7 @@ def transform_class_def(builder: IRBuilder, cdef: ClassDef) -> None: # classes aren't necessarily populated yet at # prepare_class_def time. if any(ir.base_mro[i].base != ir.base_mro[i + 1] for i in range(len(ir.base_mro) - 1)): - builder.error("Non-trait MRO must be linear", cdef.line) + builder.error("Multiple inheritance is not supported (except for traits)", cdef.line) if ir.allow_interpreted_subclasses: for parent in ir.mro: diff --git a/mypyc/test-data/commandline.test b/mypyc/test-data/commandline.test index 6612df9e1886..bc2713a20f7d 100644 --- a/mypyc/test-data/commandline.test +++ b/mypyc/test-data/commandline.test @@ -164,7 +164,7 @@ class Trait2(Concrete2): class NonExt(Concrete1): # E: Non-extension classes may not inherit from extension classes pass -class Nope(Trait1, Concrete2): # E: Non-trait bases must appear first in parent list # E: Non-trait MRO must be linear +class Nope(Trait1, Concrete2): # E: Non-trait bases must appear first in parent list # E: Multiple inheritance is not supported (except for traits) pass @decorator