| // 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. |
| // SharedOptions=--supermixin |
| |
| abstract class A<T> {} |
| |
| class B {} |
| |
| class M<T> extends 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 in the "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 |
| |
| main() {} |