mirror of
https://github.com/dart-lang/sdk
synced 2024-09-18 21:51:18 +00:00
32 lines
1 KiB
Dart
32 lines
1 KiB
Dart
// Copyright (c) 2016, 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.
|
|
// SharedOptions=--supermixin
|
|
|
|
// Validate the following test from section 12 ("Mixins") of the spec:
|
|
//
|
|
// "Let M_A be a mixin derived from a class M with direct superclass
|
|
// S_static.
|
|
//
|
|
// Let A be an application of M_A. It is a static warning if the
|
|
// superclass of A is not a subtype of S_static."
|
|
|
|
// In this test, M is declared as `class M = S_static with G;`.
|
|
|
|
class B {}
|
|
class C {}
|
|
class D {}
|
|
class E extends B with C implements D {}
|
|
class F extends E {}
|
|
class A
|
|
= E with M; class M = B with G; class G /// 01: ok
|
|
= E with M; class M = C with G; class G /// 02: static type warning
|
|
= E with M; class M = D with G; class G /// 03: ok
|
|
= E with M; class M = E with G; class G /// 04: ok
|
|
= E with M; class M = F with G; class G /// 05: static type warning
|
|
{}
|
|
|
|
main() {
|
|
new A();
|
|
}
|