Skip to content

Commit 065c596

Browse files
committed
fix(script_plugins): replace TyCtxt::{get_attrs -> get_attrs_unchecked}
[rust-lang/rust#95562][1] renames the existing method `get_attrs` to `get_attrs_unchecked` and introduces a new method in its former place. The new method takes an attribute name and returns attributes of that name. It also checks that, if the attribute name is marked as local- only, the given `DefId` is local as well to prevent misuses. The old method, now named `get_attrs_unchecked`, returns all attributes of a given `DefId`; thus it's "unchecked" in the sense that it's up to the callers to be certain whether the attributes they are looking for are local-only. The new `get_attrs` method lacks the support for attribute names with more than one path component, which is why we can't just migrate to the new `get_attrs` method here. Although `get_attrs_unchecked` is marked for future removal in the compile source code, there's a discussion about [supporting][2] this use case. [1]: rust-lang/rust#95562 [2]: https://github.com/rust-lang/rust/pull/95562/files#r915537557
1 parent 37d09eb commit 065c596

File tree

1 file changed

+2
-1
lines changed
  • components/script_plugins

1 file changed

+2
-1
lines changed

components/script_plugins/lib.rs

+2-1
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,8 @@ fn is_unrooted_ty<'tcx>(
110110
};
111111
let recur_into_subtree = match t.kind() {
112112
ty::Adt(did, substs) => {
113-
let has_attr = |did, name| has_lint_attr(sym, &cx.tcx.get_attrs(did), name);
113+
let has_attr =
114+
|did, name| has_lint_attr(sym, &cx.tcx.get_attrs_unchecked(did), name);
114115
if has_attr(did.did(), sym.must_root) {
115116
ret = true;
116117
false

0 commit comments

Comments
 (0)