| // 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. |
| |
| // @dart = 2.7 |
| |
| /// Regression test for https://github.com/dart-lang/sdk/issues/30002. |
| /// |
| /// The compiler used to keep all metadata (other than type information) in one |
| /// global table that was shipped with the main output unit. For most metadata |
| /// this was OK because it was refering to strings and other simple constants. |
| /// However, we also allow to refer to tear-offs of top-level functions. When |
| /// that top-level function was assigned to a deferred fragment, the metadata |
| /// initialization would simply fail. |
| import 'default_arg_is_tearoff_lib.dart' deferred as lib; |
| |
| main() => lib.loadLibrary().then((_) { |
| // Call via Function.apply to ensure he metadata is generated |
| Function.apply(lib.myFunction, []); |
| }); |