Size: a a a

2020 February 04

DF

Dollar Føølish in rust_offtopic
Торт а в чем там суть?
источник

λ

λоλторт in rust_offtopic
в стаке не имплементируют поддержку бэкпака
источник

λ

λоλторт in rust_offtopic
приходит Картман, говорит — "заебали, даю вам 6 месяцев на то, чтобы запилить, а потом перевожу библиотеку, которая в зависимостях у половины хакаджа, на бэкпак"
источник

DF

Dollar Føølish in rust_offtopic
Хаха
источник

λ

λоλторт in rust_offtopic
λоλторт
приходит Картман, говорит — "заебали, даю вам 6 месяцев на то, чтобы запилить, а потом перевожу библиотеку, которая в зависимостях у половины хакаджа, на бэкпак"
s/ман/ер
источник

S

SedSub in rust_offtopic
λоλторт
приходит Картман, говорит — "заебали, даю вам 6 месяцев на то, чтобы запилить, а потом перевожу библиотеку, которая в зависимостях у половины хакаджа, на бэкпак"
приходит Картер, говорит — "заебали, даю вам 6 месяцев на то, чтобы запилить, а потом перевожу библиотеку, которая в зависимостях у половины хакаджа, на бэкпак"
источник

В

Вафель in rust_offtopic
Btw, с A|B и ? есть проблема...

Логично (на первый взгляд), что такое должно работать:

struct A;
struct B;

let _: Result<(), A | B> = try {
   Err(A)?;
   Err(B)?;
   Ok(())
}


Но, это требует чтобы A | B был и From<A> и From<B>, что комфликтует в дженерик коде т.к. возможно что A == B.

Так что sad news, но придётся писать
try {
   Err(A).map_err(|e| 0(e))?;
   Err(B).map_err(::0)?; // is it valid? >_<
   Ok(())
}
источник

p

polunin.ai in rust_offtopic
Вафель
Btw, с A|B и ? есть проблема...

Логично (на первый взгляд), что такое должно работать:

struct A;
struct B;

let _: Result<(), A | B> = try {
   Err(A)?;
   Err(B)?;
   Ok(())
}


Но, это требует чтобы A | B был и From<A> и From<B>, что комфликтует в дженерик коде т.к. возможно что A == B.

Так что sad news, но придётся писать
try {
   Err(A).map_err(|e| 0(e))?;
   Err(B).map_err(::0)?; // is it valid? >_<
   Ok(())
}
Если A == B, то в A | B, A != B
источник

p

polunin.ai in rust_offtopic
В типе сумме разные варианты всегда разные типы
источник

p

polunin.ai in rust_offtopic
То есть даже если при мономорфизации там выйдет i32 | i32, слева и справа разные типы
источник

В

Вафель in rust_offtopic
polunin.ai
То есть даже если при мономорфизации там выйдет i32 | i32, слева и справа разные типы
Типы одинаковые, варианты разные
источник

B

Bogdan in rust_offtopic
Вафель
Не смог найти новые RFC по анонимным енама (A | B), самое новое что я находил — 2016 год. И всё закрытое.... прям хоть перечитывай всё и заного пиши новый RFC чтобы его отклонили 😒
Давайте создадим рили воркгрупу обсудим да напишем RFC
источник

p

polunin.ai in rust_offtopic
Ну да
источник

В

Вафель in rust_offtopic
Я напомню что Enum::Var не тип
источник

В

Вафель in rust_offtopic
Bogdan
Давайте создадим рили воркгрупу обсудим да напишем RFC
ща
источник

p

polunin.ai in rust_offtopic
Вафель
Btw, с A|B и ? есть проблема...

Логично (на первый взгляд), что такое должно работать:

struct A;
struct B;

let _: Result<(), A | B> = try {
   Err(A)?;
   Err(B)?;
   Ok(())
}


Но, это требует чтобы A | B был и From<A> и From<B>, что комфликтует в дженерик коде т.к. возможно что A == B.

Так что sad news, но придётся писать
try {
   Err(A).map_err(|e| 0(e))?;
   Err(B).map_err(::0)?; // is it valid? >_<
   Ok(())
}
Не вижу проблем для этого кода
источник

p

polunin.ai in rust_offtopic
(верхнего)
источник

B

Bogdan in rust_offtopic
*смотрит на свои N проектов и официальную работу*
источник

В

Вафель in rust_offtopic
polunin.ai
Если A == B, то в A | B, A != B
С чего бы? Если что, от такого страдают и обычные енамы.

A | B по сути тот-же
pub enum Either<L, R> {
   Left(L),
   Right(R),
}
источник

В

Вафель in rust_offtopic
Вафель
С чего бы? Если что, от такого страдают и обычные енамы.

A | B по сути тот-же
pub enum Either<L, R> {
   Left(L),
   Right(R),
}
+++
источник