// 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 C<T> {
  T t;
  C();

  factory C.named(T t) {
    var /*@type=C<C::named::T>*/ x = new C<T>();
    x. /*@target=C::t*/ t = t;
    return x;
  }
}

main() {
  var /*@type=C<int>*/ x = new /*@typeArgs=int*/ C.named(42);
}
