Thread overview
[Issue 18906] Template specialisations should not be stripped if they're not called
May 25, 2018
Nathan S.
May 25, 2018
Manu
Sep 16, 2018
Manu
Nov 18, 2018
RazvanN
Nov 18, 2018
Manu
Nov 18, 2018
Manu
Nov 26, 2018
Manu
May 25, 2018
https://issues.dlang.org/show_bug.cgi?id=18906

Nathan S. <n8sh.secondary@hotmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |n8sh.secondary@hotmail.com

--- Comment #1 from Nathan S. <n8sh.secondary@hotmail.com> ---
```
  int t(T : int)(int x)
  {
    return x * 2;
  }
```

What is the point of the template?

--
May 25, 2018
https://issues.dlang.org/show_bug.cgi?id=18906

--- Comment #2 from Manu <turkeyman@gmail.com> ---
It's a specialisation.

Someone might call `t!(IDontKnowWhat)(value);`, and if IDontKnowWhat is int, it
should use that specialisation, and if it's not, it should instantiate the
generic unspecialised one.

It also affects function mangling, and extern linkage.

--
September 16, 2018
https://issues.dlang.org/show_bug.cgi?id=18906

Manu <turkeyman@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |C++, industry
           Severity|normal                      |major

--- Comment #3 from Manu <turkeyman@gmail.com> ---
This is actually pretty problematic issue...

--
November 18, 2018
https://issues.dlang.org/show_bug.cgi?id=18906

RazvanN <razvan.nitu1305@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |razvan.nitu1305@gmail.com

--- Comment #4 from RazvanN <razvan.nitu1305@gmail.com> ---
Why is this problematic? That is a template specialization for types that convert to int so adding the symbol t!int to the object file would not be very accurate.

--
November 18, 2018
https://issues.dlang.org/show_bug.cgi?id=18906

--- Comment #5 from Manu <turkeyman@gmail.com> ---
Sorry, it should probably be '=', not ':'...

--
November 18, 2018
https://issues.dlang.org/show_bug.cgi?id=18906

--- Comment #6 from Manu <turkeyman@gmail.com> ---
But you get the idea...

--
November 26, 2018
https://issues.dlang.org/show_bug.cgi?id=18906

Manu <turkeyman@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|---                         |INVALID

--