Closed
Description
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.
Metadata
Metadata
Assignees
Labels
Area: `core::fmt`Blocker: Implemented in the nightly compiler and unstable.Category: An issue tracking the progress of sth. like the implementation of an RFCLibs issues that are considered "small" or self-containedLibs issues that are tracked on the team's project board.Relevant to the library API team, which will review and decide on the PR/issue.This issue / PR is in PFCP or FCP with a disposition to merge it.The final comment period is finished for this PR / Issue.