mirror of
https://github.com/servo/servo.git
synced 2025-08-01 19:50:30 +01:00
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]: https://github.com/rust-lang/rust/pull/95562 [2]: https://github.com/rust-lang/rust/pull/95562/files#r915537557
This commit is contained in:
parent
37d09ebdfd
commit
065c59665c
1 changed files with 2 additions and 1 deletions
|
@ -110,7 +110,8 @@ fn is_unrooted_ty<'tcx>(
|
|||
};
|
||||
let recur_into_subtree = match t.kind() {
|
||||
ty::Adt(did, substs) => {
|
||||
let has_attr = |did, name| has_lint_attr(sym, &cx.tcx.get_attrs(did), name);
|
||||
let has_attr =
|
||||
|did, name| has_lint_attr(sym, &cx.tcx.get_attrs_unchecked(did), name);
|
||||
if has_attr(did.did(), sym.must_root) {
|
||||
ret = true;
|
||||
false
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue