www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Issue 16348] New: ICE with package visibility

https://issues.dlang.org/show_bug.cgi?id=16348

          Issue ID: 16348
           Summary: ICE with package visibility
           Product: D
           Version: D2
          Hardware: x86_64
                OS: All
            Status: NEW
          Keywords: ice, ice-on-valid-code
          Severity: normal
          Priority: P1
         Component: dmd
          Assignee: nobody puremagic.com
          Reporter: lodovico giaretart.net

Segmentation fault in function hasPackageAccess(Module*, DSymbol*).

Test case:

file source/mypackage/bar.d
==============
module mypackage.bar;

package bool bar()
{
    return false;
}
==============

file source/mypackage/foo.d
==============
module mypackage.foo;

void foo()
{
    // removing the if-else also removes the segfault
    if (false) {}
    else
    {
        // changing this to a selective import removes the segfault
        import mypackage.bar;

        auto b = bar();
    }
}
==============

--
Aug 02 2016