// Copyright (c) 2017, 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. // @dart=2.9 /*@testedFeatures=inference*/ library test; test1() { var /*@ type=Map* */ x = /*@ typeArgs=int*, String* */ {1: 'x', 2: 'y'}; x /*@target=Map.[]=*/ [3] = 'z'; x /*@target=Map.[]=*/ [ /*error:ARGUMENT_TYPE_NOT_ASSIGNABLE*/ 'hi'] = 'w'; x /*@target=Map.[]=*/ [ /*error:ARGUMENT_TYPE_NOT_ASSIGNABLE*/ 4.0] = 'u'; x /*@target=Map.[]=*/ [3] = /*error:INVALID_ASSIGNMENT*/ 42; Map y = x; } test2() { var /*@ type=Map* */ x = /*@ typeArgs=num*, Pattern* */ { 1: 'x', 2: 'y', 3.0: new RegExp('.') }; x /*@target=Map.[]=*/ [3] = 'z'; x /*@target=Map.[]=*/ [ /*error:ARGUMENT_TYPE_NOT_ASSIGNABLE*/ 'hi'] = 'w'; x /*@target=Map.[]=*/ [4.0] = 'u'; x /*@target=Map.[]=*/ [3] = /*error:INVALID_ASSIGNMENT*/ 42; Pattern p = null; x /*@target=Map.[]=*/ [2] = p; Map y = /*info:ASSIGNMENT_CAST*/ x; } main() {}