dart-sdk/tests/language/mixin/type_parameter_inference_error_test.dart
Robert Nystrom d839eb7bf9 Migrate language_2/mixin to NNBD.
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>
2020-06-03 00:05:18 +00:00

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() {}