blob: f4a259657dca481a550f1a2016b7fc40eac19990 [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.md file.
// @dart=2.6
// The test checks that type arguments of the target of redirection factory
// constructors are preserved throughout the chain of redirections.
import 'package:expect/expect.dart';
class A<T> {
factory A() = B<T, num>;
A.empty();
}
class B<U, W> extends A<U> {
factory B() = C<U, W, String>;
B.empty() : super.empty();
}
class C<V, S, R> extends B<V, S> {
C() : super.empty();
toString() => "${V},${S},${R}";
}
main() {
Expect.equals("${new A<int>()}", "int,num,String");
}