Merge pull request #20604 from A4-Tacks/cfg-attr-comp

Add cfg_attr predicate completion
This commit is contained in:
Shoyu Vanilla (Flint) 2025-09-26 08:10:25 +00:00 committed by GitHub
commit 084c1e537d
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 53 additions and 1 deletions

View file

@ -70,7 +70,7 @@ pub(crate) fn complete_known_attribute_input(
lint::complete_lint(acc, ctx, colon_prefix, &existing_lints, &lints);
}
["cfg"] => cfg::complete_cfg(acc, ctx),
["cfg"] | ["cfg_attr"] => cfg::complete_cfg(acc, ctx),
["macro_use"] => macro_use::complete_macro_use(
acc,
ctx,

View file

@ -835,6 +835,58 @@ mod cfg {
);
}
#[test]
fn inside_cfg_attr() {
check(
r#"
//- /main.rs cfg:test,dbg=false,opt_level=2
#[cfg_attr($0)]
"#,
expect![[r#"
ba dbg
ba opt_level
ba test
ba true
"#]],
);
check(
r#"
//- /main.rs cfg:test,dbg=false,opt_level=2
#[cfg_attr(b$0)]
"#,
expect![[r#"
ba dbg
ba opt_level
ba test
ba true
"#]],
);
check(
r#"
//- /main.rs cfg:test,dbg=false,opt_level=2
#[cfg_attr($0, allow(deprecated))]
"#,
expect![[r#"
ba dbg
ba opt_level
ba test
ba true
"#]],
);
check(
r#"
//- /main.rs cfg:test,dbg=false,opt_level=2
#[cfg_attr(b$0, allow(deprecated))]
"#,
expect![[r#"
ba dbg
ba opt_level
ba test
ba true
"#]],
);
}
#[test]
fn cfg_target_endian() {
check(