<div dir="auto"><div><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sat, 19 Oct 2024, 09:06 An via Digitalmars-d, <<a href="mailto:digitalmars-d@puremagic.com">digitalmars-d@puremagic.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On Monday, 14 October 2024 at 02:49:42 UTC, Walter Bright wrote:<br>
> On 10/11/2024 8:44 AM, Manu wrote:<br>
>> No that's wrong; this is EXACTLY the situation that move <br>
>> semantics exist to address. Move constructor like this should <br>
>> ACTUALLY BE a move constructor!<br>
><br>
> But currently this(S) is an rvalue constructor, not a move <br>
> constructor. I've said this many times.<br>
><br>
> Changing it would break existing code.<br>
<br>
What about considering these syntax in new Edition that D is <br>
advocate for breaking changes?<br>
`this(S)`, `this(ref S)`, `opAssign(S)`, `opAssign(ref S)`<br></blockquote></div></div><div dir="auto"><br></div><div dir="auto">We have no case studies; as far as we've determined so far, this is the only potentially breaking change, and we have no evidence yet other than theory that it actually is a breaking change.</div><div dir="auto"><br></div><div dir="auto">Let's worry about this when we actually know of a single case where it breaks code...</div><div dir="auto">I think it probably doesn't break any code, or that the code in question is already broken...</div><div dir="auto"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
</blockquote></div></div></div>