-
-
Notifications
You must be signed in to change notification settings - Fork 609
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
Refactor -transition and -dip to -transition, -revert and -preview #9206
Conversation
|
Thanks for your pull request, @wilzbach! Bugzilla referencesYour PR doesn't reference any Bugzilla issue. If your PR contains non-trivial changes, please reference a Bugzilla issue or create a manual changelog. Testing this PR locallyIf you don't have a local development environment setup, you can use Digger to test this PR: dub fetch digger
dub run digger -- build "master + dmd#9206" |
Unfortunately, things are a bit inconsistent at the moment. |
Hmm, how about adding a new We really need to find a good & managed model to enable transitions. Most of these transition flag have been there for many years ... |
|
How about |
|
@wilzbach you have a good point. An idea:
|
aec9c7b to
4f43dff
Compare
9358e5e to
8cdb927
Compare
src/dmd/mars.d
Outdated
| buf ~= `params.`~t.paramName~` = true;`; | ||
| buf ~= "break;"; | ||
|
|
||
| foreach (t; features) |
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.
Or maybe sth. like:
| foreach (t; features) | |
| foreach (t; mixin("Usage."~name~"s")) |
Though this would make it even more assumptive.
I really like the idea and went ahead and implemented it. All old flags have been kept and will continue to work (even without a deprecation or warning message).
Even if we enable a -preview by default, people might have been using
I think for most non-DMD developers With the same motivation, I didn't keep the keep bugzilla numbers when moving the flags to |
8cdb927 to
1960b6b
Compare
src/dmd/mars.d
Outdated
| if (*ps != '=') | ||
| return false; | ||
|
|
||
| if (strcmp(ps + 1, "?") == 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.
This can use isHelpOption once #9205 has been merged.
I think we're too late for that, but we could have That being said, here's what a
Though all of these can be simply enabled by default after a few months of testing in the wild. The "good stuff" like |
dcf4cfa to
f3e33d0
Compare
f548f53 to
39e86e7
Compare
|
As #9217 refactors the way CLI options with arguments and usage pages are handled, we should probably wait with this until that one has been merged -> setting Blocked on this for now. Though this doesn't mean that we can't already reach a consensus on whether all |
39e86e7 to
9fefd25
Compare
9fefd25 to
2f66b77
Compare
|
Blocking #9331 |
What is this PR blocked on? It's passing all CIs, no? |
Nothing, this is blocking something else. |
Yeah, that's my take too, so why not merge it and unblock the other PR then? |
|
At the time I wrote that, this PR was not passing everything. I see that it is now. |
|
After thinking a bit about it, I realized that we should probably provide a changelog entry for this -> #9336 |
|
Phobos in the compiler? @wilzbach why? |
-transition=noDIP25switch already)-transition=markdownimho it belongs in-transitionto. However, an argument could be made that there should be an-experimentor-unstableflag for such experimental features.Motivation:
-std=d20(or similar flag) which will enable a bunch of these transitions by default-transitionwe unify the user interface and also show the clear intent that they will be the default eventuallyI could very easily add tests like in #9205 (though I would prefer to append to this file).