// 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. // @dart=2.9 /*@testedFeatures=inference*/ library test; typedef V F(U u); class Foo { Bar get v1 => new /*@ typeArgs=Foo::T* */ Bar(); Bar> get v2 => new /*@ typeArgs=List* */ Bar(); Bar> get v3 => new /*@ typeArgs=(Foo::T*) ->* Foo::T* */ Bar(); Bar, T>> get v4 => new /*@ typeArgs=((Foo::T*) ->* Foo::T*) ->* Foo::T* */ Bar(); List get v5 => /*@ typeArgs=Foo::T* */ []; List> get v6 => /*@ typeArgs=(Foo::T*) ->* Foo::T* */ []; Map get v7 => /*@ typeArgs=Foo::T*, Foo::T* */ {}; Map, T> get v8 => /*@ typeArgs=(Foo::T*) ->* Foo::T*, Foo::T* */ {}; Map> get v9 => /*@ typeArgs=Foo::T*, (Foo::T*) ->* Foo::T* */ {}; } class Bar { const Bar(); } main() {}