let shift_by_timed_noise = |v| { let sample_point = P3::new(v.x, v.y, ctx.time.as_secs_f32().sin() / 5.); let t = fbm.noise(sample_point) * 60.; v.translate(V2::new(t, t)) };
valora库案例复制到本机运行,这段函数会报如下错误:
error[E0282]: type annotations needed --> src\main.rs:31:36 | 31 | let sample_point = P3::new(v.x, v.y, ctx.time.as_secs_f32().sin() / 5.); | ^ cannot infer type | = note: type must be known at this point
error: aborting due to previous error
这段不知道怎么理解,新手渣渣求大佬解释下类型推定的原理。
1
共 3 条评论, 1 页
评论区
写评论类型推导也和部分语言功能挂钩,stable没有nightly的那部分功能,自然就推导不出来了。
--
👇
namesrping: 并不是,其他案例运行正常,就这个案例报错。看错误代码应该是类型推导出错了。 自己添加了类型就可以运行了。
并不是,其他案例运行正常,就这个案例报错。看错误代码应该是类型推导出错了。 自己添加了类型就可以运行了。
👇
ezlearning: https://blog.csdn.net/u012067469/article/details/106581015
注意:由于valora的依赖项中有些包使用了测试版本,所以需要使用rustc nightly版本才能顺利安装。如果使用rustc stable版本会报错。
是这个原因吗?
https://blog.csdn.net/u012067469/article/details/106581015
注意:由于valora的依赖项中有些包使用了测试版本,所以需要使用rustc nightly版本才能顺利安装。如果使用rustc stable版本会报错。
是这个原因吗?