Bug 19789 – Lazy expression evaluation doesn't check parent scope for deprecations

Status
NEW
Severity
normal
Priority
P3
Component
dmd
Product
D
Version
D2
Platform
x86_64
OS
Linux
Creation time
2019-04-04T11:13:49Z
Last change time
2024-12-13T19:02:52Z
Assigned to
No Owner
Creator
Seb
Moved to GitHub: dmd#19551 →

Comments

Comment #0 by greeenify — 2019-04-04T11:13:49Z
The following shouldn't trigger any deprecation messages as we're inside a deprecated AST branch, but lazy doesn't seem to check its parent scope: --- deprecated struct Foo { int i;} void bar(T)(lazy T e) { e(); } deprecated void main() { bar(Foo(42)); } ---
Comment #1 by dlang-bot — 2019-04-04T11:17:32Z
@wilzbach updated dlang/druntime pull request #1982 "Make deprecation warnings compile errors" mentioning this issue: - Workaround Issue 19789: add a copy of _assertThrown https://github.com/dlang/druntime/pull/1982
Comment #2 by dlang-bot — 2019-04-08T08:10:42Z
dlang/druntime pull request #1982 "Make deprecation warnings compile errors" was merged into master: - 9b706b935f5f234ffa7fb95334066ab47dc1527c by Sebastian Wilzbach: Workaround Issue 19789: add a copy of _assertThrown https://github.com/dlang/druntime/pull/1982
Comment #3 by robert.schadek — 2024-12-13T19:02:52Z
THIS ISSUE HAS BEEN MOVED TO GITHUB https://github.com/dlang/dmd/issues/19551 DO NOT COMMENT HERE ANYMORE, NOBODY WILL SEE IT, THIS ISSUE HAS BEEN MOVED TO GITHUB