[Issue 7532] New: DMD stripping imports in header files

d-bugmail at puremagic.com d-bugmail at puremagic.com
Fri Feb 17 08:18:32 PST 2012


http://d.puremagic.com/issues/show_bug.cgi?id=7532

           Summary: DMD stripping imports in header files
           Product: D
           Version: D2
          Platform: All
        OS/Version: All
            Status: NEW
          Keywords: wrong-code
          Severity: normal
          Priority: P2
         Component: DMD
        AssignedTo: nobody at puremagic.com
        ReportedBy: admin at dav1d.de


--- Comment #0 from David <admin at dav1d.de> 2012-02-17 08:18:24 PST ---
DMD seems to strip the part following the ":" in the import statement in
header-files (.di). This causes strange errors when e.g. import "std.math :
sqrt" and "core.stdc.math : fmodf", since sqrt is also defined in
core.stdc.math.

Example:

// linalg.di - Header
private 
{
    import std.math;
    import std.conv;
    import std.traits;
    import std.string;
    import std.array;
    import std.algorithm;
    import gl3n.math;
    import gl3n.util;
}

// linalg.d - Source
private {
    import std.math : isNaN, isInfinity, sqrt;
    import std.conv : to;
    import std.traits : isFloatingPoint, isStaticArray, isDynamicArray,
isImplicitlyConvertible;
    import std.string : format, rightJustify;
    import std.array : join;
    import std.algorithm : max, min, reduce;
    import gl3n.math : clamp, PI, abs, sin, cos, acos, tan, asin, atan2;
    import gl3n.util : is_vector, is_matrix, is_quaternion;
}

gl3n.math imports "core.stdc.math : fmodf" publically which caused strange
error messages:

"Error: std.math.sqrt at
MeinPfadZuD_Root\dmd2\windows\bin\..\..\src\phobos\std\math.d(874) conflicts
with __anonymous at "

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------


More information about the Digitalmars-d-bugs mailing list