| // 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. |
| |
| // `const Alias2.impl()` is at nestedness level 2 of default values, and we |
| // need to make sure we don't crash in that case. Compiling the program still |
| // results in a compile-time error, due to function expressions not being const |
| // values, but it shouldn't crash. |
| class Class { |
| const Class.named( |
| {dynamic x = (({dynamic y = const [Alias2.impl()]}) => |
| const [Alias.impl()])}); |
| } |
| |
| typedef Alias<X> = Const<X>; |
| |
| typedef Alias2<X> = Const<X>; |
| |
| abstract class Const<X> { |
| const factory Const.impl() = _ConstImpl; |
| } |
| |
| class _ConstImpl<T> implements Const<T> { |
| const _ConstImpl(); |
| } |