Struct should be invalid after move
Nicholas Wilson
iamthewilsonator at hotmail.com
Tue Nov 27 08:37:32 UTC 2018
On Tuesday, 27 November 2018 at 08:00:22 UTC, Sebastiaan Koppe
wrote:
> I have a non-copyable struct and I really want a compiler error
> whenever I access it after it has been moved.
>
> ---
> struct Handle {
> ...
> @disable this(this);
> ...
> }
>
> void main() {
> import std.algorithm : move;
> auto handle = getOne();
> auto second = handle.move; /// line 14
> auto third = handle.move; /// <- compiler error,
> variable handle is invalid after line 14
> }
> ---
>
> I believe this would prevent some nasty bugs when dealing with
> these structs.
>
> What do you think?
we need an `@invalidate`s attribute for that, would apply to
pointers passed to free etc. Probably would need a DIP though. I
like it.
More information about the Digitalmars-d
mailing list