Size: a a a

2020 August 10

NL

Nick Linker in rust_offtopic
Constantine Drozdov
Как раз натягивается. По сути транслятор на некотором уровне абстракции является средством доказательства, что код 1 на языке А эквивалентен коду 2 на языке Б. В этом смысле у него есть аксиомы о языке А и языке Б
А, всё-таки изоморфизм.
источник

DS

Doge Shibu in rust_offtopic
Т-34 85
уж не думаешь ли ты, что @kekekeks вводит в заблуждение? Он так-то один из авторов AvaloniaUI
Нет, просто это какие-то экзотические кейсы для c# приложений, т.к. большинство из них - это не cpu bound задачи.

И да, это проблемы идиотского дизайна линка.
источник

Т8

Т-34 85 in rust_offtopic
Casual tears
Это уже пофиксили вроде
в доке не отражено, хз
источник

DS

Doge Shibu in rust_offtopic
То есть в жвм мире стримы работают куда лучше, чем LINQ в плане перформанса
источник

DS

Doge Shibu in rust_offtopic
Тупо за счёт нормального дизайна, дружелюбного к джиту
источник

p

polunin.ai in rust_offtopic
Constantine Drozdov
реализация является источником документации или нет? ты не ответил
так как нет спецификации нужно полагаться на реализацию
источник

p

polunin.ai in rust_offtopic
реализация конечная истина
источник

CD

Constantine Drozdov in rust_offtopic
Nick Linker
А, всё-таки изоморфизм.
Такая (или подобная) формулировка очень нужна, иначе будут вопросы вида "UB возникает в потоке выполнения". Последствие неизбежного UB может наблюдаться до формального прохождения потока выполнения.
источник

Ct

Casual tears in rust_offtopic
Т-34 85
в доке не отражено, хз
https://github.com/rust-lang/rust/issues/10184
Вот релевантный  issue. Доки как мы уже тут обсудили, к реальности имеют весьма посредственное отношение.
источник

Т8

Т-34 85 in rust_offtopic
ага, вот так я буду смотреть ишьюс и сорцы вместо того, чтобы глянуть в доку?
источник

Ct

Casual tears in rust_offtopic
Т-34 85
ага, вот так я буду смотреть ишьюс и сорцы вместо того, чтобы глянуть в доку?
Если тебе очень интересно - да, почему бы и нет?
источник

Т8

Т-34 85 in rust_offtopic
Casual tears
Если тебе очень интересно - да, почему бы и нет?
потому-что я не люблю свинское отношение
источник

CD

Constantine Drozdov in rust_offtopic
грубо говоря
if (!ptr) printf("Hello, world!"); //(1)
*ptr = 0;
компилятор безусловно имеет право убрать строку (1)
источник

Ct

Casual tears in rust_offtopic
Т-34 85
потому-что я не люблю свинское отношение
Это опенсорс. Тебе никто ничего не должен.
источник

CD

Constantine Drozdov in rust_offtopic
на практике он так не сделает, но право имеет :)
источник

Ct

Casual tears in rust_offtopic
Constantine Drozdov
грубо говоря
if (!ptr) printf("Hello, world!"); //(1)
*ptr = 0;
компилятор безусловно имеет право убрать строку (1)
Убрать проверку, имеешь в виду?
источник

CD

Constantine Drozdov in rust_offtopic
Casual tears
Убрать проверку, имеешь в виду?
я там не в ту сторону написал
источник

CD

Constantine Drozdov in rust_offtopic
printf позволяет наблюдать поток выполнения явно
источник

К

Коля🤔🎭 in rust_offtopic
Constantine Drozdov
на практике он так не сделает, но право имеет :)
С какого пальца высосал?
источник

NL

Nick Linker in rust_offtopic
Constantine Drozdov
Такая (или подобная) формулировка очень нужна, иначе будут вопросы вида "UB возникает в потоке выполнения". Последствие неизбежного UB может наблюдаться до формального прохождения потока выполнения.
Ну в коде выше

void f1() {
  int a { 1 };
  int b { 2 };
  int c { 3 };
}

void f2() {
  int a, b, c;
  printf(“%i %i %i”, a, b, c);
}

int main() {
  f1();
  f2();
}

мы не можем определить семантику этого кода в точности, как раз из-за UB, я даже никогда не видел, как моделируется UB.
Его даже _|_ нельзя сделать, потому что код выше очевидно завершится и даже что-то выведет.
источник