| // Copyright (c) 2024, 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. |
| |
| // Tests that generic constants can be constructed from a named factory. |
| |
| import "package:expect/expect.dart"; |
| |
| class Optional<T> { |
| final T? value; |
| const Optional.absent() : value = null; |
| } |
| |
| class Foo { |
| Optional<int> value; |
| Foo._(this.value); |
| factory Foo.named() { |
| return Foo._(const Optional.absent()); |
| } |
| } |
| |
| void main() { |
| var foo = Foo.named(); |
| Expect.equals(foo.value, const Optional<int>.absent()); |
| Expect.equals(foo.value.value, null); |
| } |