-
Notifications
You must be signed in to change notification settings - Fork 13.4k
add flag for enabling global cache usage for proof trees and printing proof trees on error #113296
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from 1 commit
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change | ||||
---|---|---|---|---|---|---|
|
@@ -418,6 +418,7 @@ mod desc { | |||||
"a `,` separated combination of `bti`, `b-key`, `pac-ret`, or `leaf`"; | ||||||
pub const parse_proc_macro_execution_strategy: &str = | ||||||
"one of supported execution strategies (`same-thread`, or `cross-thread`)"; | ||||||
pub const parse_solver_proof_tree_condition: &str = "one of: `always`, `never`, `on_error`"; | ||||||
} | ||||||
|
||||||
mod parse { | ||||||
|
@@ -1238,6 +1239,19 @@ mod parse { | |||||
}; | ||||||
true | ||||||
} | ||||||
|
||||||
pub(crate) fn parse_solver_proof_tree_condition( | ||||||
slot: &mut SolverProofTreeCondition, | ||||||
v: Option<&str>, | ||||||
) -> bool { | ||||||
match v { | ||||||
None | Some("always") => *slot = SolverProofTreeCondition::Always, | ||||||
Some("never") => *slot = SolverProofTreeCondition::Never, | ||||||
Some("on-error") => *slot = SolverProofTreeCondition::OnError, | ||||||
_ => return false, | ||||||
}; | ||||||
true | ||||||
} | ||||||
} | ||||||
|
||||||
options! { | ||||||
|
@@ -1463,8 +1477,10 @@ options! { | |||||
"output statistics about monomorphization collection"), | ||||||
dump_mono_stats_format: DumpMonoStatsFormat = (DumpMonoStatsFormat::Markdown, parse_dump_mono_stats, [UNTRACKED], | ||||||
"the format to use for -Z dump-mono-stats (`markdown` (default) or `json`)"), | ||||||
dump_solver_proof_tree: bool = (false, parse_bool, [UNTRACKED], | ||||||
"dump a proof tree for every goal evaluated by the new trait solver"), | ||||||
dump_solver_proof_tree: SolverProofTreeCondition = (SolverProofTreeCondition::Never, parse_solver_proof_tree_condition, [UNTRACKED], | ||||||
"dump a proof tree for every goal evaluated by the new trait solver. The default is `always`"), | ||||||
BoxyUwU marked this conversation as resolved.
Show resolved
Hide resolved
|
||||||
dump_solver_proof_tree_uses_cache: Option<bool> = (None, parse_opt_bool, [UNTRACKED], | ||||||
BoxyUwU marked this conversation as resolved.
Show resolved
Hide resolved
|
||||||
"determines whether proof tree generation uses the global cache"), | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
this flag should not affect general proof tree generation, only the proof trees which should get dumped There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. that's.... not how the code works. the flag does cause us to use or not use the global cache during proof tree creation. It's not a step done when we dump the proof tree to edit all the "GLOBAL CACHE HIT" to actual proof trees. Implementing it that way sounds trickier than what was done in this PR There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. from the description:
When There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. my thought was that setting this to There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. ideally that's how it would work but right now it wouldn't if you implemented auto_trait/diagnostics by callign There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. yes, but that would completely ignore this compile flag |
||||||
dwarf_version: Option<u32> = (None, parse_opt_number, [TRACKED], | ||||||
"version of DWARF debug information to emit (default: 2 or 4, depending on platform)"), | ||||||
dylib_lto: bool = (false, parse_bool, [UNTRACKED], | ||||||
|
This file was deleted.
Uh oh!
There was an error while loading. Please reload this page.