Deprecate C style declerations?

Gregor Richards Richards at codu.org
Wed Dec 20 16:36:06 PST 2006


Jarrett Billingsley wrote:
> "Chris Nicholson-Sauls" <ibisbasenji at gmail.com> wrote in message 
> news:emcekr$2sah$1 at digitaldaemon.com...
> 
>>Should we do this?  As in cause:
>>
>># int foo[];
>># int bar*;
>>
>>And others to issue deprecation errors.  I think it would be a good idea, 
>>and shouldn't break extern(C) declarations, so long as one doesn't try to 
>>mix types.  (I don't think we can mix them in the C way at all, anyhow. 
>>Haven't tried, though.)
> 
> 
> I agree, though
> 
> int bar*;
> 
> isn't legal any way you slice it, D or C.
> 
> I'd also be interested in phasing out the C-style function pointer syntax:
> 
> int (*foo)(int, int);
> =>
> int function(int, int) foo;
> 
> 
>>Or else change the rules such that array/pointer decoration applies to the 
>>variable and not the type -- and correct me if I'm wrong about this not 
>>being the current behavior.
>>
>># int num   ,
>>#     arr[] ,
>>#     ptr*  ;
>>
>>vs
>>
>># int   num ;
>># int[] arr ;
>># int*  ptr ;
> 
> 
> I think that C "feature" was dropped in D because it makes multiple 
> declarations harder to read. 
> 
> 

Hear-hear! No need for C's crummy array syntax. Writing support for 
outputting the right C types in bcd.gen was a huge PITA because of it X_X

Hear-hear particularly to deprecating the C function syntax. That syntax 
makes me want to gag myself with a spoon.

  - Gregor Richards



More information about the Digitalmars-d mailing list