| // Copyright (c) 2021, 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. |
| |
| typedef Alias<T extends num> = Class<T>; |
| |
| class Class<T> { |
| Class(); |
| factory Class.fact() => Class<T>(); |
| factory Class.redirect() = Class<T>; |
| } |
| |
| const a = Class.new; |
| const b = Class.fact; |
| const c = Class.redirect; |
| const d = Alias.new; |
| const e = Alias.fact; |
| const f = Alias.redirect; |
| |
| main() { |
| print('$a$b$c$d$e$f'); |
| } |