diff options
| author | Rémy Rakic <remy.rakic+github@gmail.com> | 2025-01-12 08:13:45 +0000 |
|---|---|---|
| committer | Rémy Rakic <remy.rakic+github@gmail.com> | 2025-01-12 08:13:45 +0000 |
| commit | 33ce74f308ac0d849b9cd4d88f3ebdb4238be18a (patch) | |
| tree | 3032c82baade7f8607d45aada42c5300863400b6 | |
| parent | d19bdf9b48bdf520ad83cfa2af148a6b1ee8ab26 (diff) | |
| download | rust-33ce74f308ac0d849b9cd4d88f3ebdb4238be18a.tar.gz rust-33ce74f308ac0d849b9cd4d88f3ebdb4238be18a.zip | |
add error message to `string_enum!`s string conversions
| -rw-r--r-- | src/tools/compiletest/src/common.rs | 6 | ||||
| -rw-r--r-- | src/tools/compiletest/src/tests.rs | 2 |
2 files changed, 4 insertions, 4 deletions
diff --git a/src/tools/compiletest/src/common.rs b/src/tools/compiletest/src/common.rs index 8c4a89baa00..4e2510ed9ab 100644 --- a/src/tools/compiletest/src/common.rs +++ b/src/tools/compiletest/src/common.rs @@ -39,12 +39,12 @@ macro_rules! string_enum { } impl FromStr for $name { - type Err = (); + type Err = String; - fn from_str(s: &str) -> Result<Self, ()> { + fn from_str(s: &str) -> Result<Self, Self::Err> { match s { $($repr => Ok(Self::$variant),)* - _ => Err(()), + _ => Err(format!(concat!("unknown `", stringify!($name), "` variant: `{}`"), s)), } } } diff --git a/src/tools/compiletest/src/tests.rs b/src/tools/compiletest/src/tests.rs index f8a74528101..43c6dc0a67e 100644 --- a/src/tools/compiletest/src/tests.rs +++ b/src/tools/compiletest/src/tests.rs @@ -91,5 +91,5 @@ fn string_enums() { // Invalid conversions let animal = "nya".parse::<Animal>(); - assert!(matches!(animal, Err(()))); + assert_eq!("unknown `Animal` variant: `nya`", animal.unwrap_err()); } |
