-
Notifications
You must be signed in to change notification settings - Fork 449
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
fix: Runtime.markPersistent
is unsafe
#6209
Conversation
b5c199c
to
c38b2b4
Compare
Mathlib CI status (docs):
|
@@ -630,16 +625,24 @@ where | |||
-- definitely resolve eventually | |||
snap.new.resolve <| .ofTyped { diagnostics := .empty : SnapshotLeaf } | |||
|
|||
let mut infoTree := cmdState.infoState.trees[0]! | |||
let mut infoTree : InfoTree := cmdState.infoState.trees[0]! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why do need to provide the type annotation here? Is the goal to improve readability or workaround an elaboration issue?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The latter, filed as #6237
!bench |
Here are the benchmark results for commit c38b2b4. Benchmark Metric Change
=========================================
+ big_do task-clock -9.0% (-12.5 σ)
+ big_do wall-clock -9.0% (-12.6 σ)
+ stdlib wall-clock -1.1% (-12.0 σ) |
This PR documents under which conditions
Runtime.markPersistent
is unsafe and adjusts the elaborator accordingly