-
Notifications
You must be signed in to change notification settings - Fork 444
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
feat: implement have this
#2247
Conversation
I'm assuming you combined these changes to avoid another update-stage0 dance, but it held me back from merging the PR immediately. @leodemoura Are you on board with consistently moving towards |
I am onboard if it does not create a "snowball" of new issues. |
Hm, I am not sure what I can do to determine how likely it is to create a cascade of other issues. What I can do concretely is fix it up so it passes all the tests, and try bumping std and mathlib to make sure they also don't break. (I'll need to wait until just after an actual nightly bump to do that test.) Hopefully the changes to the code and any test changes made as a result will help answer the question of what the concrete fallout will be. I am optimistic that will have essentially no effects on user code, although it will involve changing some tactics to handle the (I can also back out the |
Hmm, don't we have the same issue with any other kind of pattern then? |
If we do rebootstrap the PR, one remark and one question:
|
No, because |
I'm not sure exactly what you mean by this. I have (unfortunately) quite some experience doing this dance, and I can rebase this PR if required via a script, although it takes a while (I think it's around 25 minutes per update-stage0 since you have to build lean again from scratch)
Sure, I'll add that
I tried my best to optimize it, and I am using
|
Ah, of course. Then I don't have any remaining reservations on this PR anymore.
Just regenerating the stage0 updates.
Does it use |
I just checked out the PR, it builds fine without the stage0 updates except for the |
are you saying you can build it if you merge part 1 & 2? I'm pretty sure I tried that, it fails right at the start of part 3.
Actually it's a bit less than this, I use |
Yes, all I did was remove the two update-stage0 commits. Stage 1 builds fine, then the tests and stage 2 fail on the deriving issue. |
right, if you just don't do any staging then you won't be able to bootstrap, that's what a failure in stage 2 is. If you run |
I don't see why parsing would be affected. I get a very late error due to the deriving issue after rebootstrapping:
|
what happens if you put the update stage0 between part 2 and part 3? The main thing that part 3 does is to take out the |
Right, that makes more sense. But it builds and tests fine. |
Okay, I updated it with only two stages and added the |
Thanks! |
@digama0 Ah, do you want to add a release note as well describing the user-level changes? |
is there a special syntax that I put in the PR description? |
No, feel free to open a new PR adjusting RELEASES.md |
This builds on #2246, to make use of the
hygieneInfo
parser inhave
andsuffices
. It also allows_
binders forhave
andlet
(rather than treating them as patterns), superseding part of #2105.