Size: a a a

2021 January 27

VK

Vitaliy ◀️TriΔng3l▶️... in rust_offtopic
red75prime
Плохой питч. Надо напирать на то, что за отладчиком столько сидеть не придётся и можно выкатить как-то работающий продукт быстрее.
Есть RAII же
источник

OA

Oleg Andreev in rust_offtopic
&&&move semantics::<___[] {}> тоже есть
источник

VK

Vitaliy ◀️TriΔng3l▶️... in rust_offtopic
Делаешь матрёшку из объектов
источник

VK

Vitaliy ◀️TriΔng3l▶️... in rust_offtopic
Oleg Andreev
&&&move semantics::<___[] {}> тоже есть
Что это за жесть? :o
источник

OA

Oleg Andreev in rust_offtopic
Vitaliy ◀️TriΔng3l▶️ Kuzmin
Что это за жесть? :o
ну чо, в цпп же можно все что угодно сделать, что и в расте
источник

OA

Oleg Andreev in rust_offtopic
просто через жопу
источник

D

Dima in rust_offtopic
polunin.ai
как мне кажется для диспатчинга одного апдейта десять клонов это многовато
ты же лок фри  очередь пишешь, чтоб парится что у тебя очередь не скалится из-за контеншина на tail/head? неужели (20 - 40 ns) * 10 это прям неприемлимо для телеграм бота?
источник

p

polunin.ai in rust_offtopic
Dima
ты же лок фри  очередь пишешь, чтоб парится что у тебя очередь не скалится из-за контеншина на tail/head? неужели (20 - 40 ns) * 10 это прям неприемлимо для телеграм бота?
источник

EG

Emmanuel Goldstein in rust_offtopic
Задачи по мотивам моего копания в rustc.

1. Скомпилируется ли этот код?
mod a {
    pub trait A { fn foo(&self); }
}

fn f(b: Box<dyn a::A>) {
   b.foo();
}


2. Скомпилируется ли этот код?
mod a {
    pub trait A { fn foo(&self); }
    pub trait B: A {}
}

fn f(b: Box<dyn a::B>) {
   b.foo();
}


3. Скомпилируется ли этот код?
mod a {
    pub trait A { fn foo(&self); }
    pub trait C { fn foo(&self); }
    pub trait B: A + C {}
}

fn f(b: Box<dyn a::B>) {
   b.foo();
}


4. Скомпилируется ли этот код?
mod a {
    pub trait A { fn foo(&self); }
    pub trait C { fn foo(&self); }
    pub trait B: A + C {}
}

fn f() -> Box<dyn a::C> {
   panic!("nope")
}

impl a::A for () {
   fn foo(&self) {
       f().foo();
   }
}
источник

EG

Emmanuel Goldstein in rust_offtopic
Emmanuel Goldstein
Задачи по мотивам моего копания в rustc.

1. Скомпилируется ли этот код?
mod a {
    pub trait A { fn foo(&self); }
}

fn f(b: Box<dyn a::A>) {
   b.foo();
}


2. Скомпилируется ли этот код?
mod a {
    pub trait A { fn foo(&self); }
    pub trait B: A {}
}

fn f(b: Box<dyn a::B>) {
   b.foo();
}


3. Скомпилируется ли этот код?
mod a {
    pub trait A { fn foo(&self); }
    pub trait C { fn foo(&self); }
    pub trait B: A + C {}
}

fn f(b: Box<dyn a::B>) {
   b.foo();
}


4. Скомпилируется ли этот код?
mod a {
    pub trait A { fn foo(&self); }
    pub trait C { fn foo(&self); }
    pub trait B: A + C {}
}

fn f() -> Box<dyn a::C> {
   panic!("nope")
}

impl a::A for () {
   fn foo(&self) {
       f().foo();
   }
}
И «почему» по всем пунктам
источник

S

Sssss in rust_offtopic
Emmanuel Goldstein
Задачи по мотивам моего копания в rustc.

1. Скомпилируется ли этот код?
mod a {
    pub trait A { fn foo(&self); }
}

fn f(b: Box<dyn a::A>) {
   b.foo();
}


2. Скомпилируется ли этот код?
mod a {
    pub trait A { fn foo(&self); }
    pub trait B: A {}
}

fn f(b: Box<dyn a::B>) {
   b.foo();
}


3. Скомпилируется ли этот код?
mod a {
    pub trait A { fn foo(&self); }
    pub trait C { fn foo(&self); }
    pub trait B: A + C {}
}

fn f(b: Box<dyn a::B>) {
   b.foo();
}


4. Скомпилируется ли этот код?
mod a {
    pub trait A { fn foo(&self); }
    pub trait C { fn foo(&self); }
    pub trait B: A + C {}
}

fn f() -> Box<dyn a::C> {
   panic!("nope")
}

impl a::A for () {
   fn foo(&self) {
       f().foo();
   }
}
А почему вы не закидываете код на пастбин или что-то подобное?
источник

EG

Emmanuel Goldstein in rust_offtopic
Sssss
А почему вы не закидываете код на пастбин или что-то подобное?
Потому что тут сниппеты по 20 строк максимум
источник

p

polunin.ai in rust_offtopic
Emmanuel Goldstein
Задачи по мотивам моего копания в rustc.

1. Скомпилируется ли этот код?
mod a {
    pub trait A { fn foo(&self); }
}

fn f(b: Box<dyn a::A>) {
   b.foo();
}


2. Скомпилируется ли этот код?
mod a {
    pub trait A { fn foo(&self); }
    pub trait B: A {}
}

fn f(b: Box<dyn a::B>) {
   b.foo();
}


3. Скомпилируется ли этот код?
mod a {
    pub trait A { fn foo(&self); }
    pub trait C { fn foo(&self); }
    pub trait B: A + C {}
}

fn f(b: Box<dyn a::B>) {
   b.foo();
}


4. Скомпилируется ли этот код?
mod a {
    pub trait A { fn foo(&self); }
    pub trait C { fn foo(&self); }
    pub trait B: A + C {}
}

fn f() -> Box<dyn a::C> {
   panic!("nope")
}

impl a::A for () {
   fn foo(&self) {
       f().foo();
   }
}
1. да, потому что у нас только один возможный метод для типа
2. да, потому что у нас только один возможный метод для типа
3. нет, тут или ошибка для Bod<dyn ...> либо не сможет определить для чего foo вызывать
4. а вот тут хуй знает. я бы не компилировал. но растс думаю компилируется потмоу что там a::A видно из импла.
источник

p

polunin.ai in rust_offtopic
вообще вывод типов это самое веселое в расте, я согласен
источник

EG

Emmanuel Goldstein in rust_offtopic
polunin.ai
1. да, потому что у нас только один возможный метод для типа
2. да, потому что у нас только один возможный метод для типа
3. нет, тут или ошибка для Bod<dyn ...> либо не сможет определить для чего foo вызывать
4. а вот тут хуй знает. я бы не компилировал. но растс думаю компилируется потмоу что там a::A видно из импла.
Верно
По четвёртому — impl a::A приносит A в скоуп резолва трейтов, и методы трейтов в скоупе проверяются раньше, чем методы дин-обджектов, несмотря на то, что методы трейт обджектов типа inherent для них
источник

EG

Emmanuel Goldstein in rust_offtopic
Т. е. в 4 кейсе мы, технически, вызываем external method при наличии inherent
источник

p

polunin.ai in rust_offtopic
Твои клиенты выучат Rust, ожидая ответа от сервера на питоне.
источник

EG

Emmanuel Goldstein in rust_offtopic
polunin.ai
Твои клиенты выучат Rust, ожидая ответа от сервера на питоне.
Скорость ЯП это никогда не боттлнек для телеграм-бота
источник

EG

Emmanuel Goldstein in rust_offtopic
У тебя происходит ДВА HTTP-запроса на каждый ответ
источник

EG

Emmanuel Goldstein in rust_offtopic
ДВА
источник