blob: 4ca5367ada9ab6275b30f49ebad04a6a9f6789cb [file] [log] [blame]
// 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<int*, String*>* */ 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<num, String> y = x;
}
test2() {
var /*@ type=Map<num*, Pattern*>* */ 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<int, String> y = /*info:ASSIGNMENT_CAST*/ x;
}
main() {}