Thread overview
Forward Reference -g bug (minor) code reduction challange
Apr 12, 2006
clayasaurus
Apr 12, 2006
Kyle Furlong
Apr 13, 2006
clayasaurus
Apr 13, 2006
clayasaurus
Apr 14, 2006
Kyle Furlong
Apr 12, 2006
Deewiant
Apr 13, 2006
clayasaurus
Apr 13, 2006
Deewiant
April 12, 2006
Hi, I have code that will compile with

dmd -c def.d

but will give forward reference errors when compiled with

dmd -c -g def.d

I have not been able to reduce the code, maybe someone with more understanding can.

The offending code can be found here --> http://www.dsource.org/projects/warbots/browser/trunk/mpong/def.d (too big to upload to digitalmars server.)
April 12, 2006
clayasaurus wrote:
> Hi, I have code that will compile with
> 
> dmd -c def.d
> 
> but will give forward reference errors when compiled with
> 
> dmd -c -g def.d
> 
> I have not been able to reduce the code, maybe someone with more understanding can.
> 
> The offending code can be found here --> http://www.dsource.org/projects/warbots/browser/trunk/mpong/def.d (too big to upload to digitalmars server.)

You know that freetype already has a binding in the dsource bindings project right?
April 12, 2006
clayasaurus wrote:
> Hi, I have code that will compile with
> 
> dmd -c def.d
> 
> but will give forward reference errors when compiled with
> 
> dmd -c -g def.d
> 
> I have not been able to reduce the code, maybe someone with more understanding can.
> 
> The offending code can be found here --> http://www.dsource.org/projects/warbots/browser/trunk/mpong/def.d (too big to upload to digitalmars server.)

I got this far:

struct FT_Var_Named_Style{
	T1_Decoder_Callback f;
}

alias int function( T1_DecoderRec decoder ) T1_Decoder_Callback;
April 13, 2006
Kyle Furlong wrote:
> clayasaurus wrote:
>> Hi, I have code that will compile with
>>
>> dmd -c def.d
>>
>> but will give forward reference errors when compiled with
>>
>> dmd -c -g def.d
>>
>> I have not been able to reduce the code, maybe someone with more understanding can.
>>
>> The offending code can be found here --> http://www.dsource.org/projects/warbots/browser/trunk/mpong/def.d (too big to upload to digitalmars server.)
> 
> You know that freetype already has a binding in the dsource bindings project right?

You think I wrote this myself?
April 13, 2006
Deewiant wrote:
> clayasaurus wrote:
>> Hi, I have code that will compile with
>>
>> dmd -c def.d
>>
>> but will give forward reference errors when compiled with
>>
>> dmd -c -g def.d
>>
>> I have not been able to reduce the code, maybe someone with more
>> understanding can.
>>
>> The offending code can be found here -->
>> http://www.dsource.org/projects/warbots/browser/trunk/mpong/def.d (too
>> big to upload to digitalmars server.)
> 
> I got this far:
> 
> struct FT_Var_Named_Style{
> 	T1_Decoder_Callback f;
> }
> 
> alias int function( T1_DecoderRec decoder ) T1_Decoder_Callback;

Thanks, you've done the D compiler a good service  :). Since you reduced it, would you rather write the bugzilla or should I?
~ Clay




April 13, 2006
clayasaurus wrote:
> Kyle Furlong wrote:
>> clayasaurus wrote:
>>> Hi, I have code that will compile with
>>>
>>> dmd -c def.d
>>>
>>> but will give forward reference errors when compiled with
>>>
>>> dmd -c -g def.d
>>>
>>> I have not been able to reduce the code, maybe someone with more understanding can.
>>>
>>> The offending code can be found here --> http://www.dsource.org/projects/warbots/browser/trunk/mpong/def.d (too big to upload to digitalmars server.)
>>
>> You know that freetype already has a binding in the dsource bindings project right?
> 
> You think I wrote this myself?

Sorry if I sounded harsh, but I pulled this code straight form the freetype project on bindings. :-P
April 13, 2006
clayasaurus wrote:
> Deewiant wrote:
>> clayasaurus wrote:
>>> Hi, I have code that will compile with
>>>
>>> dmd -c def.d
>>>
>>> but will give forward reference errors when compiled with
>>>
>>> dmd -c -g def.d
>>>
>>> I have not been able to reduce the code, maybe someone with more understanding can.
>>>
>>> The offending code can be found here --> http://www.dsource.org/projects/warbots/browser/trunk/mpong/def.d (too big to upload to digitalmars server.)
>>
>> I got this far:
>>
>> struct FT_Var_Named_Style{
>>     T1_Decoder_Callback f;
>> }
>>
>> alias int function( T1_DecoderRec decoder ) T1_Decoder_Callback;
> 
> Thanks, you've done the D compiler a good service  :). Since you reduced
> it, would you rather write the bugzilla or should I?
> ~ Clay
> 

Go ahead, I don't mind. You essentially found the original bug anyway.

By the way, the struct isn't needed. So this is about as small as it gets:

Foofunc f;

alias int function(Foo) Foofunc;
April 14, 2006
clayasaurus wrote:
> clayasaurus wrote:
>> Kyle Furlong wrote:
>>> clayasaurus wrote:
>>>> Hi, I have code that will compile with
>>>>
>>>> dmd -c def.d
>>>>
>>>> but will give forward reference errors when compiled with
>>>>
>>>> dmd -c -g def.d
>>>>
>>>> I have not been able to reduce the code, maybe someone with more understanding can.
>>>>
>>>> The offending code can be found here --> http://www.dsource.org/projects/warbots/browser/trunk/mpong/def.d (too big to upload to digitalmars server.)
>>>
>>> You know that freetype already has a binding in the dsource bindings project right?
>>
>> You think I wrote this myself?
> 
> Sorry if I sounded harsh, but I pulled this code straight form the freetype project on bindings. :-P

I realized that after I visited the dsource forums. I visit the NG first in my updates. :P