如何禁用“不必要的路径消歧”警告?

问题描述 投票:4回答:1

我正在使用宏生成代码,其中包含完全限定的类型路径,如下所示:

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 */ }`?

如何为这一行禁用警告?

rust compiler-warnings rust-macros
1个回答
2
投票

目前这是一个悬而未决的问题。

这个棉绒目前正在滑落这些属性,如#![allow(warnings)]

Reference

© www.soinside.com 2019 - 2024. All rights reserved.