blob: c71cdb69af2672bb1dfecaee5fb4c658bcfe8fbf [file] [log] [blame]
// Copyright (c) 2018, 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;
void main() {
var /*@ type=List<List<String*>*>* */ l = /*@ typeArgs=List<String*>* */ [
/*@ typeArgs=String* */ ["hi", "world"]
];
var /*@ type=Iterable<List<String*>*>* */ i1 =
l. /*@target=Iterable.map*/ /*@ typeArgs=List<String*>* */ map(
/*@ returnType=List<String*>* */ (/*@ type=List<String*>* */ ll) =>
ll /*@target=List.==*/ ?? /*@ typeArgs=String* */ []);
var /*@ type=Iterable<int*>* */ i2 =
i1. /*@target=Iterable.map*/ /*@ typeArgs=int* */ map(
/*@ returnType=int* */ (List<String> l) =>
l. /*@target=List.length*/ length);
print(i2);
}