mirror of
https://github.com/dart-lang/sdk
synced 2024-09-15 23:59:47 +00:00
d839eb7bf9
Change-Id: I4501e9a9d2d958cecf21460b628d2ac50a5135bc Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/149492 Auto-Submit: Bob Nystrom <rnystrom@google.com> Reviewed-by: Erik Ernst <eernst@google.com> Commit-Queue: Bob Nystrom <rnystrom@google.com>
25 lines
749 B
Dart
25 lines
749 B
Dart
// 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() {}
|