次のような完全修飾型パスを含むマクロを使用してコードを生成しています。
let vec: Vec::<String>;
::
の前に余分に注意してください<String>
。これは、次を追加することにより、同じ入力トークンをコンストラクターにも使用できるようにするために必要です::new()
。
Vec::<String>::new()
ただし、これにより警告が生成されます。
warning: unnecessary path disambiguator
--> src/main.rs:4:17
|
4 | let vec: Vec::<String>;
| ^^ try removing `::`
::
エラーが発生するため、を削除できません。
error: chained comparison operators require parentheses
--> src/main.rs:6:14
|
6 | vec = Vec<String>::new();
| ^^^^^^^^^^
|
= help: use `::<...>` instead of `<...>` if you meant to specify type arguments
= help: or use `(...)` if you meant to specify fn arguments
error[E0423]: expected value, found struct `Vec`
--> src/main.rs:6:11
|
6 | vec = Vec<String>::new();
| ^^^
| |
| did you mean `vec`?
| did you mean `Vec { /* fields */ }`?
この1行だけの警告を無効にするにはどうすればよいですか?