struct A { import core.stdc.stdio; } void f() { A.puts("a"); } Should give deprecation instead of an error.
You can use: -transition=import to enable the old behavior. This is as designed.
*** Issue 17433 has been marked as a duplicate of this issue. ***
Please reconsider - you have explicitly promised that it will keep working in NG (see the linked duplicate issue).
(Note that it stopped working for `public import` too)
Hmm... maybe your issue should be reopened instead, because of public.
It compiles with -transition=import. That's what is needed to enable the old behavior. > explicitly promised https://digitalmars.com/d/archives/digitalmars/D/Nested_public_imports_-_bug_or_feature_269863.html#N270339 "Since the import is qualified with 'public', I see no reason to change this behavior." That isn't exactly a promise. And I was later convinced with reasons. But still the old behavior is maintained with the switch.