27.11.08 16:35DMD 1.037 и 2.021
Обновились версии официального компилятора.
Для D 1.x это в основном багфиксы, а также то, что функции unittest-ов теперь всегда используют D-компоновку.
Для D 2.x изменения следующие:
- Добавлен ключ -safe и синтаксис
module(system) Identifier;
- Добавлена поддержка диапазонов для инструкций foreach;
- класс хранения scope означает, что параметр не выйдет за область видимости вызова функции;
- класс хранения lazy теперь поздразумевает использование scope, так что ленивые аргументы не затронут конструкции, размещенные в куче (?);
- параметр this, примененный к функциям-членам структур отныне является ссылочным типом, а не указателем. Это сломает существующий код;
- Обширные изменения в druntime:
| было | стало |
| OutOfMemoryException | OutOfMemoryError |
| SwitchException | SwitchError |
| HiddenFuncException | HiddenFuncError |
| ArrayBoundsException | RangeError |
| AssertException | AssertError |
| FinalizeException | FinalizeError |
| onArrayBoundsError | onRangeError |
| stdc.* | core.stdc.* |
| sys.* | core.sys.* |
- Добавлена core.runtime.loadLibrary() как экспериментальная возможность загрузки динамических библиотек (пока что только для Win32);
- Добавлена core.runtime.unloadLibrary() - экспериментальная выгрузка ранее загруженных библиотек;
- core.thread.sleep() теперь принимает long integer в качестве параметра, указывающего интервал (в 100 наносекундных интервалах);
- теперь нет необходимости компоновать druntime отдельно, она встроена в libphobos2.a
Также отловлена, сварена и переработана в настойки, кремы и мази куча свежих жуков.
За сим, пожалуй, все.
1 Комментарий | Рубрики: DMD, Компиляторы