I also just discovered the fact that dbg! uses {:#?} instead of {:?}. Doesn’t this make it extremely ill-equipped for tuples to begin with? It is far more difficult to scan related values vertically than horizontally because it encodes multiple types of information into the same channel of output.
[src/main.rs:4] (x, y) = (
2,
1
)
[src/main.rs:4] (x, y) = (
2,
2
)
[src/main.rs:4] (x, y) = (
2,
3
)
[src/main.rs:4] (x, y) = (
40,
1
)
[src/main.rs:4] (x, y) = (
40,
2
)
[src/main.rs:4] (x, y) = (
40,
3
)
[src/main.rs:4] (x, y) = (
800,
1
)
[src/main.rs:4] (x, y) = (
800,
2
)
[src/main.rs:4] (x, y) = (
800,
3
)
This gets even worse if you have multiple dbg!s with tuples; with {:?} you have a chance that differences in length of the line number/filename/expression could help make it easier to discern between output from the two, but with {:#?} you need to look above at previous lines to make sense of things.
…so basically I really don’t see why we’re even considering trying to facilitate dbg!((a, b)) when it produces such terrible output to begin with.