It seems like it could be useful to create an empty method for core::iter::Fuse. It would create a Fuse iterator (of any type) that never yields a value. This would avoid having to use Option<Fuse<T>> instead.

1 Like

The current Fuse uses specialization to not do checking in the wrapper if the internal type is FusedIterator, so there would be some extra consequences from doing this.