Add mixed inheritance tests
Updates Mar 19, for better precision in tests (that is, catching
Added tests where `r.m(null).isEven` is used
to near-verify that the receiver `r` implements `A<int*>`:
With `A<int>` it's an error to pass `null`, and with `A<int?>`
it is an error to invoke `isEven`.
Added '1_error' test to detect that `r.m(null).isEven` is a
compile-time error in cases where the receiver has a different
member signature for `m`.
Added '3_error' test to detect that it is a compile-time error to assign
'D().a' to a specific type, for many `D`. This helps catching the
situation where the member signature of `a` is legacy: if that were
true then this test will fail because there is no error).
Commit-Queue: Erik Ernst <email@example.com>
Reviewed-by: Leaf Petersen <firstname.lastname@example.org>
Reviewed-by: Konstantin Shcheglov <email@example.com>
Reviewed-by: Johnni Winther <firstname.lastname@example.org>
1 file changed