Size: a a a

2020 November 02

SB

Serge Barinov in Rust Beginners
George
Ничего себе методы экстремальные :D
Но вот на всякий случай крейт. Пусть будет.
там 0<f32<1, я просто умножаю на 255.0 и привожу к u8
источник

SB

Serge Barinov in Rust Beginners
точности мне достаточно
источник

A

Adatan in Rust Beginners
А типажи Send и Sync можно реализовать для моего типа?
источник

H

Hirrolot in Rust Beginners
Adatan
А типажи Send и Sync можно реализовать для моего типа?
они автоматически реализуются, можно разве что открепить их
источник

A

Adatan in Rust Beginners
Допустим, как?
источник

H

Hirrolot in Rust Beginners
unsafe !impl Send for MyType { }

как-то так
источник

H

Hirrolot in Rust Beginners
или не unsafe, не помню точно уже
источник

A

Adatan in Rust Beginners
Интересно
источник

RG

Random Guy in Rust Beginners
Так же и реализовать можно. Но не нужно
источник

A

Adatan in Rust Beginners
Random Guy
Так же и реализовать можно. Но не нужно
Почему?
источник

АГ

Алексей Герасимов... in Rust Beginners
Adatan
Почему?
потому что опасно. можно сделать Send/Sync то, что таковым не является и потом ловить странные баги
источник

A

Adatan in Rust Beginners
А хоть посмотреть, как реализуют можно?
источник

АГ

Алексей Герасимов... in Rust Beginners
Adatan
А хоть посмотреть, как реализуют можно?
можно
unsafe impl Send/Sync for MyType {}
источник

АГ

Алексей Герасимов... in Rust Beginners
но нужно четко понимать, правомерно ли так делать или нет, иначе UB
источник

A

Adatan in Rust Beginners
Алексей Герасимов
можно
unsafe impl Send/Sync for MyType {}
А методов нет?
источник

JC

Julian =) Coffee in Rust Beginners
Serge Barinov
псст
ЩИТО? О,о:
trait std::cmp::Ord is not implemented for f32
NaN != NaN
А Ord требует чтоб числа были либо равны друг другу, либо одно было меньше другого. И чтоб транзитивность выполнялась.
источник

JC

Julian =) Coffee in Rust Beginners
Eq не имплементируется по этой же причине, а Ord его требует
источник

EG

Emmanuel Goldstein in Rust Beginners
Adatan
А методов нет?
Нет, это же маркеры
источник

EG

Emmanuel Goldstein in Rust Beginners
Но вообще лучше этого не делать
источник

A

Adatan in Rust Beginners
Для понимания всего языка, лучше все попробовать сделать, я думаю😝
источник