www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Issue 14095] New: explicitly exclude symbol from resolution

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

          Issue ID: 14095
           Summary: explicitly exclude symbol from resolution
                    consideration
           Product: D
           Version: D1 & D2
          Hardware: x86_64
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P1
         Component: DMD
          Assignee: nobody puremagic.com
          Reporter: vlevenfeld gmail.com

There needs to be a mechanism for specifically excluding a particular symbol
from resolution in a given scope.

I've been struggling for months to chase std.array.array out of my codebase: I
use a custom multidimensional array and, somehow, when I call .array on
anything, std.array takes the call and subsequently fails to compile. My custom
array isn't attempted, and no symbol conflict error is issued by the compiler.
Sometimes .array will correctly route to my array, but its a coin toss.

I suspect this has something to do with the longstanding import visibility bug,
and I've been led to understand that fixing it is a massive and tricky
undertaking, so until its solved, something like 

  pragma (excludeSymbol, std.array.array);

would be immensely helpful, if only as a stopgap measure.

--
Jan 31 2015