bootstrap: Don't override debuginfo-level = 1 to mean line-tables-only#112528
bootstrap: Don't override debuginfo-level = 1 to mean line-tables-only#112528bors merged 1 commit intorust-lang:masterfrom
debuginfo-level = 1 to mean line-tables-only#112528Conversation
This has real differences in the effective debuginfo: in particular, it omits the module-level information and breaks perf. Allow passing `line-tables-only` directly in config.toml instead.
|
r? @clubby789 (rustbot has picked a reviewer for you, use r? to override) |
debuginfo-level = 1 to mean line-tables-onlydebuginfo-level = 1 to mean line-tables-only
Seems like this makes the line-table-only debug info much less useful than originally expected. I guess we might want some kind of intermediate "perf-useful" debuginfo which isn't quite 1, presuming there's stuff that's still extra with 1. @bors r+ |
…iaskrgr Rollup of 3 pull requests Successful merges: - rust-lang#112487 (Update documentation for `tools` defaults) - rust-lang#112513 (Dont compute `opt_suggest_box_span` span for TAIT) - rust-lang#112528 (bootstrap: Don't override `debuginfo-level = 1` to mean `line-tables-only`) r? `@ghost` `@rustbot` modify labels: rollup
| StringOrInt::Int(n) => { | ||
| let other = serde::de::Unexpected::Signed(n); | ||
| return Err(D::Error::invalid_value(other, &"expected 0, 1, or 2")); | ||
| } | ||
| StringOrInt::String(s) => { | ||
| let other = serde::de::Unexpected::Str(s); | ||
| return Err(D::Error::invalid_value( | ||
| other, | ||
| &"expected none, line-tables-only, limited, or full", | ||
| )); |
There was a problem hiding this comment.
Hm, it looks like 1 error message must be, not 2
return Err(D::Error::invalid_value(other, &"expected 0 or 1, 2, none, line-tables-only, limited, full"));There was a problem hiding this comment.
i don't understand this comment. at this point we already know the config is a string and not a number.
There was a problem hiding this comment.
Deserializing into DebuginfoLevel could be either Int or String.
You wrote one message if Int is out of scope and different message if String is out of scope.
But it must be one same message.
This has real differences in the effective debuginfo: in particular, it omits the module-level information and makes perf less useful (it can't distinguish "self" from "child" time anymore).
Allow passing
line-tables-onlydirectly in config.toml instead.See https://rust-lang.zulipchat.com/#narrow/stream/131828-t-compiler/topic/debuginfo.20in.20try.20builds/near/365090631 and https://rust-lang.zulipchat.com/#narrow/stream/238009-t-compiler.2Fmeetings/topic/.5Bsteering.5D.202023-06-09/near/364883519 for more discussion. This effectively reverts the cargo half of #110221 to avoid regressing #60020 again in 1.72.