thiserror icon indicating copy to clipboard operation
thiserror copied to clipboard

Generic unit variants are handled incorrectly inside format args

Open dtolnay opened this issue 1 year ago • 0 comments

The following is a valid format expression, but thiserror fails to compile it.

use thiserror::Error;

#[derive(Debug, Error)]
#[error("{}", None::<i32>.is_some())]
pub struct Error;

fn main() {
    println!("{}", None::<i32>.is_some());
}
error: expected one of `!`, `,`, `.`, `::`, `?`, `{`, or an operator, found `is_some`
 --> src/main.rs:4:27
  |
4 | #[error("{}", None::<i32>.is_some())]
  |                           ^^^^^^^ expected one of 7 possible tokens

dtolnay avatar Nov 01 '24 01:11 dtolnay