Anton
все равно репорт
Kerrigan
окей
Anton
о зато оказалось что тема полного разделения всего и вся на самодостаточные крейты
Anton
крайне эффективна
Anton
проще развивать и изменять код, проще добавлять фичи и тд
Антон
Anton
плюс смог целиком избавится от ебучих рефселов
Уруруборос Иванович
А как с раста post запросы слать?
Cat
А как с раста post запросы слать?
если не важно чем, то https://github.com/seanmonstar/reqwest/blob/master/examples/form.rs
если важно чем, то нужно смотреть в конкретного клиента
Anton
тоесть есть теперь уже есть:
- jss: парсинг стилей, и формирование финальных образов для отрисовки (ковертация в вебрендер слои)
- drawer: чистая отрисовка с наличием только: размера, позиции элемента, и финальных стилей. (тоесть если ктото захочет написать свой движок лайаута, ему будет просто интегрироватся, и не только йога гвоздями прибитая)
Anton
Сам дравер по себе не привязан к эвенту или еще чему, это простая dsl по сути которая рисует все что скажешь
Anton
Осталось для дравера мигрировать полностью все css опции, и добавить поддержку текста.
Anton
Потом перейду на работу уже с кор частью и эвент менеджером типо клика, скролла, и тд
Уруруборос Иванович
Cat
а если тебе просто нужно послать запрос, то reqwest норм либа
Anton
Requirements
On Linux:
OpenSSL 1.0.1, 1.0.2, or 1.1.0 with headers (see https://github.com/sfackler/rust-openssl)
On Windows and macOS:
Nothing.
Cat
Sergey
Sergey
Cat
но.. он же поверх актикса...
doc
А iron че не функционирующий?
Vladimir
Vladimir
Cat
Vladimir
Sergei
а как в паттерне получить ссылку на структуру из енума, чтобы поля можно было изменять?
Выносить в отдельную структуру не хотелось бы..
pub enum Packet {
Sample{number: u64, total: u64, send_time: u64, core: u16},
}
let &mut smpl @ Packet::Sample{..} = self.access_packet();
smpl.number = number;
smpl.total = total;
smpl.core = 256;
...
Cat
Cat
смысл в ref
Cat
ой, я не прав, ща
Berkus
Vladimir
Всегда смысл в ref
Vladimir
Но у него конечно извращение какое-то
Vladimir
Собачка вообще не нужна
Sergei
no field number on type &&mut network::kite::Packet
Vladimir
Просто смотри, структурные энамы - говно
Vladimir
Юзай энам + структуру
Cat
^ +
Vladimir
Достаточно не функционирующий))
Vladimir
Vladimir
Собачка просто говорит "дай мне алиас на полный тип соответствующий данному паттерну", короче в результате у тебя алиас на энам целиком, не удивительно что у него поля не находятся
Vladimir
типа multiple borrow
Тут я не уверен, но поидее должно дать, структуры же можно мультипл борроуить
Vladimir
Вообще правильный кейс, я уже озвучил - распилить варианты энамов на настоящие структуры, и с ними работать
Sergei
Αλεχ
я думал то, что делает актикс (по ссылке) это UB
(source: https://doc.rust-lang.org/nightly/nomicon/transmutes.html)
Sadly, I can’t find anywhere that explains why this is. By my understanding, the reason is that &mut T doesn’t mean “mutable”, it means “unaliased”. You can’t guarantee that when transmuting from &T (and if you could, then you could have just used &mut T in the first place, and you wouldn’t need a transmute). UnsafeCell is special because the compiler knows it might be aliased, so it generates different code when you access one.
https://internals.rust-lang.org/t/the-special-warning-against-transmute-t-mut-t/3178/2
Αλεχ
типа ок?
Sergei
Cat
Anton
Anton
Так то еще 5 месяцев назад даже стартер скрин жиры верстал
Vladimir
Sergei
Sergei
полей много - много ref mut
Cat
угу
Cat
красивше всё-таки, как предложили выше, https://play.rust-lang.org/?gist=2f39b841326dfe4094a58689d173fa1f&version=stable&mode=debug
Sergei
Anton
А в чём
в разделении контекстов, удобстве и гибкости апишников и чтоб апишники независимые были
Anton
раньше все время в полоток возможностей архитектуры упирался
Anton
сейчас уже все прям как надо
Антон
Anton
Anton
За неделю постараюсь побольше заимплементить разных свойств и фич, типо трансформов, текста и тд
Kerrigan
такс, у меня новые архитектурные проблемы
Kerrigan
как обычно делают когда нужно в билдере указать колбек, который должен иметь ссылку на объект, который билдер создаст?
Berkus
передают его в метод build() :)
Kerrigan
мне кажется я что-то делаю не так