mirror of
https://github.com/dart-lang/sdk
synced 2024-09-19 15:01:29 +00:00
5f655a8c27
Change-Id: Icb4eae77fab5257ea00ff948d3f775725398e6ab Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/142067 Commit-Queue: Bob Nystrom <rnystrom@google.com> Auto-Submit: Bob Nystrom <rnystrom@google.com> Reviewed-by: Erik Ernst <eernst@google.com>
30 lines
583 B
Dart
30 lines
583 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.
|
|
|
|
import 'package:expect/expect.dart';
|
|
|
|
class A {}
|
|
|
|
class B extends A {}
|
|
|
|
class Base<S> {}
|
|
|
|
class Mixin<T> {
|
|
void f(T arg) {}
|
|
}
|
|
|
|
abstract class Interface {
|
|
void f(covariant A arg);
|
|
}
|
|
|
|
class C<S> extends Base<S> with Mixin<B> implements Interface {}
|
|
|
|
main() {
|
|
Interface i = new C<String>();
|
|
i.f(new B());
|
|
Expect.throwsTypeError(() {
|
|
i.f(new A());
|
|
});
|
|
}
|