mirror of
https://github.com/encounter/msvc-demangler-rust.git
synced 2026-07-10 12:18:38 -07:00
Error API Cleanup (#45)
This commit is contained in:
+6
-2
@@ -18,7 +18,8 @@ fn main() {
|
||||
let print_demangled = |sym: &str| {
|
||||
let parsed = match msvc_demangler::parse(&sym) {
|
||||
Ok(parsed) => parsed,
|
||||
Err(_) => {
|
||||
Err(err) => {
|
||||
eprintln!("error: {}", err);
|
||||
println!("{}", sym);
|
||||
return;
|
||||
}
|
||||
@@ -30,7 +31,10 @@ fn main() {
|
||||
let demangled = msvc_demangler::serialize(&parsed, flags);
|
||||
match demangled {
|
||||
Ok(ref string) => println!("{}", string),
|
||||
_ => println!("{}", sym),
|
||||
Err(err) => {
|
||||
eprintln!("error: {}", err);
|
||||
println!("{}", sym);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
+188
-162
File diff suppressed because it is too large
Load Diff
+10
-6
@@ -1,17 +1,21 @@
|
||||
extern crate msvc_demangler;
|
||||
|
||||
use msvc_demangler::{demangle, DemangleFlags, Result};
|
||||
use msvc_demangler::{demangle, DemangleFlags};
|
||||
|
||||
fn expect_with_flags(input: &str, reference: &str, flags: u32) {
|
||||
let demangled: Result<_> = demangle(input, ::DemangleFlags::from_bits(flags).unwrap());
|
||||
let reference: Result<_> = Ok(reference.to_owned());
|
||||
assert_eq!(demangled, reference);
|
||||
let demangled = demangle(input, ::DemangleFlags::from_bits(flags).unwrap());
|
||||
let reference = reference.to_owned();
|
||||
if let Ok(demangled) = demangled {
|
||||
assert_eq!(demangled, reference);
|
||||
} else {
|
||||
panic!("{:?} != {:?}", demangled, Ok::<_, ()>(reference));
|
||||
}
|
||||
}
|
||||
|
||||
// For cases where undname demangles differently/better than we do.
|
||||
fn expect_failure(input: &str, reference: &str) {
|
||||
let demangled: Result<_> = demangle(input, ::DemangleFlags::COMPLETE);
|
||||
let reference: Result<_> = Ok(reference.to_owned());
|
||||
let demangled = demangle(input, ::DemangleFlags::COMPLETE).unwrap();
|
||||
let reference = reference.to_owned();
|
||||
assert_ne!(demangled, reference);
|
||||
}
|
||||
// std::basic_filebuf<char,struct std::char_traits<char> >::basic_filebuf<char,struct std::char_traits<char> >
|
||||
|
||||
Reference in New Issue
Block a user