anchor.diff:    }
   
     void test_voidReturnTypeSubtypesDynamic() {
  +    var unit = checkFile(r'''
  +T run<T>(T f()) {
  +  print("running");
  +  var t = f();
  +  print("done running");
  +  return t;
  +}
  +
  +
  +void printRunning() { print("running"); }
  +var x = run<dynamic>(printRunning);
  +var y = run(printRunning);
  +
  +main() {
  +  void printRunning() { print("running"); }
  +  var x = run<dynamic>(printRunning);
  +  var y = run(printRunning);
  +  x = 123;
  +  x = 'hi';
  +  y = 123;
  +  y = 'hi';
  +}
  +    ''');
  +
  +    var x = unit.topLevelVariables[0];
  +    var y = unit.topLevelVariables[1];
  +    expect(x.type.toString(), 'dynamic');
  +    expect(y.type.toString(), 'dynamic');
  +  }
  +
  +  void test_voidReturnTypeSubtypesDynamic_comment() {
       var unit = checkFile(r'''
   /*=T*/ run/*<T>*/(/*=T*/ f()) {
     print("running");
  
positive.code:   dynamic g(int x) => x;
  }
  class D extends C {
    /*=T*/ m/*<T>*/(/*=T*/ x) => x;
    /*=T*/ g/*<T>*/(/*=T*/ x) => x;
  }
  
negative.code:   }
  
    void test_futureUnion_downwardsGenericMethodWithGenericReturn() {
      // Regression test for https://github.com/dart-lang/sdk/issues/27284
      checkFile(r'''
  import 'dart:async';
  
  T id<T>(T x) => x;
  
  main() async {
    Future<String> f;
    String s = await id(f);
  }
      ''');
    }
  
    void test_futureUnion_downwardsGenericMethodWithGenericReturn_comment() {
      // Regression test for https://github.com/dart-lang/sdk/issues/27284
      checkFile(r'''
  import 'dart:async';
  