// 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*>* */ l = /*@ typeArgs=List* */ [ /*@ typeArgs=String* */ ["hi", "world"] ]; var /*@ type=Iterable*>* */ i1 = l. /*@target=Iterable.map*/ /*@ typeArgs=List* */ map( /*@ returnType=List* */ (/*@ type=List* */ ll) => ll /*@target=List.==*/ ?? /*@ typeArgs=String* */ []); var /*@ type=Iterable* */ i2 = i1. /*@target=Iterable.map*/ /*@ typeArgs=int* */ map( /*@ returnType=int* */ (List l) => l. /*@target=List.length*/ length); print(i2); }