Daily downloads in decline

Andrei Alexandrescu via Digitalmars-d digitalmars-d at puremagic.com
Thu Jun 11 10:41:52 PDT 2015


On 6/11/15 9:33 AM, Dennis Ritchie wrote:
> On Thursday, 11 June 2015 at 15:03:39 UTC, Dicebot wrote:
>> Those are considerably less powerful:
>> - can only have type arguments
>> - no variadic argument list support
>> - no arbitrary condition constraints (thus only partial duck typing
>> support)
>>
>> On the other hand they have one important advantage: all type
>> arguments must comply to one or more trairs and thus bodies of
>> generics are checked before institation. You are only allowed to call
>> methods and operations of generic arguments that are defined in
>> relevan trait. This is huge win for code hygiene compared to D.
>>
>> Any sort of more advanced meta-programming things can only be done via
>> AST macros which is currently the biggest downside in my eyes when it
>> comes to features. Though quite some people like that.
>
> The fact that there is no support variadiс arguments, it is really
> negative.
>
> It is possible that Walter and Andrei against macro because of this:
>
> macro_rules! o_O {
>      (
>          $(
>              $x:expr; [ $( $y:expr ),* ]
>          );*
>      ) => {
>          &[ $($( $x + $y ),*),* ]
>      }
> }
>
> fn main() {
>      let a: &[i32]
>          = o_O!(10; [1, 2, 3];
>                 20; [4, 5, 6]);
>
>      assert_eq!(a, [11, 12, 13, 24, 25, 26]);
> }
>
> It looks disgusting! ;)

Is that actual Rust code that compiles and runs? -- Andrei


More information about the Digitalmars-d mailing list