Skip to content

Upgrading collection 0.9 to 1

Breaking0.9.4 → 1.19.1Breaking2Platform2Deprecated2New14Changed8Fixed3Other8

Fetching 48 releases from GitHub…14 / 48
BreakingUpgrade verdict

2 breaking changes and 2 platform requirement changes.

  • Remove the unusable setter UnionSetController.set=.
  • Note that 1.15.0 may not be the final stable null safety release version, we reserve the right to release it as a 2.0.0 breaking change.
  • You must use Dart 3.4.0 or newer.
  • Require Dart 2.18.
Top 5 of 6 that need code or config changes

Dart SDK requirement changed in 1.19.0: >=1.0.0 <2.0.0 → ^3.4.0.

Breaking2
Remove the unusable setter UnionSetController.set=.
UnionSetController.set=
Note that 1.15.0 may not be the final stable null safety release version, we reserve the right to release it as a 2.0.0 breaking change.
Platform2
Requires Dart ^3.4.0.
Require Dart 2.18.
Deprecated2
Deprecates transitiveClosure and suggests using package:graphs.
transitiveClosure
Deprecates whereNotNull() from IterableNullableExtension in favor of nonNulls.
whereNotNull()IterableNullableExtensionnonNulls

Generated by DepDelta from published Dart source. Not mixed with prose notes.

  • changed: function binarySearch(List sortedList, var key, { int compare(var a, var b) }): int → function binarySearch<E>(List<E> sortedList, E value, {int Function(E, E)? compare}): int
  • changed: function insertionSort(List list, { int compare(a, b), int start = …, int end = …}): void → function insertionSort<E>(List<E> elements, {int Function(E, E)? compare, int start = …, int? end}): void
  • changed: function mergeSort(List list, {int start = …, int end = …, int compare(a, b)}): void → function mergeSort<E>(List<E> elements, {int start = …, int? end, int Function(E, E)? compare}): void
  • changed: function reverse(List list, [int start = …, int end = …]): void → function reverse<E>(List<E> elements, [int start = …, int? end]): void
  • changed: function shuffle(List list, [int start = …, int end = …]): void → function shuffle(List elements, [int start = …, int? end, Random? random]): void
  • added: function lowerBound<E>(List<E> sortedList, E value, {int Function(E, E)? compare}): int
  • removed: class UnmodifiableMapView<K, V> extends DelegatingMap<K, V> with UnmodifiableMapMixin<K, V>
  • removed: ctor UnmodifiableMapView(Map<K, V> baseMap)
  • removed: field CanonicalizedMap.Pair<K: final
  • changed: class DefaultEquality implements Equality → class DefaultEquality<E> implements Equality<E>
  • changed: class DelegatingList<E> extends DelegatingIterable<E> implements List<E> → class DelegatingList<E> extends _DelegatingIterableBase<E> implements List<E>
  • changed: class DelegatingQueue<E> extends DelegatingIterable<E> implements Queue<E> → class DelegatingQueue<E> extends _DelegatingIterableBase<E> implements Queue<E>
  • changed: class DelegatingSet<E> extends DelegatingIterable<E> implements Set<E> → class DelegatingSet<E> extends _DelegatingIterableBase<E> implements Set<E>
  • changed: class IdentityEquality implements Equality → class IdentityEquality<E> implements Equality<E>
  • changed: class IterableZip extends IterableBase<List> → class IterableZip<T> extends IterableBase<List<T>>
  • changed: class NonGrowableListMixin<E>: abstract implements List<E> → class NonGrowableListMixin<E>: abstract mixin implements List<E>
  • changed: class UnmodifiableMapMixin<K, V>: abstract implements Map<K, V> → class UnmodifiableMapMixin<K, V>: abstract mixin implements Map<K, V>
  • changed: class UnmodifiableSetMixin<E>: abstract implements Set<E> → class UnmodifiableSetMixin<E>: abstract mixin implements Set<E>
  • changed: ctor CanonicalizedMap(C canonicalize(K key), {bool isValidKey(K key)}) → ctor CanonicalizedMap(C Function(K key) canonicalize, {bool Function(K key)? isValidKey})
  • changed: ctor CanonicalizedMap.from(Map<K, V> other, C canonicalize(K key), {bool isValidKey(K key)}) → ctor CanonicalizedMap.from(Map<K, V> other, C Function(K key) canonicalize, {bool Function(K key)? isValidKey})
  • changed: ctor HeapPriorityQueue([int comparison(E e1, E e2)]) → ctor HeapPriorityQueue([int Function(E, E)? comparison])
  • changed: ctor IterableEquality([Equality<E> elementEquality = …]) → ctor IterableEquality( [Equality<E> elementEquality = …])
  • changed: ctor IterableZip(Iterable<Iterable> iterables) → ctor IterableZip(Iterable<Iterable<T>> iterables)
  • changed: ctor ListEquality([Equality<E> elementEquality = …]) → ctor ListEquality( [Equality<E> elementEquality = …])
  • changed: ctor MapEquality({ Equality<K> keys = …, Equality<V> values = …}) → ctor MapEquality( {Equality<K> keys = …, Equality<V> values = …})
  • changed: ctor MapKeySet(Map<E, dynamic> base) → ctor MapKeySet(this._baseMap)
  • changed: ctor MapValueSet(Map<K, V> base, K keyForValue(V value)) → ctor MapValueSet(this._baseMap, this._keyForValue)
  • changed: ctor NonGrowableListView(List<E> listBase) → ctor NonGrowableListView(super.listBase)
  • changed: ctor SetEquality( [Equality<E> elementEquality = …]) → ctor SetEquality([super.elementEquality = …])
  • changed: ctor UnmodifiableSetView(Set<E> setBase) → ctor UnmodifiableSetView(super.setBase)
  • changed: ctor UnorderedIterableEquality( [Equality<E> elementEquality = …]) → ctor UnorderedIterableEquality( [super.elementEquality = …])
  • changed: field CanonicalizedMap.V>>(): final → field CanonicalizedMap.V>>: final
  • changed: field HeapPriorityQueue.comparison: final Comparator → field HeapPriorityQueue.comparison: final Comparator<E>
  • changed: function binarySearch(List sortedList, var key, { int compare(var a, var b) }): int → function binarySearch<E>(List<E> sortedList, E value, {int Function(E, E)? compare}): int
  • changed: function insertionSort(List list, { int compare(a, b), int start = …, int end = …}): void → function insertionSort<E>(List<E> elements, {int Function(E, E)? compare, int start = …, int? end}): void
  • changed: function mergeSort(List list, {int start = …, int end = …, int compare(a, b)}): void → function mergeSort<E>(List<E> elements, {int start = …, int? end, int Function(E, E)? compare}): void
  • changed: function reverse(List list, [int start = …, int end = …]): void → function reverse<E>(List<E> elements, [int start = …, int? end]): void
  • changed: function shuffle(List list, [int start = …, int end = …]): void → function shuffle(List elements, [int start = …, int? end, Random? random]): void
  • changed: get IterableZip.iterator: Iterator<List> → get IterableZip.iterator: Iterator<List<T>>
  • changed: method CanonicalizedMap.containsKey(Object key): bool → method CanonicalizedMap.containsKey(Object? key): bool
  • changed: method CanonicalizedMap.containsValue(Object value): bool → method CanonicalizedMap.containsValue(Object? value): bool
  • changed: method CanonicalizedMap.forEach(void f(K key, V value)): void → method CanonicalizedMap.forEach(void Function(K, V) f): void
  • changed: method CanonicalizedMap.operator [](Object key): V → method CanonicalizedMap.operator [](Object? key): V?
  • changed: method CanonicalizedMap.putIfAbsent(K key, V ifAbsent()): V → method CanonicalizedMap.putIfAbsent(K key, V Function() ifAbsent): V
  • changed: method CanonicalizedMap.remove(Object key): V → method CanonicalizedMap.remove(Object? key): V?
  • changed: method DeepCollectionEquality.equals(e1, e2): bool → method DeepCollectionEquality.equals(Object? e1, Object? e2): bool
  • changed: method DeepCollectionEquality.hash(Object o): int → method DeepCollectionEquality.hash(Object? o): int
  • changed: method DeepCollectionEquality.isValidKey(Object o): bool → method DeepCollectionEquality.isValidKey(Object? o): bool
  • changed: method DefaultEquality.equals(Object e1, Object e2): bool → method DefaultEquality.equals(Object? e1, Object? e2): bool
  • changed: method DefaultEquality.hash(Object e): int → method DefaultEquality.hash(Object? e): int
  • changed: method DefaultEquality.isValidKey(Object o): bool → method DefaultEquality.isValidKey(Object? o): bool
  • changed: method DelegatingList.fillRange(int start, int end, [E fillValue]): void → method DelegatingList.fillRange(int start, int end, [E? fillValue]): void
  • changed: method DelegatingList.lastIndexOf(E element, [int start]): int → method DelegatingList.lastIndexOf(E element, [int? start]): int
  • changed: method DelegatingList.remove(Object value): bool → method DelegatingList.remove(Object? value): bool
  • changed: method DelegatingList.removeWhere(bool test(E element)): void → method DelegatingList.removeWhere(bool Function(E) test): void
  • changed: method DelegatingList.retainWhere(bool test(E element)): void → method DelegatingList.retainWhere(bool Function(E) test): void
  • changed: method DelegatingList.shuffle([Random random]): void → method DelegatingList.shuffle([math.Random? random]): void
  • changed: method DelegatingList.sort([int compare(E a, E b)]): void → method DelegatingList.sort([int Function(E, E)? compare]): void
  • changed: method DelegatingList.sublist(int start, [int end]): List<E> → method DelegatingList.sublist(int start, [int? end]): List<E>
  • changed: method DelegatingMap.containsKey(Object key): bool → method DelegatingMap.containsKey(Object? key): bool
  • changed: method DelegatingMap.containsValue(Object value): bool → method DelegatingMap.containsValue(Object? value): bool
  • changed: method DelegatingMap.forEach(void f(K key, V value)): void → method DelegatingMap.forEach(void Function(K, V) f): void
  • changed: method DelegatingMap.operator [](Object key): V → method DelegatingMap.operator [](Object? key): V?
  • changed: method DelegatingMap.putIfAbsent(K key, V ifAbsent()): V → method DelegatingMap.putIfAbsent(K key, V Function() ifAbsent): V
  • changed: method DelegatingMap.remove(Object key): V → method DelegatingMap.remove(Object? key): V?
  • changed: method DelegatingQueue.remove(Object object): bool → method DelegatingQueue.remove(Object? object): bool
  • changed: method DelegatingQueue.removeWhere(bool test(E element)): void → method DelegatingQueue.removeWhere(bool Function(E) test): void
  • changed: method DelegatingQueue.retainWhere(bool test(E element)): void → method DelegatingQueue.retainWhere(bool Function(E) test): void
  • changed: method DelegatingSet.containsAll(Iterable<Object> other): bool → method DelegatingSet.containsAll(Iterable<Object?> other): bool
  • changed: method DelegatingSet.difference(Set<E> other): Set<E> → method DelegatingSet.difference(Set<Object?> other): Set<E>
  • changed: method DelegatingSet.intersection(Set<Object> other): Set<E> → method DelegatingSet.intersection(Set<Object?> other): Set<E>
  • changed: method DelegatingSet.lookup(E element): E → method DelegatingSet.lookup(Object? element): E?
  • changed: method DelegatingSet.remove(Object value): bool → method DelegatingSet.remove(Object? value): bool
  • changed: method DelegatingSet.removeAll(Iterable<Object> elements): void → method DelegatingSet.removeAll(Iterable<Object?> elements): void
  • changed: method DelegatingSet.removeWhere(bool test(E element)): void → method DelegatingSet.removeWhere(bool Function(E) test): void
  • changed: method DelegatingSet.retainAll(Iterable<Object> elements): void → method DelegatingSet.retainAll(Iterable<Object?> elements): void
  • changed: method DelegatingSet.retainWhere(bool test(E element)): void → method DelegatingSet.retainWhere(bool Function(E) test): void
  • changed: method Equality.isValidKey(Object o): bool → method Equality.isValidKey(Object? o): bool
  • changed: method IdentityEquality.equals(Object e1, Object e2): bool → method IdentityEquality.equals(E e1, E e2): bool
  • changed: method IdentityEquality.hash(Object e): int → method IdentityEquality.hash(E e): int
  • changed: method IdentityEquality.isValidKey(Object o): bool → method IdentityEquality.isValidKey(Object? o): bool
  • changed: method IterableEquality.equals(Iterable<E> elements1, Iterable<E> elements2): bool → method IterableEquality.equals(Iterable<E>? elements1, Iterable<E>? elements2): bool
  • changed: method IterableEquality.hash(Iterable<E> elements): int → method IterableEquality.hash(Iterable<E>? elements): int
  • changed: method IterableEquality.isValidKey(Object o): bool → method IterableEquality.isValidKey(Object? o): bool
  • changed: method ListEquality.equals(List<E> e1, List<E> e2): bool → method ListEquality.equals(List<E>? list1, List<E>? list2): bool
  • changed: method ListEquality.hash(List<E> e): int → method ListEquality.hash(List<E>? list): int
  • changed: method ListEquality.isValidKey(Object o): bool → method ListEquality.isValidKey(Object? o): bool
  • changed: method MapEquality.equals(Map<K, V> e1, Map<K, V> e2): bool → method MapEquality.equals(Map<K, V>? map1, Map<K, V>? map2): bool
  • changed: method MapEquality.hash(Map<K, V> map): int → method MapEquality.hash(Map<K, V>? map): int
  • changed: method MapEquality.isValidKey(Object o): bool → method MapEquality.isValidKey(Object? o): bool
  • changed: method MapKeySet.contains(Object element): bool → method MapKeySet.contains(Object? element): bool
  • changed: method MapKeySet.containsAll(Iterable<Object> other): bool → method MapKeySet.containsAll(Iterable<Object?> other): bool
  • changed: method MapKeySet.difference(Set<E> other): Set<E> → method MapKeySet.difference(Set<Object?> other): Set<E>
  • changed: method MapKeySet.intersection(Set<Object> other): Set<E> → method MapKeySet.intersection(Set<Object?> other): Set<E>
  • changed: method MapKeySet.lookup(E element): E → method MapKeySet.lookup(Object? element): E
  • changed: method MapValueSet.contains(Object element): bool → method MapValueSet.contains(Object? element): bool
  • changed: method MapValueSet.containsAll(Iterable<Object> other): bool → method MapValueSet.containsAll(Iterable<Object?> other): bool
  • changed: method MapValueSet.difference(Set<V> other): Set<V> → method MapValueSet.difference(Set<Object?> other): Set<V>
  • changed: method MapValueSet.intersection(Set<Object> other): Set<V> → method MapValueSet.intersection(Set<Object?> other): Set<V>
  • changed: method MapValueSet.lookup(V element): V → method MapValueSet.lookup(Object? element): V?
  • changed: method MapValueSet.remove(Object value): bool → method MapValueSet.remove(Object? element): bool
  • changed: method MapValueSet.removeAll(Iterable<Object> elements): void → method MapValueSet.removeAll(Iterable<Object?> elements): void
  • changed: method MapValueSet.removeWhere(bool test(V element)): void → method MapValueSet.removeWhere(bool Function(V) test): void
  • changed: method MapValueSet.retainAll(Iterable<Object> elements): void → method MapValueSet.retainAll(Iterable<Object?> elements): void
  • changed: method MapValueSet.retainWhere(bool test(V element)): void → method MapValueSet.retainWhere(bool Function(V) test): void
  • changed: method MultiEquality.isValidKey(Object o): bool → method MultiEquality.isValidKey(Object? o): bool
  • changed: method NonGrowableListMixin.remove(Object value): bool → method NonGrowableListMixin.remove(Object? value): bool
  • changed: method NonGrowableListMixin.removeWhere(bool test(E element)): void → method NonGrowableListMixin.removeWhere(bool Function(E) test): void
  • changed: method NonGrowableListMixin.retainWhere(bool test(E element)): void → method NonGrowableListMixin.retainWhere(bool Function(E) test): void
  • changed: method SetEquality.isValidKey(Object o): bool → method SetEquality.isValidKey(Object? o): bool
  • changed: method UnmodifiableMapMixin.putIfAbsent(K key, V ifAbsent()): V → method UnmodifiableMapMixin.putIfAbsent(K key, V Function() ifAbsent): V
  • changed: method UnmodifiableMapMixin.remove(K key): V → method UnmodifiableMapMixin.remove(Object? key): V
  • changed: method UnmodifiableSetMixin.remove(Object value): bool → method UnmodifiableSetMixin.remove(Object? value): bool
  • changed: method UnmodifiableSetMixin.removeWhere(bool test(E element)): void → method UnmodifiableSetMixin.removeWhere(bool Function(E) test): void
  • changed: method UnmodifiableSetMixin.retainWhere(bool test(E element)): void → method UnmodifiableSetMixin.retainWhere(bool Function(E) test): void
  • changed: method UnorderedIterableEquality.isValidKey(Object o): bool → method UnorderedIterableEquality.isValidKey(Object? o): bool
  • added: class BoolList: abstract with ListMixin<bool>
  • added: class CaseInsensitiveEquality implements Equality<String>
  • added: class CombinedIterableView<T> extends IterableBase<T>
  • added: class CombinedListView<T> extends ListBase<T> implements UnmodifiableListView<T>
  • added: class CombinedMapView<K, V> extends UnmodifiableMapBase<K, V>
  • added: class EqualityBy<E, F> implements Equality<E>
  • added: class EqualityMap<K, V> extends DelegatingMap<K, V>
  • added: class EqualitySet<E> extends DelegatingSet<E>
  • added: class ListSlice<E> extends ListBase<E>
  • added: class QueueList<E> extends Object with ListMixin<E> implements Queue<E>
  • added: class UnionSet<E> extends SetBase<E> with UnmodifiableSetMixin<E>
  • added: class UnionSetController<E>
  • added: ctor BoolList(int length, {bool fill = …, bool growable = …})
  • added: ctor BoolList.empty({bool growable = …, int capacity = …})
  • added: ctor BoolList.generate( int length, bool Function(int) generator, { bool growable = …, })
  • added: ctor BoolList.of(Iterable<bool> elements, {bool growable = …})
  • added: ctor CanonicalizedMap.fromEntries( Iterable<MapEntry<K, V>> entries, C Function(K key) canonicalize, {bool Function(K key)? isValidKey})
  • added: ctor CaseInsensitiveEquality()
  • added: ctor CombinedIterableView(this._iterables)
  • added: ctor CombinedListView(this._lists)
  • added: ctor CombinedMapView(this._maps)
  • added: ctor EqualityBy(F Function(E) comparisonKey, [Equality<F> inner = …])
  • added: ctor EqualityMap(Equality<K> equality)
  • added: ctor EqualityMap.from(Equality<K> equality, Map<K, V> other)
  • added: ctor EqualitySet(Equality<E> equality)
  • added: ctor EqualitySet.from(Equality<E> equality, Iterable<E> other)
  • added: ctor ListSlice(this.source, this.start, int end)
  • added: ctor PriorityQueue([int Function(E, E)? comparison])
  • added: ctor QueueList([int? initialCapacity])
  • added: ctor QueueList.from(Iterable<E> source)
  • added: ctor UnionSet(Set<Set<E>> sets, {bool disjoint = …})
  • added: ctor UnionSet.from(Iterable<Set<E>> sets, {bool disjoint = …})
  • added: ctor UnionSetController({bool disjoint = …})
  • added: ctor UnmodifiableSetView.empty()
  • added: extension ComparatorExtension<T> on Comparator<T>
  • added: extension IterableComparableExtension<T extends Comparable<T>> on Iterable<T>
  • added: extension IterableDoubleExtension on Iterable<double>
  • added: extension IterableExtension<T> on Iterable<T>
  • added: extension IterableIntegerExtension on Iterable<int>
  • added: extension IterableIterableExtension<T> on Iterable<Iterable<T>>
  • added: extension IterableNullableExtension<T extends Object> on Iterable<T?>
  • added: extension IterableNumberExtension on Iterable<num>
  • added: extension ListComparableExtensions<E extends Comparable<E>> on List<E>
  • added: extension ListExtensions<E> on List<E>
  • added: field BoolList.[]: void operator
  • added: field CanonicalizedMap.MapEntry<K: final
  • added: field CombinedListView.[]: void operator
  • added: field IterableIterableExtension.sync*: Iterable<T> get flattened
  • added: field ListSlice.[]: void operator
  • added: field ListSlice.length: final int
  • added: field ListSlice.source: final List<E>
  • added: field ListSlice.start: final int
  • added: field QueueList.[]: void operator
  • added: field UnionSetController.set: final UnionSet<E>
  • added: function compareAsciiLowerCase(String a, String b): int
  • added: function compareAsciiLowerCaseNatural(String a, String b): int
  • added: function compareAsciiUpperCase(String a, String b): int
  • added: function compareAsciiUpperCaseNatural(String a, String b): int
  • added: function compareNatural(String a, String b): int
  • added: function equalsIgnoreAsciiCase(String a, String b): bool
  • added: function groupBy<S, T>(Iterable<S> values, T Function(S) key): Map<T, List<S>>
  • added: function hashIgnoreAsciiCase(String string): int
  • added: function lastBy<S, T>(Iterable<S> values, T Function(S) key): Map<T, S>
  • added: function lowerBound<E>(List<E> sortedList, E value, {int Function(E, E)? compare}): int
  • added: function mapMap<K1, V1, K2, V2>(Map<K1, V1> map, {K2 Function(K1, V1)? key, V2 Function(K1, V1)? value}): Map<K2, V2>
  • added: function maxBy<S, T>(Iterable<S> values, T Function(S) orderBy, {int Function(T, T)? compare}): S?
  • added: function mergeMaps<K, V>(Map<K, V> map1, Map<K, V> map2, {V Function(V, V)? value}): Map<K, V>
  • added: function minBy<S, T>(Iterable<S> values, T Function(S) orderBy, {int Function(T, T)? compare}): S?
  • added: function stronglyConnectedComponents<T>(Map<T, Iterable<T>> graph): List<Set<T>>
  • added: function transitiveClosure<T>(Map<T, Iterable<T>> graph): Map<T, Set<T>>
  • added: get BoolList.iterator: Iterator<bool>
  • added: get BoolList.length: int
  • added: get CanonicalizedMap.entries: Iterable<MapEntry<K, V>>
  • added: get CombinedIterableView.isEmpty: bool
  • added: get CombinedIterableView.iterator: Iterator<T>
  • added: get CombinedIterableView.length: int
  • added: get CombinedListView.iterator: Iterator<T>
  • added: get CombinedListView.length: int
  • added: get CombinedMapView.keys: Iterable<K>
  • added: get ComparatorExtension.inverse: Comparator<T>
  • added: get DelegatingMap.entries: Iterable<MapEntry<K, V>>
  • added: get HeapPriorityQueue.unorderedElements: Iterable<E>
  • added: get IterableComparableExtension.max: T
  • added: get IterableComparableExtension.maxOrNull: T?
  • added: get IterableComparableExtension.min: T
  • added: get IterableComparableExtension.minOrNull: T?
  • added: get IterableDoubleExtension.max: double
  • added: get IterableDoubleExtension.maxOrNull: double?
  • added: get IterableDoubleExtension.min: double
  • added: get IterableDoubleExtension.minOrNull: double?
  • added: get IterableDoubleExtension.sum: double
  • added: get IterableExtension.firstOrNull: T?
  • added: get IterableExtension.lastOrNull: T?
  • added: get IterableExtension.singleOrNull: T?
  • added: get IterableIntegerExtension.average: double
  • added: get IterableIntegerExtension.max: int
  • added: get IterableIntegerExtension.maxOrNull: int?
  • added: get IterableIntegerExtension.min: int
  • added: get IterableIntegerExtension.minOrNull: int?
  • added: get IterableIntegerExtension.sum: int
  • added: get IterableIterableExtension.flattenedToList: List<T>
  • added: get IterableIterableExtension.flattenedToSet: Set<T>
  • added: get IterableNumberExtension.average: double
  • added: get IterableNumberExtension.max: num
  • added: get IterableNumberExtension.maxOrNull: num?
  • added: get IterableNumberExtension.min: num
  • added: get IterableNumberExtension.minOrNull: num?
  • added: get IterableNumberExtension.sum: num
  • added: get ListSlice.end: int
  • added: get PriorityQueue.unorderedElements: Iterable<E>
  • added: get QueueList.length: int
  • added: get UnionSet.iterator: Iterator<E>
  • added: get UnionSet.length: int
  • added: method BoolList.fillRange(int start, int end, [bool? fill]): void
  • added: method BoolList.operator [](int index): bool
  • added: method CanonicalizedMap.Function(K): C
  • added: method CanonicalizedMap.Function(K): bool
  • added: method CanonicalizedMap.addEntries(Iterable<MapEntry<K, V>> entries): void
  • added: method CanonicalizedMap.cast<K2, V2>(): Map<K2, V2>
  • added: method CanonicalizedMap.copy(): CanonicalizedMap<C, K, V>
  • added: method CanonicalizedMap.map<K2, V2>(MapEntry<K2, V2> Function(K, V) transform): Map<K2, V2>
  • added: method CanonicalizedMap.removeWhere(bool Function(K key, V value) test): void
  • added: method CanonicalizedMap.retype<K2, V2>(): Map<K2, V2>
  • added: method CanonicalizedMap.toMap(): Map<K, V>
  • added: method CanonicalizedMap.toMapOfCanonicalKeys(): Map<C, V>
  • added: method CanonicalizedMap.update(K key, V Function(V) update, {V Function()? ifAbsent}): V
  • added: method CanonicalizedMap.updateAll(V Function(K key, V value) update): void
  • added: method CaseInsensitiveEquality.equals(String string1, String string2): bool
  • added: method CaseInsensitiveEquality.hash(String string): int
  • added: method CaseInsensitiveEquality.isValidKey(Object? object): bool
  • added: method CombinedIterableView.contains(Object? element): bool
  • added: method CombinedListView.clear(): void
  • added: method CombinedListView.operator [](int index): T
  • added: method CombinedListView.remove(Object? element): bool
  • added: method CombinedListView.removeWhere(bool Function(T) test): void
  • added: method CombinedListView.retainWhere(bool Function(T) test): void
  • added: method CombinedMapView.operator [](Object? key): V?
  • added: method ComparatorExtension.compareBy<R>(T Function(R) keyOf): Comparator<R>
  • added: method ComparatorExtension.then(Comparator<T> tieBreaker): Comparator<T>
  • added: method DelegatingList.cast<T>(): List<T>
  • added: method DelegatingList.indexWhere(bool Function(E) test, [int start = …]): int
  • added: method DelegatingList.lastIndexWhere(bool Function(E) test, [int? start]): int
  • added: method DelegatingList.operator +(List<E> other): List<E>
  • added: method DelegatingList.retype<T>(): List<T>
  • added: method DelegatingMap.addEntries(Iterable<MapEntry<K, V>> entries): void
  • added: method DelegatingMap.cast<K2, V2>(): Map<K2, V2>
  • added: method DelegatingMap.map<K2, V2>(MapEntry<K2, V2> Function(K, V) transform): Map<K2, V2>
  • added: method DelegatingMap.removeWhere(bool Function(K, V) test): void
  • added: method DelegatingMap.retype<K2, V2>(): Map<K2, V2>
  • added: method DelegatingMap.update(K key, V Function(V) update, {V Function()? ifAbsent}): V
  • added: method DelegatingMap.updateAll(V Function(K, V) update): void
  • added: method DelegatingQueue.cast<T>(): Queue<T>
  • added: method DelegatingQueue.retype<T>(): Queue<T>
  • added: method DelegatingSet.cast<T>(): Set<T>
  • added: method DelegatingSet.retype<T>(): Set<T>
  • added: method EqualityBy.Function(E): F
  • added: method EqualityBy.equals(E e1, E e2): bool
  • added: method EqualityBy.hash(E e): int
  • added: method EqualityBy.isValidKey(Object? o): bool
  • added: method HeapPriorityQueue.toUnorderedList(): List<E>
  • added: method IterableComparableExtension.isSorted([Comparator<T>? compare]): bool
  • added: method IterableComparableExtension.sorted([Comparator<T>? compare]): List<T>
  • added: method IterableExtension.elementAtOrNull(int index): T?
  • added: method IterableExtension.expandIndexed<R>( Iterable<R> Function(int index, T element) expand): Iterable<R>
  • added: method IterableExtension.firstWhereIndexedOrNull(bool Function(int index, T element) test): T?
  • added: method IterableExtension.firstWhereOrNull(bool Function(T element) test): T?
  • added: method IterableExtension.foldIndexed<R>( R initialValue, R Function(int index, R previous, T element) combine): R
  • added: method IterableExtension.forEachIndexed(void Function(int index, T element) action): void
  • added: method IterableExtension.forEachIndexedWhile(bool Function(int index, T element) action): void
  • added: method IterableExtension.forEachWhile(bool Function(T element) action): void
  • added: method IterableExtension.groupFoldBy<K, G>( K Function(T element) keyOf, G Function(G? previous, T element) combine): Map<K, G>
  • added: method IterableExtension.groupListsBy<K>(K Function(T element) keyOf): Map<K, List<T>>
  • added: method IterableExtension.groupSetsBy<K>(K Function(T element) keyOf): Map<K, Set<T>>
  • added: method IterableExtension.isSorted(Comparator<T> compare): bool
  • added: method IterableExtension.isSortedBy<K extends Comparable<K>>(K Function(T element) keyOf): bool
  • added: method IterableExtension.isSortedByCompare<K>( K Function(T element) keyOf, Comparator<K> compare): bool
  • added: method IterableExtension.lastBy<K>(K Function(T) key): Map<K, T>
  • added: method IterableExtension.lastWhereIndexedOrNull(bool Function(int index, T element) test): T?
  • added: method IterableExtension.lastWhereOrNull(bool Function(T element) test): T?
  • added: method IterableExtension.mapIndexed<R>(R Function(int index, T element) convert): Iterable<R>
  • added: method IterableExtension.none(bool Function(T) test): bool
  • added: method IterableExtension.reduceIndexed(T Function(int index, T previous, T element) combine): T
  • added: method IterableExtension.sample(int count, [Random? random]): List<T>
  • added: method IterableExtension.shuffled([Random? random]): List<T>
  • added: method IterableExtension.singleWhereIndexedOrNull(bool Function(int index, T element) test): T?
  • added: method IterableExtension.singleWhereOrNull(bool Function(T element) test): T?
  • added: method IterableExtension.slices(int length): Iterable<List<T>>
  • added: method IterableExtension.sorted(Comparator<T> compare): List<T>
  • added: method IterableExtension.sortedBy<K extends Comparable<K>>(K Function(T element) keyOf): List<T>
  • added: method IterableExtension.sortedByCompare<K>( K Function(T element) keyOf, Comparator<K> compare): List<T>
  • added: method IterableExtension.splitAfter(bool Function(T element) test): Iterable<List<T>>
  • added: method IterableExtension.splitAfterIndexed( bool Function(int index, T element) test): Iterable<List<T>>
  • added: method IterableExtension.splitBefore(bool Function(T element) test): Iterable<List<T>>
  • added: method IterableExtension.splitBeforeIndexed( bool Function(int index, T element) test): Iterable<List<T>>
  • added: method IterableExtension.splitBetween(bool Function(T first, T second) test): Iterable<List<T>>
  • added: method IterableExtension.splitBetweenIndexed( bool Function(int index, T first, T second) test): Iterable<List<T>>
  • added: method IterableExtension.whereIndexed(bool Function(int index, T element) test): Iterable<T>
  • added: method IterableExtension.whereNot(bool Function(T element) test): Iterable<T>
  • added: method IterableExtension.whereNotIndexed(bool Function(int index, T element) test): Iterable<T>
  • added: method IterableNullableExtension.whereNotNull(): Iterable<T>
  • added: method ListComparableExtensions.binarySearch(E element, [int Function(E, E)? compare]): int
  • added: method ListComparableExtensions.lowerBound(E element, [int Function(E, E)? compare]): int
  • added: method ListComparableExtensions.sortRange(int start, int end, [int Function(E a, E b)? compare]): void
  • added: method ListExtensions.binarySearch(E element, int Function(E, E) compare): int
  • added: method ListExtensions.binarySearchBy<K extends Comparable<K>>( E element, K Function(E element) keyOf, [int start = …, int? end]): int
  • added: method ListExtensions.binarySearchByCompare<K>( E element, K Function(E element) keyOf, int Function(K, K) compare, [int start = …, int? end]): int
  • added: method ListExtensions.elementAtOrNull(int index): E?
  • added: method ListExtensions.equals(List<E> other, [Equality<E> equality = …]): bool
  • added: method ListExtensions.expandIndexed<R>( Iterable<R> Function(int index, E element) expand): Iterable<R>
  • added: method ListExtensions.forEachIndexed(void Function(int index, E element) action): void
  • added: method ListExtensions.forEachIndexedWhile(bool Function(int index, E element) action): void
  • added: method ListExtensions.forEachWhile(bool Function(E element) action): void
  • added: method ListExtensions.lowerBound(E element, int Function(E, E) compare): int
  • added: method ListExtensions.lowerBoundBy<K extends Comparable<K>>(E element, K Function(E) keyOf, [int start = …, int? end]): int
  • added: method ListExtensions.lowerBoundByCompare<K>( E element, K Function(E) keyOf, int Function(K, K) compare, [int start = …, int? end]): int
  • added: method ListExtensions.mapIndexed<R>(R Function(int index, E element) convert): Iterable<R>
  • added: method ListExtensions.reverseRange(int start, int end): void
  • added: method ListExtensions.shuffleRange(int start, int end, [Random? random]): void
  • added: method ListExtensions.slice(int start, [int? end]): ListSlice<E>
  • added: method ListExtensions.slices(int length): Iterable<List<E>>
  • added: method ListExtensions.sortBy<K extends Comparable<K>>(K Function(E element) keyOf, [int start = …, int? end]): void
  • added: method ListExtensions.sortByCompare<K>( K Function(E element) keyOf, int Function(K a, K b) compare, [int start = …, int? end]): void
  • added: method ListExtensions.sortRange(int start, int end, int Function(E a, E b) compare): void
  • added: method ListExtensions.swap(int index1, int index2): void
  • added: method ListExtensions.whereIndexed(bool Function(int index, E element) test): Iterable<E>
  • added: method ListExtensions.whereNotIndexed(bool Function(int index, E element) test): Iterable<E>
  • added: method ListSlice.add(E element): void
  • added: method ListSlice.addAll(Iterable<E> iterable): void
  • added: method ListSlice.clear(): void
  • added: method ListSlice.insert(int index, E element): void
  • added: method ListSlice.insertAll(int index, Iterable<E> iterable): void
  • added: method ListSlice.operator [](int index): E
  • added: method ListSlice.remove(Object? element): bool
  • added: method ListSlice.removeAt(int index): E
  • added: method ListSlice.removeLast(): E
  • added: method ListSlice.removeRange(int start, int end): void
  • added: method ListSlice.removeWhere(bool Function(E element) test): void
  • added: method ListSlice.replaceRange(int start, int end, Iterable<E> newContents): void
  • added: method ListSlice.retainWhere(bool Function(E element) test): void
  • added: method ListSlice.reverseRange(int start, int end): void
  • added: method ListSlice.setRange(int start, int end, Iterable<E> iterable, [int skipCount = …]): void
  • added: method ListSlice.shuffle([Random? random]): void
  • added: method ListSlice.shuffleRange(int start, int end, [Random? random]): void
  • added: method ListSlice.slice(int start, [int? end]): ListSlice<E>
  • added: method ListSlice.sort([int Function(E a, E b)? compare]): void
  • added: method ListSlice.sortRange(int start, int end, int Function(E a, E b) compare): void
  • added: method MapKeySet.cast<T>(): Set<T>
  • added: method MapKeySet.retype<T>(): Set<T>
  • added: method MapValueSet.Function(V): K
  • added: method MapValueSet.cast<T>(): Set<T>
  • added: method MapValueSet.retype<T>(): Set<T>
  • added: method PriorityQueue.toUnorderedList(): List<E>
  • added: method QueueList.add(E element): void
  • added: method QueueList.addAll(Iterable<E> iterable): void
  • added: method QueueList.addFirst(E element): void
  • added: method QueueList.addLast(E element): void
  • added: method QueueList.cast<T>(): QueueList<T>
  • added: method QueueList.operator [](int index): E
  • added: method QueueList.removeFirst(): E
  • added: method QueueList.removeLast(): E
  • added: method QueueList.retype<T>(): QueueList<T>
  • added: method QueueList.toString(): String
  • added: method UnionSet.contains(Object? element): bool
  • added: method UnionSet.lookup(Object? element): E?
  • added: method UnionSet.toSet(): Set<E>
  • added: method UnionSetController.add(Set<E> component): void
  • added: method UnionSetController.remove(Set<E> component): bool
  • added: set CombinedListView.length(int length)
  • added: set DelegatingList.first(E value)
  • added: set DelegatingList.last(E value)
  • added: set ListSlice.length(int newLength)
  • added: set QueueList.length(int value)
  • added: set UnmodifiableMapMixin.first(_)
  • added: set UnmodifiableMapMixin.last(_)
  • added: static method DelegatingIterable.typed<E>(Iterable base): Iterable<E>
  • added: static method DelegatingList.typed<E>(List base): List<E>
  • added: static method DelegatingMap.typed<K, V>(Map base): Map<K, V>
  • added: static method DelegatingQueue.typed<E>(Queue base): Queue<E>
  • added: static method DelegatingSet.typed<E>(Set base): Set<E>
  • changed: class DefaultEquality implements Equality → class DefaultEquality<E> implements Equality<E>
  • changed: class IdentityEquality implements Equality → class IdentityEquality<E> implements Equality<E>
  • changed: ctor IterableEquality([Equality<E> elementEquality = …]) → ctor IterableEquality( [Equality<E> elementEquality = …])
  • changed: ctor ListEquality([Equality<E> elementEquality = …]) → ctor ListEquality( [Equality<E> elementEquality = …])
  • changed: ctor MapEquality({ Equality<K> keys = …, Equality<V> values = …}) → ctor MapEquality( {Equality<K> keys = …, Equality<V> values = …})
  • changed: ctor SetEquality( [Equality<E> elementEquality = …]) → ctor SetEquality([super.elementEquality = …])
  • changed: ctor UnorderedIterableEquality( [Equality<E> elementEquality = …]) → ctor UnorderedIterableEquality( [super.elementEquality = …])
  • changed: method DeepCollectionEquality.equals(e1, e2): bool → method DeepCollectionEquality.equals(Object? e1, Object? e2): bool
  • changed: method DeepCollectionEquality.hash(Object o): int → method DeepCollectionEquality.hash(Object? o): int
  • changed: method DeepCollectionEquality.isValidKey(Object o): bool → method DeepCollectionEquality.isValidKey(Object? o): bool
  • changed: method DefaultEquality.equals(Object e1, Object e2): bool → method DefaultEquality.equals(Object? e1, Object? e2): bool
  • changed: method DefaultEquality.hash(Object e): int → method DefaultEquality.hash(Object? e): int
  • changed: method DefaultEquality.isValidKey(Object o): bool → method DefaultEquality.isValidKey(Object? o): bool
  • changed: method Equality.isValidKey(Object o): bool → method Equality.isValidKey(Object? o): bool
  • changed: method IdentityEquality.equals(Object e1, Object e2): bool → method IdentityEquality.equals(E e1, E e2): bool
  • changed: method IdentityEquality.hash(Object e): int → method IdentityEquality.hash(E e): int
  • changed: method IdentityEquality.isValidKey(Object o): bool → method IdentityEquality.isValidKey(Object? o): bool
  • changed: method IterableEquality.equals(Iterable<E> elements1, Iterable<E> elements2): bool → method IterableEquality.equals(Iterable<E>? elements1, Iterable<E>? elements2): bool
  • changed: method IterableEquality.hash(Iterable<E> elements): int → method IterableEquality.hash(Iterable<E>? elements): int
  • changed: method IterableEquality.isValidKey(Object o): bool → method IterableEquality.isValidKey(Object? o): bool
  • changed: method ListEquality.equals(List<E> e1, List<E> e2): bool → method ListEquality.equals(List<E>? list1, List<E>? list2): bool
  • changed: method ListEquality.hash(List<E> e): int → method ListEquality.hash(List<E>? list): int
  • changed: method ListEquality.isValidKey(Object o): bool → method ListEquality.isValidKey(Object? o): bool
  • changed: method MapEquality.equals(Map<K, V> e1, Map<K, V> e2): bool → method MapEquality.equals(Map<K, V>? map1, Map<K, V>? map2): bool
  • changed: method MapEquality.hash(Map<K, V> map): int → method MapEquality.hash(Map<K, V>? map): int
  • changed: method MapEquality.isValidKey(Object o): bool → method MapEquality.isValidKey(Object? o): bool
  • changed: method MultiEquality.isValidKey(Object o): bool → method MultiEquality.isValidKey(Object? o): bool
  • changed: method SetEquality.isValidKey(Object o): bool → method SetEquality.isValidKey(Object? o): bool
  • changed: method UnorderedIterableEquality.isValidKey(Object o): bool → method UnorderedIterableEquality.isValidKey(Object? o): bool
  • added: class CaseInsensitiveEquality implements Equality<String>
  • added: class EqualityBy<E, F> implements Equality<E>
  • added: ctor CaseInsensitiveEquality()
  • added: ctor EqualityBy(F Function(E) comparisonKey, [Equality<F> inner = …])
  • added: method CaseInsensitiveEquality.equals(String string1, String string2): bool
  • added: method CaseInsensitiveEquality.hash(String string): int
  • added: method CaseInsensitiveEquality.isValidKey(Object? object): bool
  • added: method EqualityBy.Function(E): F
  • added: method EqualityBy.equals(E e1, E e2): bool
  • added: method EqualityBy.hash(E e): int
  • added: method EqualityBy.isValidKey(Object? o): bool
  • changed: class IterableZip extends IterableBase<List> → class IterableZip<T> extends IterableBase<List<T>>
  • changed: ctor IterableZip(Iterable<Iterable> iterables) → ctor IterableZip(Iterable<Iterable<T>> iterables)
  • changed: get IterableZip.iterator: Iterator<List> → get IterableZip.iterator: Iterator<List<T>>
  • changed: ctor HeapPriorityQueue([int comparison(E e1, E e2)]) → ctor HeapPriorityQueue([int Function(E, E)? comparison])
  • changed: field HeapPriorityQueue.comparison: final Comparator → field HeapPriorityQueue.comparison: final Comparator<E>
  • added: ctor PriorityQueue([int Function(E, E)? comparison])
  • added: get HeapPriorityQueue.unorderedElements: Iterable<E>
  • added: get PriorityQueue.unorderedElements: Iterable<E>
  • added: method HeapPriorityQueue.toUnorderedList(): List<E>
  • added: method PriorityQueue.toUnorderedList(): List<E>
  • removed: class UnmodifiableMapView<K, V> extends DelegatingMap<K, V> with UnmodifiableMapMixin<K, V>
  • removed: ctor UnmodifiableMapView(Map<K, V> baseMap)
  • removed: field CanonicalizedMap.Pair<K: final
  • changed: class DelegatingList<E> extends DelegatingIterable<E> implements List<E> → class DelegatingList<E> extends _DelegatingIterableBase<E> implements List<E>
  • changed: class DelegatingQueue<E> extends DelegatingIterable<E> implements Queue<E> → class DelegatingQueue<E> extends _DelegatingIterableBase<E> implements Queue<E>
  • changed: class DelegatingSet<E> extends DelegatingIterable<E> implements Set<E> → class DelegatingSet<E> extends _DelegatingIterableBase<E> implements Set<E>
  • changed: class NonGrowableListMixin<E>: abstract implements List<E> → class NonGrowableListMixin<E>: abstract mixin implements List<E>
  • changed: class UnmodifiableMapMixin<K, V>: abstract implements Map<K, V> → class UnmodifiableMapMixin<K, V>: abstract mixin implements Map<K, V>
  • changed: class UnmodifiableSetMixin<E>: abstract implements Set<E> → class UnmodifiableSetMixin<E>: abstract mixin implements Set<E>
  • changed: ctor CanonicalizedMap(C canonicalize(K key), {bool isValidKey(K key)}) → ctor CanonicalizedMap(C Function(K key) canonicalize, {bool Function(K key)? isValidKey})
  • changed: ctor CanonicalizedMap.from(Map<K, V> other, C canonicalize(K key), {bool isValidKey(K key)}) → ctor CanonicalizedMap.from(Map<K, V> other, C Function(K key) canonicalize, {bool Function(K key)? isValidKey})
  • changed: ctor MapKeySet(Map<E, dynamic> base) → ctor MapKeySet(this._baseMap)
  • changed: ctor MapValueSet(Map<K, V> base, K keyForValue(V value)) → ctor MapValueSet(this._baseMap, this._keyForValue)
  • changed: ctor NonGrowableListView(List<E> listBase) → ctor NonGrowableListView(super.listBase)
  • changed: ctor UnmodifiableSetView(Set<E> setBase) → ctor UnmodifiableSetView(super.setBase)
  • changed: field CanonicalizedMap.V>>(): final → field CanonicalizedMap.V>>: final
  • changed: method CanonicalizedMap.containsKey(Object key): bool → method CanonicalizedMap.containsKey(Object? key): bool
  • changed: method CanonicalizedMap.containsValue(Object value): bool → method CanonicalizedMap.containsValue(Object? value): bool
  • changed: method CanonicalizedMap.forEach(void f(K key, V value)): void → method CanonicalizedMap.forEach(void Function(K, V) f): void
  • changed: method CanonicalizedMap.operator [](Object key): V → method CanonicalizedMap.operator [](Object? key): V?
  • changed: method CanonicalizedMap.putIfAbsent(K key, V ifAbsent()): V → method CanonicalizedMap.putIfAbsent(K key, V Function() ifAbsent): V
  • changed: method CanonicalizedMap.remove(Object key): V → method CanonicalizedMap.remove(Object? key): V?
  • changed: method DelegatingList.fillRange(int start, int end, [E fillValue]): void → method DelegatingList.fillRange(int start, int end, [E? fillValue]): void
  • changed: method DelegatingList.lastIndexOf(E element, [int start]): int → method DelegatingList.lastIndexOf(E element, [int? start]): int
  • changed: method DelegatingList.remove(Object value): bool → method DelegatingList.remove(Object? value): bool
  • changed: method DelegatingList.removeWhere(bool test(E element)): void → method DelegatingList.removeWhere(bool Function(E) test): void
  • changed: method DelegatingList.retainWhere(bool test(E element)): void → method DelegatingList.retainWhere(bool Function(E) test): void
  • changed: method DelegatingList.shuffle([Random random]): void → method DelegatingList.shuffle([math.Random? random]): void
  • changed: method DelegatingList.sort([int compare(E a, E b)]): void → method DelegatingList.sort([int Function(E, E)? compare]): void
  • changed: method DelegatingList.sublist(int start, [int end]): List<E> → method DelegatingList.sublist(int start, [int? end]): List<E>
  • changed: method DelegatingMap.containsKey(Object key): bool → method DelegatingMap.containsKey(Object? key): bool
  • changed: method DelegatingMap.containsValue(Object value): bool → method DelegatingMap.containsValue(Object? value): bool
  • changed: method DelegatingMap.forEach(void f(K key, V value)): void → method DelegatingMap.forEach(void Function(K, V) f): void
  • changed: method DelegatingMap.operator [](Object key): V → method DelegatingMap.operator [](Object? key): V?
  • changed: method DelegatingMap.putIfAbsent(K key, V ifAbsent()): V → method DelegatingMap.putIfAbsent(K key, V Function() ifAbsent): V
  • changed: method DelegatingMap.remove(Object key): V → method DelegatingMap.remove(Object? key): V?
  • changed: method DelegatingQueue.remove(Object object): bool → method DelegatingQueue.remove(Object? object): bool
  • changed: method DelegatingQueue.removeWhere(bool test(E element)): void → method DelegatingQueue.removeWhere(bool Function(E) test): void
  • changed: method DelegatingQueue.retainWhere(bool test(E element)): void → method DelegatingQueue.retainWhere(bool Function(E) test): void
  • changed: method DelegatingSet.containsAll(Iterable<Object> other): bool → method DelegatingSet.containsAll(Iterable<Object?> other): bool
  • changed: method DelegatingSet.difference(Set<E> other): Set<E> → method DelegatingSet.difference(Set<Object?> other): Set<E>
  • changed: method DelegatingSet.intersection(Set<Object> other): Set<E> → method DelegatingSet.intersection(Set<Object?> other): Set<E>
  • changed: method DelegatingSet.lookup(E element): E → method DelegatingSet.lookup(Object? element): E?
  • changed: method DelegatingSet.remove(Object value): bool → method DelegatingSet.remove(Object? value): bool
  • changed: method DelegatingSet.removeAll(Iterable<Object> elements): void → method DelegatingSet.removeAll(Iterable<Object?> elements): void
  • changed: method DelegatingSet.removeWhere(bool test(E element)): void → method DelegatingSet.removeWhere(bool Function(E) test): void
  • changed: method DelegatingSet.retainAll(Iterable<Object> elements): void → method DelegatingSet.retainAll(Iterable<Object?> elements): void
  • changed: method DelegatingSet.retainWhere(bool test(E element)): void → method DelegatingSet.retainWhere(bool Function(E) test): void
  • changed: method MapKeySet.contains(Object element): bool → method MapKeySet.contains(Object? element): bool
  • changed: method MapKeySet.containsAll(Iterable<Object> other): bool → method MapKeySet.containsAll(Iterable<Object?> other): bool
  • changed: method MapKeySet.difference(Set<E> other): Set<E> → method MapKeySet.difference(Set<Object?> other): Set<E>
  • changed: method MapKeySet.intersection(Set<Object> other): Set<E> → method MapKeySet.intersection(Set<Object?> other): Set<E>
  • changed: method MapKeySet.lookup(E element): E → method MapKeySet.lookup(Object? element): E
  • changed: method MapValueSet.contains(Object element): bool → method MapValueSet.contains(Object? element): bool
  • changed: method MapValueSet.containsAll(Iterable<Object> other): bool → method MapValueSet.containsAll(Iterable<Object?> other): bool
  • changed: method MapValueSet.difference(Set<V> other): Set<V> → method MapValueSet.difference(Set<Object?> other): Set<V>
  • changed: method MapValueSet.intersection(Set<Object> other): Set<V> → method MapValueSet.intersection(Set<Object?> other): Set<V>
  • changed: method MapValueSet.lookup(V element): V → method MapValueSet.lookup(Object? element): V?
  • changed: method MapValueSet.remove(Object value): bool → method MapValueSet.remove(Object? element): bool
  • changed: method MapValueSet.removeAll(Iterable<Object> elements): void → method MapValueSet.removeAll(Iterable<Object?> elements): void
  • changed: method MapValueSet.removeWhere(bool test(V element)): void → method MapValueSet.removeWhere(bool Function(V) test): void
  • changed: method MapValueSet.retainAll(Iterable<Object> elements): void → method MapValueSet.retainAll(Iterable<Object?> elements): void
  • changed: method MapValueSet.retainWhere(bool test(V element)): void → method MapValueSet.retainWhere(bool Function(V) test): void
  • changed: method NonGrowableListMixin.remove(Object value): bool → method NonGrowableListMixin.remove(Object? value): bool
  • changed: method NonGrowableListMixin.removeWhere(bool test(E element)): void → method NonGrowableListMixin.removeWhere(bool Function(E) test): void
  • changed: method NonGrowableListMixin.retainWhere(bool test(E element)): void → method NonGrowableListMixin.retainWhere(bool Function(E) test): void
  • changed: method UnmodifiableMapMixin.putIfAbsent(K key, V ifAbsent()): V → method UnmodifiableMapMixin.putIfAbsent(K key, V Function() ifAbsent): V
  • changed: method UnmodifiableMapMixin.remove(K key): V → method UnmodifiableMapMixin.remove(Object? key): V
  • changed: method UnmodifiableSetMixin.remove(Object value): bool → method UnmodifiableSetMixin.remove(Object? value): bool
  • changed: method UnmodifiableSetMixin.removeWhere(bool test(E element)): void → method UnmodifiableSetMixin.removeWhere(bool Function(E) test): void
  • changed: method UnmodifiableSetMixin.retainWhere(bool test(E element)): void → method UnmodifiableSetMixin.retainWhere(bool Function(E) test): void
  • added: ctor CanonicalizedMap.fromEntries( Iterable<MapEntry<K, V>> entries, C Function(K key) canonicalize, {bool Function(K key)? isValidKey})
  • added: ctor UnmodifiableSetView.empty()
  • added: field CanonicalizedMap.MapEntry<K: final
  • added: get CanonicalizedMap.entries: Iterable<MapEntry<K, V>>
  • added: get DelegatingMap.entries: Iterable<MapEntry<K, V>>
  • added: method CanonicalizedMap.Function(K): C
  • added: method CanonicalizedMap.Function(K): bool
  • added: method CanonicalizedMap.addEntries(Iterable<MapEntry<K, V>> entries): void
  • added: method CanonicalizedMap.cast<K2, V2>(): Map<K2, V2>
  • added: method CanonicalizedMap.copy(): CanonicalizedMap<C, K, V>
  • added: method CanonicalizedMap.map<K2, V2>(MapEntry<K2, V2> Function(K, V) transform): Map<K2, V2>
  • added: method CanonicalizedMap.removeWhere(bool Function(K key, V value) test): void
  • added: method CanonicalizedMap.retype<K2, V2>(): Map<K2, V2>
  • added: method CanonicalizedMap.toMap(): Map<K, V>
  • added: method CanonicalizedMap.toMapOfCanonicalKeys(): Map<C, V>
  • added: method CanonicalizedMap.update(K key, V Function(V) update, {V Function()? ifAbsent}): V
  • added: method CanonicalizedMap.updateAll(V Function(K key, V value) update): void
  • added: method DelegatingList.cast<T>(): List<T>
  • added: method DelegatingList.indexWhere(bool Function(E) test, [int start = …]): int
  • added: method DelegatingList.lastIndexWhere(bool Function(E) test, [int? start]): int
  • added: method DelegatingList.operator +(List<E> other): List<E>
  • added: method DelegatingList.retype<T>(): List<T>
  • added: method DelegatingMap.addEntries(Iterable<MapEntry<K, V>> entries): void
  • added: method DelegatingMap.cast<K2, V2>(): Map<K2, V2>
  • added: method DelegatingMap.map<K2, V2>(MapEntry<K2, V2> Function(K, V) transform): Map<K2, V2>
  • added: method DelegatingMap.removeWhere(bool Function(K, V) test): void
  • added: method DelegatingMap.retype<K2, V2>(): Map<K2, V2>
  • added: method DelegatingMap.update(K key, V Function(V) update, {V Function()? ifAbsent}): V
  • added: method DelegatingMap.updateAll(V Function(K, V) update): void
  • added: method DelegatingQueue.cast<T>(): Queue<T>
  • added: method DelegatingQueue.retype<T>(): Queue<T>
  • added: method DelegatingSet.cast<T>(): Set<T>
  • added: method DelegatingSet.retype<T>(): Set<T>
  • added: method MapKeySet.cast<T>(): Set<T>
  • added: method MapKeySet.retype<T>(): Set<T>
  • added: method MapValueSet.Function(V): K
  • added: method MapValueSet.cast<T>(): Set<T>
  • added: method MapValueSet.retype<T>(): Set<T>
  • added: set DelegatingList.first(E value)
  • added: set DelegatingList.last(E value)
  • added: set UnmodifiableMapMixin.first(_)
  • added: set UnmodifiableMapMixin.last(_)
  • added: static method DelegatingIterable.typed<E>(Iterable base): Iterable<E>
  • added: static method DelegatingList.typed<E>(List base): List<E>
  • added: static method DelegatingMap.typed<K, V>(Map base): Map<K, V>
  • added: static method DelegatingQueue.typed<E>(Queue base): Queue<E>
  • added: static method DelegatingSet.typed<E>(Set base): Set<E>