blob: 9ba6a696ef140348f5a3c2828a6739f4c2523c5f [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.
/*@testedFeatures=inference*/
library test;
void f0(List<int> a) {}
void f1({List<int> a}) {}
void f2(Iterable<int> a) {}
void f3(Iterable<Iterable<int>> a) {}
void f4({Iterable<Iterable<int>> a}) {}
void test() {
f0(/*@typeArgs=int*/ []);
f0(/*@typeArgs=int*/ [3]);
f0(/*@typeArgs=int*/ [/*error:LIST_ELEMENT_TYPE_NOT_ASSIGNABLE*/ "hello"]);
f0(/*@typeArgs=int*/ [/*error:LIST_ELEMENT_TYPE_NOT_ASSIGNABLE*/ "hello", 3]);
f1(a: /*@typeArgs=int*/ []);
f1(a: /*@typeArgs=int*/ [3]);
f1(a: /*@typeArgs=int*/ [/*error:LIST_ELEMENT_TYPE_NOT_ASSIGNABLE*/ "hello"]);
f1(a: /*@typeArgs=int*/ [
/*error:LIST_ELEMENT_TYPE_NOT_ASSIGNABLE*/ "hello",
3
]);
f2(/*@typeArgs=int*/ []);
f2(/*@typeArgs=int*/ [3]);
f2(/*@typeArgs=int*/ [/*error:LIST_ELEMENT_TYPE_NOT_ASSIGNABLE*/ "hello"]);
f2(/*@typeArgs=int*/ [/*error:LIST_ELEMENT_TYPE_NOT_ASSIGNABLE*/ "hello", 3]);
f3(/*@typeArgs=Iterable<int>*/ []);
f3(/*@typeArgs=Iterable<int>*/ [
/*@typeArgs=int*/ [3]
]);
f3(/*@typeArgs=Iterable<int>*/ [
/*@typeArgs=int*/ [/*error:LIST_ELEMENT_TYPE_NOT_ASSIGNABLE*/ "hello"]
]);
f3(/*@typeArgs=Iterable<int>*/ [
/*@typeArgs=int*/ [/*error:LIST_ELEMENT_TYPE_NOT_ASSIGNABLE*/ "hello"],
/*@typeArgs=int*/ [3]
]);
f4(a: /*@typeArgs=Iterable<int>*/ []);
f4(a: /*@typeArgs=Iterable<int>*/ [
/*@typeArgs=int*/ [3]
]);
f4(a: /*@typeArgs=Iterable<int>*/ [
/*@typeArgs=int*/ [/*error:LIST_ELEMENT_TYPE_NOT_ASSIGNABLE*/ "hello"]
]);
f4(a: /*@typeArgs=Iterable<int>*/ [
/*@typeArgs=int*/ [/*error:LIST_ELEMENT_TYPE_NOT_ASSIGNABLE*/ "hello"],
/*@typeArgs=int*/ [3]
]);
}
main() {}