mirror of
https://github.com/rust-lang/rust-clippy
synced 2024-11-27 15:11:30 +00:00
Move TyCtxt::mk_x
to Ty::new_x
where applicable
This commit is contained in:
parent
406241832e
commit
cbe468222a
11 changed files with 18 additions and 17 deletions
|
@ -61,7 +61,7 @@ fn is_impl_not_trait_with_bool_out<'tcx>(cx: &LateContext<'tcx>, ty: Ty<'tcx>) -
|
||||||
)
|
)
|
||||||
})
|
})
|
||||||
.map_or(false, |assoc_item| {
|
.map_or(false, |assoc_item| {
|
||||||
let proj = cx.tcx.mk_projection(assoc_item.def_id, cx.tcx.mk_substs_trait(ty, []));
|
let proj = Ty::new_projection(cx.tcx,assoc_item.def_id, cx.tcx.mk_substs_trait(ty, []));
|
||||||
let nty = cx.tcx.normalize_erasing_regions(cx.param_env, proj);
|
let nty = cx.tcx.normalize_erasing_regions(cx.param_env, proj);
|
||||||
|
|
||||||
nty.is_bool()
|
nty.is_bool()
|
||||||
|
|
|
@ -149,7 +149,7 @@ fn is_ref_iterable<'tcx>(
|
||||||
let self_ty = if mutbl.is_mut() {
|
let self_ty = if mutbl.is_mut() {
|
||||||
self_ty
|
self_ty
|
||||||
} else {
|
} else {
|
||||||
cx.tcx.mk_ref(region, TypeAndMut { ty, mutbl })
|
Ty::new_ref(cx.tcx,region, TypeAndMut { ty, mutbl })
|
||||||
};
|
};
|
||||||
if implements_trait(cx, self_ty, trait_id, &[])
|
if implements_trait(cx, self_ty, trait_id, &[])
|
||||||
&& let Some(ty) =
|
&& let Some(ty) =
|
||||||
|
@ -164,7 +164,7 @@ fn is_ref_iterable<'tcx>(
|
||||||
&& !self_ty.is_ref()
|
&& !self_ty.is_ref()
|
||||||
{
|
{
|
||||||
// Attempt to borrow
|
// Attempt to borrow
|
||||||
let self_ty = cx.tcx.mk_ref(cx.tcx.lifetimes.re_erased, TypeAndMut {
|
let self_ty = Ty::new_ref(cx.tcx,cx.tcx.lifetimes.re_erased, TypeAndMut {
|
||||||
ty: self_ty,
|
ty: self_ty,
|
||||||
mutbl,
|
mutbl,
|
||||||
});
|
});
|
||||||
|
|
|
@ -215,7 +215,7 @@ fn iterates_same_ty<'tcx>(cx: &LateContext<'tcx>, iter_ty: Ty<'tcx>, collect_ty:
|
||||||
&& let Some(into_iter_item_proj) = make_projection(cx.tcx, into_iter_trait, item, [collect_ty])
|
&& let Some(into_iter_item_proj) = make_projection(cx.tcx, into_iter_trait, item, [collect_ty])
|
||||||
&& let Ok(into_iter_item_ty) = cx.tcx.try_normalize_erasing_regions(
|
&& let Ok(into_iter_item_ty) = cx.tcx.try_normalize_erasing_regions(
|
||||||
cx.param_env,
|
cx.param_env,
|
||||||
cx.tcx.mk_projection(into_iter_item_proj.def_id, into_iter_item_proj.substs)
|
Ty::new_projection(cx.tcx,into_iter_item_proj.def_id, into_iter_item_proj.substs)
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
iter_item_ty == into_iter_item_ty
|
iter_item_ty == into_iter_item_ty
|
||||||
|
@ -238,7 +238,7 @@ fn is_contains_sig(cx: &LateContext<'_>, call_id: HirId, iter_expr: &Expr<'_>) -
|
||||||
.associated_items(iter_trait)
|
.associated_items(iter_trait)
|
||||||
.find_by_name_and_kind(cx.tcx, Ident::with_dummy_span(Symbol::intern("Item")), AssocKind::Type, iter_trait)
|
.find_by_name_and_kind(cx.tcx, Ident::with_dummy_span(Symbol::intern("Item")), AssocKind::Type, iter_trait)
|
||||||
&& let substs = cx.tcx.mk_substs(&[GenericArg::from(typeck.expr_ty_adjusted(iter_expr))])
|
&& let substs = cx.tcx.mk_substs(&[GenericArg::from(typeck.expr_ty_adjusted(iter_expr))])
|
||||||
&& let proj_ty = cx.tcx.mk_projection(iter_item.def_id, substs)
|
&& let proj_ty = Ty::new_projection(cx.tcx,iter_item.def_id, substs)
|
||||||
&& let Ok(item_ty) = cx.tcx.try_normalize_erasing_regions(cx.param_env, proj_ty)
|
&& let Ok(item_ty) = cx.tcx.try_normalize_erasing_regions(cx.param_env, proj_ty)
|
||||||
{
|
{
|
||||||
item_ty == EarlyBinder::bind(search_ty).subst(cx.tcx, cx.typeck_results().node_substs(call_id))
|
item_ty == EarlyBinder::bind(search_ty).subst(cx.tcx, cx.typeck_results().node_substs(call_id))
|
||||||
|
|
|
@ -270,7 +270,7 @@ fn check_other_call_arg<'tcx>(
|
||||||
if let Some((n_refs, receiver_ty)) = if n_refs > 0 || is_copy(cx, receiver_ty) {
|
if let Some((n_refs, receiver_ty)) = if n_refs > 0 || is_copy(cx, receiver_ty) {
|
||||||
Some((n_refs, receiver_ty))
|
Some((n_refs, receiver_ty))
|
||||||
} else if trait_predicate.def_id() != deref_trait_id {
|
} else if trait_predicate.def_id() != deref_trait_id {
|
||||||
Some((1, cx.tcx.mk_ref(
|
Some((1, Ty::new_ref(cx.tcx,
|
||||||
cx.tcx.lifetimes.re_erased,
|
cx.tcx.lifetimes.re_erased,
|
||||||
ty::TypeAndMut {
|
ty::TypeAndMut {
|
||||||
ty: receiver_ty,
|
ty: receiver_ty,
|
||||||
|
|
|
@ -17,7 +17,7 @@ use rustc_hir_typeck::expr_use_visitor as euv;
|
||||||
use rustc_infer::infer::TyCtxtInferExt;
|
use rustc_infer::infer::TyCtxtInferExt;
|
||||||
use rustc_lint::{LateContext, LateLintPass};
|
use rustc_lint::{LateContext, LateLintPass};
|
||||||
use rustc_middle::mir::FakeReadCause;
|
use rustc_middle::mir::FakeReadCause;
|
||||||
use rustc_middle::ty::{self, TypeVisitableExt};
|
use rustc_middle::ty::{self, TypeVisitableExt, Ty};
|
||||||
use rustc_session::{declare_lint_pass, declare_tool_lint};
|
use rustc_session::{declare_lint_pass, declare_tool_lint};
|
||||||
use rustc_span::def_id::LocalDefId;
|
use rustc_span::def_id::LocalDefId;
|
||||||
use rustc_span::symbol::kw;
|
use rustc_span::symbol::kw;
|
||||||
|
@ -168,7 +168,7 @@ impl<'tcx> LateLintPass<'tcx> for NeedlessPassByValue {
|
||||||
(
|
(
|
||||||
preds.iter().any(|t| cx.tcx.is_diagnostic_item(sym::Borrow, t.def_id())),
|
preds.iter().any(|t| cx.tcx.is_diagnostic_item(sym::Borrow, t.def_id())),
|
||||||
!preds.is_empty() && {
|
!preds.is_empty() && {
|
||||||
let ty_empty_region = cx.tcx.mk_imm_ref(cx.tcx.lifetimes.re_erased, ty);
|
let ty_empty_region = Ty::new_imm_ref(cx.tcx,cx.tcx.lifetimes.re_erased, ty);
|
||||||
preds.iter().all(|t| {
|
preds.iter().all(|t| {
|
||||||
let ty_params = t.trait_ref.substs.iter().skip(1).collect::<Vec<_>>();
|
let ty_params = t.trait_ref.substs.iter().skip(1).collect::<Vec<_>>();
|
||||||
implements_trait(cx, ty_empty_region, t.def_id(), &ty_params)
|
implements_trait(cx, ty_empty_region, t.def_id(), &ty_params)
|
||||||
|
|
|
@ -389,11 +389,11 @@ impl<'tcx> DerefTy<'tcx> {
|
||||||
fn ty(&self, cx: &LateContext<'tcx>) -> Ty<'tcx> {
|
fn ty(&self, cx: &LateContext<'tcx>) -> Ty<'tcx> {
|
||||||
match *self {
|
match *self {
|
||||||
Self::Str => cx.tcx.types.str_,
|
Self::Str => cx.tcx.types.str_,
|
||||||
Self::Path => cx.tcx.mk_adt(
|
Self::Path => Ty::new_adt(cx.tcx,
|
||||||
cx.tcx.adt_def(cx.tcx.get_diagnostic_item(sym::Path).unwrap()),
|
cx.tcx.adt_def(cx.tcx.get_diagnostic_item(sym::Path).unwrap()),
|
||||||
List::empty(),
|
List::empty(),
|
||||||
),
|
),
|
||||||
Self::Slice(_, ty) => cx.tcx.mk_slice(ty),
|
Self::Slice(_, ty) => Ty::new_slice(cx.tcx,ty),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -7,6 +7,7 @@ use rustc_ast::util::parser::PREC_PREFIX;
|
||||||
use rustc_errors::Applicability;
|
use rustc_errors::Applicability;
|
||||||
use rustc_hir::{BorrowKind, Expr, ExprKind, LangItem, Mutability};
|
use rustc_hir::{BorrowKind, Expr, ExprKind, LangItem, Mutability};
|
||||||
use rustc_lint::{LateContext, LateLintPass, Lint};
|
use rustc_lint::{LateContext, LateLintPass, Lint};
|
||||||
|
use rustc_middle::ty::Ty;
|
||||||
use rustc_middle::ty::adjustment::{Adjust, AutoBorrow, AutoBorrowMutability};
|
use rustc_middle::ty::adjustment::{Adjust, AutoBorrow, AutoBorrowMutability};
|
||||||
use rustc_middle::ty::subst::GenericArg;
|
use rustc_middle::ty::subst::GenericArg;
|
||||||
use rustc_session::{declare_lint_pass, declare_tool_lint};
|
use rustc_session::{declare_lint_pass, declare_tool_lint};
|
||||||
|
@ -134,7 +135,7 @@ impl<'tcx> LateLintPass<'tcx> for RedundantSlicing {
|
||||||
} else if let Some(target_id) = cx.tcx.lang_items().deref_target() {
|
} else if let Some(target_id) = cx.tcx.lang_items().deref_target() {
|
||||||
if let Ok(deref_ty) = cx.tcx.try_normalize_erasing_regions(
|
if let Ok(deref_ty) = cx.tcx.try_normalize_erasing_regions(
|
||||||
cx.param_env,
|
cx.param_env,
|
||||||
cx.tcx.mk_projection(target_id, cx.tcx.mk_substs(&[GenericArg::from(indexed_ty)])),
|
Ty::new_projection(cx.tcx,target_id, cx.tcx.mk_substs(&[GenericArg::from(indexed_ty)])),
|
||||||
) {
|
) {
|
||||||
if deref_ty == expr_ty {
|
if deref_ty == expr_ty {
|
||||||
let snip = snippet_with_context(cx, indexed.span, ctxt, "..", &mut app).0;
|
let snip = snippet_with_context(cx, indexed.span, ctxt, "..", &mut app).0;
|
||||||
|
|
|
@ -24,7 +24,7 @@ pub(super) fn check<'tcx>(
|
||||||
"transmute from a pointer to a pointer",
|
"transmute from a pointer to a pointer",
|
||||||
|diag| {
|
|diag| {
|
||||||
if let Some(arg) = sugg::Sugg::hir_opt(cx, arg) {
|
if let Some(arg) = sugg::Sugg::hir_opt(cx, arg) {
|
||||||
let sugg = arg.as_ty(cx.tcx.mk_ptr(*to_ty));
|
let sugg = arg.as_ty(Ty::new_ptr(cx.tcx,*to_ty));
|
||||||
diag.span_suggestion(e.span, "try", sugg, Applicability::Unspecified);
|
diag.span_suggestion(e.span, "try", sugg, Applicability::Unspecified);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
|
@ -64,8 +64,8 @@ pub(super) fn check<'tcx>(
|
||||||
};
|
};
|
||||||
let ty_to_and_mut = ty::TypeAndMut { ty: *ty_to, mutbl: *to_mutbl };
|
let ty_to_and_mut = ty::TypeAndMut { ty: *ty_to, mutbl: *to_mutbl };
|
||||||
let sugg_paren = arg
|
let sugg_paren = arg
|
||||||
.as_ty(cx.tcx.mk_ptr(ty_from_and_mut))
|
.as_ty(Ty::new_ptr(cx.tcx,ty_from_and_mut))
|
||||||
.as_ty(cx.tcx.mk_ptr(ty_to_and_mut));
|
.as_ty(Ty::new_ptr(cx.tcx,ty_to_and_mut));
|
||||||
let sugg = if *to_mutbl == Mutability::Mut {
|
let sugg = if *to_mutbl == Mutability::Mut {
|
||||||
sugg_paren.mut_addr_deref()
|
sugg_paren.mut_addr_deref()
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -43,7 +43,7 @@ pub(super) fn check<'tcx>(
|
||||||
let sugg = if *ptr_ty == rty_and_mut {
|
let sugg = if *ptr_ty == rty_and_mut {
|
||||||
arg.as_ty(to_ty)
|
arg.as_ty(to_ty)
|
||||||
} else {
|
} else {
|
||||||
arg.as_ty(cx.tcx.mk_ptr(rty_and_mut)).as_ty(to_ty)
|
arg.as_ty(Ty::new_ptr(cx.tcx,rty_and_mut)).as_ty(to_ty)
|
||||||
};
|
};
|
||||||
|
|
||||||
diag.span_suggestion(e.span, "try", sugg, Applicability::Unspecified);
|
diag.span_suggestion(e.span, "try", sugg, Applicability::Unspecified);
|
||||||
|
|
|
@ -1124,7 +1124,7 @@ pub fn make_normalized_projection<'tcx>(
|
||||||
);
|
);
|
||||||
return None;
|
return None;
|
||||||
}
|
}
|
||||||
match tcx.try_normalize_erasing_regions(param_env, tcx.mk_projection(ty.def_id, ty.substs)) {
|
match tcx.try_normalize_erasing_regions(param_env, Ty::new_projection(tcx,ty.def_id, ty.substs)) {
|
||||||
Ok(ty) => Some(ty),
|
Ok(ty) => Some(ty),
|
||||||
Err(e) => {
|
Err(e) => {
|
||||||
debug_assert!(false, "failed to normalize type `{ty}`: {e:#?}");
|
debug_assert!(false, "failed to normalize type `{ty}`: {e:#?}");
|
||||||
|
@ -1207,7 +1207,7 @@ pub fn make_normalized_projection_with_regions<'tcx>(
|
||||||
.infer_ctxt()
|
.infer_ctxt()
|
||||||
.build()
|
.build()
|
||||||
.at(&cause, param_env)
|
.at(&cause, param_env)
|
||||||
.query_normalize(tcx.mk_projection(ty.def_id, ty.substs))
|
.query_normalize(Ty::new_projection(tcx,ty.def_id, ty.substs))
|
||||||
{
|
{
|
||||||
Ok(ty) => Some(ty.value),
|
Ok(ty) => Some(ty.value),
|
||||||
Err(e) => {
|
Err(e) => {
|
||||||
|
|
Loading…
Reference in a new issue