-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Closed
Labels
P2A bug or feature request we're likely to work onA bug or feature request we're likely to work oncustomer-dart-sasscustomer-google3devexp-warningIssues with the analyzer's Warning codesIssues with the analyzer's Warning codeslegacy-area-analyzerUse area-devexp instead.Use area-devexp instead.type-enhancementA request for a change that isn't a bugA request for a change that isn't a bug
Description
Proposed specification:
Used to annotate compilation unit `c`.
Indicates that the unit should not be used outside of this package, and that any breaking changes that occur to the unit will not be considered a breaking change for the package.
Tools such as the analyzer, can provide feedback if:
- the compilation unit is made visible in a dart file residing in a "public" file (i.e. not in lib/src)
I'm finding this increasingly necessary when working on large packages.
For example, assume I have the following in lib/src/internal.dart
:
import 'package:meta/meta.dart';
@internal
class KeyValuePair<K, V> {
final K key;
final V value;
const KeyValuePair(this.key, this.value);
}
And later in my application I write the following in lib/my_package.dart
:
export 'package:my_package/src/internal.dart`
// ^ WARNING: Exporting symbol `KeyValuePair`, which is marked `@internal`.
nex3, har79, thosakwe, jacob314, kevmoo and 9 more
Metadata
Metadata
Assignees
Labels
P2A bug or feature request we're likely to work onA bug or feature request we're likely to work oncustomer-dart-sasscustomer-google3devexp-warningIssues with the analyzer's Warning codesIssues with the analyzer's Warning codeslegacy-area-analyzerUse area-devexp instead.Use area-devexp instead.type-enhancementA request for a change that isn't a bugA request for a change that isn't a bug