blob: 11d5508767b734f1cc6a3384fd320633f7fb9f5a [file] [log] [blame]
// Copyright (c) 2024, 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.
// This test case exercises the code path in type constraint generation where a
// type is constrained by a `FutureOr<T>` from above for some type `T`.
import 'dart:async';
Future<T> inferable1<T>(T t) => new Future<T>.value(t);
context1(FutureOr<num> futureOrNum) {}
FutureOr<T> inferable2<T>(T t) => t;
context2(Object x) {}
main() {
context1(inferable1 /*T <: num,T :> int*/ (0));
context2(inferable2 /*T <: Object,T :> bool*/ (false));
}