rust-lang / rust

Empowering everyone to build reliable and efficient software.
https://www.rust-lang.org
Other
97.81k stars 12.66k forks source link

Add `doc(plugins)`, `doc(passes)`, etc. to INVALID_DOC_ATTRIBUTES #82824

Open camelid opened 3 years ago

camelid commented 3 years ago

I think we should make doc(plugins), doc(passes), and any similar attributes hard errors. doc(plugins) is a no-op, and I expect there are almost no people using it. I'm not sure about the status of doc(passes), but I think it's been deprecated for several years. There are probably other similar attributes that should become hard errors, so please comment if you know of more.

I'm not sure if we need to wait to do this in the 2021 Edition since these attributes are likely not used at all, but I'm tagging this issue as lang-team-202x-edition and will note this in the #edition 2021 Zulip stream in case it has to happen across an edition boundary.

cc #82651, #44136 cc @rust-lang/rustdoc

jyn514 commented 3 years ago

I think this should be part of INVALID_DOC_ATTRIBUTES and be treated the same way as all those future-deprecation warnings. I don't think they need to be special-cased to give hard errors when nothing else does.

jyn514 commented 3 years ago

doc(passes) is a weird one because it does still work. I don't think we should make it an error.

camelid commented 3 years ago

I don't think we should make it an error.

You don't think we should make it a hard error or you don't think we should make it deny-by-default?

camelid commented 3 years ago

Also, I thought doc(passes) was deprecated, but I don't get any errors or warnings on nightly.

jyn514 commented 3 years ago

I don't think we should make it an error.

You don't think we should make it a hard error or you don't think we should make it deny-by-default?

I don't think it should be made an error (either kind). Deprecating it seems ok though.

Manishearth commented 3 years ago

We should just include them in INVALID_DOC_ATTRIBUTES. No hard errors without going through future incompat machinery or editions please.

seqre commented 8 months ago

Where in the codebase does this change need to happen? I tried looking for it myself, but couldn't find it.

m4tx commented 4 days ago

@rustbot claim

m4tx commented 4 days ago

This should be fixed in #131732.

I'm not quite sure how relevant this issue is today, though — INVALID_DOC_ATTRIBUTES has been made deny-by-default in Rust 1.78, so this now causes a compilation failure unless it's explicitly turned off. If there is any better way to fix this issue, I'm open to changing this PR.