fn feed(&mut self, item: Item) -> Feed<'_, Self, Item>
    where
        Self: Unpin,
    {
        assert_future::<Result<(), Self::Error>, _>(Feed::new(self, item))
    }
A future that completes after the given item has been received
by the sink.

Unlike `send`, the returned future does not flush the sink.
It is the caller's responsibility to ensure all pending items
are processed, which can be done via `flush` or `close`.
futures-util/src/sink/mod.rs