Add mixed inheritance tests

Updates Mar 19, for better precision in tests (that is, catching
more bugs):

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).

Change-Id: If6abafbadb51dcb04d13876b577d15c74bf47ccc
Commit-Queue: Erik Ernst <>
Reviewed-by: Leaf Petersen <>
Reviewed-by: Konstantin Shcheglov <>
Reviewed-by: Johnni Winther <>
1 file changed
tree: 3130a96f9f21f0a00b22f7cb871bc12f04ce7d4d
  1. commits.json