blob: c720e4949b73c00e39be687d208857926f5e568c [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.
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() {}