Manu Evans
Manu Evans
In D now; we essentially assume all by-value parameters are rvalue references, and we eliminate the confusion between those 2 things, and also eliminate this nonsense case from C++. The...
> > Oh I see. Right; we can express that, but that's bad C++ code. `foo` should receive `S&&` to implement a proper move. In this C++ example, we just...
That's an interesting scenario; I'm not quite clear how you can MOVE s to a mutable and an immutable, but the interesting point here is the double-move? You should only...
TL;DR here though, what I'm trying to say (that I didn't say), is if "spec says fun(__rvalue(s)) calls the move constructor"; then she spec is wrong. That expression just forwards...
> Sure. Anyway I think we are on the same page that the spec is wrong here: It says `fun(__rvalue(s))` behaves like Iain's C++ example, calling the move constructor on...
Correct, though callee destruction is bad regardless and causes us other problems too unrelated to this. Scoped variables should be destroyed in the same scope they were created! I've worked...
Omg, it's already supported! 🤯 Hmm, that restrict flag is a bit of a shame. Bit disappointing to release that flag, although C++ has that behaviour with `T&&`, so we...
So debuginfo for enums is possible? Is there a reason we don't copy that?
You said that C++ has debuginfo for enums though, is that what it does?
Wow, this is from the ark! Very exciting bunch of patches in this release, I'll try them out as soon as I get a moment at my computer...