Skip to content

Commit b81d164

Browse files
committed
Address review comments
1 parent 7d67a1b commit b81d164

File tree

2 files changed

+46
-44
lines changed

2 files changed

+46
-44
lines changed

src/librustc_metadata/creader.rs

+3-5
Original file line numberDiff line numberDiff line change
@@ -84,13 +84,11 @@ impl std::ops::Deref for CrateMetadataRef<'_> {
8484

8585
struct CrateDump<'a>(&'a CStore);
8686

87-
fn crate_dump(cstore: &'a CStore) -> impl std::fmt::Debug + 'a {
88-
CrateDump(cstore)
89-
}
90-
9187
impl<'a> std::fmt::Debug for CrateDump<'a> {
9288
fn fmt(&self, fmt: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
9389
writeln!(fmt, "resolved crates:")?;
90+
// `iter_crate_data` does not allow returning values. Thus we use a mutable variable here
91+
// that aggregates the value (and any errors that could happen).
9492
let mut res = Ok(());
9593
self.0.iter_crate_data(|cnum, data| {
9694
res = res.and(
@@ -878,7 +876,7 @@ impl<'a> CrateLoader<'a> {
878876
self.inject_allocator_crate(krate);
879877
self.inject_panic_runtime(krate);
880878

881-
info!("{:?}", crate_dump(&self.cstore));
879+
info!("{:?}", CrateDump(&self.cstore));
882880

883881
self.report_unused_deps(krate);
884882
}

src/librustc_middle/ty/context.rs

+43-39
Original file line numberDiff line numberDiff line change
@@ -1905,46 +1905,50 @@ macro_rules! sty_debug_print {
19051905

19061906
impl<'tcx> TyCtxt<'tcx> {
19071907
pub fn debug_stats(self) -> impl std::fmt::Debug + 'tcx {
1908-
DebugStats(self)
1909-
}
1910-
}
1908+
struct DebugStats<'tcx>(TyCtxt<'tcx>);
1909+
1910+
impl std::fmt::Debug for DebugStats<'tcx> {
1911+
fn fmt(&self, fmt: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1912+
sty_debug_print!(
1913+
fmt,
1914+
self.0,
1915+
Adt,
1916+
Array,
1917+
Slice,
1918+
RawPtr,
1919+
Ref,
1920+
FnDef,
1921+
FnPtr,
1922+
Placeholder,
1923+
Generator,
1924+
GeneratorWitness,
1925+
Dynamic,
1926+
Closure,
1927+
Tuple,
1928+
Bound,
1929+
Param,
1930+
Infer,
1931+
Projection,
1932+
Opaque,
1933+
Foreign
1934+
)?;
1935+
1936+
writeln!(fmt, "InternalSubsts interner: #{}", self.0.interners.substs.len())?;
1937+
writeln!(fmt, "Region interner: #{}", self.0.interners.region.len())?;
1938+
writeln!(fmt, "Stability interner: #{}", self.0.stability_interner.len())?;
1939+
writeln!(
1940+
fmt,
1941+
"Const Stability interner: #{}",
1942+
self.0.const_stability_interner.len()
1943+
)?;
1944+
writeln!(fmt, "Allocation interner: #{}", self.0.allocation_interner.len())?;
1945+
writeln!(fmt, "Layout interner: #{}", self.0.layout_interner.len())?;
1946+
1947+
Ok(())
1948+
}
1949+
}
19111950

1912-
struct DebugStats<'tcx>(TyCtxt<'tcx>);
1913-
1914-
impl std::fmt::Debug for DebugStats<'tcx> {
1915-
fn fmt(&self, fmt: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1916-
sty_debug_print!(
1917-
fmt,
1918-
self.0,
1919-
Adt,
1920-
Array,
1921-
Slice,
1922-
RawPtr,
1923-
Ref,
1924-
FnDef,
1925-
FnPtr,
1926-
Placeholder,
1927-
Generator,
1928-
GeneratorWitness,
1929-
Dynamic,
1930-
Closure,
1931-
Tuple,
1932-
Bound,
1933-
Param,
1934-
Infer,
1935-
Projection,
1936-
Opaque,
1937-
Foreign
1938-
)?;
1939-
1940-
writeln!(fmt, "InternalSubsts interner: #{}", self.0.interners.substs.len())?;
1941-
writeln!(fmt, "Region interner: #{}", self.0.interners.region.len())?;
1942-
writeln!(fmt, "Stability interner: #{}", self.0.stability_interner.len())?;
1943-
writeln!(fmt, "Const Stability interner: #{}", self.0.const_stability_interner.len())?;
1944-
writeln!(fmt, "Allocation interner: #{}", self.0.allocation_interner.len())?;
1945-
writeln!(fmt, "Layout interner: #{}", self.0.layout_interner.len())?;
1946-
1947-
Ok(())
1951+
DebugStats(self)
19481952
}
19491953
}
19501954

0 commit comments

Comments
 (0)