blob: 7d09d22e2656a23576271ec29111c1f82aafa472 [file] [log] [blame]
// Copyright (c) 2018, 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.
// @dart = 2.9
abstract class A<T> {}
class B {}
mixin M<T> on A<T> {}
// No matching class from which to infer the type parameter of M
class C extends Object with M {} //# 01: compile-time error
class C = Object with M; //# 02: compile-time error
// Satisfying the constraint with an "implements" clause is not sufficient
class C extends Object with M implements A<B> {} //# 03: compile-time error
class C = Object with M implements A<B>; //# 04: compile-time error
// Mixin works when used correctly.
class D = A<B> with M<B>;
main() {}