blob: d0c19132763a844acdb5e7df891cdb68bf8fe098 [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;
class F0 {
F0(List<int> a) {}
}
class F1 {
F1({List<int> a}) {}
}
class F2 {
F2(Iterable<int> a) {}
}
class F3 {
F3(Iterable<Iterable<int>> a) {}
}
class F4 {
F4({Iterable<Iterable<int>> a}) {}
}
void test() {
new F0(/*@ typeArgs=int* */ []);
new F0(/*@ typeArgs=int* */ [3]);
new F0(
/*@ typeArgs=int* */ [/*error:LIST_ELEMENT_TYPE_NOT_ASSIGNABLE*/ "hello"]);
new F0(/*@ typeArgs=int* */ [
/*error:LIST_ELEMENT_TYPE_NOT_ASSIGNABLE*/ "hello",
3
]);
new F1(a: /*@ typeArgs=int* */ []);
new F1(a: /*@ typeArgs=int* */ [3]);
new F1(a: /*@ typeArgs=int* */ [
/*error:LIST_ELEMENT_TYPE_NOT_ASSIGNABLE*/ "hello"
]);
new F1(a: /*@ typeArgs=int* */ [
/*error:LIST_ELEMENT_TYPE_NOT_ASSIGNABLE*/ "hello",
3
]);
new F2(/*@ typeArgs=int* */ []);
new F2(/*@ typeArgs=int* */ [3]);
new F2(
/*@ typeArgs=int* */ [/*error:LIST_ELEMENT_TYPE_NOT_ASSIGNABLE*/ "hello"]);
new F2(/*@ typeArgs=int* */ [
/*error:LIST_ELEMENT_TYPE_NOT_ASSIGNABLE*/ "hello",
3
]);
new F3(/*@ typeArgs=Iterable<int*>* */ []);
new F3(/*@ typeArgs=Iterable<int*>* */ [
/*@ typeArgs=int* */ [3]
]);
new F3(/*@ typeArgs=Iterable<int*>* */ [
/*@ typeArgs=int* */ [/*error:LIST_ELEMENT_TYPE_NOT_ASSIGNABLE*/ "hello"]
]);
new F3(/*@ typeArgs=Iterable<int*>* */ [
/*@ typeArgs=int* */ [/*error:LIST_ELEMENT_TYPE_NOT_ASSIGNABLE*/ "hello"],
/*@ typeArgs=int* */ [3]
]);
new F4(a: /*@ typeArgs=Iterable<int*>* */ []);
new F4(a: /*@ typeArgs=Iterable<int*>* */ [
/*@ typeArgs=int* */ [3]
]);
new F4(a: /*@ typeArgs=Iterable<int*>* */ [
/*@ typeArgs=int* */ [/*error:LIST_ELEMENT_TYPE_NOT_ASSIGNABLE*/ "hello"]
]);
new F4(a: /*@ typeArgs=Iterable<int*>* */ [
/*@ typeArgs=int* */ [/*error:LIST_ELEMENT_TYPE_NOT_ASSIGNABLE*/ "hello"],
/*@ typeArgs=int* */ [3]
]);
}
main() {}