-
-
Notifications
You must be signed in to change notification settings - Fork 668
fix Issue 19097 - Extend Return Scope Semantics #8504
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
|
Thanks for your pull request, @WalterBright! Bugzilla references
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#8504" |
cc1088b to
89d4a2f
Compare
|
auto-tester failures are related to the Phobos modules we check with |
|
Curiously, the autotester was green last night. |
|
Yes, we re-enabled -dip1000 testing for the auto-tester today (at least for all the modules which are part of the dip1000.mak). |
|
I can't understanding anything in this PR because there is no spec or other documentation describing the semantics. |
|
|
Not good enough. The appropriate place for documenting the semantics of the language is https://github.com/dlang/dlang.org/tree/master/spec |
|
It has all that's needed to understand this PR. If you have any other questions about how/why, please post here or (better) on the bugzilla page. |
|
There needs to be a spec update accompanying each of these DIP1000-related PRs (e.g #8408, #8346), not only for the review process, but also so users know how to leverage these features. Furthermore, these features cannot be evaluated in isolation; they need to be evaluated in the context of the existing language, and all of the prior PRs that were merged without any accompanying documentation, so the hole is just getting deeper. Users are only going to encounter confusion and uncertainty without these semantics documented in the spec. They can't even file bugs with any confidence, because they don't have a spec to compare their symptoms with and instead resort to "Is this a bug?", "What's the status of |
98c18e9 to
e1e1d2e
Compare
79b9fc9 to
aaf8454
Compare
aaf8454 to
a0ee50d
Compare
a0ee50d to
6f407b7
Compare
6f407b7 to
74e13e7
Compare
74e13e7 to
c5f89ad
Compare
c5f89ad to
326e50b
Compare
|
This is now documented in dlang/dlang.org#2453, I'm still very disappointed with the way this has been handled. |
|
Auto-merge toggled on |
|
FWIW, I think this was merged prematurely. My objection wasn't just about the documentation. We needed the documentation in order to properly review this PR. After spending some time studying what @WalterBright was proposing, I offered an alternative in https://issues.dlang.org/show_bug.cgi?id=19097 so users don't have to rely on convention to get the result, but my suggestion was never acknowledged or addressed. Others brought up issues on the forum, but they also were never adequately addressed. I suppose it's all moot now, but this can serve as a good example of what not to do in the future. I fear that having to infer |
See enhancement request for details.
To keep this PR from being too complex, I didn't do
returninference. That'll be on a follow-on later.This will be necessary to get Phobos to compile with -dip1000. Hence the Vision label.