Rollup merge of #81922 - magurotuna:issue81522, r=matthewjasper
Let `#[allow(unstable_name_collisions)]` work for things other than function Fixes #81522 In addition to the report in #81522, currently `#[allow(unstable_name_collisions)]` doesn't suppress the corresponding diagnostics even if this attribute is appended to an expression statement or a let statement. It seems like this is because the wrong `HirId` is passed to `struct_span_lint_hir`. It's fixed in this PR, and a regression test for it is also added.
This commit is contained in:
commit
54ea8e1b82
2 changed files with 38 additions and 1 deletions
31
src/test/ui/inference/issue-81522.rs
Normal file
31
src/test/ui/inference/issue-81522.rs
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
// Regression test for #81522.
|
||||
// Ensures that `#[allow(unstable_name_collisions)]` appended to things other than function
|
||||
// suppresses the corresponding diagnostics emitted from inside them.
|
||||
// But note that this attribute doesn't work for macro invocations if it is appended directly.
|
||||
|
||||
// aux-build:inference_unstable_iterator.rs
|
||||
// aux-build:inference_unstable_itertools.rs
|
||||
// run-pass
|
||||
|
||||
extern crate inference_unstable_iterator;
|
||||
extern crate inference_unstable_itertools;
|
||||
|
||||
#[allow(unused_imports)]
|
||||
use inference_unstable_iterator::IpuIterator;
|
||||
use inference_unstable_itertools::IpuItertools;
|
||||
|
||||
fn main() {
|
||||
// expression statement
|
||||
#[allow(unstable_name_collisions)]
|
||||
'x'.ipu_flatten();
|
||||
|
||||
// let statement
|
||||
#[allow(unstable_name_collisions)]
|
||||
let _ = 'x'.ipu_flatten();
|
||||
|
||||
// block expression
|
||||
#[allow(unstable_name_collisions)]
|
||||
{
|
||||
'x'.ipu_flatten();
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue