Rollup merge of #57219 - matthewjasper:mir-cleanup, r=nikomatsakis
Remove some unused code Closes #57096
This commit is contained in:
commit
aa83481a5c
@ -477,22 +477,6 @@ impl_stable_hash_for!(enum mir::interpret::InboundsCheck {
|
|||||||
MaybeDead
|
MaybeDead
|
||||||
});
|
});
|
||||||
|
|
||||||
impl_stable_hash_for!(enum mir::interpret::Lock {
|
|
||||||
NoLock,
|
|
||||||
WriteLock(dl),
|
|
||||||
ReadLock(v)
|
|
||||||
});
|
|
||||||
|
|
||||||
impl_stable_hash_for!(struct mir::interpret::DynamicLifetime {
|
|
||||||
frame,
|
|
||||||
region
|
|
||||||
});
|
|
||||||
|
|
||||||
impl_stable_hash_for!(enum mir::interpret::AccessKind {
|
|
||||||
Read,
|
|
||||||
Write
|
|
||||||
});
|
|
||||||
|
|
||||||
impl_stable_hash_for!(enum ty::Variance {
|
impl_stable_hash_for!(enum ty::Variance {
|
||||||
Covariant,
|
Covariant,
|
||||||
Invariant,
|
Invariant,
|
||||||
|
@ -29,7 +29,6 @@ use mir;
|
|||||||
use hir::def_id::DefId;
|
use hir::def_id::DefId;
|
||||||
use ty::{self, TyCtxt, Instance};
|
use ty::{self, TyCtxt, Instance};
|
||||||
use ty::layout::{self, Size};
|
use ty::layout::{self, Size};
|
||||||
use middle::region;
|
|
||||||
use std::io;
|
use std::io;
|
||||||
use rustc_serialize::{Encoder, Decodable, Encodable};
|
use rustc_serialize::{Encoder, Decodable, Encodable};
|
||||||
use rustc_data_structures::fx::FxHashMap;
|
use rustc_data_structures::fx::FxHashMap;
|
||||||
@ -40,27 +39,6 @@ use ty::codec::TyDecoder;
|
|||||||
use std::sync::atomic::{AtomicU32, Ordering};
|
use std::sync::atomic::{AtomicU32, Ordering};
|
||||||
use std::num::NonZeroU32;
|
use std::num::NonZeroU32;
|
||||||
|
|
||||||
#[derive(Clone, Debug, PartialEq, Eq, Hash, RustcEncodable, RustcDecodable)]
|
|
||||||
pub enum Lock {
|
|
||||||
NoLock,
|
|
||||||
WriteLock(DynamicLifetime),
|
|
||||||
/// This should never be empty -- that would be a read lock held and nobody
|
|
||||||
/// there to release it...
|
|
||||||
ReadLock(Vec<DynamicLifetime>),
|
|
||||||
}
|
|
||||||
|
|
||||||
#[derive(Copy, Clone, Debug, PartialEq, Eq, Hash, RustcEncodable, RustcDecodable)]
|
|
||||||
pub struct DynamicLifetime {
|
|
||||||
pub frame: usize,
|
|
||||||
pub region: Option<region::Scope>, // "None" indicates "until the function ends"
|
|
||||||
}
|
|
||||||
|
|
||||||
#[derive(Copy, Clone, Debug, PartialEq, Eq, RustcEncodable, RustcDecodable)]
|
|
||||||
pub enum AccessKind {
|
|
||||||
Read,
|
|
||||||
Write,
|
|
||||||
}
|
|
||||||
|
|
||||||
/// Uniquely identifies a specific constant or static.
|
/// Uniquely identifies a specific constant or static.
|
||||||
#[derive(Copy, Clone, Debug, Eq, PartialEq, Hash, RustcEncodable, RustcDecodable)]
|
#[derive(Copy, Clone, Debug, Eq, PartialEq, Hash, RustcEncodable, RustcDecodable)]
|
||||||
pub struct GlobalId<'tcx> {
|
pub struct GlobalId<'tcx> {
|
||||||
|
@ -1311,12 +1311,8 @@ options! {DebuggingOptions, DebuggingSetter, basic_debugging_options,
|
|||||||
"Disable the instrumentation pre-inliner, useful for profiling / PGO."),
|
"Disable the instrumentation pre-inliner, useful for profiling / PGO."),
|
||||||
relro_level: Option<RelroLevel> = (None, parse_relro_level, [TRACKED],
|
relro_level: Option<RelroLevel> = (None, parse_relro_level, [TRACKED],
|
||||||
"choose which RELRO level to use"),
|
"choose which RELRO level to use"),
|
||||||
nll_subminimal_causes: bool = (false, parse_bool, [UNTRACKED],
|
|
||||||
"when tracking region error causes, accept subminimal results for faster execution."),
|
|
||||||
nll_facts: bool = (false, parse_bool, [UNTRACKED],
|
nll_facts: bool = (false, parse_bool, [UNTRACKED],
|
||||||
"dump facts from NLL analysis into side files"),
|
"dump facts from NLL analysis into side files"),
|
||||||
disable_nll_user_type_assert: bool = (false, parse_bool, [UNTRACKED],
|
|
||||||
"disable user provided type assertion in NLL"),
|
|
||||||
nll_dont_emit_read_for_match: bool = (false, parse_bool, [UNTRACKED],
|
nll_dont_emit_read_for_match: bool = (false, parse_bool, [UNTRACKED],
|
||||||
"in match codegen, do not include FakeRead statements (used by mir-borrowck)"),
|
"in match codegen, do not include FakeRead statements (used by mir-borrowck)"),
|
||||||
dont_buffer_diagnostics: bool = (false, parse_bool, [UNTRACKED],
|
dont_buffer_diagnostics: bool = (false, parse_bool, [UNTRACKED],
|
||||||
|
@ -279,20 +279,6 @@ impl<'a, 'gcx, 'tcx> BitDenotation<'tcx> for Borrows<'a, 'gcx, 'tcx> {
|
|||||||
});
|
});
|
||||||
|
|
||||||
sets.gen(*index);
|
sets.gen(*index);
|
||||||
|
|
||||||
// Issue #46746: Two-phase borrows handles
|
|
||||||
// stmts of form `Tmp = &mut Borrow` ...
|
|
||||||
match lhs {
|
|
||||||
Place::Promoted(_) |
|
|
||||||
Place::Local(..) | Place::Static(..) => {} // okay
|
|
||||||
Place::Projection(..) => {
|
|
||||||
// ... can assign into projections,
|
|
||||||
// e.g., `box (&mut _)`. Current
|
|
||||||
// conservative solution: force
|
|
||||||
// immediate activation here.
|
|
||||||
sets.gen(*index);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3,7 +3,6 @@
|
|||||||
#![allow(dead_code)]
|
#![allow(dead_code)]
|
||||||
|
|
||||||
// revisions:lexical nll
|
// revisions:lexical nll
|
||||||
//[nll]compile-flags: -Z disable-nll-user-type-assert
|
|
||||||
#![cfg_attr(nll, feature(nll))]
|
#![cfg_attr(nll, feature(nll))]
|
||||||
|
|
||||||
#![feature(generators)]
|
#![feature(generators)]
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
error[E0597]: `c2` does not live long enough
|
error[E0597]: `c2` does not live long enough
|
||||||
--> $DIR/dropck_vec_cycle_checked.rs:103:24
|
--> $DIR/dropck_vec_cycle_checked.rs:98:24
|
||||||
|
|
|
|
||||||
LL | c1.v[0].v.set(Some(&c2));
|
LL | c1.v[0].v.set(Some(&c2));
|
||||||
| ^^^ borrowed value does not live long enough
|
| ^^^ borrowed value does not live long enough
|
||||||
@ -13,7 +13,7 @@ LL | }
|
|||||||
= note: values in a scope are dropped in the opposite order they are defined
|
= note: values in a scope are dropped in the opposite order they are defined
|
||||||
|
|
||||||
error[E0597]: `c3` does not live long enough
|
error[E0597]: `c3` does not live long enough
|
||||||
--> $DIR/dropck_vec_cycle_checked.rs:105:24
|
--> $DIR/dropck_vec_cycle_checked.rs:100:24
|
||||||
|
|
|
|
||||||
LL | c1.v[1].v.set(Some(&c3));
|
LL | c1.v[1].v.set(Some(&c3));
|
||||||
| ^^^ borrowed value does not live long enough
|
| ^^^ borrowed value does not live long enough
|
||||||
@ -27,7 +27,7 @@ LL | }
|
|||||||
= note: values in a scope are dropped in the opposite order they are defined
|
= note: values in a scope are dropped in the opposite order they are defined
|
||||||
|
|
||||||
error[E0597]: `c1` does not live long enough
|
error[E0597]: `c1` does not live long enough
|
||||||
--> $DIR/dropck_vec_cycle_checked.rs:111:24
|
--> $DIR/dropck_vec_cycle_checked.rs:106:24
|
||||||
|
|
|
|
||||||
LL | c3.v[0].v.set(Some(&c1));
|
LL | c3.v[0].v.set(Some(&c1));
|
||||||
| ^^^ borrowed value does not live long enough
|
| ^^^ borrowed value does not live long enough
|
||||||
|
@ -1,12 +1,7 @@
|
|||||||
// compile-flags: -Z nll-subminimal-causes
|
|
||||||
// (Work around rust-lang/rust#49998 by opting into nll-subminimal-causes.)
|
|
||||||
|
|
||||||
// Reject mixing cyclic structure and Drop when using Vec.
|
// Reject mixing cyclic structure and Drop when using Vec.
|
||||||
//
|
//
|
||||||
// (Compare against compile-fail/dropck_arr_cycle_checked.rs)
|
// (Compare against compile-fail/dropck_arr_cycle_checked.rs)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
use std::cell::Cell;
|
use std::cell::Cell;
|
||||||
use id::Id;
|
use id::Id;
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
error[E0597]: `c2` does not live long enough
|
error[E0597]: `c2` does not live long enough
|
||||||
--> $DIR/dropck_vec_cycle_checked.rs:103:25
|
--> $DIR/dropck_vec_cycle_checked.rs:98:25
|
||||||
|
|
|
|
||||||
LL | c1.v[0].v.set(Some(&c2));
|
LL | c1.v[0].v.set(Some(&c2));
|
||||||
| ^^ borrowed value does not live long enough
|
| ^^ borrowed value does not live long enough
|
||||||
@ -10,7 +10,7 @@ LL | }
|
|||||||
= note: values in a scope are dropped in the opposite order they are created
|
= note: values in a scope are dropped in the opposite order they are created
|
||||||
|
|
||||||
error[E0597]: `c3` does not live long enough
|
error[E0597]: `c3` does not live long enough
|
||||||
--> $DIR/dropck_vec_cycle_checked.rs:105:25
|
--> $DIR/dropck_vec_cycle_checked.rs:100:25
|
||||||
|
|
|
|
||||||
LL | c1.v[1].v.set(Some(&c3));
|
LL | c1.v[1].v.set(Some(&c3));
|
||||||
| ^^ borrowed value does not live long enough
|
| ^^ borrowed value does not live long enough
|
||||||
@ -21,7 +21,7 @@ LL | }
|
|||||||
= note: values in a scope are dropped in the opposite order they are created
|
= note: values in a scope are dropped in the opposite order they are created
|
||||||
|
|
||||||
error[E0597]: `c2` does not live long enough
|
error[E0597]: `c2` does not live long enough
|
||||||
--> $DIR/dropck_vec_cycle_checked.rs:107:25
|
--> $DIR/dropck_vec_cycle_checked.rs:102:25
|
||||||
|
|
|
|
||||||
LL | c2.v[0].v.set(Some(&c2));
|
LL | c2.v[0].v.set(Some(&c2));
|
||||||
| ^^ borrowed value does not live long enough
|
| ^^ borrowed value does not live long enough
|
||||||
@ -32,7 +32,7 @@ LL | }
|
|||||||
= note: values in a scope are dropped in the opposite order they are created
|
= note: values in a scope are dropped in the opposite order they are created
|
||||||
|
|
||||||
error[E0597]: `c3` does not live long enough
|
error[E0597]: `c3` does not live long enough
|
||||||
--> $DIR/dropck_vec_cycle_checked.rs:109:25
|
--> $DIR/dropck_vec_cycle_checked.rs:104:25
|
||||||
|
|
|
|
||||||
LL | c2.v[1].v.set(Some(&c3));
|
LL | c2.v[1].v.set(Some(&c3));
|
||||||
| ^^ borrowed value does not live long enough
|
| ^^ borrowed value does not live long enough
|
||||||
@ -43,7 +43,7 @@ LL | }
|
|||||||
= note: values in a scope are dropped in the opposite order they are created
|
= note: values in a scope are dropped in the opposite order they are created
|
||||||
|
|
||||||
error[E0597]: `c1` does not live long enough
|
error[E0597]: `c1` does not live long enough
|
||||||
--> $DIR/dropck_vec_cycle_checked.rs:111:25
|
--> $DIR/dropck_vec_cycle_checked.rs:106:25
|
||||||
|
|
|
|
||||||
LL | c3.v[0].v.set(Some(&c1));
|
LL | c3.v[0].v.set(Some(&c1));
|
||||||
| ^^ borrowed value does not live long enough
|
| ^^ borrowed value does not live long enough
|
||||||
@ -54,7 +54,7 @@ LL | }
|
|||||||
= note: values in a scope are dropped in the opposite order they are created
|
= note: values in a scope are dropped in the opposite order they are created
|
||||||
|
|
||||||
error[E0597]: `c2` does not live long enough
|
error[E0597]: `c2` does not live long enough
|
||||||
--> $DIR/dropck_vec_cycle_checked.rs:113:25
|
--> $DIR/dropck_vec_cycle_checked.rs:108:25
|
||||||
|
|
|
|
||||||
LL | c3.v[1].v.set(Some(&c2));
|
LL | c3.v[1].v.set(Some(&c2));
|
||||||
| ^^ borrowed value does not live long enough
|
| ^^ borrowed value does not live long enough
|
||||||
|
Loading…
Reference in New Issue
Block a user