// Copyright (c) 2021, 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. import "dart:async"; T id(T value) => value; main() async { FutureOr x = 1 + id(1); FutureOr y = 1 + id(1) ..checkStaticType>(); FutureOr z = 1 + contextType(1) ..checkStaticType>(); } extension on T { void checkStaticType>() {} } typedef Exactly = T Function(T); T contextType(Object? o) => o as T;