Rollup merge of #57219 - matthewjasper:mir-cleanup, r=nikomatsakis

Remove some unused code

Closes #57096
This commit is contained in:
kennytm 2019-01-05 23:56:43 +08:00 committed by GitHub
commit aa83481a5c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
8 changed files with 9 additions and 71 deletions

View File

@ -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,

View File

@ -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> {

View File

@ -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],

View File

@ -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);
}
}
} }
} }

View File

@ -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)]

View File

@ -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

View File

@ -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;

View File

@ -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