fn seek(&mut self, pos: SeekFrom) -> Seek<'_, Self>
    where
        Self: Unpin,
    {
        assert_future::<Result<u64>, _>(Seek::new(self, pos))
    }
Creates a future which will seek an IO object, and then yield the
new position in the object and the object itself.

In the case of an error the buffer and the object will be discarded, with
the error yielded.
futures-util/src/io/mod.rs