-
Notifications
You must be signed in to change notification settings - Fork 13.3k
miri engine: Fix run-time validation #54955
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
Conversation
5df040e
to
77599d3
Compare
This comment has been minimized.
This comment has been minimized.
77599d3
to
cc8a9c3
Compare
Rebase done. |
} | ||
// The closure is not local, or the freevars don't match up (seen for a generator!), |
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.
tcx.mir_optimized(def_id).upvar_decls[upvar_index].debug_name
should do it?
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.
There is no such method?
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.
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.
What will that do if we don't have libstd MIR?
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.
uhm... I don't see how that can happen. How would you even see a libstd closure without its MIR being available?
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.
Fair enough.
However, for a generator, I am still seeing
index out of bounds: the len is 0 but the index is 0
So I'll have to keep some kind of fallback.
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.
Done, and even added a test for it. ;)
This comment has been minimized.
This comment has been minimized.
r=me with Cargo.lock updated |
a781cc8
to
c54155e
Compare
@bors r=oli-obk |
📌 Commit c54155e00820ebba98f5a2bba7cfe07042576056 has been approved by |
2b6b4d9
to
a967196
Compare
a967196
to
e415499
Compare
Fixed nits. |
@bors r+ |
📌 Commit e4154998576017fcc966b20cf17689aaf6d12ba2 has been approved by |
Oh dang, miri's test suite fails with full MIR. Investigating. |
e415499
to
752034d
Compare
This should fix it. @bors r=oli-obk |
📌 Commit 752034d2e98c66d4cf6243d8f895915a1883f5d5 has been approved by |
@bors r+ |
📌 Commit a7a53f7ffffe596101f93af35f9172641daca1cd has been approved by |
This comment has been minimized.
This comment has been minimized.
miri needs this extra flexibility
a7a53f7
to
6426cbe
Compare
Fixed conflicts. @bors r=oli-obk |
📌 Commit 6426cbe has been approved by |
miri engine: Fix run-time validation This fixes all false positives that came up when actually enabling this in miri. r? @oli-obk
☀️ Test successful - status-appveyor, status-travis |
Tested on commit rust-lang/rust@2d81989. Direct link to PR: <rust-lang/rust#54955> 🎉 miri on windows: build-fail → test-pass. 🎉 miri on linux: build-fail → test-pass.
This fixes all false positives that came up when actually enabling this in miri.
r? @oli-obk