Size: a a a

2020 May 02

EG

Emmanuel Goldstein in rust_offtopic
Alex Zhukovsky
и? На этом уб не заканчивается
Про остальное рассуждать бессмысленно за неимением хороших пруфов.
источник

AZ

Alex Zhukovsky in rust_offtopic
unsafe fn extend_lifetime<'a, T>(val: &'a T) -> &'static T {
   std::mem::transmute(val)
}
источник

AZ

Alex Zhukovsky in rust_offtopic
вот так - норм
источник

EG

Emmanuel Goldstein in rust_offtopic
Во, так-то лучше
источник

SP

Stanislav Popov in rust_offtopic
непреодолимая тяга к динамике
источник

EG

Emmanuel Goldstein in rust_offtopic
Stanislav Popov
непреодолимая тяга к динамике
?
источник

AZ

Alex Zhukovsky in rust_offtopic
Emmanuel Goldstein
Во, так-то лучше
норм
источник

AZ

Alex Zhukovsky in rust_offtopic
polunin.ai
хм, а такой вопрос: как найти пересечение двух множеств которые заданы формулой
a0 = const; ai = a(i-1)+k; an = const; где an - последний элемент в множестве
куда гуглить?
ну так же как мерж джоин делается
источник

AZ

Alex Zhukovsky in rust_offtopic
втупую как-то так:

let mut a = a0
let mut b = b0;

let result = Vec::new();
while a < an && b < bn {
 match a.cmp(b) {
   Less => { a = next_a(a) },
   Greater => { b = next_b(b) },
   Equal => {
     result.push(a);
     a = next_a(a);
     b = next_b(b)
   }
 }
}
источник

e

egoarka in rust_offtopic
блин, шарп так вербозен 🙄
источник

e

egoarka in rust_offtopic
походу разрабам которые пишут на шарпе - платят за кол-во строк)))
источник

p

polunin.ai in rust_offtopic
Emmanuel Goldstein
И ещё прежде чем идти дальше, я хочу сделать рефакторинг типа function.
Сейчас он хранит кроме имени только Arc<dyn Fn> и это проблематично тем, что потом неясно, как делать модули
Arc<Function> же надо
источник

p

polunin.ai in rust_offtopic
Alex Zhukovsky
втупую как-то так:

let mut a = a0
let mut b = b0;

let result = Vec::new();
while a < an && b < bn {
 match a.cmp(b) {
   Less => { a = next_a(a) },
   Greater => { b = next_b(b) },
   Equal => {
     result.push(a);
     a = next_a(a);
     b = next_b(b)
   }
 }
}
Мне надо их двух итераторов сделать третий итератор, перебрать массив значений я тоже могу
источник

EG

Emmanuel Goldstein in rust_offtopic
polunin.ai
Arc<Function> же надо
?
Сейчас там иерархия типов такая:
Arc::new(Value {
   // other fields
   kind: ValueKind::Function(Function {
       call: Arc<dyn Fn>,
       name: Cow<str>
   })
})
источник

EG

Emmanuel Goldstein in rust_offtopic
Я не помню, почему call у меня Arc<dyn Fn>, а не Box<dyn Fn>, может и нипочему
источник

EG

Emmanuel Goldstein in rust_offtopic
Но проблема в том, что вот эту фигню нельзя сериализовать в файл
источник

p

polunin.ai in rust_offtopic
Emmanuel Goldstein
?
Сейчас там иерархия типов такая:
Arc::new(Value {
   // other fields
   kind: ValueKind::Function(Function {
       call: Arc<dyn Fn>,
       name: Cow<str>
   })
})
Хуйня же. Должен быть def ещё. И при вызове функции проверка что вызов соответствует def
источник

EG

Emmanuel Goldstein in rust_offtopic
polunin.ai
Хуйня же. Должен быть def ещё. И при вызове функции проверка что вызов соответствует def
Чё?
источник

EG

Emmanuel Goldstein in rust_offtopic
Какой def?
источник

p

polunin.ai in rust_offtopic
Ну объявление функции
источник