[Issue 22784] New: pragma(printf) applies to nested functions
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Thu Feb 17 03:16:05 UTC 2022
https://issues.dlang.org/show_bug.cgi?id=22784
Issue ID: 22784
Summary: pragma(printf) applies to nested functions
Product: D
Version: D2
Hardware: All
OS: All
Status: NEW
Severity: normal
Priority: P1
Component: dmd
Assignee: nobody at puremagic.com
Reporter: duser at airmail.cc
example:
import core.stdc.stdarg;
extern(C)
pragma(printf)
void fn(const(char)* fmt, ...)
{
void inner(){}
}
output:
test.d(6): Error: function `test.fn.inner` `pragma(printf)` functions must be
`extern(C) void inner([parameters...], const(char)*, va_list)`
i'd expect the pragma to apply to the outer function only so you can have
non-printf-like helper functions inside a printf-like function
--
More information about the Digitalmars-d-bugs
mailing list