October 17, 2023
On 17/10/2023 1:58 PM, mw wrote:
> Oh the <_My_struct> part is my simplification, it is mangled as something like : _D6..<_My_struct>..__xtoHashFNbNeKxSQBlQBoQBiZm

When dealing with linker errors, please do not simplify, it can make problems unsolvable.
October 17, 2023
On Tuesday, 17 October 2023 at 01:11:13 UTC, Richard (Rikki) Andrew Cattermole wrote:
> They are for structs as well.

Ah?! I use quite a few struts, but I never have provided such two methods.
October 17, 2023
On Tuesday, 17 October 2023 at 01:14:04 UTC, Richard (Rikki) Andrew Cattermole wrote:
> On 17/10/2023 1:58 PM, mw wrote:
>> Oh the <_My_struct> part is my simplification, it is mangled as something like : _D6..<_My_struct>..__xtoHashFNbNeKxSQBlQBoQBiZm
>
> When dealing with linker errors, please do not simplify, it can make problems unsolvable.

It's just my own module and type name, nothing special or interesting.
October 17, 2023
On 17/10/2023 2:15 PM, mw wrote:
> On Tuesday, 17 October 2023 at 01:11:13 UTC, Richard (Rikki) Andrew Cattermole wrote:
>> They are for structs as well.
> 
> Ah?! I use quite a few struts, but I never have provided such two methods.

Indeed, they are generated by the compiler, not user provided.

They are needed when you have fields that are not basic types like other structs.
October 17, 2023
On 17/10/2023 2:17 PM, mw wrote:
> It's just my own module and type name, nothing special or interesting.

Doesn't matter.

Because I now can't demangle it and figure out what its trying to find without doing that by hand. Every character in a symbol name is significant, you can't remove some of it without changing the meaning of something else.

Regardless its probably not something like template elision from what you have said so it might be a compiler bug and I won't be much help there. Of course I can't know for certain without the full symbol hierarchy or the symbol name.
October 17, 2023
On Tuesday, 17 October 2023 at 01:54:12 UTC, Richard (Rikki) Andrew Cattermole wrote:
> On 17/10/2023 2:15 PM, mw wrote:
>> On Tuesday, 17 October 2023 at 01:11:13 UTC, Richard (Rikki) Andrew Cattermole wrote:
>>> They are for structs as well.
>> 
>> Ah?! I use quite a few struts, but I never have provided such two methods.
>
> Indeed, they are generated by the compiler, not user provided.
>
> They are needed when you have fields that are not basic types like other structs.

Is string basic types? as I showed one earlier Foo {one string and two ints}, my other struct only has double and long, it also has the same link errors about toHash and opEquals.
October 17, 2023
On 17/10/2023 4:18 PM, mw wrote:
> Is string basic types? as I showed one earlier Foo {one string and two ints}, my other struct only has double and long, it also has the same link errors about toHash and opEquals.

string is not a basic type, its a slice, which means pointer.
1 2
Next ›   Last »