https://issues.dlang.org/show_bug.cgi?id=12664
--- Comment #2 from bearophile_h...@eml.cc --- (In reply to Sobirari Muhomori from comment #1) > The third example can't infer attributes because it doesn't create the > delegate, and can't accept arbitrary type info because it's not templated. Thank you, I understand now :-) Is it a good idea to allow annotations for lazy arguments? void foo(T)(lazy @nogc x) @nogc { auto r = x(); } void main() { foo(1); } I guess lazy arguments are not used commonly enough to deserve such improvements. --