mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-23 15:23:46 +00:00
Fix ICE when doc aliases were put on function params
This commit is contained in:
parent
6936ca8c99
commit
5f74ba50bc
@ -456,6 +456,8 @@ impl CheckAttrVisitor<'tcx> {
|
||||
_ => None,
|
||||
}
|
||||
}
|
||||
// we check the validity of params elsewhere
|
||||
Target::Param => return false,
|
||||
_ => None,
|
||||
} {
|
||||
return err_fn(meta.span(), &format!("isn't allowed on {}", err));
|
||||
|
@ -1,9 +1,9 @@
|
||||
#![crate_type="lib"]
|
||||
#![crate_type = "lib"]
|
||||
|
||||
pub struct Bar;
|
||||
pub trait Foo {
|
||||
type X;
|
||||
fn foo() -> Self::X;
|
||||
fn foo(x: u32) -> Self::X;
|
||||
}
|
||||
|
||||
#[doc(alias = "foo")] //~ ERROR
|
||||
@ -19,7 +19,8 @@ impl Bar {
|
||||
impl Foo for Bar {
|
||||
#[doc(alias = "assoc")] //~ ERROR
|
||||
type X = i32;
|
||||
fn foo() -> Self::X {
|
||||
fn foo(#[doc(alias = "qux")] _x: u32) -> Self::X {
|
||||
//~^ ERROR
|
||||
0
|
||||
}
|
||||
}
|
||||
|
@ -1,3 +1,9 @@
|
||||
error: allow, cfg, cfg_attr, deny, forbid, and warn are the only allowed built-in attributes in function parameters
|
||||
--> $DIR/check-doc-alias-attr-location.rs:22:12
|
||||
|
|
||||
LL | fn foo(#[doc(alias = "qux")] _x: u32) -> Self::X {
|
||||
| ^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: `#[doc(alias = "...")]` isn't allowed on extern block
|
||||
--> $DIR/check-doc-alias-attr-location.rs:9:7
|
||||
|
|
||||
@ -22,5 +28,5 @@ error: `#[doc(alias = "...")]` isn't allowed on type alias in implementation blo
|
||||
LL | #[doc(alias = "assoc")]
|
||||
| ^^^^^^^^^^^^^^^
|
||||
|
||||
error: aborting due to 4 previous errors
|
||||
error: aborting due to 5 previous errors
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user