[Issue 4267] forward reference error when 2-fold aliasing a template instance

d-bugmail at puremagic.com d-bugmail at puremagic.com
Thu Jun 3 16:39:40 PDT 2010


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



--- Comment #1 from Trass3r <mrmocool at gmx.de> 2010-06-03 16:39:38 PDT ---
Oh and moving the alias declaration doesn't help in the real-world example:


interface IDirectDrawSurfaceB(uint ver) : IUnknown
{
...
HRESULT  Initialize(LPDIRECTDRAW, LPDDSURFACEDESC ); // line 153
...
}
alias IDirectDrawSurfaceB!(1) IDirectDrawSurface; // line 199


interface IDirectDrawB(uint ver) : IUnknown
{
...
    HRESULT  CreateSurface(LPDDSURFACEDESC, LPDIRECTDRAWSURFACE *, IUnknown *);
...
}
alias IDirectDrawB!(1) IDirectDraw; ///

alias IDirectDraw *LPDIRECTDRAW;
alias IDirectDrawSurface *LPDIRECTDRAWSURFACE;


ddraw.d(153): Error: forward reference to 'IDirectDrawB!(1)'
ddraw.d(153): Error: IDirectDraw is used as a type
ddraw.d(199): Error: alias ddraw.IDirectDrawSurface recursive alias declaration

ddraw.d(199): Error: template instance ddraw.IDirectDrawSurfaceB!(1) error
instantiating

-- 
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