cast<T> method Null safety

  1. @override
Set<T> cast<T>()

Provides a view of this iterable as an iterable of R instances.

If this iterable only contains instances of R, all operations will work correctly. If any operation tries to access an element that is not an instance of R, the access will throw instead.

When the returned iterable creates a new object that depends on the type R, e.g., from toList, it will have exactly the type R.

Implementation

@override
Set<T> cast<T>() {
  if (this is MapKeySet<T>) {
    return this as MapKeySet<T>;
  }
  return Set.castFrom<E, T>(this);
}