tracking issue for debug_non_exhaustive
feature · Issue #67364 · rust-lang/rust (original) (raw)
Feature gate: #![feature(debug_non_exhaustive)]
This is a tracking issue for adding the ability to add an ellipsis to the end of the Debug
representation of a struct, to indicate that the struct has more fields, but that these fields are not displayable. This involves adding the finish_non_exhaustive
method to DebugStruct
, that produces output like
Name { field1: value1, .. }
where the ..
indicate that there are more hidden fields.
Public API
// core::fmt
impl<'a, 'b: 'a> DebugStruct<'a, 'b> { pub fn finish_non_exhaustive(&mut self) -> fmt::Result; }
Steps / History
- Implementation: Implement DebugStruct::non_exhaustive. #66716
- Final commenting period (FCP): tracking issue for debug_non_exhaustive feature #67364 (comment)
- Stabilization PR: stabilize debug_non_exhaustive #83041
- Replace
.finish()
by.finish_non_exhaustive()
within the standard library where it makes sense: Use DebugStruct::finish_non_exhaustive() in std. #83558 Improve Debug implementations of Mutex and RwLock. #83561
Unresolved Questions
- Should this method be implemented for
DebugTuple
andDebugMap
as well?- I would probably say "no" since I can't think of any use cases for them. They could always be added later.