Сережа
curriously recursive template pattern
Loyd
Таки ругается: unsupported cyclic reference between types/traits detected
Loyd
Ну ладно, не везде. Но вообще я не представляю кейсов, когда нужно это
Loyd
Чем trait M {} impl<T> M for T {} не вывод?
Loyd
Ну, то есть для каждого типа всегда унификация происходит
Ignat
А что значит "не выводиться" и "ни чекаться на достаточность"
ну хочется задавать ограничения на тип так, чтобы для любого типа, удовлетворяющего им, тело темплейтной функции было корректным
Loyd
Как это выглядит?
Совершенно топорно: trait A<T> {} trait B: A<B> {}
Сережа
template<typename Renderable> class MultiRender { public: void render_times(unsigned int n) const { while (--n >= 0) { static_cast<Renderable const&>(*this).render(); } } }; class String : public MultiRender<String> { public: Name(std::string str) : m_str(std::move((str)) void print() const { std::cout << m_str << '\n'; } private: std::string m_str; }; int main() { String vv("Putin"); vv.repeat(10); }
Loyd
В смысле, кроме ограничений внутри тела заюзать ничего нельзя
Ignat
кайф
Ignat
> unsigned > >= 0
Сережа
это я вас проверял на внимательность
Loyd
Шаблоны в действии
Loyd
А что ты примером-то показать хотел?
Loyd
Это к чему вообще?
Сережа
сложно сказать
Loyd
xd
Vladimir
Совершенно топорно: trait A<T> {} trait B: A<B> {}
А есть ли смысл вообще куда-то пихать в качестве тайп параметра трейтобьект?
Loo
> while (--n >= 0)
Loo
эх щас бы в таком стиле пописать код
Loyd
Смысла нет, как и в crtp. Но теоретически, у тебя же может быть trait A<T> { fn foo() -> T; }
Loo
заебись было бы. отвечаю
Сережа
ты на паскале в таком и пишешь
Loyd
Пф
Loyd
Моя любимая конструкция: while (n --> 0) {..}
Loyd
Выполняется ровно n раз )
Loyd
Ещё в универе обожал преподов так троллить
Loyd
"А что это за оператор такой 0_о"
Loo
наверное
Loo
хз!
Loo
я только начинающий паскалист
Vladimir
for z:=10 downto 0 step -2
Loyd
Переключился на этот чатик
Loyd
и пересрался
Loyd
Как будто в лицей назад попал
Сережа
это смесь го с пистоном?
Vladimir
Это Паскаль же
Vladimir
Настоящий
Сережа
а бегин енд?
Vladimir
Они ниже
Loo
мне нравится
Loo
что закрывающий End с точкой
Loo
End.
Loo
как бы говорит программисту о том
Loo
что программа закончилась
Loo
Vladimir
Какбудто "обидка" кинута
Anonymous
разве не может быть несколько "end."?
Anonymous
в топ левеле
Vladimir
А мне нравится, что процедуры можно вызывать без скобок bla;
Anonymous
руби
Vladimir
разве не может быть несколько "end."?
Ну как в расте Мейн, у Паскаля есть один begin end без названия, и вроде ток он с точкой может
Vladimir
А ещё не чувствителен к регистру
big
https://github.com/DenisKolodin/yew
Loo
https://github.com/ibmandura/ArtTree
Loo
https://github.com/gjtorikian/graphql-idl-parser
Loo
https://github.com/kud1ing/rucaja
Loo
https://github.com/rekka/meval-rs
Vladimir
https://github.com/ibmandura/ArtTree
А почему у него в коде бенчей для других мап при поиске умножение на 10ю
Vladimir
Количество итераций?
Kerrigan
ололо, у мейлру платный курс по го
Anonymous
сколько он длится?
Kerrigan
4 недели
Kerrigan
лойс если не успел на хайптрейн бесплатного онлайн-образования
Anonymous
4 недели против одного дня самообучения
Kerrigan
там ололохуйлоад вебсервисы
Anonymous
на самом деле, даже трудно представить как они его растуняли
Kerrigan
я бы прошел на самом деле
Kerrigan
потому что писать на го могу, но тюнить всю эту срань - нет
Anonymous
я сомневаюсь что они сильно в теорию углубляются
Anonymous
научат использовать апи библиотек максимум