Remove P::map.

It's barely used, and the places that use it are better if they don't.
This commit is contained in:
Nicholas Nethercote
2025-05-27 01:42:51 +10:00
parent a35675d38f
commit 6973fa08a3
4 changed files with 21 additions and 38 deletions

View File

@@ -1123,10 +1123,9 @@ impl Stmt {
pub fn add_trailing_semicolon(mut self) -> Self {
self.kind = match self.kind {
StmtKind::Expr(expr) => StmtKind::Semi(expr),
StmtKind::MacCall(mac) => {
StmtKind::MacCall(mac.map(|MacCallStmt { mac, style: _, attrs, tokens }| {
MacCallStmt { mac, style: MacStmtStyle::Semicolon, attrs, tokens }
}))
StmtKind::MacCall(mut mac) => {
mac.style = MacStmtStyle::Semicolon;
StmtKind::MacCall(mac)
}
kind => kind,
};

View File

@@ -51,17 +51,6 @@ impl<T> P<T> {
*self.ptr
}
/// Produce a new `P<T>` from `self` without reallocating.
pub fn map<F>(mut self, f: F) -> P<T>
where
F: FnOnce(T) -> T,
{
let x = f(*self.ptr);
*self.ptr = x;
self
}
/// Optionally produce a new `P<T>` from `self` without reallocating.
pub fn filter_map<F>(mut self, f: F) -> Option<P<T>>
where

View File

@@ -354,8 +354,7 @@ fn mk_decls(cx: &mut ExtCtxt<'_>, macros: &[ProcMacro]) -> P<ast::Item> {
})
.collect();
let decls_static = cx
.item_static(
let mut decls_static = cx.item_static(
span,
Ident::new(sym::_DECLS, span),
cx.ty_ref(
@@ -371,13 +370,12 @@ fn mk_decls(cx: &mut ExtCtxt<'_>, macros: &[ProcMacro]) -> P<ast::Item> {
),
ast::Mutability::Not,
cx.expr_array_ref(span, decls),
)
.map(|mut i| {
i.attrs.push(cx.attr_word(sym::rustc_proc_macro_decls, span));
i.attrs.push(cx.attr_word(sym::used, span));
i.attrs.push(cx.attr_nested_word(sym::allow, sym::deprecated, span));
i
});
);
decls_static.attrs.extend([
cx.attr_word(sym::rustc_proc_macro_decls, span),
cx.attr_word(sym::used, span),
cx.attr_nested_word(sym::allow, sym::deprecated, span),
]);
let block = cx.expr_block(
cx.block(span, thin_vec![cx.stmt_item(span, krate), cx.stmt_item(span, decls_static)]),

View File

@@ -381,10 +381,7 @@ pub(crate) fn expand_test_or_bench(
.into(),
),
);
test_const = test_const.map(|mut tc| {
tc.vis.kind = ast::VisibilityKind::Public;
tc
});
test_const.vis.kind = ast::VisibilityKind::Public;
// extern crate test
let test_extern =