2023-07-27 13:23:04 +00:00
|
|
|
//@aux-build:proc_macros.rs
|
2022-03-03 22:57:35 +00:00
|
|
|
#![feature(lint_reasons)]
|
|
|
|
#![deny(clippy::allow_attributes_without_reason)]
|
2023-06-02 01:24:41 +00:00
|
|
|
#![allow(unfulfilled_lint_expectations)]
|
|
|
|
|
|
|
|
extern crate proc_macros;
|
|
|
|
use proc_macros::{external, with_span};
|
2022-03-03 22:57:35 +00:00
|
|
|
|
|
|
|
// These should trigger the lint
|
|
|
|
#[allow(dead_code)]
|
|
|
|
#[allow(dead_code, deprecated)]
|
2023-06-02 01:24:41 +00:00
|
|
|
#[expect(dead_code)]
|
2022-03-03 22:57:35 +00:00
|
|
|
// These should be fine
|
|
|
|
#[allow(dead_code, reason = "This should be allowed")]
|
|
|
|
#[warn(dyn_drop, reason = "Warnings can also have reasons")]
|
|
|
|
#[warn(deref_nullptr)]
|
|
|
|
#[deny(deref_nullptr)]
|
|
|
|
#[forbid(deref_nullptr)]
|
|
|
|
|
2023-06-02 01:24:41 +00:00
|
|
|
fn main() {
|
|
|
|
external! {
|
|
|
|
#[allow(dead_code)]
|
|
|
|
fn a() {}
|
|
|
|
}
|
|
|
|
with_span! {
|
|
|
|
span
|
|
|
|
#[allow(dead_code)]
|
|
|
|
fn b() {}
|
|
|
|
}
|
|
|
|
}
|
2023-06-03 23:34:12 +00:00
|
|
|
|
|
|
|
// Make sure this is not triggered on `?` desugaring
|
|
|
|
|
2023-06-03 23:35:53 +00:00
|
|
|
pub fn trigger_fp_option() -> Option<()> {
|
2023-06-03 23:34:12 +00:00
|
|
|
Some(())?;
|
|
|
|
None?;
|
|
|
|
Some(())
|
|
|
|
}
|
|
|
|
|
|
|
|
pub fn trigger_fp_result() -> Result<(), &'static str> {
|
|
|
|
Ok(())?;
|
|
|
|
Err("asdf")?;
|
|
|
|
Ok(())
|
|
|
|
}
|