Thread overview
[Issue 625] New: static import and renamed import of mixin don't work
Dec 02, 2006
d-bugmail
[Issue 625] [module] static import and renamed import of mixin don't work
Feb 14, 2012
dawg@dawgfoto.de
Feb 17, 2012
dawg@dawgfoto.de
December 02, 2006
http://d.puremagic.com/issues/show_bug.cgi?id=625

           Summary: static import and renamed import of mixin don't work
           Product: D
           Version: 0.175
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: enhancement
          Priority: P2
         Component: DMD
        AssignedTo: bugzilla@digitalmars.com
        ReportedBy: wbaxter@gmail.com


[resubmission of issue http://d.puremagic.com/issues/show_bug.cgi?id=506 as an enhancement.]

static import and renamed import of a mixin don't work if the mixin itself has imports.

This is a continuation of
http://d.puremagic.com/issues/show_bug.cgi?id=498
which covers the basic import case.  The fix for that however does not fix the
static import and renamed import cases (import sigs=std.signals) cases.

Here's examples:

------
import sigs=std.signals;
class SigObj
{
    mixin sigs.Signal!();
}
void main()
{
}

----

static import std.signals;
class SigObj
{
    mixin std.signals.Signal!();
}
void main()
{
}


-- 

November 26, 2010
http://d.puremagic.com/issues/show_bug.cgi?id=625


Andrei Alexandrescu <andrei@metalanguage.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |ASSIGNED
                 CC|                            |andrei@metalanguage.com
         AssignedTo|nobody@puremagic.com        |bugzilla@digitalmars.com


-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
February 14, 2012
http://d.puremagic.com/issues/show_bug.cgi?id=625


dawg@dawgfoto.de changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
                 CC|                            |dawg@dawgfoto.de
         Resolution|                            |WORKSFORME


--- Comment #1 from dawg@dawgfoto.de 2012-02-14 04:54:11 PST ---
cat > a.d << EOF
module a;
mixin template foo()
{
    import std.stream;
    Stream stream;
}
EOF

cat > b.d << EOF
module b;
static import impa=a;

class Klass
{
    mixin impa.foo!();
}
EOF

cat > c.d << EOF
module c;
static import a;

class Klass
{
    mixin a.foo!();
}
EOF

dmd -c b.d
dmd -c c.d

----------

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
February 17, 2012
http://d.puremagic.com/issues/show_bug.cgi?id=625


dawg@dawgfoto.de changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         Resolution|WORKSFORME                  |WONTFIX


--- Comment #2 from dawg@dawgfoto.de 2012-02-16 18:35:13 PST ---
Got that bug report wrong the first time.

Mixin templates are evaluated at instantiation scope.
Libraries need to make sure that all their dependencies
are self-contained, i.e. by import needed modules within
the mixin or by combining templates and mixin templates.

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