Kerrigan
в гипере нет вебсокетов же
Loo
Maksim
Вот я об этом как раз :))
Loo
нет вебсокетов - нет проблем
Loo
)))
Maksim
Это же сегодня просто стандарт
Loo
гипер тут не причём
Kerrigan
> iris
главное гошникам не показывайте
Maksim
Они склеиваются вместе?
Kerrigan
нет
Maksim
Печаль :(
Marat
А как они склеиваться должны мне интересно🤔
պլհկ
через хедер upgrade
Filipp
Во нормальные вопросы пошли
Filipp
DI я через трейты бабахал, очень удобно
Sergey
Filipp
ща покажу
Maksim
А как они склеиваться должны мне интересно🤔
Ну как например в эрланге: если что-то простое, то стандартный код, который дергает обработчик в режиме запрос-ответ. Если похитрее, то отдается сокет и делай с ним чего хочешь. Вся обработка в легковесных процессах
Loo
Filipp
в SOLID c L проблемы, как сделать подстановку лискова если нет наследования?
Loo
только там хипер 0.10 а сам стрим сокета через токио
Maksim
Посмотрю, спасибо
Andrew
Часть солид не получится просто из-за отсутствия ооп.
IoC контейнер - эффективнее делать на макросах
Sergey
Andrew
Остальное - мало отличается от жабы/сишарпа
Filipp
Давай
https://gitlab.com/samoylovfp/stkrdbbot-rust/blob/master/src/tg/api.rs#L32
примерно так
Filipp
в тестах инжектится другая реализация трейта:
https://gitlab.com/samoylovfp/stkrdbbot-rust/blob/master/src/tg/api.rs#L155
Dårk
https://datafusion.rs/
нашел у себя в почтовом ящике
Dårk
Big Data Platform for Rust
Євгеній 😌
Bugworm
Anton
Vlad
Тем временем https://github.com/rust-lang/rfcs/pull/2325
Alexander
Вопрос : делаю бенчмарк, считаю результат let res=calc()
Alexander
Могу я быть уверен что Раст будет считать calc()?, а то мало ли оптимизатор подумает что если res не нужен, то и считать не надо, ну типа ленивости.
Matwey
> Adding a repr causes it to be treated exactly like the specified integer size for ABI purposes.
Ну, а где моя ссылка тогда?
Anton
Ээ крейт постгреса
Anton
Не?
Anton
Anton
Есть https://docs.diesel.rs/diesel/pg/struct.PgQueryBuilder.html
Anton
Который impl QueryBuilder<Pg> for PgQueryBuilder
Anton
или я не понял твой вопрос
Anton
Ээ крейт постгреса
use diesel:🇵🇬:PgQueryBuilder;
use diesel::query_builder::QueryBuilder;
fn main() {
let mut query_builder = PgQueryBuilder::new();
query_builder.push_sql("SELECT 1");
println!("{:?}", query_builder.finish());
}
Cuno
Alexander
Dmytro
всем привет)
Filipp
Привет
պլհկ
https://tokio.rs/blog/2018-02-tokio-reform-shipped/
պլհկ
Теперь заживем
Loo
Loo
https://screenshots.firefox.com/cnDvsJ3rDSWd92te/tokio.rs
Loo
ПЗДЦ. СОВСЕМ ЗАШКВАРИЛИСЬ
Sergey
Ухх бляяч
Ilia
:/ ноджс
Michael
let's go
Michael
🤣
Sergey
Let's loop
Marat
Global event loop is semi zalup
Marat
Не удержался
Evgenii
semi-zalup
Matwey
А можно как-нибудь вывести тип в такой ситуации
#[repr(u16)]
enum FooBar?
Есть тип FooBar, хочу узнать u16
Alexey
Какой-нибудь sizeof?
Matwey
Ммм...
պլհկ
Но зачем?
Anonymous
val as u16
Matwey
Но зачем?
Чтобы не дублировать код, который я однажды написал.
Matwey
Вот тут, u8 джва раза упомянуто:
fn as_code<T, U>(x : &T) -> &U {
unsafe { std::mem::transmute::<&T, &U>(x) }
}
#[repr(u8)]
pub enum PowerState {
Off = 666,
On = 42
}
impl PowerState {
fn as_code(&self) -> &u8 { as_code(self) }
}
Sergey
Loo
Loo
чот я не просёк
Cuno
он хочет as_code() -> decltype(repr(self))
Matwey
чот я не просёк
Дублирование кода. Я вот в repr заменю u8 на u16 а в функции забуду. И тут произойдет пиздаускас.
Matwey
Cuno
Cuno
Cuno
Cuno
#[repr(u16)]
enum X {
A = 1,
B = 2,
C = 3
}
fn main() {
let x = X::A as u8;
}
Вот такое компилируется почему-то
Sergey
так явный каст же