[Issue 23901] Spurious "Cannot move object [...] with internal pointer"

d-bugmail at puremagic.com d-bugmail at puremagic.com
Sun May 7 06:49:29 UTC 2023


https://issues.dlang.org/show_bug.cgi?id=23901

--- Comment #3 from Vladimir Panteleev <dlang-bugzilla at thecybershadow.net> ---
It's in the issue title. On 2.103.1, the full output is:

core.exception.AssertError@/home/vladimir/data/software/dmd/dmd.2.103.1.linux/dmd2/linux/bin64/../../src/phobos/std/algorithm/mutation.d(1427):
Cannot move object of type Tuple with internal pointer unless `opPostMove` is
defined.
----------------
??:? _d_assert_msg [0x55972b30555c]
??:? pure nothrow @nogc @safe void
std.algorithm.mutation.moveEmplaceImpl!(test.tuple!(test.functor5!(bool).functor5(bool).Functor,
test.functor3(int*).Functor).tuple(test.functor5!(bool).functor5(bool).Functor,
test.functor3(int*).Functor).Tuple).moveEmplaceImpl(scope ref
test.tuple!(test.functor5!(bool).functor5(bool).Functor,
test.functor3(int*).Functor).tuple(test.functor5!(bool).functor5(bool).Functor,
test.functor3(int*).Functor).Tuple, return scope ref
test.tuple!(test.functor5!(bool).functor5(bool).Functor,
test.functor3(int*).Functor).tuple(test.functor5!(bool).functor5(bool).Functor,
test.functor3(int*).Functor).Tuple) [0x55972b2fddb0]
??:? pure nothrow @nogc @trusted
test.tuple!(test.functor5!(bool).functor5(bool).Functor,
test.functor3(int*).Functor).tuple(test.functor5!(bool).functor5(bool).Functor,
test.functor3(int*).Functor).Tuple
std.algorithm.mutation.trustedMoveImpl!(test.tuple!(test.functor5!(bool).functor5(bool).Functor,
test.functor3(int*).Functor).tuple(test.functor5!(bool).functor5(bool).Functor,
test.functor3(int*).Functor).Tuple).trustedMoveImpl(return scope ref
test.tuple!(test.functor5!(bool).functor5(bool).Functor,
test.functor3(int*).Functor).tuple(test.functor5!(bool).functor5(bool).Functor,
test.functor3(int*).Functor).Tuple) [0x55972b2fdf7f]
??:? pure nothrow @nogc @safe
test.tuple!(test.functor5!(bool).functor5(bool).Functor,
test.functor3(int*).Functor).tuple(test.functor5!(bool).functor5(bool).Functor,
test.functor3(int*).Functor).Tuple
std.algorithm.mutation.moveImpl!(test.tuple!(test.functor5!(bool).functor5(bool).Functor,
test.functor3(int*).Functor).tuple(test.functor5!(bool).functor5(bool).Functor,
test.functor3(int*).Functor).Tuple).moveImpl(return scope ref
test.tuple!(test.functor5!(bool).functor5(bool).Functor,
test.functor3(int*).Functor).tuple(test.functor5!(bool).functor5(bool).Functor,
test.functor3(int*).Functor).Tuple) [0x55972b2fdd60]
??:? pure nothrow @nogc @safe
test.tuple!(test.functor5!(bool).functor5(bool).Functor,
test.functor3(int*).Functor).tuple(test.functor5!(bool).functor5(bool).Functor,
test.functor3(int*).Functor).Tuple
std.algorithm.mutation.move!(test.tuple!(test.functor5!(bool).functor5(bool).Functor,
test.functor3(int*).Functor).tuple(test.functor5!(bool).functor5(bool).Functor,
test.functor3(int*).Functor).Tuple).move(return scope ref
test.tuple!(test.functor5!(bool).functor5(bool).Functor,
test.functor3(int*).Functor).tuple(test.functor5!(bool).functor5(bool).Functor,
test.functor3(int*).Functor).Tuple) [0x55972b2fdd54]
??:? pure nothrow ref @nogc @safe
test.functor10!(test.tuple!(test.functor5!(bool).functor5(bool).Functor,
test.functor3(int*).Functor).tuple(test.functor5!(bool).functor5(bool).Functor,
test.functor3(int*).Functor).Tuple).functor10(test.tuple!(test.functor5!(bool).functor5(bool).Functor,
test.functor3(int*).Functor).tuple(test.functor5!(bool).functor5(bool).Functor,
test.functor3(int*).Functor).Tuple).Functor
test.functor10!(test.tuple!(test.functor5!(bool).functor5(bool).Functor,
test.functor3(int*).Functor).tuple(test.functor5!(bool).functor5(bool).Functor,
test.functor3(int*).Functor).Tuple).functor10(test.tuple!(test.functor5!(bool).functor5(bool).Functor,
test.functor3(int*).Functor).tuple(test.functor5!(bool).functor5(bool).Functor,
test.functor3(int*).Functor).Tuple).Functor.__ctor(test.tuple!(test.functor5!(bool).functor5(bool).Functor,
test.functor3(int*).Functor).tuple(test.functor5!(bool).functor5(bool).Functor,
test.functor3(int*).Functor).Tuple) [0x55972b2fdd44]
??:? pure nothrow @nogc @safe
test.functor10!(test.tuple!(test.functor5!(bool).functor5(bool).Functor,
test.functor3(int*).Functor).tuple(test.functor5!(bool).functor5(bool).Functor,
test.functor3(int*).Functor).Tuple).functor10(test.tuple!(test.functor5!(bool).functor5(bool).Functor,
test.functor3(int*).Functor).tuple(test.functor5!(bool).functor5(bool).Functor,
test.functor3(int*).Functor).Tuple).Functor
test.functor10!(test.tuple!(test.functor5!(bool).functor5(bool).Functor,
test.functor3(int*).Functor).tuple(test.functor5!(bool).functor5(bool).Functor,
test.functor3(int*).Functor).Tuple).functor10(test.tuple!(test.functor5!(bool).functor5(bool).Functor,
test.functor3(int*).Functor).tuple(test.functor5!(bool).functor5(bool).Functor,
test.functor3(int*).Functor).Tuple) [0x55972b2fdd2d]
??:? pure nothrow @nogc @safe
test.functor10!(test.tuple!(test.functor5!(bool).functor5(bool).Functor,
test.functor3(int*).Functor).tuple(test.functor5!(bool).functor5(bool).Functor,
test.functor3(int*).Functor).Tuple).functor10(test.tuple!(test.functor5!(bool).functor5(bool).Functor,
test.functor3(int*).Functor).tuple(test.functor5!(bool).functor5(bool).Functor,
test.functor3(int*).Functor).Tuple).Functor
test.formattingFunctor1!(test.tuple!(test.functor5!(bool).functor5(bool).Functor,
test.functor3(int*).Functor).tuple(test.functor5!(bool).functor5(bool).Functor,
test.functor3(int*).Functor).Tuple).formattingFunctor1(test.tuple!(test.functor5!(bool).functor5(bool).Functor,
test.functor3(int*).Functor).tuple(test.functor5!(bool).functor5(bool).Functor,
test.functor3(int*).Functor).Tuple) [0x55972b2fdc17]
??:? nothrow @nogc @safe void test.fmtIf1!(bool,
test.tuple!(test.functor5!(bool).functor5(bool).Functor,
test.functor3(int*).Functor).tuple(test.functor5!(bool).functor5(bool).Functor,
test.functor3(int*).Functor).Tuple delegate() nothrow @nogc @safe,
immutable(char)[]).fmtIf1(bool,
test.tuple!(test.functor5!(bool).functor5(bool).Functor,
test.functor3(int*).Functor).tuple(test.functor5!(bool).functor5(bool).Functor,
test.functor3(int*).Functor).Tuple delegate() nothrow @nogc @safe,
immutable(char)[]).fun!(test.tuple!(test.functor5!(bool).functor5(bool).Functor,
test.functor3(int*).Functor).tuple(test.functor5!(bool).functor5(bool).Functor,
test.functor3(int*).Functor).Tuple delegate() nothrow @nogc
@safe).fun(test.tuple!(test.functor5!(bool).functor5(bool).Functor,
test.functor3(int*).Functor).tuple(test.functor5!(bool).functor5(bool).Functor,
test.functor3(int*).Functor).Tuple delegate() nothrow @nogc @safe)
[0x55972b2fdbe0]
??:? nothrow @nogc @safe void test.functor7!(test.fmtIf1!(bool,
test.tuple!(test.functor5!(bool).functor5(bool).Functor,
test.functor3(int*).Functor).tuple(test.functor5!(bool).functor5(bool).Functor,
test.functor3(int*).Functor).Tuple delegate() nothrow @nogc @safe,
immutable(char)[]).fmtIf1(bool,
test.tuple!(test.functor5!(bool).functor5(bool).Functor,
test.functor3(int*).Functor).tuple(test.functor5!(bool).functor5(bool).Functor,
test.functor3(int*).Functor).Tuple delegate() nothrow @nogc @safe,
immutable(char)[]).fun,
test.tuple!(test.functor5!(bool).functor5(bool).Functor,
test.functor3(int*).Functor).tuple(test.functor5!(bool).functor5(bool).Functor,
test.functor3(int*).Functor).Tuple delegate() nothrow @nogc
@safe).functor7(test.tuple!(test.functor5!(bool).functor5(bool).Functor,
test.functor3(int*).Functor).tuple(test.functor5!(bool).functor5(bool).Functor,
test.functor3(int*).Functor).Tuple delegate() nothrow @nogc
@safe).Functor.opCall() [0x55972b2fdba2]
??:? nothrow @nogc @safe void
test.select1!(test.functor4!(test.valueFunctor1!(bool).valueFunctor1(bool).__lambda2,
bool).functor4(bool).Functor, test.functor7!(test.fmtIf1!(bool,
test.tuple!(test.functor5!(bool).functor5(bool).Functor,
test.functor3(int*).Functor).tuple(test.functor5!(bool).functor5(bool).Functor,
test.functor3(int*).Functor).Tuple delegate() nothrow @nogc @safe,
immutable(char)[]).fmtIf1(bool,
test.tuple!(test.functor5!(bool).functor5(bool).Functor,
test.functor3(int*).Functor).tuple(test.functor5!(bool).functor5(bool).Functor,
test.functor3(int*).Functor).Tuple delegate() nothrow @nogc @safe,
immutable(char)[]).fun,
test.tuple!(test.functor5!(bool).functor5(bool).Functor,
test.functor3(int*).Functor).tuple(test.functor5!(bool).functor5(bool).Functor,
test.functor3(int*).Functor).Tuple delegate() nothrow @nogc
@safe).functor7(test.tuple!(test.functor5!(bool).functor5(bool).Functor,
test.functor3(int*).Functor).tuple(test.functor5!(bool).functor5(bool).Functor,
test.functor3(int*).Functor).Tuple delegate() nothrow @nogc @safe).Functor,
test.functor8!(test.fmtIf1!(bool,
test.tuple!(test.functor5!(bool).functor5(bool).Functor,
test.functor3(int*).Functor).tuple(test.functor5!(bool).functor5(bool).Functor,
test.functor3(int*).Functor).Tuple delegate() nothrow @nogc @safe,
immutable(char)[]).fmtIf1(bool,
test.tuple!(test.functor5!(bool).functor5(bool).Functor,
test.functor3(int*).Functor).tuple(test.functor5!(bool).functor5(bool).Functor,
test.functor3(int*).Functor).Tuple delegate() nothrow @n...
??:? nothrow @nogc @safe void
test.functor6!(test.select1!(test.functor4!(test.valueFunctor1!(bool).valueFunctor1(bool).__lambda2,
bool).functor4(bool).Functor, test.functor7!(test.fmtIf1!(bool,
test.tuple!(test.functor5!(bool).functor5(bool).Functor,
test.functor3(int*).Functor).tuple(test.functor5!(bool).functor5(bool).Functor,
test.functor3(int*).Functor).Tuple delegate() nothrow @nogc @safe,
immutable(char)[]).fmtIf1(bool,
test.tuple!(test.functor5!(bool).functor5(bool).Functor,
test.functor3(int*).Functor).tuple(test.functor5!(bool).functor5(bool).Functor,
test.functor3(int*).Functor).Tuple delegate() nothrow @nogc @safe,
immutable(char)[]).fun,
test.tuple!(test.functor5!(bool).functor5(bool).Functor,
test.functor3(int*).Functor).tuple(test.functor5!(bool).functor5(bool).Functor,
test.functor3(int*).Functor).Tuple delegate() nothrow @nogc
@safe).functor7(test.tuple!(test.functor5!(bool).functor5(bool).Functor,
test.functor3(int*).Functor).tuple(test.functor5!(bool).functor5(bool).Functor,
test.functor3(int*).Functor).Tuple delegate() nothrow @nogc @safe).Functor,
test.functor8!(test.fmtIf1!(bool,
test.tuple!(test.functor5!(bool).functor5(bool).Functor,
test.functor3(int*).Functor).tuple(test.functor5!(bool).functor5(bool).Functor,
test.functor3(int*).Functor).Tuple delegate() nothrow @nogc @safe,
immutable(char)[]).fmtIf1(bool,
test.tuple!(test.functor5!(bool).functor5(bool).Functor,
test.functor3(int*).Functor).tuple(test.functor5!(bool).functor5(bool).Functor,
test.functor3(int*).Functor).Tuple delega...
??:? nothrow @nogc @safe void
test.stringifiable1!(test.functor6!(test.select1!(test.functor4!(test.valueFunctor1!(bool).valueFunctor1(bool).__lambda2,
bool).functor4(bool).Functor, test.functor7!(test.fmtIf1!(bool,
test.tuple!(test.functor5!(bool).functor5(bool).Functor,
test.functor3(int*).Functor).tuple(test.functor5!(bool).functor5(bool).Functor,
test.functor3(int*).Functor).Tuple delegate() nothrow @nogc @safe,
immutable(char)[]).fmtIf1(bool,
test.tuple!(test.functor5!(bool).functor5(bool).Functor,
test.functor3(int*).Functor).tuple(test.functor5!(bool).functor5(bool).Functor,
test.functor3(int*).Functor).Tuple delegate() nothrow @nogc @safe,
immutable(char)[]).fun,
test.tuple!(test.functor5!(bool).functor5(bool).Functor,
test.functor3(int*).Functor).tuple(test.functor5!(bool).functor5(bool).Functor,
test.functor3(int*).Functor).Tuple delegate() nothrow @nogc
@safe).functor7(test.tuple!(test.functor5!(bool).functor5(bool).Functor,
test.functor3(int*).Functor).tuple(test.functor5!(bool).functor5(bool).Functor,
test.functor3(int*).Functor).Tuple delegate() nothrow @nogc @safe).Functor,
test.functor8!(test.fmtIf1!(bool,
test.tuple!(test.functor5!(bool).functor5(bool).Functor,
test.functor3(int*).Functor).tuple(test.functor5!(bool).functor5(bool).Functor,
test.functor3(int*).Functor).Tuple delegate() nothrow @nogc @safe,
immutable(char)[]).fmtIf1(bool,
test.tuple!(test.functor5!(bool).functor5(bool).Functor,
test.functor3(int*).Functor).tuple(test.functor5!(bool).functor5(bool).Functor,
test.functor3(int*)....
??:? _Dmain [0x55972b2fd7cc]

--


More information about the Digitalmars-d-bugs mailing list