mirror of
https://github.com/rust-lang/rust.git
synced 2025-02-05 19:43:24 +00:00
have borrowck fetch MIR, which will perform some errors
This commit is contained in:
parent
15bc2f4ca0
commit
e6793ac452
@ -109,6 +109,16 @@ fn borrowck<'a, 'tcx>(tcx: TyCtxt<'a, 'tcx, 'tcx>, owner_def_id: DefId) {
|
||||
|
||||
if bccx.tcx.has_attr(owner_def_id, "rustc_mir_borrowck") {
|
||||
mir::borrowck_mir(bccx, owner_id, &attributes);
|
||||
} else {
|
||||
// Eventually, borrowck will always read the MIR, but at the
|
||||
// moment we do not. So, for now, we always force MIR to be
|
||||
// constructed for a given fn, since this may result in errors
|
||||
// being reported and we want that to happen.
|
||||
//
|
||||
// Note that `mir_validated` is a "stealable" result; the
|
||||
// thief, `optimized_mir()`, forces borrowck, so we know that
|
||||
// is not yet stolen.
|
||||
tcx.mir_validated(owner_def_id).borrow();
|
||||
}
|
||||
|
||||
let cfg = cfg::CFG::new(bccx.tcx, &body);
|
||||
|
Loading…
Reference in New Issue
Block a user