digitalmars.D - Operator for pass by move
- Per =?UTF-8?B?Tm9yZGzDtnc=?= (13/13) Dec 19 2022 Have anybody considered dedicating a specific operator for
- Paul Backus (2/4) Dec 19 2022 Is `core.lifetime.move` not good enough?
- deadalnix (5/9) Dec 21 2022 There is no reason for either.
- Timon Gehr (4/15) Dec 21 2022 The reason is that you may want to be explicit about your moves and have...
Have anybody considered dedicating a specific operator for pass-by-move semantics in assignments and argument passing? For instance, ```d y = x; z = f(y); ``` copies `x` and `y` whereas ```d y = <<x; z = f(<<y); ``` moves `x` and `y`.
Dec 19 2022
On Monday, 19 December 2022 at 11:12:54 UTC, Per Nordlöw wrote:Have anybody considered dedicating a specific operator for pass-by-move semantics in assignments and argument passing?Is `core.lifetime.move` not good enough?
Dec 19 2022
On Monday, 19 December 2022 at 17:43:12 UTC, Paul Backus wrote:On Monday, 19 December 2022 at 11:12:54 UTC, Per Nordlöw wrote:There is no reason for either. The compiler should definitively be able to move things when appropriate (if they are not reused after) and this is allowed by the current spec.Have anybody considered dedicating a specific operator for pass-by-move semantics in assignments and argument passing?Is `core.lifetime.move` not good enough?
Dec 21 2022
On 12/21/22 17:50, deadalnix wrote:On Monday, 19 December 2022 at 17:43:12 UTC, Paul Backus wrote:The reason is that you may want to be explicit about your moves and have the type checker complain if it's actually used again. (This is also why core.lifetime.move is not great.)On Monday, 19 December 2022 at 11:12:54 UTC, Per Nordlöw wrote:There is no reason for either. The compiler should definitively be able to move things when appropriate (if they are not reused after) and this is allowed by the current spec.Have anybody considered dedicating a specific operator for pass-by-move semantics in assignments and argument passing?Is `core.lifetime.move` not good enough?
Dec 21 2022