blob: e53945d970afceea976449d2b27681bd21c13447 [file] [log] [blame]
// Copyright (c) 2019, 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
/// @assertion Finally, we define inference on a setOrMapLiteral collection as
/// follows:
/// ...
/// Otherwise, collection is still ambiguous, the downwards context for the
/// elements of collection is ?, and the disambiguation is done using the
/// immediate elements of collection as follows:
/// ...
/// Otherwise, the literal cannot be disambiguated and it is a compile-time error.
///
/// @description Checks that if collection is still ambiguous it is a
/// compile-time error
/// @author sgrekhov@unipro.ru
class C<T> {
test(T t) {
var v = {...t}; //# 01: compile-time error
}
}
main() {
var iterable = [1, 2];
var map = {1: 2};
var ambiguous1 = {...iterable, ...map}; //# 02: compile-time error
dynamic dyn;
var ambiguous2 = {...dyn}; //# 03: compile-time error
}