Auto merge of #104696 - matthiaskrgr:rollup-gi1pdb0, r=matthiaskrgr
Rollup of 11 pull requests Successful merges: - #103396 (Pin::new_unchecked: discuss pinning closure captures) - #104416 (Fix using `include_bytes` in pattern position) - #104557 (Add a test case for async dyn* traits) - #104559 (Split `MacArgs` in two.) - #104597 (Probe + better error messsage for `need_migrate_deref_output_trait_object`) - #104656 (Move tests) - #104657 (Do not check transmute if has non region infer) - #104663 (rustdoc: factor out common button CSS) - #104666 (Migrate alias search result to CSS variables) - #104674 (Make negative_impl and negative_impl_exists take the right types) - #104692 (Update test's cfg-if dependency to 1.0) Failed merges: r? `@ghost` `@rustbot` modify labels: rollup
This commit is contained in:
commit
e6c33e0054
@ -55,7 +55,7 @@ impl EarlyLintPass for CrateInMacroDef {
|
|||||||
if_chain! {
|
if_chain! {
|
||||||
if item.attrs.iter().any(is_macro_export);
|
if item.attrs.iter().any(is_macro_export);
|
||||||
if let ItemKind::MacroDef(macro_def) = &item.kind;
|
if let ItemKind::MacroDef(macro_def) = &item.kind;
|
||||||
let tts = macro_def.body.inner_tokens();
|
let tts = macro_def.body.tokens.clone();
|
||||||
if let Some(span) = contains_unhygienic_crate_reference(&tts);
|
if let Some(span) = contains_unhygienic_crate_reference(&tts);
|
||||||
then {
|
then {
|
||||||
span_lint_and_sugg(
|
span_lint_and_sugg(
|
||||||
|
@ -388,7 +388,7 @@ pub fn eq_item_kind(l: &ItemKind, r: &ItemKind) -> bool {
|
|||||||
&& over(li, ri, |l, r| eq_item(l, r, eq_assoc_item_kind))
|
&& over(li, ri, |l, r| eq_item(l, r, eq_assoc_item_kind))
|
||||||
},
|
},
|
||||||
(MacCall(l), MacCall(r)) => eq_mac_call(l, r),
|
(MacCall(l), MacCall(r)) => eq_mac_call(l, r),
|
||||||
(MacroDef(l), MacroDef(r)) => l.macro_rules == r.macro_rules && eq_mac_args(&l.body, &r.body),
|
(MacroDef(l), MacroDef(r)) => l.macro_rules == r.macro_rules && eq_delim_args(&l.body, &r.body),
|
||||||
_ => false,
|
_ => false,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -709,7 +709,7 @@ pub fn eq_assoc_constraint(l: &AssocConstraint, r: &AssocConstraint) -> bool {
|
|||||||
}
|
}
|
||||||
|
|
||||||
pub fn eq_mac_call(l: &MacCall, r: &MacCall) -> bool {
|
pub fn eq_mac_call(l: &MacCall, r: &MacCall) -> bool {
|
||||||
eq_path(&l.path, &r.path) && eq_mac_args(&l.args, &r.args)
|
eq_path(&l.path, &r.path) && eq_delim_args(&l.args, &r.args)
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn eq_attr(l: &Attribute, r: &Attribute) -> bool {
|
pub fn eq_attr(l: &Attribute, r: &Attribute) -> bool {
|
||||||
@ -717,18 +717,22 @@ pub fn eq_attr(l: &Attribute, r: &Attribute) -> bool {
|
|||||||
l.style == r.style
|
l.style == r.style
|
||||||
&& match (&l.kind, &r.kind) {
|
&& match (&l.kind, &r.kind) {
|
||||||
(DocComment(l1, l2), DocComment(r1, r2)) => l1 == r1 && l2 == r2,
|
(DocComment(l1, l2), DocComment(r1, r2)) => l1 == r1 && l2 == r2,
|
||||||
(Normal(l), Normal(r)) => eq_path(&l.item.path, &r.item.path) && eq_mac_args(&l.item.args, &r.item.args),
|
(Normal(l), Normal(r)) => eq_path(&l.item.path, &r.item.path) && eq_attr_args(&l.item.args, &r.item.args),
|
||||||
_ => false,
|
_ => false,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn eq_mac_args(l: &MacArgs, r: &MacArgs) -> bool {
|
pub fn eq_attr_args(l: &AttrArgs, r: &AttrArgs) -> bool {
|
||||||
use MacArgs::*;
|
use AttrArgs::*;
|
||||||
match (l, r) {
|
match (l, r) {
|
||||||
(Empty, Empty) => true,
|
(Empty, Empty) => true,
|
||||||
(Delimited(_, ld, lts), Delimited(_, rd, rts)) => ld == rd && lts.eq_unspanned(rts),
|
(Delimited(la), Delimited(ra)) => eq_delim_args(la, ra),
|
||||||
(Eq(_, MacArgsEq::Ast(le)), Eq(_, MacArgsEq::Ast(re))) => eq_expr(le, re),
|
(Eq(_, AttrArgsEq::Ast(le)), Eq(_, AttrArgsEq::Ast(re))) => eq_expr(le, re),
|
||||||
(Eq(_, MacArgsEq::Hir(ll)), Eq(_, MacArgsEq::Hir(rl))) => ll.kind == rl.kind,
|
(Eq(_, AttrArgsEq::Hir(ll)), Eq(_, AttrArgsEq::Hir(rl))) => ll.kind == rl.kind,
|
||||||
_ => false,
|
_ => false,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub fn eq_delim_args(l: &DelimArgs, r: &DelimArgs) -> bool {
|
||||||
|
l.delim == r.delim && l.tokens.eq_unspanned(&r.tokens)
|
||||||
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user