# iter::Fuse::empty()

**URL:** <https://internals.rust-lang.org/t/iter-empty/13531>\
**Category:** libs\
**Created:** [December 8, 2020, 6:16pm UTC](https://internals.rust-lang.org/t/iter-empty/13531 "2020-12-08T18:16:31Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![msmorgan](https://sea2.discourse-cdn.com/flex002/user_avatar/internals.rust-lang.org/msmorgan/32/7423_2.png) [@msmorgan](https://internals.rust-lang.org/u/msmorgan)\
**Post date:** [December 8, 2020, 6:16pm UTC](https://internals.rust-lang.org/t/iter-empty/13531/1 "2020-12-08T18:16:31Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![scottmcm](https://sea2.discourse-cdn.com/flex002/user_avatar/internals.rust-lang.org/scottmcm/32/2355_2.png) [@scottmcm](https://internals.rust-lang.org/u/scottmcm)\
**Post date:** [December 8, 2020, 6:21pm UTC](https://internals.rust-lang.org/t/iter-empty/13531/2 "2020-12-08T18:21:43Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![system](https://sea2.discourse-cdn.com/flex002/user_avatar/internals.rust-lang.org/system/32/14092_2.png) [@system](https://internals.rust-lang.org/u/system)\
**Post date:** [March 8, 2021, 6:21pm UTC](https://internals.rust-lang.org/t/iter-empty/13531/3 "2021-03-08T18:21:56Z")

</div>

Closed on March 8, 2021, 6:21pm UTC

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.
