Pull to refresh
2
0
Дмитрий Маракасов @AMDmi3

Разработчик свободного ПО

Send message
Спасибо за статью!

Не совсем корректно, имхо, называть трейты классами типов, потому что они всё-таки немного отличаются от функциональности классов типов из хаскеля. Хотя со временем различия размываются, да — скоро в трейты добавят (если уже не добавили, не помню) множественную диспетчеризацию и ассоциированные типы. В Rust очень сильно не хватает типов высшего порядка, поэтому многие вещи, нормальные для классов типов, через трейты невыразимы.

Трюк с None, к счастью, временный — с добавлением UFCS (хотя я не уверен, что его добавят до 1.0) нужда в нём отпадёт. Кстати, емнип, это
  let n: Option<T> = None;
  Float::mantissa_digits(n)

можно переписать как
  Float::mantissa_digits(None::<T>)

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity