// Regression test for <https://github.com/rust-lang/rust/issues/98803>.

#![crate_name = "foo"]

pub struct Error;

//@ has 'foo/trait.Write.html'

pub trait Write {
    //@ snapshot 'declaration' - '//*[@class="rust item-decl"]//code'
    fn poll_write(
        self,
        cx: &mut Option<String>,
        buf: &mut [usize]
    ) -> Option<Result<usize, Error>>;
    fn poll_flush(
        self,
        cx: &mut Option<String>
    ) -> Option<Result<(), Error>>;
    fn poll_close(
        self,
        cx: &mut Option<String>,
    ) -> Option<Result<(), Error>>;

    fn poll_write_vectored(
        self,
        cx: &mut Option<String>,
        bufs: &[usize]
    ) -> Option<Result<usize, Error>> {}
}