Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/hir-ty/src/display.rs')
-rw-r--r--crates/hir-ty/src/display.rs19
1 files changed, 19 insertions, 0 deletions
diff --git a/crates/hir-ty/src/display.rs b/crates/hir-ty/src/display.rs
index 027fda0b4f..c5ce3af3a9 100644
--- a/crates/hir-ty/src/display.rs
+++ b/crates/hir-ty/src/display.rs
@@ -130,6 +130,7 @@ pub struct HirFormatter<'a, 'db> {
pub entity_limit: Option<usize>,
/// When rendering functions, whether to show the constraint from the container
show_container_bounds: bool,
+ render_private_fields: bool,
omit_verbose_types: bool,
closure_style: ClosureStyle,
display_lifetimes: DisplayLifetime,
@@ -263,6 +264,7 @@ pub trait HirDisplay<'db> {
display_kind,
closure_style,
show_container_bounds,
+ render_private_fields: true,
display_lifetimes: DisplayLifetime::OnlyNamedOrStatic,
}
}
@@ -287,6 +289,7 @@ pub trait HirDisplay<'db> {
display_target,
display_kind: DisplayKind::Diagnostics,
show_container_bounds: false,
+ render_private_fields: true,
display_lifetimes: DisplayLifetime::OnlyNamedOrStatic,
}
}
@@ -312,6 +315,7 @@ pub trait HirDisplay<'db> {
display_target,
display_kind: DisplayKind::Diagnostics,
show_container_bounds: false,
+ render_private_fields: true,
display_lifetimes: DisplayLifetime::OnlyNamedOrStatic,
}
}
@@ -337,6 +341,7 @@ pub trait HirDisplay<'db> {
display_target,
display_kind: DisplayKind::Diagnostics,
show_container_bounds: false,
+ render_private_fields: true,
display_lifetimes: DisplayLifetime::OnlyNamedOrStatic,
}
}
@@ -364,6 +369,7 @@ pub trait HirDisplay<'db> {
display_target: DisplayTarget::from_crate(db, module_id.krate(db)),
display_kind: DisplayKind::SourceCode { target_module_id: module_id, allow_opaque },
show_container_bounds: false,
+ render_private_fields: true,
display_lifetimes: DisplayLifetime::OnlyNamedOrStatic,
currently_formatting_bounds: Default::default(),
trait_bounds_need_parens: false,
@@ -394,6 +400,7 @@ pub trait HirDisplay<'db> {
display_target,
display_kind: DisplayKind::Test,
show_container_bounds: false,
+ render_private_fields: true,
display_lifetimes: DisplayLifetime::Always,
}
}
@@ -419,6 +426,7 @@ pub trait HirDisplay<'db> {
display_target,
display_kind: DisplayKind::Diagnostics,
show_container_bounds,
+ render_private_fields: true,
display_lifetimes: DisplayLifetime::OnlyNamedOrStatic,
}
}
@@ -495,6 +503,10 @@ impl<'db> HirFormatter<'_, 'db> {
pub fn show_container_bounds(&self) -> bool {
self.show_container_bounds
}
+
+ pub fn render_private_fields(&self) -> bool {
+ self.render_private_fields
+ }
}
#[derive(Debug, Clone, Copy)]
@@ -566,6 +578,7 @@ pub struct HirDisplayWrapper<'a, 'db, T> {
display_kind: DisplayKind,
display_target: DisplayTarget,
show_container_bounds: bool,
+ render_private_fields: bool,
display_lifetimes: DisplayLifetime,
}
@@ -601,6 +614,7 @@ impl<'db, T: HirDisplay<'db>> HirDisplayWrapper<'_, 'db, T> {
display_target: self.display_target,
closure_style: self.closure_style,
show_container_bounds: self.show_container_bounds,
+ render_private_fields: self.render_private_fields,
display_lifetimes: self.display_lifetimes,
currently_formatting_bounds: Default::default(),
trait_bounds_need_parens: false,
@@ -616,6 +630,11 @@ impl<'db, T: HirDisplay<'db>> HirDisplayWrapper<'_, 'db, T> {
self.display_lifetimes = l;
self
}
+
+ pub fn with_private_fields(mut self, render: bool) -> Self {
+ self.render_private_fields = render;
+ self
+ }
}
impl<'db, T> fmt::Display for HirDisplayWrapper<'_, 'db, T>