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.
Комментарии 2 | Рубрики: DMD, Компиляторы, Язык Ди | Сообщил: Digited
09 Dec 2009 - 0:05
>Между [ ] больше не разрешается оператор “запятая”.
Это значит, что int opIndex(int arg_1, int arg_2) больше нельзя использовать как var[10, 13]? Или просто нельзя писать выражения вида
void func();
var[func(), 13] имея в виде доступ к элементу 13 после выполнения func?
09 Dec 2009 - 0:22
Wazar:
Не разрешается именно _оператор_ “запятая”, вызывать opIndex(arg1, …, argN) можно.