08.12.2009 23:53DMD 1.053 & 2.037

Вышли новые релизы основного компилятора Ди: в первой версии - только багфиксы, в то время как во второй произошли следующие изменения:

  • Условные выражения ?: теперь могут быть изменяемыми “левыми” значениями.
  • Константа-массив (ArrayLiteral) теперь является динамическим.
  • Для array.length добавлена поддержка op=.
  • Оператор ?: применяется теперь ко всем элементам встроенных массивов и словарей, а не только к первому.
  • При конкатенации массива с данными теперь позволяется неявное приведение данных к типу элемента массива.
  • Между [ ] больше не разрешается оператор “запятая”.
  • ClassInfo теперь внедрен в TypeInfo_Class.
  • Убран -safe, добавлен -noboundscheck.
  • Bugzilla 3481: PATCH: opPow(), x ^^ y as a power operator
  • Добавлен opDispatch
  • Свойства (properties) теперь могут иметь только единственный аргумент или ни одного.
  • properties cannot be overloaded with non-properties
  • std.math: Добавлены FloatControl, IeeeFlags для поддержки исключений для чисел с плавающей запятой.
  • std.math: Обратные тригонометрические функции теперь pure nothrow.

DMD1 changelog
DMD 1.053

DMD2 changelog
DMD 2.037

Комментарии 2 | Рубрики: DMD, Компиляторы, Язык Ди | Сообщил: Digited

Комментарии:

  1. Wazar says;
    09 Dec 2009 - 0:05

    >Между [ ] больше не разрешается оператор “запятая”.
    Это значит, что int opIndex(int arg_1, int arg_2) больше нельзя использовать как var[10, 13]? Или просто нельзя писать выражения вида

    void func();
    var[func(), 13] имея в виде доступ к элементу 13 после выполнения func?

  2. Wazar:
    Не разрешается именно _оператор_ “запятая”, вызывать opIndex(arg1, …, argN) можно.

Post Your Comment

Вы должны войти , чтобы оставить комментарий.