diff options
| author | bors <bors@rust-lang.org> | 2020-03-23 06:02:34 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2020-03-23 06:02:34 +0000 |
| commit | 8ff785011be6625e32afceee3a08e5cff7470feb (patch) | |
| tree | f9a842b8f8e390c261192943061f48d6754f65da /src/librustc_mir | |
| parent | 37c945dd6178cb520eb1e450a795f8c3b3cc5a3b (diff) | |
| parent | 5f91f30b0ace8a687e1acd2e057e27d4b57ad364 (diff) | |
| download | rust-8ff785011be6625e32afceee3a08e5cff7470feb.tar.gz rust-8ff785011be6625e32afceee3a08e5cff7470feb.zip | |
Auto merge of #70296 - Centril:rollup-wvfmb3n, r=Centril
Rollup of 9 pull requests Successful merges: - #69251 (#[track_caller] in traits) - #69880 (miri engine: turn error sanity checks into assertions) - #70207 (Use getentropy(2) on macos) - #70227 (Only display definition when suggesting a typo) - #70236 (resolve: Avoid "self-confirming" import resolutions in one more case) - #70248 (parser: simplify & remove unused field) - #70249 (handle ConstKind::Unresolved after monomorphizing) - #70269 (remove redundant closures (clippy::redundant_closure)) - #70270 (Clean up E0449 explanation) Failed merges: r? @ghost
Diffstat (limited to 'src/librustc_mir')
| -rw-r--r-- | src/librustc_mir/dataflow/generic/graphviz.rs | 2 | ||||
| -rw-r--r-- | src/librustc_mir/interpret/validity.rs | 7 | ||||
| -rw-r--r-- | src/librustc_mir/monomorphize/collector.rs | 2 | ||||
| -rw-r--r-- | src/librustc_mir/transform/const_prop.rs | 3 |
4 files changed, 6 insertions, 8 deletions
diff --git a/src/librustc_mir/dataflow/generic/graphviz.rs b/src/librustc_mir/dataflow/generic/graphviz.rs index 36decf7f5a9..c15f2a726ee 100644 --- a/src/librustc_mir/dataflow/generic/graphviz.rs +++ b/src/librustc_mir/dataflow/generic/graphviz.rs @@ -577,7 +577,7 @@ fn write_diff<A: Analysis<'tcx>>( let mut clear = HybridBitSet::new_empty(len); // FIXME: Implement a lazy iterator over the symmetric difference of two bitsets. - for i in (0..len).map(|i| A::Idx::new(i)) { + for i in (0..len).map(A::Idx::new) { match (from.contains(i), to.contains(i)) { (false, true) => set.insert(i), (true, false) => clear.insert(i), diff --git a/src/librustc_mir/interpret/validity.rs b/src/librustc_mir/interpret/validity.rs index d93b78a5bd5..6f9543bf95a 100644 --- a/src/librustc_mir/interpret/validity.rs +++ b/src/librustc_mir/interpret/validity.rs @@ -825,11 +825,10 @@ impl<'mir, 'tcx, M: Machine<'mir, 'tcx>> InterpCx<'mir, 'tcx, M> { // Run it. match visitor.visit_value(op) { Ok(()) => Ok(()), + // We should only get validation errors here. Avoid other errors as + // those do not show *where* in the value the issue lies. Err(err) if matches!(err.kind, err_ub!(ValidationFailure { .. })) => Err(err), - Err(err) if cfg!(debug_assertions) => { - bug!("Unexpected error during validation: {}", err) - } - Err(err) => Err(err), + Err(err) => bug!("Unexpected error during validation: {}", err), } } diff --git a/src/librustc_mir/monomorphize/collector.rs b/src/librustc_mir/monomorphize/collector.rs index a592e8d9c05..cbd19f080eb 100644 --- a/src/librustc_mir/monomorphize/collector.rs +++ b/src/librustc_mir/monomorphize/collector.rs @@ -895,7 +895,7 @@ fn create_mono_items_for_vtable_methods<'tcx>( .unwrap() }) .filter(|&instance| should_monomorphize_locally(tcx, &instance)) - .map(|instance| create_fn_mono_item(instance)); + .map(create_fn_mono_item); output.extend(methods); } diff --git a/src/librustc_mir/transform/const_prop.rs b/src/librustc_mir/transform/const_prop.rs index b41043ee510..a19901f3778 100644 --- a/src/librustc_mir/transform/const_prop.rs +++ b/src/librustc_mir/transform/const_prop.rs @@ -404,8 +404,7 @@ impl<'mir, 'tcx> ConstPropagator<'mir, 'tcx> { // Some errors shouldn't come up because creating them causes // an allocation, which we should avoid. When that happens, // dedicated error variants should be introduced instead. - // Only test this in debug builds though to avoid disruptions. - debug_assert!( + assert!( !error.kind.allocates(), "const-prop encountered allocating error: {}", error |
