Skip to content

Commit cc88c50

Browse files
authored
fix: Clippy (#810)
1 parent 11472bf commit cc88c50

File tree

3 files changed

+20
-24
lines changed

3 files changed

+20
-24
lines changed

symbolic-debuginfo/src/pdb.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -141,6 +141,7 @@ impl<'data> PdbObject<'data> {
141141
}
142142

143143
/// Tries to parse a PDB object from the given slice.
144+
#[allow(clippy::arc_with_non_send_sync)]
144145
pub fn parse(data: &'data [u8]) -> Result<Self, PdbError> {
145146
let mut pdb = Pdb::open(Cursor::new(data))?;
146147
let dbi = pdb.debug_information()?;

symbolic-debuginfo/src/pe.rs

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -281,16 +281,22 @@ impl<'data> PeObject<'data> {
281281
/// Returns the raw buffer of Embedded Portable PDB Debug directory entry, if any.
282282
pub fn embedded_ppdb(&self) -> Result<Option<PeEmbeddedPortablePDB<'data>>, PeError> {
283283
// Note: This is currently not supported by goblin, see https://github.com/m4b/goblin/issues/314
284-
let Some(opt_header) = self.pe.header.optional_header else { return Ok(None) };
285-
let Some(debug_directory) = opt_header.data_directories.get_debug_table().as_ref() else { return Ok(None) };
284+
let Some(opt_header) = self.pe.header.optional_header else {
285+
return Ok(None);
286+
};
287+
let Some(debug_directory) = opt_header.data_directories.get_debug_table().as_ref() else {
288+
return Ok(None);
289+
};
286290
let file_alignment = opt_header.windows_fields.file_alignment;
287291
let parse_options = &pe::options::ParseOptions::default();
288292
let Some(offset) = pe::utils::find_offset(
289293
debug_directory.virtual_address as usize,
290294
&self.pe.sections,
291295
file_alignment,
292296
parse_options,
293-
) else { return Ok(None) };
297+
) else {
298+
return Ok(None);
299+
};
294300

295301
use pe::debug::ImageDebugDirectory;
296302
let entries = debug_directory.size as usize / std::mem::size_of::<ImageDebugDirectory>();

symbolic-symcache/src/transform/bcsymbolmap.rs

Lines changed: 10 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -6,38 +6,27 @@ use symbolic_debuginfo::macho::BcSymbolMap;
66

77
use super::{File, Function, SourceLocation, Transformer};
88

9-
// This ended up as a macro which "inlines" mapping the `Cow` into the calling function, as using
10-
// a real function here would lead to the following borrow checker error:
11-
// error[E0495]: cannot infer an appropriate lifetime for lifetime parameter `'d` due to conflicting requirements
12-
macro_rules! map_cow {
13-
($cow:expr, $f: expr) => {
14-
match $cow {
15-
Cow::Borrowed(inner) => Cow::Borrowed($f(inner)),
16-
Cow::Owned(inner) => Cow::Owned($f(&inner).to_owned()),
17-
}
18-
};
9+
fn resolve_cow<'f>(map: &'f BcSymbolMap<'_>, s: Cow<'f, str>) -> Cow<'f, str> {
10+
match s {
11+
Cow::Borrowed(inner) => Cow::Borrowed(map.resolve(inner)),
12+
Cow::Owned(inner) => Cow::Owned(map.resolve(&inner).to_owned()),
13+
}
1914
}
2015

2116
impl Transformer for BcSymbolMap<'_> {
2217
fn transform_function<'f>(&'f mut self, f: Function<'f>) -> Function<'f> {
2318
Function {
24-
name: map_cow!(f.name, |s| self.resolve(s)),
25-
comp_dir: f.comp_dir.map(|dir| map_cow!(dir, |s| self.resolve(s))),
19+
name: resolve_cow(self, f.name),
20+
comp_dir: f.comp_dir.map(|dir| resolve_cow(self, dir)),
2621
}
2722
}
2823

2924
fn transform_source_location<'f>(&'f mut self, sl: SourceLocation<'f>) -> SourceLocation<'f> {
3025
SourceLocation {
3126
file: File {
32-
name: map_cow!(sl.file.name, |s| self.resolve(s)),
33-
directory: sl
34-
.file
35-
.directory
36-
.map(|dir| map_cow!(dir, |s| self.resolve(s))),
37-
comp_dir: sl
38-
.file
39-
.comp_dir
40-
.map(|dir| map_cow!(dir, |s| self.resolve(s))),
27+
name: resolve_cow(self, sl.file.name),
28+
directory: sl.file.directory.map(|dir| resolve_cow(self, dir)),
29+
comp_dir: sl.file.comp_dir.map(|dir| resolve_cow(self, dir)),
4130
},
4231
line: sl.line,
4332
}

0 commit comments

Comments
 (0)