-
-
Notifications
You must be signed in to change notification settings - Fork 420
Moved move
, moveEmplace
, and forward
to core.lifetime
#2442
Conversation
Thanks for your pull request and interest in making D better, @TurkeyMan! 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 fetch digger
dub run digger -- build "master + druntime#2442" |
361999c
to
cf5fe64
Compare
Looks like you need to explicitly import |
Yup, is WIP. Just here so people can complain eagerly ;) |
There'll be nothing to complain when the build is fixed ;) Thanks for taking the initiative! |
cf5fe64
to
485cca5
Compare
485cca5
to
4a19e57
Compare
WTF is with Phobos!! The dependence hierarchies are all completely insane! |
4a19e57
to
6ce26fb
Compare
I'm not sure what the go with this error is... |
CI says:
Does
work for your locally? |
It fails because you haven't copied all of
|
Oh.... shit. I hope I haven't done that elsewhere!! O_O |
6bc63f1
to
37eb380
Compare
37eb380
to
27b41a0
Compare
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.
LGTM
Is this G2G? That one test fail looks completely unrelated... |
Yup. Deprecated the build for you. |
What does that mean? Can this merge? |
// static if (!is(T == class) && hasAliasing!T) if (!__ctfe) | ||
// { | ||
// import std.exception : doesPointTo; | ||
// assert(!doesPointTo(source, source), "Cannot move object with internal pointer."); |
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.
How do we ensure we fix this before the next release?
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.
We can't ensure that; but I'm starting to look into core.traits
, which will lead to the solution.
We are paying an obscenely high compile-time cost for this error message, and it's not even that great!
Okay, I ported |
I'm not sure your patch is right... you're missing the But if you wanna keep it, can you move |
I'm aware and I wanted to port
Yeah I know. Just wanted to quickly test whether it works on all CIs and didn't have much time. |
So yeah I managed to port
However, of course we can remove all these lines from Phobos and replace them with aliases. |
c312ede
to
5df245f
Compare
We can't remove them from phobos unless we put then in a public module, with doco generated and tests... then we can make phobos aliases. |
See... look at that patch now... look how much code you pulled. I don't think the error message is reasonable with respect to the volume of supporting code. |
I'm not comfortable to pull this. Can you make your amendment a separate PR on top of my original one, and then we can discuss the best approach and where to draw the lines without blocking my original PR? |
5df245f
to
27b41a0
Compare
Why shouldn't we be able to alias them? Even DMD's documentation generator supports exposing aliased symbols. We would just need to keep the public tests in Phobos. |
Not sure as we'll probably end up pulling most of this code from druntime at some point anyhow. |
I noticed while moving some other stuff, that the phobos stuff is not necessarily in sync with Any effort to create
Right, but that's a carefully considered process. Anyway, I made a new PR where we can discuss that pickle. |
I also noticed some code in |
Auto-merge toggled on |
FYI I started to remove the now duplicate implementations in Phobos:
But we can't move CC @edi33416 |
We can for now make |
Yup, that's basically what I proposed ;-) |
Another possibility is to overload, where are the ambiguities? |
WIP, I still need to wrangle phobos dependencies...