// 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.

/// @description Regression test for the issue 34482 (Unexpected type exception
/// during the assigning [Future] variable to [FutureOr]) Checks that [FutureOr]
/// object can be assigned to [Future] variable
/// @Issue 34482
/// @author iarkh@unipro.ru

import "dart:async";

main() {
  FutureOr f = new Future(() => 12345);
  Future? f1 = f;
  Future<dynamic>?  f2 = f;
  Future<Object>?   f3 = f;
  Future<void>?     f4 = f;
  Future<FutureOr>? f5 = f;
}
