[Issue 7619] Broken deprecated feature with template function

2019-11-30 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=7619

RazvanN  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||razvan.nitu1...@gmail.com
 Resolution|--- |WORKSFORME

--- Comment #2 from RazvanN  ---
I cannot reproduce this in master git HEAD. Closing as WORKSFORME.

--


[Issue 7619] Broken deprecated feature with template function

2019-11-30 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=7619

moonlightsenti...@disroot.org changed:

   What|Removed |Added

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

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

--


[Issue 7619] Broken deprecated feature with template function

2019-12-02 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=7619

RazvanN  changed:

   What|Removed |Added

 Status|REOPENED|RESOLVED
 Resolution|--- |WORKSFORME

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

--


[Issue 7619] Broken deprecated feature with template function

2019-12-02 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=7619

--- Comment #5 from moonlightsenti...@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

--


[Issue 7619] Broken deprecated feature with template function

2012-03-01 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=7619


Stewart Gordon  changed:

   What|Removed |Added

 CC||s...@iname.com


--- Comment #1 from Stewart Gordon  2012-03-01 09:10:41 PST ---
It seems to me the compiler generates

void fooS(S t) {}

but once the time's come to semantically analyse the instance, it has forgotten
what created it in the first place.

Perhaps what's needed is: If when semantically analysing a template instance a
deprecated symbol is hit, flag the template instance as deprecated.  Then only
if non-deprecated code references it will an error be generated.

The complication is that the error shown to the user should be about the
original deprecated symbol.  This can be achieved by accommodating in the
propagated deprecation flag a note of the original deprecation.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 7619] Broken deprecated feature with template function

2021-07-27 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=7619

moonlightsenti...@disroot.org changed:

   What|Removed |Added

 Status|RESOLVED|REOPENED
 Resolution|WORKSFORME  |---

--


[Issue 7619] Broken deprecated feature with template function

2021-11-18 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=7619

Dlang Bot  changed:

   What|Removed |Added

   Keywords||pull

--- Comment #6 from Dlang Bot  ---
@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

--


[Issue 7619] Broken deprecated feature with template function

2022-12-17 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=7619

Iain Buclaw  changed:

   What|Removed |Added

   Priority|P2  |P3

--