Errors - Re: Signals and Slots

Chris Miller chris at dprogramming.com
Thu Nov 2 02:56:00 PST 2006


Using the example straight from  
http://www.digitalmars.com/d/phobos/std_signals.html (and yes using DMD  
0.173) I get the following compiler errors:


c:\dmd\bin\..\src\phobos\std\signals.d(166): undefined identifier  
_d_OutOfMemory

c:\dmd\bin\..\src\phobos\std\signals.d(166): function expected before (),  
not _d
_OutOfMemory of type int
c:\dmd\bin\..\src\phobos\std\signals.d(174): undefined identifier  
_d_OutOfMemory

c:\dmd\bin\..\src\phobos\std\signals.d(174): function expected before (),  
not _d
_OutOfMemory of type int
c:\dmd\bin\..\src\phobos\std\signals.d(235): undefined identifier free
c:\dmd\bin\..\src\phobos\std\signals.d(235): function expected before (),  
not fr
ee of type int


I think this is finally a real mixin limitation being exposed. You  
probably only tested std.signals inside the signals.d source file, where  
the mixin had access to std.signals' imports. But use std.signals from  
another file and the mixin cannot access std.signal's imports because it's  
accessing the mixed-in scope. In other words, I think to remove these  
errors, std.signals' imports would need to be imported inside the mixin  
template (hack?), or change how mixins work.



More information about the Digitalmars-d mailing list