www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Issue 18444] New: [DIP25][DIP1000] Tracking issue for: "The


          Issue ID: 18444
           Summary: [DIP25][DIP1000] Tracking issue for: "The
                    implementation doesn't match DIPs 25/1000"
           Product: D
           Version: D2
          Hardware: All
                OS: All
            Status: NEW
          Keywords: rejects-valid, safe, spec
          Severity: normal
          Priority: P1
         Component: dmd
          Assignee: nobody puremagic.com
          Reporter: chilli posteo.net
        Depends on: 17512
            Blocks: 18110

Tracking issue for: "The implementation doesn't match DIPs 25/1000".

Existing and coming bugzilla issues will be lined up here (Depends on:).

My initial add-priority is on issues as I encounter them as "blocking -dip1000
compilable phobos". (-dip1000 includes -dip25)

Tracking down the kind of issues addressed here in the presence of inferred
attributes/storage classes is somewhat tedious, as the compiler mostly comes up
with the starting point only.
E.g. temporarily explicitely declaring templated functions as  safe (that
should be inferred  safe but aren't) helps to improve error message precision
and so on down to the root of the failing  safe inference, which may be a
phobos or dmd implementation issue. Some uses of writef/writefln... are of this
kind (inferred  safe with -dip25, but inferred  system with -dip1000
Instrumenting with pragma(msg, typeof(&someFunction)); is another helper (does
anybody know how to address struct auto-generated functions Constructor,
Destructor, Postblit, Assignment Operator?; I failed with e.g. __dtor etc.).

Any more hints/advice here is very much appreciated.


Referenced Issues:

[Issue 17512] [REG 2.073] [DIP1000] Error on bad interplay of "auto ref" and
"return" attribute deduction.
[Issue 18110] most of phobos should be  safe-ly useable
Feb 15 2018