Size: a a a

Rust — русскоговорящее сообществo

2020 November 29

IB

Ivan Boldyrev in Rust — русскоговорящее сообществo
Test For Test
Я просто хотел сделать типом данных функцию факториал
Получилось?
источник

TT

Test For Test in Rust — русскоговорящее сообществo
Ivan Boldyrev
Получилось?
Пока читаю про создание своих типов данных)
источник

KR

Kirill Rudakov in Rust — русскоговорящее сообществo
Emmanuel Goldstein
Почему это компилируется? Чтобы собрать Self, нужно мувнуть cfg внутрь, а замыкание не помечено как move.
Может компилятор видит, что в функцию ты передаёшь владение cfg и не считает проблемой передать владение создаваемой структуре.
источник

AK

A Kazus in Rust — русскоговорящее сообществo
Ivan Boldyrev
! -- это тип "жопа", ты не можешь приветси 2 к жопе, а жопу к целому -- можно.
Круто объяснил 😂
источник

EG

Emmanuel Goldstein in Rust — русскоговорящее сообществo
Kirill Rudakov
Может компилятор видит, что в функцию ты передаёшь владение cfg и не считает проблемой передать владение создаваемой структуре.
Но я же не передаю владение cfg в замыкание.
источник

EG

Emmanuel Goldstein in Rust — русскоговорящее сообществo
Замыкание может получить либо &, либо &mut, и ни то, ни другое, нельзя положить в Self
источник

J

JohnByte in Rust — русскоговорящее сообществo
Ivan Boldyrev
! -- это тип "жопа", ты не можешь приветси 2 к жопе, а жопу к целому -- можно.
"жопа" is nothing. every nothing is something, but not every something is nothing
источник

TT

Test For Test in Rust — русскоговорящее сообществo
JohnByte
"жопа" is nothing. every nothing is something, but not every something is nothing
Логично)
источник

TB

Timur Burnashev in Rust — русскоговорящее сообществo
Emmanuel Goldstein
Потому что panic!() возвращает !, который приводится к любому типу
Объясните плз смысл обработки ошибок в Result<T,E>,  возможно в общем случае например при Err(e) вызывать не паник, а писать в лог файл?
источник

EG

Emmanuel Goldstein in Rust — русскоговорящее сообществo
Timur Burnashev
Объясните плз смысл обработки ошибок в Result<T,E>,  возможно в общем случае например при Err(e) вызывать не паник, а писать в лог файл?
Не понял вопроса. Можно что угодно делать в любом случае, кто ж тебе запретит?
источник

TB

Timur Burnashev in Rust — русскоговорящее сообществo
let pool2 = match pool {
       Ok(n)=>n,
       Err(e)=>write_log(e);
   };
источник

TB

Timur Burnashev in Rust — русскоговорящее сообществo
n - struct, e - String
источник

EG

Emmanuel Goldstein in Rust — русскоговорящее сообществo
И какое значение окажется в pool2, если в pool лежит err?
источник

TB

Timur Burnashev in Rust — русскоговорящее сообществo
хорошо, так не должно быть, вопрос
источник

ИЛ

Иван Лещенко... in Rust — русскоговорящее сообществo
А почему в таком примере https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=812b102e2b085ed5f998f9e29997ae6a перечисление Second не занимает
size_of::<u32>() + дискриминант
?
источник

ИЛ

Иван Лещенко... in Rust — русскоговорящее сообществo
Так как там всего 2 варианта нам хватит u8 для хранения дискриминанта
источник

EG

Emmanuel Goldstein in Rust — русскоговорящее сообществo
Иван Лещенко
Так как там всего 2 варианта нам хватит u8 для хранения дискриминанта
Паддинг
источник

EG

Emmanuel Goldstein in Rust — русскоговорящее сообществo
Структур размером пять байт естественным образом не бывает
источник

ИЛ

Иван Лещенко... in Rust — русскоговорящее сообществo
Emmanuel Goldstein
Структур размером пять байт естественным образом не бывает
источник

И

Игорь in Rust — русскоговорящее сообществo
Ivan Boldyrev
! -- это тип "жопа", ты не можешь приветси 2 к жопе, а жопу к целому -- можно.
"!" это жопа из которой нет возврата
источник