Constantine
чсх std::filesystem походу придется велосипедить
Berkus
он же не умеет launder, не?
Constantine
а не ждать
Constantine
он же не умеет launder, не?
его тоже бекпортить
Constantine
чсх std::filesystem походу придется велосипедить
для тестов очень хочется уметь отключать доступ к физической файловой системе полностью
Constantine
а в std::filesystem нет глобальных хуков
Constantine
а че бы не взять буст?
так std::filesystem это и есть boost::filesystem
Constantine
и я очень хочу v2, в которой abspath и relpath разные типы
Alexander "SonnySlave"
просто запускай в окружении каком-то
Alexander "SonnySlave"
зачем менять исходники, если можно настроить окружение?
Alexander "SonnySlave"
или я чего-то не знаю\понимаю
Constantine
зачем менять исходники, если можно настроить окружение?
ну я малясь задолбаюсь на каждой машине настраивать окружение, при том, что я хочу в некоторых тестах проверять замкнутость
Berkus
его тоже бекпортить
насколько я знаю оно требовало compiler support, ибо std::launder was introduced into c++17 as a compiler optimization barrier. It's something that the compiler 'knows about', and affects codegen. At least for GCC, it should use __builtin_launder.
Berkus
так что удачи!
Constantine
правду сказать, у меня никогда не было желания делать const поля у класса
Berkus
иногда бывает такое желание
Berkus
но вот лаундерить их после этого желания действительно не было
Constantine
так лондерить их надо при размещающем new вызове
Constantine
а это, надо сказать, не самое частое действие в коде
Berkus
ну пока такого не попадалось в ходе службы, может еще и придется
🦥Alex Fails
ох, сраный лаундер
Berkus
ох, сраный лаундер
яички на стол!
🦥Alex Fails
/cppref launder
FailsBot
http://en.cppreference.com/w/cpp/utility/launder
Алексей
правду сказать, у меня никогда не было желания делать const поля у класса
Физические константы, или коэффициенты обусловленные конструкцией
Алексей
Нет, это просто пример константных членов класса
Constantine
Matwey
физические константы таки constexpr
А завтра учоные в очередной раз их уточнят и придется все пересобирать?
Matwey
Ну уж нет!
Constantine
А завтра учоные в очередной раз их уточнят и придется все пересобирать?
Если вам перезапустить быстрее, чем пересобрать, вам не нужны const
Constantine
Это оптимизации уровня тактов
Matwey
Это оптимизации уровня тактов
const вообще помогает и от ошибок. Чтобы случайно не записать туда что-нибудь
Constantine
const вообще помогает и от ошибок. Чтобы случайно не записать туда что-нибудь
я все еще не понимаю, почему это const не-статическое поле
Алексей
А завтра учоные в очередной раз их уточнят и придется все пересобирать?
А как же, при добавлении 407 знака в число пи надо обязательно все пересобрать! :)
Constantine
как будто у кого то быстрее пересобрать
ну я много думал на эту тему, когда оптимизировал циклы base64 encode/decode)
Matwey
Нам нужен JIT внутри плюсов!
Matwey
Тогда пересобрать будет так же быстро
Matwey
Или перезапустить так же медленно
Berkus
const вообще помогает и от ошибок. Чтобы случайно не записать туда что-нибудь
статические константы вообще заинлайнятся, поэтому смысла делать их полями нет никакого
Berkus
Нам нужен JIT внутри плюсов!
легко, берешь MCJIT и вперёд
Pavel
Pavel
JIT-компиляция (англ. Just-in-time compilation, компиляция «на лету»)
Matwey
Это не JIT
Как тогда llvmpipe в Mesa работает?
Berkus
А llvm не пойдет?
это и есть llvm
Stanislav
https://github.com/BitFunnel/NativeJIT
Berkus
MCJIT ЭТО LLVM чуваки перестаньте тупить
Anton
@antoshkka @AlexFails ребят, кто там баги на gcc еще в силах завести?
Anton
https://wandbox.org/permlink/kQhmeNTMNq5a4rvf
Anton
кажется, еще один
Alexander "SonnySlave"
на шланге пашет, как я вижу
Anton
14.3/2 Declaring a class to be a friend implies that the names of private and protected members from the class granting friendship can be accessed in the base-specifiers and *member declarations* of the befriended class.
Anton
А также template-argument в template-id - часть member-declaration
Alexander "SonnySlave"
👍
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82478 Такой вот репорт ещё нашёл
Anton
если не намудил чего
Alexander "SonnySlave"
если не намудил чего
ну шланг пашет 😊
Anton
надо тебе курсы C++гуглирования открывать
Alexander "SonnySlave"
ухты
вроде как это именно тот же случай, что и у тебя
Alexander "SonnySlave"
так что закину комментом твой пример ещё
Anton
так что закину комментом твой пример ещё
ну да, можешь. Они, вроде как, expression-sfinae не используют. Спасибо.
Alexander "SonnySlave"
Всё, сделано. Можешь дальше извращаться над компиляторами
Anton
спасибо