Thread overview
[Issue 7619] Broken deprecated feature with template function
Nov 30, 2019
RazvanN
Dec 02, 2019
RazvanN
Nov 18, 2021
Dlang Bot
Dec 17, 2022
Iain Buclaw
November 30, 2019
https://issues.dlang.org/show_bug.cgi?id=7619

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
                 CC|                            |razvan.nitu1305@gmail.com
         Resolution|---                         |WORKSFORME

--- Comment #2 from RazvanN <razvan.nitu1305@gmail.com> ---
I cannot reproduce this in master git HEAD. Closing as WORKSFORME.

--
November 30, 2019
https://issues.dlang.org/show_bug.cgi?id=7619

moonlightsentinel@disroot.org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|RESOLVED                    |REOPENED
                 CC|                            |moonlightsentinel@disroot.o
                   |                            |rg
         Resolution|WORKSFORME                  |---

--- Comment #3 from moonlightsentinel@disroot.org ---
Verified with DMD-nightly on run.dlang.io.

--
December 02, 2019
https://issues.dlang.org/show_bug.cgi?id=7619

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|REOPENED                    |RESOLVED
         Resolution|---                         |WORKSFORME

--- Comment #4 from RazvanN <razvan.nitu1305@gmail.com> ---
Why did you reopen? I just verified with dmd, dmd-beta and dmd-nightly and it doesn;t output any errors.

--
December 02, 2019
https://issues.dlang.org/show_bug.cgi?id=7619

--- Comment #5 from moonlightsentinel@disroot.org ---
dmd-nightly on run.dlan.io produces:

onlineapp.d(3): Deprecation: struct onlineapp.S is deprecated

It still issues a warning that S is deprecated while instantiating foo in a deprecated context (and hence fails to compile with -de).

This is a blocking issue when compiling phobos unittests with "-checkaction=context"[1] as it instantiates templates with cfloat, ...

[1] https://github.com/dlang/phobos/pull/7252

--
July 27, 2021
https://issues.dlang.org/show_bug.cgi?id=7619

moonlightsentinel@disroot.org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|RESOLVED                    |REOPENED
         Resolution|WORKSFORME                  |---

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

Dlang Bot <dlang-bot@dlang.rocks> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |pull

--- Comment #6 from Dlang Bot <dlang-bot@dlang.rocks> ---
@MoonlightSentinel updated dlang/dmd pull request #10677 "Fix Issue 7619 - Broken deprecated feature with template function" fixing this issue:

- Fix Issue 7619 - Infer deprecated for template instances

  Template instances may use deprecated symbols that were passed as
  template parameters or selected based on an instance-specific condition.
  Previously DMD raised deprecation messages for the deprecated symbol at
  the point of instantiation AND substitution inside of the template code.
  The latter is cannot be suppressed by using `deprecated` because that
  will only apply to certain instantiations.

  This commit changes the behavior to check whether a deprecated symbol
  is used inside of a template instance and marks the instance as
  `deprecated` if found. That way only the actual usage of the instance
  will raise deprecation messages.

  Ideally this should only apply to deprecated symbols that depend on the
  template parameters but those dependencies are not traceable in general
  (`static if`, `compiles`, ...).

https://github.com/dlang/dmd/pull/10677

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

Iain Buclaw <ibuclaw@gdcproject.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Priority|P2                          |P3

--