# Function futures::stream::iter [−] [src]

    pub fn iter<J, T, E>(i: J) -> Iter<J::IntoIter> where
        J: IntoIterator<Item = Result<T, E>>,

Deprecated

: implementation moved to `iter_ok` and `iter_result`

Converts an `Iterator` over `Result`s into a `Stream` which is always ready to yield the next value.

Iterators in Rust don't express the ability to block, so this adapter simply always calls `iter.next()` and returns that.

    use futures::*;

    let mut stream = stream::iter(vec![Ok(17), Err(false), Ok(19)]);
    assert_eq!(Ok(Async::Ready(Some(17))), stream.poll());
    assert_eq!(Err(false), stream.poll());
    assert_eq!(Ok(Async::Ready(Some(19))), stream.poll());
    assert_eq!(Ok(Async::Ready(None)), stream.poll());

# Help

## Keyboard Shortcuts

`?`
  Show this help dialog
`S`
  Focus the search field
`↑`
  Move up in search results
`↓`
  Move down in search results
`↹`
  Switch tab
`⏎`
  Go to active search result
`+`
  Expand all sections
`-`
  Collapse all sections

## Search Tricks

Prefix searches with a type followed by a colon (e.g. `fn:`) to restrict the search to a given type.

Accepted types are: `fn`, `mod`, `struct`, `enum`, `trait`, `type`, `macro`, and `const`.

Search functions by type signature (e.g. `vec -> usize` or `* -> vec`)