Rollup merge of #106221 - Nilstrieb:rptr-more-like-ref-actually, r=compiler-errors
Rename `Rptr` to `Ref` in AST and HIR The name makes a lot more sense, and `ty::TyKind` calls it `Ref` already as well.
This commit is contained in:
commit
c610aeb592
57 changed files with 93 additions and 97 deletions
|
@ -572,7 +572,7 @@ impl Pat {
|
|||
PatKind::MacCall(mac) => TyKind::MacCall(mac.clone()),
|
||||
// `&mut? P` can be reinterpreted as `&mut? T` where `T` is `P` reparsed as a type.
|
||||
PatKind::Ref(pat, mutbl) => {
|
||||
pat.to_ty().map(|ty| TyKind::Rptr(None, MutTy { ty, mutbl: *mutbl }))?
|
||||
pat.to_ty().map(|ty| TyKind::Ref(None, MutTy { ty, mutbl: *mutbl }))?
|
||||
}
|
||||
// A slice/array pattern `[P]` can be reparsed as `[T]`, an unsized array,
|
||||
// when `P` can be reparsed as a type `T`.
|
||||
|
@ -1193,7 +1193,7 @@ impl Expr {
|
|||
ExprKind::Paren(expr) => expr.to_ty().map(TyKind::Paren)?,
|
||||
|
||||
ExprKind::AddrOf(BorrowKind::Ref, mutbl, expr) => {
|
||||
expr.to_ty().map(|ty| TyKind::Rptr(None, MutTy { ty, mutbl: *mutbl }))?
|
||||
expr.to_ty().map(|ty| TyKind::Ref(None, MutTy { ty, mutbl: *mutbl }))?
|
||||
}
|
||||
|
||||
ExprKind::Repeat(expr, expr_len) => {
|
||||
|
@ -2031,7 +2031,7 @@ impl Clone for Ty {
|
|||
impl Ty {
|
||||
pub fn peel_refs(&self) -> &Self {
|
||||
let mut final_ty = self;
|
||||
while let TyKind::Rptr(_, MutTy { ty, .. }) = &final_ty.kind {
|
||||
while let TyKind::Ref(_, MutTy { ty, .. }) = &final_ty.kind {
|
||||
final_ty = ty;
|
||||
}
|
||||
final_ty
|
||||
|
@ -2058,7 +2058,7 @@ pub enum TyKind {
|
|||
/// A raw pointer (`*const T` or `*mut T`).
|
||||
Ptr(MutTy),
|
||||
/// A reference (`&'a T` or `&'a mut T`).
|
||||
Rptr(Option<Lifetime>, MutTy),
|
||||
Ref(Option<Lifetime>, MutTy),
|
||||
/// A bare function (e.g., `fn(usize) -> bool`).
|
||||
BareFn(P<BareFnTy>),
|
||||
/// The never type (`!`).
|
||||
|
@ -2286,7 +2286,7 @@ impl Param {
|
|||
if ident.name == kw::SelfLower {
|
||||
return match self.ty.kind {
|
||||
TyKind::ImplicitSelf => Some(respan(self.pat.span, SelfKind::Value(mutbl))),
|
||||
TyKind::Rptr(lt, MutTy { ref ty, mutbl }) if ty.kind.is_implicit_self() => {
|
||||
TyKind::Ref(lt, MutTy { ref ty, mutbl }) if ty.kind.is_implicit_self() => {
|
||||
Some(respan(self.pat.span, SelfKind::Region(lt, mutbl)))
|
||||
}
|
||||
_ => Some(respan(
|
||||
|
@ -2319,7 +2319,7 @@ impl Param {
|
|||
Mutability::Not,
|
||||
P(Ty {
|
||||
id: DUMMY_NODE_ID,
|
||||
kind: TyKind::Rptr(lt, MutTy { ty: infer_ty, mutbl }),
|
||||
kind: TyKind::Ref(lt, MutTy { ty: infer_ty, mutbl }),
|
||||
span,
|
||||
tokens: None,
|
||||
}),
|
||||
|
|
|
@ -459,7 +459,7 @@ pub fn noop_visit_ty<T: MutVisitor>(ty: &mut P<Ty>, vis: &mut T) {
|
|||
TyKind::Infer | TyKind::ImplicitSelf | TyKind::Err | TyKind::Never | TyKind::CVarArgs => {}
|
||||
TyKind::Slice(ty) => vis.visit_ty(ty),
|
||||
TyKind::Ptr(mt) => vis.visit_mt(mt),
|
||||
TyKind::Rptr(lt, mt) => {
|
||||
TyKind::Ref(lt, mt) => {
|
||||
visit_opt(lt, |lt| noop_visit_lifetime(lt, vis));
|
||||
vis.visit_mt(mt);
|
||||
}
|
||||
|
|
|
@ -92,7 +92,7 @@ impl<'a> FnKind<'a> {
|
|||
#[derive(Copy, Clone, Debug)]
|
||||
pub enum LifetimeCtxt {
|
||||
/// Appears in a reference type.
|
||||
Rptr,
|
||||
Ref,
|
||||
/// Appears as a bound on a type or another lifetime.
|
||||
Bound,
|
||||
/// Appears as a generic argument.
|
||||
|
@ -396,8 +396,8 @@ pub fn walk_ty<'a, V: Visitor<'a>>(visitor: &mut V, typ: &'a Ty) {
|
|||
match &typ.kind {
|
||||
TyKind::Slice(ty) | TyKind::Paren(ty) => visitor.visit_ty(ty),
|
||||
TyKind::Ptr(mutable_type) => visitor.visit_ty(&mutable_type.ty),
|
||||
TyKind::Rptr(opt_lifetime, mutable_type) => {
|
||||
walk_list!(visitor, visit_lifetime, opt_lifetime, LifetimeCtxt::Rptr);
|
||||
TyKind::Ref(opt_lifetime, mutable_type) => {
|
||||
walk_list!(visitor, visit_lifetime, opt_lifetime, LifetimeCtxt::Ref);
|
||||
visitor.visit_ty(&mutable_type.ty)
|
||||
}
|
||||
TyKind::Tup(tuple_element_types) => {
|
||||
|
|
|
@ -1238,7 +1238,7 @@ impl<'a, 'hir> LoweringContext<'a, 'hir> {
|
|||
TyKind::Err => hir::TyKind::Err,
|
||||
TyKind::Slice(ty) => hir::TyKind::Slice(self.lower_ty(ty, itctx)),
|
||||
TyKind::Ptr(mt) => hir::TyKind::Ptr(self.lower_mt(mt, itctx)),
|
||||
TyKind::Rptr(region, mt) => {
|
||||
TyKind::Ref(region, mt) => {
|
||||
let region = region.unwrap_or_else(|| {
|
||||
let id = if let Some(LifetimeRes::ElidedAnchor { start, end }) =
|
||||
self.resolver.get_lifetime_res(t.id)
|
||||
|
@ -1252,7 +1252,7 @@ impl<'a, 'hir> LoweringContext<'a, 'hir> {
|
|||
Lifetime { ident: Ident::new(kw::UnderscoreLifetime, span), id }
|
||||
});
|
||||
let lifetime = self.lower_lifetime(®ion);
|
||||
hir::TyKind::Rptr(lifetime, self.lower_mt(mt, itctx))
|
||||
hir::TyKind::Ref(lifetime, self.lower_mt(mt, itctx))
|
||||
}
|
||||
TyKind::BareFn(f) => {
|
||||
let generic_params = self.lower_lifetime_binder(t.id, &f.generic_params);
|
||||
|
@ -1771,7 +1771,7 @@ impl<'a, 'hir> LoweringContext<'a, 'hir> {
|
|||
// Given we are only considering `ImplicitSelf` types, we needn't consider
|
||||
// the case where we have a mutable pattern to a reference as that would
|
||||
// no longer be an `ImplicitSelf`.
|
||||
TyKind::Rptr(_, mt) if mt.ty.kind.is_implicit_self() => match mt.mutbl {
|
||||
TyKind::Ref(_, mt) if mt.ty.kind.is_implicit_self() => match mt.mutbl {
|
||||
hir::Mutability::Not => hir::ImplicitSelfKind::ImmRef,
|
||||
hir::Mutability::Mut => hir::ImplicitSelfKind::MutRef,
|
||||
},
|
||||
|
|
|
@ -83,7 +83,7 @@ impl<'ast> Visitor<'ast> for LifetimeCollectVisitor<'ast> {
|
|||
visit::walk_ty(self, t);
|
||||
self.current_binders.pop();
|
||||
}
|
||||
TyKind::Rptr(None, _) => {
|
||||
TyKind::Ref(None, _) => {
|
||||
self.record_elided_anchor(t.id, t.span);
|
||||
visit::walk_ty(self, t);
|
||||
}
|
||||
|
|
|
@ -1025,7 +1025,7 @@ impl<'a> State<'a> {
|
|||
self.word("*");
|
||||
self.print_mt(mt, true);
|
||||
}
|
||||
ast::TyKind::Rptr(lifetime, mt) => {
|
||||
ast::TyKind::Ref(lifetime, mt) => {
|
||||
self.word("&");
|
||||
self.print_opt_lifetime(lifetime);
|
||||
self.print_mt(mt, false);
|
||||
|
|
|
@ -2681,7 +2681,7 @@ impl<'cx, 'tcx> MirBorrowckCtxt<'cx, 'tcx> {
|
|||
// Need to use the `rustc_middle::ty` types to compare against the
|
||||
// `return_region`. Then use the `rustc_hir` type to get only
|
||||
// the lifetime span.
|
||||
if let hir::TyKind::Rptr(lifetime, _) = &fn_decl.inputs[index].kind {
|
||||
if let hir::TyKind::Ref(lifetime, _) = &fn_decl.inputs[index].kind {
|
||||
// With access to the lifetime, we can get
|
||||
// the span of it.
|
||||
arguments.push((*argument, lifetime.ident.span));
|
||||
|
@ -2702,7 +2702,7 @@ impl<'cx, 'tcx> MirBorrowckCtxt<'cx, 'tcx> {
|
|||
let return_ty = sig.output().skip_binder();
|
||||
let mut return_span = fn_decl.output.span();
|
||||
if let hir::FnRetTy::Return(ty) = &fn_decl.output {
|
||||
if let hir::TyKind::Rptr(lifetime, _) = ty.kind {
|
||||
if let hir::TyKind::Ref(lifetime, _) = ty.kind {
|
||||
return_span = lifetime.ident.span;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1209,7 +1209,7 @@ fn get_mut_span_in_struct_field<'tcx>(
|
|||
// Now we're dealing with the actual struct that we're going to suggest a change to,
|
||||
// we can expect a field that is an immutable reference to a type.
|
||||
&& let hir::Node::Field(field) = node
|
||||
&& let hir::TyKind::Rptr(lt, hir::MutTy { mutbl: hir::Mutability::Not, ty }) = field.ty.kind
|
||||
&& let hir::TyKind::Ref(lt, hir::MutTy { mutbl: hir::Mutability::Not, ty }) = field.ty.kind
|
||||
{
|
||||
return Some(lt.ident.span.between(ty.span));
|
||||
}
|
||||
|
|
|
@ -493,10 +493,7 @@ impl<'tcx> MirBorrowckCtxt<'_, 'tcx> {
|
|||
//
|
||||
// &
|
||||
// - let's call the lifetime of this reference `'1`
|
||||
(
|
||||
ty::Ref(region, referent_ty, _),
|
||||
hir::TyKind::Rptr(_lifetime, referent_hir_ty),
|
||||
) => {
|
||||
(ty::Ref(region, referent_ty, _), hir::TyKind::Ref(_lifetime, referent_hir_ty)) => {
|
||||
if region.to_region_vid() == needle_fr {
|
||||
// Just grab the first character, the `&`.
|
||||
let source_map = self.infcx.tcx.sess.source_map();
|
||||
|
|
|
@ -117,8 +117,7 @@ fn show_substructure(cx: &mut ExtCtxt<'_>, span: Span, substr: &Substructure<'_>
|
|||
// `let names: &'static _ = &["field1", "field2"];`
|
||||
let names_let = if is_struct {
|
||||
let lt_static = Some(cx.lifetime_static(span));
|
||||
let ty_static_ref =
|
||||
cx.ty_rptr(span, cx.ty_infer(span), lt_static, ast::Mutability::Not);
|
||||
let ty_static_ref = cx.ty_ref(span, cx.ty_infer(span), lt_static, ast::Mutability::Not);
|
||||
Some(cx.stmt_let_ty(
|
||||
span,
|
||||
false,
|
||||
|
@ -138,13 +137,13 @@ fn show_substructure(cx: &mut ExtCtxt<'_>, span: Span, substr: &Substructure<'_>
|
|||
);
|
||||
let ty_slice = cx.ty(
|
||||
span,
|
||||
ast::TyKind::Slice(cx.ty_rptr(span, ty_dyn_debug, None, ast::Mutability::Not)),
|
||||
ast::TyKind::Slice(cx.ty_ref(span, ty_dyn_debug, None, ast::Mutability::Not)),
|
||||
);
|
||||
let values_let = cx.stmt_let_ty(
|
||||
span,
|
||||
false,
|
||||
Ident::new(sym::values, span),
|
||||
Some(cx.ty_rptr(span, ty_slice, None, ast::Mutability::Not)),
|
||||
Some(cx.ty_ref(span, ty_slice, None, ast::Mutability::Not)),
|
||||
cx.expr_array_ref(span, value_exprs),
|
||||
);
|
||||
|
||||
|
|
|
@ -97,7 +97,7 @@ impl Ty {
|
|||
match self {
|
||||
Ref(ty, mutbl) => {
|
||||
let raw_ty = ty.to_ty(cx, span, self_ty, self_generics);
|
||||
cx.ty_rptr(span, raw_ty, None, *mutbl)
|
||||
cx.ty_ref(span, raw_ty, None, *mutbl)
|
||||
}
|
||||
Path(p) => p.to_ty(cx, span, self_ty, self_generics),
|
||||
Self_ => cx.ty_path(self.to_path(cx, span, self_ty, self_generics)),
|
||||
|
|
|
@ -30,7 +30,7 @@ pub fn expand_option_env<'cx>(
|
|||
sp,
|
||||
true,
|
||||
cx.std_path(&[sym::option, sym::Option, sym::None]),
|
||||
vec![GenericArg::Type(cx.ty_rptr(
|
||||
vec![GenericArg::Type(cx.ty_ref(
|
||||
sp,
|
||||
cx.ty_ident(sp, Ident::new(sym::str, sp)),
|
||||
Some(lt),
|
||||
|
|
|
@ -349,7 +349,7 @@ fn mk_decls(cx: &mut ExtCtxt<'_>, macros: &[ProcMacro]) -> P<ast::Item> {
|
|||
.item_static(
|
||||
span,
|
||||
Ident::new(sym::_DECLS, span),
|
||||
cx.ty_rptr(
|
||||
cx.ty_ref(
|
||||
span,
|
||||
cx.ty(
|
||||
span,
|
||||
|
|
|
@ -87,14 +87,14 @@ impl<'a> ExtCtxt<'a> {
|
|||
self.anon_const(span, ast::ExprKind::Path(None, self.path_ident(span, ident)))
|
||||
}
|
||||
|
||||
pub fn ty_rptr(
|
||||
pub fn ty_ref(
|
||||
&self,
|
||||
span: Span,
|
||||
ty: P<ast::Ty>,
|
||||
lifetime: Option<ast::Lifetime>,
|
||||
mutbl: ast::Mutability,
|
||||
) -> P<ast::Ty> {
|
||||
self.ty(span, ast::TyKind::Rptr(lifetime, self.ty_mt(ty, mutbl)))
|
||||
self.ty(span, ast::TyKind::Ref(lifetime, self.ty_mt(ty, mutbl)))
|
||||
}
|
||||
|
||||
pub fn ty_ptr(&self, span: Span, ty: P<ast::Ty>, mutbl: ast::Mutability) -> P<ast::Ty> {
|
||||
|
|
|
@ -2431,7 +2431,7 @@ impl<'hir> Ty<'hir> {
|
|||
|
||||
pub fn peel_refs(&self) -> &Self {
|
||||
let mut final_ty = self;
|
||||
while let TyKind::Rptr(_, MutTy { ty, .. }) = &final_ty.kind {
|
||||
while let TyKind::Ref(_, MutTy { ty, .. }) = &final_ty.kind {
|
||||
final_ty = ty;
|
||||
}
|
||||
final_ty
|
||||
|
@ -2588,7 +2588,7 @@ pub enum TyKind<'hir> {
|
|||
/// A raw pointer (i.e., `*const T` or `*mut T`).
|
||||
Ptr(MutTy<'hir>),
|
||||
/// A reference (i.e., `&'a T` or `&'a mut T`).
|
||||
Rptr(&'hir Lifetime, MutTy<'hir>),
|
||||
Ref(&'hir Lifetime, MutTy<'hir>),
|
||||
/// A bare function (e.g., `fn(usize) -> bool`).
|
||||
BareFn(&'hir BareFnTy<'hir>),
|
||||
/// The never type (`!`).
|
||||
|
|
|
@ -809,7 +809,7 @@ pub fn walk_ty<'v, V: Visitor<'v>>(visitor: &mut V, typ: &'v Ty<'v>) {
|
|||
match typ.kind {
|
||||
TyKind::Slice(ref ty) => visitor.visit_ty(ty),
|
||||
TyKind::Ptr(ref mutable_type) => visitor.visit_ty(mutable_type.ty),
|
||||
TyKind::Rptr(ref lifetime, ref mutable_type) => {
|
||||
TyKind::Ref(ref lifetime, ref mutable_type) => {
|
||||
visitor.visit_lifetime(lifetime);
|
||||
visitor.visit_ty(mutable_type.ty)
|
||||
}
|
||||
|
|
|
@ -2657,7 +2657,7 @@ impl<'o, 'tcx> dyn AstConv<'tcx> + 'o {
|
|||
hir::TyKind::Ptr(ref mt) => {
|
||||
tcx.mk_ptr(ty::TypeAndMut { ty: self.ast_ty_to_ty(mt.ty), mutbl: mt.mutbl })
|
||||
}
|
||||
hir::TyKind::Rptr(ref region, ref mt) => {
|
||||
hir::TyKind::Ref(ref region, ref mt) => {
|
||||
let r = self.ast_region_to_region(region, None);
|
||||
debug!(?r);
|
||||
let t = self.ast_ty_to_ty_inner(mt.ty, true, false);
|
||||
|
|
|
@ -291,7 +291,7 @@ fn check_trait_item(tcx: TyCtxt<'_>, trait_item: &hir::TraitItem<'_>) {
|
|||
// Do some rudimentary sanity checking to avoid an ICE later (issue #83471).
|
||||
if let Some(hir::FnSig { decl, span, .. }) = method_sig {
|
||||
if let [self_ty, _] = decl.inputs {
|
||||
if !matches!(self_ty.kind, hir::TyKind::Rptr(_, _)) {
|
||||
if !matches!(self_ty.kind, hir::TyKind::Ref(_, _)) {
|
||||
tcx.sess
|
||||
.struct_span_err(
|
||||
self_ty.span,
|
||||
|
|
|
@ -1063,7 +1063,7 @@ fn is_suggestable_infer_ty(ty: &hir::Ty<'_>) -> bool {
|
|||
is_suggestable_infer_ty(ty) || matches!(length, hir::ArrayLen::Infer(_, _))
|
||||
}
|
||||
Tup(tys) => tys.iter().any(is_suggestable_infer_ty),
|
||||
Ptr(mut_ty) | Rptr(_, mut_ty) => is_suggestable_infer_ty(mut_ty.ty),
|
||||
Ptr(mut_ty) | Ref(_, mut_ty) => is_suggestable_infer_ty(mut_ty.ty),
|
||||
OpaqueDef(_, generic_args, _) => are_suggestable_generic_args(generic_args),
|
||||
Path(hir::QPath::TypeRelative(ty, segment)) => {
|
||||
is_suggestable_infer_ty(ty) || are_suggestable_generic_args(segment.args().args)
|
||||
|
|
|
@ -617,7 +617,7 @@ impl<'a, 'tcx> Visitor<'tcx> for LifetimeContext<'a, 'tcx> {
|
|||
LifetimeName::Error => {}
|
||||
}
|
||||
}
|
||||
hir::TyKind::Rptr(ref lifetime_ref, ref mt) => {
|
||||
hir::TyKind::Ref(ref lifetime_ref, ref mt) => {
|
||||
self.visit_lifetime(lifetime_ref);
|
||||
let scope = Scope::ObjectLifetimeDefault {
|
||||
lifetime: self.map.defs.get(&lifetime_ref.hir_id).cloned(),
|
||||
|
|
|
@ -307,7 +307,7 @@ impl<'a> State<'a> {
|
|||
self.word("*");
|
||||
self.print_mt(mt, true);
|
||||
}
|
||||
hir::TyKind::Rptr(ref lifetime, ref mt) => {
|
||||
hir::TyKind::Ref(ref lifetime, ref mt) => {
|
||||
self.word("&");
|
||||
self.print_opt_lifetime(lifetime);
|
||||
self.print_mt(mt, false);
|
||||
|
|
|
@ -1921,7 +1921,7 @@ impl<'a, 'tcx> FnCtxt<'a, 'tcx> {
|
|||
) -> Ty<'tcx> {
|
||||
let tcx = self.tcx;
|
||||
let expected = self.shallow_resolve(expected);
|
||||
let (rptr_ty, inner_ty) = if self.check_dereferenceable(pat.span, expected, inner) {
|
||||
let (ref_ty, inner_ty) = if self.check_dereferenceable(pat.span, expected, inner) {
|
||||
// `demand::subtype` would be good enough, but using `eqtype` turns
|
||||
// out to be equally general. See (note_1) for details.
|
||||
|
||||
|
@ -1936,9 +1936,9 @@ impl<'a, 'tcx> FnCtxt<'a, 'tcx> {
|
|||
kind: TypeVariableOriginKind::TypeInference,
|
||||
span: inner.span,
|
||||
});
|
||||
let rptr_ty = self.new_ref_ty(pat.span, mutbl, inner_ty);
|
||||
debug!("check_pat_ref: demanding {:?} = {:?}", expected, rptr_ty);
|
||||
let err = self.demand_eqtype_pat_diag(pat.span, expected, rptr_ty, ti);
|
||||
let ref_ty = self.new_ref_ty(pat.span, mutbl, inner_ty);
|
||||
debug!("check_pat_ref: demanding {:?} = {:?}", expected, ref_ty);
|
||||
let err = self.demand_eqtype_pat_diag(pat.span, expected, ref_ty, ti);
|
||||
|
||||
// Look for a case like `fn foo(&foo: u32)` and suggest
|
||||
// `fn foo(foo: &u32)`
|
||||
|
@ -1946,7 +1946,7 @@ impl<'a, 'tcx> FnCtxt<'a, 'tcx> {
|
|||
self.borrow_pat_suggestion(&mut err, pat);
|
||||
err.emit();
|
||||
}
|
||||
(rptr_ty, inner_ty)
|
||||
(ref_ty, inner_ty)
|
||||
}
|
||||
}
|
||||
} else {
|
||||
|
@ -1954,7 +1954,7 @@ impl<'a, 'tcx> FnCtxt<'a, 'tcx> {
|
|||
(err, err)
|
||||
};
|
||||
self.check_pat(inner, inner_ty, def_bm, ti);
|
||||
rptr_ty
|
||||
ref_ty
|
||||
}
|
||||
|
||||
/// Create a reference type with a fresh region variable.
|
||||
|
|
|
@ -369,8 +369,8 @@ impl AddToDiagnostic for AddLifetimeParamsSuggestion<'_> {
|
|||
{
|
||||
let mut mk_suggestion = || {
|
||||
let (
|
||||
hir::Ty { kind: hir::TyKind::Rptr(lifetime_sub, _), .. },
|
||||
hir::Ty { kind: hir::TyKind::Rptr(lifetime_sup, _), .. },
|
||||
hir::Ty { kind: hir::TyKind::Ref(lifetime_sub, _), .. },
|
||||
hir::Ty { kind: hir::TyKind::Ref(lifetime_sup, _), .. },
|
||||
) = (self.ty_sub, self.ty_sup) else {
|
||||
return false;
|
||||
};
|
||||
|
|
|
@ -96,8 +96,8 @@ impl<'tcx> Visitor<'tcx> for FindNestedTypeVisitor<'tcx> {
|
|||
}
|
||||
}
|
||||
|
||||
hir::TyKind::Rptr(ref lifetime, _) => {
|
||||
// the lifetime of the TyRptr
|
||||
hir::TyKind::Ref(ref lifetime, _) => {
|
||||
// the lifetime of the Ref
|
||||
let hir_id = lifetime.hir_id;
|
||||
match (self.tcx.named_region(hir_id), self.bound_region) {
|
||||
// Find the index of the named region that was part of the
|
||||
|
|
|
@ -147,7 +147,7 @@ impl<'tcx> Visitor<'tcx> for TypeParamSpanVisitor<'tcx> {
|
|||
|
||||
fn visit_ty(&mut self, arg: &'tcx hir::Ty<'tcx>) {
|
||||
match arg.kind {
|
||||
hir::TyKind::Rptr(_, ref mut_ty) => {
|
||||
hir::TyKind::Ref(_, ref mut_ty) => {
|
||||
// We don't want to suggest looking into borrowing `&T` or `&Self`.
|
||||
hir::intravisit::walk_ty(self, mut_ty.ty);
|
||||
return;
|
||||
|
|
|
@ -22,7 +22,7 @@ declare_lint_pass!(PassByValue => [PASS_BY_VALUE]);
|
|||
impl<'tcx> LateLintPass<'tcx> for PassByValue {
|
||||
fn check_ty(&mut self, cx: &LateContext<'_>, ty: &'tcx hir::Ty<'tcx>) {
|
||||
match &ty.kind {
|
||||
TyKind::Rptr(_, hir::MutTy { ty: inner_ty, mutbl: hir::Mutability::Not }) => {
|
||||
TyKind::Ref(_, hir::MutTy { ty: inner_ty, mutbl: hir::Mutability::Not }) => {
|
||||
if let Some(impl_did) = cx.tcx.impl_of_method(ty.hir_id.owner.to_def_id()) {
|
||||
if cx.tcx.impl_trait_ref(impl_did).is_some() {
|
||||
return;
|
||||
|
|
|
@ -1229,7 +1229,7 @@ impl<'a> Parser<'a> {
|
|||
let sum_span = ty.span.to(self.prev_token.span);
|
||||
|
||||
let sub = match &ty.kind {
|
||||
TyKind::Rptr(lifetime, mut_ty) => {
|
||||
TyKind::Ref(lifetime, mut_ty) => {
|
||||
let sum_with_parens = pprust::to_string(|s| {
|
||||
s.s.word("&");
|
||||
s.print_opt_lifetime(lifetime);
|
||||
|
|
|
@ -504,7 +504,7 @@ impl<'a> Parser<'a> {
|
|||
self.bump_with((dyn_tok, dyn_tok_sp));
|
||||
}
|
||||
let ty = self.parse_ty_no_plus()?;
|
||||
Ok(TyKind::Rptr(opt_lifetime, MutTy { ty, mutbl }))
|
||||
Ok(TyKind::Ref(opt_lifetime, MutTy { ty, mutbl }))
|
||||
}
|
||||
|
||||
// Parses the `typeof(EXPR)`.
|
||||
|
|
|
@ -324,7 +324,7 @@ impl<'v> hir_visit::Visitor<'v> for StatCollector<'v> {
|
|||
Slice,
|
||||
Array,
|
||||
Ptr,
|
||||
Rptr,
|
||||
Ref,
|
||||
BareFn,
|
||||
Never,
|
||||
Tup,
|
||||
|
@ -580,7 +580,7 @@ impl<'v> ast_visit::Visitor<'v> for StatCollector<'v> {
|
|||
Slice,
|
||||
Array,
|
||||
Ptr,
|
||||
Rptr,
|
||||
Ref,
|
||||
BareFn,
|
||||
Never,
|
||||
Tup,
|
||||
|
|
|
@ -651,7 +651,7 @@ impl<'a: 'ast, 'ast> Visitor<'ast> for LateResolutionVisitor<'a, '_, 'ast> {
|
|||
let prev = self.diagnostic_metadata.current_trait_object;
|
||||
let prev_ty = self.diagnostic_metadata.current_type_path;
|
||||
match ty.kind {
|
||||
TyKind::Rptr(None, _) => {
|
||||
TyKind::Ref(None, _) => {
|
||||
// Elided lifetime in reference: we resolve as if there was some lifetime `'_` with
|
||||
// NodeId `ty.id`.
|
||||
// This span will be used in case of elision failure.
|
||||
|
@ -2004,7 +2004,7 @@ impl<'a: 'ast, 'b, 'ast> LateResolutionVisitor<'a, 'b, 'ast> {
|
|||
impl<'a> Visitor<'a> for SelfVisitor<'_, '_> {
|
||||
fn visit_ty(&mut self, ty: &'a Ty) {
|
||||
trace!("SelfVisitor considering ty={:?}", ty);
|
||||
if let TyKind::Rptr(lt, ref mt) = ty.kind && self.is_self_ty(&mt.ty) {
|
||||
if let TyKind::Ref(lt, ref mt) = ty.kind && self.is_self_ty(&mt.ty) {
|
||||
let lt_id = if let Some(lt) = lt {
|
||||
lt.id
|
||||
} else {
|
||||
|
|
|
@ -1554,7 +1554,7 @@ impl<'a: 'ast, 'ast> LateResolutionVisitor<'a, '_, 'ast> {
|
|||
fn extract_node_id(t: &Ty) -> Option<NodeId> {
|
||||
match t.kind {
|
||||
TyKind::Path(None, _) => Some(t.id),
|
||||
TyKind::Rptr(_, ref mut_ty) => extract_node_id(&mut_ty.ty),
|
||||
TyKind::Ref(_, ref mut_ty) => extract_node_id(&mut_ty.ty),
|
||||
// This doesn't handle the remaining `Ty` variants as they are not
|
||||
// that commonly the self_type, it might be interesting to provide
|
||||
// support for those in future.
|
||||
|
@ -2189,7 +2189,7 @@ impl<'a: 'ast, 'ast> LateResolutionVisitor<'a, '_, 'ast> {
|
|||
Some(LifetimeUseSet::One { use_span, use_ctxt }) => {
|
||||
debug!(?param.ident, ?param.ident.span, ?use_span);
|
||||
|
||||
let elidable = matches!(use_ctxt, LifetimeCtxt::Rptr);
|
||||
let elidable = matches!(use_ctxt, LifetimeCtxt::Ref);
|
||||
|
||||
let deletion_span = deletion_span();
|
||||
self.r.lint_buffer.buffer_lint_with_diagnostic(
|
||||
|
|
|
@ -165,7 +165,7 @@ impl<'hir> Sig for hir::Ty<'hir> {
|
|||
let text = format!("{}{}", prefix, nested.text);
|
||||
Ok(replace_text(nested, text))
|
||||
}
|
||||
hir::TyKind::Rptr(ref lifetime, ref mt) => {
|
||||
hir::TyKind::Ref(ref lifetime, ref mt) => {
|
||||
let mut prefix = "&".to_owned();
|
||||
prefix.push_str(&lifetime.ident.to_string());
|
||||
prefix.push(' ');
|
||||
|
|
|
@ -2771,7 +2771,7 @@ impl<'v> Visitor<'v> for FindTypeParam {
|
|||
// and suggest `T: ?Sized` regardless of their obligations. This is fine because the errors
|
||||
// in that case should make what happened clear enough.
|
||||
match ty.kind {
|
||||
hir::TyKind::Ptr(_) | hir::TyKind::Rptr(..) | hir::TyKind::TraitObject(..) => {}
|
||||
hir::TyKind::Ptr(_) | hir::TyKind::Ref(..) | hir::TyKind::TraitObject(..) => {}
|
||||
hir::TyKind::Path(hir::QPath::Resolved(None, path))
|
||||
if path.segments.len() == 1 && path.segments[0].ident.name == self.param =>
|
||||
{
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue