-
-
Notifications
You must be signed in to change notification settings - Fork 747
@safe tests in std.uni #6330
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
@safe tests in std.uni #6330
Conversation
|
Thanks for your pull request and interest in making D better, @John-Colvin! We are looking forward to reviewing it, and you should be hearing from a maintainer soon.
Please see CONTRIBUTING.md for more information. If you have addressed all reviews or aren't sure how to proceed, don't hesitate to ping us with a simple comment. 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 run digger -- build "master + phobos#6330" |
|
Relates to https://issues.dlang.org/show_bug.cgi?id=18187, I didn't put "Fixed ...." in the commit because it's not a "fix for a bug" as such. |
|
I think some of these unittest are only now @safe, because we recently added We could change
Well, then it would appear in the changelog. Even though the actual fix might not have happened in this PR, it doesn't matter from the user PoV as they then see "hey I can now use XXX in @safe" in the changelog. The changelog is generated from commit messages, so it's rather hard to add Bugzilla references that aren't mentioned in a commit. |
FYI: if you don't have "Fix(es)" in the commit message, the bot will just detect the issue, but won't close it nor mention it in the changelog. |
|
Referring to Auto-Tester's failing unittest (std/uni.d(1548): Error...), my results (Linux x86_64) are: @System unittest <= compiles with both, either -dip25 or -dip1000 If You want this @safe unittest, then You must use version(DIP1000) here, otherwise You're going to break any users builds, who don't use -dip1000 ! @wilzbach For this PR to pass Windows build-testing, we need the "dip1000.mak-mechanism" in the win*.mak files as well |
It's not as easy as that, because with |
|
@wilzbach
I was wrong with "For this PR to pass Windows build-testing...". As long as we take care, that modules (in dip1000,mak marked as -dip1000) compile with both (-dip25 / -dip1000) PRs should continue to compile on Windows as well (just not -dip1000 unittested) |
Yup, essentially what's failing on Windows would be failing with
Yes :/ Alternatives that come to my mind:
The downside of (2) would be that we don't run this test on Windows during this transition, so probably (5) is the best.
Yes :/ |
|
Correct, this issue is anologous. -unittest -deps needs to recurse into Phobos unittests because unittests may import modules, causing dependency relations, and -deps doesn't know which unittests are in a module that's in a library and which are in user code. |
b5b90a0 to
862a6ab
Compare
No need for a lot of them to be
@systemany more, things have improved.