December 10, 2018
https://issues.dlang.org/show_bug.cgi?id=19472

          Issue ID: 19472
           Summary: Allow transitive module attributes (UDAs)
           Product: D
           Version: D2
          Hardware: All
                OS: All
            Status: NEW
          Severity: enhancement
          Priority: P1
         Component: dmd
          Assignee: nobody@puremagic.com
          Reporter: radu.racariu@gmail.com

When developing @safe @nogc nothrow code, the mantra needs repeated on each module and each aggregate in the module. This is verbose and has little value for the reader, more noise in the code.

Currently adding module level attributes is not allowed:
---
@nogc module foo;
---
Error: @nogc attribute for module declaration is not supported

Would be nice to able to annotate whole modules (including aggregates inside the module) with a set of attributes - this will reduce the clutter and actually be useful as a documentation for readers.

--