Skip to content
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

Stacked Borrows beautififcation, update for EscapeToRaw #524

Merged
merged 16 commits into from
Nov 16, 2018

Conversation

RalfJung
Copy link
Member

Matches rust-lang/rust#55716 which has landed and should be in the next nightly.

@RalfJung
Copy link
Member Author

I have a blog post already written that I'd like to publish once this patch hits the miri on playground. So @oli-obk it'd be great if we could get this merged tomorrow, and then I will try to get @shepmaster to trigger a redeploy of the miri-on-playground so I don't have to wait another night. ;)

@shepmaster
Copy link
Member

I don't have to wait another night

Looks like I'll be the one waiting another night 😝

@RalfJung
Copy link
Member Author

This should work against the currently nightly now, and hence is ready for landing.

@oli-obk
Copy link
Contributor

oli-obk commented Nov 16, 2018

Travis is unhappy

constant evaluation error: Borrow being accessed (Shr(None)) does not exist on the stack, or is guarded by a barrier

@RalfJung
Copy link
Member Author

Interesting, probably one of those test failures that only happen without full MIR? (The libstd then doesn't have retag/escape-to-raw.)

@RalfJung
Copy link
Member Author

Yeah, that's it. Quite a few tests though. I see two options:

  • Move them to fullmir.
  • Do not do validation when we have a libstd without full MIR. Though then we should be careful that people do not think validation was checked when truly, it was not. Maybe require a -Zmiri-libstd-without-mir flag to even work without full MIR?

@RalfJung
Copy link
Member Author

A third option would be to make people pass -Zmiri-disable-validation, and do that automatically in the tests.

@oli-obk
Copy link
Contributor

oli-obk commented Nov 16, 2018

Does the "no mir" case make sense for miri anymore at all? Can we just move to "get a libstd with full mir, sorry"?

@RalfJung
Copy link
Member Author

It still makes some sense without stacked borrows (but there is no switch to disable stacked borrows but keep validation enabled, and too many switches might also be confusing).

Before dropping support for missing MIR, I'd like to have cargo miri setup or so which automatically does all the steps to build the libstd with full MIR. I hope to implement that next week.

@RalfJung
Copy link
Member Author

With these changes, the test suite passes without full MIR locally. Let's see what Travis says.

@RalfJung RalfJung merged commit d78b62e into rust-lang:master Nov 16, 2018
@RalfJung RalfJung deleted the escape-to-raw branch November 30, 2018 08:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants