anchor.diff:    b = /*error:INVALID_ASSIGNMENT*/"hi";
     b = new B(3);
     c1 = [];
  -  c1 = /*error:INVALID_ASSIGNMENT*/{};
  +  c1 = /*error:INVALID_ASSIGNMENT,info:INFERRED_TYPE_LITERAL*/{};
     c2 = [];
  -  c2 = /*error:INVALID_ASSIGNMENT*/{};
  -  d = {};
  +  c2 = /*error:INVALID_ASSIGNMENT,info:INFERRED_TYPE_LITERAL*/{};
  +  d = /*info:INFERRED_TYPE_LITERAL*/{};
     d = /*error:INVALID_ASSIGNMENT*/3;
     e = new A();
  -  e = /*error:INVALID_ASSIGNMENT*/{};
  +  e = /*error:INVALID_ASSIGNMENT,info:INFERRED_TYPE_LITERAL*/{};
     f = 3;
     f = /*error:INVALID_ASSIGNMENT*/false;
     g = 1;
  
positive.code: ''');
    }
  
    @FailingTest(issue: 'https://github.com/dart-lang/sdk/issues/35569')
    test_downwardsInferenceOnMapLiterals() async {
      await checkFileElement('''
  void foo([Map<int, String> m1 = /*info:INFERRED_TYPE_LITERAL*/const {1: "hello"},
      Map<int, String> m2 = /*info:INFERRED_TYPE_LITERAL*/const {
        // One error is from type checking and the other is from const evaluation.
        /*error:MAP_KEY_TYPE_NOT_ASSIGNABLE,error:MAP_KEY_TYPE_NOT_ASSIGNABLE*/"hello":
            "world"
      }]) {
  }
  
negative.code:     const Map<int, String> l0 = /*info:INFERRED_TYPE_LITERAL*/const {};
      const Map<int, String> l1 = /*info:INFERRED_TYPE_LITERAL*/const {3: "hello"};
      const Map<int, String> l2 = /*info:INFERRED_TYPE_LITERAL*/const {
        /*error:MAP_KEY_TYPE_NOT_ASSIGNABLE*/"hello":
            "hello"
      };
      const Map<int, String> l3 = /*info:INFERRED_TYPE_LITERAL*/const {
        3: /*error:MAP_VALUE_TYPE_NOT_ASSIGNABLE*/3
      };
      const Map<int, String> l4 = /*info:INFERRED_TYPE_LITERAL*/const {
        3:"hello",
        /*error:MAP_KEY_TYPE_NOT_ASSIGNABLE*/"hello":
            /*error:MAP_VALUE_TYPE_NOT_ASSIGNABLE*/3
      };
    }
  }
  ''');
    }
  
    test_downwardsInferenceYieldYieldStar() async {
      await checkFileElement('''
  import 'dart:async';
  