Компонент библиотеки Nalgebra делит векторы разных типов - PullRequest
0 голосов
/ 16 декабря 2018

Первые две попытки дают ошибки, но третья работает.

extern crate nalgebra as na;

fn main() {
    let a: na::Vector2<f32> = na::Vector2::new(0.0f32, 0.0f32);
    let b: na::Vector2<u32> = na::Vector2::new(1u32, 1u32);
    let c = a.component_div(&b); // mismatched types
    let c = a.component_div(&na::convert(b)); // error[E0284]: type annotations required: cannot resolve `<na::constraint::ShapeConstraint as na::constraint::SameNumberOfRows<na::U2, _>>::Representative == _`
    let c = a.component_div(&na::convert::<na::Vector2<u32>, na::Vector2<f32>>(b)); // compiles
}

Есть ли лучший способ выполнить третью версию let c = _ без изменения типов a и bа также избегая дополнительных промежуточных переменных?

Мне просто плохо, когда пишу третью строку, как у меня сейчас.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...