March 15, 2018
https://issues.dlang.org/show_bug.cgi?id=18618

          Issue ID: 18618
           Summary: templated functions should in general have their
                    attributes inferred
           Product: D
           Version: D2
          Hardware: x86
                OS: Mac OS X
            Status: NEW
          Severity: enhancement
          Priority: P1
         Component: phobos
          Assignee: nobody@puremagic.com
          Reporter: timothee.cour2@gmail.com

templated functions should in general have their attributes inferred

lots of functions violate this, eg:

auto uninitializedArray(T, I...)(I sizes) nothrow @system
std/complex.d:37:24:auto complex(R)(R re)  @safe pure nothrow @nogc
pure bool isLoggingEnabled()(LogLevel ll) @safe nothrow @nogc
std/math.d:646:23:auto conj(Num)(Num z) @safe pure nothrow @nogc

context: see https://github.com/dlang/phobos/pull/6178#discussion_r174693271

--