This commit is contained in:
parent
f7bdead5ec
commit
4352c8555b
@ -229,7 +229,7 @@ fn lint_for_missing_headers<'a, 'tcx>(
|
|||||||
if let Some(body_id) = body_id;
|
if let Some(body_id) = body_id;
|
||||||
if let Some(future) = cx.tcx.lang_items().future_trait();
|
if let Some(future) = cx.tcx.lang_items().future_trait();
|
||||||
let def_id = cx.tcx.hir().body_owner_def_id(body_id);
|
let def_id = cx.tcx.hir().body_owner_def_id(body_id);
|
||||||
let mir = cx.tcx.optimized_mir(def_id);
|
let mir = cx.tcx.optimized_mir(def_id.to_def_id());
|
||||||
let ret_ty = mir.return_ty();
|
let ret_ty = mir.return_ty();
|
||||||
if implements_trait(cx, ret_ty, future, &[]);
|
if implements_trait(cx, ret_ty, future, &[]);
|
||||||
if let ty::Opaque(_, subs) = ret_ty.kind;
|
if let ty::Opaque(_, subs) = ret_ty.kind;
|
||||||
|
@ -46,10 +46,10 @@ fn check_item(&mut self, cx: &LateContext<'a, 'tcx>, item: &'tcx Item<'_>) {
|
|||||||
for var in def.variants {
|
for var in def.variants {
|
||||||
if let Some(anon_const) = &var.disr_expr {
|
if let Some(anon_const) = &var.disr_expr {
|
||||||
let def_id = cx.tcx.hir().body_owner_def_id(anon_const.body);
|
let def_id = cx.tcx.hir().body_owner_def_id(anon_const.body);
|
||||||
let mut ty = cx.tcx.type_of(def_id);
|
let mut ty = cx.tcx.type_of(def_id.to_def_id());
|
||||||
let constant = cx
|
let constant = cx
|
||||||
.tcx
|
.tcx
|
||||||
.const_eval_poly(def_id)
|
.const_eval_poly(def_id.to_def_id())
|
||||||
.ok()
|
.ok()
|
||||||
.map(|val| rustc_middle::ty::Const::from_value(cx.tcx, val, ty));
|
.map(|val| rustc_middle::ty::Const::from_value(cx.tcx, val, ty));
|
||||||
if let Some(Constant::Int(val)) = constant.and_then(miri_to_const) {
|
if let Some(Constant::Int(val)) = constant.and_then(miri_to_const) {
|
||||||
|
@ -135,11 +135,11 @@ fn check_fn(
|
|||||||
let def_id = cx.tcx.hir().body_owner_def_id(body.id());
|
let def_id = cx.tcx.hir().body_owner_def_id(body.id());
|
||||||
|
|
||||||
// Building MIR for `fn`s with unsatisfiable preds results in ICE.
|
// Building MIR for `fn`s with unsatisfiable preds results in ICE.
|
||||||
if fn_has_unsatisfiable_preds(cx, def_id) {
|
if fn_has_unsatisfiable_preds(cx, def_id.to_def_id()) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
let mir = cx.tcx.optimized_mir(def_id);
|
let mir = cx.tcx.optimized_mir(def_id.to_def_id());
|
||||||
|
|
||||||
// checking return type through MIR, HIR is not able to determine inferred closure return types
|
// checking return type through MIR, HIR is not able to determine inferred closure return types
|
||||||
// make sure it's not a macro
|
// make sure it's not a macro
|
||||||
|
@ -80,15 +80,15 @@ fn check_fn(
|
|||||||
let def_id = cx.tcx.hir().body_owner_def_id(body.id());
|
let def_id = cx.tcx.hir().body_owner_def_id(body.id());
|
||||||
|
|
||||||
// Building MIR for `fn`s with unsatisfiable preds results in ICE.
|
// Building MIR for `fn`s with unsatisfiable preds results in ICE.
|
||||||
if fn_has_unsatisfiable_preds(cx, def_id) {
|
if fn_has_unsatisfiable_preds(cx, def_id.to_def_id()) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
let mir = cx.tcx.optimized_mir(def_id);
|
let mir = cx.tcx.optimized_mir(def_id.to_def_id());
|
||||||
let mir_read_only = mir.unwrap_read_only();
|
let mir_read_only = mir.unwrap_read_only();
|
||||||
|
|
||||||
let maybe_storage_live_result = MaybeStorageLive
|
let maybe_storage_live_result = MaybeStorageLive
|
||||||
.into_engine(cx.tcx, mir, def_id)
|
.into_engine(cx.tcx, mir, def_id.to_def_id())
|
||||||
.iterate_to_fixpoint()
|
.iterate_to_fixpoint()
|
||||||
.into_results_cursor(mir);
|
.into_results_cursor(mir);
|
||||||
let mut possible_borrower = {
|
let mut possible_borrower = {
|
||||||
|
Loading…
Reference in New Issue
Block a user