blob: 18bc5e39b3026d0a945441a0130ad896c2d336f9 [file] [log] [blame]
// Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
/*@testedFeatures=inference,error*/
library test;
// All of these cases are error conditions; this test checks how we recover.
abstract class A {
int f(int x, int y);
int g(int x, [int y]);
int h(int x, {int y});
}
abstract class B {
int f(int x);
int g(int x);
int h(int x);
}
abstract class C implements A, B {
/*@topType=int*/ /*@error=OverrideMoreRequiredArguments*/ f(
/*@topType=int*/ x,
/*@topType=dynamic*/ /*@error=CantInferTypeDueToInconsistentOverrides*/ y);
/*@topType=int*/ g(/*@topType=int*/ x,
[/*@topType=dynamic*/ /*@error=CantInferTypeDueToInconsistentOverrides*/ y]);
/*@topType=int*/ h(/*@topType=int*/ x,
{/*@topType=dynamic*/ /*@error=CantInferTypeDueToInconsistentOverrides*/ y});
}
main() {}