История изменений
Исправление fsb4000, (текущая версия) :
- Нет. Будет лишь два модуля.
std
и
std.compat
std будет иметь всё что будет в namespace std, включая Сишные обёртки std::malloc, std::free
std.compat будет иметь всё что в std и все остальные функции которые в глобальном namespace: malloc, free и так далее.
Вначале хотели делать более гранулированно, но потом посмотрели что даже с одним модулем всё гораздо быстрее в сравнении с одним #include <iostream>.
Но так как именованные модули не содержат макросы, то #include ещё будет нужен для #include <cassert> или #include <version>
Но имена модулей std.* являются зарезервированными. Так что в будущем могут быть ещё модули кроме std.compat
https://open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2465r2.pdf
- В папке проекта, глобального кеша нет, по крайней мере в
msbuildтак. (для стандартной библиотеки, наверное, компилятор будет использовать уже собранный модуль)
Исходная версия fsb4000, :
- Нет. Будет лишь два модуля.
std
и
std.compat
std будет иметь всё что будет в namespace std, включая Сишные обёртки std::malloc, std::free
std.compat будет иметь всё что в std и все остальные функции которые в глобальном namespace: malloc, free и так далее.
Вначале хотели делать более гранулированно, но потом посмотрели что даже с одним модулем всё гораздо быстрее в сравнении с одним #include <iostream>.
Но так как именованные модули не содержат макросы, то #include ещё будет нужен для #include <cassert> или #include <version>
https://open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2465r2.pdf
- В папке проекта, глобального кеша нет, по крайней мере в
msbuildтак. (для стандартной библиотеки, наверное, компилятор будет использовать уже собранный модуль)