Thread overview
[Issue 20805] C++ mangling mismatch with templates and namespaces
May 08, 2020
Andrej Mitrovic
May 12, 2020
Andrej Mitrovic
Jun 16, 2021
Mathias LANG
Dec 17, 2022
Iain Buclaw
May 08, 2020
https://issues.dlang.org/show_bug.cgi?id=20805

--- Comment #1 from Andrej Mitrovic <andrej.mitrovich@gmail.com> ---
By the way please disregard the "-4" part, this is a bug on demangler.com. c++filt works fine and will demangle the symbols properly.

--
May 12, 2020
https://issues.dlang.org/show_bug.cgi?id=20805

--- Comment #2 from Andrej Mitrovic <andrej.mitrovich@gmail.com> ---
Simplified test-case:

```
extern (C++, `xdr`)
struct xvector(T)
{
}

extern (C++)
public void push_back1 (ref xvector!(xvector!ubyte), ref xvector!ubyte);

extern (C++)
public void push_back2 ()(ref xvector!(xvector!ubyte), ref xvector!ubyte);

void main ()
{
    xvector!(xvector!ubyte) vec;
    xvector!ubyte val;

    vec.push_back1(val);
    vec.push_back2(val);
}
```

--
June 16, 2021
https://issues.dlang.org/show_bug.cgi?id=20805

Mathias LANG <pro.mathias.lang@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |pro.mathias.lang@gmail.com

--- Comment #3 from Mathias LANG <pro.mathias.lang@gmail.com> ---
Actually, the reduction is a different issue. C++ does not have parameterless templates, so the compiler should probably disallow them since it can't mangle them.

--
December 17, 2022
https://issues.dlang.org/show_bug.cgi?id=20805

Iain Buclaw <ibuclaw@gdcproject.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Priority|P1                          |P2

--
December 13
https://issues.dlang.org/show_bug.cgi?id=20805

--- Comment #4 from dlangBugzillaToGithub <robert.schadek@posteo.de> ---
THIS ISSUE HAS BEEN MOVED TO GITHUB

https://github.com/dlang/dmd/issues/17954

DO NOT COMMENT HERE ANYMORE, NOBODY WILL SEE IT, THIS ISSUE HAS BEEN MOVED TO GITHUB

--