// This test is similar to the previous where want to ensure that the macro
// correctly generates an error when the input enum is out of order, but this
// time it is using an enum that also has data associated with each variant.
use sorted::sorted;
use std::env::VarError;
use std::error::Error as StdError;
use std::fmt;
use std::io;
use std::str::Utf8Error;
#[sorted]
pub enum Error {
Fmt(fmt::Error),
Io(io::Error),
Utf8(Utf8Error),
Var(VarError),
Dyn(Box<dyn StdError>),
}
fn main() {}
提示已經說了,和前一題類似,只是攜帶了結構體。
可能是因為我們懶,也許是因為我們有前瞻,我們並沒有解析額外更多的東西。
直接使用的是&i.ident
,因此並不涉及攜帶的其他資訊,所以剛好能夠解題。
error: Dyn should sort before Fmt
--> tests/04-variants-with-data.rs:19:5
|
19 | Dyn(Box<dyn StdError>),
| ^^^
也算瞎貓碰上死耗子?
本作品採用《CC 協議》,轉載必須註明作者和本文連結