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