Skip to content

Generated trait methods have trailing spaces after arguments #98803

Closed
@joshtriplett

Description

@joshtriplett

See https://docs.rs/async-std/latest/async_std/io/trait.Write.html for an example. Copy-pasting the trait implementation produces:

pub trait Write {
    fn poll_write(
        self: Pin<&mut Self>, 
        cx: &mut Context<'_>, 
        buf: &[u8]
    ) -> Poll<Result<usize, Error>>;
    fn poll_flush(
        self: Pin<&mut Self>, 
        cx: &mut Context<'_>
    ) -> Poll<Result<(), Error>>;
    fn poll_close(
        self: Pin<&mut Self>, 
        cx: &mut Context<'_>
    ) -> Poll<Result<(), Error>>;

    fn poll_write_vectored(
        self: Pin<&mut Self>, 
        cx: &mut Context<'_>, 
        bufs: &[IoSlice<'_>]
    ) -> Poll<Result<usize, Error>> { ... }
}

Note the trailing spaces after every argument but the last. (Also note the lack of trailing comma.)

Copy-pasting the trait methods is a common first step when implementing a trait. Ideally, the methods should be formatted in a way that copy-pasting produces what the user should write.

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-rustdoc-uiArea: Rustdoc UI (generated HTML)T-rustdocRelevant to the rustdoc team, which will review and decide on the PR/issue.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions