diff --git a/.mailmap b/.mailmap index 3f23aed31a833..1019710dc9793 100644 --- a/.mailmap +++ b/.mailmap @@ -286,7 +286,7 @@ Xuefeng Wu Xuefeng Wu Xuefeng Wu XuefengWu York Xiang Youngsoo Son -Yuki Okushi +Yuki Okushi Zach Pomerantz Zack Corr Zack Slayton diff --git a/compiler/rustc_codegen_llvm/src/consts.rs b/compiler/rustc_codegen_llvm/src/consts.rs index 99046839973d5..245bdcd6409c8 100644 --- a/compiler/rustc_codegen_llvm/src/consts.rs +++ b/compiler/rustc_codegen_llvm/src/consts.rs @@ -8,15 +8,17 @@ use crate::value::Value; use cstr::cstr; use libc::c_uint; use rustc_codegen_ssa::traits::*; +use rustc_data_structures::captures::Captures; use rustc_hir::def_id::DefId; use rustc_middle::middle::codegen_fn_attrs::{CodegenFnAttrFlags, CodegenFnAttrs}; use rustc_middle::mir::interpret::{ - read_target_uint, Allocation, ErrorHandled, GlobalAlloc, Pointer, + read_target_uint, Allocation, ErrorHandled, GlobalAlloc, InitChunk, Pointer, }; use rustc_middle::mir::mono::MonoItem; use rustc_middle::ty::{self, Instance, Ty}; use rustc_middle::{bug, span_bug}; use rustc_target::abi::{AddressSpace, Align, HasDataLayout, LayoutOf, Primitive, Scalar, Size}; +use std::ops::Range; use tracing::debug; pub fn const_alloc_to_llvm(cx: &CodegenCx<'ll, '_>, alloc: &Allocation) -> &'ll Value { @@ -24,6 +26,29 @@ pub fn const_alloc_to_llvm(cx: &CodegenCx<'ll, '_>, alloc: &Allocation) -> &'ll let dl = cx.data_layout(); let pointer_size = dl.pointer_size.bytes() as usize; + // Note: this function may call `inspect_with_uninit_and_ptr_outside_interpreter`, + // so `range` must be within the bounds of `alloc` and not within a relocation. + fn chunks_of_init_and_uninit_bytes<'ll, 'a, 'b>( + cx: &'a CodegenCx<'ll, 'b>, + alloc: &'a Allocation, + range: Range, + ) -> impl Iterator + Captures<'a> + Captures<'b> { + alloc + .init_mask() + .range_as_init_chunks(Size::from_bytes(range.start), Size::from_bytes(range.end)) + .map(move |chunk| match chunk { + InitChunk::Init(range) => { + let range = (range.start.bytes() as usize)..(range.end.bytes() as usize); + let bytes = alloc.inspect_with_uninit_and_ptr_outside_interpreter(range); + cx.const_bytes(bytes) + } + InitChunk::Uninit(range) => { + let len = range.end.bytes() - range.start.bytes(); + cx.const_undef(cx.type_array(cx.type_i8(), len)) + } + }) + } + let mut next_offset = 0; for &(offset, ((), alloc_id)) in alloc.relocations().iter() { let offset = offset.bytes(); @@ -32,12 +57,8 @@ pub fn const_alloc_to_llvm(cx: &CodegenCx<'ll, '_>, alloc: &Allocation) -> &'ll if offset > next_offset { // This `inspect` is okay since we have checked that it is not within a relocation, it // is within the bounds of the allocation, and it doesn't affect interpreter execution - // (we inspect the result after interpreter execution). Any undef byte is replaced with - // some arbitrary byte value. - // - // FIXME: relay undef bytes to codegen as undef const bytes - let bytes = alloc.inspect_with_uninit_and_ptr_outside_interpreter(next_offset..offset); - llvals.push(cx.const_bytes(bytes)); + // (we inspect the result after interpreter execution). + llvals.extend(chunks_of_init_and_uninit_bytes(cx, alloc, next_offset..offset)); } let ptr_offset = read_target_uint( dl.endian, @@ -65,12 +86,8 @@ pub fn const_alloc_to_llvm(cx: &CodegenCx<'ll, '_>, alloc: &Allocation) -> &'ll let range = next_offset..alloc.len(); // This `inspect` is okay since we have check that it is after all relocations, it is // within the bounds of the allocation, and it doesn't affect interpreter execution (we - // inspect the result after interpreter execution). Any undef byte is replaced with some - // arbitrary byte value. - // - // FIXME: relay undef bytes to codegen as undef const bytes - let bytes = alloc.inspect_with_uninit_and_ptr_outside_interpreter(range); - llvals.push(cx.const_bytes(bytes)); + // inspect the result after interpreter execution). + llvals.extend(chunks_of_init_and_uninit_bytes(cx, alloc, range)); } cx.const_struct(&llvals, true) diff --git a/compiler/rustc_middle/src/mir/interpret/allocation.rs b/compiler/rustc_middle/src/mir/interpret/allocation.rs index 766d6a06f7e59..d6bd1ed7933e3 100644 --- a/compiler/rustc_middle/src/mir/interpret/allocation.rs +++ b/compiler/rustc_middle/src/mir/interpret/allocation.rs @@ -761,20 +761,24 @@ impl InitMask { } // FIXME(oli-obk): optimize this for allocations larger than a block. - let idx = (start.bytes()..end.bytes()).map(Size::from_bytes).find(|&i| !self.get(i)); + let idx = (start..end).find(|&i| !self.get(i)); match idx { Some(idx) => { - let uninit_end = (idx.bytes()..end.bytes()) - .map(Size::from_bytes) - .find(|&i| self.get(i)) - .unwrap_or(end); + let uninit_end = (idx..end).find(|&i| self.get(i)).unwrap_or(end); Err(idx..uninit_end) } None => Ok(()), } } + /// Returns an iterator, yielding a range of byte indexes for each contiguous region + /// of initialized or uninitialized bytes inside the range `start..end` (end-exclusive). + #[inline] + pub fn range_as_init_chunks(&self, start: Size, end: Size) -> InitChunkIter<'_> { + InitChunkIter::new(self, start, end) + } + pub fn set_range(&mut self, start: Size, end: Size, new_state: bool) { let len = self.len; if end > len { @@ -867,6 +871,49 @@ impl InitMask { } } +/// Yields [`InitChunk`]s. See [`InitMask::range_as_init_chunks`]. +pub struct InitChunkIter<'a> { + init_mask: &'a InitMask, + /// The current byte index into `init_mask`. + start: Size, + /// The end byte index into `init_mask`. + end: Size, +} + +/// A contiguous chunk of initialized or uninitialized memory. +pub enum InitChunk { + Init(Range), + Uninit(Range), +} + +impl<'a> InitChunkIter<'a> { + fn new(init_mask: &'a InitMask, start: Size, end: Size) -> Self { + assert!(start <= end); + assert!(end <= init_mask.len); + Self { init_mask, start, end } + } +} + +impl<'a> Iterator for InitChunkIter<'a> { + type Item = InitChunk; + + fn next(&mut self) -> Option { + if self.start >= self.end { + return None; + } + + let is_init = self.init_mask.get(self.start); + // FIXME(oli-obk): optimize this for allocations larger than a block. + let end_of_chunk = + (self.start..self.end).find(|&i| self.init_mask.get(i) != is_init).unwrap_or(self.end); + let range = self.start..end_of_chunk; + + self.start = end_of_chunk; + + Some(if is_init { InitChunk::Init(range) } else { InitChunk::Uninit(range) }) + } +} + #[inline] fn bit_index(bits: Size) -> (usize, usize) { let bits = bits.bytes(); diff --git a/compiler/rustc_middle/src/mir/interpret/mod.rs b/compiler/rustc_middle/src/mir/interpret/mod.rs index 55fe5f971e718..81051f122b97c 100644 --- a/compiler/rustc_middle/src/mir/interpret/mod.rs +++ b/compiler/rustc_middle/src/mir/interpret/mod.rs @@ -125,7 +125,9 @@ pub use self::error::{ pub use self::value::{get_slice_bytes, ConstAlloc, ConstValue, Scalar, ScalarMaybeUninit}; -pub use self::allocation::{Allocation, AllocationExtra, InitMask, Relocations}; +pub use self::allocation::{ + Allocation, AllocationExtra, InitChunk, InitChunkIter, InitMask, Relocations, +}; pub use self::pointer::{Pointer, PointerArithmetic}; diff --git a/compiler/rustc_middle/src/mir/mod.rs b/compiler/rustc_middle/src/mir/mod.rs index abca2ecdb060b..92922bc5b1625 100644 --- a/compiler/rustc_middle/src/mir/mod.rs +++ b/compiler/rustc_middle/src/mir/mod.rs @@ -1482,7 +1482,7 @@ pub enum StatementKind<'tcx> { /// /// Note that this also is emitted for regular `let` bindings to ensure that locals that are /// never accessed still get some sanity checks for, e.g., `let x: ! = ..;` - FakeRead(FakeReadCause, Box>), + FakeRead(Box<(FakeReadCause, Place<'tcx>)>), /// Write the discriminant for a variant to the enum Place. SetDiscriminant { place: Box>, variant_index: VariantIdx }, @@ -1575,7 +1575,12 @@ pub enum FakeReadCause { /// `let x: !; match x {}` doesn't generate any read of x so we need to /// generate a read of x to check that it is initialized and safe. - ForMatchedPlace, + /// + /// If a closure pattern matches a Place starting with an Upvar, then we introduce a + /// FakeRead for that Place outside the closure, in such a case this option would be + /// Some(closure_def_id). + /// Otherwise, the value of the optional DefId will be None. + ForMatchedPlace(Option), /// A fake read of the RefWithinGuard version of a bind-by-value variable /// in a match guard to ensure that it's value hasn't change by the time @@ -1594,7 +1599,12 @@ pub enum FakeReadCause { /// but in some cases it can affect the borrow checker, as in #53695. /// Therefore, we insert a "fake read" here to ensure that we get /// appropriate errors. - ForLet, + /// + /// If a closure pattern matches a Place starting with an Upvar, then we introduce a + /// FakeRead for that Place outside the closure, in such a case this option would be + /// Some(closure_def_id). + /// Otherwise, the value of the optional DefId will be None. + ForLet(Option), /// If we have an index expression like /// @@ -1618,7 +1628,9 @@ impl Debug for Statement<'_> { use self::StatementKind::*; match self.kind { Assign(box (ref place, ref rv)) => write!(fmt, "{:?} = {:?}", place, rv), - FakeRead(ref cause, ref place) => write!(fmt, "FakeRead({:?}, {:?})", cause, place), + FakeRead(box (ref cause, ref place)) => { + write!(fmt, "FakeRead({:?}, {:?})", cause, place) + } Retag(ref kind, ref place) => write!( fmt, "Retag({}{:?})", diff --git a/compiler/rustc_middle/src/mir/visit.rs b/compiler/rustc_middle/src/mir/visit.rs index 32b4cd665d03f..fd504f8c5d5ac 100644 --- a/compiler/rustc_middle/src/mir/visit.rs +++ b/compiler/rustc_middle/src/mir/visit.rs @@ -380,7 +380,7 @@ macro_rules! make_mir_visitor { ) => { self.visit_assign(place, rvalue, location); } - StatementKind::FakeRead(_, place) => { + StatementKind::FakeRead(box (_, place)) => { self.visit_place( place, PlaceContext::NonMutatingUse(NonMutatingUseContext::Inspect), diff --git a/compiler/rustc_mir/src/borrow_check/diagnostics/conflict_errors.rs b/compiler/rustc_mir/src/borrow_check/diagnostics/conflict_errors.rs index eb942b195b252..d5deec820889a 100644 --- a/compiler/rustc_mir/src/borrow_check/diagnostics/conflict_errors.rs +++ b/compiler/rustc_mir/src/borrow_check/diagnostics/conflict_errors.rs @@ -1728,7 +1728,7 @@ impl<'cx, 'tcx> MirBorrowckCtxt<'cx, 'tcx> { impl<'tcx> Visitor<'tcx> for FakeReadCauseFinder<'tcx> { fn visit_statement(&mut self, statement: &Statement<'tcx>, _: Location) { match statement { - Statement { kind: StatementKind::FakeRead(cause, box place), .. } + Statement { kind: StatementKind::FakeRead(box (cause, place)), .. } if *place == self.place => { self.cause = Some(*cause); diff --git a/compiler/rustc_mir/src/borrow_check/diagnostics/explain_borrow.rs b/compiler/rustc_mir/src/borrow_check/diagnostics/explain_borrow.rs index 06e3f4b91f61f..2a388b8a72bb0 100644 --- a/compiler/rustc_mir/src/borrow_check/diagnostics/explain_borrow.rs +++ b/compiler/rustc_mir/src/borrow_check/diagnostics/explain_borrow.rs @@ -515,7 +515,7 @@ impl<'cx, 'tcx> MirBorrowckCtxt<'cx, 'tcx> { let block = &self.body.basic_blocks()[location.block]; let kind = if let Some(&Statement { - kind: StatementKind::FakeRead(FakeReadCause::ForLet, _), + kind: StatementKind::FakeRead(box (FakeReadCause::ForLet(_), _)), .. }) = block.statements.get(location.statement_index) { diff --git a/compiler/rustc_mir/src/borrow_check/diagnostics/mod.rs b/compiler/rustc_mir/src/borrow_check/diagnostics/mod.rs index 6ea0ba0a8e1ba..577d7d53814ee 100644 --- a/compiler/rustc_mir/src/borrow_check/diagnostics/mod.rs +++ b/compiler/rustc_mir/src/borrow_check/diagnostics/mod.rs @@ -7,8 +7,8 @@ use rustc_hir::def_id::DefId; use rustc_hir::lang_items::LangItemGroup; use rustc_hir::GeneratorKind; use rustc_middle::mir::{ - AggregateKind, Constant, Field, Local, LocalInfo, LocalKind, Location, Operand, Place, - PlaceRef, ProjectionElem, Rvalue, Statement, StatementKind, Terminator, TerminatorKind, + AggregateKind, Constant, FakeReadCause, Field, Local, LocalInfo, LocalKind, Location, Operand, + Place, PlaceRef, ProjectionElem, Rvalue, Statement, StatementKind, Terminator, TerminatorKind, }; use rustc_middle::ty::print::Print; use rustc_middle::ty::{self, DefIdTree, Instance, Ty, TyCtxt}; @@ -795,6 +795,24 @@ impl<'cx, 'tcx> MirBorrowckCtxt<'cx, 'tcx> { } } + // StatementKind::FakeRead only contains a def_id if they are introduced as a result + // of pattern matching within a closure. + if let StatementKind::FakeRead(box (cause, ref place)) = stmt.kind { + match cause { + FakeReadCause::ForMatchedPlace(Some(closure_def_id)) + | FakeReadCause::ForLet(Some(closure_def_id)) => { + debug!("move_spans: def_id={:?} place={:?}", closure_def_id, place); + let places = &[Operand::Move(*place)]; + if let Some((args_span, generator_kind, var_span)) = + self.closure_span(closure_def_id, moved_place, places) + { + return ClosureUse { generator_kind, args_span, var_span }; + } + } + _ => {} + } + } + let normal_ret = if moved_place.projection.iter().any(|p| matches!(p, ProjectionElem::Downcast(..))) { PatUse(stmt.source_info.span) diff --git a/compiler/rustc_mir/src/borrow_check/invalidation.rs b/compiler/rustc_mir/src/borrow_check/invalidation.rs index 1055e30a3a44c..9374741f83749 100644 --- a/compiler/rustc_mir/src/borrow_check/invalidation.rs +++ b/compiler/rustc_mir/src/borrow_check/invalidation.rs @@ -63,7 +63,7 @@ impl<'cx, 'tcx> Visitor<'tcx> for InvalidationGenerator<'cx, 'tcx> { self.mutate_place(location, *lhs, Shallow(None), JustWrite); } - StatementKind::FakeRead(_, _) => { + StatementKind::FakeRead(box (_, _)) => { // Only relevant for initialized/liveness/safety checks. } StatementKind::SetDiscriminant { place, variant_index: _ } => { diff --git a/compiler/rustc_mir/src/borrow_check/mod.rs b/compiler/rustc_mir/src/borrow_check/mod.rs index 583f73d5775d1..71db6abde4351 100644 --- a/compiler/rustc_mir/src/borrow_check/mod.rs +++ b/compiler/rustc_mir/src/borrow_check/mod.rs @@ -574,7 +574,7 @@ impl<'cx, 'tcx> dataflow::ResultsVisitor<'cx, 'tcx> for MirBorrowckCtxt<'cx, 'tc self.mutate_place(location, (*lhs, span), Shallow(None), JustWrite, flow_state); } - StatementKind::FakeRead(_, box ref place) => { + StatementKind::FakeRead(box (_, ref place)) => { // Read for match doesn't access any memory and is used to // assert that a place is safe and live. So we don't have to // do any checks here. diff --git a/compiler/rustc_mir/src/dataflow/move_paths/builder.rs b/compiler/rustc_mir/src/dataflow/move_paths/builder.rs index 52b6e9f3753be..538d8921869c3 100644 --- a/compiler/rustc_mir/src/dataflow/move_paths/builder.rs +++ b/compiler/rustc_mir/src/dataflow/move_paths/builder.rs @@ -293,8 +293,8 @@ impl<'b, 'a, 'tcx> Gatherer<'b, 'a, 'tcx> { } self.gather_rvalue(rval); } - StatementKind::FakeRead(_, place) => { - self.create_move_path(**place); + StatementKind::FakeRead(box (_, place)) => { + self.create_move_path(*place); } StatementKind::LlvmInlineAsm(ref asm) => { for (output, kind) in iter::zip(&*asm.outputs, &asm.asm.outputs) { diff --git a/compiler/rustc_mir/src/transform/coverage/spans.rs b/compiler/rustc_mir/src/transform/coverage/spans.rs index e7097ce861902..324d826b375c1 100644 --- a/compiler/rustc_mir/src/transform/coverage/spans.rs +++ b/compiler/rustc_mir/src/transform/coverage/spans.rs @@ -683,10 +683,10 @@ pub(super) fn filtered_statement_span( // and `_1` is the `Place` for `somenum`. // // If and when the Issue is resolved, remove this special case match pattern: - StatementKind::FakeRead(cause, _) if cause == FakeReadCause::ForGuardBinding => None, + StatementKind::FakeRead(box (cause, _)) if cause == FakeReadCause::ForGuardBinding => None, // Retain spans from all other statements - StatementKind::FakeRead(_, _) // Not including `ForGuardBinding` + StatementKind::FakeRead(box (_, _)) // Not including `ForGuardBinding` | StatementKind::CopyNonOverlapping(..) | StatementKind::Assign(_) | StatementKind::SetDiscriminant { .. } diff --git a/compiler/rustc_mir_build/src/build/cfg.rs b/compiler/rustc_mir_build/src/build/cfg.rs index e562e52f8410f..fd4a783d12a00 100644 --- a/compiler/rustc_mir_build/src/build/cfg.rs +++ b/compiler/rustc_mir_build/src/build/cfg.rs @@ -80,7 +80,7 @@ impl<'tcx> CFG<'tcx> { cause: FakeReadCause, place: Place<'tcx>, ) { - let kind = StatementKind::FakeRead(cause, box place); + let kind = StatementKind::FakeRead(box (cause, place)); let stmt = Statement { source_info, kind }; self.push(block, stmt); } diff --git a/compiler/rustc_mir_build/src/build/expr/as_rvalue.rs b/compiler/rustc_mir_build/src/build/expr/as_rvalue.rs index 7f24a41b00bbe..822fbd91c947e 100644 --- a/compiler/rustc_mir_build/src/build/expr/as_rvalue.rs +++ b/compiler/rustc_mir_build/src/build/expr/as_rvalue.rs @@ -179,24 +179,20 @@ impl<'a, 'tcx> Builder<'a, 'tcx> { // match x { _ => () } // fake read of `x` // }; // ``` - // FIXME(RFC2229): Remove feature gate once diagnostics are improved - if this.tcx.features().capture_disjoint_fields { - for (thir_place, cause, hir_id) in fake_reads.into_iter() { - let place_builder = - unpack!(block = this.as_place_builder(block, thir_place)); - - if let Ok(place_builder_resolved) = - place_builder.try_upvars_resolved(this.tcx, this.typeck_results) - { - let mir_place = - place_builder_resolved.into_place(this.tcx, this.typeck_results); - this.cfg.push_fake_read( - block, - this.source_info(this.tcx.hir().span(*hir_id)), - *cause, - mir_place, - ); - } + for (thir_place, cause, hir_id) in fake_reads.into_iter() { + let place_builder = unpack!(block = this.as_place_builder(block, thir_place)); + + if let Ok(place_builder_resolved) = + place_builder.try_upvars_resolved(this.tcx, this.typeck_results) + { + let mir_place = + place_builder_resolved.into_place(this.tcx, this.typeck_results); + this.cfg.push_fake_read( + block, + this.source_info(this.tcx.hir().span(*hir_id)), + *cause, + mir_place, + ); } } diff --git a/compiler/rustc_mir_build/src/build/matches/mod.rs b/compiler/rustc_mir_build/src/build/matches/mod.rs index 73fd3f0feb591..0e422dc3c6378 100644 --- a/compiler/rustc_mir_build/src/build/matches/mod.rs +++ b/compiler/rustc_mir_build/src/build/matches/mod.rs @@ -139,7 +139,7 @@ impl<'a, 'tcx> Builder<'a, 'tcx> { // uninhabited value. If we get never patterns, those will check that // the place is initialized, and so this read would only be used to // check safety. - let cause_matched_place = FakeReadCause::ForMatchedPlace; + let cause_matched_place = FakeReadCause::ForMatchedPlace(None); let source_info = self.source_info(scrutinee_span); if let Ok(scrutinee_builder) = @@ -400,7 +400,7 @@ impl<'a, 'tcx> Builder<'a, 'tcx> { // Inject a fake read, see comments on `FakeReadCause::ForLet`. let source_info = self.source_info(irrefutable_pat.span); - self.cfg.push_fake_read(block, source_info, FakeReadCause::ForLet, place); + self.cfg.push_fake_read(block, source_info, FakeReadCause::ForLet(None), place); self.schedule_drop_for_binding(var, irrefutable_pat.span, OutsideGuard); block.unit() @@ -435,7 +435,7 @@ impl<'a, 'tcx> Builder<'a, 'tcx> { // Inject a fake read, see comments on `FakeReadCause::ForLet`. let pattern_source_info = self.source_info(irrefutable_pat.span); - let cause_let = FakeReadCause::ForLet; + let cause_let = FakeReadCause::ForLet(None); self.cfg.push_fake_read(block, pattern_source_info, cause_let, place); let ty_source_info = self.source_info(user_ty_span); diff --git a/compiler/rustc_target/src/abi/mod.rs b/compiler/rustc_target/src/abi/mod.rs index e2618da749fb3..22e67ea4da0ed 100644 --- a/compiler/rustc_target/src/abi/mod.rs +++ b/compiler/rustc_target/src/abi/mod.rs @@ -5,6 +5,7 @@ use crate::spec::Target; use std::convert::{TryFrom, TryInto}; use std::fmt; +use std::iter::Step; use std::num::NonZeroUsize; use std::ops::{Add, AddAssign, Deref, Mul, Range, RangeInclusive, Sub}; use std::str::FromStr; @@ -433,6 +434,43 @@ impl AddAssign for Size { } } +unsafe impl Step for Size { + #[inline] + fn steps_between(start: &Self, end: &Self) -> Option { + u64::steps_between(&start.bytes(), &end.bytes()) + } + + #[inline] + fn forward_checked(start: Self, count: usize) -> Option { + u64::forward_checked(start.bytes(), count).map(Self::from_bytes) + } + + #[inline] + fn forward(start: Self, count: usize) -> Self { + Self::from_bytes(u64::forward(start.bytes(), count)) + } + + #[inline] + unsafe fn forward_unchecked(start: Self, count: usize) -> Self { + Self::from_bytes(u64::forward_unchecked(start.bytes(), count)) + } + + #[inline] + fn backward_checked(start: Self, count: usize) -> Option { + u64::backward_checked(start.bytes(), count).map(Self::from_bytes) + } + + #[inline] + fn backward(start: Self, count: usize) -> Self { + Self::from_bytes(u64::backward(start.bytes(), count)) + } + + #[inline] + unsafe fn backward_unchecked(start: Self, count: usize) -> Self { + Self::from_bytes(u64::backward_unchecked(start.bytes(), count)) + } +} + /// Alignment of a type in bytes (always a power of two). #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Debug, Encodable, Decodable)] #[derive(HashStable_Generic)] diff --git a/compiler/rustc_target/src/lib.rs b/compiler/rustc_target/src/lib.rs index fb747dfcbd337..f2badef8e7a2c 100644 --- a/compiler/rustc_target/src/lib.rs +++ b/compiler/rustc_target/src/lib.rs @@ -15,6 +15,9 @@ #![feature(never_type)] #![feature(associated_type_bounds)] #![feature(exhaustive_patterns)] +#![feature(step_trait)] +#![feature(step_trait_ext)] +#![feature(unchecked_math)] #[macro_use] extern crate rustc_macros; diff --git a/compiler/rustc_trait_selection/src/traits/error_reporting/suggestions.rs b/compiler/rustc_trait_selection/src/traits/error_reporting/suggestions.rs index 326b85e1013d6..dccbdc855330b 100644 --- a/compiler/rustc_trait_selection/src/traits/error_reporting/suggestions.rs +++ b/compiler/rustc_trait_selection/src/traits/error_reporting/suggestions.rs @@ -28,6 +28,7 @@ use std::fmt; use super::InferCtxtPrivExt; use crate::traits::query::evaluate_obligation::InferCtxtExt as _; +use rustc_middle::ty::print::with_no_trimmed_paths; #[derive(Debug)] pub enum GeneratorInteriorOrUpvar { @@ -440,7 +441,8 @@ impl<'a, 'tcx> InferCtxtExt<'tcx> for InferCtxt<'a, 'tcx> { { // Missing generic type parameter bound. let param_name = self_ty.to_string(); - let constraint = trait_ref.print_only_trait_path().to_string(); + let constraint = + with_no_trimmed_paths(|| trait_ref.print_only_trait_path().to_string()); if suggest_constraining_type_param( self.tcx, generics, diff --git a/compiler/rustc_typeck/src/expr_use_visitor.rs b/compiler/rustc_typeck/src/expr_use_visitor.rs index ab286bacd8189..02510cb6a44cf 100644 --- a/compiler/rustc_typeck/src/expr_use_visitor.rs +++ b/compiler/rustc_typeck/src/expr_use_visitor.rs @@ -280,9 +280,14 @@ impl<'a, 'tcx> ExprUseVisitor<'a, 'tcx> { if needs_to_be_read { self.borrow_expr(&discr, ty::ImmBorrow); } else { + let closure_def_id = match discr_place.place.base { + PlaceBase::Upvar(upvar_id) => Some(upvar_id.closure_expr_id.to_def_id()), + _ => None, + }; + self.delegate.fake_read( discr_place.place.clone(), - FakeReadCause::ForMatchedPlace, + FakeReadCause::ForMatchedPlace(closure_def_id), discr_place.hir_id, ); @@ -578,9 +583,14 @@ impl<'a, 'tcx> ExprUseVisitor<'a, 'tcx> { } fn walk_arm(&mut self, discr_place: &PlaceWithHirId<'tcx>, arm: &hir::Arm<'_>) { + let closure_def_id = match discr_place.place.base { + PlaceBase::Upvar(upvar_id) => Some(upvar_id.closure_expr_id.to_def_id()), + _ => None, + }; + self.delegate.fake_read( discr_place.place.clone(), - FakeReadCause::ForMatchedPlace, + FakeReadCause::ForMatchedPlace(closure_def_id), discr_place.hir_id, ); self.walk_pat(discr_place, &arm.pat); @@ -595,9 +605,14 @@ impl<'a, 'tcx> ExprUseVisitor<'a, 'tcx> { /// Walks a pat that occurs in isolation (i.e., top-level of fn argument or /// let binding, and *not* a match arm or nested pat.) fn walk_irrefutable_pat(&mut self, discr_place: &PlaceWithHirId<'tcx>, pat: &hir::Pat<'_>) { + let closure_def_id = match discr_place.place.base { + PlaceBase::Upvar(upvar_id) => Some(upvar_id.closure_expr_id.to_def_id()), + _ => None, + }; + self.delegate.fake_read( discr_place.place.clone(), - FakeReadCause::ForLet, + FakeReadCause::ForLet(closure_def_id), discr_place.hir_id, ); self.walk_pat(discr_place, pat); diff --git a/library/alloc/src/vec/into_iter.rs b/library/alloc/src/vec/into_iter.rs index bcbdffabc7fbe..324e894bafd23 100644 --- a/library/alloc/src/vec/into_iter.rs +++ b/library/alloc/src/vec/into_iter.rs @@ -85,20 +85,29 @@ impl IntoIter { ptr::slice_from_raw_parts_mut(self.ptr as *mut T, self.len()) } - pub(super) fn drop_remaining(&mut self) { - unsafe { - ptr::drop_in_place(self.as_mut_slice()); - } - self.ptr = self.end; - } + /// Drops remaining elements and relinquishes the backing allocation. + /// + /// This is roughly equivalent to the following, but more efficient + /// + /// ``` + /// # let mut into_iter = Vec::::with_capacity(10).into_iter(); + /// (&mut into_iter).for_each(core::mem::drop); + /// unsafe { core::ptr::write(&mut into_iter, Vec::new().into_iter()); } + /// ``` + pub(super) fn forget_allocation_drop_remaining(&mut self) { + let remaining = self.as_raw_mut_slice(); - /// Relinquishes the backing allocation, equivalent to - /// `ptr::write(&mut self, Vec::new().into_iter())` - pub(super) fn forget_allocation(&mut self) { + // overwrite the individual fields instead of creating a new + // struct and then overwriting &mut self. + // this creates less assembly self.cap = 0; self.buf = unsafe { NonNull::new_unchecked(RawVec::NEW.ptr()) }; self.ptr = self.buf.as_ptr(); self.end = self.buf.as_ptr(); + + unsafe { + ptr::drop_in_place(remaining); + } } } diff --git a/library/alloc/src/vec/source_iter_marker.rs b/library/alloc/src/vec/source_iter_marker.rs index 50882fc17673e..e857d284d3ab6 100644 --- a/library/alloc/src/vec/source_iter_marker.rs +++ b/library/alloc/src/vec/source_iter_marker.rs @@ -69,9 +69,9 @@ where } // drop any remaining values at the tail of the source - src.drop_remaining(); // but prevent drop of the allocation itself once IntoIter goes out of scope - src.forget_allocation(); + // if the drop panics then we also leak any elements collected into dst_buf + src.forget_allocation_drop_remaining(); let vec = unsafe { Vec::from_raw_parts(dst_buf, len, cap) }; diff --git a/library/alloc/tests/vec.rs b/library/alloc/tests/vec.rs index c142536cd2dfb..b926c697d58ab 100644 --- a/library/alloc/tests/vec.rs +++ b/library/alloc/tests/vec.rs @@ -1027,7 +1027,7 @@ fn test_from_iter_specialization_head_tail_drop() { } #[test] -fn test_from_iter_specialization_panic_drop() { +fn test_from_iter_specialization_panic_during_iteration_drops() { let drop_count: Vec<_> = (0..=2).map(|_| Rc::new(())).collect(); let src: Vec<_> = drop_count.iter().cloned().collect(); let iter = src.into_iter(); @@ -1050,6 +1050,42 @@ fn test_from_iter_specialization_panic_drop() { ); } +#[test] +fn test_from_iter_specialization_panic_during_drop_leaks() { + static mut DROP_COUNTER: usize = 0; + + #[derive(Debug)] + enum Droppable { + DroppedTwice(Box), + PanicOnDrop, + } + + impl Drop for Droppable { + fn drop(&mut self) { + match self { + Droppable::DroppedTwice(_) => { + unsafe { + DROP_COUNTER += 1; + } + println!("Dropping!") + } + Droppable::PanicOnDrop => { + if !std::thread::panicking() { + panic!(); + } + } + } + } + } + + let _ = std::panic::catch_unwind(AssertUnwindSafe(|| { + let v = vec![Droppable::DroppedTwice(Box::new(123)), Droppable::PanicOnDrop]; + let _ = v.into_iter().take(0).collect::>(); + })); + + assert_eq!(unsafe { DROP_COUNTER }, 1); +} + #[test] fn test_cow_from() { let borrowed: &[_] = &["borrowed", "(slice)"]; diff --git a/library/std/src/sync/once.rs b/library/std/src/sync/once.rs index 2e5f843fc43cb..a24a5cb2ae39f 100644 --- a/library/std/src/sync/once.rs +++ b/library/std/src/sync/once.rs @@ -471,7 +471,7 @@ fn wait(state_and_queue: &AtomicUsize, mut current_state: usize) { // If the managing thread happens to signal and unpark us before we // can park ourselves, the result could be this thread never gets // unparked. Luckily `park` comes with the guarantee that if it got - // an `unpark` just before on an unparked thread is does not park. + // an `unpark` just before on an unparked thread it does not park. thread::park(); } break; diff --git a/src/test/codegen/consts.rs b/src/test/codegen/consts.rs index fcb9002986a1c..a6e611ce5b593 100644 --- a/src/test/codegen/consts.rs +++ b/src/test/codegen/consts.rs @@ -43,7 +43,7 @@ pub fn inline_enum_const() -> E { #[no_mangle] pub fn low_align_const() -> E { // Check that low_align_const and high_align_const use the same constant - // CHECK: memcpy.p0i8.p0i8.i{{(32|64)}}(i8* align 2 %1, i8* align 2 getelementptr inbounds (<{ [8 x i8] }>, <{ [8 x i8] }>* [[LOW_HIGH]], i32 0, i32 0, i32 0), i{{(32|64)}} 8, i1 false) + // CHECK: memcpy.p0i8.p0i8.i{{(32|64)}}(i8* align 2 %1, i8* align 2 getelementptr inbounds (<{ [4 x i8], [4 x i8] }>, <{ [4 x i8], [4 x i8] }>* [[LOW_HIGH]], i32 0, i32 0, i32 0), i{{(32|64)}} 8, i1 false) *&E::A(0) } @@ -51,6 +51,6 @@ pub fn low_align_const() -> E { #[no_mangle] pub fn high_align_const() -> E { // Check that low_align_const and high_align_const use the same constant - // CHECK: memcpy.p0i8.p0i8.i{{(32|64)}}(i8* align 4 %1, i8* align 4 getelementptr inbounds (<{ [8 x i8] }>, <{ [8 x i8] }>* [[LOW_HIGH]], i32 0, i32 0, i32 0), i{{(32|64)}} 8, i1 false) + // CHECK: memcpy.p0i8.p0i8.i{{(32|64)}}(i8* align 4 %1, i8* align 4 getelementptr inbounds (<{ [4 x i8], [4 x i8] }>, <{ [4 x i8], [4 x i8] }>* [[LOW_HIGH]], i32 0, i32 0, i32 0), i{{(32|64)}} 8, i1 false) *&E::A(0) } diff --git a/src/test/codegen/uninit-consts.rs b/src/test/codegen/uninit-consts.rs new file mode 100644 index 0000000000000..b1a55eccc0399 --- /dev/null +++ b/src/test/codegen/uninit-consts.rs @@ -0,0 +1,32 @@ +// compile-flags: -C no-prepopulate-passes +// ignore-tidy-linelength + +// Check that we use undef (and not zero) for uninitialized bytes in constants. + +#![crate_type = "lib"] + +use std::mem::MaybeUninit; + +pub struct PartiallyUninit { + x: u32, + y: MaybeUninit<[u8; 10]> +} + +// CHECK: [[FULLY_UNINIT:@[0-9]+]] = private unnamed_addr constant <{ [10 x i8] }> undef +// CHECK: [[PARTIALLY_UNINIT:@[0-9]+]] = private unnamed_addr constant <{ [4 x i8], [12 x i8] }> <{ [4 x i8] c"\EF\BE\AD\DE", [12 x i8] undef }>, align 4 + +// CHECK-LABEL: @fully_uninit +#[no_mangle] +pub const fn fully_uninit() -> MaybeUninit<[u8; 10]> { + const M: MaybeUninit<[u8; 10]> = MaybeUninit::uninit(); + // CHECK: call void @llvm.memcpy.p0i8.p0i8.i{{(32|64)}}(i8* align 1 %1, i8* align 1 getelementptr inbounds (<{ [10 x i8] }>, <{ [10 x i8] }>* [[FULLY_UNINIT]], i32 0, i32 0, i32 0), i{{(32|64)}} 10, i1 false) + M +} + +// CHECK-LABEL: @partially_uninit +#[no_mangle] +pub const fn partially_uninit() -> PartiallyUninit { + const X: PartiallyUninit = PartiallyUninit { x: 0xdeadbeef, y: MaybeUninit::uninit() }; + // CHECK: call void @llvm.memcpy.p0i8.p0i8.i{{(32|64)}}(i8* align 4 %1, i8* align 4 getelementptr inbounds (<{ [4 x i8], [12 x i8] }>, <{ [4 x i8], [12 x i8] }>* [[PARTIALLY_UNINIT]], i32 0, i32 0, i32 0), i{{(32|64)}} 16, i1 false) + X +} diff --git a/src/test/mir-opt/address_of.address_of_reborrow.SimplifyCfg-initial.after.mir b/src/test/mir-opt/address_of.address_of_reborrow.SimplifyCfg-initial.after.mir index a95681126205f..9fa478f8a826c 100644 --- a/src/test/mir-opt/address_of.address_of_reborrow.SimplifyCfg-initial.after.mir +++ b/src/test/mir-opt/address_of.address_of_reborrow.SimplifyCfg-initial.after.mir @@ -130,12 +130,12 @@ fn address_of_reborrow() -> () { StorageLive(_2); // scope 0 at $DIR/address-of.rs:4:14: 4:21 _2 = [const 0_i32; 10]; // scope 0 at $DIR/address-of.rs:4:14: 4:21 _1 = &_2; // scope 0 at $DIR/address-of.rs:4:13: 4:21 - FakeRead(ForLet, _1); // scope 0 at $DIR/address-of.rs:4:9: 4:10 + FakeRead(ForLet(None), _1); // scope 0 at $DIR/address-of.rs:4:9: 4:10 StorageLive(_3); // scope 1 at $DIR/address-of.rs:5:9: 5:14 StorageLive(_4); // scope 1 at $DIR/address-of.rs:5:22: 5:29 _4 = [const 0_i32; 10]; // scope 1 at $DIR/address-of.rs:5:22: 5:29 _3 = &mut _4; // scope 1 at $DIR/address-of.rs:5:17: 5:29 - FakeRead(ForLet, _3); // scope 1 at $DIR/address-of.rs:5:9: 5:14 + FakeRead(ForLet(None), _3); // scope 1 at $DIR/address-of.rs:5:9: 5:14 StorageLive(_5); // scope 2 at $DIR/address-of.rs:7:5: 7:18 StorageLive(_6); // scope 2 at $DIR/address-of.rs:7:5: 7:18 _6 = &raw const (*_1); // scope 2 at $DIR/address-of.rs:7:5: 7:6 @@ -170,25 +170,25 @@ fn address_of_reborrow() -> () { StorageDead(_13); // scope 2 at $DIR/address-of.rs:11:20: 11:21 StorageLive(_15); // scope 2 at $DIR/address-of.rs:13:9: 13:10 _15 = &raw const (*_1); // scope 2 at $DIR/address-of.rs:13:23: 13:24 - FakeRead(ForLet, _15); // scope 2 at $DIR/address-of.rs:13:9: 13:10 + FakeRead(ForLet(None), _15); // scope 2 at $DIR/address-of.rs:13:9: 13:10 AscribeUserType(_15, o, UserTypeProjection { base: UserType(3), projs: [] }); // scope 2 at $DIR/address-of.rs:13:12: 13:20 StorageLive(_16); // scope 3 at $DIR/address-of.rs:14:9: 14:10 _16 = &raw const (*_1); // scope 3 at $DIR/address-of.rs:14:31: 14:32 - FakeRead(ForLet, _16); // scope 3 at $DIR/address-of.rs:14:9: 14:10 + FakeRead(ForLet(None), _16); // scope 3 at $DIR/address-of.rs:14:9: 14:10 AscribeUserType(_16, o, UserTypeProjection { base: UserType(5), projs: [] }); // scope 3 at $DIR/address-of.rs:14:12: 14:28 StorageLive(_17); // scope 4 at $DIR/address-of.rs:15:9: 15:10 StorageLive(_18); // scope 4 at $DIR/address-of.rs:15:30: 15:31 _18 = &raw const (*_1); // scope 4 at $DIR/address-of.rs:15:30: 15:31 _17 = move _18 as *const dyn std::marker::Send (Pointer(Unsize)); // scope 4 at $DIR/address-of.rs:15:30: 15:31 StorageDead(_18); // scope 4 at $DIR/address-of.rs:15:30: 15:31 - FakeRead(ForLet, _17); // scope 4 at $DIR/address-of.rs:15:9: 15:10 + FakeRead(ForLet(None), _17); // scope 4 at $DIR/address-of.rs:15:9: 15:10 AscribeUserType(_17, o, UserTypeProjection { base: UserType(7), projs: [] }); // scope 4 at $DIR/address-of.rs:15:12: 15:27 StorageLive(_19); // scope 5 at $DIR/address-of.rs:16:9: 16:10 StorageLive(_20); // scope 5 at $DIR/address-of.rs:16:27: 16:28 _20 = &raw const (*_1); // scope 5 at $DIR/address-of.rs:16:27: 16:28 _19 = move _20 as *const [i32] (Pointer(Unsize)); // scope 5 at $DIR/address-of.rs:16:27: 16:28 StorageDead(_20); // scope 5 at $DIR/address-of.rs:16:27: 16:28 - FakeRead(ForLet, _19); // scope 5 at $DIR/address-of.rs:16:9: 16:10 + FakeRead(ForLet(None), _19); // scope 5 at $DIR/address-of.rs:16:9: 16:10 AscribeUserType(_19, o, UserTypeProjection { base: UserType(9), projs: [] }); // scope 5 at $DIR/address-of.rs:16:12: 16:24 StorageLive(_21); // scope 6 at $DIR/address-of.rs:18:5: 18:18 StorageLive(_22); // scope 6 at $DIR/address-of.rs:18:5: 18:18 @@ -218,25 +218,25 @@ fn address_of_reborrow() -> () { StorageDead(_27); // scope 6 at $DIR/address-of.rs:21:22: 21:23 StorageLive(_29); // scope 6 at $DIR/address-of.rs:23:9: 23:10 _29 = &raw const (*_3); // scope 6 at $DIR/address-of.rs:23:23: 23:24 - FakeRead(ForLet, _29); // scope 6 at $DIR/address-of.rs:23:9: 23:10 + FakeRead(ForLet(None), _29); // scope 6 at $DIR/address-of.rs:23:9: 23:10 AscribeUserType(_29, o, UserTypeProjection { base: UserType(13), projs: [] }); // scope 6 at $DIR/address-of.rs:23:12: 23:20 StorageLive(_30); // scope 7 at $DIR/address-of.rs:24:9: 24:10 _30 = &raw const (*_3); // scope 7 at $DIR/address-of.rs:24:31: 24:32 - FakeRead(ForLet, _30); // scope 7 at $DIR/address-of.rs:24:9: 24:10 + FakeRead(ForLet(None), _30); // scope 7 at $DIR/address-of.rs:24:9: 24:10 AscribeUserType(_30, o, UserTypeProjection { base: UserType(15), projs: [] }); // scope 7 at $DIR/address-of.rs:24:12: 24:28 StorageLive(_31); // scope 8 at $DIR/address-of.rs:25:9: 25:10 StorageLive(_32); // scope 8 at $DIR/address-of.rs:25:30: 25:31 _32 = &raw const (*_3); // scope 8 at $DIR/address-of.rs:25:30: 25:31 _31 = move _32 as *const dyn std::marker::Send (Pointer(Unsize)); // scope 8 at $DIR/address-of.rs:25:30: 25:31 StorageDead(_32); // scope 8 at $DIR/address-of.rs:25:30: 25:31 - FakeRead(ForLet, _31); // scope 8 at $DIR/address-of.rs:25:9: 25:10 + FakeRead(ForLet(None), _31); // scope 8 at $DIR/address-of.rs:25:9: 25:10 AscribeUserType(_31, o, UserTypeProjection { base: UserType(17), projs: [] }); // scope 8 at $DIR/address-of.rs:25:12: 25:27 StorageLive(_33); // scope 9 at $DIR/address-of.rs:26:9: 26:10 StorageLive(_34); // scope 9 at $DIR/address-of.rs:26:27: 26:28 _34 = &raw const (*_3); // scope 9 at $DIR/address-of.rs:26:27: 26:28 _33 = move _34 as *const [i32] (Pointer(Unsize)); // scope 9 at $DIR/address-of.rs:26:27: 26:28 StorageDead(_34); // scope 9 at $DIR/address-of.rs:26:27: 26:28 - FakeRead(ForLet, _33); // scope 9 at $DIR/address-of.rs:26:9: 26:10 + FakeRead(ForLet(None), _33); // scope 9 at $DIR/address-of.rs:26:9: 26:10 AscribeUserType(_33, o, UserTypeProjection { base: UserType(19), projs: [] }); // scope 9 at $DIR/address-of.rs:26:12: 26:24 StorageLive(_35); // scope 10 at $DIR/address-of.rs:28:5: 28:16 StorageLive(_36); // scope 10 at $DIR/address-of.rs:28:5: 28:16 @@ -266,25 +266,25 @@ fn address_of_reborrow() -> () { StorageDead(_41); // scope 10 at $DIR/address-of.rs:31:20: 31:21 StorageLive(_43); // scope 10 at $DIR/address-of.rs:33:9: 33:10 _43 = &raw mut (*_3); // scope 10 at $DIR/address-of.rs:33:21: 33:22 - FakeRead(ForLet, _43); // scope 10 at $DIR/address-of.rs:33:9: 33:10 + FakeRead(ForLet(None), _43); // scope 10 at $DIR/address-of.rs:33:9: 33:10 AscribeUserType(_43, o, UserTypeProjection { base: UserType(23), projs: [] }); // scope 10 at $DIR/address-of.rs:33:12: 33:18 StorageLive(_44); // scope 11 at $DIR/address-of.rs:34:9: 34:10 _44 = &raw mut (*_3); // scope 11 at $DIR/address-of.rs:34:29: 34:30 - FakeRead(ForLet, _44); // scope 11 at $DIR/address-of.rs:34:9: 34:10 + FakeRead(ForLet(None), _44); // scope 11 at $DIR/address-of.rs:34:9: 34:10 AscribeUserType(_44, o, UserTypeProjection { base: UserType(25), projs: [] }); // scope 11 at $DIR/address-of.rs:34:12: 34:26 StorageLive(_45); // scope 12 at $DIR/address-of.rs:35:9: 35:10 StorageLive(_46); // scope 12 at $DIR/address-of.rs:35:28: 35:29 _46 = &raw mut (*_3); // scope 12 at $DIR/address-of.rs:35:28: 35:29 _45 = move _46 as *mut dyn std::marker::Send (Pointer(Unsize)); // scope 12 at $DIR/address-of.rs:35:28: 35:29 StorageDead(_46); // scope 12 at $DIR/address-of.rs:35:28: 35:29 - FakeRead(ForLet, _45); // scope 12 at $DIR/address-of.rs:35:9: 35:10 + FakeRead(ForLet(None), _45); // scope 12 at $DIR/address-of.rs:35:9: 35:10 AscribeUserType(_45, o, UserTypeProjection { base: UserType(27), projs: [] }); // scope 12 at $DIR/address-of.rs:35:12: 35:25 StorageLive(_47); // scope 13 at $DIR/address-of.rs:36:9: 36:10 StorageLive(_48); // scope 13 at $DIR/address-of.rs:36:25: 36:26 _48 = &raw mut (*_3); // scope 13 at $DIR/address-of.rs:36:25: 36:26 _47 = move _48 as *mut [i32] (Pointer(Unsize)); // scope 13 at $DIR/address-of.rs:36:25: 36:26 StorageDead(_48); // scope 13 at $DIR/address-of.rs:36:25: 36:26 - FakeRead(ForLet, _47); // scope 13 at $DIR/address-of.rs:36:9: 36:10 + FakeRead(ForLet(None), _47); // scope 13 at $DIR/address-of.rs:36:9: 36:10 AscribeUserType(_47, o, UserTypeProjection { base: UserType(29), projs: [] }); // scope 13 at $DIR/address-of.rs:36:12: 36:22 _0 = const (); // scope 0 at $DIR/address-of.rs:3:26: 37:2 StorageDead(_47); // scope 13 at $DIR/address-of.rs:37:1: 37:2 diff --git a/src/test/mir-opt/address_of.borrow_and_cast.SimplifyCfg-initial.after.mir b/src/test/mir-opt/address_of.borrow_and_cast.SimplifyCfg-initial.after.mir index e058b0aaa8f0e..195f3e2e65c64 100644 --- a/src/test/mir-opt/address_of.borrow_and_cast.SimplifyCfg-initial.after.mir +++ b/src/test/mir-opt/address_of.borrow_and_cast.SimplifyCfg-initial.after.mir @@ -24,19 +24,19 @@ fn borrow_and_cast(_1: i32) -> () { StorageLive(_3); // scope 0 at $DIR/address-of.rs:42:13: 42:15 _3 = &_1; // scope 0 at $DIR/address-of.rs:42:13: 42:15 _2 = &raw const (*_3); // scope 0 at $DIR/address-of.rs:42:13: 42:15 - FakeRead(ForLet, _2); // scope 0 at $DIR/address-of.rs:42:9: 42:10 + FakeRead(ForLet(None), _2); // scope 0 at $DIR/address-of.rs:42:9: 42:10 StorageDead(_3); // scope 0 at $DIR/address-of.rs:42:29: 42:30 StorageLive(_4); // scope 1 at $DIR/address-of.rs:43:9: 43:10 StorageLive(_5); // scope 1 at $DIR/address-of.rs:43:13: 43:19 _5 = &mut _1; // scope 1 at $DIR/address-of.rs:43:13: 43:19 _4 = &raw const (*_5); // scope 1 at $DIR/address-of.rs:43:13: 43:19 - FakeRead(ForLet, _4); // scope 1 at $DIR/address-of.rs:43:9: 43:10 + FakeRead(ForLet(None), _4); // scope 1 at $DIR/address-of.rs:43:9: 43:10 StorageDead(_5); // scope 1 at $DIR/address-of.rs:43:33: 43:34 StorageLive(_6); // scope 2 at $DIR/address-of.rs:44:9: 44:10 StorageLive(_7); // scope 2 at $DIR/address-of.rs:44:13: 44:19 _7 = &mut _1; // scope 2 at $DIR/address-of.rs:44:13: 44:19 _6 = &raw mut (*_7); // scope 2 at $DIR/address-of.rs:44:13: 44:19 - FakeRead(ForLet, _6); // scope 2 at $DIR/address-of.rs:44:9: 44:10 + FakeRead(ForLet(None), _6); // scope 2 at $DIR/address-of.rs:44:9: 44:10 StorageDead(_7); // scope 2 at $DIR/address-of.rs:44:31: 44:32 _0 = const (); // scope 0 at $DIR/address-of.rs:41:32: 45:2 StorageDead(_6); // scope 2 at $DIR/address-of.rs:45:1: 45:2 diff --git a/src/test/mir-opt/basic_assignment.main.SimplifyCfg-initial.after.mir b/src/test/mir-opt/basic_assignment.main.SimplifyCfg-initial.after.mir index 7e0ca3dea4b71..e751b825c0505 100644 --- a/src/test/mir-opt/basic_assignment.main.SimplifyCfg-initial.after.mir +++ b/src/test/mir-opt/basic_assignment.main.SimplifyCfg-initial.after.mir @@ -28,7 +28,7 @@ fn main() -> () { bb0: { StorageLive(_1); // scope 0 at $DIR/basic_assignment.rs:11:9: 11:17 _1 = const false; // scope 0 at $DIR/basic_assignment.rs:11:20: 11:25 - FakeRead(ForLet, _1); // scope 0 at $DIR/basic_assignment.rs:11:9: 11:17 + FakeRead(ForLet(None), _1); // scope 0 at $DIR/basic_assignment.rs:11:9: 11:17 StorageLive(_2); // scope 1 at $DIR/basic_assignment.rs:12:9: 12:17 StorageLive(_3); // scope 2 at $DIR/basic_assignment.rs:16:16: 16:24 _3 = _1; // scope 2 at $DIR/basic_assignment.rs:16:16: 16:24 @@ -36,7 +36,7 @@ fn main() -> () { StorageDead(_3); // scope 2 at $DIR/basic_assignment.rs:16:23: 16:24 StorageLive(_4); // scope 2 at $DIR/basic_assignment.rs:18:9: 18:15 _4 = Option::>::None; // scope 2 at $DIR/basic_assignment.rs:18:36: 18:40 - FakeRead(ForLet, _4); // scope 2 at $DIR/basic_assignment.rs:18:9: 18:15 + FakeRead(ForLet(None), _4); // scope 2 at $DIR/basic_assignment.rs:18:9: 18:15 AscribeUserType(_4, o, UserTypeProjection { base: UserType(1), projs: [] }); // scope 2 at $DIR/basic_assignment.rs:18:17: 18:33 StorageLive(_5); // scope 3 at $DIR/basic_assignment.rs:19:9: 19:15 StorageLive(_6); // scope 4 at $DIR/basic_assignment.rs:23:14: 23:20 diff --git a/src/test/mir-opt/exponential_or.match_tuple.SimplifyCfg-initial.after.mir b/src/test/mir-opt/exponential_or.match_tuple.SimplifyCfg-initial.after.mir index aa4f996c4b46a..93507879a6f83 100644 --- a/src/test/mir-opt/exponential_or.match_tuple.SimplifyCfg-initial.after.mir +++ b/src/test/mir-opt/exponential_or.match_tuple.SimplifyCfg-initial.after.mir @@ -18,7 +18,7 @@ fn match_tuple(_1: (u32, bool, Option, u32)) -> u32 { } bb0: { - FakeRead(ForMatchedPlace, _1); // scope 0 at $DIR/exponential-or.rs:5:11: 5:12 + FakeRead(ForMatchedPlace(None), _1); // scope 0 at $DIR/exponential-or.rs:5:11: 5:12 switchInt((_1.0: u32)) -> [1_u32: bb2, 4_u32: bb2, otherwise: bb1]; // scope 0 at $DIR/exponential-or.rs:6:15: 6:16 } diff --git a/src/test/mir-opt/issue_38669.main.SimplifyCfg-initial.after.mir b/src/test/mir-opt/issue_38669.main.SimplifyCfg-initial.after.mir index e9e5a101a64a5..8355b2d195e14 100644 --- a/src/test/mir-opt/issue_38669.main.SimplifyCfg-initial.after.mir +++ b/src/test/mir-opt/issue_38669.main.SimplifyCfg-initial.after.mir @@ -14,7 +14,7 @@ fn main() -> () { bb0: { StorageLive(_1); // scope 0 at $DIR/issue-38669.rs:5:9: 5:25 _1 = const false; // scope 0 at $DIR/issue-38669.rs:5:28: 5:33 - FakeRead(ForLet, _1); // scope 0 at $DIR/issue-38669.rs:5:9: 5:25 + FakeRead(ForLet(None), _1); // scope 0 at $DIR/issue-38669.rs:5:9: 5:25 goto -> bb1; // scope 1 at $DIR/issue-38669.rs:6:5: 11:6 } diff --git a/src/test/mir-opt/issue_49232.main.mir_map.0.mir b/src/test/mir-opt/issue_49232.main.mir_map.0.mir index 79f5495c78828..06fbbda3d9e22 100644 --- a/src/test/mir-opt/issue_49232.main.mir_map.0.mir +++ b/src/test/mir-opt/issue_49232.main.mir_map.0.mir @@ -24,7 +24,7 @@ fn main() -> () { StorageLive(_2); // scope 0 at $DIR/issue-49232.rs:7:13: 7:19 StorageLive(_3); // scope 0 at $DIR/issue-49232.rs:8:19: 8:23 _3 = const true; // scope 0 at $DIR/issue-49232.rs:8:19: 8:23 - FakeRead(ForMatchedPlace, _3); // scope 0 at $DIR/issue-49232.rs:8:19: 8:23 + FakeRead(ForMatchedPlace(None), _3); // scope 0 at $DIR/issue-49232.rs:8:19: 8:23 switchInt(_3) -> [false: bb3, otherwise: bb4]; // scope 0 at $DIR/issue-49232.rs:9:17: 9:22 } @@ -51,7 +51,7 @@ fn main() -> () { } bb8: { - FakeRead(ForLet, _2); // scope 0 at $DIR/issue-49232.rs:7:13: 7:19 + FakeRead(ForLet(None), _2); // scope 0 at $DIR/issue-49232.rs:7:13: 7:19 StorageDead(_3); // scope 0 at $DIR/issue-49232.rs:12:10: 12:11 StorageLive(_5); // scope 1 at $DIR/issue-49232.rs:13:9: 13:22 StorageLive(_6); // scope 1 at $DIR/issue-49232.rs:13:14: 13:21 diff --git a/src/test/mir-opt/issue_72181.main.mir_map.0.32bit.mir b/src/test/mir-opt/issue_72181.main.mir_map.0.32bit.mir index cf66a501e35ee..2e6783b7f3c9d 100644 --- a/src/test/mir-opt/issue_72181.main.mir_map.0.32bit.mir +++ b/src/test/mir-opt/issue_72181.main.mir_map.0.32bit.mir @@ -38,7 +38,7 @@ fn main() -> () { _2 = [move _3, move _4]; // scope 1 at $DIR/issue-72181.rs:26:13: 26:43 StorageDead(_4); // scope 1 at $DIR/issue-72181.rs:26:42: 26:43 StorageDead(_3); // scope 1 at $DIR/issue-72181.rs:26:42: 26:43 - FakeRead(ForLet, _2); // scope 1 at $DIR/issue-72181.rs:26:9: 26:10 + FakeRead(ForLet(None), _2); // scope 1 at $DIR/issue-72181.rs:26:9: 26:10 StorageLive(_5); // scope 2 at $DIR/issue-72181.rs:27:13: 27:30 StorageLive(_6); // scope 4 at $DIR/issue-72181.rs:27:24: 27:25 _6 = const 0_usize; // scope 4 at $DIR/issue-72181.rs:27:24: 27:25 diff --git a/src/test/mir-opt/issue_72181.main.mir_map.0.64bit.mir b/src/test/mir-opt/issue_72181.main.mir_map.0.64bit.mir index cf66a501e35ee..2e6783b7f3c9d 100644 --- a/src/test/mir-opt/issue_72181.main.mir_map.0.64bit.mir +++ b/src/test/mir-opt/issue_72181.main.mir_map.0.64bit.mir @@ -38,7 +38,7 @@ fn main() -> () { _2 = [move _3, move _4]; // scope 1 at $DIR/issue-72181.rs:26:13: 26:43 StorageDead(_4); // scope 1 at $DIR/issue-72181.rs:26:42: 26:43 StorageDead(_3); // scope 1 at $DIR/issue-72181.rs:26:42: 26:43 - FakeRead(ForLet, _2); // scope 1 at $DIR/issue-72181.rs:26:9: 26:10 + FakeRead(ForLet(None), _2); // scope 1 at $DIR/issue-72181.rs:26:9: 26:10 StorageLive(_5); // scope 2 at $DIR/issue-72181.rs:27:13: 27:30 StorageLive(_6); // scope 4 at $DIR/issue-72181.rs:27:24: 27:25 _6 = const 0_usize; // scope 4 at $DIR/issue-72181.rs:27:24: 27:25 diff --git a/src/test/mir-opt/issue_72181_1.f.mir_map.0.mir b/src/test/mir-opt/issue_72181_1.f.mir_map.0.mir index 7571d7bb94f92..7def08ece220b 100644 --- a/src/test/mir-opt/issue_72181_1.f.mir_map.0.mir +++ b/src/test/mir-opt/issue_72181_1.f.mir_map.0.mir @@ -9,7 +9,7 @@ fn f(_1: Void) -> ! { bb0: { StorageLive(_2); // scope 0 at $DIR/issue-72181-1.rs:10:20: 12:2 StorageLive(_3); // scope 0 at $DIR/issue-72181-1.rs:11:5: 11:15 - FakeRead(ForMatchedPlace, _1); // scope 0 at $DIR/issue-72181-1.rs:11:11: 11:12 + FakeRead(ForMatchedPlace(None), _1); // scope 0 at $DIR/issue-72181-1.rs:11:11: 11:12 unreachable; // scope 0 at $DIR/issue-72181-1.rs:11:11: 11:12 } diff --git a/src/test/mir-opt/issue_72181_1.main.mir_map.0.mir b/src/test/mir-opt/issue_72181_1.main.mir_map.0.mir index 1fd91c2056bf8..3c26b20c35e2d 100644 --- a/src/test/mir-opt/issue_72181_1.main.mir_map.0.mir +++ b/src/test/mir-opt/issue_72181_1.main.mir_map.0.mir @@ -29,7 +29,7 @@ fn main() -> () { bb1: { StorageDead(_3); // scope 2 at $DIR/issue-72181-1.rs:17:43: 17:44 - FakeRead(ForLet, _2); // scope 0 at $DIR/issue-72181-1.rs:16:9: 16:10 + FakeRead(ForLet(None), _2); // scope 0 at $DIR/issue-72181-1.rs:16:9: 16:10 AscribeUserType(_2, o, UserTypeProjection { base: UserType(1), projs: [] }); // scope 0 at $DIR/issue-72181-1.rs:16:12: 16:16 StorageLive(_4); // scope 1 at $DIR/issue-72181-1.rs:20:5: 20:9 StorageLive(_5); // scope 1 at $DIR/issue-72181-1.rs:20:7: 20:8 diff --git a/src/test/mir-opt/loop_test.main.SimplifyCfg-promote-consts.after.mir b/src/test/mir-opt/loop_test.main.SimplifyCfg-promote-consts.after.mir index f109937dbf937..99c7ac8d5b708 100644 --- a/src/test/mir-opt/loop_test.main.SimplifyCfg-promote-consts.after.mir +++ b/src/test/mir-opt/loop_test.main.SimplifyCfg-promote-consts.after.mir @@ -41,7 +41,7 @@ fn main() -> () { bb4: { StorageLive(_6); // scope 0 at $DIR/loop_test.rs:14:13: 14:14 _6 = const 1_i32; // scope 0 at $DIR/loop_test.rs:14:17: 14:18 - FakeRead(ForLet, _6); // scope 0 at $DIR/loop_test.rs:14:13: 14:14 + FakeRead(ForLet(None), _6); // scope 0 at $DIR/loop_test.rs:14:13: 14:14 StorageDead(_6); // scope 0 at $DIR/loop_test.rs:16:5: 16:6 goto -> bb3; // scope 0 at $DIR/loop_test.rs:1:1: 1:1 } diff --git a/src/test/mir-opt/match_arm_scopes.complicated_match.SimplifyCfg-initial.after-ElaborateDrops.after.diff b/src/test/mir-opt/match_arm_scopes.complicated_match.SimplifyCfg-initial.after-ElaborateDrops.after.diff index 95beab2ec9af7..3395cbfbdfb3a 100644 --- a/src/test/mir-opt/match_arm_scopes.complicated_match.SimplifyCfg-initial.after-ElaborateDrops.after.diff +++ b/src/test/mir-opt/match_arm_scopes.complicated_match.SimplifyCfg-initial.after-ElaborateDrops.after.diff @@ -31,7 +31,7 @@ } bb0: { -- FakeRead(ForMatchedPlace, _2); // scope 0 at $DIR/match-arm-scopes.rs:14:11: 14:16 +- FakeRead(ForMatchedPlace(None), _2); // scope 0 at $DIR/match-arm-scopes.rs:14:11: 14:16 - switchInt((_2.0: bool)) -> [false: bb1, otherwise: bb2]; // scope 0 at $DIR/match-arm-scopes.rs:15:10: 15:15 + switchInt((_2.0: bool)) -> [false: bb5, otherwise: bb1]; // scope 0 at $DIR/match-arm-scopes.rs:15:10: 15:15 } diff --git a/src/test/mir-opt/match_false_edges.full_tested_match.PromoteTemps.after.mir b/src/test/mir-opt/match_false_edges.full_tested_match.PromoteTemps.after.mir index 242138754c5d7..f57be9a1ef77d 100644 --- a/src/test/mir-opt/match_false_edges.full_tested_match.PromoteTemps.after.mir +++ b/src/test/mir-opt/match_false_edges.full_tested_match.PromoteTemps.after.mir @@ -27,7 +27,7 @@ fn full_tested_match() -> () { StorageLive(_1); // scope 0 at $DIR/match_false_edges.rs:15:13: 19:6 StorageLive(_2); // scope 0 at $DIR/match_false_edges.rs:15:19: 15:27 _2 = Option::::Some(const 42_i32); // scope 0 at $DIR/match_false_edges.rs:15:19: 15:27 - FakeRead(ForMatchedPlace, _2); // scope 0 at $DIR/match_false_edges.rs:15:19: 15:27 + FakeRead(ForMatchedPlace(None), _2); // scope 0 at $DIR/match_false_edges.rs:15:19: 15:27 _3 = discriminant(_2); // scope 0 at $DIR/match_false_edges.rs:16:9: 16:16 switchInt(move _3) -> [0_isize: bb1, 1_isize: bb2, otherwise: bb4]; // scope 0 at $DIR/match_false_edges.rs:16:9: 16:16 } diff --git a/src/test/mir-opt/match_false_edges.full_tested_match2.PromoteTemps.before.mir b/src/test/mir-opt/match_false_edges.full_tested_match2.PromoteTemps.before.mir index c7b1cce061bc6..a4ebf8a02466a 100644 --- a/src/test/mir-opt/match_false_edges.full_tested_match2.PromoteTemps.before.mir +++ b/src/test/mir-opt/match_false_edges.full_tested_match2.PromoteTemps.before.mir @@ -26,7 +26,7 @@ fn full_tested_match2() -> () { StorageLive(_1); // scope 0 at $DIR/match_false_edges.rs:26:13: 30:6 StorageLive(_2); // scope 0 at $DIR/match_false_edges.rs:26:19: 26:27 _2 = Option::::Some(const 42_i32); // scope 0 at $DIR/match_false_edges.rs:26:19: 26:27 - FakeRead(ForMatchedPlace, _2); // scope 0 at $DIR/match_false_edges.rs:26:19: 26:27 + FakeRead(ForMatchedPlace(None), _2); // scope 0 at $DIR/match_false_edges.rs:26:19: 26:27 _3 = discriminant(_2); // scope 0 at $DIR/match_false_edges.rs:27:9: 27:16 switchInt(move _3) -> [0_isize: bb1, 1_isize: bb2, otherwise: bb4]; // scope 0 at $DIR/match_false_edges.rs:27:9: 27:16 } diff --git a/src/test/mir-opt/match_false_edges.main.PromoteTemps.before.mir b/src/test/mir-opt/match_false_edges.main.PromoteTemps.before.mir index 9b8ce2c1ed047..5de52b324f43f 100644 --- a/src/test/mir-opt/match_false_edges.main.PromoteTemps.before.mir +++ b/src/test/mir-opt/match_false_edges.main.PromoteTemps.before.mir @@ -37,7 +37,7 @@ fn main() -> () { StorageLive(_1); // scope 0 at $DIR/match_false_edges.rs:35:13: 40:6 StorageLive(_2); // scope 0 at $DIR/match_false_edges.rs:35:19: 35:26 _2 = Option::::Some(const 1_i32); // scope 0 at $DIR/match_false_edges.rs:35:19: 35:26 - FakeRead(ForMatchedPlace, _2); // scope 0 at $DIR/match_false_edges.rs:35:19: 35:26 + FakeRead(ForMatchedPlace(None), _2); // scope 0 at $DIR/match_false_edges.rs:35:19: 35:26 _4 = discriminant(_2); // scope 0 at $DIR/match_false_edges.rs:36:9: 36:17 switchInt(move _4) -> [1_isize: bb2, otherwise: bb1]; // scope 0 at $DIR/match_false_edges.rs:36:9: 36:17 } diff --git a/src/test/mir-opt/match_test.main.SimplifyCfg-initial.after.mir b/src/test/mir-opt/match_test.main.SimplifyCfg-initial.after.mir index e3bc4f80f27fd..5bb910947ca25 100644 --- a/src/test/mir-opt/match_test.main.SimplifyCfg-initial.after.mir +++ b/src/test/mir-opt/match_test.main.SimplifyCfg-initial.after.mir @@ -21,12 +21,12 @@ fn main() -> () { bb0: { StorageLive(_1); // scope 0 at $DIR/match_test.rs:7:9: 7:10 _1 = const 3_i32; // scope 0 at $DIR/match_test.rs:7:13: 7:14 - FakeRead(ForLet, _1); // scope 0 at $DIR/match_test.rs:7:9: 7:10 + FakeRead(ForLet(None), _1); // scope 0 at $DIR/match_test.rs:7:9: 7:10 StorageLive(_2); // scope 1 at $DIR/match_test.rs:8:9: 8:10 _2 = const true; // scope 1 at $DIR/match_test.rs:8:13: 8:17 - FakeRead(ForLet, _2); // scope 1 at $DIR/match_test.rs:8:9: 8:10 + FakeRead(ForLet(None), _2); // scope 1 at $DIR/match_test.rs:8:9: 8:10 StorageLive(_3); // scope 2 at $DIR/match_test.rs:12:5: 17:6 - FakeRead(ForMatchedPlace, _1); // scope 2 at $DIR/match_test.rs:12:11: 12:12 + FakeRead(ForMatchedPlace(None), _1); // scope 2 at $DIR/match_test.rs:12:11: 12:12 _6 = Le(const 0_i32, _1); // scope 2 at $DIR/match_test.rs:13:9: 13:14 switchInt(move _6) -> [false: bb4, otherwise: bb1]; // scope 2 at $DIR/match_test.rs:13:9: 13:14 } diff --git a/src/test/mir-opt/nll/region_subtyping_basic.main.nll.0.32bit.mir b/src/test/mir-opt/nll/region_subtyping_basic.main.nll.0.32bit.mir index 8c939d5fc3da5..39e6cee11b4c9 100644 --- a/src/test/mir-opt/nll/region_subtyping_basic.main.nll.0.32bit.mir +++ b/src/test/mir-opt/nll/region_subtyping_basic.main.nll.0.32bit.mir @@ -46,7 +46,7 @@ fn main() -> () { bb0: { StorageLive(_1); // bb0[0]: scope 0 at $DIR/region-subtyping-basic.rs:17:9: 17:14 _1 = [const Const(Value(Scalar(0x00000001)): usize), const Const(Value(Scalar(0x00000002)): usize), const Const(Value(Scalar(0x00000003)): usize)]; // bb0[1]: scope 0 at $DIR/region-subtyping-basic.rs:17:17: 17:26 - FakeRead(ForLet, _1); // bb0[2]: scope 0 at $DIR/region-subtyping-basic.rs:17:9: 17:14 + FakeRead(ForLet(None), _1); // bb0[2]: scope 0 at $DIR/region-subtyping-basic.rs:17:9: 17:14 StorageLive(_2); // bb0[3]: scope 1 at $DIR/region-subtyping-basic.rs:18:9: 18:10 StorageLive(_3); // bb0[4]: scope 1 at $DIR/region-subtyping-basic.rs:18:16: 18:17 _3 = const Const(Value(Scalar(0x00000000)): usize); // bb0[5]: scope 1 at $DIR/region-subtyping-basic.rs:18:16: 18:17 @@ -57,10 +57,10 @@ fn main() -> () { bb1: { _2 = &'_#3r _1[_3]; // bb1[0]: scope 1 at $DIR/region-subtyping-basic.rs:18:13: 18:18 - FakeRead(ForLet, _2); // bb1[1]: scope 1 at $DIR/region-subtyping-basic.rs:18:9: 18:10 + FakeRead(ForLet(None), _2); // bb1[1]: scope 1 at $DIR/region-subtyping-basic.rs:18:9: 18:10 StorageLive(_6); // bb1[2]: scope 2 at $DIR/region-subtyping-basic.rs:19:9: 19:10 _6 = _2; // bb1[3]: scope 2 at $DIR/region-subtyping-basic.rs:19:13: 19:14 - FakeRead(ForLet, _6); // bb1[4]: scope 2 at $DIR/region-subtyping-basic.rs:19:9: 19:10 + FakeRead(ForLet(None), _6); // bb1[4]: scope 2 at $DIR/region-subtyping-basic.rs:19:9: 19:10 StorageLive(_7); // bb1[5]: scope 3 at $DIR/region-subtyping-basic.rs:20:8: 20:12 _7 = const Const(Value(Scalar(0x01)): bool); // bb1[6]: scope 3 at $DIR/region-subtyping-basic.rs:20:8: 20:12 switchInt(move _7) -> [Const(Value(Scalar(0x00)): bool): bb3, otherwise: bb2]; // bb1[7]: scope 3 at $DIR/region-subtyping-basic.rs:20:5: 24:6 diff --git a/src/test/mir-opt/nll/region_subtyping_basic.main.nll.0.64bit.mir b/src/test/mir-opt/nll/region_subtyping_basic.main.nll.0.64bit.mir index 00704baa6c19f..6021b6529f911 100644 --- a/src/test/mir-opt/nll/region_subtyping_basic.main.nll.0.64bit.mir +++ b/src/test/mir-opt/nll/region_subtyping_basic.main.nll.0.64bit.mir @@ -46,7 +46,7 @@ fn main() -> () { bb0: { StorageLive(_1); // bb0[0]: scope 0 at $DIR/region-subtyping-basic.rs:17:9: 17:14 _1 = [const Const(Value(Scalar(0x0000000000000001)): usize), const Const(Value(Scalar(0x0000000000000002)): usize), const Const(Value(Scalar(0x0000000000000003)): usize)]; // bb0[1]: scope 0 at $DIR/region-subtyping-basic.rs:17:17: 17:26 - FakeRead(ForLet, _1); // bb0[2]: scope 0 at $DIR/region-subtyping-basic.rs:17:9: 17:14 + FakeRead(ForLet(None), _1); // bb0[2]: scope 0 at $DIR/region-subtyping-basic.rs:17:9: 17:14 StorageLive(_2); // bb0[3]: scope 1 at $DIR/region-subtyping-basic.rs:18:9: 18:10 StorageLive(_3); // bb0[4]: scope 1 at $DIR/region-subtyping-basic.rs:18:16: 18:17 _3 = const Const(Value(Scalar(0x0000000000000000)): usize); // bb0[5]: scope 1 at $DIR/region-subtyping-basic.rs:18:16: 18:17 @@ -57,10 +57,10 @@ fn main() -> () { bb1: { _2 = &'_#3r _1[_3]; // bb1[0]: scope 1 at $DIR/region-subtyping-basic.rs:18:13: 18:18 - FakeRead(ForLet, _2); // bb1[1]: scope 1 at $DIR/region-subtyping-basic.rs:18:9: 18:10 + FakeRead(ForLet(None), _2); // bb1[1]: scope 1 at $DIR/region-subtyping-basic.rs:18:9: 18:10 StorageLive(_6); // bb1[2]: scope 2 at $DIR/region-subtyping-basic.rs:19:9: 19:10 _6 = _2; // bb1[3]: scope 2 at $DIR/region-subtyping-basic.rs:19:13: 19:14 - FakeRead(ForLet, _6); // bb1[4]: scope 2 at $DIR/region-subtyping-basic.rs:19:9: 19:10 + FakeRead(ForLet(None), _6); // bb1[4]: scope 2 at $DIR/region-subtyping-basic.rs:19:9: 19:10 StorageLive(_7); // bb1[5]: scope 3 at $DIR/region-subtyping-basic.rs:20:8: 20:12 _7 = const Const(Value(Scalar(0x01)): bool); // bb1[6]: scope 3 at $DIR/region-subtyping-basic.rs:20:8: 20:12 switchInt(move _7) -> [Const(Value(Scalar(0x00)): bool): bb3, otherwise: bb2]; // bb1[7]: scope 3 at $DIR/region-subtyping-basic.rs:20:5: 24:6 diff --git a/src/test/mir-opt/receiver_ptr_mutability.main.mir_map.0.mir b/src/test/mir-opt/receiver_ptr_mutability.main.mir_map.0.mir index d2d96ff468dfc..f54c8f8ab4a2e 100644 --- a/src/test/mir-opt/receiver_ptr_mutability.main.mir_map.0.mir +++ b/src/test/mir-opt/receiver_ptr_mutability.main.mir_map.0.mir @@ -36,7 +36,7 @@ fn main() -> () { } bb1: { - FakeRead(ForLet, _1); // scope 0 at $DIR/receiver-ptr-mutability.rs:14:9: 14:12 + FakeRead(ForLet(None), _1); // scope 0 at $DIR/receiver-ptr-mutability.rs:14:9: 14:12 AscribeUserType(_1, o, UserTypeProjection { base: UserType(1), projs: [] }); // scope 0 at $DIR/receiver-ptr-mutability.rs:14:14: 14:23 StorageLive(_2); // scope 1 at $DIR/receiver-ptr-mutability.rs:15:5: 15:12 StorageLive(_3); // scope 1 at $DIR/receiver-ptr-mutability.rs:15:5: 15:8 @@ -63,7 +63,7 @@ fn main() -> () { _7 = &_8; // scope 1 at $DIR/receiver-ptr-mutability.rs:18:35: 18:41 _6 = &_7; // scope 1 at $DIR/receiver-ptr-mutability.rs:18:34: 18:41 _5 = &(*_6); // scope 1 at $DIR/receiver-ptr-mutability.rs:18:34: 18:41 - FakeRead(ForLet, _5); // scope 1 at $DIR/receiver-ptr-mutability.rs:18:9: 18:16 + FakeRead(ForLet(None), _5); // scope 1 at $DIR/receiver-ptr-mutability.rs:18:9: 18:16 AscribeUserType(_5, o, UserTypeProjection { base: UserType(3), projs: [] }); // scope 1 at $DIR/receiver-ptr-mutability.rs:18:18: 18:31 StorageDead(_6); // scope 1 at $DIR/receiver-ptr-mutability.rs:18:41: 18:42 StorageLive(_10); // scope 2 at $DIR/receiver-ptr-mutability.rs:19:5: 19:16 diff --git a/src/test/mir-opt/remove_fake_borrows.match_guard.CleanupNonCodegenStatements.diff b/src/test/mir-opt/remove_fake_borrows.match_guard.CleanupNonCodegenStatements.diff index 47027311b4759..4aa388fc67bd0 100644 --- a/src/test/mir-opt/remove_fake_borrows.match_guard.CleanupNonCodegenStatements.diff +++ b/src/test/mir-opt/remove_fake_borrows.match_guard.CleanupNonCodegenStatements.diff @@ -13,7 +13,7 @@ let mut _8: bool; // in scope 0 at $DIR/remove_fake_borrows.rs:8:20: 8:21 bb0: { -- FakeRead(ForMatchedPlace, _1); // scope 0 at $DIR/remove_fake_borrows.rs:7:11: 7:12 +- FakeRead(ForMatchedPlace(None), _1); // scope 0 at $DIR/remove_fake_borrows.rs:7:11: 7:12 + nop; // scope 0 at $DIR/remove_fake_borrows.rs:7:11: 7:12 _3 = discriminant(_1); // scope 0 at $DIR/remove_fake_borrows.rs:8:9: 8:16 switchInt(move _3) -> [1_isize: bb2, otherwise: bb1]; // scope 0 at $DIR/remove_fake_borrows.rs:8:9: 8:16 diff --git a/src/test/mir-opt/simple_match.match_bool.mir_map.0.32bit.mir b/src/test/mir-opt/simple_match.match_bool.mir_map.0.32bit.mir index 5bcb20ca72a3f..841cca7c381f7 100644 --- a/src/test/mir-opt/simple_match.match_bool.mir_map.0.32bit.mir +++ b/src/test/mir-opt/simple_match.match_bool.mir_map.0.32bit.mir @@ -5,7 +5,7 @@ fn match_bool(_1: bool) -> usize { let mut _0: usize; // return place in scope 0 at $DIR/simple-match.rs:5:27: 5:32 bb0: { - FakeRead(ForMatchedPlace, _1); // scope 0 at $DIR/simple-match.rs:6:11: 6:12 + FakeRead(ForMatchedPlace(None), _1); // scope 0 at $DIR/simple-match.rs:6:11: 6:12 switchInt(_1) -> [false: bb2, otherwise: bb1]; // scope 0 at $DIR/simple-match.rs:7:9: 7:13 } diff --git a/src/test/mir-opt/simple_match.match_bool.mir_map.0.64bit.mir b/src/test/mir-opt/simple_match.match_bool.mir_map.0.64bit.mir index 5bcb20ca72a3f..841cca7c381f7 100644 --- a/src/test/mir-opt/simple_match.match_bool.mir_map.0.64bit.mir +++ b/src/test/mir-opt/simple_match.match_bool.mir_map.0.64bit.mir @@ -5,7 +5,7 @@ fn match_bool(_1: bool) -> usize { let mut _0: usize; // return place in scope 0 at $DIR/simple-match.rs:5:27: 5:32 bb0: { - FakeRead(ForMatchedPlace, _1); // scope 0 at $DIR/simple-match.rs:6:11: 6:12 + FakeRead(ForMatchedPlace(None), _1); // scope 0 at $DIR/simple-match.rs:6:11: 6:12 switchInt(_1) -> [false: bb2, otherwise: bb1]; // scope 0 at $DIR/simple-match.rs:7:9: 7:13 } diff --git a/src/test/mir-opt/storage_ranges.main.nll.0.mir b/src/test/mir-opt/storage_ranges.main.nll.0.mir index 6fa83d3de6253..e02580135af38 100644 --- a/src/test/mir-opt/storage_ranges.main.nll.0.mir +++ b/src/test/mir-opt/storage_ranges.main.nll.0.mir @@ -39,7 +39,7 @@ fn main() -> () { bb0: { StorageLive(_1); // scope 0 at $DIR/storage_ranges.rs:4:9: 4:10 _1 = const 0_i32; // scope 0 at $DIR/storage_ranges.rs:4:13: 4:14 - FakeRead(ForLet, _1); // scope 0 at $DIR/storage_ranges.rs:4:9: 4:10 + FakeRead(ForLet(None), _1); // scope 0 at $DIR/storage_ranges.rs:4:9: 4:10 StorageLive(_2); // scope 1 at $DIR/storage_ranges.rs:5:5: 7:6 StorageLive(_3); // scope 1 at $DIR/storage_ranges.rs:6:13: 6:14 StorageLive(_4); // scope 1 at $DIR/storage_ranges.rs:6:18: 6:25 @@ -48,14 +48,14 @@ fn main() -> () { _4 = Option::::Some(move _5); // scope 1 at $DIR/storage_ranges.rs:6:18: 6:25 StorageDead(_5); // scope 1 at $DIR/storage_ranges.rs:6:24: 6:25 _3 = &_4; // scope 1 at $DIR/storage_ranges.rs:6:17: 6:25 - FakeRead(ForLet, _3); // scope 1 at $DIR/storage_ranges.rs:6:13: 6:14 + FakeRead(ForLet(None), _3); // scope 1 at $DIR/storage_ranges.rs:6:13: 6:14 _2 = const (); // scope 1 at $DIR/storage_ranges.rs:5:5: 7:6 StorageDead(_4); // scope 1 at $DIR/storage_ranges.rs:7:5: 7:6 StorageDead(_3); // scope 1 at $DIR/storage_ranges.rs:7:5: 7:6 StorageDead(_2); // scope 1 at $DIR/storage_ranges.rs:7:5: 7:6 StorageLive(_6); // scope 1 at $DIR/storage_ranges.rs:8:9: 8:10 _6 = const 1_i32; // scope 1 at $DIR/storage_ranges.rs:8:13: 8:14 - FakeRead(ForLet, _6); // scope 1 at $DIR/storage_ranges.rs:8:9: 8:10 + FakeRead(ForLet(None), _6); // scope 1 at $DIR/storage_ranges.rs:8:9: 8:10 _0 = const (); // scope 0 at $DIR/storage_ranges.rs:3:11: 9:2 StorageDead(_6); // scope 1 at $DIR/storage_ranges.rs:9:1: 9:2 StorageDead(_1); // scope 0 at $DIR/storage_ranges.rs:9:1: 9:2 diff --git a/src/test/mir-opt/uniform_array_move_out.move_out_by_subslice.mir_map.0.mir b/src/test/mir-opt/uniform_array_move_out.move_out_by_subslice.mir_map.0.mir index d18f6308ded84..7f81d9fc482ff 100644 --- a/src/test/mir-opt/uniform_array_move_out.move_out_by_subslice.mir_map.0.mir +++ b/src/test/mir-opt/uniform_array_move_out.move_out_by_subslice.mir_map.0.mir @@ -48,7 +48,7 @@ fn move_out_by_subslice() -> () { bb4: { StorageDead(_2); // scope 0 at $DIR/uniform_array_move_out.rs:11:26: 11:27 - FakeRead(ForLet, _1); // scope 0 at $DIR/uniform_array_move_out.rs:11:9: 11:10 + FakeRead(ForLet(None), _1); // scope 0 at $DIR/uniform_array_move_out.rs:11:9: 11:10 StorageLive(_6); // scope 1 at $DIR/uniform_array_move_out.rs:12:10: 12:17 _6 = move _1[0..2]; // scope 1 at $DIR/uniform_array_move_out.rs:12:10: 12:17 _0 = const (); // scope 0 at $DIR/uniform_array_move_out.rs:10:27: 13:2 diff --git a/src/test/mir-opt/uniform_array_move_out.move_out_from_end.mir_map.0.mir b/src/test/mir-opt/uniform_array_move_out.move_out_from_end.mir_map.0.mir index eda8e5fd3afe7..62ab494c06628 100644 --- a/src/test/mir-opt/uniform_array_move_out.move_out_from_end.mir_map.0.mir +++ b/src/test/mir-opt/uniform_array_move_out.move_out_from_end.mir_map.0.mir @@ -48,7 +48,7 @@ fn move_out_from_end() -> () { bb4: { StorageDead(_2); // scope 0 at $DIR/uniform_array_move_out.rs:5:26: 5:27 - FakeRead(ForLet, _1); // scope 0 at $DIR/uniform_array_move_out.rs:5:9: 5:10 + FakeRead(ForLet(None), _1); // scope 0 at $DIR/uniform_array_move_out.rs:5:9: 5:10 StorageLive(_6); // scope 1 at $DIR/uniform_array_move_out.rs:6:14: 6:16 _6 = move _1[1 of 2]; // scope 1 at $DIR/uniform_array_move_out.rs:6:14: 6:16 _0 = const (); // scope 0 at $DIR/uniform_array_move_out.rs:4:24: 7:2 diff --git a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.abort/abort.main.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.abort/abort.main.-------.InstrumentCoverage.0.html index 176587af25be0..070fd95f14072 100644 --- a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.abort/abort.main.-------.InstrumentCoverage.0.html +++ b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.abort/abort.main.-------.InstrumentCoverage.0.html @@ -70,12 +70,12 @@
@0⦊fn main() -> Result<(), u8> { +15:9-15:22: @0[2]: FakeRead(ForLet(None), _1)">@0⦊fn main() -> Result<(), u8> { let mut countdown = 10⦉@0; +15:9-15:22: @0[2]: FakeRead(ForLet(None), _1)"> let mut countdown = 10⦉@0; while @1,2⦊countdown > 0⦉@1,2 { +16:11-16:24: @2[5]: FakeRead(ForMatchedPlace(None), _4)">@1,2⦊countdown > 0⦉@1,2 { if @3,5⦊countdown < 5⦉@3,5 @6,8⦊{ diff --git a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.abort/abort.might_abort.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.abort/abort.might_abort.-------.InstrumentCoverage.0.html index a302b974ae1d2..42c1aa0d1adfe 100644 --- a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.abort/abort.might_abort.-------.InstrumentCoverage.0.html +++ b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.abort/abort.might_abort.-------.InstrumentCoverage.0.html @@ -76,7 +76,7 @@ 7:18-7:31: @1[8]: _8 = &(*_9) 7:18-7:31: @1[9]: _7 = move _8 as &[&str] (Pointer(Unsize)) 7:9-7:33: @1[15]: _15 = () -7:9-7:33: @1[16]: FakeRead(ForMatchedPlace, _15) +7:9-7:33: @1[16]: FakeRead(ForMatchedPlace(None), _15) 7:9-7:33: @1[17]: _32 = const might_abort::promoted[2] 7:9-7:33: @1[18]: _13 = &(*_32) 7:9-7:33: @1[19]: _12 = &(*_13) @@ -90,7 +90,7 @@ 7:18-7:31: @1[8]: _8 = &(*_9) 7:18-7:31: @1[9]: _7 = move _8 as &[&str] (Pointer(Unsize)) 7:9-7:33: @1[15]: _15 = () -7:9-7:33: @1[16]: FakeRead(ForMatchedPlace, _15) +7:9-7:33: @1[16]: FakeRead(ForMatchedPlace(None), _15) 7:9-7:33: @1[17]: _32 = const might_abort::promoted[2] 7:9-7:33: @1[18]: _13 = &(*_32) 7:9-7:33: @1[19]: _12 = &(*_13) @@ -104,7 +104,7 @@ 10:18-10:31: @2[8]: _22 = &(*_23) 10:18-10:31: @2[9]: _21 = move _22 as &[&str] (Pointer(Unsize)) 10:9-10:33: @2[15]: _29 = () -10:9-10:33: @2[16]: FakeRead(ForMatchedPlace, _29) +10:9-10:33: @2[16]: FakeRead(ForMatchedPlace(None), _29) 10:9-10:33: @2[17]: _30 = const might_abort::promoted[0] 10:9-10:33: @2[18]: _27 = &(*_30) 10:9-10:33: @2[19]: _26 = &(*_27) @@ -119,7 +119,7 @@ 10:18-10:31: @2[8]: _22 = &(*_23) 10:18-10:31: @2[9]: _21 = move _22 as &[&str] (Pointer(Unsize)) 10:9-10:33: @2[15]: _29 = () -10:9-10:33: @2[16]: FakeRead(ForMatchedPlace, _29) +10:9-10:33: @2[16]: FakeRead(ForMatchedPlace(None), _29) 10:9-10:33: @2[17]: _30 = const might_abort::promoted[0] 10:9-10:33: @2[18]: _27 = &(*_30) 10:9-10:33: @2[19]: _26 = &(*_27) @@ -134,7 +134,7 @@ 10:18-10:31: @2[8]: _22 = &(*_23) 10:18-10:31: @2[9]: _21 = move _22 as &[&str] (Pointer(Unsize)) 10:9-10:33: @2[15]: _29 = () -10:9-10:33: @2[16]: FakeRead(ForMatchedPlace, _29) +10:9-10:33: @2[16]: FakeRead(ForMatchedPlace(None), _29) 10:9-10:33: @2[17]: _30 = const might_abort::promoted[0] 10:9-10:33: @2[18]: _27 = &(*_30) 10:9-10:33: @2[19]: _26 = &(*_27) @@ -149,7 +149,7 @@ 10:18-10:31: @2[8]: _22 = &(*_23) 10:18-10:31: @2[9]: _21 = move _22 as &[&str] (Pointer(Unsize)) 10:9-10:33: @2[15]: _29 = () -10:9-10:33: @2[16]: FakeRead(ForMatchedPlace, _29) +10:9-10:33: @2[16]: FakeRead(ForMatchedPlace(None), _29) 10:9-10:33: @2[17]: _30 = const might_abort::promoted[0] 10:9-10:33: @2[18]: _27 = &(*_30) 10:9-10:33: @2[19]: _26 = &(*_27) diff --git a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.assert/assert.main.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.assert/assert.main.-------.InstrumentCoverage.0.html index 365e94cd31e50..3deeba9614f19 100644 --- a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.assert/assert.main.-------.InstrumentCoverage.0.html +++ b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.assert/assert.main.-------.InstrumentCoverage.0.html @@ -70,12 +70,12 @@
@0⦊fn main() -> Result<(),u8> { +10:9-10:22: @0[2]: FakeRead(ForLet(None), _1)">@0⦊fn main() -> Result<(),u8> { let mut countdown = 10⦉@0; +10:9-10:22: @0[2]: FakeRead(ForLet(None), _1)"> let mut countdown = 10⦉@0; while @1,2⦊countdown > 0⦉@1,2 { +11:11-11:24: @2[5]: FakeRead(ForMatchedPlace(None), _4)">@1,2⦊countdown > 0⦉@1,2 { if @3,5⦊countdown == 1⦉@3,5 @6,8⦊{ diff --git a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.assert/assert.might_fail_assert.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.assert/assert.might_fail_assert.-------.InstrumentCoverage.0.html index db72a5306ff70..a843ea3f23cb1 100644 --- a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.assert/assert.might_fail_assert.-------.InstrumentCoverage.0.html +++ b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.assert/assert.might_fail_assert.-------.InstrumentCoverage.0.html @@ -76,7 +76,7 @@ 5:14-5:32: @0[9]: _5 = move _6 as &[&str] (Pointer(Unsize)) 5:34-5:46: @0[17]: _14 = &_1 5:5-5:48: @0[18]: _13 = (move _14,) -5:5-5:48: @0[20]: FakeRead(ForMatchedPlace, _13) +5:5-5:48: @0[20]: FakeRead(ForMatchedPlace(None), _13) 5:5-5:48: @0[22]: _15 = (_13.0: &u32) 5:5-5:48: @0[25]: _17 = &(*_15) 5:5-5:48: @0[27]: _18 = <u32 as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r u32, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) diff --git a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.async/async.executor-block_on-VTABLE-{closure#0}.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.async/async.executor-block_on-VTABLE-{closure#0}.-------.InstrumentCoverage.0.html index 64fc1568b0085..61fd1f5bf6992 100644 --- a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.async/async.executor-block_on-VTABLE-{closure#0}.-------.InstrumentCoverage.0.html +++ b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.async/async.executor-block_on-VTABLE-{closure#0}.-------.InstrumentCoverage.0.html @@ -70,7 +70,7 @@
@0,1,2,3,4,5⦊pub fn block_on<F: Future>(mut future: F) -> F::Output { +120:13-120:24: @5[1]: FakeRead(ForLet(None), _10)">@0,1,2,3,4,5⦊pub fn block_on<F: Future>(mut future: F) -> F::Output { let mut future = unsafe { Pin::new_unchecked(&mut future) }; +120:13-120:24: @5[1]: FakeRead(ForLet(None), _10)"> let mut future = unsafe { Pin::new_unchecked(&mut future) }; +120:13-120:24: @5[1]: FakeRead(ForLet(None), _10)"> static VTABLE: RawWakerVTable = RawWakerVTable::new( +120:13-120:24: @5[1]: FakeRead(ForLet(None), _10)"> static VTABLE: RawWakerVTable = RawWakerVTable::new( |_| unimplemented!("clone"), +120:13-120:24: @5[1]: FakeRead(ForLet(None), _10)"> |_| unimplemented!("clone"), |_| unimplemented!("wake"), +120:13-120:24: @5[1]: FakeRead(ForLet(None), _10)"> |_| unimplemented!("wake"), |_| unimplemented!("wake_by_ref"), +120:13-120:24: @5[1]: FakeRead(ForLet(None), _10)"> |_| unimplemented!("wake_by_ref"), |_| (), +120:13-120:24: @5[1]: FakeRead(ForLet(None), _10)"> |_| (), ); +120:13-120:24: @5[1]: FakeRead(ForLet(None), _10)"> ); let waker = unsafe { Waker::from_raw(RawWaker::new(core::ptr::null(), &VTABLE)) }; +120:13-120:24: @5[1]: FakeRead(ForLet(None), _10)"> let waker = unsafe { Waker::from_raw(RawWaker::new(core::ptr::null(), &VTABLE)) }; let mut context = Context::from_waker(&waker)⦉@0,1,2,3,4,5; +120:13-120:24: @5[1]: FakeRead(ForLet(None), _10)"> let mut context = Context::from_waker(&waker)⦉@0,1,2,3,4,5; loop { if let Poll::Ready(@10,12,14,15,16,17⦊val⦉@10,12,14,15,16,17) = @6,7,8,9⦊future.as_mut().poll(&mut context)⦉@6,7,8,9 { +123:39-123:73: @9[2]: FakeRead(ForMatchedPlace(None), _14)">@6,7,8,9⦊future.as_mut().poll(&mut context)⦉@6,7,8,9 { break @10,12,14,15,16,17⦊val⦉@10,12,14,15,16,17; }@11,13⦊‸⦉@11,13 } diff --git a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.async/async.g-{closure#0}.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.async/async.g-{closure#0}.-------.InstrumentCoverage.0.html index b10012621b7dd..35cf96b6cb16e 100644 --- a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.async/async.g-{closure#0}.-------.InstrumentCoverage.0.html +++ b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.async/async.g-{closure#0}.-------.InstrumentCoverage.0.html @@ -69,12 +69,12 @@ -
@0,3,4⦊{ - match x⦉@0,3,4 { +
@0,3,4⦊{ + match x⦉@0,3,4 { @17⦊y⦉@17 if @0,3,4⦊e()⦉@0,3,4.await == @10,13,15,16⦊y⦉@10,13,15,16 => @17⦊()⦉@17, +23:14-23:17: @4[0]: FakeRead(ForMatchedPlace(None), _8)">@0,3,4⦊e()⦉@0,3,4.await == @10,13,15,16⦊y⦉@10,13,15,16 => @17⦊()⦉@17, @33⦊y⦉@33 if @1,19,20⦊f()⦉@1,19,20.await == @26,29,31,32⦊y⦉@26,29,31,32 => @33⦊()⦉@33, +24:14-24:17: @20[0]: FakeRead(ForMatchedPlace(None), _29)">@1,19,20⦊f()⦉@1,19,20.await == @26,29,31,32⦊y⦉@26,29,31,32 => @33⦊()⦉@33, _ => @2⦊()⦉@2, } }@35,36⦊‸⦉@35,36
diff --git a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.async/async.h-{closure#0}.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.async/async.h-{closure#0}.-------.InstrumentCoverage.0.html index 6b4b43f836580..1d9f1164a0284 100644 --- a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.async/async.h-{closure#0}.-------.InstrumentCoverage.0.html +++ b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.async/async.h-{closure#0}.-------.InstrumentCoverage.0.html @@ -69,12 +69,12 @@ -
@0,2,3⦊{ // The function signature is counted when called, but the body is not - // executed (not awaited) so the open brace has a `0` count (at least when - // displayed with `llvm-cov show` in color-mode). - match x⦉@0,2,3 { +
@0,2,3⦊{ // The function signature is counted when called, but the body is not + // executed (not awaited) so the open brace has a `0` count (at least when + // displayed with `llvm-cov show` in color-mode). + match x⦉@0,2,3 { @17⦊y⦉@17 if @0,2,3⦊foo()⦉@0,2,3.await[@9,12,14,15,16⦊y⦉@9,12,14,15,16] => @17⦊()⦉@17, +33:14-33:19: @3[0]: FakeRead(ForMatchedPlace(None), _8)">@0,2,3⦊foo()⦉@0,2,3.await[@9,12,14,15,16⦊y⦉@9,12,14,15,16] => @17⦊()⦉@17, _ => @1⦊()⦉@1, } }@19,20⦊‸⦉@19,20
diff --git a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.async/async.i-{closure#0}.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.async/async.i-{closure#0}.-------.InstrumentCoverage.0.html index 1c63875a8be9b..8d57fa218897a 100644 --- a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.async/async.i-{closure#0}.-------.InstrumentCoverage.0.html +++ b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.async/async.i-{closure#0}.-------.InstrumentCoverage.0.html @@ -69,18 +69,18 @@ -
@0,3,4⦊{ // line coverage is 1, but there are 2 regions: - // (a) the function signature, counted when the function is called; and - // (b) the open brace for the function body, counted once when the body is - // executed asynchronously. - match x⦉@0,3,4 { +
@0,3,4⦊{ // line coverage is 1, but there are 2 regions: + // (a) the function signature, counted when the function is called; and + // (b) the open brace for the function body, counted once when the body is + // executed asynchronously. + match x⦉@0,3,4 { @17,19⦊y⦉@17,19 if @0,3,4⦊c(x)⦉@0,3,4.await == @0,3,4⦊c(x)⦉@0,3,4.await == @10,13,15,16⦊y + 1⦉@10,13,15,16 => { @17,19⦊d()⦉@17,19.await; } +43:39-43:42: @19[0]: FakeRead(ForMatchedPlace(None), _28)">@17,19⦊d()⦉@17,19.await; } @46⦊y⦉@46 if @1,32,33⦊f()⦉@1,32,33.await == @1,32,33⦊f()⦉@1,32,33.await == @39,42,44,45⦊y + 1⦉@39,42,44,45 => @46⦊()⦉@46, _ => @2⦊()⦉@2, } diff --git a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.async/async.j.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.async/async.j.-------.InstrumentCoverage.0.html index 2b43c7bd25d90..eca27369ba955 100644 --- a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.async/async.j.-------.InstrumentCoverage.0.html +++ b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.async/async.j.-------.InstrumentCoverage.0.html @@ -69,26 +69,26 @@ -
@0,3,4⦊fn j(x: u8) { - // non-async versions of `c()`, `d()`, and `f()` to make it similar to async `i()`. - fn c(x: u8) -> u8 { - if x == 8 { - 1 // This line appears covered, but the 1-character expression span covering the `1` - // is not executed. (`llvm-cov show` displays a `^0` below the `1` ). This is because - // `fn j()` executes the open brace for the funciton body, followed by the function's - // first executable statement, `match x`. Inner function declarations are not - // "visible" to the MIR for `j()`, so the code region counts all lines between the - // open brace and the first statement as executed, which is, in a sense, true. - // `llvm-cov show` overcomes this kind of situation by showing the actual counts - // of the enclosed coverages, (that is, the `1` expression was not executed, and - // accurately displays a `0`). - } else { - 0 - } - } - fn d() -> u8 { 1 } - fn f() -> u8 { 1 } - match x⦉@0,3,4 { +
@0,3,4⦊fn j(x: u8) { + // non-async versions of `c()`, `d()`, and `f()` to make it similar to async `i()`. + fn c(x: u8) -> u8 { + if x == 8 { + 1 // This line appears covered, but the 1-character expression span covering the `1` + // is not executed. (`llvm-cov show` displays a `^0` below the `1` ). This is because + // `fn j()` executes the open brace for the funciton body, followed by the function's + // first executable statement, `match x`. Inner function declarations are not + // "visible" to the MIR for `j()`, so the code region counts all lines between the + // open brace and the first statement as executed, which is, in a sense, true. + // `llvm-cov show` overcomes this kind of situation by showing the actual counts + // of the enclosed coverages, (that is, the `1` expression was not executed, and + // accurately displays a `0`). + } else { + 0 + } + } + fn d() -> u8 { 1 } + fn f() -> u8 { 1 } + match x⦉@0,3,4 { @5,7⦊y⦉@5,7 if @0⦊fn k(x: u8) { // unused function - match x⦉@0 { +
@0⦊fn k(x: u8) { // unused function + match x⦉@0 { 1 => @1,4⦊()⦉@1,4, 2 => @2,5⦊()⦉@2,5, _ => @3⦊()⦉@3, diff --git a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.async/async.l.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.async/async.l.-------.InstrumentCoverage.0.html index cd92b88c24cbb..52dad1a149587 100644 --- a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.async/async.l.-------.InstrumentCoverage.0.html +++ b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.async/async.l.-------.InstrumentCoverage.0.html @@ -69,8 +69,8 @@ -
@0⦊fn l(x: u8) { - match x⦉@0 { +
@0⦊fn l(x: u8) { + match x⦉@0 { 1 => @1,4⦊()⦉@1,4, 2 => @2,5⦊()⦉@2,5, _ => @3⦊()⦉@3, diff --git a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.async/async.m-{closure#0}.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.async/async.m-{closure#0}.-------.InstrumentCoverage.0.html index 5cec484a964da..2c7889659a2c1 100644 --- a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.async/async.m-{closure#0}.-------.InstrumentCoverage.0.html +++ b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.async/async.m-{closure#0}.-------.InstrumentCoverage.0.html @@ -70,7 +70,7 @@
@0⦊{ x - 1 }⦉@0
diff --git a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.async/async.main.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.async/async.main.-------.InstrumentCoverage.0.html index b892af0ed37d5..7280bf9a8c92b 100644 --- a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.async/async.main.-------.InstrumentCoverage.0.html +++ b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.async/async.main.-------.InstrumentCoverage.0.html @@ -73,7 +73,7 @@ 95:13-95:17: @2.Call: _2 = h(const 9_usize) -> [return: bb3, unwind: bb16] 96:31-96:35: @4.Call: _4 = i(const 8_u8) -> [return: bb5, unwind: bb16] 96:22-96:36: @5.Call: _3 = std::boxed::Box::<impl std::future::Future>::pin(move _4) -> [return: bb6, unwind: bb15] -96:9-96:19: @6[1]: FakeRead(ForLet, _3) +96:9-96:19: @6[1]: FakeRead(ForLet(None), _3) 97:5-97:9: @6.Call: _5 = j(const 7_u8) -> [return: bb7, unwind: bb14] 98:5-98:9: @7.Call: _6 = l(const 6_u8) -> [return: bb8, unwind: bb14] 99:13-99:17: @8.Call: _7 = m(const 5_u8) -> [return: bb9, unwind: bb14] @@ -86,7 +86,7 @@ 95:13-95:17: @2.Call: _2 = h(const 9_usize) -> [return: bb3, unwind: bb16] 96:31-96:35: @4.Call: _4 = i(const 8_u8) -> [return: bb5, unwind: bb16] 96:22-96:36: @5.Call: _3 = std::boxed::Box::<impl std::future::Future>::pin(move _4) -> [return: bb6, unwind: bb15] -96:9-96:19: @6[1]: FakeRead(ForLet, _3) +96:9-96:19: @6[1]: FakeRead(ForLet(None), _3) 97:5-97:9: @6.Call: _5 = j(const 7_u8) -> [return: bb7, unwind: bb14] 98:5-98:9: @7.Call: _6 = l(const 6_u8) -> [return: bb8, unwind: bb14] 99:13-99:17: @8.Call: _7 = m(const 5_u8) -> [return: bb9, unwind: bb14] @@ -99,7 +99,7 @@ 95:13-95:17: @2.Call: _2 = h(const 9_usize) -> [return: bb3, unwind: bb16] 96:31-96:35: @4.Call: _4 = i(const 8_u8) -> [return: bb5, unwind: bb16] 96:22-96:36: @5.Call: _3 = std::boxed::Box::<impl std::future::Future>::pin(move _4) -> [return: bb6, unwind: bb15] -96:9-96:19: @6[1]: FakeRead(ForLet, _3) +96:9-96:19: @6[1]: FakeRead(ForLet(None), _3) 97:5-97:9: @6.Call: _5 = j(const 7_u8) -> [return: bb7, unwind: bb14] 98:5-98:9: @7.Call: _6 = l(const 6_u8) -> [return: bb8, unwind: bb14] 99:13-99:17: @8.Call: _7 = m(const 5_u8) -> [return: bb9, unwind: bb14] @@ -112,7 +112,7 @@ 95:13-95:17: @2.Call: _2 = h(const 9_usize) -> [return: bb3, unwind: bb16] 96:31-96:35: @4.Call: _4 = i(const 8_u8) -> [return: bb5, unwind: bb16] 96:22-96:36: @5.Call: _3 = std::boxed::Box::<impl std::future::Future>::pin(move _4) -> [return: bb6, unwind: bb15] -96:9-96:19: @6[1]: FakeRead(ForLet, _3) +96:9-96:19: @6[1]: FakeRead(ForLet(None), _3) 97:5-97:9: @6.Call: _5 = j(const 7_u8) -> [return: bb7, unwind: bb14] 98:5-98:9: @7.Call: _6 = l(const 6_u8) -> [return: bb8, unwind: bb14] 99:13-99:17: @8.Call: _7 = m(const 5_u8) -> [return: bb9, unwind: bb14] @@ -125,7 +125,7 @@ 95:13-95:17: @2.Call: _2 = h(const 9_usize) -> [return: bb3, unwind: bb16] 96:31-96:35: @4.Call: _4 = i(const 8_u8) -> [return: bb5, unwind: bb16] 96:22-96:36: @5.Call: _3 = std::boxed::Box::<impl std::future::Future>::pin(move _4) -> [return: bb6, unwind: bb15] -96:9-96:19: @6[1]: FakeRead(ForLet, _3) +96:9-96:19: @6[1]: FakeRead(ForLet(None), _3) 97:5-97:9: @6.Call: _5 = j(const 7_u8) -> [return: bb7, unwind: bb14] 98:5-98:9: @7.Call: _6 = l(const 6_u8) -> [return: bb8, unwind: bb14] 99:13-99:17: @8.Call: _7 = m(const 5_u8) -> [return: bb9, unwind: bb14] @@ -138,7 +138,7 @@ 95:13-95:17: @2.Call: _2 = h(const 9_usize) -> [return: bb3, unwind: bb16] 96:31-96:35: @4.Call: _4 = i(const 8_u8) -> [return: bb5, unwind: bb16] 96:22-96:36: @5.Call: _3 = std::boxed::Box::<impl std::future::Future>::pin(move _4) -> [return: bb6, unwind: bb15] -96:9-96:19: @6[1]: FakeRead(ForLet, _3) +96:9-96:19: @6[1]: FakeRead(ForLet(None), _3) 97:5-97:9: @6.Call: _5 = j(const 7_u8) -> [return: bb7, unwind: bb14] 98:5-98:9: @7.Call: _6 = l(const 6_u8) -> [return: bb8, unwind: bb14] 99:13-99:17: @8.Call: _7 = m(const 5_u8) -> [return: bb9, unwind: bb14] @@ -151,7 +151,7 @@ 95:13-95:17: @2.Call: _2 = h(const 9_usize) -> [return: bb3, unwind: bb16] 96:31-96:35: @4.Call: _4 = i(const 8_u8) -> [return: bb5, unwind: bb16] 96:22-96:36: @5.Call: _3 = std::boxed::Box::<impl std::future::Future>::pin(move _4) -> [return: bb6, unwind: bb15] -96:9-96:19: @6[1]: FakeRead(ForLet, _3) +96:9-96:19: @6[1]: FakeRead(ForLet(None), _3) 97:5-97:9: @6.Call: _5 = j(const 7_u8) -> [return: bb7, unwind: bb14] 98:5-98:9: @7.Call: _6 = l(const 6_u8) -> [return: bb8, unwind: bb14] 99:13-99:17: @8.Call: _7 = m(const 5_u8) -> [return: bb9, unwind: bb14] @@ -164,7 +164,7 @@ 95:13-95:17: @2.Call: _2 = h(const 9_usize) -> [return: bb3, unwind: bb16] 96:31-96:35: @4.Call: _4 = i(const 8_u8) -> [return: bb5, unwind: bb16] 96:22-96:36: @5.Call: _3 = std::boxed::Box::<impl std::future::Future>::pin(move _4) -> [return: bb6, unwind: bb15] -96:9-96:19: @6[1]: FakeRead(ForLet, _3) +96:9-96:19: @6[1]: FakeRead(ForLet(None), _3) 97:5-97:9: @6.Call: _5 = j(const 7_u8) -> [return: bb7, unwind: bb14] 98:5-98:9: @7.Call: _6 = l(const 6_u8) -> [return: bb8, unwind: bb14] 99:13-99:17: @8.Call: _7 = m(const 5_u8) -> [return: bb9, unwind: bb14] @@ -177,7 +177,7 @@ 95:13-95:17: @2.Call: _2 = h(const 9_usize) -> [return: bb3, unwind: bb16] 96:31-96:35: @4.Call: _4 = i(const 8_u8) -> [return: bb5, unwind: bb16] 96:22-96:36: @5.Call: _3 = std::boxed::Box::<impl std::future::Future>::pin(move _4) -> [return: bb6, unwind: bb15] -96:9-96:19: @6[1]: FakeRead(ForLet, _3) +96:9-96:19: @6[1]: FakeRead(ForLet(None), _3) 97:5-97:9: @6.Call: _5 = j(const 7_u8) -> [return: bb7, unwind: bb14] 98:5-98:9: @7.Call: _6 = l(const 6_u8) -> [return: bb8, unwind: bb14] 99:13-99:17: @8.Call: _7 = m(const 5_u8) -> [return: bb9, unwind: bb14] diff --git a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.closure/closure.main-{closure#0}.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.closure/closure.main-{closure#0}.-------.InstrumentCoverage.0.html index 3998295a0525e..11b77d88c97b1 100644 --- a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.closure/closure.main-{closure#0}.-------.InstrumentCoverage.0.html +++ b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.closure/closure.main-{closure#0}.-------.InstrumentCoverage.0.html @@ -71,13 +71,13 @@
|| @0⦊{ let mut countdown = 0; if is_false⦉@0 @1⦊{ || @0⦊{ let mut countdown = 0; if is_false⦉@0 @1⦊{ || @0⦊{ let mut countdown = 0; if is_false⦉@0 @1⦊{ || @0⦊{ let mut countdown = 0; if is_false⦉@0 @1⦊{ |val| @0⦊{ let mut countdown = 0; if is_false⦉@0 @1⦊{ @3,4,5,6,7⦊format!("'{}'", val) }⦉@3,4,5,6,7
diff --git a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.closure/closure.main-{closure#5}.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.closure/closure.main-{closure#5}.-------.InstrumentCoverage.0.html index 1c19aa8eeefaa..1165aee931be8 100644 --- a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.closure/closure.main-{closure#5}.-------.InstrumentCoverage.0.html +++ b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.closure/closure.main-{closure#5}.-------.InstrumentCoverage.0.html @@ -74,7 +74,7 @@ 96:23-98:6: @0[7]: _6 = &(*_7) 96:23-98:6: @0[8]: _5 = move _6 as &[&str] (Pointer(Unsize)) 97:28-97:61: @0[14]: _13 = () -97:28-97:61: @0[15]: FakeRead(ForMatchedPlace, _13) +97:28-97:61: @0[15]: FakeRead(ForMatchedPlace(None), _13) 97:28-97:61: @0[16]: _14 = const main::{closure#5}::promoted[0] 97:28-97:61: @0[17]: _11 = &(*_14) 97:28-97:61: @0[18]: _10 = &(*_11) @@ -88,7 +88,7 @@ 96:23-98:6: @0[7]: _6 = &(*_7) 96:23-98:6: @0[8]: _5 = move _6 as &[&str] (Pointer(Unsize)) 97:28-97:61: @0[14]: _13 = () -97:28-97:61: @0[15]: FakeRead(ForMatchedPlace, _13) +97:28-97:61: @0[15]: FakeRead(ForMatchedPlace(None), _13) 97:28-97:61: @0[16]: _14 = const main::{closure#5}::promoted[0] 97:28-97:61: @0[17]: _11 = &(*_14) 97:28-97:61: @0[18]: _10 = &(*_11) @@ -102,7 +102,7 @@ 96:23-98:6: @0[7]: _6 = &(*_7) 96:23-98:6: @0[8]: _5 = move _6 as &[&str] (Pointer(Unsize)) 97:28-97:61: @0[14]: _13 = () -97:28-97:61: @0[15]: FakeRead(ForMatchedPlace, _13) +97:28-97:61: @0[15]: FakeRead(ForMatchedPlace(None), _13) 97:28-97:61: @0[16]: _14 = const main::{closure#5}::promoted[0] 97:28-97:61: @0[17]: _11 = &(*_14) 97:28-97:61: @0[18]: _10 = &(*_11) diff --git a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.closure/closure.main-{closure#6}.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.closure/closure.main-{closure#6}.-------.InstrumentCoverage.0.html index 74c75c6c46ca2..5bf085dae67c3 100644 --- a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.closure/closure.main-{closure#6}.-------.InstrumentCoverage.0.html +++ b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.closure/closure.main-{closure#6}.-------.InstrumentCoverage.0.html @@ -74,7 +74,7 @@ 141:70-141:82: @0[7]: _6 = &(*_7) 141:70-141:82: @0[8]: _5 = move _6 as &[&str] (Pointer(Unsize)) 141:61-141:83: @0[14]: _13 = () -141:61-141:83: @0[15]: FakeRead(ForMatchedPlace, _13) +141:61-141:83: @0[15]: FakeRead(ForMatchedPlace(None), _13) 141:61-141:83: @0[16]: _14 = const main::{closure#6}::promoted[0] 141:61-141:83: @0[17]: _11 = &(*_14) 141:61-141:83: @0[18]: _10 = &(*_11) diff --git a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.closure/closure.main-{closure#7}.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.closure/closure.main-{closure#7}.-------.InstrumentCoverage.0.html index 386fb1b9e6f95..fef0dedea49d3 100644 --- a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.closure/closure.main-{closure#7}.-------.InstrumentCoverage.0.html +++ b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.closure/closure.main-{closure#7}.-------.InstrumentCoverage.0.html @@ -74,7 +74,7 @@ 144:18-144:30: @0[7]: _6 = &(*_7) 144:18-144:30: @0[8]: _5 = move _6 as &[&str] (Pointer(Unsize)) 144:9-144:31: @0[14]: _13 = () -144:9-144:31: @0[15]: FakeRead(ForMatchedPlace, _13) +144:9-144:31: @0[15]: FakeRead(ForMatchedPlace(None), _13) 144:9-144:31: @0[16]: _14 = const main::{closure#7}::promoted[0] 144:9-144:31: @0[17]: _11 = &(*_14) 144:9-144:31: @0[18]: _10 = &(*_11) @@ -88,7 +88,7 @@ 144:18-144:30: @0[7]: _6 = &(*_7) 144:18-144:30: @0[8]: _5 = move _6 as &[&str] (Pointer(Unsize)) 144:9-144:31: @0[14]: _13 = () -144:9-144:31: @0[15]: FakeRead(ForMatchedPlace, _13) +144:9-144:31: @0[15]: FakeRead(ForMatchedPlace(None), _13) 144:9-144:31: @0[16]: _14 = const main::{closure#7}::promoted[0] 144:9-144:31: @0[17]: _11 = &(*_14) 144:9-144:31: @0[18]: _10 = &(*_11) @@ -102,7 +102,7 @@ 144:18-144:30: @0[7]: _6 = &(*_7) 144:18-144:30: @0[8]: _5 = move _6 as &[&str] (Pointer(Unsize)) 144:9-144:31: @0[14]: _13 = () -144:9-144:31: @0[15]: FakeRead(ForMatchedPlace, _13) +144:9-144:31: @0[15]: FakeRead(ForMatchedPlace(None), _13) 144:9-144:31: @0[16]: _14 = const main::{closure#7}::promoted[0] 144:9-144:31: @0[17]: _11 = &(*_14) 144:9-144:31: @0[18]: _10 = &(*_11) diff --git a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.closure/closure.main-{closure#8}.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.closure/closure.main-{closure#8}.-------.InstrumentCoverage.0.html index f9da6ac9dfc34..4d56ee60d3f86 100644 --- a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.closure/closure.main-{closure#8}.-------.InstrumentCoverage.0.html +++ b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.closure/closure.main-{closure#8}.-------.InstrumentCoverage.0.html @@ -76,7 +76,7 @@ 149:18-149:30: @0[7]: _6 = &(*_7) 149:18-149:30: @0[8]: _5 = move _6 as &[&str] (Pointer(Unsize)) 149:9-149:31: @0[14]: _13 = () -149:9-149:31: @0[15]: FakeRead(ForMatchedPlace, _13) +149:9-149:31: @0[15]: FakeRead(ForMatchedPlace(None), _13) 149:9-149:31: @0[16]: _14 = const main::{closure#8}::promoted[0] 149:9-149:31: @0[17]: _11 = &(*_14) 149:9-149:31: @0[18]: _10 = &(*_11) diff --git a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.closure/closure.main-{closure#9}.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.closure/closure.main-{closure#9}.-------.InstrumentCoverage.0.html index e259fc9bb67e7..46725699bc8d4 100644 --- a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.closure/closure.main-{closure#9}.-------.InstrumentCoverage.0.html +++ b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.closure/closure.main-{closure#9}.-------.InstrumentCoverage.0.html @@ -76,7 +76,7 @@ 153:18-153:30: @0[7]: _6 = &(*_7) 153:18-153:30: @0[8]: _5 = move _6 as &[&str] (Pointer(Unsize)) 153:9-153:31: @0[14]: _13 = () -153:9-153:31: @0[15]: FakeRead(ForMatchedPlace, _13) +153:9-153:31: @0[15]: FakeRead(ForMatchedPlace(None), _13) 153:9-153:31: @0[16]: _14 = const main::{closure#9}::promoted[0] 153:9-153:31: @0[17]: _11 = &(*_14) 153:9-153:31: @0[18]: _10 = &(*_11) diff --git a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.closure/closure.main.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.closure/closure.main.-------.InstrumentCoverage.0.html index a7d1728114ec9..fe28515a3c981 100644 --- a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.closure/closure.main.-------.InstrumentCoverage.0.html +++ b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.closure/closure.main.-------.InstrumentCoverage.0.html @@ -73,13 +73,13 @@ 7:19-7:35: @1[0]: _3 = &_4 7:19-7:41: @1.Call: _2 = <std::env::Args as std::iter::ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb56] 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) -7:9-7:16: @2[3]: FakeRead(ForLet, _1) +7:9-7:16: @2[3]: FakeRead(ForLet(None), _1) 8:22-8:29: @3[3]: _6 = _1 8:20-8:29: @3[4]: _5 = Not(move _6) -8:9-8:17: @3[6]: FakeRead(ForLet, _5) +8:9-8:17: @3[6]: FakeRead(ForLet(None), _5) 10:32-10:66: @3.Call: _8 = <std::string::String as std::convert::From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb57] 10:27-10:67: @4[0]: _7 = std::option::Option::<std::string::String>::Some(move _8) -10:9-10:24: @5[1]: FakeRead(ForLet, _7) +10:9-10:24: @5[1]: FakeRead(ForLet(None), _7) 12:9-12:32: @5[8]: _137 = const main::promoted[4] 12:9-12:32: @5[9]: _14 = &(*_137) 12:9-12:32: @5[10]: _13 = &(*_14) @@ -88,7 +88,7 @@ 14:9-26:10: @5.Call: _22 = std::option::Option::<std::string::String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb54] 14:9-26:10: @6[2]: _21 = &_22 11:5-27:7: @6[3]: _20 = (move _21,) -11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace(None), _20) 11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) 11:5-27:7: @6[10]: _28 = &(*_26) 11:5-27:7: @6[12]: _29 = <std::string::String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) @@ -105,13 +105,13 @@ 7:19-7:35: @1[0]: _3 = &_4 7:19-7:41: @1.Call: _2 = <std::env::Args as std::iter::ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb56] 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) -7:9-7:16: @2[3]: FakeRead(ForLet, _1) +7:9-7:16: @2[3]: FakeRead(ForLet(None), _1) 8:22-8:29: @3[3]: _6 = _1 8:20-8:29: @3[4]: _5 = Not(move _6) -8:9-8:17: @3[6]: FakeRead(ForLet, _5) +8:9-8:17: @3[6]: FakeRead(ForLet(None), _5) 10:32-10:66: @3.Call: _8 = <std::string::String as std::convert::From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb57] 10:27-10:67: @4[0]: _7 = std::option::Option::<std::string::String>::Some(move _8) -10:9-10:24: @5[1]: FakeRead(ForLet, _7) +10:9-10:24: @5[1]: FakeRead(ForLet(None), _7) 12:9-12:32: @5[8]: _137 = const main::promoted[4] 12:9-12:32: @5[9]: _14 = &(*_137) 12:9-12:32: @5[10]: _13 = &(*_14) @@ -120,7 +120,7 @@ 14:9-26:10: @5.Call: _22 = std::option::Option::<std::string::String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb54] 14:9-26:10: @6[2]: _21 = &_22 11:5-27:7: @6[3]: _20 = (move _21,) -11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace(None), _20) 11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) 11:5-27:7: @6[10]: _28 = &(*_26) 11:5-27:7: @6[12]: _29 = <std::string::String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) @@ -137,13 +137,13 @@ 7:19-7:35: @1[0]: _3 = &_4 7:19-7:41: @1.Call: _2 = <std::env::Args as std::iter::ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb56] 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) -7:9-7:16: @2[3]: FakeRead(ForLet, _1) +7:9-7:16: @2[3]: FakeRead(ForLet(None), _1) 8:22-8:29: @3[3]: _6 = _1 8:20-8:29: @3[4]: _5 = Not(move _6) -8:9-8:17: @3[6]: FakeRead(ForLet, _5) +8:9-8:17: @3[6]: FakeRead(ForLet(None), _5) 10:32-10:66: @3.Call: _8 = <std::string::String as std::convert::From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb57] 10:27-10:67: @4[0]: _7 = std::option::Option::<std::string::String>::Some(move _8) -10:9-10:24: @5[1]: FakeRead(ForLet, _7) +10:9-10:24: @5[1]: FakeRead(ForLet(None), _7) 12:9-12:32: @5[8]: _137 = const main::promoted[4] 12:9-12:32: @5[9]: _14 = &(*_137) 12:9-12:32: @5[10]: _13 = &(*_14) @@ -152,7 +152,7 @@ 14:9-26:10: @5.Call: _22 = std::option::Option::<std::string::String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb54] 14:9-26:10: @6[2]: _21 = &_22 11:5-27:7: @6[3]: _20 = (move _21,) -11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace(None), _20) 11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) 11:5-27:7: @6[10]: _28 = &(*_26) 11:5-27:7: @6[12]: _29 = <std::string::String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) @@ -169,13 +169,13 @@ 7:19-7:35: @1[0]: _3 = &_4 7:19-7:41: @1.Call: _2 = <std::env::Args as std::iter::ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb56] 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) -7:9-7:16: @2[3]: FakeRead(ForLet, _1) +7:9-7:16: @2[3]: FakeRead(ForLet(None), _1) 8:22-8:29: @3[3]: _6 = _1 8:20-8:29: @3[4]: _5 = Not(move _6) -8:9-8:17: @3[6]: FakeRead(ForLet, _5) +8:9-8:17: @3[6]: FakeRead(ForLet(None), _5) 10:32-10:66: @3.Call: _8 = <std::string::String as std::convert::From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb57] 10:27-10:67: @4[0]: _7 = std::option::Option::<std::string::String>::Some(move _8) -10:9-10:24: @5[1]: FakeRead(ForLet, _7) +10:9-10:24: @5[1]: FakeRead(ForLet(None), _7) 12:9-12:32: @5[8]: _137 = const main::promoted[4] 12:9-12:32: @5[9]: _14 = &(*_137) 12:9-12:32: @5[10]: _13 = &(*_14) @@ -184,7 +184,7 @@ 14:9-26:10: @5.Call: _22 = std::option::Option::<std::string::String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb54] 14:9-26:10: @6[2]: _21 = &_22 11:5-27:7: @6[3]: _20 = (move _21,) -11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace(None), _20) 11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) 11:5-27:7: @6[10]: _28 = &(*_26) 11:5-27:7: @6[12]: _29 = <std::string::String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) @@ -201,13 +201,13 @@ 7:19-7:35: @1[0]: _3 = &_4 7:19-7:41: @1.Call: _2 = <std::env::Args as std::iter::ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb56] 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) -7:9-7:16: @2[3]: FakeRead(ForLet, _1) +7:9-7:16: @2[3]: FakeRead(ForLet(None), _1) 8:22-8:29: @3[3]: _6 = _1 8:20-8:29: @3[4]: _5 = Not(move _6) -8:9-8:17: @3[6]: FakeRead(ForLet, _5) +8:9-8:17: @3[6]: FakeRead(ForLet(None), _5) 10:32-10:66: @3.Call: _8 = <std::string::String as std::convert::From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb57] 10:27-10:67: @4[0]: _7 = std::option::Option::<std::string::String>::Some(move _8) -10:9-10:24: @5[1]: FakeRead(ForLet, _7) +10:9-10:24: @5[1]: FakeRead(ForLet(None), _7) 12:9-12:32: @5[8]: _137 = const main::promoted[4] 12:9-12:32: @5[9]: _14 = &(*_137) 12:9-12:32: @5[10]: _13 = &(*_14) @@ -216,7 +216,7 @@ 14:9-26:10: @5.Call: _22 = std::option::Option::<std::string::String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb54] 14:9-26:10: @6[2]: _21 = &_22 11:5-27:7: @6[3]: _20 = (move _21,) -11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace(None), _20) 11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) 11:5-27:7: @6[10]: _28 = &(*_26) 11:5-27:7: @6[12]: _29 = <std::string::String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) @@ -233,13 +233,13 @@ 7:19-7:35: @1[0]: _3 = &_4 7:19-7:41: @1.Call: _2 = <std::env::Args as std::iter::ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb56] 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) -7:9-7:16: @2[3]: FakeRead(ForLet, _1) +7:9-7:16: @2[3]: FakeRead(ForLet(None), _1) 8:22-8:29: @3[3]: _6 = _1 8:20-8:29: @3[4]: _5 = Not(move _6) -8:9-8:17: @3[6]: FakeRead(ForLet, _5) +8:9-8:17: @3[6]: FakeRead(ForLet(None), _5) 10:32-10:66: @3.Call: _8 = <std::string::String as std::convert::From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb57] 10:27-10:67: @4[0]: _7 = std::option::Option::<std::string::String>::Some(move _8) -10:9-10:24: @5[1]: FakeRead(ForLet, _7) +10:9-10:24: @5[1]: FakeRead(ForLet(None), _7) 12:9-12:32: @5[8]: _137 = const main::promoted[4] 12:9-12:32: @5[9]: _14 = &(*_137) 12:9-12:32: @5[10]: _13 = &(*_14) @@ -248,7 +248,7 @@ 14:9-26:10: @5.Call: _22 = std::option::Option::<std::string::String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb54] 14:9-26:10: @6[2]: _21 = &_22 11:5-27:7: @6[3]: _20 = (move _21,) -11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace(None), _20) 11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) 11:5-27:7: @6[10]: _28 = &(*_26) 11:5-27:7: @6[12]: _29 = <std::string::String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) @@ -265,13 +265,13 @@ 7:19-7:35: @1[0]: _3 = &_4 7:19-7:41: @1.Call: _2 = <std::env::Args as std::iter::ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb56] 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) -7:9-7:16: @2[3]: FakeRead(ForLet, _1) +7:9-7:16: @2[3]: FakeRead(ForLet(None), _1) 8:22-8:29: @3[3]: _6 = _1 8:20-8:29: @3[4]: _5 = Not(move _6) -8:9-8:17: @3[6]: FakeRead(ForLet, _5) +8:9-8:17: @3[6]: FakeRead(ForLet(None), _5) 10:32-10:66: @3.Call: _8 = <std::string::String as std::convert::From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb57] 10:27-10:67: @4[0]: _7 = std::option::Option::<std::string::String>::Some(move _8) -10:9-10:24: @5[1]: FakeRead(ForLet, _7) +10:9-10:24: @5[1]: FakeRead(ForLet(None), _7) 12:9-12:32: @5[8]: _137 = const main::promoted[4] 12:9-12:32: @5[9]: _14 = &(*_137) 12:9-12:32: @5[10]: _13 = &(*_14) @@ -280,7 +280,7 @@ 14:9-26:10: @5.Call: _22 = std::option::Option::<std::string::String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb54] 14:9-26:10: @6[2]: _21 = &_22 11:5-27:7: @6[3]: _20 = (move _21,) -11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace(None), _20) 11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) 11:5-27:7: @6[10]: _28 = &(*_26) 11:5-27:7: @6[12]: _29 = <std::string::String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) @@ -297,13 +297,13 @@ 7:19-7:35: @1[0]: _3 = &_4 7:19-7:41: @1.Call: _2 = <std::env::Args as std::iter::ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb56] 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) -7:9-7:16: @2[3]: FakeRead(ForLet, _1) +7:9-7:16: @2[3]: FakeRead(ForLet(None), _1) 8:22-8:29: @3[3]: _6 = _1 8:20-8:29: @3[4]: _5 = Not(move _6) -8:9-8:17: @3[6]: FakeRead(ForLet, _5) +8:9-8:17: @3[6]: FakeRead(ForLet(None), _5) 10:32-10:66: @3.Call: _8 = <std::string::String as std::convert::From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb57] 10:27-10:67: @4[0]: _7 = std::option::Option::<std::string::String>::Some(move _8) -10:9-10:24: @5[1]: FakeRead(ForLet, _7) +10:9-10:24: @5[1]: FakeRead(ForLet(None), _7) 12:9-12:32: @5[8]: _137 = const main::promoted[4] 12:9-12:32: @5[9]: _14 = &(*_137) 12:9-12:32: @5[10]: _13 = &(*_14) @@ -312,7 +312,7 @@ 14:9-26:10: @5.Call: _22 = std::option::Option::<std::string::String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb54] 14:9-26:10: @6[2]: _21 = &_22 11:5-27:7: @6[3]: _20 = (move _21,) -11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace(None), _20) 11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) 11:5-27:7: @6[10]: _28 = &(*_26) 11:5-27:7: @6[12]: _29 = <std::string::String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) @@ -329,13 +329,13 @@ 7:19-7:35: @1[0]: _3 = &_4 7:19-7:41: @1.Call: _2 = <std::env::Args as std::iter::ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb56] 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) -7:9-7:16: @2[3]: FakeRead(ForLet, _1) +7:9-7:16: @2[3]: FakeRead(ForLet(None), _1) 8:22-8:29: @3[3]: _6 = _1 8:20-8:29: @3[4]: _5 = Not(move _6) -8:9-8:17: @3[6]: FakeRead(ForLet, _5) +8:9-8:17: @3[6]: FakeRead(ForLet(None), _5) 10:32-10:66: @3.Call: _8 = <std::string::String as std::convert::From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb57] 10:27-10:67: @4[0]: _7 = std::option::Option::<std::string::String>::Some(move _8) -10:9-10:24: @5[1]: FakeRead(ForLet, _7) +10:9-10:24: @5[1]: FakeRead(ForLet(None), _7) 12:9-12:32: @5[8]: _137 = const main::promoted[4] 12:9-12:32: @5[9]: _14 = &(*_137) 12:9-12:32: @5[10]: _13 = &(*_14) @@ -344,7 +344,7 @@ 14:9-26:10: @5.Call: _22 = std::option::Option::<std::string::String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb54] 14:9-26:10: @6[2]: _21 = &_22 11:5-27:7: @6[3]: _20 = (move _21,) -11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace(None), _20) 11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) 11:5-27:7: @6[10]: _28 = &(*_26) 11:5-27:7: @6[12]: _29 = <std::string::String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) @@ -361,13 +361,13 @@ 7:19-7:35: @1[0]: _3 = &_4 7:19-7:41: @1.Call: _2 = <std::env::Args as std::iter::ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb56] 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) -7:9-7:16: @2[3]: FakeRead(ForLet, _1) +7:9-7:16: @2[3]: FakeRead(ForLet(None), _1) 8:22-8:29: @3[3]: _6 = _1 8:20-8:29: @3[4]: _5 = Not(move _6) -8:9-8:17: @3[6]: FakeRead(ForLet, _5) +8:9-8:17: @3[6]: FakeRead(ForLet(None), _5) 10:32-10:66: @3.Call: _8 = <std::string::String as std::convert::From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb57] 10:27-10:67: @4[0]: _7 = std::option::Option::<std::string::String>::Some(move _8) -10:9-10:24: @5[1]: FakeRead(ForLet, _7) +10:9-10:24: @5[1]: FakeRead(ForLet(None), _7) 12:9-12:32: @5[8]: _137 = const main::promoted[4] 12:9-12:32: @5[9]: _14 = &(*_137) 12:9-12:32: @5[10]: _13 = &(*_14) @@ -376,7 +376,7 @@ 14:9-26:10: @5.Call: _22 = std::option::Option::<std::string::String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb54] 14:9-26:10: @6[2]: _21 = &_22 11:5-27:7: @6[3]: _20 = (move _21,) -11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace(None), _20) 11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) 11:5-27:7: @6[10]: _28 = &(*_26) 11:5-27:7: @6[12]: _29 = <std::string::String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) @@ -393,13 +393,13 @@ 7:19-7:35: @1[0]: _3 = &_4 7:19-7:41: @1.Call: _2 = <std::env::Args as std::iter::ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb56] 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) -7:9-7:16: @2[3]: FakeRead(ForLet, _1) +7:9-7:16: @2[3]: FakeRead(ForLet(None), _1) 8:22-8:29: @3[3]: _6 = _1 8:20-8:29: @3[4]: _5 = Not(move _6) -8:9-8:17: @3[6]: FakeRead(ForLet, _5) +8:9-8:17: @3[6]: FakeRead(ForLet(None), _5) 10:32-10:66: @3.Call: _8 = <std::string::String as std::convert::From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb57] 10:27-10:67: @4[0]: _7 = std::option::Option::<std::string::String>::Some(move _8) -10:9-10:24: @5[1]: FakeRead(ForLet, _7) +10:9-10:24: @5[1]: FakeRead(ForLet(None), _7) 12:9-12:32: @5[8]: _137 = const main::promoted[4] 12:9-12:32: @5[9]: _14 = &(*_137) 12:9-12:32: @5[10]: _13 = &(*_14) @@ -408,7 +408,7 @@ 14:9-26:10: @5.Call: _22 = std::option::Option::<std::string::String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb54] 14:9-26:10: @6[2]: _21 = &_22 11:5-27:7: @6[3]: _20 = (move _21,) -11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace(None), _20) 11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) 11:5-27:7: @6[10]: _28 = &(*_26) 11:5-27:7: @6[12]: _29 = <std::string::String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) @@ -425,13 +425,13 @@ 7:19-7:35: @1[0]: _3 = &_4 7:19-7:41: @1.Call: _2 = <std::env::Args as std::iter::ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb56] 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) -7:9-7:16: @2[3]: FakeRead(ForLet, _1) +7:9-7:16: @2[3]: FakeRead(ForLet(None), _1) 8:22-8:29: @3[3]: _6 = _1 8:20-8:29: @3[4]: _5 = Not(move _6) -8:9-8:17: @3[6]: FakeRead(ForLet, _5) +8:9-8:17: @3[6]: FakeRead(ForLet(None), _5) 10:32-10:66: @3.Call: _8 = <std::string::String as std::convert::From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb57] 10:27-10:67: @4[0]: _7 = std::option::Option::<std::string::String>::Some(move _8) -10:9-10:24: @5[1]: FakeRead(ForLet, _7) +10:9-10:24: @5[1]: FakeRead(ForLet(None), _7) 12:9-12:32: @5[8]: _137 = const main::promoted[4] 12:9-12:32: @5[9]: _14 = &(*_137) 12:9-12:32: @5[10]: _13 = &(*_14) @@ -440,7 +440,7 @@ 14:9-26:10: @5.Call: _22 = std::option::Option::<std::string::String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb54] 14:9-26:10: @6[2]: _21 = &_22 11:5-27:7: @6[3]: _20 = (move _21,) -11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace(None), _20) 11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) 11:5-27:7: @6[10]: _28 = &(*_26) 11:5-27:7: @6[12]: _29 = <std::string::String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) @@ -457,13 +457,13 @@ 7:19-7:35: @1[0]: _3 = &_4 7:19-7:41: @1.Call: _2 = <std::env::Args as std::iter::ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb56] 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) -7:9-7:16: @2[3]: FakeRead(ForLet, _1) +7:9-7:16: @2[3]: FakeRead(ForLet(None), _1) 8:22-8:29: @3[3]: _6 = _1 8:20-8:29: @3[4]: _5 = Not(move _6) -8:9-8:17: @3[6]: FakeRead(ForLet, _5) +8:9-8:17: @3[6]: FakeRead(ForLet(None), _5) 10:32-10:66: @3.Call: _8 = <std::string::String as std::convert::From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb57] 10:27-10:67: @4[0]: _7 = std::option::Option::<std::string::String>::Some(move _8) -10:9-10:24: @5[1]: FakeRead(ForLet, _7) +10:9-10:24: @5[1]: FakeRead(ForLet(None), _7) 12:9-12:32: @5[8]: _137 = const main::promoted[4] 12:9-12:32: @5[9]: _14 = &(*_137) 12:9-12:32: @5[10]: _13 = &(*_14) @@ -472,7 +472,7 @@ 14:9-26:10: @5.Call: _22 = std::option::Option::<std::string::String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb54] 14:9-26:10: @6[2]: _21 = &_22 11:5-27:7: @6[3]: _20 = (move _21,) -11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace(None), _20) 11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) 11:5-27:7: @6[10]: _28 = &(*_26) 11:5-27:7: @6[12]: _29 = <std::string::String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) @@ -489,13 +489,13 @@ 7:19-7:35: @1[0]: _3 = &_4 7:19-7:41: @1.Call: _2 = <std::env::Args as std::iter::ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb56] 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) -7:9-7:16: @2[3]: FakeRead(ForLet, _1) +7:9-7:16: @2[3]: FakeRead(ForLet(None), _1) 8:22-8:29: @3[3]: _6 = _1 8:20-8:29: @3[4]: _5 = Not(move _6) -8:9-8:17: @3[6]: FakeRead(ForLet, _5) +8:9-8:17: @3[6]: FakeRead(ForLet(None), _5) 10:32-10:66: @3.Call: _8 = <std::string::String as std::convert::From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb57] 10:27-10:67: @4[0]: _7 = std::option::Option::<std::string::String>::Some(move _8) -10:9-10:24: @5[1]: FakeRead(ForLet, _7) +10:9-10:24: @5[1]: FakeRead(ForLet(None), _7) 12:9-12:32: @5[8]: _137 = const main::promoted[4] 12:9-12:32: @5[9]: _14 = &(*_137) 12:9-12:32: @5[10]: _13 = &(*_14) @@ -504,7 +504,7 @@ 14:9-26:10: @5.Call: _22 = std::option::Option::<std::string::String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb54] 14:9-26:10: @6[2]: _21 = &_22 11:5-27:7: @6[3]: _20 = (move _21,) -11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace(None), _20) 11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) 11:5-27:7: @6[10]: _28 = &(*_26) 11:5-27:7: @6[12]: _29 = <std::string::String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) @@ -521,13 +521,13 @@ 7:19-7:35: @1[0]: _3 = &_4 7:19-7:41: @1.Call: _2 = <std::env::Args as std::iter::ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb56] 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) -7:9-7:16: @2[3]: FakeRead(ForLet, _1) +7:9-7:16: @2[3]: FakeRead(ForLet(None), _1) 8:22-8:29: @3[3]: _6 = _1 8:20-8:29: @3[4]: _5 = Not(move _6) -8:9-8:17: @3[6]: FakeRead(ForLet, _5) +8:9-8:17: @3[6]: FakeRead(ForLet(None), _5) 10:32-10:66: @3.Call: _8 = <std::string::String as std::convert::From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb57] 10:27-10:67: @4[0]: _7 = std::option::Option::<std::string::String>::Some(move _8) -10:9-10:24: @5[1]: FakeRead(ForLet, _7) +10:9-10:24: @5[1]: FakeRead(ForLet(None), _7) 12:9-12:32: @5[8]: _137 = const main::promoted[4] 12:9-12:32: @5[9]: _14 = &(*_137) 12:9-12:32: @5[10]: _13 = &(*_14) @@ -536,7 +536,7 @@ 14:9-26:10: @5.Call: _22 = std::option::Option::<std::string::String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb54] 14:9-26:10: @6[2]: _21 = &_22 11:5-27:7: @6[3]: _20 = (move _21,) -11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace(None), _20) 11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) 11:5-27:7: @6[10]: _28 = &(*_26) 11:5-27:7: @6[12]: _29 = <std::string::String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) @@ -553,13 +553,13 @@ 7:19-7:35: @1[0]: _3 = &_4 7:19-7:41: @1.Call: _2 = <std::env::Args as std::iter::ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb56] 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) -7:9-7:16: @2[3]: FakeRead(ForLet, _1) +7:9-7:16: @2[3]: FakeRead(ForLet(None), _1) 8:22-8:29: @3[3]: _6 = _1 8:20-8:29: @3[4]: _5 = Not(move _6) -8:9-8:17: @3[6]: FakeRead(ForLet, _5) +8:9-8:17: @3[6]: FakeRead(ForLet(None), _5) 10:32-10:66: @3.Call: _8 = <std::string::String as std::convert::From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb57] 10:27-10:67: @4[0]: _7 = std::option::Option::<std::string::String>::Some(move _8) -10:9-10:24: @5[1]: FakeRead(ForLet, _7) +10:9-10:24: @5[1]: FakeRead(ForLet(None), _7) 12:9-12:32: @5[8]: _137 = const main::promoted[4] 12:9-12:32: @5[9]: _14 = &(*_137) 12:9-12:32: @5[10]: _13 = &(*_14) @@ -568,7 +568,7 @@ 14:9-26:10: @5.Call: _22 = std::option::Option::<std::string::String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb54] 14:9-26:10: @6[2]: _21 = &_22 11:5-27:7: @6[3]: _20 = (move _21,) -11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace(None), _20) 11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) 11:5-27:7: @6[10]: _28 = &(*_26) 11:5-27:7: @6[12]: _29 = <std::string::String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) @@ -591,13 +591,13 @@ 7:19-7:35: @1[0]: _3 = &_4 7:19-7:41: @1.Call: _2 = <std::env::Args as std::iter::ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb56] 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) -7:9-7:16: @2[3]: FakeRead(ForLet, _1) +7:9-7:16: @2[3]: FakeRead(ForLet(None), _1) 8:22-8:29: @3[3]: _6 = _1 8:20-8:29: @3[4]: _5 = Not(move _6) -8:9-8:17: @3[6]: FakeRead(ForLet, _5) +8:9-8:17: @3[6]: FakeRead(ForLet(None), _5) 10:32-10:66: @3.Call: _8 = <std::string::String as std::convert::From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb57] 10:27-10:67: @4[0]: _7 = std::option::Option::<std::string::String>::Some(move _8) -10:9-10:24: @5[1]: FakeRead(ForLet, _7) +10:9-10:24: @5[1]: FakeRead(ForLet(None), _7) 12:9-12:32: @5[8]: _137 = const main::promoted[4] 12:9-12:32: @5[9]: _14 = &(*_137) 12:9-12:32: @5[10]: _13 = &(*_14) @@ -606,7 +606,7 @@ 14:9-26:10: @5.Call: _22 = std::option::Option::<std::string::String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb54] 14:9-26:10: @6[2]: _21 = &_22 11:5-27:7: @6[3]: _20 = (move _21,) -11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace(None), _20) 11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) 11:5-27:7: @6[10]: _28 = &(*_26) 11:5-27:7: @6[12]: _29 = <std::string::String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) @@ -621,19 +621,19 @@ 29:24-29:58: @10.Call: _31 = <std::string::String as std::convert::From<&str>>::from(const "the string content") -> [return: bb11, unwind: bb55] 29:19-29:59: @11[0]: _30 = std::option::Option::<std::string::String>::Some(move _31) 33:9-40:6: @14[3]: _33 = &_5 -31:9-31:10: @14[6]: FakeRead(ForLet, _32) +31:9-31:10: @14[6]: FakeRead(ForLet(None), _32) 3:11-155:2: @41[38]: _0 = const ()">@0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42⦊ ) ); some_string = Some(String::from("the string content")); let a = ⦉@0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42|| { let mut countdown = 0; @@ -921,13 +921,13 @@ 7:19-7:35: @1[0]: _3 = &_4 7:19-7:41: @1.Call: _2 = <std::env::Args as std::iter::ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb56] 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) -7:9-7:16: @2[3]: FakeRead(ForLet, _1) +7:9-7:16: @2[3]: FakeRead(ForLet(None), _1) 8:22-8:29: @3[3]: _6 = _1 8:20-8:29: @3[4]: _5 = Not(move _6) -8:9-8:17: @3[6]: FakeRead(ForLet, _5) +8:9-8:17: @3[6]: FakeRead(ForLet(None), _5) 10:32-10:66: @3.Call: _8 = <std::string::String as std::convert::From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb57] 10:27-10:67: @4[0]: _7 = std::option::Option::<std::string::String>::Some(move _8) -10:9-10:24: @5[1]: FakeRead(ForLet, _7) +10:9-10:24: @5[1]: FakeRead(ForLet(None), _7) 12:9-12:32: @5[8]: _137 = const main::promoted[4] 12:9-12:32: @5[9]: _14 = &(*_137) 12:9-12:32: @5[10]: _13 = &(*_14) @@ -936,7 +936,7 @@ 14:9-26:10: @5.Call: _22 = std::option::Option::<std::string::String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb54] 14:9-26:10: @6[2]: _21 = &_22 11:5-27:7: @6[3]: _20 = (move _21,) -11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace(None), _20) 11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) 11:5-27:7: @6[10]: _28 = &(*_26) 11:5-27:7: @6[12]: _29 = <std::string::String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) @@ -951,7 +951,7 @@ 29:24-29:58: @10.Call: _31 = <std::string::String as std::convert::From<&str>>::from(const "the string content") -> [return: bb11, unwind: bb55] 29:19-29:59: @11[0]: _30 = std::option::Option::<std::string::String>::Some(move _31) 33:9-40:6: @14[3]: _33 = &_5 -31:9-31:10: @14[6]: FakeRead(ForLet, _32) +31:9-31:10: @14[6]: FakeRead(ForLet(None), _32) 42:9-42:32: @14[13]: _136 = const main::promoted[3] 42:9-42:32: @14[14]: _39 = &(*_136) 42:9-42:32: @14[15]: _38 = &(*_39) @@ -961,7 +961,7 @@ 44:9-49:10: @14.Call: _47 = std::option::Option::<std::string::String>::unwrap_or_else::<[closure@../coverage/closure.rs:33:9: 40:6]>(move _48, move _49) -> [return: bb15, unwind: bb51] 44:9-49:10: @15[2]: _46 = &_47 41:5-50:7: @15[3]: _45 = (move _46,) -41:5-50:7: @15[5]: FakeRead(ForMatchedPlace, _45) +41:5-50:7: @15[5]: FakeRead(ForMatchedPlace(None), _45) 41:5-50:7: @15[7]: _50 = (_45.0: &std::string::String) 41:5-50:7: @15[10]: _52 = &(*_50) 41:5-50:7: @15[12]: _53 = <std::string::String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) @@ -982,7 +982,7 @@ 56:9-68:10: @21.Call: _68 = std::option::Option::<std::string::String>::unwrap_or_else::<[closure@../coverage/closure.rs:60:13: 67:14]>(move _69, move _70) -> [return: bb22, unwind: bb48] 56:9-68:10: @22[2]: _67 = &_68 53:5-69:7: @22[3]: _66 = (move _67,) -53:5-69:7: @22[5]: FakeRead(ForMatchedPlace, _66) +53:5-69:7: @22[5]: FakeRead(ForMatchedPlace(None), _66) 53:5-69:7: @22[7]: _72 = (_66.0: &std::string::String) 53:5-69:7: @22[10]: _74 = &(*_72) 53:5-69:7: @22[12]: _75 = <std::string::String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) @@ -999,13 +999,13 @@ 7:19-7:35: @1[0]: _3 = &_4 7:19-7:41: @1.Call: _2 = <std::env::Args as std::iter::ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb56] 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) -7:9-7:16: @2[3]: FakeRead(ForLet, _1) +7:9-7:16: @2[3]: FakeRead(ForLet(None), _1) 8:22-8:29: @3[3]: _6 = _1 8:20-8:29: @3[4]: _5 = Not(move _6) -8:9-8:17: @3[6]: FakeRead(ForLet, _5) +8:9-8:17: @3[6]: FakeRead(ForLet(None), _5) 10:32-10:66: @3.Call: _8 = <std::string::String as std::convert::From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb57] 10:27-10:67: @4[0]: _7 = std::option::Option::<std::string::String>::Some(move _8) -10:9-10:24: @5[1]: FakeRead(ForLet, _7) +10:9-10:24: @5[1]: FakeRead(ForLet(None), _7) 12:9-12:32: @5[8]: _137 = const main::promoted[4] 12:9-12:32: @5[9]: _14 = &(*_137) 12:9-12:32: @5[10]: _13 = &(*_14) @@ -1014,7 +1014,7 @@ 14:9-26:10: @5.Call: _22 = std::option::Option::<std::string::String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb54] 14:9-26:10: @6[2]: _21 = &_22 11:5-27:7: @6[3]: _20 = (move _21,) -11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace(None), _20) 11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) 11:5-27:7: @6[10]: _28 = &(*_26) 11:5-27:7: @6[12]: _29 = <std::string::String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) @@ -1029,7 +1029,7 @@ 29:24-29:58: @10.Call: _31 = <std::string::String as std::convert::From<&str>>::from(const "the string content") -> [return: bb11, unwind: bb55] 29:19-29:59: @11[0]: _30 = std::option::Option::<std::string::String>::Some(move _31) 33:9-40:6: @14[3]: _33 = &_5 -31:9-31:10: @14[6]: FakeRead(ForLet, _32) +31:9-31:10: @14[6]: FakeRead(ForLet(None), _32) 42:9-42:32: @14[13]: _136 = const main::promoted[3] 42:9-42:32: @14[14]: _39 = &(*_136) 42:9-42:32: @14[15]: _38 = &(*_39) @@ -1039,7 +1039,7 @@ 44:9-49:10: @14.Call: _47 = std::option::Option::<std::string::String>::unwrap_or_else::<[closure@../coverage/closure.rs:33:9: 40:6]>(move _48, move _49) -> [return: bb15, unwind: bb51] 44:9-49:10: @15[2]: _46 = &_47 41:5-50:7: @15[3]: _45 = (move _46,) -41:5-50:7: @15[5]: FakeRead(ForMatchedPlace, _45) +41:5-50:7: @15[5]: FakeRead(ForMatchedPlace(None), _45) 41:5-50:7: @15[7]: _50 = (_45.0: &std::string::String) 41:5-50:7: @15[10]: _52 = &(*_50) 41:5-50:7: @15[12]: _53 = <std::string::String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) @@ -1060,7 +1060,7 @@ 56:9-68:10: @21.Call: _68 = std::option::Option::<std::string::String>::unwrap_or_else::<[closure@../coverage/closure.rs:60:13: 67:14]>(move _69, move _70) -> [return: bb22, unwind: bb48] 56:9-68:10: @22[2]: _67 = &_68 53:5-69:7: @22[3]: _66 = (move _67,) -53:5-69:7: @22[5]: FakeRead(ForMatchedPlace, _66) +53:5-69:7: @22[5]: FakeRead(ForMatchedPlace(None), _66) 53:5-69:7: @22[7]: _72 = (_66.0: &std::string::String) 53:5-69:7: @22[10]: _74 = &(*_72) 53:5-69:7: @22[12]: _75 = <std::string::String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) @@ -1077,13 +1077,13 @@ 7:19-7:35: @1[0]: _3 = &_4 7:19-7:41: @1.Call: _2 = <std::env::Args as std::iter::ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb56] 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) -7:9-7:16: @2[3]: FakeRead(ForLet, _1) +7:9-7:16: @2[3]: FakeRead(ForLet(None), _1) 8:22-8:29: @3[3]: _6 = _1 8:20-8:29: @3[4]: _5 = Not(move _6) -8:9-8:17: @3[6]: FakeRead(ForLet, _5) +8:9-8:17: @3[6]: FakeRead(ForLet(None), _5) 10:32-10:66: @3.Call: _8 = <std::string::String as std::convert::From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb57] 10:27-10:67: @4[0]: _7 = std::option::Option::<std::string::String>::Some(move _8) -10:9-10:24: @5[1]: FakeRead(ForLet, _7) +10:9-10:24: @5[1]: FakeRead(ForLet(None), _7) 12:9-12:32: @5[8]: _137 = const main::promoted[4] 12:9-12:32: @5[9]: _14 = &(*_137) 12:9-12:32: @5[10]: _13 = &(*_14) @@ -1092,7 +1092,7 @@ 14:9-26:10: @5.Call: _22 = std::option::Option::<std::string::String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb54] 14:9-26:10: @6[2]: _21 = &_22 11:5-27:7: @6[3]: _20 = (move _21,) -11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace(None), _20) 11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) 11:5-27:7: @6[10]: _28 = &(*_26) 11:5-27:7: @6[12]: _29 = <std::string::String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) @@ -1107,7 +1107,7 @@ 29:24-29:58: @10.Call: _31 = <std::string::String as std::convert::From<&str>>::from(const "the string content") -> [return: bb11, unwind: bb55] 29:19-29:59: @11[0]: _30 = std::option::Option::<std::string::String>::Some(move _31) 33:9-40:6: @14[3]: _33 = &_5 -31:9-31:10: @14[6]: FakeRead(ForLet, _32) +31:9-31:10: @14[6]: FakeRead(ForLet(None), _32) 42:9-42:32: @14[13]: _136 = const main::promoted[3] 42:9-42:32: @14[14]: _39 = &(*_136) 42:9-42:32: @14[15]: _38 = &(*_39) @@ -1117,7 +1117,7 @@ 44:9-49:10: @14.Call: _47 = std::option::Option::<std::string::String>::unwrap_or_else::<[closure@../coverage/closure.rs:33:9: 40:6]>(move _48, move _49) -> [return: bb15, unwind: bb51] 44:9-49:10: @15[2]: _46 = &_47 41:5-50:7: @15[3]: _45 = (move _46,) -41:5-50:7: @15[5]: FakeRead(ForMatchedPlace, _45) +41:5-50:7: @15[5]: FakeRead(ForMatchedPlace(None), _45) 41:5-50:7: @15[7]: _50 = (_45.0: &std::string::String) 41:5-50:7: @15[10]: _52 = &(*_50) 41:5-50:7: @15[12]: _53 = <std::string::String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) @@ -1138,7 +1138,7 @@ 56:9-68:10: @21.Call: _68 = std::option::Option::<std::string::String>::unwrap_or_else::<[closure@../coverage/closure.rs:60:13: 67:14]>(move _69, move _70) -> [return: bb22, unwind: bb48] 56:9-68:10: @22[2]: _67 = &_68 53:5-69:7: @22[3]: _66 = (move _67,) -53:5-69:7: @22[5]: FakeRead(ForMatchedPlace, _66) +53:5-69:7: @22[5]: FakeRead(ForMatchedPlace(None), _66) 53:5-69:7: @22[7]: _72 = (_66.0: &std::string::String) 53:5-69:7: @22[10]: _74 = &(*_72) 53:5-69:7: @22[12]: _75 = <std::string::String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) @@ -1155,13 +1155,13 @@ 7:19-7:35: @1[0]: _3 = &_4 7:19-7:41: @1.Call: _2 = <std::env::Args as std::iter::ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb56] 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) -7:9-7:16: @2[3]: FakeRead(ForLet, _1) +7:9-7:16: @2[3]: FakeRead(ForLet(None), _1) 8:22-8:29: @3[3]: _6 = _1 8:20-8:29: @3[4]: _5 = Not(move _6) -8:9-8:17: @3[6]: FakeRead(ForLet, _5) +8:9-8:17: @3[6]: FakeRead(ForLet(None), _5) 10:32-10:66: @3.Call: _8 = <std::string::String as std::convert::From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb57] 10:27-10:67: @4[0]: _7 = std::option::Option::<std::string::String>::Some(move _8) -10:9-10:24: @5[1]: FakeRead(ForLet, _7) +10:9-10:24: @5[1]: FakeRead(ForLet(None), _7) 12:9-12:32: @5[8]: _137 = const main::promoted[4] 12:9-12:32: @5[9]: _14 = &(*_137) 12:9-12:32: @5[10]: _13 = &(*_14) @@ -1170,7 +1170,7 @@ 14:9-26:10: @5.Call: _22 = std::option::Option::<std::string::String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb54] 14:9-26:10: @6[2]: _21 = &_22 11:5-27:7: @6[3]: _20 = (move _21,) -11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace(None), _20) 11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) 11:5-27:7: @6[10]: _28 = &(*_26) 11:5-27:7: @6[12]: _29 = <std::string::String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) @@ -1185,7 +1185,7 @@ 29:24-29:58: @10.Call: _31 = <std::string::String as std::convert::From<&str>>::from(const "the string content") -> [return: bb11, unwind: bb55] 29:19-29:59: @11[0]: _30 = std::option::Option::<std::string::String>::Some(move _31) 33:9-40:6: @14[3]: _33 = &_5 -31:9-31:10: @14[6]: FakeRead(ForLet, _32) +31:9-31:10: @14[6]: FakeRead(ForLet(None), _32) 42:9-42:32: @14[13]: _136 = const main::promoted[3] 42:9-42:32: @14[14]: _39 = &(*_136) 42:9-42:32: @14[15]: _38 = &(*_39) @@ -1195,7 +1195,7 @@ 44:9-49:10: @14.Call: _47 = std::option::Option::<std::string::String>::unwrap_or_else::<[closure@../coverage/closure.rs:33:9: 40:6]>(move _48, move _49) -> [return: bb15, unwind: bb51] 44:9-49:10: @15[2]: _46 = &_47 41:5-50:7: @15[3]: _45 = (move _46,) -41:5-50:7: @15[5]: FakeRead(ForMatchedPlace, _45) +41:5-50:7: @15[5]: FakeRead(ForMatchedPlace(None), _45) 41:5-50:7: @15[7]: _50 = (_45.0: &std::string::String) 41:5-50:7: @15[10]: _52 = &(*_50) 41:5-50:7: @15[12]: _53 = <std::string::String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) @@ -1216,7 +1216,7 @@ 56:9-68:10: @21.Call: _68 = std::option::Option::<std::string::String>::unwrap_or_else::<[closure@../coverage/closure.rs:60:13: 67:14]>(move _69, move _70) -> [return: bb22, unwind: bb48] 56:9-68:10: @22[2]: _67 = &_68 53:5-69:7: @22[3]: _66 = (move _67,) -53:5-69:7: @22[5]: FakeRead(ForMatchedPlace, _66) +53:5-69:7: @22[5]: FakeRead(ForMatchedPlace(None), _66) 53:5-69:7: @22[7]: _72 = (_66.0: &std::string::String) 53:5-69:7: @22[10]: _74 = &(*_72) 53:5-69:7: @22[12]: _75 = <std::string::String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) @@ -1233,13 +1233,13 @@ 7:19-7:35: @1[0]: _3 = &_4 7:19-7:41: @1.Call: _2 = <std::env::Args as std::iter::ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb56] 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) -7:9-7:16: @2[3]: FakeRead(ForLet, _1) +7:9-7:16: @2[3]: FakeRead(ForLet(None), _1) 8:22-8:29: @3[3]: _6 = _1 8:20-8:29: @3[4]: _5 = Not(move _6) -8:9-8:17: @3[6]: FakeRead(ForLet, _5) +8:9-8:17: @3[6]: FakeRead(ForLet(None), _5) 10:32-10:66: @3.Call: _8 = <std::string::String as std::convert::From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb57] 10:27-10:67: @4[0]: _7 = std::option::Option::<std::string::String>::Some(move _8) -10:9-10:24: @5[1]: FakeRead(ForLet, _7) +10:9-10:24: @5[1]: FakeRead(ForLet(None), _7) 12:9-12:32: @5[8]: _137 = const main::promoted[4] 12:9-12:32: @5[9]: _14 = &(*_137) 12:9-12:32: @5[10]: _13 = &(*_14) @@ -1248,7 +1248,7 @@ 14:9-26:10: @5.Call: _22 = std::option::Option::<std::string::String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb54] 14:9-26:10: @6[2]: _21 = &_22 11:5-27:7: @6[3]: _20 = (move _21,) -11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace(None), _20) 11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) 11:5-27:7: @6[10]: _28 = &(*_26) 11:5-27:7: @6[12]: _29 = <std::string::String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) @@ -1263,7 +1263,7 @@ 29:24-29:58: @10.Call: _31 = <std::string::String as std::convert::From<&str>>::from(const "the string content") -> [return: bb11, unwind: bb55] 29:19-29:59: @11[0]: _30 = std::option::Option::<std::string::String>::Some(move _31) 33:9-40:6: @14[3]: _33 = &_5 -31:9-31:10: @14[6]: FakeRead(ForLet, _32) +31:9-31:10: @14[6]: FakeRead(ForLet(None), _32) 42:9-42:32: @14[13]: _136 = const main::promoted[3] 42:9-42:32: @14[14]: _39 = &(*_136) 42:9-42:32: @14[15]: _38 = &(*_39) @@ -1273,7 +1273,7 @@ 44:9-49:10: @14.Call: _47 = std::option::Option::<std::string::String>::unwrap_or_else::<[closure@../coverage/closure.rs:33:9: 40:6]>(move _48, move _49) -> [return: bb15, unwind: bb51] 44:9-49:10: @15[2]: _46 = &_47 41:5-50:7: @15[3]: _45 = (move _46,) -41:5-50:7: @15[5]: FakeRead(ForMatchedPlace, _45) +41:5-50:7: @15[5]: FakeRead(ForMatchedPlace(None), _45) 41:5-50:7: @15[7]: _50 = (_45.0: &std::string::String) 41:5-50:7: @15[10]: _52 = &(*_50) 41:5-50:7: @15[12]: _53 = <std::string::String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) @@ -1294,7 +1294,7 @@ 56:9-68:10: @21.Call: _68 = std::option::Option::<std::string::String>::unwrap_or_else::<[closure@../coverage/closure.rs:60:13: 67:14]>(move _69, move _70) -> [return: bb22, unwind: bb48] 56:9-68:10: @22[2]: _67 = &_68 53:5-69:7: @22[3]: _66 = (move _67,) -53:5-69:7: @22[5]: FakeRead(ForMatchedPlace, _66) +53:5-69:7: @22[5]: FakeRead(ForMatchedPlace(None), _66) 53:5-69:7: @22[7]: _72 = (_66.0: &std::string::String) 53:5-69:7: @22[10]: _74 = &(*_72) 53:5-69:7: @22[12]: _75 = <std::string::String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) @@ -1311,13 +1311,13 @@ 7:19-7:35: @1[0]: _3 = &_4 7:19-7:41: @1.Call: _2 = <std::env::Args as std::iter::ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb56] 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) -7:9-7:16: @2[3]: FakeRead(ForLet, _1) +7:9-7:16: @2[3]: FakeRead(ForLet(None), _1) 8:22-8:29: @3[3]: _6 = _1 8:20-8:29: @3[4]: _5 = Not(move _6) -8:9-8:17: @3[6]: FakeRead(ForLet, _5) +8:9-8:17: @3[6]: FakeRead(ForLet(None), _5) 10:32-10:66: @3.Call: _8 = <std::string::String as std::convert::From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb57] 10:27-10:67: @4[0]: _7 = std::option::Option::<std::string::String>::Some(move _8) -10:9-10:24: @5[1]: FakeRead(ForLet, _7) +10:9-10:24: @5[1]: FakeRead(ForLet(None), _7) 12:9-12:32: @5[8]: _137 = const main::promoted[4] 12:9-12:32: @5[9]: _14 = &(*_137) 12:9-12:32: @5[10]: _13 = &(*_14) @@ -1326,7 +1326,7 @@ 14:9-26:10: @5.Call: _22 = std::option::Option::<std::string::String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb54] 14:9-26:10: @6[2]: _21 = &_22 11:5-27:7: @6[3]: _20 = (move _21,) -11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace(None), _20) 11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) 11:5-27:7: @6[10]: _28 = &(*_26) 11:5-27:7: @6[12]: _29 = <std::string::String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) @@ -1341,7 +1341,7 @@ 29:24-29:58: @10.Call: _31 = <std::string::String as std::convert::From<&str>>::from(const "the string content") -> [return: bb11, unwind: bb55] 29:19-29:59: @11[0]: _30 = std::option::Option::<std::string::String>::Some(move _31) 33:9-40:6: @14[3]: _33 = &_5 -31:9-31:10: @14[6]: FakeRead(ForLet, _32) +31:9-31:10: @14[6]: FakeRead(ForLet(None), _32) 42:9-42:32: @14[13]: _136 = const main::promoted[3] 42:9-42:32: @14[14]: _39 = &(*_136) 42:9-42:32: @14[15]: _38 = &(*_39) @@ -1351,7 +1351,7 @@ 44:9-49:10: @14.Call: _47 = std::option::Option::<std::string::String>::unwrap_or_else::<[closure@../coverage/closure.rs:33:9: 40:6]>(move _48, move _49) -> [return: bb15, unwind: bb51] 44:9-49:10: @15[2]: _46 = &_47 41:5-50:7: @15[3]: _45 = (move _46,) -41:5-50:7: @15[5]: FakeRead(ForMatchedPlace, _45) +41:5-50:7: @15[5]: FakeRead(ForMatchedPlace(None), _45) 41:5-50:7: @15[7]: _50 = (_45.0: &std::string::String) 41:5-50:7: @15[10]: _52 = &(*_50) 41:5-50:7: @15[12]: _53 = <std::string::String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) @@ -1372,7 +1372,7 @@ 56:9-68:10: @21.Call: _68 = std::option::Option::<std::string::String>::unwrap_or_else::<[closure@../coverage/closure.rs:60:13: 67:14]>(move _69, move _70) -> [return: bb22, unwind: bb48] 56:9-68:10: @22[2]: _67 = &_68 53:5-69:7: @22[3]: _66 = (move _67,) -53:5-69:7: @22[5]: FakeRead(ForMatchedPlace, _66) +53:5-69:7: @22[5]: FakeRead(ForMatchedPlace(None), _66) 53:5-69:7: @22[7]: _72 = (_66.0: &std::string::String) 53:5-69:7: @22[10]: _74 = &(*_72) 53:5-69:7: @22[12]: _75 = <std::string::String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) @@ -1389,13 +1389,13 @@ 7:19-7:35: @1[0]: _3 = &_4 7:19-7:41: @1.Call: _2 = <std::env::Args as std::iter::ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb56] 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) -7:9-7:16: @2[3]: FakeRead(ForLet, _1) +7:9-7:16: @2[3]: FakeRead(ForLet(None), _1) 8:22-8:29: @3[3]: _6 = _1 8:20-8:29: @3[4]: _5 = Not(move _6) -8:9-8:17: @3[6]: FakeRead(ForLet, _5) +8:9-8:17: @3[6]: FakeRead(ForLet(None), _5) 10:32-10:66: @3.Call: _8 = <std::string::String as std::convert::From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb57] 10:27-10:67: @4[0]: _7 = std::option::Option::<std::string::String>::Some(move _8) -10:9-10:24: @5[1]: FakeRead(ForLet, _7) +10:9-10:24: @5[1]: FakeRead(ForLet(None), _7) 12:9-12:32: @5[8]: _137 = const main::promoted[4] 12:9-12:32: @5[9]: _14 = &(*_137) 12:9-12:32: @5[10]: _13 = &(*_14) @@ -1404,7 +1404,7 @@ 14:9-26:10: @5.Call: _22 = std::option::Option::<std::string::String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb54] 14:9-26:10: @6[2]: _21 = &_22 11:5-27:7: @6[3]: _20 = (move _21,) -11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace(None), _20) 11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) 11:5-27:7: @6[10]: _28 = &(*_26) 11:5-27:7: @6[12]: _29 = <std::string::String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) @@ -1419,7 +1419,7 @@ 29:24-29:58: @10.Call: _31 = <std::string::String as std::convert::From<&str>>::from(const "the string content") -> [return: bb11, unwind: bb55] 29:19-29:59: @11[0]: _30 = std::option::Option::<std::string::String>::Some(move _31) 33:9-40:6: @14[3]: _33 = &_5 -31:9-31:10: @14[6]: FakeRead(ForLet, _32) +31:9-31:10: @14[6]: FakeRead(ForLet(None), _32) 42:9-42:32: @14[13]: _136 = const main::promoted[3] 42:9-42:32: @14[14]: _39 = &(*_136) 42:9-42:32: @14[15]: _38 = &(*_39) @@ -1429,7 +1429,7 @@ 44:9-49:10: @14.Call: _47 = std::option::Option::<std::string::String>::unwrap_or_else::<[closure@../coverage/closure.rs:33:9: 40:6]>(move _48, move _49) -> [return: bb15, unwind: bb51] 44:9-49:10: @15[2]: _46 = &_47 41:5-50:7: @15[3]: _45 = (move _46,) -41:5-50:7: @15[5]: FakeRead(ForMatchedPlace, _45) +41:5-50:7: @15[5]: FakeRead(ForMatchedPlace(None), _45) 41:5-50:7: @15[7]: _50 = (_45.0: &std::string::String) 41:5-50:7: @15[10]: _52 = &(*_50) 41:5-50:7: @15[12]: _53 = <std::string::String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) @@ -1450,7 +1450,7 @@ 56:9-68:10: @21.Call: _68 = std::option::Option::<std::string::String>::unwrap_or_else::<[closure@../coverage/closure.rs:60:13: 67:14]>(move _69, move _70) -> [return: bb22, unwind: bb48] 56:9-68:10: @22[2]: _67 = &_68 53:5-69:7: @22[3]: _66 = (move _67,) -53:5-69:7: @22[5]: FakeRead(ForMatchedPlace, _66) +53:5-69:7: @22[5]: FakeRead(ForMatchedPlace(None), _66) 53:5-69:7: @22[7]: _72 = (_66.0: &std::string::String) 53:5-69:7: @22[10]: _74 = &(*_72) 53:5-69:7: @22[12]: _75 = <std::string::String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) @@ -1467,13 +1467,13 @@ 7:19-7:35: @1[0]: _3 = &_4 7:19-7:41: @1.Call: _2 = <std::env::Args as std::iter::ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb56] 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) -7:9-7:16: @2[3]: FakeRead(ForLet, _1) +7:9-7:16: @2[3]: FakeRead(ForLet(None), _1) 8:22-8:29: @3[3]: _6 = _1 8:20-8:29: @3[4]: _5 = Not(move _6) -8:9-8:17: @3[6]: FakeRead(ForLet, _5) +8:9-8:17: @3[6]: FakeRead(ForLet(None), _5) 10:32-10:66: @3.Call: _8 = <std::string::String as std::convert::From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb57] 10:27-10:67: @4[0]: _7 = std::option::Option::<std::string::String>::Some(move _8) -10:9-10:24: @5[1]: FakeRead(ForLet, _7) +10:9-10:24: @5[1]: FakeRead(ForLet(None), _7) 12:9-12:32: @5[8]: _137 = const main::promoted[4] 12:9-12:32: @5[9]: _14 = &(*_137) 12:9-12:32: @5[10]: _13 = &(*_14) @@ -1482,7 +1482,7 @@ 14:9-26:10: @5.Call: _22 = std::option::Option::<std::string::String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb54] 14:9-26:10: @6[2]: _21 = &_22 11:5-27:7: @6[3]: _20 = (move _21,) -11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace(None), _20) 11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) 11:5-27:7: @6[10]: _28 = &(*_26) 11:5-27:7: @6[12]: _29 = <std::string::String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) @@ -1497,7 +1497,7 @@ 29:24-29:58: @10.Call: _31 = <std::string::String as std::convert::From<&str>>::from(const "the string content") -> [return: bb11, unwind: bb55] 29:19-29:59: @11[0]: _30 = std::option::Option::<std::string::String>::Some(move _31) 33:9-40:6: @14[3]: _33 = &_5 -31:9-31:10: @14[6]: FakeRead(ForLet, _32) +31:9-31:10: @14[6]: FakeRead(ForLet(None), _32) 42:9-42:32: @14[13]: _136 = const main::promoted[3] 42:9-42:32: @14[14]: _39 = &(*_136) 42:9-42:32: @14[15]: _38 = &(*_39) @@ -1507,7 +1507,7 @@ 44:9-49:10: @14.Call: _47 = std::option::Option::<std::string::String>::unwrap_or_else::<[closure@../coverage/closure.rs:33:9: 40:6]>(move _48, move _49) -> [return: bb15, unwind: bb51] 44:9-49:10: @15[2]: _46 = &_47 41:5-50:7: @15[3]: _45 = (move _46,) -41:5-50:7: @15[5]: FakeRead(ForMatchedPlace, _45) +41:5-50:7: @15[5]: FakeRead(ForMatchedPlace(None), _45) 41:5-50:7: @15[7]: _50 = (_45.0: &std::string::String) 41:5-50:7: @15[10]: _52 = &(*_50) 41:5-50:7: @15[12]: _53 = <std::string::String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) @@ -1528,7 +1528,7 @@ 56:9-68:10: @21.Call: _68 = std::option::Option::<std::string::String>::unwrap_or_else::<[closure@../coverage/closure.rs:60:13: 67:14]>(move _69, move _70) -> [return: bb22, unwind: bb48] 56:9-68:10: @22[2]: _67 = &_68 53:5-69:7: @22[3]: _66 = (move _67,) -53:5-69:7: @22[5]: FakeRead(ForMatchedPlace, _66) +53:5-69:7: @22[5]: FakeRead(ForMatchedPlace(None), _66) 53:5-69:7: @22[7]: _72 = (_66.0: &std::string::String) 53:5-69:7: @22[10]: _74 = &(*_72) 53:5-69:7: @22[12]: _75 = <std::string::String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) @@ -1545,13 +1545,13 @@ 7:19-7:35: @1[0]: _3 = &_4 7:19-7:41: @1.Call: _2 = <std::env::Args as std::iter::ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb56] 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) -7:9-7:16: @2[3]: FakeRead(ForLet, _1) +7:9-7:16: @2[3]: FakeRead(ForLet(None), _1) 8:22-8:29: @3[3]: _6 = _1 8:20-8:29: @3[4]: _5 = Not(move _6) -8:9-8:17: @3[6]: FakeRead(ForLet, _5) +8:9-8:17: @3[6]: FakeRead(ForLet(None), _5) 10:32-10:66: @3.Call: _8 = <std::string::String as std::convert::From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb57] 10:27-10:67: @4[0]: _7 = std::option::Option::<std::string::String>::Some(move _8) -10:9-10:24: @5[1]: FakeRead(ForLet, _7) +10:9-10:24: @5[1]: FakeRead(ForLet(None), _7) 12:9-12:32: @5[8]: _137 = const main::promoted[4] 12:9-12:32: @5[9]: _14 = &(*_137) 12:9-12:32: @5[10]: _13 = &(*_14) @@ -1560,7 +1560,7 @@ 14:9-26:10: @5.Call: _22 = std::option::Option::<std::string::String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb54] 14:9-26:10: @6[2]: _21 = &_22 11:5-27:7: @6[3]: _20 = (move _21,) -11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace(None), _20) 11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) 11:5-27:7: @6[10]: _28 = &(*_26) 11:5-27:7: @6[12]: _29 = <std::string::String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) @@ -1575,7 +1575,7 @@ 29:24-29:58: @10.Call: _31 = <std::string::String as std::convert::From<&str>>::from(const "the string content") -> [return: bb11, unwind: bb55] 29:19-29:59: @11[0]: _30 = std::option::Option::<std::string::String>::Some(move _31) 33:9-40:6: @14[3]: _33 = &_5 -31:9-31:10: @14[6]: FakeRead(ForLet, _32) +31:9-31:10: @14[6]: FakeRead(ForLet(None), _32) 42:9-42:32: @14[13]: _136 = const main::promoted[3] 42:9-42:32: @14[14]: _39 = &(*_136) 42:9-42:32: @14[15]: _38 = &(*_39) @@ -1585,7 +1585,7 @@ 44:9-49:10: @14.Call: _47 = std::option::Option::<std::string::String>::unwrap_or_else::<[closure@../coverage/closure.rs:33:9: 40:6]>(move _48, move _49) -> [return: bb15, unwind: bb51] 44:9-49:10: @15[2]: _46 = &_47 41:5-50:7: @15[3]: _45 = (move _46,) -41:5-50:7: @15[5]: FakeRead(ForMatchedPlace, _45) +41:5-50:7: @15[5]: FakeRead(ForMatchedPlace(None), _45) 41:5-50:7: @15[7]: _50 = (_45.0: &std::string::String) 41:5-50:7: @15[10]: _52 = &(*_50) 41:5-50:7: @15[12]: _53 = <std::string::String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) @@ -1606,7 +1606,7 @@ 56:9-68:10: @21.Call: _68 = std::option::Option::<std::string::String>::unwrap_or_else::<[closure@../coverage/closure.rs:60:13: 67:14]>(move _69, move _70) -> [return: bb22, unwind: bb48] 56:9-68:10: @22[2]: _67 = &_68 53:5-69:7: @22[3]: _66 = (move _67,) -53:5-69:7: @22[5]: FakeRead(ForMatchedPlace, _66) +53:5-69:7: @22[5]: FakeRead(ForMatchedPlace(None), _66) 53:5-69:7: @22[7]: _72 = (_66.0: &std::string::String) 53:5-69:7: @22[10]: _74 = &(*_72) 53:5-69:7: @22[12]: _75 = <std::string::String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) @@ -1623,13 +1623,13 @@ 7:19-7:35: @1[0]: _3 = &_4 7:19-7:41: @1.Call: _2 = <std::env::Args as std::iter::ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb56] 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) -7:9-7:16: @2[3]: FakeRead(ForLet, _1) +7:9-7:16: @2[3]: FakeRead(ForLet(None), _1) 8:22-8:29: @3[3]: _6 = _1 8:20-8:29: @3[4]: _5 = Not(move _6) -8:9-8:17: @3[6]: FakeRead(ForLet, _5) +8:9-8:17: @3[6]: FakeRead(ForLet(None), _5) 10:32-10:66: @3.Call: _8 = <std::string::String as std::convert::From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb57] 10:27-10:67: @4[0]: _7 = std::option::Option::<std::string::String>::Some(move _8) -10:9-10:24: @5[1]: FakeRead(ForLet, _7) +10:9-10:24: @5[1]: FakeRead(ForLet(None), _7) 12:9-12:32: @5[8]: _137 = const main::promoted[4] 12:9-12:32: @5[9]: _14 = &(*_137) 12:9-12:32: @5[10]: _13 = &(*_14) @@ -1638,7 +1638,7 @@ 14:9-26:10: @5.Call: _22 = std::option::Option::<std::string::String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb54] 14:9-26:10: @6[2]: _21 = &_22 11:5-27:7: @6[3]: _20 = (move _21,) -11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace(None), _20) 11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) 11:5-27:7: @6[10]: _28 = &(*_26) 11:5-27:7: @6[12]: _29 = <std::string::String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) @@ -1653,7 +1653,7 @@ 29:24-29:58: @10.Call: _31 = <std::string::String as std::convert::From<&str>>::from(const "the string content") -> [return: bb11, unwind: bb55] 29:19-29:59: @11[0]: _30 = std::option::Option::<std::string::String>::Some(move _31) 33:9-40:6: @14[3]: _33 = &_5 -31:9-31:10: @14[6]: FakeRead(ForLet, _32) +31:9-31:10: @14[6]: FakeRead(ForLet(None), _32) 42:9-42:32: @14[13]: _136 = const main::promoted[3] 42:9-42:32: @14[14]: _39 = &(*_136) 42:9-42:32: @14[15]: _38 = &(*_39) @@ -1663,7 +1663,7 @@ 44:9-49:10: @14.Call: _47 = std::option::Option::<std::string::String>::unwrap_or_else::<[closure@../coverage/closure.rs:33:9: 40:6]>(move _48, move _49) -> [return: bb15, unwind: bb51] 44:9-49:10: @15[2]: _46 = &_47 41:5-50:7: @15[3]: _45 = (move _46,) -41:5-50:7: @15[5]: FakeRead(ForMatchedPlace, _45) +41:5-50:7: @15[5]: FakeRead(ForMatchedPlace(None), _45) 41:5-50:7: @15[7]: _50 = (_45.0: &std::string::String) 41:5-50:7: @15[10]: _52 = &(*_50) 41:5-50:7: @15[12]: _53 = <std::string::String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) @@ -1684,7 +1684,7 @@ 56:9-68:10: @21.Call: _68 = std::option::Option::<std::string::String>::unwrap_or_else::<[closure@../coverage/closure.rs:60:13: 67:14]>(move _69, move _70) -> [return: bb22, unwind: bb48] 56:9-68:10: @22[2]: _67 = &_68 53:5-69:7: @22[3]: _66 = (move _67,) -53:5-69:7: @22[5]: FakeRead(ForMatchedPlace, _66) +53:5-69:7: @22[5]: FakeRead(ForMatchedPlace(None), _66) 53:5-69:7: @22[7]: _72 = (_66.0: &std::string::String) 53:5-69:7: @22[10]: _74 = &(*_72) 53:5-69:7: @22[12]: _75 = <std::string::String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) @@ -1701,13 +1701,13 @@ 7:19-7:35: @1[0]: _3 = &_4 7:19-7:41: @1.Call: _2 = <std::env::Args as std::iter::ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb56] 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) -7:9-7:16: @2[3]: FakeRead(ForLet, _1) +7:9-7:16: @2[3]: FakeRead(ForLet(None), _1) 8:22-8:29: @3[3]: _6 = _1 8:20-8:29: @3[4]: _5 = Not(move _6) -8:9-8:17: @3[6]: FakeRead(ForLet, _5) +8:9-8:17: @3[6]: FakeRead(ForLet(None), _5) 10:32-10:66: @3.Call: _8 = <std::string::String as std::convert::From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb57] 10:27-10:67: @4[0]: _7 = std::option::Option::<std::string::String>::Some(move _8) -10:9-10:24: @5[1]: FakeRead(ForLet, _7) +10:9-10:24: @5[1]: FakeRead(ForLet(None), _7) 12:9-12:32: @5[8]: _137 = const main::promoted[4] 12:9-12:32: @5[9]: _14 = &(*_137) 12:9-12:32: @5[10]: _13 = &(*_14) @@ -1716,7 +1716,7 @@ 14:9-26:10: @5.Call: _22 = std::option::Option::<std::string::String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb54] 14:9-26:10: @6[2]: _21 = &_22 11:5-27:7: @6[3]: _20 = (move _21,) -11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace(None), _20) 11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) 11:5-27:7: @6[10]: _28 = &(*_26) 11:5-27:7: @6[12]: _29 = <std::string::String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) @@ -1731,7 +1731,7 @@ 29:24-29:58: @10.Call: _31 = <std::string::String as std::convert::From<&str>>::from(const "the string content") -> [return: bb11, unwind: bb55] 29:19-29:59: @11[0]: _30 = std::option::Option::<std::string::String>::Some(move _31) 33:9-40:6: @14[3]: _33 = &_5 -31:9-31:10: @14[6]: FakeRead(ForLet, _32) +31:9-31:10: @14[6]: FakeRead(ForLet(None), _32) 42:9-42:32: @14[13]: _136 = const main::promoted[3] 42:9-42:32: @14[14]: _39 = &(*_136) 42:9-42:32: @14[15]: _38 = &(*_39) @@ -1741,7 +1741,7 @@ 44:9-49:10: @14.Call: _47 = std::option::Option::<std::string::String>::unwrap_or_else::<[closure@../coverage/closure.rs:33:9: 40:6]>(move _48, move _49) -> [return: bb15, unwind: bb51] 44:9-49:10: @15[2]: _46 = &_47 41:5-50:7: @15[3]: _45 = (move _46,) -41:5-50:7: @15[5]: FakeRead(ForMatchedPlace, _45) +41:5-50:7: @15[5]: FakeRead(ForMatchedPlace(None), _45) 41:5-50:7: @15[7]: _50 = (_45.0: &std::string::String) 41:5-50:7: @15[10]: _52 = &(*_50) 41:5-50:7: @15[12]: _53 = <std::string::String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) @@ -1762,7 +1762,7 @@ 56:9-68:10: @21.Call: _68 = std::option::Option::<std::string::String>::unwrap_or_else::<[closure@../coverage/closure.rs:60:13: 67:14]>(move _69, move _70) -> [return: bb22, unwind: bb48] 56:9-68:10: @22[2]: _67 = &_68 53:5-69:7: @22[3]: _66 = (move _67,) -53:5-69:7: @22[5]: FakeRead(ForMatchedPlace, _66) +53:5-69:7: @22[5]: FakeRead(ForMatchedPlace(None), _66) 53:5-69:7: @22[7]: _72 = (_66.0: &std::string::String) 53:5-69:7: @22[10]: _74 = &(*_72) 53:5-69:7: @22[12]: _75 = <std::string::String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) @@ -1779,13 +1779,13 @@ 7:19-7:35: @1[0]: _3 = &_4 7:19-7:41: @1.Call: _2 = <std::env::Args as std::iter::ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb56] 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) -7:9-7:16: @2[3]: FakeRead(ForLet, _1) +7:9-7:16: @2[3]: FakeRead(ForLet(None), _1) 8:22-8:29: @3[3]: _6 = _1 8:20-8:29: @3[4]: _5 = Not(move _6) -8:9-8:17: @3[6]: FakeRead(ForLet, _5) +8:9-8:17: @3[6]: FakeRead(ForLet(None), _5) 10:32-10:66: @3.Call: _8 = <std::string::String as std::convert::From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb57] 10:27-10:67: @4[0]: _7 = std::option::Option::<std::string::String>::Some(move _8) -10:9-10:24: @5[1]: FakeRead(ForLet, _7) +10:9-10:24: @5[1]: FakeRead(ForLet(None), _7) 12:9-12:32: @5[8]: _137 = const main::promoted[4] 12:9-12:32: @5[9]: _14 = &(*_137) 12:9-12:32: @5[10]: _13 = &(*_14) @@ -1794,7 +1794,7 @@ 14:9-26:10: @5.Call: _22 = std::option::Option::<std::string::String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb54] 14:9-26:10: @6[2]: _21 = &_22 11:5-27:7: @6[3]: _20 = (move _21,) -11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace(None), _20) 11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) 11:5-27:7: @6[10]: _28 = &(*_26) 11:5-27:7: @6[12]: _29 = <std::string::String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) @@ -1809,7 +1809,7 @@ 29:24-29:58: @10.Call: _31 = <std::string::String as std::convert::From<&str>>::from(const "the string content") -> [return: bb11, unwind: bb55] 29:19-29:59: @11[0]: _30 = std::option::Option::<std::string::String>::Some(move _31) 33:9-40:6: @14[3]: _33 = &_5 -31:9-31:10: @14[6]: FakeRead(ForLet, _32) +31:9-31:10: @14[6]: FakeRead(ForLet(None), _32) 42:9-42:32: @14[13]: _136 = const main::promoted[3] 42:9-42:32: @14[14]: _39 = &(*_136) 42:9-42:32: @14[15]: _38 = &(*_39) @@ -1819,7 +1819,7 @@ 44:9-49:10: @14.Call: _47 = std::option::Option::<std::string::String>::unwrap_or_else::<[closure@../coverage/closure.rs:33:9: 40:6]>(move _48, move _49) -> [return: bb15, unwind: bb51] 44:9-49:10: @15[2]: _46 = &_47 41:5-50:7: @15[3]: _45 = (move _46,) -41:5-50:7: @15[5]: FakeRead(ForMatchedPlace, _45) +41:5-50:7: @15[5]: FakeRead(ForMatchedPlace(None), _45) 41:5-50:7: @15[7]: _50 = (_45.0: &std::string::String) 41:5-50:7: @15[10]: _52 = &(*_50) 41:5-50:7: @15[12]: _53 = <std::string::String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) @@ -1840,7 +1840,7 @@ 56:9-68:10: @21.Call: _68 = std::option::Option::<std::string::String>::unwrap_or_else::<[closure@../coverage/closure.rs:60:13: 67:14]>(move _69, move _70) -> [return: bb22, unwind: bb48] 56:9-68:10: @22[2]: _67 = &_68 53:5-69:7: @22[3]: _66 = (move _67,) -53:5-69:7: @22[5]: FakeRead(ForMatchedPlace, _66) +53:5-69:7: @22[5]: FakeRead(ForMatchedPlace(None), _66) 53:5-69:7: @22[7]: _72 = (_66.0: &std::string::String) 53:5-69:7: @22[10]: _74 = &(*_72) 53:5-69:7: @22[12]: _75 = <std::string::String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) @@ -1857,13 +1857,13 @@ 7:19-7:35: @1[0]: _3 = &_4 7:19-7:41: @1.Call: _2 = <std::env::Args as std::iter::ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb56] 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) -7:9-7:16: @2[3]: FakeRead(ForLet, _1) +7:9-7:16: @2[3]: FakeRead(ForLet(None), _1) 8:22-8:29: @3[3]: _6 = _1 8:20-8:29: @3[4]: _5 = Not(move _6) -8:9-8:17: @3[6]: FakeRead(ForLet, _5) +8:9-8:17: @3[6]: FakeRead(ForLet(None), _5) 10:32-10:66: @3.Call: _8 = <std::string::String as std::convert::From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb57] 10:27-10:67: @4[0]: _7 = std::option::Option::<std::string::String>::Some(move _8) -10:9-10:24: @5[1]: FakeRead(ForLet, _7) +10:9-10:24: @5[1]: FakeRead(ForLet(None), _7) 12:9-12:32: @5[8]: _137 = const main::promoted[4] 12:9-12:32: @5[9]: _14 = &(*_137) 12:9-12:32: @5[10]: _13 = &(*_14) @@ -1872,7 +1872,7 @@ 14:9-26:10: @5.Call: _22 = std::option::Option::<std::string::String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb54] 14:9-26:10: @6[2]: _21 = &_22 11:5-27:7: @6[3]: _20 = (move _21,) -11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace(None), _20) 11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) 11:5-27:7: @6[10]: _28 = &(*_26) 11:5-27:7: @6[12]: _29 = <std::string::String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) @@ -1887,7 +1887,7 @@ 29:24-29:58: @10.Call: _31 = <std::string::String as std::convert::From<&str>>::from(const "the string content") -> [return: bb11, unwind: bb55] 29:19-29:59: @11[0]: _30 = std::option::Option::<std::string::String>::Some(move _31) 33:9-40:6: @14[3]: _33 = &_5 -31:9-31:10: @14[6]: FakeRead(ForLet, _32) +31:9-31:10: @14[6]: FakeRead(ForLet(None), _32) 42:9-42:32: @14[13]: _136 = const main::promoted[3] 42:9-42:32: @14[14]: _39 = &(*_136) 42:9-42:32: @14[15]: _38 = &(*_39) @@ -1897,7 +1897,7 @@ 44:9-49:10: @14.Call: _47 = std::option::Option::<std::string::String>::unwrap_or_else::<[closure@../coverage/closure.rs:33:9: 40:6]>(move _48, move _49) -> [return: bb15, unwind: bb51] 44:9-49:10: @15[2]: _46 = &_47 41:5-50:7: @15[3]: _45 = (move _46,) -41:5-50:7: @15[5]: FakeRead(ForMatchedPlace, _45) +41:5-50:7: @15[5]: FakeRead(ForMatchedPlace(None), _45) 41:5-50:7: @15[7]: _50 = (_45.0: &std::string::String) 41:5-50:7: @15[10]: _52 = &(*_50) 41:5-50:7: @15[12]: _53 = <std::string::String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) @@ -1918,7 +1918,7 @@ 56:9-68:10: @21.Call: _68 = std::option::Option::<std::string::String>::unwrap_or_else::<[closure@../coverage/closure.rs:60:13: 67:14]>(move _69, move _70) -> [return: bb22, unwind: bb48] 56:9-68:10: @22[2]: _67 = &_68 53:5-69:7: @22[3]: _66 = (move _67,) -53:5-69:7: @22[5]: FakeRead(ForMatchedPlace, _66) +53:5-69:7: @22[5]: FakeRead(ForMatchedPlace(None), _66) 53:5-69:7: @22[7]: _72 = (_66.0: &std::string::String) 53:5-69:7: @22[10]: _74 = &(*_72) 53:5-69:7: @22[12]: _75 = <std::string::String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) @@ -1935,13 +1935,13 @@ 7:19-7:35: @1[0]: _3 = &_4 7:19-7:41: @1.Call: _2 = <std::env::Args as std::iter::ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb56] 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) -7:9-7:16: @2[3]: FakeRead(ForLet, _1) +7:9-7:16: @2[3]: FakeRead(ForLet(None), _1) 8:22-8:29: @3[3]: _6 = _1 8:20-8:29: @3[4]: _5 = Not(move _6) -8:9-8:17: @3[6]: FakeRead(ForLet, _5) +8:9-8:17: @3[6]: FakeRead(ForLet(None), _5) 10:32-10:66: @3.Call: _8 = <std::string::String as std::convert::From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb57] 10:27-10:67: @4[0]: _7 = std::option::Option::<std::string::String>::Some(move _8) -10:9-10:24: @5[1]: FakeRead(ForLet, _7) +10:9-10:24: @5[1]: FakeRead(ForLet(None), _7) 12:9-12:32: @5[8]: _137 = const main::promoted[4] 12:9-12:32: @5[9]: _14 = &(*_137) 12:9-12:32: @5[10]: _13 = &(*_14) @@ -1950,7 +1950,7 @@ 14:9-26:10: @5.Call: _22 = std::option::Option::<std::string::String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb54] 14:9-26:10: @6[2]: _21 = &_22 11:5-27:7: @6[3]: _20 = (move _21,) -11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace(None), _20) 11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) 11:5-27:7: @6[10]: _28 = &(*_26) 11:5-27:7: @6[12]: _29 = <std::string::String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) @@ -1965,7 +1965,7 @@ 29:24-29:58: @10.Call: _31 = <std::string::String as std::convert::From<&str>>::from(const "the string content") -> [return: bb11, unwind: bb55] 29:19-29:59: @11[0]: _30 = std::option::Option::<std::string::String>::Some(move _31) 33:9-40:6: @14[3]: _33 = &_5 -31:9-31:10: @14[6]: FakeRead(ForLet, _32) +31:9-31:10: @14[6]: FakeRead(ForLet(None), _32) 42:9-42:32: @14[13]: _136 = const main::promoted[3] 42:9-42:32: @14[14]: _39 = &(*_136) 42:9-42:32: @14[15]: _38 = &(*_39) @@ -1975,7 +1975,7 @@ 44:9-49:10: @14.Call: _47 = std::option::Option::<std::string::String>::unwrap_or_else::<[closure@../coverage/closure.rs:33:9: 40:6]>(move _48, move _49) -> [return: bb15, unwind: bb51] 44:9-49:10: @15[2]: _46 = &_47 41:5-50:7: @15[3]: _45 = (move _46,) -41:5-50:7: @15[5]: FakeRead(ForMatchedPlace, _45) +41:5-50:7: @15[5]: FakeRead(ForMatchedPlace(None), _45) 41:5-50:7: @15[7]: _50 = (_45.0: &std::string::String) 41:5-50:7: @15[10]: _52 = &(*_50) 41:5-50:7: @15[12]: _53 = <std::string::String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) @@ -1996,7 +1996,7 @@ 56:9-68:10: @21.Call: _68 = std::option::Option::<std::string::String>::unwrap_or_else::<[closure@../coverage/closure.rs:60:13: 67:14]>(move _69, move _70) -> [return: bb22, unwind: bb48] 56:9-68:10: @22[2]: _67 = &_68 53:5-69:7: @22[3]: _66 = (move _67,) -53:5-69:7: @22[5]: FakeRead(ForMatchedPlace, _66) +53:5-69:7: @22[5]: FakeRead(ForMatchedPlace(None), _66) 53:5-69:7: @22[7]: _72 = (_66.0: &std::string::String) 53:5-69:7: @22[10]: _74 = &(*_72) 53:5-69:7: @22[12]: _75 = <std::string::String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) @@ -2013,13 +2013,13 @@ 7:19-7:35: @1[0]: _3 = &_4 7:19-7:41: @1.Call: _2 = <std::env::Args as std::iter::ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb56] 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) -7:9-7:16: @2[3]: FakeRead(ForLet, _1) +7:9-7:16: @2[3]: FakeRead(ForLet(None), _1) 8:22-8:29: @3[3]: _6 = _1 8:20-8:29: @3[4]: _5 = Not(move _6) -8:9-8:17: @3[6]: FakeRead(ForLet, _5) +8:9-8:17: @3[6]: FakeRead(ForLet(None), _5) 10:32-10:66: @3.Call: _8 = <std::string::String as std::convert::From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb57] 10:27-10:67: @4[0]: _7 = std::option::Option::<std::string::String>::Some(move _8) -10:9-10:24: @5[1]: FakeRead(ForLet, _7) +10:9-10:24: @5[1]: FakeRead(ForLet(None), _7) 12:9-12:32: @5[8]: _137 = const main::promoted[4] 12:9-12:32: @5[9]: _14 = &(*_137) 12:9-12:32: @5[10]: _13 = &(*_14) @@ -2028,7 +2028,7 @@ 14:9-26:10: @5.Call: _22 = std::option::Option::<std::string::String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb54] 14:9-26:10: @6[2]: _21 = &_22 11:5-27:7: @6[3]: _20 = (move _21,) -11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace(None), _20) 11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) 11:5-27:7: @6[10]: _28 = &(*_26) 11:5-27:7: @6[12]: _29 = <std::string::String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) @@ -2043,7 +2043,7 @@ 29:24-29:58: @10.Call: _31 = <std::string::String as std::convert::From<&str>>::from(const "the string content") -> [return: bb11, unwind: bb55] 29:19-29:59: @11[0]: _30 = std::option::Option::<std::string::String>::Some(move _31) 33:9-40:6: @14[3]: _33 = &_5 -31:9-31:10: @14[6]: FakeRead(ForLet, _32) +31:9-31:10: @14[6]: FakeRead(ForLet(None), _32) 42:9-42:32: @14[13]: _136 = const main::promoted[3] 42:9-42:32: @14[14]: _39 = &(*_136) 42:9-42:32: @14[15]: _38 = &(*_39) @@ -2053,7 +2053,7 @@ 44:9-49:10: @14.Call: _47 = std::option::Option::<std::string::String>::unwrap_or_else::<[closure@../coverage/closure.rs:33:9: 40:6]>(move _48, move _49) -> [return: bb15, unwind: bb51] 44:9-49:10: @15[2]: _46 = &_47 41:5-50:7: @15[3]: _45 = (move _46,) -41:5-50:7: @15[5]: FakeRead(ForMatchedPlace, _45) +41:5-50:7: @15[5]: FakeRead(ForMatchedPlace(None), _45) 41:5-50:7: @15[7]: _50 = (_45.0: &std::string::String) 41:5-50:7: @15[10]: _52 = &(*_50) 41:5-50:7: @15[12]: _53 = <std::string::String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) @@ -2074,7 +2074,7 @@ 56:9-68:10: @21.Call: _68 = std::option::Option::<std::string::String>::unwrap_or_else::<[closure@../coverage/closure.rs:60:13: 67:14]>(move _69, move _70) -> [return: bb22, unwind: bb48] 56:9-68:10: @22[2]: _67 = &_68 53:5-69:7: @22[3]: _66 = (move _67,) -53:5-69:7: @22[5]: FakeRead(ForMatchedPlace, _66) +53:5-69:7: @22[5]: FakeRead(ForMatchedPlace(None), _66) 53:5-69:7: @22[7]: _72 = (_66.0: &std::string::String) 53:5-69:7: @22[10]: _74 = &(*_72) 53:5-69:7: @22[12]: _75 = <std::string::String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) @@ -2091,13 +2091,13 @@ 7:19-7:35: @1[0]: _3 = &_4 7:19-7:41: @1.Call: _2 = <std::env::Args as std::iter::ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb56] 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) -7:9-7:16: @2[3]: FakeRead(ForLet, _1) +7:9-7:16: @2[3]: FakeRead(ForLet(None), _1) 8:22-8:29: @3[3]: _6 = _1 8:20-8:29: @3[4]: _5 = Not(move _6) -8:9-8:17: @3[6]: FakeRead(ForLet, _5) +8:9-8:17: @3[6]: FakeRead(ForLet(None), _5) 10:32-10:66: @3.Call: _8 = <std::string::String as std::convert::From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb57] 10:27-10:67: @4[0]: _7 = std::option::Option::<std::string::String>::Some(move _8) -10:9-10:24: @5[1]: FakeRead(ForLet, _7) +10:9-10:24: @5[1]: FakeRead(ForLet(None), _7) 12:9-12:32: @5[8]: _137 = const main::promoted[4] 12:9-12:32: @5[9]: _14 = &(*_137) 12:9-12:32: @5[10]: _13 = &(*_14) @@ -2106,7 +2106,7 @@ 14:9-26:10: @5.Call: _22 = std::option::Option::<std::string::String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb54] 14:9-26:10: @6[2]: _21 = &_22 11:5-27:7: @6[3]: _20 = (move _21,) -11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace(None), _20) 11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) 11:5-27:7: @6[10]: _28 = &(*_26) 11:5-27:7: @6[12]: _29 = <std::string::String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) @@ -2121,7 +2121,7 @@ 29:24-29:58: @10.Call: _31 = <std::string::String as std::convert::From<&str>>::from(const "the string content") -> [return: bb11, unwind: bb55] 29:19-29:59: @11[0]: _30 = std::option::Option::<std::string::String>::Some(move _31) 33:9-40:6: @14[3]: _33 = &_5 -31:9-31:10: @14[6]: FakeRead(ForLet, _32) +31:9-31:10: @14[6]: FakeRead(ForLet(None), _32) 42:9-42:32: @14[13]: _136 = const main::promoted[3] 42:9-42:32: @14[14]: _39 = &(*_136) 42:9-42:32: @14[15]: _38 = &(*_39) @@ -2131,7 +2131,7 @@ 44:9-49:10: @14.Call: _47 = std::option::Option::<std::string::String>::unwrap_or_else::<[closure@../coverage/closure.rs:33:9: 40:6]>(move _48, move _49) -> [return: bb15, unwind: bb51] 44:9-49:10: @15[2]: _46 = &_47 41:5-50:7: @15[3]: _45 = (move _46,) -41:5-50:7: @15[5]: FakeRead(ForMatchedPlace, _45) +41:5-50:7: @15[5]: FakeRead(ForMatchedPlace(None), _45) 41:5-50:7: @15[7]: _50 = (_45.0: &std::string::String) 41:5-50:7: @15[10]: _52 = &(*_50) 41:5-50:7: @15[12]: _53 = <std::string::String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) @@ -2152,7 +2152,7 @@ 56:9-68:10: @21.Call: _68 = std::option::Option::<std::string::String>::unwrap_or_else::<[closure@../coverage/closure.rs:60:13: 67:14]>(move _69, move _70) -> [return: bb22, unwind: bb48] 56:9-68:10: @22[2]: _67 = &_68 53:5-69:7: @22[3]: _66 = (move _67,) -53:5-69:7: @22[5]: FakeRead(ForMatchedPlace, _66) +53:5-69:7: @22[5]: FakeRead(ForMatchedPlace(None), _66) 53:5-69:7: @22[7]: _72 = (_66.0: &std::string::String) 53:5-69:7: @22[10]: _74 = &(*_72) 53:5-69:7: @22[12]: _75 = <std::string::String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) @@ -2169,13 +2169,13 @@ 7:19-7:35: @1[0]: _3 = &_4 7:19-7:41: @1.Call: _2 = <std::env::Args as std::iter::ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb56] 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) -7:9-7:16: @2[3]: FakeRead(ForLet, _1) +7:9-7:16: @2[3]: FakeRead(ForLet(None), _1) 8:22-8:29: @3[3]: _6 = _1 8:20-8:29: @3[4]: _5 = Not(move _6) -8:9-8:17: @3[6]: FakeRead(ForLet, _5) +8:9-8:17: @3[6]: FakeRead(ForLet(None), _5) 10:32-10:66: @3.Call: _8 = <std::string::String as std::convert::From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb57] 10:27-10:67: @4[0]: _7 = std::option::Option::<std::string::String>::Some(move _8) -10:9-10:24: @5[1]: FakeRead(ForLet, _7) +10:9-10:24: @5[1]: FakeRead(ForLet(None), _7) 12:9-12:32: @5[8]: _137 = const main::promoted[4] 12:9-12:32: @5[9]: _14 = &(*_137) 12:9-12:32: @5[10]: _13 = &(*_14) @@ -2184,7 +2184,7 @@ 14:9-26:10: @5.Call: _22 = std::option::Option::<std::string::String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb54] 14:9-26:10: @6[2]: _21 = &_22 11:5-27:7: @6[3]: _20 = (move _21,) -11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace(None), _20) 11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) 11:5-27:7: @6[10]: _28 = &(*_26) 11:5-27:7: @6[12]: _29 = <std::string::String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) @@ -2199,7 +2199,7 @@ 29:24-29:58: @10.Call: _31 = <std::string::String as std::convert::From<&str>>::from(const "the string content") -> [return: bb11, unwind: bb55] 29:19-29:59: @11[0]: _30 = std::option::Option::<std::string::String>::Some(move _31) 33:9-40:6: @14[3]: _33 = &_5 -31:9-31:10: @14[6]: FakeRead(ForLet, _32) +31:9-31:10: @14[6]: FakeRead(ForLet(None), _32) 42:9-42:32: @14[13]: _136 = const main::promoted[3] 42:9-42:32: @14[14]: _39 = &(*_136) 42:9-42:32: @14[15]: _38 = &(*_39) @@ -2209,7 +2209,7 @@ 44:9-49:10: @14.Call: _47 = std::option::Option::<std::string::String>::unwrap_or_else::<[closure@../coverage/closure.rs:33:9: 40:6]>(move _48, move _49) -> [return: bb15, unwind: bb51] 44:9-49:10: @15[2]: _46 = &_47 41:5-50:7: @15[3]: _45 = (move _46,) -41:5-50:7: @15[5]: FakeRead(ForMatchedPlace, _45) +41:5-50:7: @15[5]: FakeRead(ForMatchedPlace(None), _45) 41:5-50:7: @15[7]: _50 = (_45.0: &std::string::String) 41:5-50:7: @15[10]: _52 = &(*_50) 41:5-50:7: @15[12]: _53 = <std::string::String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) @@ -2230,7 +2230,7 @@ 56:9-68:10: @21.Call: _68 = std::option::Option::<std::string::String>::unwrap_or_else::<[closure@../coverage/closure.rs:60:13: 67:14]>(move _69, move _70) -> [return: bb22, unwind: bb48] 56:9-68:10: @22[2]: _67 = &_68 53:5-69:7: @22[3]: _66 = (move _67,) -53:5-69:7: @22[5]: FakeRead(ForMatchedPlace, _66) +53:5-69:7: @22[5]: FakeRead(ForMatchedPlace(None), _66) 53:5-69:7: @22[7]: _72 = (_66.0: &std::string::String) 53:5-69:7: @22[10]: _74 = &(*_72) 53:5-69:7: @22[12]: _75 = <std::string::String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) @@ -2247,13 +2247,13 @@ 7:19-7:35: @1[0]: _3 = &_4 7:19-7:41: @1.Call: _2 = <std::env::Args as std::iter::ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb56] 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) -7:9-7:16: @2[3]: FakeRead(ForLet, _1) +7:9-7:16: @2[3]: FakeRead(ForLet(None), _1) 8:22-8:29: @3[3]: _6 = _1 8:20-8:29: @3[4]: _5 = Not(move _6) -8:9-8:17: @3[6]: FakeRead(ForLet, _5) +8:9-8:17: @3[6]: FakeRead(ForLet(None), _5) 10:32-10:66: @3.Call: _8 = <std::string::String as std::convert::From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb57] 10:27-10:67: @4[0]: _7 = std::option::Option::<std::string::String>::Some(move _8) -10:9-10:24: @5[1]: FakeRead(ForLet, _7) +10:9-10:24: @5[1]: FakeRead(ForLet(None), _7) 12:9-12:32: @5[8]: _137 = const main::promoted[4] 12:9-12:32: @5[9]: _14 = &(*_137) 12:9-12:32: @5[10]: _13 = &(*_14) @@ -2262,7 +2262,7 @@ 14:9-26:10: @5.Call: _22 = std::option::Option::<std::string::String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb54] 14:9-26:10: @6[2]: _21 = &_22 11:5-27:7: @6[3]: _20 = (move _21,) -11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace(None), _20) 11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) 11:5-27:7: @6[10]: _28 = &(*_26) 11:5-27:7: @6[12]: _29 = <std::string::String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) @@ -2277,7 +2277,7 @@ 29:24-29:58: @10.Call: _31 = <std::string::String as std::convert::From<&str>>::from(const "the string content") -> [return: bb11, unwind: bb55] 29:19-29:59: @11[0]: _30 = std::option::Option::<std::string::String>::Some(move _31) 33:9-40:6: @14[3]: _33 = &_5 -31:9-31:10: @14[6]: FakeRead(ForLet, _32) +31:9-31:10: @14[6]: FakeRead(ForLet(None), _32) 42:9-42:32: @14[13]: _136 = const main::promoted[3] 42:9-42:32: @14[14]: _39 = &(*_136) 42:9-42:32: @14[15]: _38 = &(*_39) @@ -2287,7 +2287,7 @@ 44:9-49:10: @14.Call: _47 = std::option::Option::<std::string::String>::unwrap_or_else::<[closure@../coverage/closure.rs:33:9: 40:6]>(move _48, move _49) -> [return: bb15, unwind: bb51] 44:9-49:10: @15[2]: _46 = &_47 41:5-50:7: @15[3]: _45 = (move _46,) -41:5-50:7: @15[5]: FakeRead(ForMatchedPlace, _45) +41:5-50:7: @15[5]: FakeRead(ForMatchedPlace(None), _45) 41:5-50:7: @15[7]: _50 = (_45.0: &std::string::String) 41:5-50:7: @15[10]: _52 = &(*_50) 41:5-50:7: @15[12]: _53 = <std::string::String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) @@ -2308,7 +2308,7 @@ 56:9-68:10: @21.Call: _68 = std::option::Option::<std::string::String>::unwrap_or_else::<[closure@../coverage/closure.rs:60:13: 67:14]>(move _69, move _70) -> [return: bb22, unwind: bb48] 56:9-68:10: @22[2]: _67 = &_68 53:5-69:7: @22[3]: _66 = (move _67,) -53:5-69:7: @22[5]: FakeRead(ForMatchedPlace, _66) +53:5-69:7: @22[5]: FakeRead(ForMatchedPlace(None), _66) 53:5-69:7: @22[7]: _72 = (_66.0: &std::string::String) 53:5-69:7: @22[10]: _74 = &(*_72) 53:5-69:7: @22[12]: _75 = <std::string::String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) @@ -2325,13 +2325,13 @@ 7:19-7:35: @1[0]: _3 = &_4 7:19-7:41: @1.Call: _2 = <std::env::Args as std::iter::ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb56] 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) -7:9-7:16: @2[3]: FakeRead(ForLet, _1) +7:9-7:16: @2[3]: FakeRead(ForLet(None), _1) 8:22-8:29: @3[3]: _6 = _1 8:20-8:29: @3[4]: _5 = Not(move _6) -8:9-8:17: @3[6]: FakeRead(ForLet, _5) +8:9-8:17: @3[6]: FakeRead(ForLet(None), _5) 10:32-10:66: @3.Call: _8 = <std::string::String as std::convert::From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb57] 10:27-10:67: @4[0]: _7 = std::option::Option::<std::string::String>::Some(move _8) -10:9-10:24: @5[1]: FakeRead(ForLet, _7) +10:9-10:24: @5[1]: FakeRead(ForLet(None), _7) 12:9-12:32: @5[8]: _137 = const main::promoted[4] 12:9-12:32: @5[9]: _14 = &(*_137) 12:9-12:32: @5[10]: _13 = &(*_14) @@ -2340,7 +2340,7 @@ 14:9-26:10: @5.Call: _22 = std::option::Option::<std::string::String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb54] 14:9-26:10: @6[2]: _21 = &_22 11:5-27:7: @6[3]: _20 = (move _21,) -11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace(None), _20) 11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) 11:5-27:7: @6[10]: _28 = &(*_26) 11:5-27:7: @6[12]: _29 = <std::string::String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) @@ -2355,7 +2355,7 @@ 29:24-29:58: @10.Call: _31 = <std::string::String as std::convert::From<&str>>::from(const "the string content") -> [return: bb11, unwind: bb55] 29:19-29:59: @11[0]: _30 = std::option::Option::<std::string::String>::Some(move _31) 33:9-40:6: @14[3]: _33 = &_5 -31:9-31:10: @14[6]: FakeRead(ForLet, _32) +31:9-31:10: @14[6]: FakeRead(ForLet(None), _32) 42:9-42:32: @14[13]: _136 = const main::promoted[3] 42:9-42:32: @14[14]: _39 = &(*_136) 42:9-42:32: @14[15]: _38 = &(*_39) @@ -2365,7 +2365,7 @@ 44:9-49:10: @14.Call: _47 = std::option::Option::<std::string::String>::unwrap_or_else::<[closure@../coverage/closure.rs:33:9: 40:6]>(move _48, move _49) -> [return: bb15, unwind: bb51] 44:9-49:10: @15[2]: _46 = &_47 41:5-50:7: @15[3]: _45 = (move _46,) -41:5-50:7: @15[5]: FakeRead(ForMatchedPlace, _45) +41:5-50:7: @15[5]: FakeRead(ForMatchedPlace(None), _45) 41:5-50:7: @15[7]: _50 = (_45.0: &std::string::String) 41:5-50:7: @15[10]: _52 = &(*_50) 41:5-50:7: @15[12]: _53 = <std::string::String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) @@ -2386,7 +2386,7 @@ 56:9-68:10: @21.Call: _68 = std::option::Option::<std::string::String>::unwrap_or_else::<[closure@../coverage/closure.rs:60:13: 67:14]>(move _69, move _70) -> [return: bb22, unwind: bb48] 56:9-68:10: @22[2]: _67 = &_68 53:5-69:7: @22[3]: _66 = (move _67,) -53:5-69:7: @22[5]: FakeRead(ForMatchedPlace, _66) +53:5-69:7: @22[5]: FakeRead(ForMatchedPlace(None), _66) 53:5-69:7: @22[7]: _72 = (_66.0: &std::string::String) 53:5-69:7: @22[10]: _74 = &(*_72) 53:5-69:7: @22[12]: _75 = <std::string::String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) @@ -2403,13 +2403,13 @@ 7:19-7:35: @1[0]: _3 = &_4 7:19-7:41: @1.Call: _2 = <std::env::Args as std::iter::ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb56] 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) -7:9-7:16: @2[3]: FakeRead(ForLet, _1) +7:9-7:16: @2[3]: FakeRead(ForLet(None), _1) 8:22-8:29: @3[3]: _6 = _1 8:20-8:29: @3[4]: _5 = Not(move _6) -8:9-8:17: @3[6]: FakeRead(ForLet, _5) +8:9-8:17: @3[6]: FakeRead(ForLet(None), _5) 10:32-10:66: @3.Call: _8 = <std::string::String as std::convert::From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb57] 10:27-10:67: @4[0]: _7 = std::option::Option::<std::string::String>::Some(move _8) -10:9-10:24: @5[1]: FakeRead(ForLet, _7) +10:9-10:24: @5[1]: FakeRead(ForLet(None), _7) 12:9-12:32: @5[8]: _137 = const main::promoted[4] 12:9-12:32: @5[9]: _14 = &(*_137) 12:9-12:32: @5[10]: _13 = &(*_14) @@ -2418,7 +2418,7 @@ 14:9-26:10: @5.Call: _22 = std::option::Option::<std::string::String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb54] 14:9-26:10: @6[2]: _21 = &_22 11:5-27:7: @6[3]: _20 = (move _21,) -11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace(None), _20) 11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) 11:5-27:7: @6[10]: _28 = &(*_26) 11:5-27:7: @6[12]: _29 = <std::string::String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) @@ -2433,7 +2433,7 @@ 29:24-29:58: @10.Call: _31 = <std::string::String as std::convert::From<&str>>::from(const "the string content") -> [return: bb11, unwind: bb55] 29:19-29:59: @11[0]: _30 = std::option::Option::<std::string::String>::Some(move _31) 33:9-40:6: @14[3]: _33 = &_5 -31:9-31:10: @14[6]: FakeRead(ForLet, _32) +31:9-31:10: @14[6]: FakeRead(ForLet(None), _32) 42:9-42:32: @14[13]: _136 = const main::promoted[3] 42:9-42:32: @14[14]: _39 = &(*_136) 42:9-42:32: @14[15]: _38 = &(*_39) @@ -2443,7 +2443,7 @@ 44:9-49:10: @14.Call: _47 = std::option::Option::<std::string::String>::unwrap_or_else::<[closure@../coverage/closure.rs:33:9: 40:6]>(move _48, move _49) -> [return: bb15, unwind: bb51] 44:9-49:10: @15[2]: _46 = &_47 41:5-50:7: @15[3]: _45 = (move _46,) -41:5-50:7: @15[5]: FakeRead(ForMatchedPlace, _45) +41:5-50:7: @15[5]: FakeRead(ForMatchedPlace(None), _45) 41:5-50:7: @15[7]: _50 = (_45.0: &std::string::String) 41:5-50:7: @15[10]: _52 = &(*_50) 41:5-50:7: @15[12]: _53 = <std::string::String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) @@ -2464,7 +2464,7 @@ 56:9-68:10: @21.Call: _68 = std::option::Option::<std::string::String>::unwrap_or_else::<[closure@../coverage/closure.rs:60:13: 67:14]>(move _69, move _70) -> [return: bb22, unwind: bb48] 56:9-68:10: @22[2]: _67 = &_68 53:5-69:7: @22[3]: _66 = (move _67,) -53:5-69:7: @22[5]: FakeRead(ForMatchedPlace, _66) +53:5-69:7: @22[5]: FakeRead(ForMatchedPlace(None), _66) 53:5-69:7: @22[7]: _72 = (_66.0: &std::string::String) 53:5-69:7: @22[10]: _74 = &(*_72) 53:5-69:7: @22[12]: _75 = <std::string::String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) @@ -2481,13 +2481,13 @@ 7:19-7:35: @1[0]: _3 = &_4 7:19-7:41: @1.Call: _2 = <std::env::Args as std::iter::ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb56] 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) -7:9-7:16: @2[3]: FakeRead(ForLet, _1) +7:9-7:16: @2[3]: FakeRead(ForLet(None), _1) 8:22-8:29: @3[3]: _6 = _1 8:20-8:29: @3[4]: _5 = Not(move _6) -8:9-8:17: @3[6]: FakeRead(ForLet, _5) +8:9-8:17: @3[6]: FakeRead(ForLet(None), _5) 10:32-10:66: @3.Call: _8 = <std::string::String as std::convert::From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb57] 10:27-10:67: @4[0]: _7 = std::option::Option::<std::string::String>::Some(move _8) -10:9-10:24: @5[1]: FakeRead(ForLet, _7) +10:9-10:24: @5[1]: FakeRead(ForLet(None), _7) 12:9-12:32: @5[8]: _137 = const main::promoted[4] 12:9-12:32: @5[9]: _14 = &(*_137) 12:9-12:32: @5[10]: _13 = &(*_14) @@ -2496,7 +2496,7 @@ 14:9-26:10: @5.Call: _22 = std::option::Option::<std::string::String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb54] 14:9-26:10: @6[2]: _21 = &_22 11:5-27:7: @6[3]: _20 = (move _21,) -11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace(None), _20) 11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) 11:5-27:7: @6[10]: _28 = &(*_26) 11:5-27:7: @6[12]: _29 = <std::string::String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) @@ -2511,7 +2511,7 @@ 29:24-29:58: @10.Call: _31 = <std::string::String as std::convert::From<&str>>::from(const "the string content") -> [return: bb11, unwind: bb55] 29:19-29:59: @11[0]: _30 = std::option::Option::<std::string::String>::Some(move _31) 33:9-40:6: @14[3]: _33 = &_5 -31:9-31:10: @14[6]: FakeRead(ForLet, _32) +31:9-31:10: @14[6]: FakeRead(ForLet(None), _32) 42:9-42:32: @14[13]: _136 = const main::promoted[3] 42:9-42:32: @14[14]: _39 = &(*_136) 42:9-42:32: @14[15]: _38 = &(*_39) @@ -2521,7 +2521,7 @@ 44:9-49:10: @14.Call: _47 = std::option::Option::<std::string::String>::unwrap_or_else::<[closure@../coverage/closure.rs:33:9: 40:6]>(move _48, move _49) -> [return: bb15, unwind: bb51] 44:9-49:10: @15[2]: _46 = &_47 41:5-50:7: @15[3]: _45 = (move _46,) -41:5-50:7: @15[5]: FakeRead(ForMatchedPlace, _45) +41:5-50:7: @15[5]: FakeRead(ForMatchedPlace(None), _45) 41:5-50:7: @15[7]: _50 = (_45.0: &std::string::String) 41:5-50:7: @15[10]: _52 = &(*_50) 41:5-50:7: @15[12]: _53 = <std::string::String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) @@ -2542,7 +2542,7 @@ 56:9-68:10: @21.Call: _68 = std::option::Option::<std::string::String>::unwrap_or_else::<[closure@../coverage/closure.rs:60:13: 67:14]>(move _69, move _70) -> [return: bb22, unwind: bb48] 56:9-68:10: @22[2]: _67 = &_68 53:5-69:7: @22[3]: _66 = (move _67,) -53:5-69:7: @22[5]: FakeRead(ForMatchedPlace, _66) +53:5-69:7: @22[5]: FakeRead(ForMatchedPlace(None), _66) 53:5-69:7: @22[7]: _72 = (_66.0: &std::string::String) 53:5-69:7: @22[10]: _74 = &(*_72) 53:5-69:7: @22[12]: _75 = <std::string::String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) @@ -2565,13 +2565,13 @@ 7:19-7:35: @1[0]: _3 = &_4 7:19-7:41: @1.Call: _2 = <std::env::Args as std::iter::ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb56] 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) -7:9-7:16: @2[3]: FakeRead(ForLet, _1) +7:9-7:16: @2[3]: FakeRead(ForLet(None), _1) 8:22-8:29: @3[3]: _6 = _1 8:20-8:29: @3[4]: _5 = Not(move _6) -8:9-8:17: @3[6]: FakeRead(ForLet, _5) +8:9-8:17: @3[6]: FakeRead(ForLet(None), _5) 10:32-10:66: @3.Call: _8 = <std::string::String as std::convert::From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb57] 10:27-10:67: @4[0]: _7 = std::option::Option::<std::string::String>::Some(move _8) -10:9-10:24: @5[1]: FakeRead(ForLet, _7) +10:9-10:24: @5[1]: FakeRead(ForLet(None), _7) 12:9-12:32: @5[8]: _137 = const main::promoted[4] 12:9-12:32: @5[9]: _14 = &(*_137) 12:9-12:32: @5[10]: _13 = &(*_14) @@ -2580,7 +2580,7 @@ 14:9-26:10: @5.Call: _22 = std::option::Option::<std::string::String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb54] 14:9-26:10: @6[2]: _21 = &_22 11:5-27:7: @6[3]: _20 = (move _21,) -11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace(None), _20) 11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) 11:5-27:7: @6[10]: _28 = &(*_26) 11:5-27:7: @6[12]: _29 = <std::string::String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) @@ -2595,7 +2595,7 @@ 29:24-29:58: @10.Call: _31 = <std::string::String as std::convert::From<&str>>::from(const "the string content") -> [return: bb11, unwind: bb55] 29:19-29:59: @11[0]: _30 = std::option::Option::<std::string::String>::Some(move _31) 33:9-40:6: @14[3]: _33 = &_5 -31:9-31:10: @14[6]: FakeRead(ForLet, _32) +31:9-31:10: @14[6]: FakeRead(ForLet(None), _32) 42:9-42:32: @14[13]: _136 = const main::promoted[3] 42:9-42:32: @14[14]: _39 = &(*_136) 42:9-42:32: @14[15]: _38 = &(*_39) @@ -2605,7 +2605,7 @@ 44:9-49:10: @14.Call: _47 = std::option::Option::<std::string::String>::unwrap_or_else::<[closure@../coverage/closure.rs:33:9: 40:6]>(move _48, move _49) -> [return: bb15, unwind: bb51] 44:9-49:10: @15[2]: _46 = &_47 41:5-50:7: @15[3]: _45 = (move _46,) -41:5-50:7: @15[5]: FakeRead(ForMatchedPlace, _45) +41:5-50:7: @15[5]: FakeRead(ForMatchedPlace(None), _45) 41:5-50:7: @15[7]: _50 = (_45.0: &std::string::String) 41:5-50:7: @15[10]: _52 = &(*_50) 41:5-50:7: @15[12]: _53 = <std::string::String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) @@ -2626,7 +2626,7 @@ 56:9-68:10: @21.Call: _68 = std::option::Option::<std::string::String>::unwrap_or_else::<[closure@../coverage/closure.rs:60:13: 67:14]>(move _69, move _70) -> [return: bb22, unwind: bb48] 56:9-68:10: @22[2]: _67 = &_68 53:5-69:7: @22[3]: _66 = (move _67,) -53:5-69:7: @22[5]: FakeRead(ForMatchedPlace, _66) +53:5-69:7: @22[5]: FakeRead(ForMatchedPlace(None), _66) 53:5-69:7: @22[7]: _72 = (_66.0: &std::string::String) 53:5-69:7: @22[10]: _74 = &(*_72) 53:5-69:7: @22[12]: _75 = <std::string::String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) @@ -2640,19 +2640,19 @@ 53:5-69:7: @26[6]: _55 = const () 71:19-71:23: @26[9]: _76 = std::option::Option::<std::string::String>::None 75:9-82:6: @28[3]: _78 = &_5 -73:9-73:10: @28[6]: FakeRead(ForLet, _77) +73:9-73:10: @28[6]: FakeRead(ForLet(None), _77) 3:11-155:2: @41[38]: _0 = const ()">@0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42⦊ ) ); some_string = None; let a = ⦉@0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42|| { let mut countdown = 0; @@ -3300,13 +3300,13 @@ 7:19-7:35: @1[0]: _3 = &_4 7:19-7:41: @1.Call: _2 = <std::env::Args as std::iter::ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb56] 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) -7:9-7:16: @2[3]: FakeRead(ForLet, _1) +7:9-7:16: @2[3]: FakeRead(ForLet(None), _1) 8:22-8:29: @3[3]: _6 = _1 8:20-8:29: @3[4]: _5 = Not(move _6) -8:9-8:17: @3[6]: FakeRead(ForLet, _5) +8:9-8:17: @3[6]: FakeRead(ForLet(None), _5) 10:32-10:66: @3.Call: _8 = <std::string::String as std::convert::From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb57] 10:27-10:67: @4[0]: _7 = std::option::Option::<std::string::String>::Some(move _8) -10:9-10:24: @5[1]: FakeRead(ForLet, _7) +10:9-10:24: @5[1]: FakeRead(ForLet(None), _7) 12:9-12:32: @5[8]: _137 = const main::promoted[4] 12:9-12:32: @5[9]: _14 = &(*_137) 12:9-12:32: @5[10]: _13 = &(*_14) @@ -3315,7 +3315,7 @@ 14:9-26:10: @5.Call: _22 = std::option::Option::<std::string::String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb54] 14:9-26:10: @6[2]: _21 = &_22 11:5-27:7: @6[3]: _20 = (move _21,) -11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace(None), _20) 11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) 11:5-27:7: @6[10]: _28 = &(*_26) 11:5-27:7: @6[12]: _29 = <std::string::String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) @@ -3330,7 +3330,7 @@ 29:24-29:58: @10.Call: _31 = <std::string::String as std::convert::From<&str>>::from(const "the string content") -> [return: bb11, unwind: bb55] 29:19-29:59: @11[0]: _30 = std::option::Option::<std::string::String>::Some(move _31) 33:9-40:6: @14[3]: _33 = &_5 -31:9-31:10: @14[6]: FakeRead(ForLet, _32) +31:9-31:10: @14[6]: FakeRead(ForLet(None), _32) 42:9-42:32: @14[13]: _136 = const main::promoted[3] 42:9-42:32: @14[14]: _39 = &(*_136) 42:9-42:32: @14[15]: _38 = &(*_39) @@ -3340,7 +3340,7 @@ 44:9-49:10: @14.Call: _47 = std::option::Option::<std::string::String>::unwrap_or_else::<[closure@../coverage/closure.rs:33:9: 40:6]>(move _48, move _49) -> [return: bb15, unwind: bb51] 44:9-49:10: @15[2]: _46 = &_47 41:5-50:7: @15[3]: _45 = (move _46,) -41:5-50:7: @15[5]: FakeRead(ForMatchedPlace, _45) +41:5-50:7: @15[5]: FakeRead(ForMatchedPlace(None), _45) 41:5-50:7: @15[7]: _50 = (_45.0: &std::string::String) 41:5-50:7: @15[10]: _52 = &(*_50) 41:5-50:7: @15[12]: _53 = <std::string::String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) @@ -3361,7 +3361,7 @@ 56:9-68:10: @21.Call: _68 = std::option::Option::<std::string::String>::unwrap_or_else::<[closure@../coverage/closure.rs:60:13: 67:14]>(move _69, move _70) -> [return: bb22, unwind: bb48] 56:9-68:10: @22[2]: _67 = &_68 53:5-69:7: @22[3]: _66 = (move _67,) -53:5-69:7: @22[5]: FakeRead(ForMatchedPlace, _66) +53:5-69:7: @22[5]: FakeRead(ForMatchedPlace(None), _66) 53:5-69:7: @22[7]: _72 = (_66.0: &std::string::String) 53:5-69:7: @22[10]: _74 = &(*_72) 53:5-69:7: @22[12]: _75 = <std::string::String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) @@ -3375,7 +3375,7 @@ 53:5-69:7: @26[6]: _55 = const () 71:19-71:23: @26[9]: _76 = std::option::Option::<std::string::String>::None 75:9-82:6: @28[3]: _78 = &_5 -73:9-73:10: @28[6]: FakeRead(ForLet, _77) +73:9-73:10: @28[6]: FakeRead(ForLet(None), _77) 84:9-84:32: @28[13]: _134 = const main::promoted[1] 84:9-84:32: @28[14]: _84 = &(*_134) 84:9-84:32: @28[15]: _83 = &(*_84) @@ -3385,7 +3385,7 @@ 86:9-91:10: @28.Call: _92 = std::option::Option::<std::string::String>::unwrap_or_else::<[closure@../coverage/closure.rs:75:9: 82:6]>(move _93, move _94) -> [return: bb29, unwind: bb45] 86:9-91:10: @29[2]: _91 = &_92 83:5-92:7: @29[3]: _90 = (move _91,) -83:5-92:7: @29[5]: FakeRead(ForMatchedPlace, _90) +83:5-92:7: @29[5]: FakeRead(ForMatchedPlace(None), _90) 83:5-92:7: @29[7]: _95 = (_90.0: &std::string::String) 83:5-92:7: @29[10]: _97 = &(*_95) 83:5-92:7: @29[12]: _98 = <std::string::String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) @@ -3398,19 +3398,19 @@ 83:5-92:7: @31.Call: _80 = std::io::_print(move _81) -> [return: bb32, unwind: bb44] 83:5-92:7: @33[6]: _79 = const () 97:9-104:6: @33[10]: _100 = &_5 -95:9-95:22: @33[13]: FakeRead(ForLet, _99) +95:9-95:22: @33[13]: FakeRead(ForLet(None), _99) 3:11-155:2: @41[38]: _0 = const ()">@0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42⦊; println!( "The string or alt: {}" , some_string . unwrap_or_else ( a ) ); let quote_closure = ⦉@0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42|val| { let mut countdown = 0; @@ -4970,13 +4970,13 @@ 7:19-7:35: @1[0]: _3 = &_4 7:19-7:41: @1.Call: _2 = <std::env::Args as std::iter::ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb56] 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) -7:9-7:16: @2[3]: FakeRead(ForLet, _1) +7:9-7:16: @2[3]: FakeRead(ForLet(None), _1) 8:22-8:29: @3[3]: _6 = _1 8:20-8:29: @3[4]: _5 = Not(move _6) -8:9-8:17: @3[6]: FakeRead(ForLet, _5) +8:9-8:17: @3[6]: FakeRead(ForLet(None), _5) 10:32-10:66: @3.Call: _8 = <std::string::String as std::convert::From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb57] 10:27-10:67: @4[0]: _7 = std::option::Option::<std::string::String>::Some(move _8) -10:9-10:24: @5[1]: FakeRead(ForLet, _7) +10:9-10:24: @5[1]: FakeRead(ForLet(None), _7) 12:9-12:32: @5[8]: _137 = const main::promoted[4] 12:9-12:32: @5[9]: _14 = &(*_137) 12:9-12:32: @5[10]: _13 = &(*_14) @@ -4985,7 +4985,7 @@ 14:9-26:10: @5.Call: _22 = std::option::Option::<std::string::String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb54] 14:9-26:10: @6[2]: _21 = &_22 11:5-27:7: @6[3]: _20 = (move _21,) -11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace(None), _20) 11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) 11:5-27:7: @6[10]: _28 = &(*_26) 11:5-27:7: @6[12]: _29 = <std::string::String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) @@ -5000,7 +5000,7 @@ 29:24-29:58: @10.Call: _31 = <std::string::String as std::convert::From<&str>>::from(const "the string content") -> [return: bb11, unwind: bb55] 29:19-29:59: @11[0]: _30 = std::option::Option::<std::string::String>::Some(move _31) 33:9-40:6: @14[3]: _33 = &_5 -31:9-31:10: @14[6]: FakeRead(ForLet, _32) +31:9-31:10: @14[6]: FakeRead(ForLet(None), _32) 42:9-42:32: @14[13]: _136 = const main::promoted[3] 42:9-42:32: @14[14]: _39 = &(*_136) 42:9-42:32: @14[15]: _38 = &(*_39) @@ -5010,7 +5010,7 @@ 44:9-49:10: @14.Call: _47 = std::option::Option::<std::string::String>::unwrap_or_else::<[closure@../coverage/closure.rs:33:9: 40:6]>(move _48, move _49) -> [return: bb15, unwind: bb51] 44:9-49:10: @15[2]: _46 = &_47 41:5-50:7: @15[3]: _45 = (move _46,) -41:5-50:7: @15[5]: FakeRead(ForMatchedPlace, _45) +41:5-50:7: @15[5]: FakeRead(ForMatchedPlace(None), _45) 41:5-50:7: @15[7]: _50 = (_45.0: &std::string::String) 41:5-50:7: @15[10]: _52 = &(*_50) 41:5-50:7: @15[12]: _53 = <std::string::String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) @@ -5031,7 +5031,7 @@ 56:9-68:10: @21.Call: _68 = std::option::Option::<std::string::String>::unwrap_or_else::<[closure@../coverage/closure.rs:60:13: 67:14]>(move _69, move _70) -> [return: bb22, unwind: bb48] 56:9-68:10: @22[2]: _67 = &_68 53:5-69:7: @22[3]: _66 = (move _67,) -53:5-69:7: @22[5]: FakeRead(ForMatchedPlace, _66) +53:5-69:7: @22[5]: FakeRead(ForMatchedPlace(None), _66) 53:5-69:7: @22[7]: _72 = (_66.0: &std::string::String) 53:5-69:7: @22[10]: _74 = &(*_72) 53:5-69:7: @22[12]: _75 = <std::string::String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) @@ -5045,7 +5045,7 @@ 53:5-69:7: @26[6]: _55 = const () 71:19-71:23: @26[9]: _76 = std::option::Option::<std::string::String>::None 75:9-82:6: @28[3]: _78 = &_5 -73:9-73:10: @28[6]: FakeRead(ForLet, _77) +73:9-73:10: @28[6]: FakeRead(ForLet(None), _77) 84:9-84:32: @28[13]: _134 = const main::promoted[1] 84:9-84:32: @28[14]: _84 = &(*_134) 84:9-84:32: @28[15]: _83 = &(*_84) @@ -5055,7 +5055,7 @@ 86:9-91:10: @28.Call: _92 = std::option::Option::<std::string::String>::unwrap_or_else::<[closure@../coverage/closure.rs:75:9: 82:6]>(move _93, move _94) -> [return: bb29, unwind: bb45] 86:9-91:10: @29[2]: _91 = &_92 83:5-92:7: @29[3]: _90 = (move _91,) -83:5-92:7: @29[5]: FakeRead(ForMatchedPlace, _90) +83:5-92:7: @29[5]: FakeRead(ForMatchedPlace(None), _90) 83:5-92:7: @29[7]: _95 = (_90.0: &std::string::String) 83:5-92:7: @29[10]: _97 = &(*_95) 83:5-92:7: @29[12]: _98 = <std::string::String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) @@ -5068,7 +5068,7 @@ 83:5-92:7: @31.Call: _80 = std::io::_print(move _81) -> [return: bb32, unwind: bb44] 83:5-92:7: @33[6]: _79 = const () 97:9-104:6: @33[10]: _100 = &_5 -95:9-95:22: @33[13]: FakeRead(ForLet, _99) +95:9-95:22: @33[13]: FakeRead(ForLet(None), _99) 106:9-106:40: @33[20]: _133 = const main::promoted[0] 106:9-106:40: @33[21]: _106 = &(*_133) 106:9-106:40: @33[22]: _105 = &(*_106) @@ -5080,7 +5080,7 @@ 108:9-114:33: @36.Call: _114 = <std::iter::Map<std::iter::Take<std::iter::Repeat<&str>>, [closure@../coverage/closure.rs:97:9: 104:6]> as std::iter::Iterator>::collect::<std::vec::Vec<std::string::String>>(move _115) -> [return: bb37, unwind: bb55] 108:9-114:33: @37[1]: _113 = &_114 105:5-115:7: @37[2]: _112 = (move _113,) -105:5-115:7: @37[4]: FakeRead(ForMatchedPlace, _112) +105:5-115:7: @37[4]: FakeRead(ForMatchedPlace(None), _112) 105:5-115:7: @37[6]: _119 = (_112.0: &std::vec::Vec<std::string::String>) 105:5-115:7: @37[9]: _121 = &(*_119) 105:5-115:7: @37[11]: _122 = <std::vec::Vec<std::string::String> as std::fmt::Debug>::fmt as for<'r, 's, 't0> fn(&'r std::vec::Vec<std::string::String>, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) @@ -5092,19 +5092,19 @@ 105:5-115:7: @38.Call: _103 = std::fmt::Arguments::new_v1(move _104, move _108) -> [return: bb39, unwind: bb43] 105:5-115:7: @39.Call: _102 = std::io::_print(move _103) -> [return: bb40, unwind: bb43] 105:5-115:7: @41[6]: _101 = const () -118:9-118:24: @41[13]: FakeRead(ForLet, _123) +118:9-118:24: @41[13]: FakeRead(ForLet(None), _123) 3:11-155:2: @41[38]: _0 = const ()">@0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42⦊; println!( "Repeated, quoted string: {:?}" , std::iter::repeat("repeat me") .take(5) .map ( quote_closure ) .collect::<Vec<_>>() ); let _unused_closure = ⦉@0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42| mut countdown | @@ -7153,13 +7153,13 @@ 7:19-7:35: @1[0]: _3 = &_4 7:19-7:41: @1.Call: _2 = <std::env::Args as std::iter::ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb56] 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) -7:9-7:16: @2[3]: FakeRead(ForLet, _1) +7:9-7:16: @2[3]: FakeRead(ForLet(None), _1) 8:22-8:29: @3[3]: _6 = _1 8:20-8:29: @3[4]: _5 = Not(move _6) -8:9-8:17: @3[6]: FakeRead(ForLet, _5) +8:9-8:17: @3[6]: FakeRead(ForLet(None), _5) 10:32-10:66: @3.Call: _8 = <std::string::String as std::convert::From<&str>>::from(const "the string content") -> [return: bb4, unwind: bb57] 10:27-10:67: @4[0]: _7 = std::option::Option::<std::string::String>::Some(move _8) -10:9-10:24: @5[1]: FakeRead(ForLet, _7) +10:9-10:24: @5[1]: FakeRead(ForLet(None), _7) 12:9-12:32: @5[8]: _137 = const main::promoted[4] 12:9-12:32: @5[9]: _14 = &(*_137) 12:9-12:32: @5[10]: _13 = &(*_14) @@ -7168,7 +7168,7 @@ 14:9-26:10: @5.Call: _22 = std::option::Option::<std::string::String>::unwrap_or_else::<[closure@../coverage/closure.rs:18:13: 25:14]>(move _23, move _24) -> [return: bb6, unwind: bb54] 14:9-26:10: @6[2]: _21 = &_22 11:5-27:7: @6[3]: _20 = (move _21,) -11:5-27:7: @6[5]: FakeRead(ForMatchedPlace, _20) +11:5-27:7: @6[5]: FakeRead(ForMatchedPlace(None), _20) 11:5-27:7: @6[7]: _26 = (_20.0: &std::string::String) 11:5-27:7: @6[10]: _28 = &(*_26) 11:5-27:7: @6[12]: _29 = <std::string::String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) @@ -7183,7 +7183,7 @@ 29:24-29:58: @10.Call: _31 = <std::string::String as std::convert::From<&str>>::from(const "the string content") -> [return: bb11, unwind: bb55] 29:19-29:59: @11[0]: _30 = std::option::Option::<std::string::String>::Some(move _31) 33:9-40:6: @14[3]: _33 = &_5 -31:9-31:10: @14[6]: FakeRead(ForLet, _32) +31:9-31:10: @14[6]: FakeRead(ForLet(None), _32) 42:9-42:32: @14[13]: _136 = const main::promoted[3] 42:9-42:32: @14[14]: _39 = &(*_136) 42:9-42:32: @14[15]: _38 = &(*_39) @@ -7193,7 +7193,7 @@ 44:9-49:10: @14.Call: _47 = std::option::Option::<std::string::String>::unwrap_or_else::<[closure@../coverage/closure.rs:33:9: 40:6]>(move _48, move _49) -> [return: bb15, unwind: bb51] 44:9-49:10: @15[2]: _46 = &_47 41:5-50:7: @15[3]: _45 = (move _46,) -41:5-50:7: @15[5]: FakeRead(ForMatchedPlace, _45) +41:5-50:7: @15[5]: FakeRead(ForMatchedPlace(None), _45) 41:5-50:7: @15[7]: _50 = (_45.0: &std::string::String) 41:5-50:7: @15[10]: _52 = &(*_50) 41:5-50:7: @15[12]: _53 = <std::string::String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) @@ -7214,7 +7214,7 @@ 56:9-68:10: @21.Call: _68 = std::option::Option::<std::string::String>::unwrap_or_else::<[closure@../coverage/closure.rs:60:13: 67:14]>(move _69, move _70) -> [return: bb22, unwind: bb48] 56:9-68:10: @22[2]: _67 = &_68 53:5-69:7: @22[3]: _66 = (move _67,) -53:5-69:7: @22[5]: FakeRead(ForMatchedPlace, _66) +53:5-69:7: @22[5]: FakeRead(ForMatchedPlace(None), _66) 53:5-69:7: @22[7]: _72 = (_66.0: &std::string::String) 53:5-69:7: @22[10]: _74 = &(*_72) 53:5-69:7: @22[12]: _75 = <std::string::String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) @@ -7228,7 +7228,7 @@ 53:5-69:7: @26[6]: _55 = const () 71:19-71:23: @26[9]: _76 = std::option::Option::<std::string::String>::None 75:9-82:6: @28[3]: _78 = &_5 -73:9-73:10: @28[6]: FakeRead(ForLet, _77) +73:9-73:10: @28[6]: FakeRead(ForLet(None), _77) 84:9-84:32: @28[13]: _134 = const main::promoted[1] 84:9-84:32: @28[14]: _84 = &(*_134) 84:9-84:32: @28[15]: _83 = &(*_84) @@ -7238,7 +7238,7 @@ 86:9-91:10: @28.Call: _92 = std::option::Option::<std::string::String>::unwrap_or_else::<[closure@../coverage/closure.rs:75:9: 82:6]>(move _93, move _94) -> [return: bb29, unwind: bb45] 86:9-91:10: @29[2]: _91 = &_92 83:5-92:7: @29[3]: _90 = (move _91,) -83:5-92:7: @29[5]: FakeRead(ForMatchedPlace, _90) +83:5-92:7: @29[5]: FakeRead(ForMatchedPlace(None), _90) 83:5-92:7: @29[7]: _95 = (_90.0: &std::string::String) 83:5-92:7: @29[10]: _97 = &(*_95) 83:5-92:7: @29[12]: _98 = <std::string::String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) @@ -7251,7 +7251,7 @@ 83:5-92:7: @31.Call: _80 = std::io::_print(move _81) -> [return: bb32, unwind: bb44] 83:5-92:7: @33[6]: _79 = const () 97:9-104:6: @33[10]: _100 = &_5 -95:9-95:22: @33[13]: FakeRead(ForLet, _99) +95:9-95:22: @33[13]: FakeRead(ForLet(None), _99) 106:9-106:40: @33[20]: _133 = const main::promoted[0] 106:9-106:40: @33[21]: _106 = &(*_133) 106:9-106:40: @33[22]: _105 = &(*_106) @@ -7263,7 +7263,7 @@ 108:9-114:33: @36.Call: _114 = <std::iter::Map<std::iter::Take<std::iter::Repeat<&str>>, [closure@../coverage/closure.rs:97:9: 104:6]> as std::iter::Iterator>::collect::<std::vec::Vec<std::string::String>>(move _115) -> [return: bb37, unwind: bb55] 108:9-114:33: @37[1]: _113 = &_114 105:5-115:7: @37[2]: _112 = (move _113,) -105:5-115:7: @37[4]: FakeRead(ForMatchedPlace, _112) +105:5-115:7: @37[4]: FakeRead(ForMatchedPlace(None), _112) 105:5-115:7: @37[6]: _119 = (_112.0: &std::vec::Vec<std::string::String>) 105:5-115:7: @37[9]: _121 = &(*_119) 105:5-115:7: @37[11]: _122 = <std::vec::Vec<std::string::String> as std::fmt::Debug>::fmt as for<'r, 's, 't0> fn(&'r std::vec::Vec<std::string::String>, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) @@ -7275,23 +7275,23 @@ 105:5-115:7: @38.Call: _103 = std::fmt::Arguments::new_v1(move _104, move _108) -> [return: bb39, unwind: bb43] 105:5-115:7: @39.Call: _102 = std::io::_print(move _103) -> [return: bb40, unwind: bb43] 105:5-115:7: @41[6]: _101 = const () -118:9-118:24: @41[13]: FakeRead(ForLet, _123) +118:9-118:24: @41[13]: FakeRead(ForLet(None), _123) 130:25-130:27: @41[15]: _125 = const 10_i32 -130:9-130:22: @41[16]: FakeRead(ForLet, _125) +130:9-130:22: @41[16]: FakeRead(ForLet(None), _125) 131:33-131:67: @41[19]: _127 = &mut _125 -131:9-131:30: @41[22]: FakeRead(ForLet, _126) +131:9-131:30: @41[22]: FakeRead(ForLet(None), _126) 3:11-155:2: @41[38]: _0 = const ()">@0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42⦊; let mut countdown = 10; let _short_unused_closure = ⦉@0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42| _unused_arg: u8 | countdown += 1@0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42⦊; // Macros can sometimes confuse the coverage results. Compare this next assignment, with an // unused closure that invokes the `println!()` macro, with the closure assignment above, that // does not use a macro. The closure above correctly shows `0` executions. let _short_unused_closure = ⦉@0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42| _unused_arg: u8 | println!("not called")@0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42⦊; // The closure assignment above is executed, with a line count of `1`, but the `println!()` // could not have been called, and yet, there is no indication that it wasn't... // ...but adding block braces gives the expected result, showing the block was not executed. let _short_unused_closure_block = ⦉@0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42| _unused_arg: u8 | { println!("not called") }@0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42⦊; let _shortish_unused_closure = ⦉@0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42| _unused_arg: u8 | { println!("not called") }@0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42⦊; let _as_short_unused_closure = ⦉@0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42| _unused_arg: u8 | { println!("not called") }@0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42⦊; let _almost_as_short_unused_closure = ⦉@0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42| _unused_arg: u8 | { println!("not called") }@0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42⦊ ; }⦉@0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42
diff --git a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.conditions/conditions.main.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.conditions/conditions.main.-------.InstrumentCoverage.0.html index 0aa6fe65686cf..b063a491be332 100644 --- a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.conditions/conditions.main.-------.InstrumentCoverage.0.html +++ b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.conditions/conditions.main.-------.InstrumentCoverage.0.html @@ -71,10 +71,10 @@
@0⦊fn main() ⦉@0{ let @0⦊mut countdown = 0; if true⦉@0 @1⦊{ }⦉@1@2⦊‸⦉@2 const B: u32 = 100; - let @21⦊x⦉@21 = if let @21⦊x⦉@21 = if @3⦊countdown > 7⦉@3 { }; let @21⦊mut countdown = 0; if true⦉@21 @22⦊{ if @42⦊true⦉@42 { let @43⦊mut countdown = 0; if true⦉@43 @45⦊{ // `true` was const-evaluated. The compiler knows the `if` block will be executed. let @66⦊mut countdown = 0; if true⦉@66 @67⦊{ }⦉@67@68⦊‸⦉@68 - let @89⦊z⦉@89 = if let @89⦊z⦉@89 = if @69⦊countdown > 7⦉@69 @70,72⦊{ @@ -228,13 +228,13 @@ 70:9-70:23: @86[0]: _62 = move (_80.0: i32)">@85,86⦊countdown -= 5⦉@85,86; } else { let @74,87,88⦊should_be_reachable = countdown; println!("reached"); return⦉@74,87,88; }; - let @107⦊w⦉@107 = if let @107⦊w⦉@107 = if @89⦊countdown > 7⦉@89 @90,92⦊{ diff --git a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.dead_code/dead_code.main.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.dead_code/dead_code.main.-------.InstrumentCoverage.0.html index be06ddd126da9..fcab07eab0075 100644 --- a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.dead_code/dead_code.main.-------.InstrumentCoverage.0.html +++ b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.dead_code/dead_code.main.-------.InstrumentCoverage.0.html @@ -73,65 +73,65 @@ 31:19-31:35: @1[0]: _3 = &_4 31:19-31:41: @1.Call: _2 = <std::env::Args as std::iter::ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb7] 31:19-31:46: @2[1]: _1 = Eq(move _2, const 1_usize) -31:9-31:16: @2[3]: FakeRead(ForLet, _1) +31:9-31:16: @2[3]: FakeRead(ForLet(None), _1) 33:25-33:26: @3[2]: _5 = const 0_i32 -33:9-33:22: @3[3]: FakeRead(ForLet, _5) +33:9-33:22: @3[3]: FakeRead(ForLet(None), _5) 34:8-34:15: @3[5]: _6 = _1">@0,1,2,3⦊fn main() { // Initialize test constants in a way that cannot be determined at compile time, to ensure // rustc and LLVM cannot optimize out statements (or coverage counters) downstream from // dependent conditions. let is_true = std::env::args().len() == 1; let mut countdown = 0; if is_true⦉@0,1,2,3 @4⦊{ @0,1,2,3⦊fn unused_fn() { // Initialize test constants in a way that cannot be determined at compile time, to ensure // rustc and LLVM cannot optimize out statements (or coverage counters) downstream from // dependent conditions. let is_true = std::env::args().len() == 1; let mut countdown = 0; if is_true⦉@0,1,2,3 @4⦊{ @0,1,2,3⦊pub fn unused_pub_fn_not_in_library() { // Initialize test constants in a way that cannot be determined at compile time, to ensure // rustc and LLVM cannot optimize out statements (or coverage counters) downstream from // dependent conditions. let is_true = std::env::args().len() == 1; let mut countdown = 0; if is_true⦉@0,1,2,3 @4⦊{ @0⦊fn main() ⦉@0{ if @0⦊true⦉@0 { @4⦊@3⦊assert_eq!(1, 1);⦉@3⦉@4 } else { @6⦊@0⦊pub fn fn_run_in_doctests(conditional: usize) ⦉@0{ - match @0⦊conditional⦉@0 { + match @0⦊conditional⦉@0 { 1 => @7⦊@6⦊assert_eq!(1, 1)⦉@6⦉@7, // this is run, 2 => @10⦊@9⦊assert_eq!(1, 1)⦉@9⦉@10, // this, 3 => @13⦊@12⦊assert_eq!(1, 1)⦉@12⦉@13, // and this too _ => @15⦊@0⦊fn main() -> Result<(),u8> { let _firecracker = Firework { strength: 1 }; let _tnt = Firework { strength: 100 }; if true⦉@0 { @0,1,2,3⦊fn main() -> Result<(),u8> { let mut firecracker = Firework { strength: 1 }; firecracker.set_strength(2); let mut tnt = Firework { strength: 100.1 }; tnt.set_strength(200.1); tnt.set_strength(300.3); @0,1,2,3⦊fn main() { // Initialize test constants in a way that cannot be determined at compile time, to ensure // rustc and LLVM cannot optimize out statements (or coverage counters) downstream from // dependent conditions. let is_true = std::env::args().len() == 1 ; let mut countdown = 0 ; if is_true⦉@0,1,2,3 @4⦊{ diff --git a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.if_else/if_else.main.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.if_else/if_else.main.-------.InstrumentCoverage.0.html index e0f0ac4020594..5da660c6a4677 100644 --- a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.if_else/if_else.main.-------.InstrumentCoverage.0.html +++ b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.if_else/if_else.main.-------.InstrumentCoverage.0.html @@ -73,73 +73,73 @@ 7:19-7:35: @1[0]: _3 = &_4 7:19-7:41: @1.Call: _2 = <std::env::Args as std::iter::ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb10] 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) -7:9-7:16: @2[3]: FakeRead(ForLet, _1) +7:9-7:16: @2[3]: FakeRead(ForLet(None), _1) 9:25-9:26: @3[2]: _5 = const 0_i32 -9:9-9:22: @3[3]: FakeRead(ForLet, _5) +9:9-9:22: @3[3]: FakeRead(ForLet(None), _5) 11:9-11:16: @3[6]: _7 = _1">@0,1,2,3⦊fn main() { // Initialize test constants in a way that cannot be determined at compile time, to ensure // rustc and LLVM cannot optimize out statements (or coverage counters) downstream from // dependent conditions. let is_true = std::env::args().len() == 1; let mut countdown = 0; if is_true⦉@0,1,2,3 @4⦊{ diff --git a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.inline/inline.display.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.inline/inline.display.-------.InstrumentCoverage.0.html index 6287516636ea9..7b61affdee37f 100644 --- a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.inline/inline.display.-------.InstrumentCoverage.0.html +++ b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.inline/inline.display.-------.InstrumentCoverage.0.html @@ -74,14 +74,14 @@ 42:9-42:10: @8[3]: _14 = _13 42:9-42:10: @8[4]: _7 = move _14 42:9-42:10: @8[5]: _8 = const () -42:9-42:10: @8[13]: FakeRead(ForLet, _16)">@6,8,9,10,11⦊x⦉@6,8,9,10,11 in @6,8,9,10,11⦊x⦉@6,8,9,10,11 in @0,1⦊fn permutate<T: Copy + Display>(xs: &mut [T], k: usize) { let n = length(xs); if k == n⦉@0,1 @12,14,15,16,17,18⦊i⦉@12,14,15,16,17,18 in @12,14,15,16,17,18⦊i⦉@12,14,15,16,17,18 in @5,7⦊k..n⦉@5,7 @0,1,2,3,4⦊fn permutations<T: Copy + Display>(xs: &[T]) { let mut ys = xs.to_owned(); permutate(&mut ys, 0); @0,1,2,3,4⦊fn in_func(a: u32) { let b = 1; let c = a + b; println!("c = {}", c) @0,1,2,3⦊is_true = std::env::args().len() == 1; let mut countdown = 0; if is_true⦉@0,1,2,3 @4⦊{ }⦉@7,9@8⦊‸⦉@8 let @10,11⦊mut val = InStruct { in_struct_field: 101, }; val.default_trait_func(); }⦉@10,11
diff --git a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.lazy_boolean/lazy_boolean.main.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.lazy_boolean/lazy_boolean.main.-------.InstrumentCoverage.0.html index 358e2e2bbba3c..ff84fbd4e9f17 100644 --- a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.lazy_boolean/lazy_boolean.main.-------.InstrumentCoverage.0.html +++ b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.lazy_boolean/lazy_boolean.main.-------.InstrumentCoverage.0.html @@ -73,7 +73,7 @@ 7:19-7:35: @1[0]: _3 = &_4 7:19-7:41: @1.Call: _2 = <std::env::Args as std::iter::ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb35] 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) -7:9-7:16: @2[3]: FakeRead(ForLet, _1) +7:9-7:16: @2[3]: FakeRead(ForLet(None), _1) 9:33-9:42: @3[2]: _8 = (const 0_i32, const 0_i32, const 0_i32) 9:10-9:15: @3[4]: _5 = (_8.0: i32) 9:17-9:22: @3[6]: _6 = (_8.1: i32) @@ -83,7 +83,7 @@ 7:19-7:35: @1[0]: _3 = &_4 7:19-7:41: @1.Call: _2 = <std::env::Args as std::iter::ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb35] 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) -7:9-7:16: @2[3]: FakeRead(ForLet, _1) +7:9-7:16: @2[3]: FakeRead(ForLet(None), _1) 9:33-9:42: @3[2]: _8 = (const 0_i32, const 0_i32, const 0_i32) 9:10-9:15: @3[4]: _5 = (_8.0: i32) 9:17-9:22: @3[6]: _6 = (_8.1: i32) @@ -93,7 +93,7 @@ 7:19-7:35: @1[0]: _3 = &_4 7:19-7:41: @1.Call: _2 = <std::env::Args as std::iter::ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb35] 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) -7:9-7:16: @2[3]: FakeRead(ForLet, _1) +7:9-7:16: @2[3]: FakeRead(ForLet(None), _1) 9:33-9:42: @3[2]: _8 = (const 0_i32, const 0_i32, const 0_i32) 9:10-9:15: @3[4]: _5 = (_8.0: i32) 9:17-9:22: @3[6]: _6 = (_8.1: i32) @@ -103,7 +103,7 @@ 7:19-7:35: @1[0]: _3 = &_4 7:19-7:41: @1.Call: _2 = <std::env::Args as std::iter::ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb35] 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) -7:9-7:16: @2[3]: FakeRead(ForLet, _1) +7:9-7:16: @2[3]: FakeRead(ForLet(None), _1) 9:33-9:42: @3[2]: _8 = (const 0_i32, const 0_i32, const 0_i32) 9:10-9:15: @3[4]: _5 = (_8.0: i32) 9:17-9:22: @3[6]: _6 = (_8.1: i32) @@ -113,7 +113,7 @@ 7:19-7:35: @1[0]: _3 = &_4 7:19-7:41: @1.Call: _2 = <std::env::Args as std::iter::ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb35] 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) -7:9-7:16: @2[3]: FakeRead(ForLet, _1) +7:9-7:16: @2[3]: FakeRead(ForLet(None), _1) 9:33-9:42: @3[2]: _8 = (const 0_i32, const 0_i32, const 0_i32) 9:10-9:15: @3[4]: _5 = (_8.0: i32) 9:17-9:22: @3[6]: _6 = (_8.1: i32) @@ -123,7 +123,7 @@ 7:19-7:35: @1[0]: _3 = &_4 7:19-7:41: @1.Call: _2 = <std::env::Args as std::iter::ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb35] 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) -7:9-7:16: @2[3]: FakeRead(ForLet, _1) +7:9-7:16: @2[3]: FakeRead(ForLet(None), _1) 9:33-9:42: @3[2]: _8 = (const 0_i32, const 0_i32, const 0_i32) 9:10-9:15: @3[4]: _5 = (_8.0: i32) 9:17-9:22: @3[6]: _6 = (_8.1: i32) @@ -133,7 +133,7 @@ 7:19-7:35: @1[0]: _3 = &_4 7:19-7:41: @1.Call: _2 = <std::env::Args as std::iter::ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb35] 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) -7:9-7:16: @2[3]: FakeRead(ForLet, _1) +7:9-7:16: @2[3]: FakeRead(ForLet(None), _1) 9:33-9:42: @3[2]: _8 = (const 0_i32, const 0_i32, const 0_i32) 9:10-9:15: @3[4]: _5 = (_8.0: i32) 9:17-9:22: @3[6]: _6 = (_8.1: i32) @@ -143,7 +143,7 @@ 7:19-7:35: @1[0]: _3 = &_4 7:19-7:41: @1.Call: _2 = <std::env::Args as std::iter::ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb35] 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) -7:9-7:16: @2[3]: FakeRead(ForLet, _1) +7:9-7:16: @2[3]: FakeRead(ForLet(None), _1) 9:33-9:42: @3[2]: _8 = (const 0_i32, const 0_i32, const 0_i32) 9:10-9:15: @3[4]: _5 = (_8.0: i32) 9:17-9:22: @3[6]: _6 = (_8.1: i32) @@ -169,7 +169,7 @@ 13:9-13:16: @4[2]: _7 = const 100_i32 10:16-14:6: @4[3]: _9 = const ()"> }⦉@4@5⦊‸⦉@5 let - @10⦊somebool⦉@10 + @10⦊somebool⦉@10 = @9⦊b < c⦉@9 ; let - @14⦊somebool⦉@14 + @14⦊somebool⦉@14 = @13⦊b < c⦉@13 ; - let @18⦊somebool⦉@18 = let @18⦊somebool⦉@18 = @14⦊a < b⦉@14 && @17⦊b < c⦉@17; - let @22⦊somebool⦉@22 = let @22⦊somebool⦉@22 = @18⦊b < a⦉@18 && @0,1⦊fn main() { let result = loop { break 10 ; } ; }⦉@0,1
diff --git a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.loops_branches/loops_branches.main.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.loops_branches/loops_branches.main.-------.InstrumentCoverage.0.html index 95e8f0b71eab8..1cf1d716b9fad 100644 --- a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.loops_branches/loops_branches.main.-------.InstrumentCoverage.0.html +++ b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.loops_branches/loops_branches.main.-------.InstrumentCoverage.0.html @@ -70,14 +70,14 @@
@0,1,2,3⦊fn main() { let debug_test = DebugTest; println!("{:?}", debug_test); if true⦉@0 { if @1⦊false⦉@1 { while @4,5⦊true⦉@4,5 @6,8⦊{ +12:23-12:27: @5[2]: FakeRead(ForMatchedPlace(None), _8)">@4,5⦊true⦉@4,5 @6,8⦊{ }⦉@6,8 }@3⦊‸⦉@3 @0,1,2,3⦊fn main() { // Initialize test constants in a way that cannot be determined at compile time, to ensure // rustc and LLVM cannot optimize out statements (or coverage counters) downstream from // dependent conditions. let is_true = std::env::args().len() == 1; let mut a: u8 = 0; let mut b: u8 = 0; if is_true⦉@0,1,2,3 match @6⦊(a, b)⦉@6 { +15:11-15:17: @6[11]: FakeRead(ForMatchedPlace(None), _10)">@6⦊(a, b)⦉@6 { // Or patterns generate MIR `SwitchInt` with multiple targets to the same `BasicBlock`. // This test confirms a fix for Issue #79569. (0 | 1, 2 | 3) => @9,10⦊{}⦉@9,10 @@ -212,7 +212,7 @@ match @14⦊(a, b)⦉@14 { +25:11-25:17: @14[11]: FakeRead(ForMatchedPlace(None), _16)">@14⦊(a, b)⦉@14 { (0 | 1, 2 | 3) => @17,18⦊{}⦉@17,18 _ => @15⦊{}⦉@15 } @@ -231,7 +231,7 @@ match @22⦊(a, b)⦉@22 { +33:11-33:17: @22[11]: FakeRead(ForMatchedPlace(None), _22)">@22⦊(a, b)⦉@22 { (0 | 1, 2 | 3) => @25,26⦊{}⦉@25,26 _ => @23⦊{}⦉@23 } @@ -250,7 +250,7 @@ match @30⦊(a, b)⦉@30 { +41:11-41:17: @30[10]: FakeRead(ForMatchedPlace(None), _27)">@30⦊(a, b)⦉@30 { (0 | 1, 2 | 3) => @33,34⦊{}⦉@33,34 _ => @31⦊{}⦉@31 } diff --git a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.nested_loops/nested_loops.main.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.nested_loops/nested_loops.main.-------.InstrumentCoverage.0.html index 1abc24156d9c3..cde44c15f1cc1 100644 --- a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.nested_loops/nested_loops.main.-------.InstrumentCoverage.0.html +++ b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.nested_loops/nested_loops.main.-------.InstrumentCoverage.0.html @@ -73,42 +73,42 @@ 2:19-2:35: @1[0]: _3 = &_4 2:19-2:41: @1.Call: _2 = <std::env::Args as std::iter::ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb31] 2:19-2:46: @2[1]: _1 = Eq(move _2, const 1_usize) -2:9-2:16: @2[3]: FakeRead(ForLet, _1) +2:9-2:16: @2[3]: FakeRead(ForLet(None), _1) 3:25-3:27: @3[2]: _5 = const 10_i32 -3:9-3:22: @3[3]: FakeRead(ForLet, _5)">@0,1,2,3⦊fn main() { +3:9-3:22: @3[3]: FakeRead(ForLet(None), _5)">@0,1,2,3⦊fn main() { let is_true = std::env::args().len() == 1; +3:9-3:22: @3[3]: FakeRead(ForLet(None), _5)"> let is_true = std::env::args().len() == 1; let mut countdown = 10⦉@0,1,2,3; +3:9-3:22: @3[3]: FakeRead(ForLet(None), _5)"> let mut countdown = 10⦉@0,1,2,3; 'outer: while @4,5⦊countdown > 0⦉@4,5 { +5:19-5:32: @5[5]: FakeRead(ForMatchedPlace(None), _7)">@4,5⦊countdown > 0⦉@4,5 { let @6,8,9⦊mut a = 100; +7:13-7:18: @8[5]: FakeRead(ForLet(None), _10)">@6,8,9⦊mut a = 100; let mut b = 100⦉@6,8,9; +7:13-7:18: @8[5]: FakeRead(ForLet(None), _10)"> let mut b = 100⦉@6,8,9; for @14,16⦊_⦉@14,16 in @10,11,12⦊0..50⦉@10,11,12 { +8:18-8:23: @12[1]: FakeRead(ForMatchedPlace(None), _17)">@10,11,12⦊0..50⦉@10,11,12 { if @14,16⦊a < 30⦉@14,16 { @17⦊break⦉@17; diff --git a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.overflow/overflow.main.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.overflow/overflow.main.-------.InstrumentCoverage.0.html index 2a9b1b10efcd2..d9b9b734daf02 100644 --- a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.overflow/overflow.main.-------.InstrumentCoverage.0.html +++ b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.overflow/overflow.main.-------.InstrumentCoverage.0.html @@ -70,22 +70,22 @@
@0⦊fn main() -> Result<(),u8> { +16:9-16:22: @0[2]: FakeRead(ForLet(None), _1)">@0⦊fn main() -> Result<(),u8> { let mut countdown = 10⦉@0; +16:9-16:22: @0[2]: FakeRead(ForLet(None), _1)"> let mut countdown = 10⦉@0; while @1,2⦊countdown > 0⦉@1,2 { +17:11-17:24: @2[5]: FakeRead(ForMatchedPlace(None), _4)">@1,2⦊countdown > 0⦉@1,2 { if @3,5⦊countdown == 1⦉@3,5 @6,8,9,10,11⦊{ let result = might_overflow(10); println!("Result: {}", result); }⦉@6,8,9,10,11 else if @7⦊countdown < 5⦉@7 @12,14,15,16,17⦊{ let result = might_overflow(1); println!("Result: {}", result); }⦉@1,3,4@2⦊‸⦉@2 let @5,6,7,8,9,10,11,12,13⦊add_to = u32::MAX - 5; println!("does {} + {} overflow?", add_to, to_add); let result = to_add + add_to; println!("continuing after overflow check"); result @0⦊fn main() -> Result<(), u8> { +14:9-14:22: @0[2]: FakeRead(ForLet(None), _1)">@0⦊fn main() -> Result<(), u8> { let mut countdown = 10⦉@0; +14:9-14:22: @0[2]: FakeRead(ForLet(None), _1)"> let mut countdown = 10⦉@0; while @1,2⦊countdown > 0⦉@1,2 { +15:11-15:24: @2[5]: FakeRead(ForMatchedPlace(None), _4)">@1,2⦊countdown > 0⦉@1,2 { if @3,5⦊countdown == 1⦉@3,5 @6,8⦊{ diff --git a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.panic_unwind/panic_unwind.might_panic.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.panic_unwind/panic_unwind.might_panic.-------.InstrumentCoverage.0.html index 32988629ba0eb..a669e0d7a854b 100644 --- a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.panic_unwind/panic_unwind.might_panic.-------.InstrumentCoverage.0.html +++ b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.panic_unwind/panic_unwind.might_panic.-------.InstrumentCoverage.0.html @@ -76,7 +76,7 @@ 6:18-6:32: @1[8]: _8 = &(*_9) 6:18-6:32: @1[9]: _7 = move _8 as &[&str] (Pointer(Unsize)) 6:9-6:34: @1[15]: _15 = () -6:9-6:34: @1[16]: FakeRead(ForMatchedPlace, _15) +6:9-6:34: @1[16]: FakeRead(ForMatchedPlace(None), _15) 6:9-6:34: @1[17]: _32 = const might_panic::promoted[2] 6:9-6:34: @1[18]: _13 = &(*_32) 6:9-6:34: @1[19]: _12 = &(*_13) @@ -90,7 +90,7 @@ 6:18-6:32: @1[8]: _8 = &(*_9) 6:18-6:32: @1[9]: _7 = move _8 as &[&str] (Pointer(Unsize)) 6:9-6:34: @1[15]: _15 = () -6:9-6:34: @1[16]: FakeRead(ForMatchedPlace, _15) +6:9-6:34: @1[16]: FakeRead(ForMatchedPlace(None), _15) 6:9-6:34: @1[17]: _32 = const might_panic::promoted[2] 6:9-6:34: @1[18]: _13 = &(*_32) 6:9-6:34: @1[19]: _12 = &(*_13) @@ -104,7 +104,7 @@ 9:18-9:31: @2[8]: _22 = &(*_23) 9:18-9:31: @2[9]: _21 = move _22 as &[&str] (Pointer(Unsize)) 9:9-9:33: @2[15]: _29 = () -9:9-9:33: @2[16]: FakeRead(ForMatchedPlace, _29) +9:9-9:33: @2[16]: FakeRead(ForMatchedPlace(None), _29) 9:9-9:33: @2[17]: _30 = const might_panic::promoted[0] 9:9-9:33: @2[18]: _27 = &(*_30) 9:9-9:33: @2[19]: _26 = &(*_27) @@ -119,7 +119,7 @@ 9:18-9:31: @2[8]: _22 = &(*_23) 9:18-9:31: @2[9]: _21 = move _22 as &[&str] (Pointer(Unsize)) 9:9-9:33: @2[15]: _29 = () -9:9-9:33: @2[16]: FakeRead(ForMatchedPlace, _29) +9:9-9:33: @2[16]: FakeRead(ForMatchedPlace(None), _29) 9:9-9:33: @2[17]: _30 = const might_panic::promoted[0] 9:9-9:33: @2[18]: _27 = &(*_30) 9:9-9:33: @2[19]: _26 = &(*_27) @@ -134,7 +134,7 @@ 9:18-9:31: @2[8]: _22 = &(*_23) 9:18-9:31: @2[9]: _21 = move _22 as &[&str] (Pointer(Unsize)) 9:9-9:33: @2[15]: _29 = () -9:9-9:33: @2[16]: FakeRead(ForMatchedPlace, _29) +9:9-9:33: @2[16]: FakeRead(ForMatchedPlace(None), _29) 9:9-9:33: @2[17]: _30 = const might_panic::promoted[0] 9:9-9:33: @2[18]: _27 = &(*_30) 9:9-9:33: @2[19]: _26 = &(*_27) @@ -149,7 +149,7 @@ 9:18-9:31: @2[8]: _22 = &(*_23) 9:18-9:31: @2[9]: _21 = move _22 as &[&str] (Pointer(Unsize)) 9:9-9:33: @2[15]: _29 = () -9:9-9:33: @2[16]: FakeRead(ForMatchedPlace, _29) +9:9-9:33: @2[16]: FakeRead(ForMatchedPlace(None), _29) 9:9-9:33: @2[17]: _30 = const might_panic::promoted[0] 9:9-9:33: @2[18]: _27 = &(*_30) 9:9-9:33: @2[19]: _26 = &(*_27) diff --git a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.partial_eq/partial_eq.main.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.partial_eq/partial_eq.main.-------.InstrumentCoverage.0.html index 3e307c4f460d5..6903aaee7381d 100644 --- a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.partial_eq/partial_eq.main.-------.InstrumentCoverage.0.html +++ b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.partial_eq/partial_eq.main.-------.InstrumentCoverage.0.html @@ -70,9 +70,9 @@
@0,1,2,3,4,5,6,7,8⦊fn main() { let version_3_2_1 = Version::new(3, 2, 1); let version_3_3_0 = Version::new(3, 3, 0); println!("{:?} < {:?} = {}", version_3_2_1, version_3_3_0, version_3_2_1 < version_3_3_0); @0,1,2,3⦊fn main() { // Initialize test constants in a way that cannot be determined at compile time, to ensure // rustc and LLVM cannot optimize out statements (or coverage counters) downstream from // dependent conditions. let is_true = std::env::args().len() == 1; let mut countdown = 0; if is_true⦉@0,1,2,3 @4⦊{ diff --git a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.simple_match/simple_match.main.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.simple_match/simple_match.main.-------.InstrumentCoverage.0.html index a56692d9c2a48..b0816e281305c 100644 --- a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.simple_match/simple_match.main.-------.InstrumentCoverage.0.html +++ b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.simple_match/simple_match.main.-------.InstrumentCoverage.0.html @@ -73,65 +73,65 @@ 7:19-7:35: @1[0]: _3 = &_4 7:19-7:41: @1.Call: _2 = <std::env::Args as std::iter::ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb20] 7:19-7:46: @2[1]: _1 = Eq(move _2, const 1_usize) -7:9-7:16: @2[3]: FakeRead(ForLet, _1) +7:9-7:16: @2[3]: FakeRead(ForLet(None), _1) 9:25-9:26: @3[2]: _5 = const 1_i32 -9:9-9:22: @3[3]: FakeRead(ForLet, _5) +9:9-9:22: @3[3]: FakeRead(ForLet(None), _5) 10:8-10:15: @3[6]: _7 = _1">@0,1,2,3⦊fn main() { // Initialize test constants in a way that cannot be determined at compile time, to ensure // rustc and LLVM cannot optimize out statements (or coverage counters) downstream from // dependent conditions. let is_true = std::env::args().len() == 1; let mut countdown = 1; if is_true⦉@0,1,2,3 @4⦊{ @8,9,10⦊0..2⦉@8,9,10 +17:9-17:13: @10[1]: FakeRead(ForMatchedPlace(None), _14)">@8,9,10⦊0..2⦉@8,9,10 { let z ; match - @12,14,16⦊countdown⦉@12,14,16 + @12,14,16⦊countdown⦉@12,14,16 { @17⦊x⦉@17 if @@ -167,49 +167,49 @@ @17⦊{ z = countdown ; let y = countdown ; countdown = 10 ; }⦉@17 _ diff --git a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.try_error_result/try_error_result.main.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.try_error_result/try_error_result.main.-------.InstrumentCoverage.0.html index 5b0c5cb072f04..0a0c3f75bca88 100644 --- a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.try_error_result/try_error_result.main.-------.InstrumentCoverage.0.html +++ b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.try_error_result/try_error_result.main.-------.InstrumentCoverage.0.html @@ -70,11 +70,11 @@
@0,1⦊fn main() -> Result<(),()> { +13:9-14:18: @0[2]: FakeRead(ForLet(None), _1)">@0,1⦊fn main() -> Result<(),()> { let mut +13:9-14:18: @0[2]: FakeRead(ForLet(None), _1)"> let mut countdown = 10⦉@0,1 +13:9-14:18: @0[2]: FakeRead(ForLet(None), _1)"> countdown = 10⦉@0,1 ; for @2,3,4⦊0..10⦉@2,3,4 +19:9-19:14: @4[1]: FakeRead(ForMatchedPlace(None), _9)">@2,3,4⦊0..10⦉@2,3,4 { @0⦊fn foo<T>(x: T) { +2:9-2:14: @0[2]: FakeRead(ForLet(None), _2)">@0⦊fn foo<T>(x: T) { let mut i = 0⦉@0; +2:9-2:14: @0[2]: FakeRead(ForLet(None), _2)"> let mut i = 0⦉@0; while @1,2⦊i < 10⦉@1,2 { +3:11-3:17: @2[5]: FakeRead(ForMatchedPlace(None), _4)">@1,2⦊i < 10⦉@1,2 { @3,5⦊i != 0⦉@3,5 || @8⦊i != 0⦉@8; diff --git a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.unused/unused.unused_template_func.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.unused/unused.unused_template_func.-------.InstrumentCoverage.0.html index 9b32bcb47f6e5..f9f62575ecbec 100644 --- a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.unused/unused.unused_template_func.-------.InstrumentCoverage.0.html +++ b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.unused/unused.unused_template_func.-------.InstrumentCoverage.0.html @@ -70,12 +70,12 @@
@0⦊fn unused_template_func<T>(x: T) { +10:9-10:14: @0[2]: FakeRead(ForLet(None), _2)">@0⦊fn unused_template_func<T>(x: T) { let mut i = 0⦉@0; +10:9-10:14: @0[2]: FakeRead(ForLet(None), _2)"> let mut i = 0⦉@0; while @1,2⦊i < 10⦉@1,2 { +11:11-11:17: @2[5]: FakeRead(ForMatchedPlace(None), _4)">@1,2⦊i < 10⦉@1,2 { @3,5⦊i != 0⦉@3,5 || @8⦊i != 0⦉@8; diff --git a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.used_crate/used_crate.unused_function.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.used_crate/used_crate.unused_function.-------.InstrumentCoverage.0.html index 65e21ecef13bd..ca5d9ecb2ea01 100644 --- a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.used_crate/used_crate.unused_function.-------.InstrumentCoverage.0.html +++ b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.used_crate/used_crate.unused_function.-------.InstrumentCoverage.0.html @@ -73,36 +73,36 @@ 38:19-38:35: @1[0]: _3 = &_4 38:19-38:41: @1.Call: _2 = <std::env::Args as std::iter::ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb7] 38:19-38:46: @2[1]: _1 = Eq(move _2, const 1_usize) -38:9-38:16: @2[3]: FakeRead(ForLet, _1) +38:9-38:16: @2[3]: FakeRead(ForLet(None), _1) 39:25-39:26: @3[2]: _5 = const 2_i32 -39:9-39:22: @3[3]: FakeRead(ForLet, _5) +39:9-39:22: @3[3]: FakeRead(ForLet(None), _5) 40:9-40:16: @3[6]: _7 = _1 40:8-40:16: @3[7]: _6 = Not(move _7)">@0,1,2,3⦊pub fn unused_function() { let is_true = std::env::args().len() == 1; let mut countdown = 2; if !is_true⦉@0,1,2,3 @4⦊{ diff --git a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.used_crate/used_crate.unused_generic_function.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.used_crate/used_crate.unused_generic_function.-------.InstrumentCoverage.0.html index 02154a2268b75..3d5373bce5526 100644 --- a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.used_crate/used_crate.unused_generic_function.-------.InstrumentCoverage.0.html +++ b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.used_crate/used_crate.unused_generic_function.-------.InstrumentCoverage.0.html @@ -75,7 +75,7 @@ 34:14-34:49: @0[9]: _5 = move _6 as &[&str] (Pointer(Unsize)) 34:51-34:54: @0[17]: _14 = &_1 34:5-34:56: @0[18]: _13 = (move _14,) -34:5-34:56: @0[20]: FakeRead(ForMatchedPlace, _13) +34:5-34:56: @0[20]: FakeRead(ForMatchedPlace(None), _13) 34:5-34:56: @0[22]: _15 = (_13.0: &T) 34:5-34:56: @0[25]: _17 = &(*_15) 34:5-34:56: @0[27]: _18 = <T as std::fmt::Debug>::fmt as for<'r, 's, 't0> fn(&'r T, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) @@ -95,7 +95,7 @@ 34:14-34:49: @0[9]: _5 = move _6 as &[&str] (Pointer(Unsize)) 34:51-34:54: @0[17]: _14 = &_1 34:5-34:56: @0[18]: _13 = (move _14,) -34:5-34:56: @0[20]: FakeRead(ForMatchedPlace, _13) +34:5-34:56: @0[20]: FakeRead(ForMatchedPlace(None), _13) 34:5-34:56: @0[22]: _15 = (_13.0: &T) 34:5-34:56: @0[25]: _17 = &(*_15) 34:5-34:56: @0[27]: _18 = <T as std::fmt::Debug>::fmt as for<'r, 's, 't0> fn(&'r T, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) @@ -115,7 +115,7 @@ 34:14-34:49: @0[9]: _5 = move _6 as &[&str] (Pointer(Unsize)) 34:51-34:54: @0[17]: _14 = &_1 34:5-34:56: @0[18]: _13 = (move _14,) -34:5-34:56: @0[20]: FakeRead(ForMatchedPlace, _13) +34:5-34:56: @0[20]: FakeRead(ForMatchedPlace(None), _13) 34:5-34:56: @0[22]: _15 = (_13.0: &T) 34:5-34:56: @0[25]: _17 = &(*_15) 34:5-34:56: @0[27]: _18 = <T as std::fmt::Debug>::fmt as for<'r, 's, 't0> fn(&'r T, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) diff --git a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.used_crate/used_crate.unused_private_function.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.used_crate/used_crate.unused_private_function.-------.InstrumentCoverage.0.html index 78228594e3753..9c4ba9bbe232d 100644 --- a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.used_crate/used_crate.unused_private_function.-------.InstrumentCoverage.0.html +++ b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.used_crate/used_crate.unused_private_function.-------.InstrumentCoverage.0.html @@ -73,36 +73,36 @@ 46:19-46:35: @1[0]: _3 = &_4 46:19-46:41: @1.Call: _2 = <std::env::Args as std::iter::ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb7] 46:19-46:46: @2[1]: _1 = Eq(move _2, const 1_usize) -46:9-46:16: @2[3]: FakeRead(ForLet, _1) +46:9-46:16: @2[3]: FakeRead(ForLet(None), _1) 47:25-47:26: @3[2]: _5 = const 2_i32 -47:9-47:22: @3[3]: FakeRead(ForLet, _5) +47:9-47:22: @3[3]: FakeRead(ForLet(None), _5) 48:9-48:16: @3[6]: _7 = _1 48:8-48:16: @3[7]: _6 = Not(move _7)">@0,1,2,3⦊fn unused_private_function() { let is_true = std::env::args().len() == 1; let mut countdown = 2; if !is_true⦉@0,1,2,3 @4⦊{ diff --git a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.used_crate/used_crate.use_this_lib_crate.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.used_crate/used_crate.use_this_lib_crate.-------.InstrumentCoverage.0.html index 8f618d2e24954..d730d0d204cae 100644 --- a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.used_crate/used_crate.use_this_lib_crate.-------.InstrumentCoverage.0.html +++ b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.used_crate/used_crate.use_this_lib_crate.-------.InstrumentCoverage.0.html @@ -76,7 +76,7 @@ 58:20-58:36: @2[7]: _5 = move _6 58:20-58:36: @2[8]: _4 = move _5 as std::boxed::Box<[i32]> (Pointer(Unsize)) 58:20-58:36: @4.Call: _3 = std::slice::<impl [i32]>::into_vec::<std::alloc::Global>(move _4) -> [return: bb5, unwind: bb12] -58:9-58:17: @5[1]: FakeRead(ForLet, _3) +58:9-58:17: @5[1]: FakeRead(ForLet(None), _3) 59:52-59:60: @5[4]: _8 = move _3 59:5-59:61: @5.Call: _7 = used_only_from_this_lib_crate_generic_function::<std::vec::Vec<i32>>(move _8) -> [return: bb6, unwind: bb9] 60:5-60:91: @6.Call: _9 = used_only_from_this_lib_crate_generic_function::<&str>(const "used ONLY from library used_crate.rs") -> [return: bb7, unwind: bb10] @@ -89,7 +89,7 @@ 58:20-58:36: @2[7]: _5 = move _6 58:20-58:36: @2[8]: _4 = move _5 as std::boxed::Box<[i32]> (Pointer(Unsize)) 58:20-58:36: @4.Call: _3 = std::slice::<impl [i32]>::into_vec::<std::alloc::Global>(move _4) -> [return: bb5, unwind: bb12] -58:9-58:17: @5[1]: FakeRead(ForLet, _3) +58:9-58:17: @5[1]: FakeRead(ForLet(None), _3) 59:52-59:60: @5[4]: _8 = move _3 59:5-59:61: @5.Call: _7 = used_only_from_this_lib_crate_generic_function::<std::vec::Vec<i32>>(move _8) -> [return: bb6, unwind: bb9] 60:5-60:91: @6.Call: _9 = used_only_from_this_lib_crate_generic_function::<&str>(const "used ONLY from library used_crate.rs") -> [return: bb7, unwind: bb10] @@ -102,7 +102,7 @@ 58:20-58:36: @2[7]: _5 = move _6 58:20-58:36: @2[8]: _4 = move _5 as std::boxed::Box<[i32]> (Pointer(Unsize)) 58:20-58:36: @4.Call: _3 = std::slice::<impl [i32]>::into_vec::<std::alloc::Global>(move _4) -> [return: bb5, unwind: bb12] -58:9-58:17: @5[1]: FakeRead(ForLet, _3) +58:9-58:17: @5[1]: FakeRead(ForLet(None), _3) 59:52-59:60: @5[4]: _8 = move _3 59:5-59:61: @5.Call: _7 = used_only_from_this_lib_crate_generic_function::<std::vec::Vec<i32>>(move _8) -> [return: bb6, unwind: bb9] 60:5-60:91: @6.Call: _9 = used_only_from_this_lib_crate_generic_function::<&str>(const "used ONLY from library used_crate.rs") -> [return: bb7, unwind: bb10] @@ -115,7 +115,7 @@ 58:20-58:36: @2[7]: _5 = move _6 58:20-58:36: @2[8]: _4 = move _5 as std::boxed::Box<[i32]> (Pointer(Unsize)) 58:20-58:36: @4.Call: _3 = std::slice::<impl [i32]>::into_vec::<std::alloc::Global>(move _4) -> [return: bb5, unwind: bb12] -58:9-58:17: @5[1]: FakeRead(ForLet, _3) +58:9-58:17: @5[1]: FakeRead(ForLet(None), _3) 59:52-59:60: @5[4]: _8 = move _3 59:5-59:61: @5.Call: _7 = used_only_from_this_lib_crate_generic_function::<std::vec::Vec<i32>>(move _8) -> [return: bb6, unwind: bb9] 60:5-60:91: @6.Call: _9 = used_only_from_this_lib_crate_generic_function::<&str>(const "used ONLY from library used_crate.rs") -> [return: bb7, unwind: bb10] @@ -128,7 +128,7 @@ 58:20-58:36: @2[7]: _5 = move _6 58:20-58:36: @2[8]: _4 = move _5 as std::boxed::Box<[i32]> (Pointer(Unsize)) 58:20-58:36: @4.Call: _3 = std::slice::<impl [i32]>::into_vec::<std::alloc::Global>(move _4) -> [return: bb5, unwind: bb12] -58:9-58:17: @5[1]: FakeRead(ForLet, _3) +58:9-58:17: @5[1]: FakeRead(ForLet(None), _3) 59:52-59:60: @5[4]: _8 = move _3 59:5-59:61: @5.Call: _7 = used_only_from_this_lib_crate_generic_function::<std::vec::Vec<i32>>(move _8) -> [return: bb6, unwind: bb9] 60:5-60:91: @6.Call: _9 = used_only_from_this_lib_crate_generic_function::<&str>(const "used ONLY from library used_crate.rs") -> [return: bb7, unwind: bb10] @@ -141,7 +141,7 @@ 58:20-58:36: @2[7]: _5 = move _6 58:20-58:36: @2[8]: _4 = move _5 as std::boxed::Box<[i32]> (Pointer(Unsize)) 58:20-58:36: @4.Call: _3 = std::slice::<impl [i32]>::into_vec::<std::alloc::Global>(move _4) -> [return: bb5, unwind: bb12] -58:9-58:17: @5[1]: FakeRead(ForLet, _3) +58:9-58:17: @5[1]: FakeRead(ForLet(None), _3) 59:52-59:60: @5[4]: _8 = move _3 59:5-59:61: @5.Call: _7 = used_only_from_this_lib_crate_generic_function::<std::vec::Vec<i32>>(move _8) -> [return: bb6, unwind: bb9] 60:5-60:91: @6.Call: _9 = used_only_from_this_lib_crate_generic_function::<&str>(const "used ONLY from library used_crate.rs") -> [return: bb7, unwind: bb10] @@ -154,7 +154,7 @@ 58:20-58:36: @2[7]: _5 = move _6 58:20-58:36: @2[8]: _4 = move _5 as std::boxed::Box<[i32]> (Pointer(Unsize)) 58:20-58:36: @4.Call: _3 = std::slice::<impl [i32]>::into_vec::<std::alloc::Global>(move _4) -> [return: bb5, unwind: bb12] -58:9-58:17: @5[1]: FakeRead(ForLet, _3) +58:9-58:17: @5[1]: FakeRead(ForLet(None), _3) 59:52-59:60: @5[4]: _8 = move _3 59:5-59:61: @5.Call: _7 = used_only_from_this_lib_crate_generic_function::<std::vec::Vec<i32>>(move _8) -> [return: bb6, unwind: bb9] 60:5-60:91: @6.Call: _9 = used_only_from_this_lib_crate_generic_function::<&str>(const "used ONLY from library used_crate.rs") -> [return: bb7, unwind: bb10] @@ -167,7 +167,7 @@ 58:20-58:36: @2[7]: _5 = move _6 58:20-58:36: @2[8]: _4 = move _5 as std::boxed::Box<[i32]> (Pointer(Unsize)) 58:20-58:36: @4.Call: _3 = std::slice::<impl [i32]>::into_vec::<std::alloc::Global>(move _4) -> [return: bb5, unwind: bb12] -58:9-58:17: @5[1]: FakeRead(ForLet, _3) +58:9-58:17: @5[1]: FakeRead(ForLet(None), _3) 59:52-59:60: @5[4]: _8 = move _3 59:5-59:61: @5.Call: _7 = used_only_from_this_lib_crate_generic_function::<std::vec::Vec<i32>>(move _8) -> [return: bb6, unwind: bb9] 60:5-60:91: @6.Call: _9 = used_only_from_this_lib_crate_generic_function::<&str>(const "used ONLY from library used_crate.rs") -> [return: bb7, unwind: bb10] @@ -180,7 +180,7 @@ 58:20-58:36: @2[7]: _5 = move _6 58:20-58:36: @2[8]: _4 = move _5 as std::boxed::Box<[i32]> (Pointer(Unsize)) 58:20-58:36: @4.Call: _3 = std::slice::<impl [i32]>::into_vec::<std::alloc::Global>(move _4) -> [return: bb5, unwind: bb12] -58:9-58:17: @5[1]: FakeRead(ForLet, _3) +58:9-58:17: @5[1]: FakeRead(ForLet(None), _3) 59:52-59:60: @5[4]: _8 = move _3 59:5-59:61: @5.Call: _7 = used_only_from_this_lib_crate_generic_function::<std::vec::Vec<i32>>(move _8) -> [return: bb6, unwind: bb9] 60:5-60:91: @6.Call: _9 = used_only_from_this_lib_crate_generic_function::<&str>(const "used ONLY from library used_crate.rs") -> [return: bb7, unwind: bb10] diff --git a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.used_crate/used_crate.used_from_bin_crate_and_lib_crate_generic_function.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.used_crate/used_crate.used_from_bin_crate_and_lib_crate_generic_function.-------.InstrumentCoverage.0.html index 61a709c4729f2..752cb72129d7b 100644 --- a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.used_crate/used_crate.used_from_bin_crate_and_lib_crate_generic_function.-------.InstrumentCoverage.0.html +++ b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.used_crate/used_crate.used_from_bin_crate_and_lib_crate_generic_function.-------.InstrumentCoverage.0.html @@ -75,7 +75,7 @@ 26:14-26:76: @0[9]: _5 = move _6 as &[&str] (Pointer(Unsize)) 26:78-26:81: @0[17]: _14 = &_1 26:5-26:83: @0[18]: _13 = (move _14,) -26:5-26:83: @0[20]: FakeRead(ForMatchedPlace, _13) +26:5-26:83: @0[20]: FakeRead(ForMatchedPlace(None), _13) 26:5-26:83: @0[22]: _15 = (_13.0: &T) 26:5-26:83: @0[25]: _17 = &(*_15) 26:5-26:83: @0[27]: _18 = <T as std::fmt::Debug>::fmt as for<'r, 's, 't0> fn(&'r T, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) @@ -95,7 +95,7 @@ 26:14-26:76: @0[9]: _5 = move _6 as &[&str] (Pointer(Unsize)) 26:78-26:81: @0[17]: _14 = &_1 26:5-26:83: @0[18]: _13 = (move _14,) -26:5-26:83: @0[20]: FakeRead(ForMatchedPlace, _13) +26:5-26:83: @0[20]: FakeRead(ForMatchedPlace(None), _13) 26:5-26:83: @0[22]: _15 = (_13.0: &T) 26:5-26:83: @0[25]: _17 = &(*_15) 26:5-26:83: @0[27]: _18 = <T as std::fmt::Debug>::fmt as for<'r, 's, 't0> fn(&'r T, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) @@ -115,7 +115,7 @@ 26:14-26:76: @0[9]: _5 = move _6 as &[&str] (Pointer(Unsize)) 26:78-26:81: @0[17]: _14 = &_1 26:5-26:83: @0[18]: _13 = (move _14,) -26:5-26:83: @0[20]: FakeRead(ForMatchedPlace, _13) +26:5-26:83: @0[20]: FakeRead(ForMatchedPlace(None), _13) 26:5-26:83: @0[22]: _15 = (_13.0: &T) 26:5-26:83: @0[25]: _17 = &(*_15) 26:5-26:83: @0[27]: _18 = <T as std::fmt::Debug>::fmt as for<'r, 's, 't0> fn(&'r T, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) diff --git a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.used_crate/used_crate.used_function.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.used_crate/used_crate.used_function.-------.InstrumentCoverage.0.html index 974a24b2c6d44..c717cb6685714 100644 --- a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.used_crate/used_crate.used_function.-------.InstrumentCoverage.0.html +++ b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.used_crate/used_crate.used_function.-------.InstrumentCoverage.0.html @@ -77,25 +77,25 @@ 9:19-9:35: @1[0]: _3 = &_4 9:19-9:41: @1.Call: _2 = <std::env::Args as std::iter::ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb8] 9:19-9:46: @2[1]: _1 = Eq(move _2, const 1_usize) -9:9-9:16: @2[3]: FakeRead(ForLet, _1) +9:9-9:16: @2[3]: FakeRead(ForLet(None), _1) 10:25-10:26: @3[2]: _5 = const 0_i32 -10:9-10:22: @3[3]: FakeRead(ForLet, _5) +10:9-10:22: @3[3]: FakeRead(ForLet(None), _5) 11:8-11:15: @3[6]: _7 = _1">@0,1,2,3⦊is_true = std::env::args().len() == 1; let mut countdown = 0; if is_true⦉@0,1,2,3 @4⦊{ @0,1,2,3⦊pub fn unused_function() { let is_true = std::env::args().len() == 1; let mut countdown = 2; if !is_true⦉@0,1,2,3 @4⦊{ diff --git a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.used_inline_crate/used_inline_crate.unused_generic_function.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.used_inline_crate/used_inline_crate.unused_generic_function.-------.InstrumentCoverage.0.html index 9e3052ccac155..3c84b2cc039ae 100644 --- a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.used_inline_crate/used_inline_crate.unused_generic_function.-------.InstrumentCoverage.0.html +++ b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.used_inline_crate/used_inline_crate.unused_generic_function.-------.InstrumentCoverage.0.html @@ -75,7 +75,7 @@ 61:14-61:49: @0[9]: _5 = move _6 as &[&str] (Pointer(Unsize)) 61:51-61:54: @0[17]: _14 = &_1 61:5-61:56: @0[18]: _13 = (move _14,) -61:5-61:56: @0[20]: FakeRead(ForMatchedPlace, _13) +61:5-61:56: @0[20]: FakeRead(ForMatchedPlace(None), _13) 61:5-61:56: @0[22]: _15 = (_13.0: &T) 61:5-61:56: @0[25]: _17 = &(*_15) 61:5-61:56: @0[27]: _18 = <T as std::fmt::Debug>::fmt as for<'r, 's, 't0> fn(&'r T, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) @@ -95,7 +95,7 @@ 61:14-61:49: @0[9]: _5 = move _6 as &[&str] (Pointer(Unsize)) 61:51-61:54: @0[17]: _14 = &_1 61:5-61:56: @0[18]: _13 = (move _14,) -61:5-61:56: @0[20]: FakeRead(ForMatchedPlace, _13) +61:5-61:56: @0[20]: FakeRead(ForMatchedPlace(None), _13) 61:5-61:56: @0[22]: _15 = (_13.0: &T) 61:5-61:56: @0[25]: _17 = &(*_15) 61:5-61:56: @0[27]: _18 = <T as std::fmt::Debug>::fmt as for<'r, 's, 't0> fn(&'r T, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) @@ -115,7 +115,7 @@ 61:14-61:49: @0[9]: _5 = move _6 as &[&str] (Pointer(Unsize)) 61:51-61:54: @0[17]: _14 = &_1 61:5-61:56: @0[18]: _13 = (move _14,) -61:5-61:56: @0[20]: FakeRead(ForMatchedPlace, _13) +61:5-61:56: @0[20]: FakeRead(ForMatchedPlace(None), _13) 61:5-61:56: @0[22]: _15 = (_13.0: &T) 61:5-61:56: @0[25]: _17 = &(*_15) 61:5-61:56: @0[27]: _18 = <T as std::fmt::Debug>::fmt as for<'r, 's, 't0> fn(&'r T, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) diff --git a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.used_inline_crate/used_inline_crate.unused_private_function.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.used_inline_crate/used_inline_crate.unused_private_function.-------.InstrumentCoverage.0.html index e9c381db94025..e30495d8f70ca 100644 --- a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.used_inline_crate/used_inline_crate.unused_private_function.-------.InstrumentCoverage.0.html +++ b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.used_inline_crate/used_inline_crate.unused_private_function.-------.InstrumentCoverage.0.html @@ -73,36 +73,36 @@ 75:19-75:35: @1[0]: _3 = &_4 75:19-75:41: @1.Call: _2 = <std::env::Args as std::iter::ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb7] 75:19-75:46: @2[1]: _1 = Eq(move _2, const 1_usize) -75:9-75:16: @2[3]: FakeRead(ForLet, _1) +75:9-75:16: @2[3]: FakeRead(ForLet(None), _1) 76:25-76:26: @3[2]: _5 = const 2_i32 -76:9-76:22: @3[3]: FakeRead(ForLet, _5) +76:9-76:22: @3[3]: FakeRead(ForLet(None), _5) 77:9-77:16: @3[6]: _7 = _1 77:8-77:16: @3[7]: _6 = Not(move _7)">@0,1,2,3⦊fn unused_private_function() { let is_true = std::env::args().len() == 1; let mut countdown = 2; if !is_true⦉@0,1,2,3 @4⦊{ diff --git a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.used_inline_crate/used_inline_crate.use_this_lib_crate.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.used_inline_crate/used_inline_crate.use_this_lib_crate.-------.InstrumentCoverage.0.html index 056f618a403c9..2e1bf0f439bb0 100644 --- a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.used_inline_crate/used_inline_crate.use_this_lib_crate.-------.InstrumentCoverage.0.html +++ b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.used_inline_crate/used_inline_crate.use_this_lib_crate.-------.InstrumentCoverage.0.html @@ -76,7 +76,7 @@ 87:20-87:36: @2[7]: _5 = move _6 87:20-87:36: @2[8]: _4 = move _5 as std::boxed::Box<[i32]> (Pointer(Unsize)) 87:20-87:36: @4.Call: _3 = std::slice::<impl [i32]>::into_vec::<std::alloc::Global>(move _4) -> [return: bb5, unwind: bb12] -87:9-87:17: @5[1]: FakeRead(ForLet, _3) +87:9-87:17: @5[1]: FakeRead(ForLet(None), _3) 88:52-88:60: @5[4]: _8 = move _3 88:5-88:61: @5.Call: _7 = used_only_from_this_lib_crate_generic_function::<std::vec::Vec<i32>>(move _8) -> [return: bb6, unwind: bb9] 89:5-89:91: @6.Call: _9 = used_only_from_this_lib_crate_generic_function::<&str>(const "used ONLY from library used_crate.rs") -> [return: bb7, unwind: bb10] @@ -89,7 +89,7 @@ 87:20-87:36: @2[7]: _5 = move _6 87:20-87:36: @2[8]: _4 = move _5 as std::boxed::Box<[i32]> (Pointer(Unsize)) 87:20-87:36: @4.Call: _3 = std::slice::<impl [i32]>::into_vec::<std::alloc::Global>(move _4) -> [return: bb5, unwind: bb12] -87:9-87:17: @5[1]: FakeRead(ForLet, _3) +87:9-87:17: @5[1]: FakeRead(ForLet(None), _3) 88:52-88:60: @5[4]: _8 = move _3 88:5-88:61: @5.Call: _7 = used_only_from_this_lib_crate_generic_function::<std::vec::Vec<i32>>(move _8) -> [return: bb6, unwind: bb9] 89:5-89:91: @6.Call: _9 = used_only_from_this_lib_crate_generic_function::<&str>(const "used ONLY from library used_crate.rs") -> [return: bb7, unwind: bb10] @@ -102,7 +102,7 @@ 87:20-87:36: @2[7]: _5 = move _6 87:20-87:36: @2[8]: _4 = move _5 as std::boxed::Box<[i32]> (Pointer(Unsize)) 87:20-87:36: @4.Call: _3 = std::slice::<impl [i32]>::into_vec::<std::alloc::Global>(move _4) -> [return: bb5, unwind: bb12] -87:9-87:17: @5[1]: FakeRead(ForLet, _3) +87:9-87:17: @5[1]: FakeRead(ForLet(None), _3) 88:52-88:60: @5[4]: _8 = move _3 88:5-88:61: @5.Call: _7 = used_only_from_this_lib_crate_generic_function::<std::vec::Vec<i32>>(move _8) -> [return: bb6, unwind: bb9] 89:5-89:91: @6.Call: _9 = used_only_from_this_lib_crate_generic_function::<&str>(const "used ONLY from library used_crate.rs") -> [return: bb7, unwind: bb10] @@ -115,7 +115,7 @@ 87:20-87:36: @2[7]: _5 = move _6 87:20-87:36: @2[8]: _4 = move _5 as std::boxed::Box<[i32]> (Pointer(Unsize)) 87:20-87:36: @4.Call: _3 = std::slice::<impl [i32]>::into_vec::<std::alloc::Global>(move _4) -> [return: bb5, unwind: bb12] -87:9-87:17: @5[1]: FakeRead(ForLet, _3) +87:9-87:17: @5[1]: FakeRead(ForLet(None), _3) 88:52-88:60: @5[4]: _8 = move _3 88:5-88:61: @5.Call: _7 = used_only_from_this_lib_crate_generic_function::<std::vec::Vec<i32>>(move _8) -> [return: bb6, unwind: bb9] 89:5-89:91: @6.Call: _9 = used_only_from_this_lib_crate_generic_function::<&str>(const "used ONLY from library used_crate.rs") -> [return: bb7, unwind: bb10] @@ -128,7 +128,7 @@ 87:20-87:36: @2[7]: _5 = move _6 87:20-87:36: @2[8]: _4 = move _5 as std::boxed::Box<[i32]> (Pointer(Unsize)) 87:20-87:36: @4.Call: _3 = std::slice::<impl [i32]>::into_vec::<std::alloc::Global>(move _4) -> [return: bb5, unwind: bb12] -87:9-87:17: @5[1]: FakeRead(ForLet, _3) +87:9-87:17: @5[1]: FakeRead(ForLet(None), _3) 88:52-88:60: @5[4]: _8 = move _3 88:5-88:61: @5.Call: _7 = used_only_from_this_lib_crate_generic_function::<std::vec::Vec<i32>>(move _8) -> [return: bb6, unwind: bb9] 89:5-89:91: @6.Call: _9 = used_only_from_this_lib_crate_generic_function::<&str>(const "used ONLY from library used_crate.rs") -> [return: bb7, unwind: bb10] @@ -141,7 +141,7 @@ 87:20-87:36: @2[7]: _5 = move _6 87:20-87:36: @2[8]: _4 = move _5 as std::boxed::Box<[i32]> (Pointer(Unsize)) 87:20-87:36: @4.Call: _3 = std::slice::<impl [i32]>::into_vec::<std::alloc::Global>(move _4) -> [return: bb5, unwind: bb12] -87:9-87:17: @5[1]: FakeRead(ForLet, _3) +87:9-87:17: @5[1]: FakeRead(ForLet(None), _3) 88:52-88:60: @5[4]: _8 = move _3 88:5-88:61: @5.Call: _7 = used_only_from_this_lib_crate_generic_function::<std::vec::Vec<i32>>(move _8) -> [return: bb6, unwind: bb9] 89:5-89:91: @6.Call: _9 = used_only_from_this_lib_crate_generic_function::<&str>(const "used ONLY from library used_crate.rs") -> [return: bb7, unwind: bb10] @@ -154,7 +154,7 @@ 87:20-87:36: @2[7]: _5 = move _6 87:20-87:36: @2[8]: _4 = move _5 as std::boxed::Box<[i32]> (Pointer(Unsize)) 87:20-87:36: @4.Call: _3 = std::slice::<impl [i32]>::into_vec::<std::alloc::Global>(move _4) -> [return: bb5, unwind: bb12] -87:9-87:17: @5[1]: FakeRead(ForLet, _3) +87:9-87:17: @5[1]: FakeRead(ForLet(None), _3) 88:52-88:60: @5[4]: _8 = move _3 88:5-88:61: @5.Call: _7 = used_only_from_this_lib_crate_generic_function::<std::vec::Vec<i32>>(move _8) -> [return: bb6, unwind: bb9] 89:5-89:91: @6.Call: _9 = used_only_from_this_lib_crate_generic_function::<&str>(const "used ONLY from library used_crate.rs") -> [return: bb7, unwind: bb10] @@ -167,7 +167,7 @@ 87:20-87:36: @2[7]: _5 = move _6 87:20-87:36: @2[8]: _4 = move _5 as std::boxed::Box<[i32]> (Pointer(Unsize)) 87:20-87:36: @4.Call: _3 = std::slice::<impl [i32]>::into_vec::<std::alloc::Global>(move _4) -> [return: bb5, unwind: bb12] -87:9-87:17: @5[1]: FakeRead(ForLet, _3) +87:9-87:17: @5[1]: FakeRead(ForLet(None), _3) 88:52-88:60: @5[4]: _8 = move _3 88:5-88:61: @5.Call: _7 = used_only_from_this_lib_crate_generic_function::<std::vec::Vec<i32>>(move _8) -> [return: bb6, unwind: bb9] 89:5-89:91: @6.Call: _9 = used_only_from_this_lib_crate_generic_function::<&str>(const "used ONLY from library used_crate.rs") -> [return: bb7, unwind: bb10] @@ -180,7 +180,7 @@ 87:20-87:36: @2[7]: _5 = move _6 87:20-87:36: @2[8]: _4 = move _5 as std::boxed::Box<[i32]> (Pointer(Unsize)) 87:20-87:36: @4.Call: _3 = std::slice::<impl [i32]>::into_vec::<std::alloc::Global>(move _4) -> [return: bb5, unwind: bb12] -87:9-87:17: @5[1]: FakeRead(ForLet, _3) +87:9-87:17: @5[1]: FakeRead(ForLet(None), _3) 88:52-88:60: @5[4]: _8 = move _3 88:5-88:61: @5.Call: _7 = used_only_from_this_lib_crate_generic_function::<std::vec::Vec<i32>>(move _8) -> [return: bb6, unwind: bb9] 89:5-89:91: @6.Call: _9 = used_only_from_this_lib_crate_generic_function::<&str>(const "used ONLY from library used_crate.rs") -> [return: bb7, unwind: bb10] diff --git a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.used_inline_crate/used_inline_crate.used_from_bin_crate_and_lib_crate_generic_function.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.used_inline_crate/used_inline_crate.used_from_bin_crate_and_lib_crate_generic_function.-------.InstrumentCoverage.0.html index 0d88b0bc60e34..055d42cd65ac2 100644 --- a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.used_inline_crate/used_inline_crate.used_from_bin_crate_and_lib_crate_generic_function.-------.InstrumentCoverage.0.html +++ b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.used_inline_crate/used_inline_crate.used_from_bin_crate_and_lib_crate_generic_function.-------.InstrumentCoverage.0.html @@ -75,7 +75,7 @@ 51:14-51:76: @0[9]: _5 = move _6 as &[&str] (Pointer(Unsize)) 51:78-51:81: @0[17]: _14 = &_1 51:5-51:83: @0[18]: _13 = (move _14,) -51:5-51:83: @0[20]: FakeRead(ForMatchedPlace, _13) +51:5-51:83: @0[20]: FakeRead(ForMatchedPlace(None), _13) 51:5-51:83: @0[22]: _15 = (_13.0: &T) 51:5-51:83: @0[25]: _17 = &(*_15) 51:5-51:83: @0[27]: _18 = <T as std::fmt::Debug>::fmt as for<'r, 's, 't0> fn(&'r T, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) @@ -95,7 +95,7 @@ 51:14-51:76: @0[9]: _5 = move _6 as &[&str] (Pointer(Unsize)) 51:78-51:81: @0[17]: _14 = &_1 51:5-51:83: @0[18]: _13 = (move _14,) -51:5-51:83: @0[20]: FakeRead(ForMatchedPlace, _13) +51:5-51:83: @0[20]: FakeRead(ForMatchedPlace(None), _13) 51:5-51:83: @0[22]: _15 = (_13.0: &T) 51:5-51:83: @0[25]: _17 = &(*_15) 51:5-51:83: @0[27]: _18 = <T as std::fmt::Debug>::fmt as for<'r, 's, 't0> fn(&'r T, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) @@ -115,7 +115,7 @@ 51:14-51:76: @0[9]: _5 = move _6 as &[&str] (Pointer(Unsize)) 51:78-51:81: @0[17]: _14 = &_1 51:5-51:83: @0[18]: _13 = (move _14,) -51:5-51:83: @0[20]: FakeRead(ForMatchedPlace, _13) +51:5-51:83: @0[20]: FakeRead(ForMatchedPlace(None), _13) 51:5-51:83: @0[22]: _15 = (_13.0: &T) 51:5-51:83: @0[25]: _17 = &(*_15) 51:5-51:83: @0[27]: _18 = <T as std::fmt::Debug>::fmt as for<'r, 's, 't0> fn(&'r T, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)) diff --git a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.used_inline_crate/used_inline_crate.used_function.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.used_inline_crate/used_inline_crate.used_function.-------.InstrumentCoverage.0.html index d722d9f46ecff..240325238a303 100644 --- a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.used_inline_crate/used_inline_crate.used_function.-------.InstrumentCoverage.0.html +++ b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.used_inline_crate/used_inline_crate.used_function.-------.InstrumentCoverage.0.html @@ -77,25 +77,25 @@ 11:19-11:35: @1[0]: _3 = &_4 11:19-11:41: @1.Call: _2 = <std::env::Args as std::iter::ExactSizeIterator>::len(move _3) -> [return: bb2, unwind: bb8] 11:19-11:46: @2[1]: _1 = Eq(move _2, const 1_usize) -11:9-11:16: @2[3]: FakeRead(ForLet, _1) +11:9-11:16: @2[3]: FakeRead(ForLet(None), _1) 12:25-12:26: @3[2]: _5 = const 0_i32 -12:9-12:22: @3[3]: FakeRead(ForLet, _5) +12:9-12:22: @3[3]: FakeRead(ForLet(None), _5) 13:8-13:15: @3[6]: _7 = _1">@0,1,2,3⦊is_true = std::env::args().len() == 1; let mut countdown = 0; if is_true⦉@0,1,2,3 @4⦊{ @0,1,2,3⦊is_true = std::env::args().len() == 1; let mut countdown = 0; if is_true⦉@0,1,2,3 @4⦊{ @0⦊fn main() { +2:9-2:12: @0[2]: FakeRead(ForLet(None), _1)">@0⦊fn main() { let num = 9⦉@0; +2:9-2:12: @0[2]: FakeRead(ForLet(None), _1)"> let num = 9⦉@0; while @1,2⦊num >= 10⦉@1,2 @3,5⦊{ +3:11-3:20: @2[5]: FakeRead(ForMatchedPlace(None), _3)">@1,2⦊num >= 10⦉@1,2 @3,5⦊{ }⦉@3,5 }@4⦊‸⦉@4
diff --git a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.while_early_ret/while_early_ret.main.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.while_early_ret/while_early_ret.main.-------.InstrumentCoverage.0.html index fcb5418e1d0cf..2a545efb855cb 100644 --- a/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.while_early_ret/while_early_ret.main.-------.InstrumentCoverage.0.html +++ b/src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump.while_early_ret/while_early_ret.main.-------.InstrumentCoverage.0.html @@ -70,19 +70,19 @@
@0⦊fn main() -> Result<(),u8> { +5:9-5:22: @0[2]: FakeRead(ForLet(None), _1)">@0⦊fn main() -> Result<(),u8> { let mut countdown = 10⦉@0; +5:9-5:22: @0[2]: FakeRead(ForLet(None), _1)"> let mut countdown = 10⦉@0; while @1,2⦊countdown +7:9-9:10: @2[5]: FakeRead(ForMatchedPlace(None), _4)">@1,2⦊countdown > +7:9-9:10: @2[5]: FakeRead(ForMatchedPlace(None), _4)"> > 0⦉@1,2 +7:9-9:10: @2[5]: FakeRead(ForMatchedPlace(None), _4)"> 0⦉@1,2 { if @0,1,2⦊fn main() ⦉@0,1,2{ - let @0,1,2⦊mut generator⦉@0,1,2 = || { + let @0,1,2⦊mut generator⦉@0,1,2 = || { yield 1; return "foo" }; @@ -79,13 +79,13 @@ 13:11-13:35: @0.Call: _4 = std::pin::Pin::<&mut [generator@../coverage/yield.rs:8:25: 11:6 {i32, ()}]>::new(move _5) -> [return: bb1, unwind: bb26] 13:43-13:45: @1[2]: _6 = () 13:11-13:46: @1.Call: _3 = <[generator@../coverage/yield.rs:8:25: 11:6 {i32, ()}] as std::ops::Generator>::resume(move _4, move _6) -> [return: bb2, unwind: bb26] -13:11-13:46: @2[2]: FakeRead(ForMatchedPlace, _3) +13:11-13:46: @2[2]: FakeRead(ForMatchedPlace(None), _3) 14:9-14:35: @2[3]: _7 = discriminant(_3)">@0,1,2⦊Pin::new(&mut generator).resume(()) { GeneratorState::Yielded(1)⦉@0,1,2 => @4,6,7,8⦊{}⦉@4,6,7,8 _ => @5⦊panic!("unexpected value from resume")⦉@5, } @@ -93,12 +93,12 @@ 17:11-17:35: @6.Call: _11 = std::pin::Pin::<&mut [generator@../coverage/yield.rs:8:25: 11:6 {i32, ()}]>::new(move _12) -> [return: bb7, unwind: bb26] 17:43-17:45: @7[2]: _13 = () 17:11-17:46: @7.Call: _10 = <[generator@../coverage/yield.rs:8:25: 11:6 {i32, ()}] as std::ops::Generator>::resume(move _11, move _13) -> [return: bb8, unwind: bb26] -17:11-17:46: @8[2]: FakeRead(ForMatchedPlace, _10)">@4,6,7,8⦊Pin::new(&mut generator).resume(())⦉@4,6,7,8 { +17:11-17:46: @8[2]: FakeRead(ForMatchedPlace(None), _10)">@4,6,7,8⦊Pin::new(&mut generator).resume(())⦉@4,6,7,8 { GeneratorState::Complete(@10,11⦊"foo"⦉@10,11) => @12,13,14,15⦊{}⦉@12,13,14,15 _ => @9⦊panic!("unexpected value from resume")⦉@9, } - let @12,13,14,15⦊mut generator⦉@12,13,14,15 = || { + let @12,13,14,15⦊mut generator⦉@12,13,14,15 = || { yield 1; yield 2; yield 3; @@ -109,13 +109,13 @@ 29:11-29:35: @13.Call: _20 = std::pin::Pin::<&mut [generator@../coverage/yield.rs:22:25: 27:6 {i32, ()}]>::new(move _21) -> [return: bb14, unwind: bb26] 29:43-29:45: @14[2]: _22 = () 29:11-29:46: @14.Call: _19 = <[generator@../coverage/yield.rs:22:25: 27:6 {i32, ()}] as std::ops::Generator>::resume(move _20, move _22) -> [return: bb15, unwind: bb26] -29:11-29:46: @15[2]: FakeRead(ForMatchedPlace, _19) +29:11-29:46: @15[2]: FakeRead(ForMatchedPlace(None), _19) 30:9-30:35: @15[3]: _23 = discriminant(_19)">@12,13,14,15⦊Pin::new(&mut generator).resume(()) { GeneratorState::Yielded(1)⦉@12,13,14,15 => @17,19,20,21⦊{}⦉@17,19,20,21 _ => @18⦊panic!("unexpected value from resume")⦉@18, } @@ -123,13 +123,13 @@ 33:11-33:35: @19.Call: _26 = std::pin::Pin::<&mut [generator@../coverage/yield.rs:22:25: 27:6 {i32, ()}]>::new(move _27) -> [return: bb20, unwind: bb26] 33:43-33:45: @20[2]: _28 = () 33:11-33:46: @20.Call: _25 = <[generator@../coverage/yield.rs:22:25: 27:6 {i32, ()}] as std::ops::Generator>::resume(move _26, move _28) -> [return: bb21, unwind: bb26] -33:11-33:46: @21[2]: FakeRead(ForMatchedPlace, _25) +33:11-33:46: @21[2]: FakeRead(ForMatchedPlace(None), _25) 34:9-34:35: @21[3]: _29 = discriminant(_25)">@17,19,20,21⦊Pin::new(&mut generator).resume(()) { GeneratorState::Yielded(2)⦉@17,19,20,21 => @23,25⦊{}⦉@23,25 _ => @24⦊panic!("unexpected value from resume")⦉@24, } diff --git a/src/test/ui/associated-types/defaults-suitability.stderr b/src/test/ui/associated-types/defaults-suitability.stderr index 274d09fd09c86..af4e6f0a5c161 100644 --- a/src/test/ui/associated-types/defaults-suitability.stderr +++ b/src/test/ui/associated-types/defaults-suitability.stderr @@ -31,8 +31,8 @@ LL | type Bar: Clone = Vec; = note: required because of the requirements on the impl of `Clone` for `Vec` help: consider restricting type parameter `T` | -LL | trait Foo { - | ^^^^^^^ +LL | trait Foo { + | ^^^^^^^^^^^^^^^^^^^ error[E0277]: the trait bound `(): Foo` is not satisfied --> $DIR/defaults-suitability.rs:34:5 @@ -99,8 +99,8 @@ LL | type Baz = T; | help: consider further restricting type parameter `T` | -LL | Self::Baz: Clone, T: Clone - | ^^^^^^^^^^ +LL | Self::Baz: Clone, T: std::clone::Clone + | ^^^^^^^^^^^^^^^^^^^^^^ error: aborting due to 8 previous errors diff --git a/src/test/ui/associated-types/issue-27675-unchecked-bounds.stderr b/src/test/ui/associated-types/issue-27675-unchecked-bounds.stderr index 02396bd00a59d..b6122bd54d162 100644 --- a/src/test/ui/associated-types/issue-27675-unchecked-bounds.stderr +++ b/src/test/ui/associated-types/issue-27675-unchecked-bounds.stderr @@ -9,8 +9,8 @@ LL | copy::>(t) | help: consider restricting type parameter `T` | -LL | pub fn copy_any(t: &T) -> T { - | ^^^^^^ +LL | pub fn copy_any(t: &T) -> T { + | ^^^^^^^^^^^^^^^^^^^ error: aborting due to previous error diff --git a/src/test/ui/associated-types/issue-43784-associated-type.stderr b/src/test/ui/associated-types/issue-43784-associated-type.stderr index d5105ae3b5815..0e653a7d3b22f 100644 --- a/src/test/ui/associated-types/issue-43784-associated-type.stderr +++ b/src/test/ui/associated-types/issue-43784-associated-type.stderr @@ -9,8 +9,8 @@ LL | type Assoc = T; | help: consider restricting type parameter `T` | -LL | impl Complete for T { - | ^^^^^^ +LL | impl Complete for T { + | ^^^^^^^^^^^^^^^^^^^ error: aborting due to previous error diff --git a/src/test/ui/async-await/issue-70818.stderr b/src/test/ui/async-await/issue-70818.stderr index 11fca2dd8ef4c..5f39cf6dde125 100644 --- a/src/test/ui/async-await/issue-70818.stderr +++ b/src/test/ui/async-await/issue-70818.stderr @@ -11,8 +11,8 @@ LL | async { (ty, ty1) } | ^^^ has type `U` which is not `Send` help: consider restricting type parameter `U` | -LL | fn foo(ty: T, ty1: U) -> impl Future + Send { - | ^^^^^^ +LL | fn foo(ty: T, ty1: U) -> impl Future + Send { + | ^^^^^^^^^^^^^^^^^^^ error: aborting due to previous error diff --git a/src/test/ui/bad/bad-method-typaram-kind.stderr b/src/test/ui/bad/bad-method-typaram-kind.stderr index 5b68d97a9ea55..fd3999ae6fbec 100644 --- a/src/test/ui/bad/bad-method-typaram-kind.stderr +++ b/src/test/ui/bad/bad-method-typaram-kind.stderr @@ -6,8 +6,8 @@ LL | 1.bar::(); | help: consider further restricting this bound | -LL | fn foo() { - | ^^^^^^ +LL | fn foo() { + | ^^^^^^^^^^^^^^^^^^^ error: aborting due to previous error diff --git a/src/test/ui/bound-suggestions.fixed b/src/test/ui/bound-suggestions.fixed index be61b7dda256a..31fdd2b67e294 100644 --- a/src/test/ui/bound-suggestions.fixed +++ b/src/test/ui/bound-suggestions.fixed @@ -5,37 +5,37 @@ use std::fmt::Debug; // Rustfix should add this, or use `std::fmt::Debug` instead. #[allow(dead_code)] -fn test_impl(t: impl Sized + Debug) { +fn test_impl(t: impl Sized + std::fmt::Debug) { println!("{:?}", t); //~^ ERROR doesn't implement } #[allow(dead_code)] -fn test_no_bounds(t: T) { +fn test_no_bounds(t: T) { println!("{:?}", t); //~^ ERROR doesn't implement } #[allow(dead_code)] -fn test_one_bound(t: T) { +fn test_one_bound(t: T) { println!("{:?}", t); //~^ ERROR doesn't implement } #[allow(dead_code)] -fn test_no_bounds_where(x: X, y: Y) where X: std::fmt::Debug, Y: Debug { +fn test_no_bounds_where(x: X, y: Y) where X: std::fmt::Debug, Y: std::fmt::Debug { println!("{:?} {:?}", x, y); //~^ ERROR doesn't implement } #[allow(dead_code)] -fn test_one_bound_where(x: X) where X: Sized + Debug { +fn test_one_bound_where(x: X) where X: Sized + std::fmt::Debug { println!("{:?}", x); //~^ ERROR doesn't implement } #[allow(dead_code)] -fn test_many_bounds_where(x: X) where X: Sized, X: Sized, X: Debug { +fn test_many_bounds_where(x: X) where X: Sized, X: Sized, X: std::fmt::Debug { println!("{:?}", x); //~^ ERROR doesn't implement } diff --git a/src/test/ui/bound-suggestions.stderr b/src/test/ui/bound-suggestions.stderr index 12e67e90265ab..ebf43bdb2717c 100644 --- a/src/test/ui/bound-suggestions.stderr +++ b/src/test/ui/bound-suggestions.stderr @@ -8,8 +8,8 @@ LL | println!("{:?}", t); = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) help: consider further restricting this bound | -LL | fn test_impl(t: impl Sized + Debug) { - | ^^^^^^^ +LL | fn test_impl(t: impl Sized + std::fmt::Debug) { + | ^^^^^^^^^^^^^^^^^ error[E0277]: `T` doesn't implement `Debug` --> $DIR/bound-suggestions.rs:15:22 @@ -21,8 +21,8 @@ LL | println!("{:?}", t); = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) help: consider restricting type parameter `T` | -LL | fn test_no_bounds(t: T) { - | ^^^^^^^ +LL | fn test_no_bounds(t: T) { + | ^^^^^^^^^^^^^^^^^ error[E0277]: `T` doesn't implement `Debug` --> $DIR/bound-suggestions.rs:21:22 @@ -34,8 +34,8 @@ LL | println!("{:?}", t); = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) help: consider further restricting this bound | -LL | fn test_one_bound(t: T) { - | ^^^^^^^ +LL | fn test_one_bound(t: T) { + | ^^^^^^^^^^^^^^^^^ error[E0277]: `Y` doesn't implement `Debug` --> $DIR/bound-suggestions.rs:27:30 @@ -47,8 +47,8 @@ LL | println!("{:?} {:?}", x, y); = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) help: consider further restricting type parameter `Y` | -LL | fn test_no_bounds_where(x: X, y: Y) where X: std::fmt::Debug, Y: Debug { - | ^^^^^^^^^^ +LL | fn test_no_bounds_where(x: X, y: Y) where X: std::fmt::Debug, Y: std::fmt::Debug { + | ^^^^^^^^^^^^^^^^^^^^ error[E0277]: `X` doesn't implement `Debug` --> $DIR/bound-suggestions.rs:33:22 @@ -60,8 +60,8 @@ LL | println!("{:?}", x); = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) help: consider further restricting this bound | -LL | fn test_one_bound_where(x: X) where X: Sized + Debug { - | ^^^^^^^ +LL | fn test_one_bound_where(x: X) where X: Sized + std::fmt::Debug { + | ^^^^^^^^^^^^^^^^^ error[E0277]: `X` doesn't implement `Debug` --> $DIR/bound-suggestions.rs:39:22 @@ -73,8 +73,8 @@ LL | println!("{:?}", x); = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) help: consider further restricting type parameter `X` | -LL | fn test_many_bounds_where(x: X) where X: Sized, X: Sized, X: Debug { - | ^^^^^^^^^^ +LL | fn test_many_bounds_where(x: X) where X: Sized, X: Sized, X: std::fmt::Debug { + | ^^^^^^^^^^^^^^^^^^^^ error[E0277]: the size for values of type `Self` cannot be known at compilation time --> $DIR/bound-suggestions.rs:44:46 diff --git a/src/test/ui/builtin-superkinds/builtin-superkinds-double-superkind.stderr b/src/test/ui/builtin-superkinds/builtin-superkinds-double-superkind.stderr index 7e8ac113b4871..7ff986ec38109 100644 --- a/src/test/ui/builtin-superkinds/builtin-superkinds-double-superkind.stderr +++ b/src/test/ui/builtin-superkinds/builtin-superkinds-double-superkind.stderr @@ -10,8 +10,8 @@ LL | impl Foo for (T,) { } = note: required because it appears within the type `(T,)` help: consider further restricting this bound | -LL | impl Foo for (T,) { } - | ^^^^^^ +LL | impl Foo for (T,) { } + | ^^^^^^^^^^^^^^^^^^^ error[E0277]: `T` cannot be shared between threads safely --> $DIR/builtin-superkinds-double-superkind.rs:9:16 @@ -25,8 +25,8 @@ LL | impl Foo for (T,T) { } = note: required because it appears within the type `(T, T)` help: consider further restricting this bound | -LL | impl Foo for (T,T) { } - | ^^^^^^ +LL | impl Foo for (T,T) { } + | ^^^^^^^^^^^^^^^^^^^ error: aborting due to 2 previous errors diff --git a/src/test/ui/builtin-superkinds/builtin-superkinds-in-metadata.stderr b/src/test/ui/builtin-superkinds/builtin-superkinds-in-metadata.stderr index 2b4b6e548b881..133508d39c105 100644 --- a/src/test/ui/builtin-superkinds/builtin-superkinds-in-metadata.stderr +++ b/src/test/ui/builtin-superkinds/builtin-superkinds-in-metadata.stderr @@ -12,8 +12,8 @@ LL | pub trait RequiresRequiresShareAndSend : RequiresShare + Send { } = note: required because it appears within the type `X` help: consider further restricting this bound | -LL | impl RequiresRequiresShareAndSend for X { } - | ^^^^^^ +LL | impl RequiresRequiresShareAndSend for X { } + | ^^^^^^^^^^^^^^^^^^^ error: aborting due to previous error diff --git a/src/test/ui/builtin-superkinds/builtin-superkinds-typaram-not-send.stderr b/src/test/ui/builtin-superkinds/builtin-superkinds-typaram-not-send.stderr index ff2cd1c4c8c75..ad80b3fa8d11f 100644 --- a/src/test/ui/builtin-superkinds/builtin-superkinds-typaram-not-send.stderr +++ b/src/test/ui/builtin-superkinds/builtin-superkinds-typaram-not-send.stderr @@ -9,8 +9,8 @@ LL | impl Foo for T { } | help: consider further restricting this bound | -LL | impl Foo for T { } - | ^^^^^^ +LL | impl Foo for T { } + | ^^^^^^^^^^^^^^^^^^^ error: aborting due to previous error diff --git a/src/test/ui/closures/closure-bounds-cant-promote-superkind-in-struct.stderr b/src/test/ui/closures/closure-bounds-cant-promote-superkind-in-struct.stderr index 48f18b1ebe957..273eae995538a 100644 --- a/src/test/ui/closures/closure-bounds-cant-promote-superkind-in-struct.stderr +++ b/src/test/ui/closures/closure-bounds-cant-promote-superkind-in-struct.stderr @@ -9,8 +9,8 @@ LL | fn foo(blk: F) -> X where F: FnOnce() + 'static { | help: consider further restricting this bound | -LL | fn foo(blk: F) -> X where F: FnOnce() + 'static + Send { - | ^^^^^^ +LL | fn foo(blk: F) -> X where F: FnOnce() + 'static + std::marker::Send { + | ^^^^^^^^^^^^^^^^^^^ error: aborting due to previous error diff --git a/src/test/ui/closures/closure-bounds-subtype.stderr b/src/test/ui/closures/closure-bounds-subtype.stderr index d649eeccb8cc9..7df29d5a098a0 100644 --- a/src/test/ui/closures/closure-bounds-subtype.stderr +++ b/src/test/ui/closures/closure-bounds-subtype.stderr @@ -9,8 +9,8 @@ LL | take_const_owned(f); | help: consider further restricting this bound | -LL | fn give_owned(f: F) where F: FnOnce() + Send + Sync { - | ^^^^^^ +LL | fn give_owned(f: F) where F: FnOnce() + Send + std::marker::Sync { + | ^^^^^^^^^^^^^^^^^^^ error: aborting due to previous error diff --git a/src/test/ui/const-generics/const-argument-if-length.full.stderr b/src/test/ui/const-generics/const-argument-if-length.full.stderr index 5dca01f0dc078..c6088e665a232 100644 --- a/src/test/ui/const-generics/const-argument-if-length.full.stderr +++ b/src/test/ui/const-generics/const-argument-if-length.full.stderr @@ -2,7 +2,7 @@ error[E0277]: the size for values of type `T` cannot be known at compilation tim --> $DIR/const-argument-if-length.rs:7:28 | LL | pub const fn is_zst() -> usize { - | - this type parameter needs to be `Sized` + | - this type parameter needs to be `std::marker::Sized` LL | if std::mem::size_of::() == 0 { | ^ doesn't have a size known at compile-time | @@ -15,7 +15,7 @@ error[E0277]: the size for values of type `T` cannot be known at compilation tim --> $DIR/const-argument-if-length.rs:16:12 | LL | pub struct AtLeastByte { - | - this type parameter needs to be `Sized` + | - this type parameter needs to be `std::marker::Sized` LL | value: T, | ^ doesn't have a size known at compile-time | diff --git a/src/test/ui/const-generics/const-argument-if-length.min.stderr b/src/test/ui/const-generics/const-argument-if-length.min.stderr index ea177c1974619..bc06e8d7fb123 100644 --- a/src/test/ui/const-generics/const-argument-if-length.min.stderr +++ b/src/test/ui/const-generics/const-argument-if-length.min.stderr @@ -11,7 +11,7 @@ error[E0277]: the size for values of type `T` cannot be known at compilation tim --> $DIR/const-argument-if-length.rs:16:12 | LL | pub struct AtLeastByte { - | - this type parameter needs to be `Sized` + | - this type parameter needs to be `std::marker::Sized` LL | value: T, | ^ doesn't have a size known at compile-time | diff --git a/src/test/ui/const-generics/issues/issue-61336-2.full.stderr b/src/test/ui/const-generics/issues/issue-61336-2.full.stderr index 9f8e68d211dec..ef0cafcb9bb7c 100644 --- a/src/test/ui/const-generics/issues/issue-61336-2.full.stderr +++ b/src/test/ui/const-generics/issues/issue-61336-2.full.stderr @@ -16,8 +16,8 @@ LL | [x; { N }] = note: the `Copy` trait is required because the repeated element will be copied help: consider restricting type parameter `T` | -LL | fn g(x: T) -> [T; N] { - | ^^^^^^ +LL | fn g(x: T) -> [T; N] { + | ^^^^^^^^^^^^^^^^^^^ error: aborting due to previous error; 1 warning emitted diff --git a/src/test/ui/const-generics/issues/issue-61336-2.min.stderr b/src/test/ui/const-generics/issues/issue-61336-2.min.stderr index 82d17a87e0af8..e5fe50513aaf7 100644 --- a/src/test/ui/const-generics/issues/issue-61336-2.min.stderr +++ b/src/test/ui/const-generics/issues/issue-61336-2.min.stderr @@ -7,8 +7,8 @@ LL | [x; { N }] = note: the `Copy` trait is required because the repeated element will be copied help: consider restricting type parameter `T` | -LL | fn g(x: T) -> [T; N] { - | ^^^^^^ +LL | fn g(x: T) -> [T; N] { + | ^^^^^^^^^^^^^^^^^^^ error: aborting due to previous error diff --git a/src/test/ui/const-generics/issues/issue-61336.full.stderr b/src/test/ui/const-generics/issues/issue-61336.full.stderr index 974e2af6fd2cf..fcfd39387c293 100644 --- a/src/test/ui/const-generics/issues/issue-61336.full.stderr +++ b/src/test/ui/const-generics/issues/issue-61336.full.stderr @@ -16,8 +16,8 @@ LL | [x; N] = note: the `Copy` trait is required because the repeated element will be copied help: consider restricting type parameter `T` | -LL | fn g(x: T) -> [T; N] { - | ^^^^^^ +LL | fn g(x: T) -> [T; N] { + | ^^^^^^^^^^^^^^^^^^^ error: aborting due to previous error; 1 warning emitted diff --git a/src/test/ui/const-generics/issues/issue-61336.min.stderr b/src/test/ui/const-generics/issues/issue-61336.min.stderr index 19c7153582cb9..91580313e1e83 100644 --- a/src/test/ui/const-generics/issues/issue-61336.min.stderr +++ b/src/test/ui/const-generics/issues/issue-61336.min.stderr @@ -7,8 +7,8 @@ LL | [x; N] = note: the `Copy` trait is required because the repeated element will be copied help: consider restricting type parameter `T` | -LL | fn g(x: T) -> [T; N] { - | ^^^^^^ +LL | fn g(x: T) -> [T; N] { + | ^^^^^^^^^^^^^^^^^^^ error: aborting due to previous error diff --git a/src/test/ui/dst/dst-object-from-unsized-type.stderr b/src/test/ui/dst/dst-object-from-unsized-type.stderr index 49940112a9f63..2d12265df98ed 100644 --- a/src/test/ui/dst/dst-object-from-unsized-type.stderr +++ b/src/test/ui/dst/dst-object-from-unsized-type.stderr @@ -2,7 +2,7 @@ error[E0277]: the size for values of type `T` cannot be known at compilation tim --> $DIR/dst-object-from-unsized-type.rs:8:23 | LL | fn test1(t: &T) { - | - this type parameter needs to be `Sized` + | - this type parameter needs to be `std::marker::Sized` LL | let u: &dyn Foo = t; | ^ doesn't have a size known at compile-time | @@ -12,7 +12,7 @@ error[E0277]: the size for values of type `T` cannot be known at compilation tim --> $DIR/dst-object-from-unsized-type.rs:13:23 | LL | fn test2(t: &T) { - | - this type parameter needs to be `Sized` + | - this type parameter needs to be `std::marker::Sized` LL | let v: &dyn Foo = t as &dyn Foo; | ^ doesn't have a size known at compile-time | diff --git a/src/test/ui/feature-gates/feature-gate-generic_associated_types.stderr b/src/test/ui/feature-gates/feature-gate-generic_associated_types.stderr index 266008cc0def4..4afbde5021f91 100644 --- a/src/test/ui/feature-gates/feature-gate-generic_associated_types.stderr +++ b/src/test/ui/feature-gates/feature-gate-generic_associated_types.stderr @@ -69,8 +69,8 @@ LL | type Pointer2 = Box; | help: consider restricting type parameter `U32` | -LL | type Pointer2 = Box; - | ^^^^^^^ +LL | type Pointer2 = Box; + | ^^^^^^^^^^^^^^^^^^^ error: aborting due to 8 previous errors diff --git a/src/test/ui/generic-associated-types/impl_bounds.stderr b/src/test/ui/generic-associated-types/impl_bounds.stderr index 645d292714562..e3d3de8bf9417 100644 --- a/src/test/ui/generic-associated-types/impl_bounds.stderr +++ b/src/test/ui/generic-associated-types/impl_bounds.stderr @@ -51,8 +51,8 @@ LL | type C where Self: Copy = String; = note: the requirement `Fooy: Copy` appears on the associated impl type but not on the corresponding associated trait type help: consider restricting type parameter `T` | -LL | impl Foo for Fooy { - | ^^^^^^ +LL | impl Foo for Fooy { + | ^^^^^^^^^^^^^^^^^^^ error: aborting due to 4 previous errors diff --git a/src/test/ui/generic-associated-types/issue-68641-check-gat-bounds.stderr b/src/test/ui/generic-associated-types/issue-68641-check-gat-bounds.stderr index b380f0da2ea40..c92800c3746ad 100644 --- a/src/test/ui/generic-associated-types/issue-68641-check-gat-bounds.stderr +++ b/src/test/ui/generic-associated-types/issue-68641-check-gat-bounds.stderr @@ -18,8 +18,8 @@ LL | type Item<'a> = T; | help: consider restricting type parameter `T` | -LL | impl UnsafeCopy for T { - | ^^^^^^ +LL | impl UnsafeCopy for T { + | ^^^^^^^^^^^^^^^^^^^ error: aborting due to previous error; 1 warning emitted diff --git a/src/test/ui/generic-associated-types/issue-68642-broken-llvm-ir.stderr b/src/test/ui/generic-associated-types/issue-68642-broken-llvm-ir.stderr index 61950478c32a8..e44547b10c17b 100644 --- a/src/test/ui/generic-associated-types/issue-68642-broken-llvm-ir.stderr +++ b/src/test/ui/generic-associated-types/issue-68642-broken-llvm-ir.stderr @@ -19,8 +19,8 @@ LL | type F<'a> = Self; = note: wrap the `T` in a closure with no arguments: `|| { /* code */ }` help: consider restricting type parameter `T` | -LL | impl> Fun for T { - | ^^^^^^^^ +LL | impl> Fun for T { + | ^^^^^^^^^^^^^^^^^^ error: aborting due to previous error; 1 warning emitted diff --git a/src/test/ui/generic-associated-types/issue-68643-broken-mir.stderr b/src/test/ui/generic-associated-types/issue-68643-broken-mir.stderr index 13980618987be..fd0b4733d9359 100644 --- a/src/test/ui/generic-associated-types/issue-68643-broken-mir.stderr +++ b/src/test/ui/generic-associated-types/issue-68643-broken-mir.stderr @@ -19,8 +19,8 @@ LL | type F<'a> = Self; = note: wrap the `T` in a closure with no arguments: `|| { /* code */ }` help: consider restricting type parameter `T` | -LL | impl> Fun for T { - | ^^^^^^^^ +LL | impl> Fun for T { + | ^^^^^^^^^^^^^^^^^^ error: aborting due to previous error; 1 warning emitted diff --git a/src/test/ui/generic-associated-types/issue-68644-codegen-selection.stderr b/src/test/ui/generic-associated-types/issue-68644-codegen-selection.stderr index 8112425146959..0c23c870f0106 100644 --- a/src/test/ui/generic-associated-types/issue-68644-codegen-selection.stderr +++ b/src/test/ui/generic-associated-types/issue-68644-codegen-selection.stderr @@ -19,8 +19,8 @@ LL | type F<'a> = Self; = note: wrap the `T` in a closure with no arguments: `|| { /* code */ }` help: consider restricting type parameter `T` | -LL | impl> Fun for T { - | ^^^^^^^^ +LL | impl> Fun for T { + | ^^^^^^^^^^^^^^^^^^ error: aborting due to previous error; 1 warning emitted diff --git a/src/test/ui/generic-associated-types/issue-68645-codegen-fulfillment.stderr b/src/test/ui/generic-associated-types/issue-68645-codegen-fulfillment.stderr index 22f50b3949828..85d8d3f8e936e 100644 --- a/src/test/ui/generic-associated-types/issue-68645-codegen-fulfillment.stderr +++ b/src/test/ui/generic-associated-types/issue-68645-codegen-fulfillment.stderr @@ -19,8 +19,8 @@ LL | type F<'a> = Self; = note: wrap the `T` in a closure with no arguments: `|| { /* code */ }` help: consider restricting type parameter `T` | -LL | impl> Fun for T { - | ^^^^^^^^ +LL | impl> Fun for T { + | ^^^^^^^^^^^^^^^^^^ error: aborting due to previous error; 1 warning emitted diff --git a/src/test/ui/generic-associated-types/issue-74824.stderr b/src/test/ui/generic-associated-types/issue-74824.stderr index 34a2c1932ebcc..7a7b5fd4f1c55 100644 --- a/src/test/ui/generic-associated-types/issue-74824.stderr +++ b/src/test/ui/generic-associated-types/issue-74824.stderr @@ -19,8 +19,8 @@ LL | type Copy: Copy = Box; = note: required because of the requirements on the impl of `Clone` for `Box` help: consider restricting type parameter `T` | -LL | type Copy: Copy = Box; - | ^^^^^^^ +LL | type Copy: Copy = Box; + | ^^^^^^^^^^^^^^^^^^^ error: aborting due to 2 previous errors diff --git a/src/test/ui/impl-trait/issue-55872-1.full_tait.stderr b/src/test/ui/impl-trait/issue-55872-1.full_tait.stderr index 5195333884a83..67a500f34d8e7 100644 --- a/src/test/ui/impl-trait/issue-55872-1.full_tait.stderr +++ b/src/test/ui/impl-trait/issue-55872-1.full_tait.stderr @@ -25,8 +25,8 @@ LL | type E = impl Copy; = note: required because it appears within the type `(S, T)` help: consider further restricting this bound | -LL | impl Bar for S { - | ^^^^^^ +LL | impl Bar for S { + | ^^^^^^^^^^^^^^^^^^^ error[E0277]: the trait bound `T: Copy` is not satisfied in `(S, T)` --> $DIR/issue-55872-1.rs:14:14 @@ -37,8 +37,8 @@ LL | type E = impl Copy; = note: required because it appears within the type `(S, T)` help: consider further restricting this bound | -LL | fn foo() -> Self::E { - | ^^^^^^ +LL | fn foo() -> Self::E { + | ^^^^^^^^^^^^^^^^^^^ error: type parameter `T` is part of concrete type but not used in parameter list for the `impl Trait` type alias --> $DIR/issue-55872-1.rs:18:37 diff --git a/src/test/ui/impl-trait/issue-55872-1.min_tait.stderr b/src/test/ui/impl-trait/issue-55872-1.min_tait.stderr index 26fc200c2a2d5..90225d249d759 100644 --- a/src/test/ui/impl-trait/issue-55872-1.min_tait.stderr +++ b/src/test/ui/impl-trait/issue-55872-1.min_tait.stderr @@ -16,8 +16,8 @@ LL | type E = impl Copy; = note: required because it appears within the type `(S, T)` help: consider further restricting this bound | -LL | impl Bar for S { - | ^^^^^^ +LL | impl Bar for S { + | ^^^^^^^^^^^^^^^^^^^ error[E0277]: the trait bound `T: Copy` is not satisfied in `(S, T)` --> $DIR/issue-55872-1.rs:14:14 @@ -28,8 +28,8 @@ LL | type E = impl Copy; = note: required because it appears within the type `(S, T)` help: consider further restricting this bound | -LL | fn foo() -> Self::E { - | ^^^^^^ +LL | fn foo() -> Self::E { + | ^^^^^^^^^^^^^^^^^^^ error: type parameter `T` is part of concrete type but not used in parameter list for the `impl Trait` type alias --> $DIR/issue-55872-1.rs:18:37 diff --git a/src/test/ui/issues/issue-27060-2.stderr b/src/test/ui/issues/issue-27060-2.stderr index c4faecbdf2f9e..5dbcc96e87488 100644 --- a/src/test/ui/issues/issue-27060-2.stderr +++ b/src/test/ui/issues/issue-27060-2.stderr @@ -2,7 +2,7 @@ error[E0277]: the size for values of type `T` cannot be known at compilation tim --> $DIR/issue-27060-2.rs:3:11 | LL | pub struct Bad { - | - this type parameter needs to be `Sized` + | - this type parameter needs to be `std::marker::Sized` LL | data: T, | ^ doesn't have a size known at compile-time | diff --git a/src/test/ui/issues/issue-43784-supertrait.stderr b/src/test/ui/issues/issue-43784-supertrait.stderr index c73536ba97332..45a2350ddfd0e 100644 --- a/src/test/ui/issues/issue-43784-supertrait.stderr +++ b/src/test/ui/issues/issue-43784-supertrait.stderr @@ -9,8 +9,8 @@ LL | impl Complete for T {} | help: consider restricting type parameter `T` | -LL | impl Complete for T {} - | ^^^^^^ +LL | impl Complete for T {} + | ^^^^^^^^^^^^^^^^^^^ error: aborting due to previous error diff --git a/src/test/ui/kindck/kindck-impl-type-params.nll.stderr b/src/test/ui/kindck/kindck-impl-type-params.nll.stderr index b01b8258e735f..e9002ec36f43d 100644 --- a/src/test/ui/kindck/kindck-impl-type-params.nll.stderr +++ b/src/test/ui/kindck/kindck-impl-type-params.nll.stderr @@ -8,8 +8,8 @@ LL | let a = &t as &dyn Gettable; = note: required for the cast to the object type `dyn Gettable` help: consider restricting type parameter `T` | -LL | fn f(val: T) { - | ^^^^^^ +LL | fn f(val: T) { + | ^^^^^^^^^^^^^^^^^^^ error[E0277]: the trait bound `T: Copy` is not satisfied --> $DIR/kindck-impl-type-params.rs:18:13 @@ -21,8 +21,8 @@ LL | let a = &t as &dyn Gettable; = note: required for the cast to the object type `dyn Gettable` help: consider restricting type parameter `T` | -LL | fn f(val: T) { - | ^^^^^^ +LL | fn f(val: T) { + | ^^^^^^^^^^^^^^^^^^^ error[E0277]: `T` cannot be sent between threads safely --> $DIR/kindck-impl-type-params.rs:25:31 @@ -34,8 +34,8 @@ LL | let a: &dyn Gettable = &t; = note: required for the cast to the object type `dyn Gettable` help: consider restricting type parameter `T` | -LL | fn g(val: T) { - | ^^^^^^ +LL | fn g(val: T) { + | ^^^^^^^^^^^^^^^^^^^ error[E0277]: the trait bound `T: Copy` is not satisfied --> $DIR/kindck-impl-type-params.rs:25:31 @@ -47,8 +47,8 @@ LL | let a: &dyn Gettable = &t; = note: required for the cast to the object type `dyn Gettable` help: consider restricting type parameter `T` | -LL | fn g(val: T) { - | ^^^^^^ +LL | fn g(val: T) { + | ^^^^^^^^^^^^^^^^^^^ error[E0277]: the trait bound `String: Copy` is not satisfied --> $DIR/kindck-impl-type-params.rs:38:13 diff --git a/src/test/ui/kindck/kindck-impl-type-params.stderr b/src/test/ui/kindck/kindck-impl-type-params.stderr index ddf8adf3637b3..472a6bcafa273 100644 --- a/src/test/ui/kindck/kindck-impl-type-params.stderr +++ b/src/test/ui/kindck/kindck-impl-type-params.stderr @@ -8,8 +8,8 @@ LL | let a = &t as &dyn Gettable; = note: required for the cast to the object type `dyn Gettable` help: consider restricting type parameter `T` | -LL | fn f(val: T) { - | ^^^^^^ +LL | fn f(val: T) { + | ^^^^^^^^^^^^^^^^^^^ error[E0277]: the trait bound `T: Copy` is not satisfied --> $DIR/kindck-impl-type-params.rs:18:13 @@ -21,8 +21,8 @@ LL | let a = &t as &dyn Gettable; = note: required for the cast to the object type `dyn Gettable` help: consider restricting type parameter `T` | -LL | fn f(val: T) { - | ^^^^^^ +LL | fn f(val: T) { + | ^^^^^^^^^^^^^^^^^^^ error[E0277]: `T` cannot be sent between threads safely --> $DIR/kindck-impl-type-params.rs:25:31 @@ -34,8 +34,8 @@ LL | let a: &dyn Gettable = &t; = note: required for the cast to the object type `dyn Gettable` help: consider restricting type parameter `T` | -LL | fn g(val: T) { - | ^^^^^^ +LL | fn g(val: T) { + | ^^^^^^^^^^^^^^^^^^^ error[E0277]: the trait bound `T: Copy` is not satisfied --> $DIR/kindck-impl-type-params.rs:25:31 @@ -47,8 +47,8 @@ LL | let a: &dyn Gettable = &t; = note: required for the cast to the object type `dyn Gettable` help: consider restricting type parameter `T` | -LL | fn g(val: T) { - | ^^^^^^ +LL | fn g(val: T) { + | ^^^^^^^^^^^^^^^^^^^ error[E0477]: the type `&'a isize` does not fulfill the required lifetime --> $DIR/kindck-impl-type-params.rs:32:13 diff --git a/src/test/ui/phantom-auto-trait.stderr b/src/test/ui/phantom-auto-trait.stderr index 779919f9d643f..5a2ad637e4204 100644 --- a/src/test/ui/phantom-auto-trait.stderr +++ b/src/test/ui/phantom-auto-trait.stderr @@ -12,8 +12,8 @@ LL | is_zen(x) = note: required because it appears within the type `Guard<'_, T>` help: consider restricting type parameter `T` | -LL | fn not_sync(x: Guard) { - | ^^^^^^ +LL | fn not_sync(x: Guard) { + | ^^^^^^^^^^^^^^^^^^^ error[E0277]: `T` cannot be shared between threads safely --> $DIR/phantom-auto-trait.rs:26:12 @@ -30,8 +30,8 @@ LL | is_zen(x) = note: required because it appears within the type `Nested>` help: consider restricting type parameter `T` | -LL | fn nested_not_sync(x: Nested>) { - | ^^^^^^ +LL | fn nested_not_sync(x: Nested>) { + | ^^^^^^^^^^^^^^^^^^^ error: aborting due to 2 previous errors diff --git a/src/test/ui/specialization/deafult-generic-associated-type-bound.stderr b/src/test/ui/specialization/deafult-generic-associated-type-bound.stderr index b5a1877ea1931..eb5d80bc4dda6 100644 --- a/src/test/ui/specialization/deafult-generic-associated-type-bound.stderr +++ b/src/test/ui/specialization/deafult-generic-associated-type-bound.stderr @@ -28,8 +28,8 @@ LL | default type U<'a> = &'a T; = note: required because of the requirements on the impl of `PartialEq` for `&'a T` help: consider further restricting this bound | -LL | impl X for T { - | ^^^^^^^^^^^ +LL | impl X for T { + | ^^^^^^^^^^^^^^^^^^^^^ error: aborting due to previous error; 2 warnings emitted diff --git a/src/test/ui/specialization/defaultimpl/specialization-wfcheck.stderr b/src/test/ui/specialization/defaultimpl/specialization-wfcheck.stderr index 57b90c457cb77..e416f30cb415d 100644 --- a/src/test/ui/specialization/defaultimpl/specialization-wfcheck.stderr +++ b/src/test/ui/specialization/defaultimpl/specialization-wfcheck.stderr @@ -19,8 +19,8 @@ LL | default impl Foo<'static, U> for () {} | help: consider restricting type parameter `U` | -LL | default impl Foo<'static, U> for () {} - | ^^^^ +LL | default impl Foo<'static, U> for () {} + | ^^^^^^^^^^^^^^ error: aborting due to previous error; 1 warning emitted diff --git a/src/test/ui/suggestions/adt-param-with-implicit-sized-bound.stderr b/src/test/ui/suggestions/adt-param-with-implicit-sized-bound.stderr index 9437fbe61cc7e..5cb3a404037a7 100644 --- a/src/test/ui/suggestions/adt-param-with-implicit-sized-bound.stderr +++ b/src/test/ui/suggestions/adt-param-with-implicit-sized-bound.stderr @@ -5,7 +5,7 @@ LL | struct X(T); | - required by this bound in `X` ... LL | struct Struct5{ - | - this type parameter needs to be `Sized` + | - this type parameter needs to be `std::marker::Sized` LL | _t: X, | ^^^^ doesn't have a size known at compile-time | diff --git a/src/test/ui/suggestions/restrict-type-argument.stderr b/src/test/ui/suggestions/restrict-type-argument.stderr index 7a7242a6369df..33af13d943f74 100644 --- a/src/test/ui/suggestions/restrict-type-argument.stderr +++ b/src/test/ui/suggestions/restrict-type-argument.stderr @@ -9,8 +9,8 @@ LL | is_send(val); | help: consider further restricting this bound | -LL | fn use_impl_sync(val: impl Sync + Send) { - | ^^^^^^ +LL | fn use_impl_sync(val: impl Sync + std::marker::Send) { + | ^^^^^^^^^^^^^^^^^^^ error[E0277]: `S` cannot be sent between threads safely --> $DIR/restrict-type-argument.rs:8:13 @@ -23,8 +23,8 @@ LL | is_send(val); | help: consider further restricting this bound | -LL | fn use_where(val: S) where S: Sync + Send { - | ^^^^^^ +LL | fn use_where(val: S) where S: Sync + std::marker::Send { + | ^^^^^^^^^^^^^^^^^^^ error[E0277]: `S` cannot be sent between threads safely --> $DIR/restrict-type-argument.rs:12:13 @@ -37,8 +37,8 @@ LL | is_send(val); | help: consider further restricting this bound | -LL | fn use_bound(val: S) { - | ^^^^^^ +LL | fn use_bound(val: S) { + | ^^^^^^^^^^^^^^^^^^^ error[E0277]: `S` cannot be sent between threads safely --> $DIR/restrict-type-argument.rs:20:13 @@ -51,8 +51,8 @@ LL | is_send(val); | help: consider further restricting this bound | -LL | Sync + Send - | ^^^^^^ +LL | Sync + std::marker::Send + | ^^^^^^^^^^^^^^^^^^^ error[E0277]: `S` cannot be sent between threads safely --> $DIR/restrict-type-argument.rs:24:13 @@ -65,8 +65,8 @@ LL | is_send(val); | help: consider further restricting this bound | -LL | fn use_bound_and_where(val: S) where S: std::fmt::Debug + Send { - | ^^^^^^ +LL | fn use_bound_and_where(val: S) where S: std::fmt::Debug + std::marker::Send { + | ^^^^^^^^^^^^^^^^^^^ error[E0277]: `S` cannot be sent between threads safely --> $DIR/restrict-type-argument.rs:28:13 @@ -79,8 +79,8 @@ LL | is_send(val); | help: consider restricting type parameter `S` | -LL | fn use_unbound(val: S) { - | ^^^^^^ +LL | fn use_unbound(val: S) { + | ^^^^^^^^^^^^^^^^^^^ error: aborting due to 6 previous errors diff --git a/src/test/ui/trait-impl-bound-suggestions.fixed b/src/test/ui/trait-impl-bound-suggestions.fixed index db3a95f5c4f61..744e7bef04e97 100644 --- a/src/test/ui/trait-impl-bound-suggestions.fixed +++ b/src/test/ui/trait-impl-bound-suggestions.fixed @@ -10,7 +10,7 @@ struct ConstrainedStruct { } #[allow(dead_code)] -trait InsufficientlyConstrainedGeneric where X: Copy { +trait InsufficientlyConstrainedGeneric where X: std::marker::Copy { fn return_the_constrained_type(&self, x: X) -> ConstrainedStruct { //~^ ERROR the trait bound `X: Copy` is not satisfied ConstrainedStruct { x } diff --git a/src/test/ui/trait-impl-bound-suggestions.stderr b/src/test/ui/trait-impl-bound-suggestions.stderr index 3a21e9c6b2ad4..110ca79908079 100644 --- a/src/test/ui/trait-impl-bound-suggestions.stderr +++ b/src/test/ui/trait-impl-bound-suggestions.stderr @@ -9,8 +9,8 @@ LL | fn return_the_constrained_type(&self, x: X) -> ConstrainedStruct { | help: consider further restricting type parameter `X` | -LL | trait InsufficientlyConstrainedGeneric where X: Copy { - | ^^^^^^^^^^^^^ +LL | trait InsufficientlyConstrainedGeneric where X: std::marker::Copy { + | ^^^^^^^^^^^^^^^^^^^^^^^^^^ error: aborting due to previous error diff --git a/src/test/ui/traits/inductive-overflow/two-traits.stderr b/src/test/ui/traits/inductive-overflow/two-traits.stderr index d3f2931f25d47..508a12d859a62 100644 --- a/src/test/ui/traits/inductive-overflow/two-traits.stderr +++ b/src/test/ui/traits/inductive-overflow/two-traits.stderr @@ -9,8 +9,8 @@ LL | type X = Self; | help: consider further restricting this bound | -LL | impl Magic for T { - | ^^^^^^ +LL | impl Magic for T { + | ^^^^^^^^^^^^^^^^^^^ error[E0275]: overflow evaluating the requirement `*mut (): Magic` --> $DIR/two-traits.rs:20:5 diff --git a/src/test/ui/traits/suggest-where-clause.stderr b/src/test/ui/traits/suggest-where-clause.stderr index 86d589ffa9e31..efab64205f3af 100644 --- a/src/test/ui/traits/suggest-where-clause.stderr +++ b/src/test/ui/traits/suggest-where-clause.stderr @@ -2,7 +2,7 @@ error[E0277]: the size for values of type `U` cannot be known at compilation tim --> $DIR/suggest-where-clause.rs:7:20 | LL | fn check() { - | - this type parameter needs to be `Sized` + | - this type parameter needs to be `std::marker::Sized` LL | // suggest a where-clause, if needed LL | mem::size_of::(); | ^ doesn't have a size known at compile-time @@ -16,7 +16,7 @@ error[E0277]: the size for values of type `U` cannot be known at compilation tim --> $DIR/suggest-where-clause.rs:10:5 | LL | fn check() { - | - this type parameter needs to be `Sized` + | - this type parameter needs to be `std::marker::Sized` ... LL | mem::size_of::>(); | ^^^^^^^^^^^^^^^^^^^^^^^ doesn't have a size known at compile-time diff --git a/src/test/ui/type-alias-impl-trait/bounds-are-checked-2.full_tait.stderr b/src/test/ui/type-alias-impl-trait/bounds-are-checked-2.full_tait.stderr index 871ef22f3ebcf..cfb1fe9c19a8b 100644 --- a/src/test/ui/type-alias-impl-trait/bounds-are-checked-2.full_tait.stderr +++ b/src/test/ui/type-alias-impl-trait/bounds-are-checked-2.full_tait.stderr @@ -15,8 +15,8 @@ LL | type X = impl Clone; | help: consider restricting type parameter `T` | -LL | type X = impl Clone; - | ^^^^^^^ +LL | type X = impl Clone; + | ^^^^^^^^^^^^^^^^^^^ error: aborting due to previous error; 1 warning emitted diff --git a/src/test/ui/type-alias-impl-trait/bounds-are-checked-2.min_tait.stderr b/src/test/ui/type-alias-impl-trait/bounds-are-checked-2.min_tait.stderr index 20656e5e55320..735b96d5df98e 100644 --- a/src/test/ui/type-alias-impl-trait/bounds-are-checked-2.min_tait.stderr +++ b/src/test/ui/type-alias-impl-trait/bounds-are-checked-2.min_tait.stderr @@ -6,8 +6,8 @@ LL | type X = impl Clone; | help: consider restricting type parameter `T` | -LL | type X = impl Clone; - | ^^^^^^^ +LL | type X = impl Clone; + | ^^^^^^^^^^^^^^^^^^^ error: aborting due to previous error diff --git a/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use5.full_tait.stderr b/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use5.full_tait.stderr index 8a0c411c7754a..aab64e72b7bca 100644 --- a/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use5.full_tait.stderr +++ b/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use5.full_tait.stderr @@ -28,8 +28,8 @@ LL | type Two = impl Debug; = note: required because of the requirements on the impl of `Debug` for `(T, U)` help: consider restricting type parameter `T` | -LL | type Two = impl Debug; - | ^^^^^^^ +LL | type Two = impl Debug; + | ^^^^^^^^^^^^^^^^^ error[E0277]: `U` doesn't implement `Debug` --> $DIR/generic_duplicate_param_use5.rs:11:18 @@ -40,8 +40,8 @@ LL | type Two = impl Debug; = note: required because of the requirements on the impl of `Debug` for `(T, U)` help: consider restricting type parameter `U` | -LL | type Two = impl Debug; - | ^^^^^^^ +LL | type Two = impl Debug; + | ^^^^^^^^^^^^^^^^^ error: aborting due to 3 previous errors; 1 warning emitted diff --git a/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use5.min_tait.stderr b/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use5.min_tait.stderr index 35115ccb2d678..5c8c5b8977906 100644 --- a/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use5.min_tait.stderr +++ b/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use5.min_tait.stderr @@ -19,8 +19,8 @@ LL | type Two = impl Debug; = note: required because of the requirements on the impl of `Debug` for `(T, U)` help: consider restricting type parameter `T` | -LL | type Two = impl Debug; - | ^^^^^^^ +LL | type Two = impl Debug; + | ^^^^^^^^^^^^^^^^^ error[E0277]: `U` doesn't implement `Debug` --> $DIR/generic_duplicate_param_use5.rs:11:18 @@ -31,8 +31,8 @@ LL | type Two = impl Debug; = note: required because of the requirements on the impl of `Debug` for `(T, U)` help: consider restricting type parameter `U` | -LL | type Two = impl Debug; - | ^^^^^^^ +LL | type Two = impl Debug; + | ^^^^^^^^^^^^^^^^^ error: aborting due to 3 previous errors diff --git a/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use6.full_tait.stderr b/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use6.full_tait.stderr index 8f72c333e817c..a69e99bf8b05f 100644 --- a/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use6.full_tait.stderr +++ b/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use6.full_tait.stderr @@ -28,8 +28,8 @@ LL | type Two = impl Debug; = note: required because of the requirements on the impl of `Debug` for `(T, T)` help: consider restricting type parameter `T` | -LL | type Two = impl Debug; - | ^^^^^^^ +LL | type Two = impl Debug; + | ^^^^^^^^^^^^^^^^^ error: aborting due to 2 previous errors; 1 warning emitted diff --git a/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use6.min_tait.stderr b/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use6.min_tait.stderr index 922c9a7420848..a377ef2d87322 100644 --- a/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use6.min_tait.stderr +++ b/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use6.min_tait.stderr @@ -19,8 +19,8 @@ LL | type Two = impl Debug; = note: required because of the requirements on the impl of `Debug` for `(T, T)` help: consider restricting type parameter `T` | -LL | type Two = impl Debug; - | ^^^^^^^ +LL | type Two = impl Debug; + | ^^^^^^^^^^^^^^^^^ error: aborting due to 2 previous errors diff --git a/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use8.full_tait.stderr b/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use8.full_tait.stderr index a93321d4d0508..e73ac88500e03 100644 --- a/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use8.full_tait.stderr +++ b/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use8.full_tait.stderr @@ -28,8 +28,8 @@ LL | type Two = impl Debug; = note: required because of the requirements on the impl of `Debug` for `(T, u32)` help: consider restricting type parameter `T` | -LL | type Two = impl Debug; - | ^^^^^^^ +LL | type Two = impl Debug; + | ^^^^^^^^^^^^^^^^^ error: aborting due to 2 previous errors; 1 warning emitted diff --git a/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use8.min_tait.stderr b/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use8.min_tait.stderr index 25ac60799f668..d7edce7a491de 100644 --- a/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use8.min_tait.stderr +++ b/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use8.min_tait.stderr @@ -19,8 +19,8 @@ LL | type Two = impl Debug; = note: required because of the requirements on the impl of `Debug` for `(T, u32)` help: consider restricting type parameter `T` | -LL | type Two = impl Debug; - | ^^^^^^^ +LL | type Two = impl Debug; + | ^^^^^^^^^^^^^^^^^ error: aborting due to 2 previous errors diff --git a/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use9.full_tait.stderr b/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use9.full_tait.stderr index 098be7929d6f2..0b3d72d67b242 100644 --- a/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use9.full_tait.stderr +++ b/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use9.full_tait.stderr @@ -40,8 +40,8 @@ LL | type Two = impl Debug; = note: required because of the requirements on the impl of `Debug` for `(A, B, ::Bar)` help: consider restricting type parameter `A` | -LL | type Two = impl Debug; - | ^^^^^^^ +LL | type Two = impl Debug; + | ^^^^^^^^^^^^^^^^^ error[E0277]: `B` doesn't implement `Debug` --> $DIR/generic_duplicate_param_use9.rs:10:18 @@ -52,8 +52,8 @@ LL | type Two = impl Debug; = note: required because of the requirements on the impl of `Debug` for `(A, B, ::Bar)` help: consider restricting type parameter `B` | -LL | type Two = impl Debug; - | ^^^^^^^ +LL | type Two = impl Debug; + | ^^^^^^^^^^^^^^^^^ error: aborting due to 4 previous errors; 1 warning emitted diff --git a/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use9.min_tait.stderr b/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use9.min_tait.stderr index b59e10c1b06f1..fd1081d7b71de 100644 --- a/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use9.min_tait.stderr +++ b/src/test/ui/type-alias-impl-trait/generic_duplicate_param_use9.min_tait.stderr @@ -31,8 +31,8 @@ LL | type Two = impl Debug; = note: required because of the requirements on the impl of `Debug` for `(A, B, ::Bar)` help: consider restricting type parameter `A` | -LL | type Two = impl Debug; - | ^^^^^^^ +LL | type Two = impl Debug; + | ^^^^^^^^^^^^^^^^^ error[E0277]: `B` doesn't implement `Debug` --> $DIR/generic_duplicate_param_use9.rs:10:18 @@ -43,8 +43,8 @@ LL | type Two = impl Debug; = note: required because of the requirements on the impl of `Debug` for `(A, B, ::Bar)` help: consider restricting type parameter `B` | -LL | type Two = impl Debug; - | ^^^^^^^ +LL | type Two = impl Debug; + | ^^^^^^^^^^^^^^^^^ error: aborting due to 4 previous errors diff --git a/src/test/ui/type-alias-impl-trait/generic_underconstrained2.full_tait.stderr b/src/test/ui/type-alias-impl-trait/generic_underconstrained2.full_tait.stderr index ca263ba4f5b41..7ab73d24274ce 100644 --- a/src/test/ui/type-alias-impl-trait/generic_underconstrained2.full_tait.stderr +++ b/src/test/ui/type-alias-impl-trait/generic_underconstrained2.full_tait.stderr @@ -30,8 +30,8 @@ LL | fn underconstrained(_: U) -> Underconstrained { | help: consider restricting type parameter `U` | -LL | fn underconstrained(_: U) -> Underconstrained { - | ^^^^^^^ +LL | fn underconstrained(_: U) -> Underconstrained { + | ^^^^^^^^^^^^^^^^^ error[E0277]: `V` doesn't implement `Debug` --> $DIR/generic_underconstrained2.rs:21:43 @@ -44,8 +44,8 @@ LL | fn underconstrained2(_: U, _: V) -> Underconstrained2 { | help: consider restricting type parameter `V` | -LL | fn underconstrained2(_: U, _: V) -> Underconstrained2 { - | ^^^^^^^ +LL | fn underconstrained2(_: U, _: V) -> Underconstrained2 { + | ^^^^^^^^^^^^^^^^^ error: aborting due to 4 previous errors; 1 warning emitted diff --git a/src/test/ui/type-alias-impl-trait/generic_underconstrained2.min_tait.stderr b/src/test/ui/type-alias-impl-trait/generic_underconstrained2.min_tait.stderr index 6ce32f457e3ec..a4f5f4b8645b1 100644 --- a/src/test/ui/type-alias-impl-trait/generic_underconstrained2.min_tait.stderr +++ b/src/test/ui/type-alias-impl-trait/generic_underconstrained2.min_tait.stderr @@ -21,8 +21,8 @@ LL | fn underconstrained(_: U) -> Underconstrained { | help: consider restricting type parameter `U` | -LL | fn underconstrained(_: U) -> Underconstrained { - | ^^^^^^^ +LL | fn underconstrained(_: U) -> Underconstrained { + | ^^^^^^^^^^^^^^^^^ error[E0277]: `V` doesn't implement `Debug` --> $DIR/generic_underconstrained2.rs:21:43 @@ -35,8 +35,8 @@ LL | fn underconstrained2(_: U, _: V) -> Underconstrained2 { | help: consider restricting type parameter `V` | -LL | fn underconstrained2(_: U, _: V) -> Underconstrained2 { - | ^^^^^^^ +LL | fn underconstrained2(_: U, _: V) -> Underconstrained2 { + | ^^^^^^^^^^^^^^^^^ error: aborting due to 4 previous errors diff --git a/src/test/ui/type-alias-impl-trait/issue-52843.full_tait.stderr b/src/test/ui/type-alias-impl-trait/issue-52843.full_tait.stderr index 14f4f62d7a5f7..35ac0993b29ca 100644 --- a/src/test/ui/type-alias-impl-trait/issue-52843.full_tait.stderr +++ b/src/test/ui/type-alias-impl-trait/issue-52843.full_tait.stderr @@ -15,8 +15,8 @@ LL | type Foo = impl Default; | help: consider restricting type parameter `T` | -LL | type Foo = impl Default; - | ^^^^^^^^^ +LL | type Foo = impl Default; + | ^^^^^^^^^^^^^^^^^^^^^^^ error: aborting due to previous error; 1 warning emitted diff --git a/src/test/ui/type-alias-impl-trait/issue-52843.min_tait.stderr b/src/test/ui/type-alias-impl-trait/issue-52843.min_tait.stderr index 6dda27f515e79..9fb760f34c19a 100644 --- a/src/test/ui/type-alias-impl-trait/issue-52843.min_tait.stderr +++ b/src/test/ui/type-alias-impl-trait/issue-52843.min_tait.stderr @@ -6,8 +6,8 @@ LL | type Foo = impl Default; | help: consider restricting type parameter `T` | -LL | type Foo = impl Default; - | ^^^^^^^^^ +LL | type Foo = impl Default; + | ^^^^^^^^^^^^^^^^^^^^^^^ error: aborting due to previous error diff --git a/src/test/ui/type/type-check-defaults.stderr b/src/test/ui/type/type-check-defaults.stderr index d8c7f595e62ef..ddfa31cf62448 100644 --- a/src/test/ui/type/type-check-defaults.stderr +++ b/src/test/ui/type/type-check-defaults.stderr @@ -56,8 +56,8 @@ LL | trait Base: Super { } | help: consider further restricting type parameter `T` | -LL | trait Base: Super where T: Copy { } - | ^^^^^^^^^^^^^ +LL | trait Base: Super where T: std::marker::Copy { } + | ^^^^^^^^^^^^^^^^^^^^^^^^^^ error[E0277]: cannot add `u8` to `i32` --> $DIR/type-check-defaults.rs:24:66 diff --git a/src/test/ui/typeck/typeck-default-trait-impl-send-param.stderr b/src/test/ui/typeck/typeck-default-trait-impl-send-param.stderr index 4fb423b9a2c38..7398b48a238d1 100644 --- a/src/test/ui/typeck/typeck-default-trait-impl-send-param.stderr +++ b/src/test/ui/typeck/typeck-default-trait-impl-send-param.stderr @@ -9,8 +9,8 @@ LL | fn is_send() { | help: consider restricting type parameter `T` | -LL | fn foo() { - | ^^^^^^ +LL | fn foo() { + | ^^^^^^^^^^^^^^^^^^^ error: aborting due to previous error diff --git a/src/test/ui/union/union-sized-field.stderr b/src/test/ui/union/union-sized-field.stderr index cebeeb59a7829..b916bbe8ad10a 100644 --- a/src/test/ui/union/union-sized-field.stderr +++ b/src/test/ui/union/union-sized-field.stderr @@ -2,7 +2,7 @@ error[E0277]: the size for values of type `T` cannot be known at compilation tim --> $DIR/union-sized-field.rs:4:12 | LL | union Foo { - | - this type parameter needs to be `Sized` + | - this type parameter needs to be `std::marker::Sized` LL | value: T, | ^ doesn't have a size known at compile-time | @@ -21,7 +21,7 @@ error[E0277]: the size for values of type `T` cannot be known at compilation tim --> $DIR/union-sized-field.rs:9:12 | LL | struct Foo2 { - | - this type parameter needs to be `Sized` + | - this type parameter needs to be `std::marker::Sized` LL | value: T, | ^ doesn't have a size known at compile-time | @@ -40,7 +40,7 @@ error[E0277]: the size for values of type `T` cannot be known at compilation tim --> $DIR/union-sized-field.rs:15:11 | LL | enum Foo3 { - | - this type parameter needs to be `Sized` + | - this type parameter needs to be `std::marker::Sized` LL | Value(T), | ^ doesn't have a size known at compile-time | diff --git a/src/test/ui/unsized/unsized-bare-typaram.stderr b/src/test/ui/unsized/unsized-bare-typaram.stderr index b2ff3159c9591..19978ae24cacb 100644 --- a/src/test/ui/unsized/unsized-bare-typaram.stderr +++ b/src/test/ui/unsized/unsized-bare-typaram.stderr @@ -6,7 +6,7 @@ LL | fn bar() { } LL | fn foo() { bar::() } | - ^ doesn't have a size known at compile-time | | - | this type parameter needs to be `Sized` + | this type parameter needs to be `std::marker::Sized` error: aborting due to previous error diff --git a/src/test/ui/unsized/unsized-enum.stderr b/src/test/ui/unsized/unsized-enum.stderr index 3057d4789bd81..601db7d1cd983 100644 --- a/src/test/ui/unsized/unsized-enum.stderr +++ b/src/test/ui/unsized/unsized-enum.stderr @@ -7,7 +7,7 @@ LL | fn foo1() { not_sized::>() } // Hunky dory. LL | fn foo2() { not_sized::>() } | - ^^^^^^ doesn't have a size known at compile-time | | - | this type parameter needs to be `Sized` + | this type parameter needs to be `std::marker::Sized` | help: you could relax the implicit `Sized` bound on `U` if it were used through indirection like `&U` or `Box` --> $DIR/unsized-enum.rs:4:10 diff --git a/src/test/ui/unsized/unsized-enum2.stderr b/src/test/ui/unsized/unsized-enum2.stderr index 0a0896638e072..79f690e8d1a83 100644 --- a/src/test/ui/unsized/unsized-enum2.stderr +++ b/src/test/ui/unsized/unsized-enum2.stderr @@ -2,7 +2,7 @@ error[E0277]: the size for values of type `W` cannot be known at compilation tim --> $DIR/unsized-enum2.rs:23:8 | LL | enum E { - | - this type parameter needs to be `Sized` + | - this type parameter needs to be `std::marker::Sized` LL | // parameter LL | VA(W), | ^ doesn't have a size known at compile-time @@ -22,7 +22,7 @@ error[E0277]: the size for values of type `X` cannot be known at compilation tim --> $DIR/unsized-enum2.rs:25:11 | LL | enum E { - | - this type parameter needs to be `Sized` + | - this type parameter needs to be `std::marker::Sized` ... LL | VB{x: X}, | ^ doesn't have a size known at compile-time @@ -42,7 +42,7 @@ error[E0277]: the size for values of type `Y` cannot be known at compilation tim --> $DIR/unsized-enum2.rs:27:15 | LL | enum E { - | - this type parameter needs to be `Sized` + | - this type parameter needs to be `std::marker::Sized` ... LL | VC(isize, Y), | ^ doesn't have a size known at compile-time @@ -62,7 +62,7 @@ error[E0277]: the size for values of type `Z` cannot be known at compilation tim --> $DIR/unsized-enum2.rs:29:21 | LL | enum E { - | - this type parameter needs to be `Sized` + | - this type parameter needs to be `std::marker::Sized` ... LL | VD{u: isize, x: Z}, | ^ doesn't have a size known at compile-time diff --git a/src/test/ui/unsized/unsized-inherent-impl-self-type.stderr b/src/test/ui/unsized/unsized-inherent-impl-self-type.stderr index 9d8a1c67734a4..9d072eda4e81c 100644 --- a/src/test/ui/unsized/unsized-inherent-impl-self-type.stderr +++ b/src/test/ui/unsized/unsized-inherent-impl-self-type.stderr @@ -7,7 +7,7 @@ LL | LL | impl S5 { | - ^^^^^ doesn't have a size known at compile-time | | - | this type parameter needs to be `Sized` + | this type parameter needs to be `std::marker::Sized` | help: you could relax the implicit `Sized` bound on `Y` if it were used through indirection like `&Y` or `Box` --> $DIR/unsized-inherent-impl-self-type.rs:5:11 diff --git a/src/test/ui/unsized/unsized-struct.stderr b/src/test/ui/unsized/unsized-struct.stderr index 6661cf358b3ab..52cf1cbb81d7f 100644 --- a/src/test/ui/unsized/unsized-struct.stderr +++ b/src/test/ui/unsized/unsized-struct.stderr @@ -7,7 +7,7 @@ LL | fn foo1() { not_sized::>() } // Hunky dory. LL | fn foo2() { not_sized::>() } | - ^^^^^^ doesn't have a size known at compile-time | | - | this type parameter needs to be `Sized` + | this type parameter needs to be `std::marker::Sized` | help: you could relax the implicit `Sized` bound on `T` if it were used through indirection like `&T` or `Box` --> $DIR/unsized-struct.rs:4:12 @@ -26,7 +26,7 @@ LL | fn is_sized() { } LL | fn bar2() { is_sized::>() } | - ^^^^^^^^^^^^^^^^^^ doesn't have a size known at compile-time | | - | this type parameter needs to be `Sized` + | this type parameter needs to be `std::marker::Sized` | = note: required because it appears within the type `Bar` diff --git a/src/test/ui/unsized/unsized-trait-impl-self-type.stderr b/src/test/ui/unsized/unsized-trait-impl-self-type.stderr index d1b590d813307..aef0d0cbb8395 100644 --- a/src/test/ui/unsized/unsized-trait-impl-self-type.stderr +++ b/src/test/ui/unsized/unsized-trait-impl-self-type.stderr @@ -7,7 +7,7 @@ LL | LL | impl T3 for S5 { | - ^^^^^ doesn't have a size known at compile-time | | - | this type parameter needs to be `Sized` + | this type parameter needs to be `std::marker::Sized` | help: you could relax the implicit `Sized` bound on `Y` if it were used through indirection like `&Y` or `Box` --> $DIR/unsized-trait-impl-self-type.rs:8:11 diff --git a/src/test/ui/unsized/unsized-trait-impl-trait-arg.stderr b/src/test/ui/unsized/unsized-trait-impl-trait-arg.stderr index 17fe16ed4fc05..f48d4ef9f1461 100644 --- a/src/test/ui/unsized/unsized-trait-impl-trait-arg.stderr +++ b/src/test/ui/unsized/unsized-trait-impl-trait-arg.stderr @@ -7,7 +7,7 @@ LL | trait T2 { LL | impl T2 for S4 { | - ^^^^^ doesn't have a size known at compile-time | | - | this type parameter needs to be `Sized` + | this type parameter needs to be `std::marker::Sized` | help: consider relaxing the implicit `Sized` restriction | diff --git a/src/test/ui/unsized3.stderr b/src/test/ui/unsized3.stderr index 7ed43c38f1d38..ddddae4eaba57 100644 --- a/src/test/ui/unsized3.stderr +++ b/src/test/ui/unsized3.stderr @@ -2,7 +2,7 @@ error[E0277]: the size for values of type `X` cannot be known at compilation tim --> $DIR/unsized3.rs:7:13 | LL | fn f1(x: &X) { - | - this type parameter needs to be `Sized` + | - this type parameter needs to be `std::marker::Sized` LL | f2::(x); | ^ doesn't have a size known at compile-time ... @@ -18,7 +18,7 @@ error[E0277]: the size for values of type `X` cannot be known at compilation tim --> $DIR/unsized3.rs:18:13 | LL | fn f3(x: &X) { - | - this type parameter needs to be `Sized` + | - this type parameter needs to be `std::marker::Sized` LL | f4::(x); | ^ doesn't have a size known at compile-time ... @@ -37,7 +37,7 @@ LL | fn f5(x: &Y) {} | - required by this bound in `f5` ... LL | fn f8(x1: &S, x2: &S) { - | - this type parameter needs to be `Sized` + | - this type parameter needs to be `std::marker::Sized` LL | f5(x1); | ^^ doesn't have a size known at compile-time | @@ -51,7 +51,7 @@ error[E0277]: the size for values of type `X` cannot be known at compilation tim --> $DIR/unsized3.rs:40:8 | LL | fn f9(x1: Box>) { - | - this type parameter needs to be `Sized` + | - this type parameter needs to be `std::marker::Sized` LL | f5(&(*x1, 34)); | ^^^^^^^^^^ doesn't have a size known at compile-time | @@ -62,7 +62,7 @@ error[E0277]: the size for values of type `X` cannot be known at compilation tim --> $DIR/unsized3.rs:45:9 | LL | fn f10(x1: Box>) { - | - this type parameter needs to be `Sized` + | - this type parameter needs to be `std::marker::Sized` LL | f5(&(32, *x1)); | ^^^^^^^^^ doesn't have a size known at compile-time | @@ -77,7 +77,7 @@ LL | fn f5(x: &Y) {} | - required by this bound in `f5` ... LL | fn f10(x1: Box>) { - | - this type parameter needs to be `Sized` + | - this type parameter needs to be `std::marker::Sized` LL | f5(&(32, *x1)); | ^^^^^^^^^^ doesn't have a size known at compile-time | diff --git a/src/test/ui/unsized5.stderr b/src/test/ui/unsized5.stderr index a7539b0672afe..0bfd4565529aa 100644 --- a/src/test/ui/unsized5.stderr +++ b/src/test/ui/unsized5.stderr @@ -2,7 +2,7 @@ error[E0277]: the size for values of type `X` cannot be known at compilation tim --> $DIR/unsized5.rs:4:9 | LL | struct S1 { - | - this type parameter needs to be `Sized` + | - this type parameter needs to be `std::marker::Sized` LL | f1: X, | ^ doesn't have a size known at compile-time | @@ -21,7 +21,7 @@ error[E0277]: the size for values of type `X` cannot be known at compilation tim --> $DIR/unsized5.rs:10:8 | LL | struct S2 { - | - this type parameter needs to be `Sized` + | - this type parameter needs to be `std::marker::Sized` LL | f: isize, LL | g: X, | ^ doesn't have a size known at compile-time @@ -77,7 +77,7 @@ error[E0277]: the size for values of type `X` cannot be known at compilation tim --> $DIR/unsized5.rs:25:8 | LL | enum E { - | - this type parameter needs to be `Sized` + | - this type parameter needs to be `std::marker::Sized` LL | V1(X, isize), | ^ doesn't have a size known at compile-time | @@ -96,7 +96,7 @@ error[E0277]: the size for values of type `X` cannot be known at compilation tim --> $DIR/unsized5.rs:29:12 | LL | enum F { - | - this type parameter needs to be `Sized` + | - this type parameter needs to be `std::marker::Sized` LL | V2{f1: X, f: isize}, | ^ doesn't have a size known at compile-time | diff --git a/src/test/ui/unsized6.stderr b/src/test/ui/unsized6.stderr index 71dac236fa316..f9f7877d5426a 100644 --- a/src/test/ui/unsized6.stderr +++ b/src/test/ui/unsized6.stderr @@ -2,7 +2,7 @@ error[E0277]: the size for values of type `Y` cannot be known at compilation tim --> $DIR/unsized6.rs:9:9 | LL | fn f1(x: &X) { - | - this type parameter needs to be `Sized` + | - this type parameter needs to be `std::marker::Sized` ... LL | let y: Y; | ^ doesn't have a size known at compile-time @@ -14,7 +14,7 @@ error[E0277]: the size for values of type `X` cannot be known at compilation tim --> $DIR/unsized6.rs:7:12 | LL | fn f1(x: &X) { - | - this type parameter needs to be `Sized` + | - this type parameter needs to be `std::marker::Sized` LL | let _: W; // <-- this is OK, no bindings created, no initializer. LL | let _: (isize, (X, isize)); | ^^^^^^^^^^^^^^^^^^^ doesn't have a size known at compile-time @@ -25,7 +25,7 @@ error[E0277]: the size for values of type `Z` cannot be known at compilation tim --> $DIR/unsized6.rs:11:12 | LL | fn f1(x: &X) { - | - this type parameter needs to be `Sized` + | - this type parameter needs to be `std::marker::Sized` ... LL | let y: (isize, (Z, usize)); | ^^^^^^^^^^^^^^^^^^^ doesn't have a size known at compile-time @@ -36,7 +36,7 @@ error[E0277]: the size for values of type `X` cannot be known at compilation tim --> $DIR/unsized6.rs:15:9 | LL | fn f2(x: &X) { - | - this type parameter needs to be `Sized` + | - this type parameter needs to be `std::marker::Sized` LL | let y: X; | ^ doesn't have a size known at compile-time | @@ -47,7 +47,7 @@ error[E0277]: the size for values of type `Y` cannot be known at compilation tim --> $DIR/unsized6.rs:17:12 | LL | fn f2(x: &X) { - | - this type parameter needs to be `Sized` + | - this type parameter needs to be `std::marker::Sized` ... LL | let y: (isize, (Y, isize)); | ^^^^^^^^^^^^^^^^^^^ doesn't have a size known at compile-time @@ -58,7 +58,7 @@ error[E0277]: the size for values of type `X` cannot be known at compilation tim --> $DIR/unsized6.rs:22:9 | LL | fn f3(x1: Box, x2: Box, x3: Box) { - | - this type parameter needs to be `Sized` + | - this type parameter needs to be `std::marker::Sized` LL | let y: X = *x1; | ^ doesn't have a size known at compile-time | @@ -69,7 +69,7 @@ error[E0277]: the size for values of type `X` cannot be known at compilation tim --> $DIR/unsized6.rs:24:9 | LL | fn f3(x1: Box, x2: Box, x3: Box) { - | - this type parameter needs to be `Sized` + | - this type parameter needs to be `std::marker::Sized` ... LL | let y = *x2; | ^ doesn't have a size known at compile-time @@ -81,7 +81,7 @@ error[E0277]: the size for values of type `X` cannot be known at compilation tim --> $DIR/unsized6.rs:26:10 | LL | fn f3(x1: Box, x2: Box, x3: Box) { - | - this type parameter needs to be `Sized` + | - this type parameter needs to be `std::marker::Sized` ... LL | let (y, z) = (*x3, 4); | ^ doesn't have a size known at compile-time @@ -93,7 +93,7 @@ error[E0277]: the size for values of type `X` cannot be known at compilation tim --> $DIR/unsized6.rs:30:9 | LL | fn f4(x1: Box, x2: Box, x3: Box) { - | - this type parameter needs to be `Sized` + | - this type parameter needs to be `std::marker::Sized` LL | let y: X = *x1; | ^ doesn't have a size known at compile-time | @@ -104,7 +104,7 @@ error[E0277]: the size for values of type `X` cannot be known at compilation tim --> $DIR/unsized6.rs:32:9 | LL | fn f4(x1: Box, x2: Box, x3: Box) { - | - this type parameter needs to be `Sized` + | - this type parameter needs to be `std::marker::Sized` ... LL | let y = *x2; | ^ doesn't have a size known at compile-time @@ -116,7 +116,7 @@ error[E0277]: the size for values of type `X` cannot be known at compilation tim --> $DIR/unsized6.rs:34:10 | LL | fn f4(x1: Box, x2: Box, x3: Box) { - | - this type parameter needs to be `Sized` + | - this type parameter needs to be `std::marker::Sized` ... LL | let (y, z) = (*x3, 4); | ^ doesn't have a size known at compile-time @@ -130,7 +130,7 @@ error[E0277]: the size for values of type `X` cannot be known at compilation tim LL | fn g1(x: X) {} | - ^ doesn't have a size known at compile-time | | - | this type parameter needs to be `Sized` + | this type parameter needs to be `std::marker::Sized` | = help: unsized fn params are gated as an unstable feature help: function arguments must have a statically known size, borrowed types always have a known size @@ -144,7 +144,7 @@ error[E0277]: the size for values of type `X` cannot be known at compilation tim LL | fn g2(x: X) {} | - ^ doesn't have a size known at compile-time | | - | this type parameter needs to be `Sized` + | this type parameter needs to be `std::marker::Sized` | = help: unsized fn params are gated as an unstable feature help: function arguments must have a statically known size, borrowed types always have a known size diff --git a/src/test/ui/unsized7.stderr b/src/test/ui/unsized7.stderr index 5f9a2604ed5b0..7dbddd4ed2443 100644 --- a/src/test/ui/unsized7.stderr +++ b/src/test/ui/unsized7.stderr @@ -7,7 +7,7 @@ LL | trait T1 { LL | impl T1 for S3 { | - ^^^^^ doesn't have a size known at compile-time | | - | this type parameter needs to be `Sized` + | this type parameter needs to be `std::marker::Sized` | help: consider relaxing the implicit `Sized` restriction | diff --git a/src/test/ui/wf/wf-enum-bound.stderr b/src/test/ui/wf/wf-enum-bound.stderr index e7bc858225139..7819110dd98b5 100644 --- a/src/test/ui/wf/wf-enum-bound.stderr +++ b/src/test/ui/wf/wf-enum-bound.stderr @@ -9,8 +9,8 @@ LL | where T: ExtraCopy | help: consider further restricting type parameter `U` | -LL | where T: ExtraCopy, U: Copy - | ^^^^^^^^^ +LL | where T: ExtraCopy, U: std::marker::Copy + | ^^^^^^^^^^^^^^^^^^^^^^ error: aborting due to previous error diff --git a/src/test/ui/wf/wf-enum-fields-struct-variant.stderr b/src/test/ui/wf/wf-enum-fields-struct-variant.stderr index c97ce53885b72..4bfb2413fe99f 100644 --- a/src/test/ui/wf/wf-enum-fields-struct-variant.stderr +++ b/src/test/ui/wf/wf-enum-fields-struct-variant.stderr @@ -9,8 +9,8 @@ LL | f: IsCopy | help: consider restricting type parameter `A` | -LL | enum AnotherEnum { - | ^^^^^^ +LL | enum AnotherEnum { + | ^^^^^^^^^^^^^^^^^^^ error: aborting due to previous error diff --git a/src/test/ui/wf/wf-enum-fields.stderr b/src/test/ui/wf/wf-enum-fields.stderr index 85da1bf5839a3..c8a75afbab7cb 100644 --- a/src/test/ui/wf/wf-enum-fields.stderr +++ b/src/test/ui/wf/wf-enum-fields.stderr @@ -9,8 +9,8 @@ LL | SomeVariant(IsCopy) | help: consider restricting type parameter `A` | -LL | enum SomeEnum { - | ^^^^^^ +LL | enum SomeEnum { + | ^^^^^^^^^^^^^^^^^^^ error: aborting due to previous error diff --git a/src/test/ui/wf/wf-fn-where-clause.stderr b/src/test/ui/wf/wf-fn-where-clause.stderr index 22598e58bd744..e463e3db887a5 100644 --- a/src/test/ui/wf/wf-fn-where-clause.stderr +++ b/src/test/ui/wf/wf-fn-where-clause.stderr @@ -9,8 +9,8 @@ LL | fn foo() where T: ExtraCopy | help: consider further restricting type parameter `U` | -LL | fn foo() where T: ExtraCopy, U: Copy - | ^^^^^^^^^ +LL | fn foo() where T: ExtraCopy, U: std::marker::Copy + | ^^^^^^^^^^^^^^^^^^^^^^ error[E0277]: the size for values of type `(dyn Copy + 'static)` cannot be known at compilation time --> $DIR/wf-fn-where-clause.rs:12:16 diff --git a/src/test/ui/wf/wf-in-fn-arg.stderr b/src/test/ui/wf/wf-in-fn-arg.stderr index d6010d1d79e93..9687658feba43 100644 --- a/src/test/ui/wf/wf-in-fn-arg.stderr +++ b/src/test/ui/wf/wf-in-fn-arg.stderr @@ -9,8 +9,8 @@ LL | fn bar(_: &MustBeCopy) | help: consider restricting type parameter `T` | -LL | fn bar(_: &MustBeCopy) - | ^^^^^^ +LL | fn bar(_: &MustBeCopy) + | ^^^^^^^^^^^^^^^^^^^ error: aborting due to previous error diff --git a/src/test/ui/wf/wf-in-fn-ret.stderr b/src/test/ui/wf/wf-in-fn-ret.stderr index c22252657f12e..f9a962578e650 100644 --- a/src/test/ui/wf/wf-in-fn-ret.stderr +++ b/src/test/ui/wf/wf-in-fn-ret.stderr @@ -9,8 +9,8 @@ LL | fn bar() -> MustBeCopy | help: consider restricting type parameter `T` | -LL | fn bar() -> MustBeCopy - | ^^^^^^ +LL | fn bar() -> MustBeCopy + | ^^^^^^^^^^^^^^^^^^^ error: aborting due to previous error diff --git a/src/test/ui/wf/wf-in-fn-type-arg.stderr b/src/test/ui/wf/wf-in-fn-type-arg.stderr index 6d249f5f918d3..33300b3964258 100644 --- a/src/test/ui/wf/wf-in-fn-type-arg.stderr +++ b/src/test/ui/wf/wf-in-fn-type-arg.stderr @@ -9,8 +9,8 @@ LL | x: fn(MustBeCopy) | help: consider restricting type parameter `T` | -LL | struct Bar { - | ^^^^^^ +LL | struct Bar { + | ^^^^^^^^^^^^^^^^^^^ error: aborting due to previous error diff --git a/src/test/ui/wf/wf-in-fn-type-ret.stderr b/src/test/ui/wf/wf-in-fn-type-ret.stderr index 30ff365b116ec..1ffc47e6d826c 100644 --- a/src/test/ui/wf/wf-in-fn-type-ret.stderr +++ b/src/test/ui/wf/wf-in-fn-type-ret.stderr @@ -9,8 +9,8 @@ LL | x: fn() -> MustBeCopy | help: consider restricting type parameter `T` | -LL | struct Foo { - | ^^^^^^ +LL | struct Foo { + | ^^^^^^^^^^^^^^^^^^^ error: aborting due to previous error diff --git a/src/test/ui/wf/wf-in-fn-where-clause.stderr b/src/test/ui/wf/wf-in-fn-where-clause.stderr index 64e9694c0e16b..7cb9af11d799b 100644 --- a/src/test/ui/wf/wf-in-fn-where-clause.stderr +++ b/src/test/ui/wf/wf-in-fn-where-clause.stderr @@ -9,8 +9,8 @@ LL | where T: MustBeCopy | help: consider further restricting type parameter `U` | -LL | where T: MustBeCopy, U: Copy - | ^^^^^^^^^ +LL | where T: MustBeCopy, U: std::marker::Copy + | ^^^^^^^^^^^^^^^^^^^^^^ error: aborting due to previous error diff --git a/src/test/ui/wf/wf-in-obj-type-trait.stderr b/src/test/ui/wf/wf-in-obj-type-trait.stderr index 55ea08ccbe7ff..8606eabf59c14 100644 --- a/src/test/ui/wf/wf-in-obj-type-trait.stderr +++ b/src/test/ui/wf/wf-in-obj-type-trait.stderr @@ -9,8 +9,8 @@ LL | x: dyn Object> | help: consider restricting type parameter `T` | -LL | struct Bar { - | ^^^^^^ +LL | struct Bar { + | ^^^^^^^^^^^^^^^^^^^ error: aborting due to previous error diff --git a/src/test/ui/wf/wf-inherent-impl-method-where-clause.stderr b/src/test/ui/wf/wf-inherent-impl-method-where-clause.stderr index 7bbdd4bcf2428..8e0ce557e6b43 100644 --- a/src/test/ui/wf/wf-inherent-impl-method-where-clause.stderr +++ b/src/test/ui/wf/wf-inherent-impl-method-where-clause.stderr @@ -9,8 +9,8 @@ LL | fn foo(self) where T: ExtraCopy | help: consider restricting type parameter `U` | -LL | impl Foo { - | ^^^^^^ +LL | impl Foo { + | ^^^^^^^^^^^^^^^^^^^ error: aborting due to previous error diff --git a/src/test/ui/wf/wf-inherent-impl-where-clause.stderr b/src/test/ui/wf/wf-inherent-impl-where-clause.stderr index 2a44e1cdc7162..bf8077ba88f6b 100644 --- a/src/test/ui/wf/wf-inherent-impl-where-clause.stderr +++ b/src/test/ui/wf/wf-inherent-impl-where-clause.stderr @@ -9,8 +9,8 @@ LL | impl Foo where T: ExtraCopy | help: consider further restricting type parameter `U` | -LL | impl Foo where T: ExtraCopy, U: Copy - | ^^^^^^^^^ +LL | impl Foo where T: ExtraCopy, U: std::marker::Copy + | ^^^^^^^^^^^^^^^^^^^^^^ error: aborting due to previous error diff --git a/src/test/ui/wf/wf-struct-bound.stderr b/src/test/ui/wf/wf-struct-bound.stderr index 948693ac6f87d..e85f3591438a9 100644 --- a/src/test/ui/wf/wf-struct-bound.stderr +++ b/src/test/ui/wf/wf-struct-bound.stderr @@ -9,8 +9,8 @@ LL | where T: ExtraCopy | help: consider further restricting type parameter `U` | -LL | where T: ExtraCopy, U: Copy - | ^^^^^^^^^ +LL | where T: ExtraCopy, U: std::marker::Copy + | ^^^^^^^^^^^^^^^^^^^^^^ error: aborting due to previous error diff --git a/src/test/ui/wf/wf-struct-field.stderr b/src/test/ui/wf/wf-struct-field.stderr index 04e62a7fcb776..62ef6bb60c7a2 100644 --- a/src/test/ui/wf/wf-struct-field.stderr +++ b/src/test/ui/wf/wf-struct-field.stderr @@ -9,8 +9,8 @@ LL | data: IsCopy | help: consider restricting type parameter `A` | -LL | struct SomeStruct { - | ^^^^^^ +LL | struct SomeStruct { + | ^^^^^^^^^^^^^^^^^^^ error: aborting due to previous error diff --git a/src/test/ui/wf/wf-trait-associated-type-bound.stderr b/src/test/ui/wf/wf-trait-associated-type-bound.stderr index 166e3626f094e..51adfdb6bd2a9 100644 --- a/src/test/ui/wf/wf-trait-associated-type-bound.stderr +++ b/src/test/ui/wf/wf-trait-associated-type-bound.stderr @@ -9,8 +9,8 @@ LL | type Type1: ExtraCopy; | help: consider restricting type parameter `T` | -LL | trait SomeTrait { - | ^^^^^^ +LL | trait SomeTrait { + | ^^^^^^^^^^^^^^^^^^^ error: aborting due to previous error diff --git a/src/test/ui/wf/wf-trait-bound.stderr b/src/test/ui/wf/wf-trait-bound.stderr index abb97adcfd4cd..c9e818f8e7dc8 100644 --- a/src/test/ui/wf/wf-trait-bound.stderr +++ b/src/test/ui/wf/wf-trait-bound.stderr @@ -9,8 +9,8 @@ LL | where T: ExtraCopy | help: consider further restricting type parameter `U` | -LL | where T: ExtraCopy, U: Copy - | ^^^^^^^^^ +LL | where T: ExtraCopy, U: std::marker::Copy + | ^^^^^^^^^^^^^^^^^^^^^^ error: aborting due to previous error diff --git a/src/test/ui/wf/wf-trait-superbound.stderr b/src/test/ui/wf/wf-trait-superbound.stderr index db337a7c6d0fd..6926983527178 100644 --- a/src/test/ui/wf/wf-trait-superbound.stderr +++ b/src/test/ui/wf/wf-trait-superbound.stderr @@ -9,8 +9,8 @@ LL | trait SomeTrait: ExtraCopy { | help: consider restricting type parameter `T` | -LL | trait SomeTrait: ExtraCopy { - | ^^^^^^ +LL | trait SomeTrait: ExtraCopy { + | ^^^^^^^^^^^^^^^^^^^ error: aborting due to previous error diff --git a/src/test/ui/where-clauses/where-clause-constraints-are-local-for-inherent-impl.stderr b/src/test/ui/where-clauses/where-clause-constraints-are-local-for-inherent-impl.stderr index 916c6dc6d53a4..356ba347cc36a 100644 --- a/src/test/ui/where-clauses/where-clause-constraints-are-local-for-inherent-impl.stderr +++ b/src/test/ui/where-clauses/where-clause-constraints-are-local-for-inherent-impl.stderr @@ -9,8 +9,8 @@ LL | require_copy(self.x); | help: consider restricting type parameter `T` | -LL | impl Foo { - | ^^^^^^ +LL | impl Foo { + | ^^^^^^^^^^^^^^^^^^^ error: aborting due to previous error diff --git a/src/test/ui/where-clauses/where-clause-constraints-are-local-for-trait-impl.stderr b/src/test/ui/where-clauses/where-clause-constraints-are-local-for-trait-impl.stderr index 8814018964aa6..d84242cfe12b8 100644 --- a/src/test/ui/where-clauses/where-clause-constraints-are-local-for-trait-impl.stderr +++ b/src/test/ui/where-clauses/where-clause-constraints-are-local-for-trait-impl.stderr @@ -9,8 +9,8 @@ LL | require_copy(self.x); | help: consider restricting type parameter `T` | -LL | impl Foo for Bar { - | ^^^^^^ +LL | impl Foo for Bar { + | ^^^^^^^^^^^^^^^^^^^ error: aborting due to previous error diff --git a/src/tools/clippy/clippy_utils/src/qualify_min_const_fn.rs b/src/tools/clippy/clippy_utils/src/qualify_min_const_fn.rs index 1391f7505e27c..dac4d93499dc2 100644 --- a/src/tools/clippy/clippy_utils/src/qualify_min_const_fn.rs +++ b/src/tools/clippy/clippy_utils/src/qualify_min_const_fn.rs @@ -212,7 +212,7 @@ fn check_statement(tcx: TyCtxt<'tcx>, body: &Body<'tcx>, def_id: DefId, statemen check_rvalue(tcx, body, def_id, rval, span) } - StatementKind::FakeRead(_, place) | + StatementKind::FakeRead(box (_, place)) => check_place(tcx, *place, span, body), // just an assignment StatementKind::SetDiscriminant { place, .. } => check_place(tcx, **place, span, body),