// 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. // @dart = 2.7 import 'dart:async'; /*spec.class: global#Future:deps=[A],implicit=[Future*>],indirect,needsArgs*/ /*class: A:explicit=[FutureOr*>*],implicit=[B,Future*>],indirect,needsArgs*/ class A { m(o) => o is FutureOr>; } /*class: B:deps=[A],explicit=[FutureOr*>*],implicit=[B,Future*>],needsArgs*/ class B {} /*class: C:implicit=[C]*/ class C {} main() { new A().m(new B()); }