blob: 03499446ffd413c2971e9b7fe232ddc70537efbd [file] [log] [blame]
// Copyright (c) 2023, 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.19
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() {}