From 84316ff718815eb00dfe3ca3de7ac7e74b18be18 Mon Sep 17 00:00:00 2001 From: Jost Berthold Date: Mon, 21 Jul 2025 11:31:11 +1000 Subject: [PATCH 1/7] Upgrade dependency declaration to 2025-04-07 --- rust-toolchain.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rust-toolchain.toml b/rust-toolchain.toml index 3f25fb90..f19e54f0 100644 --- a/rust-toolchain.toml +++ b/rust-toolchain.toml @@ -1,3 +1,3 @@ [toolchain] -channel = "nightly-2024-11-29" +channel = "nightly-2025-04-07" components = ["llvm-tools", "rustc-dev", "rust-src"] From e85833aaa5d21e98f2868828913cddb908531e5f Mon Sep 17 00:00:00 2001 From: Jost Berthold Date: Mon, 21 Jul 2025 12:53:22 +1000 Subject: [PATCH 2/7] rustc nightly-2025-07-20, stable_mir->rustc_public, rustc_smir->rustc_public_bridge Compiles but may not pass tests at the moment. --- rust-toolchain.toml | 2 +- src/driver.rs | 6 +-- src/mk_graph.rs | 23 ++++---- src/printer.rs | 127 +++++++++++++++++++++++--------------------- 4 files changed, 82 insertions(+), 76 deletions(-) diff --git a/rust-toolchain.toml b/rust-toolchain.toml index f19e54f0..4927c72f 100644 --- a/rust-toolchain.toml +++ b/rust-toolchain.toml @@ -1,3 +1,3 @@ [toolchain] -channel = "nightly-2025-04-07" +channel = "nightly-2025-07-20" components = ["llvm-tools", "rustc-dev", "rust-src"] diff --git a/src/driver.rs b/src/driver.rs index 7522ebd8..a4576e31 100644 --- a/src/driver.rs +++ b/src/driver.rs @@ -21,11 +21,11 @@ extern crate rustc_driver; extern crate rustc_interface; extern crate rustc_middle; extern crate rustc_session; -extern crate rustc_smir; +extern crate rustc_public; use rustc_driver::Compilation; use rustc_interface::interface::Compiler; use rustc_middle::ty::TyCtxt; -use rustc_smir::rustc_internal; +use rustc_public::rustc_internal; struct StableMirCallbacks { callback_fn: fn(TyCtxt) -> (), @@ -44,5 +44,5 @@ pub fn stable_mir_driver(args_outer: &[String], callback_fn: fn(TyCtxt) -> ()) { let early_dcx = rustc_session::EarlyDiagCtxt::new(rustc_session::config::ErrorOutputType::default()); rustc_driver::init_rustc_env_logger(&early_dcx); - let _ = rustc_driver::RunCompiler::new(args_outer, &mut callbacks).run(); + let _ = rustc_driver::run_compiler(args_outer, &mut callbacks); } diff --git a/src/mk_graph.rs b/src/mk_graph.rs index 3b18cf56..cd70f6bb 100644 --- a/src/mk_graph.rs +++ b/src/mk_graph.rs @@ -10,16 +10,18 @@ use dot_writer::{Attributes, Color, DotWriter, Scope, Shape, Style}; extern crate rustc_middle; use rustc_middle::ty::TyCtxt; -extern crate stable_mir; +extern crate rustc_public; +extern crate rustc_public_bridge; use rustc_session::config::{OutFileName, OutputType}; extern crate rustc_session; -use stable_mir::ty::{IndexedVal, Ty}; -use stable_mir::{ +use rustc_public_bridge::IndexedVal; +use rustc_public::ty::Ty; +use rustc_public::{ mir::{ AggregateKind, BasicBlock, BorrowKind, ConstOperand, Mutability, NonDivergingIntrinsic, - NullOp, Operand, Place, ProjectionElem, Rvalue, Statement, StatementKind, TerminatorKind, - UnwindAction, + NullOp, Operand, Place, ProjectionElem, RawPtrKind, Rvalue, Statement, StatementKind, + TerminatorKind, UnwindAction, }, ty::RigidTy, }; @@ -396,8 +398,8 @@ impl GraphLabelString for Operand { Operand::Constant(ConstOperand { const_, .. }) => { let ty = const_.ty(); match &ty.kind() { - stable_mir::ty::TyKind::RigidTy(RigidTy::Int(_)) - | stable_mir::ty::TyKind::RigidTy(RigidTy::Uint(_)) => { + rustc_public::ty::TyKind::RigidTy(RigidTy::Int(_)) + | rustc_public::ty::TyKind::RigidTy(RigidTy::Uint(_)) => { format!("const ?_{}", const_.ty()) } _ => format!("const {}", const_.ty()), @@ -452,7 +454,7 @@ impl GraphLabelString for AggregateKind { Adt(_, idx, _, _, _) => format!("Adt{{{}}}", idx.to_index()), // (AdtDef, VariantIdx, GenericArgs, Option, Option), Closure(_, _) => "Closure".to_string(), // (ClosureDef, GenericArgs), Coroutine(_, _, _) => "Coroutine".to_string(), // (CoroutineDef, GenericArgs, Movability), - // CoroutineClosure{} => "CoroutineClosure".to_string(), // (CoroutineClosureDef, GenericArgs), + CoroutineClosure(_, _) => "CoroutineClosure".to_string(), // (CoroutineClosureDef, GenericArgs), RawPtr(ty, Mutability::Mut) => format!("*mut ({})", ty), RawPtr(ty, Mutability::Not) => format!("*({})", ty), } @@ -464,8 +466,9 @@ impl GraphLabelString for Rvalue { use Rvalue::*; match &self { AddressOf(mutability, p) => match mutability { - Mutability::Not => format!("&raw {}", p.label()), - Mutability::Mut => format!("&raw mut {}", p.label()), + RawPtrKind::Const => format!("&raw {}", p.label()), + RawPtrKind::Mut => format!("&raw mut {}", p.label()), + RawPtrKind::FakeForPtrMetadata => format!("&raw4meta {}", p.label()), }, Aggregate(kind, operands) => { let os: Vec = operands.iter().map(|op| op.label()).collect(); diff --git a/src/printer.rs b/src/printer.rs index bcecd446..0bb6a915 100644 --- a/src/printer.rs +++ b/src/printer.rs @@ -12,9 +12,9 @@ use std::{ extern crate rustc_middle; extern crate rustc_monomorphize; extern crate rustc_session; -extern crate rustc_smir; extern crate rustc_span; -extern crate stable_mir; +extern crate rustc_public; +extern crate rustc_public_bridge; // HACK: typically, we would source serde/serde_json separately from the compiler // However, due to issues matching crate versions when we have our own serde // in addition to the rustc serde, we force ourselves to use rustc serde @@ -25,19 +25,21 @@ use rustc_middle::ty::{ EarlyBinder, FnSig, GenericArgs, List, Ty, TyCtxt, TypeFoldable, TypingEnv, }; use rustc_session::config::{OutFileName, OutputType}; -use rustc_smir::rustc_internal::{self, internal}; use rustc_span::{ def_id::{DefId, LOCAL_CRATE}, symbol, }; use serde::{Serialize, Serializer}; -use stable_mir::{ +use rustc_public::{ + rustc_internal, + rustc_internal::internal, mir::mono::{Instance, InstanceKind, MonoItem}, mir::{alloc::AllocId, visit::MirVisitor, Body, LocalDecl, Rvalue, Terminator, TerminatorKind}, - ty::{AdtDef, Allocation, ConstDef, ForeignItemKind, IndexedVal, RigidTy, TyKind, VariantIdx}, + ty::{AdtDef, Allocation, ConstDef, ForeignItemKind, RigidTy, TyKind, VariantIdx}, visitor::{Visitable, Visitor}, CrateDef, CrateItem, ItemKind, }; +use rustc_public_bridge::IndexedVal; // Structs for serializing extra details about mono items // ====================================================== @@ -169,8 +171,8 @@ struct ForeignModule { } fn get_foreign_module_details() -> Vec<(String, Vec)> { - let mut crates = vec![stable_mir::local_crate()]; - crates.append(&mut stable_mir::external_crates()); + let mut crates = vec![rustc_public::local_crate()]; + crates.append(&mut rustc_public::external_crates()); crates .into_iter() .map(|krate| { @@ -217,7 +219,7 @@ def_env_var!(link_items_enabled, LINK_ITEMS); def_env_var!(link_instance_enabled, LINK_INST); // Possible input: sym::test -pub fn has_attr(tcx: TyCtxt<'_>, item: &stable_mir::CrateItem, attr: symbol::Symbol) -> bool { +pub fn has_attr(tcx: TyCtxt<'_>, item: &rustc_public::CrateItem, attr: symbol::Symbol) -> bool { tcx.has_attr(rustc_internal::internal(tcx, item), attr) } @@ -233,7 +235,7 @@ fn mono_item_name_int<'a>(tcx: TyCtxt<'a>, item: &rustc_middle::mir::mono::MonoI item.symbol_name(tcx).name.into() } -fn fn_inst_for_ty(ty: stable_mir::ty::Ty, direct_call: bool) -> Option { +fn fn_inst_for_ty(ty: rustc_public::ty::Ty, direct_call: bool) -> Option { ty.kind().fn_def().and_then(|(fn_def, args)| { if direct_call { Instance::resolve(fn_def, args) @@ -244,7 +246,7 @@ fn fn_inst_for_ty(ty: stable_mir::ty::Ty, direct_call: bool) -> Option }) } -fn def_id_to_inst(tcx: TyCtxt<'_>, id: stable_mir::DefId) -> Instance { +fn def_id_to_inst(tcx: TyCtxt<'_>, id: rustc_public::DefId) -> Instance { let internal_id = rustc_internal::internal(tcx, id); let internal_inst = rustc_middle::ty::Instance::mono(tcx, internal_id); rustc_internal::stable(internal_inst) @@ -271,12 +273,12 @@ fn hash(obj: T) -> u64 { pub enum MonoItemKind { MonoItemFn { name: String, - id: stable_mir::DefId, + id: rustc_public::DefId, body: Option, }, MonoItemStatic { name: String, - id: stable_mir::DefId, + id: rustc_public::DefId, allocation: Option, }, MonoItemGlobalAsm { @@ -394,14 +396,14 @@ pub enum FnSymType { } type FnSymInfo<'tcx> = ( - stable_mir::ty::Ty, + rustc_public::ty::Ty, middle::ty::InstanceKind<'tcx>, FnSymType, ); fn fn_inst_sym<'tcx>( tcx: TyCtxt<'tcx>, - ty: Option, + ty: Option, inst: Option<&Instance>, ) -> Option> { use FnSymType::*; @@ -426,7 +428,7 @@ fn fn_inst_sym<'tcx>( #[derive(Clone, Debug, Eq, Hash, PartialEq)] pub struct LinkMapKey<'tcx>( - pub stable_mir::ty::Ty, + pub rustc_public::ty::Ty, Option>, ); @@ -442,7 +444,7 @@ impl Serialize for LinkMapKey<'_> { tup.serialize_element(&format!("{:?}", self.1).as_str())?; tup.end() } else { - ::serialize(&self.0, serializer) + ::serialize(&self.0, serializer) } } } @@ -475,24 +477,24 @@ impl Serialize for ItemSource { #[derive(Serialize)] pub enum AllocInfo { - Function(stable_mir::mir::mono::Instance), + Function(rustc_public::mir::mono::Instance), VTable( - stable_mir::ty::Ty, - Option>, + rustc_public::ty::Ty, + Option>, ), - Static(stable_mir::mir::mono::StaticDef), - Memory(stable_mir::ty::Allocation), // TODO include stable_mir::ty::TyKind? + Static(rustc_public::mir::mono::StaticDef), + Memory(rustc_public::ty::Allocation), // TODO include rustc_public::ty::TyKind? } type LinkMap<'tcx> = HashMap, (ItemSource, FnSymType)>; -type AllocMap = HashMap; +type AllocMap = HashMap; type TyMap = - HashMap)>; + HashMap)>; type SpanMap = HashMap; struct TyCollector<'tcx> { tcx: TyCtxt<'tcx>, types: TyMap, - resolved: HashSet, + resolved: HashSet, } impl TyCollector<'_> { @@ -509,7 +511,7 @@ impl TyCollector<'_> { #[inline(always)] fn visit_instance(&mut self, instance: Instance) -> ControlFlow<::Break> { let fn_abi = instance.fn_abi().unwrap(); - let mut inputs_outputs: Vec = + let mut inputs_outputs: Vec = fn_abi.args.iter().map(|arg_abi| arg_abi.ty).collect(); inputs_outputs.push(fn_abi.ret.ty); inputs_outputs.super_visit(self) @@ -519,7 +521,7 @@ impl TyCollector<'_> { impl Visitor for TyCollector<'_> { type Break = (); - fn visit_ty(&mut self, ty: &stable_mir::ty::Ty) -> ControlFlow { + fn visit_ty(&mut self, ty: &rustc_public::ty::Ty) -> ControlFlow { if self.types.contains_key(ty) || self.resolved.contains(ty) { return ControlFlow::Continue(()); } @@ -528,7 +530,7 @@ impl Visitor for TyCollector<'_> { TyKind::RigidTy(RigidTy::Closure(def, ref args)) => { self.resolved.insert(*ty); let instance = - Instance::resolve_closure(def, args, stable_mir::ty::ClosureKind::Fn).unwrap(); + Instance::resolve_closure(def, args, rustc_public::ty::ClosureKind::Fn).unwrap(); self.visit_instance(instance) } // Break on CoroutineWitnesses, because they aren't expected when getting the layout @@ -549,7 +551,7 @@ impl Visitor for TyCollector<'_> { ) .unwrap(), ); - let mut inputs_outputs: Vec = + let mut inputs_outputs: Vec = sig_stable.args.iter().map(|arg_abi| arg_abi.ty).collect(); inputs_outputs.push(sig_stable.ret.ty); inputs_outputs.super_visit(self) @@ -627,8 +629,8 @@ fn update_link_map<'tcx>( } } -fn get_prov_type(maybe_kind: Option) -> Option { - use stable_mir::ty::RigidTy; +fn get_prov_type(maybe_kind: Option) -> Option { + use rustc_public::ty::RigidTy; // check for pointers let kind = maybe_kind?; if let Some(ty) = kind.builtin_deref(true) { @@ -645,10 +647,10 @@ fn get_prov_type(maybe_kind: Option) -> Option, - val: stable_mir::mir::alloc::AllocId, + kind: Option, + val: rustc_public::mir::alloc::AllocId, ) { - use stable_mir::mir::alloc::GlobalAlloc; + use rustc_public::mir::alloc::GlobalAlloc; let entry = val_collector.visited_allocs.entry(val); if matches!(entry, std::collections::hash_map::Entry::Occupied(_)) { return; @@ -688,11 +690,12 @@ fn collect_alloc( assert!(kind.unwrap().is_fn_ptr()); entry.or_insert(AllocInfo::Function(inst)); } + GlobalAlloc::TypeId{ty:_} => todo!("GlobalAlloc:TypeId not implemented"), }; } impl MirVisitor for InternedValueCollector<'_, '_> { - fn visit_span(&mut self, span: &stable_mir::ty::Span) { + fn visit_span(&mut self, span: &rustc_public::ty::Span) { let span_internal = internal(self.tcx, span); let (source_file, lo_line, lo_col, hi_line, hi_col) = self .tcx @@ -712,8 +715,8 @@ impl MirVisitor for InternedValueCollector<'_, '_> { ); } - fn visit_terminator(&mut self, term: &Terminator, loc: stable_mir::mir::visit::Location) { - use stable_mir::mir::{ConstOperand, Operand::Constant}; + fn visit_terminator(&mut self, term: &Terminator, loc: rustc_public::mir::visit::Location) { + use rustc_public::mir::{ConstOperand, Operand::Constant}; use TerminatorKind::*; let fn_sym = match &term.kind { Call { @@ -721,7 +724,7 @@ impl MirVisitor for InternedValueCollector<'_, '_> { args: _, .. } => { - if *cnst.kind() != stable_mir::ty::ConstantKind::ZeroSized { + if *cnst.kind() != rustc_public::ty::ConstantKind::ZeroSized { return; } let inst = fn_inst_for_ty(cnst.ty(), true) @@ -739,8 +742,8 @@ impl MirVisitor for InternedValueCollector<'_, '_> { self.super_terminator(term, loc); } - fn visit_rvalue(&mut self, rval: &Rvalue, loc: stable_mir::mir::visit::Location) { - use stable_mir::mir::{CastKind, PointerCoercion}; + fn visit_rvalue(&mut self, rval: &Rvalue, loc: rustc_public::mir::visit::Location) { + use rustc_public::mir::{CastKind, PointerCoercion}; #[allow(clippy::single_match)] // TODO: Unsure if we need to fill these out match rval { @@ -757,10 +760,10 @@ impl MirVisitor for InternedValueCollector<'_, '_> { fn visit_mir_const( &mut self, - constant: &stable_mir::ty::MirConst, - loc: stable_mir::mir::visit::Location, + constant: &rustc_public::ty::MirConst, + loc: rustc_public::mir::visit::Location, ) { - use stable_mir::ty::{ConstantKind, TyConstKind}; // TyConst + use rustc_public::ty::{ConstantKind, TyConstKind}; // TyConst match constant.kind() { ConstantKind::Allocated(alloc) => { if debug_enabled() { @@ -784,7 +787,7 @@ impl MirVisitor for InternedValueCollector<'_, '_> { self.super_mir_const(constant, loc); } - fn visit_ty(&mut self, ty: &stable_mir::ty::Ty, _location: stable_mir::mir::visit::Location) { + fn visit_ty(&mut self, ty: &rustc_public::ty::Ty, _location: rustc_public::mir::visit::Location) { ty.visit(self.ty_visitor); self.super_ty(ty); } @@ -858,7 +861,7 @@ fn collect_interned_values<'tcx>(tcx: TyCtxt<'tcx>, items: Vec<&MonoItem>) -> In struct UnevaluatedConstCollector<'tcx, 'local> { tcx: TyCtxt<'tcx>, - unevaluated_consts: &'local mut HashMap, + unevaluated_consts: &'local mut HashMap, processed_items: &'local mut HashMap, pending_items: &'local mut HashMap, current_item: u64, @@ -867,10 +870,10 @@ struct UnevaluatedConstCollector<'tcx, 'local> { impl MirVisitor for UnevaluatedConstCollector<'_, '_> { fn visit_mir_const( &mut self, - constant: &stable_mir::ty::MirConst, - _location: stable_mir::mir::visit::Location, + constant: &rustc_public::ty::MirConst, + _location: rustc_public::mir::visit::Location, ) { - if let stable_mir::ty::ConstantKind::Unevaluated(uconst) = constant.kind() { + if let rustc_public::ty::ConstantKind::Unevaluated(uconst) = constant.kind() { let internal_def = rustc_internal::internal(self.tcx, uconst.def.def_id()); let internal_args = rustc_internal::internal(self.tcx, uconst.args.clone()); let maybe_inst = rustc_middle::ty::Instance::try_resolve( @@ -910,7 +913,7 @@ impl MirVisitor for UnevaluatedConstCollector<'_, '_> { fn collect_unevaluated_constant_items( tcx: TyCtxt<'_>, items: HashMap, -) -> (HashMap, Vec) { +) -> (HashMap, Vec) { // setup collector prerequisites let mut unevaluated_consts = HashMap::new(); let mut processed_items = HashMap::new(); @@ -950,7 +953,7 @@ fn collect_unevaluated_constant_items( // ========================== fn mono_collect(tcx: TyCtxt<'_>) -> Vec { - let units = tcx.collect_and_partition_mono_items(()).1; + let units = tcx.collect_and_partition_mono_items(()).codegen_units; units .iter() .flat_map(|unit| { @@ -987,27 +990,27 @@ pub enum TypeMetadata { StructType { name: String, adt_def: AdtDef, - fields: Vec, + fields: Vec, }, UnionType { name: String, adt_def: AdtDef, }, - ArrayType(stable_mir::ty::Ty, Option), - PtrType(stable_mir::ty::Ty), - RefType(stable_mir::ty::Ty), + ArrayType(rustc_public::ty::Ty, Option), + PtrType(rustc_public::ty::Ty), + RefType(rustc_public::ty::Ty), TupleType { - types: Vec, + types: Vec, }, FunType(String), } fn mk_type_metadata( tcx: TyCtxt<'_>, - k: stable_mir::ty::Ty, + k: rustc_public::ty::Ty, t: TyKind, -) -> Option<(stable_mir::ty::Ty, TypeMetadata)> { - use stable_mir::ty::RigidTy::*; +) -> Option<(rustc_public::ty::Ty, TypeMetadata)> { + use rustc_public::ty::RigidTy::*; use TyKind::RigidTy as T; use TypeMetadata::*; match t { @@ -1086,10 +1089,10 @@ pub struct SmirJson<'t> { pub functions: Vec<(LinkMapKey<'t>, FnSymType)>, pub uneval_consts: Vec<(ConstDef, String)>, pub items: Vec, - pub types: Vec<(stable_mir::ty::Ty, TypeMetadata)>, + pub types: Vec<(rustc_public::ty::Ty, TypeMetadata)>, pub spans: Vec<(usize, SourceData)>, pub debug: Option>, - pub machine: stable_mir::target::MachineInfo, + pub machine: rustc_public::target::MachineInfo, } #[derive(Serialize)] @@ -1103,7 +1106,7 @@ pub struct SmirJsonDebugInfo<'t> { // ======================== pub fn collect_smir(tcx: TyCtxt<'_>) -> SmirJson { - let local_crate = stable_mir::local_crate(); + let local_crate = rustc_public::local_crate(); let items = collect_items(tcx); let items_clone = items.clone(); let (unevaluated_consts, mut items) = collect_unevaluated_constant_items(tcx, items); @@ -1114,7 +1117,7 @@ pub fn collect_smir(tcx: TyCtxt<'_>) -> SmirJson { for (_, alloc) in visited_allocs.iter() { if let AllocInfo::Static(def) = alloc { let mono_item = - stable_mir::mir::mono::MonoItem::Fn(stable_mir::mir::mono::Instance::from(*def)); + rustc_public::mir::mono::MonoItem::Fn(rustc_public::mir::mono::Instance::from(*def)); let item_name = &mono_item_name(tcx, &mono_item); if !items_clone.contains_key(item_name) { println!( @@ -1174,7 +1177,7 @@ pub fn collect_smir(tcx: TyCtxt<'_>) -> SmirJson { types, spans, debug, - machine: stable_mir::target::MachineInfo::target(), + machine: rustc_public::target::MachineInfo::target(), } } From 7f4bce9da8979dd28ba992f329021a3908b237d5 Mon Sep 17 00:00:00 2001 From: Jost Berthold Date: Mon, 21 Jul 2025 14:33:08 +1000 Subject: [PATCH 3/7] omit most span fields in the items (unstable) --- tests/integration/normalise-filter.jq | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/tests/integration/normalise-filter.jq b/tests/integration/normalise-filter.jq index 8ef194ae..6a3a9953 100644 --- a/tests/integration/normalise-filter.jq +++ b/tests/integration/normalise-filter.jq @@ -9,7 +9,12 @@ # Apply the normalisation filter { allocs: .allocs, functions: .functions, - items: .items, + items: ( +# delete all span fields from the items + .items | map (del(.mono_item_kind.MonoItemFn?.body.locals[] | .span)) + | map (del(.mono_item_kind.MonoItemFn?.body.blocks[] | .statements[] | .span)) + | map (del(.mono_item_kind.MonoItemFn?.body.blocks[] | .terminator.span)) + ), types: ( [ # sort by constructors and remove unstable IDs within each ( .types | map(select(.[0].PrimitiveType)) | sort ), From 5270dfb6114bf17fb63bf169cb6d97d247bd7950 Mon Sep 17 00:00:00 2001 From: Jost Berthold Date: Mon, 21 Jul 2025 14:33:22 +1000 Subject: [PATCH 4/7] adapt test expectations to new compiler version WIP --- .../programs/assert_eq.smir.json.expected | 1747 ++--------------- .../programs/binop.smir.json.expected | 1746 ++++++---------- .../programs/char-trivial.smir.json.expected | 565 ++---- .../programs/closure-args.smir.json.expected | 565 ++---- .../closure-no-args.smir.json.expected | 648 ++---- .../const-arithm-simple.smir.json.expected | 616 ++---- .../programs/div.smir.json.expected | 567 ++---- .../double-ref-deref.smir.json.expected | 527 ++--- .../programs/enum.smir.json.expected | 594 ++---- .../programs/fibonacci.smir.json.expected | 748 +++---- .../programs/float.smir.json.expected | 600 ++---- .../programs/modulo.smir.json.expected | 681 ++----- .../mutual_recursion.smir.json.expected | 689 ++----- .../option-construction.smir.json.expected | 614 ++---- .../primitive-type-bounds.smir.json.expected | 546 ++---- .../recursion-simple-match.smir.json.expected | 587 ++---- .../recursion-simple.smir.json.expected | 587 ++---- .../programs/ref-deref.smir.json.expected | 515 ++--- .../programs/shl_min.smir.json.expected | 784 +++----- .../programs/slice.smir.json.expected | 1171 ++++------- .../strange-ref-deref.smir.json.expected | 590 ++---- .../programs/struct.smir.json.expected | 554 ++---- .../programs/sum-to-n.smir.json.expected | 730 ++----- .../programs/tuple-eq.smir.json.expected | 695 ++----- .../programs/tuples-simple.smir.json.expected | 525 ++--- 25 files changed, 4683 insertions(+), 13508 deletions(-) diff --git a/tests/integration/programs/assert_eq.smir.json.expected b/tests/integration/programs/assert_eq.smir.json.expected index b1b9e521..d91d46f5 100644 --- a/tests/integration/programs/assert_eq.smir.json.expected +++ b/tests/integration/programs/assert_eq.smir.json.expected @@ -26,26 +26,6 @@ "IntrinsicSym": "black_box" } ], - [ - { - "NormalSym": "_ZN4core3fmt3num50_$LT$impl$u20$core..fmt..Debug$u20$for$u20$i32$GT$3fmt17h" - } - ], - [ - { - "NormalSym": "_ZN4core3fmt3num53_$LT$impl$u20$core..fmt..LowerHex$u20$for$u20$i32$GT$3fmt17h" - } - ], - [ - { - "NormalSym": "_ZN4core3fmt3num53_$LT$impl$u20$core..fmt..UpperHex$u20$for$u20$i32$GT$3fmt17h" - } - ], - [ - { - "NormalSym": "_ZN4core3fmt3num3imp52_$LT$impl$u20$core..fmt..Display$u20$for$u20$i32$GT$3fmt17h" - } - ], [ { "NormalSym": "_ZN4core3ops8function6FnOnce9call_once17h" @@ -56,11 +36,6 @@ "NormalSym": "_ZN3std2rt10lang_start28_$u7b$$u7b$closure$u7d$$u7d$17h" } ], - [ - { - "NormalSym": "_ZN4core9panicking19assert_failed_inner17h" - } - ], [ { "NormalSym": "_ZN4core9panicking13assert_failed17h" @@ -85,26 +60,18 @@ { "kind": { "StorageLive": 5 - }, - "span": 1 - }, - { - "kind": { - "StorageLive": 6 - }, - "span": 2 + } }, { "kind": { - "StorageLive": 8 - }, - "span": 3 + "StorageLive": 7 + } }, { "kind": { "Assign": [ { - "local": 8, + "local": 7, "projection": [] }, { @@ -139,14 +106,13 @@ ] } ] - }, - "span": 3 + } }, { "kind": { "Assign": [ { - "local": 7, + "local": 6, "projection": [] }, { @@ -156,20 +122,19 @@ }, "Shared", { - "local": 8, + "local": 7, "projection": [] } ] } ] - }, - "span": 2 + } }, { "kind": { "Assign": [ { - "local": 6, + "local": 5, "projection": [] }, { @@ -179,7 +144,7 @@ }, { "Copy": { - "local": 7, + "local": 6, "projection": [] } }, @@ -187,8 +152,7 @@ ] } ] - }, - "span": 2 + } } ], "terminator": { @@ -197,7 +161,7 @@ "args": [ { "Move": { - "local": 6, + "local": 5, "projection": [] } }, @@ -221,7 +185,7 @@ } ], "destination": { - "local": 5, + "local": 0, "projection": [] }, "func": { @@ -238,114 +202,62 @@ "target": 1, "unwind": "Continue" } - }, - "span": 1 + } } }, { "statements": [ { "kind": { - "StorageDead": 6 - }, - "span": 5 - }, - { - "kind": { - "Assign": [ - { - "local": 0, - "projection": [] - }, - { - "Use": { - "Copy": { - "local": 5, - "projection": [ - { - "Downcast": 0 - }, - { - "Field": [ - 0, - 6 - ] - } - ] - } - } - } - ] - }, - "span": 6 - }, - { - "kind": { - "StorageDead": 8 - }, - "span": 7 + "StorageDead": 7 + } }, { "kind": { "StorageDead": 5 - }, - "span": 7 + } } ], "terminator": { - "kind": "Return", - "span": 4 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 8, "ty": 6 }, { "mutability": "Not", - "span": 9, "ty": 7 }, { "mutability": "Not", - "span": 10, "ty": 6 }, { "mutability": "Not", - "span": 11, "ty": 8 }, { "mutability": "Not", - "span": 12, "ty": 9 }, { "mutability": "Mut", - "span": 1, - "ty": 10 - }, - { - "mutability": "Mut", - "span": 2, "ty": 5 }, { "mutability": "Not", - "span": 2, - "ty": 11 + "ty": 10 }, { "mutability": "Not", - "span": 3, - "ty": 12 + "ty": 11 } ], - "span": 13, + "span": 11, "spread_arg": null, "var_debug_info": [ { @@ -354,7 +266,7 @@ "name": "main", "source_info": { "scope": 0, - "span": 9 + "span": 7 }, "value": { "Place": { @@ -369,7 +281,7 @@ "name": "argc", "source_info": { "scope": 0, - "span": 10 + "span": 8 }, "value": { "Place": { @@ -384,7 +296,7 @@ "name": "argv", "source_info": { "scope": 0, - "span": 11 + "span": 9 }, "value": { "Place": { @@ -399,7 +311,7 @@ "name": "sigpipe", "source_info": { "scope": 0, - "span": 12 + "span": 10 }, "value": { "Place": { @@ -407,21 +319,6 @@ "projection": [] } } - }, - { - "argument_index": null, - "composite": null, - "name": "v", - "source_info": { - "scope": 1, - "span": 6 - }, - "value": { - "Place": { - "local": 0, - "projection": [] - } - } } ] }, @@ -443,20 +340,17 @@ { "kind": { "StorageLive": 2 - }, - "span": 16 + } }, { "kind": { "StorageLive": 3 - }, - "span": 15 + } }, { "kind": { "StorageLive": 4 - }, - "span": 17 + } }, { "kind": { @@ -482,8 +376,7 @@ } } ] - }, - "span": 17 + } } ], "terminator": { @@ -506,17 +399,16 @@ "const_": { "id": 1, "kind": "ZeroSized", - "ty": 13 + "ty": 12 }, - "span": 14, + "span": 12, "user_ty": null } }, "target": 1, "unwind": "Continue" } - }, - "span": 15 + } } }, { @@ -524,8 +416,7 @@ { "kind": { "StorageDead": 4 - }, - "span": 19 + } } ], "terminator": { @@ -548,17 +439,16 @@ "const_": { "id": 2, "kind": "ZeroSized", - "ty": 14 + "ty": 13 }, - "span": 18, + "span": 16, "user_ty": null } }, "target": 2, "unwind": "Continue" } - }, - "span": 16 + } } }, { @@ -566,14 +456,12 @@ { "kind": { "StorageDead": 3 - }, - "span": 21 + } }, { "kind": { "StorageLive": 5 - }, - "span": 22 + } }, { "kind": { @@ -582,42 +470,6 @@ "local": 5, "projection": [] }, - { - "Ref": [ - { - "kind": "ReErased" - }, - "Shared", - { - "local": 2, - "projection": [ - { - "Field": [ - 0, - 15 - ] - } - ] - } - ] - } - ] - }, - "span": 22 - }, - { - "kind": { - "StorageLive": 6 - }, - "span": 23 - }, - { - "kind": { - "Assign": [ - { - "local": 6, - "projection": [] - }, { "Use": { "Copy": { @@ -626,7 +478,7 @@ { "Field": [ 0, - 15 + 14 ] }, { @@ -640,8 +492,7 @@ } } ] - }, - "span": 23 + } }, { "kind": { @@ -655,76 +506,55 @@ "IntToInt", { "Move": { - "local": 6, + "local": 5, "projection": [] } }, - 16 + 15 ] } ] - }, - "span": 24 - }, - { - "kind": { - "StorageDead": 6 - }, - "span": 25 + } }, { "kind": { "StorageDead": 5 - }, - "span": 26 + } }, { "kind": { "StorageDead": 2 - }, - "span": 27 + } } ], "terminator": { - "kind": "Return", - "span": 20 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 28, - "ty": 16 + "ty": 15 }, { "mutability": "Mut", - "span": 3, - "ty": 11 + "ty": 10 }, { "mutability": "Mut", - "span": 16, - "ty": 17 + "ty": 16 }, { "mutability": "Mut", - "span": 15, "ty": 1 }, { "mutability": "Mut", - "span": 17, "ty": 7 }, { "mutability": "Mut", - "span": 22, - "ty": 18 - }, - { - "mutability": "Mut", - "span": 23, "ty": 9 } ], @@ -737,7 +567,7 @@ "name": "main", "source_info": { "scope": 0, - "span": 9 + "span": 7 }, "value": { "Place": { @@ -760,7 +590,7 @@ "name": "self", "source_info": { "scope": 1, - "span": 29 + "span": 25 }, "value": { "Place": { @@ -768,21 +598,6 @@ "projection": [] } } - }, - { - "argument_index": 1, - "composite": null, - "name": "self", - "source_info": { - "scope": 2, - "span": 30 - }, - "value": { - "Place": { - "local": 5, - "projection": [] - } - } } ] }, @@ -818,7 +633,7 @@ "kind": "ZeroSized", "ty": 1 }, - "span": 32, + "span": 27, "user_ty": null } } @@ -832,17 +647,16 @@ "const_": { "id": 3, "kind": "ZeroSized", - "ty": 19 + "ty": 17 }, - "span": 31, + "span": 26, "user_ty": null } }, "target": 1, "unwind": "Continue" } - }, - "span": 33 + } } }, { @@ -858,7 +672,7 @@ "kind": "ZeroSized", "ty": 1 }, - "span": 32, + "span": 27, "user_ty": null } } @@ -872,45 +686,40 @@ "const_": { "id": 5, "kind": "ZeroSized", - "ty": 20 + "ty": 18 }, - "span": 34, + "span": 29, "user_ty": null } }, "target": 2, "unwind": "Unreachable" } - }, - "span": 35 + } } }, { "statements": [], "terminator": { - "kind": "Return", - "span": 36 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 37, "ty": 1 }, { "mutability": "Not", - "span": 38, "ty": 7 }, { "mutability": "Not", - "span": 39, "ty": 1 } ], - "span": 42, + "span": 37, "spread_arg": null, "var_debug_info": [ { @@ -919,7 +728,7 @@ "name": "f", "source_info": { "scope": 0, - "span": 38 + "span": 33 }, "value": { "Place": { @@ -934,7 +743,7 @@ "name": "result", "source_info": { "scope": 1, - "span": 40 + "span": 35 }, "value": { "Place": { @@ -949,7 +758,7 @@ "name": "dummy", "source_info": { "scope": 2, - "span": 41 + "span": 36 }, "value": { "Const": { @@ -958,7 +767,7 @@ "kind": "ZeroSized", "ty": 1 }, - "span": 32, + "span": 27, "user_ty": null } } @@ -979,37 +788,17 @@ "arg_count": 2, "blocks": [ { - "statements": [ - { - "kind": { - "Assign": [ - { - "local": 3, - "projection": [] - }, - { - "Use": { - "Copy": { - "local": 1, - "projection": [ - "Deref" - ] - } - } - } - ] - }, - "span": 45 - } - ], + "statements": [], "terminator": { "kind": { "Call": { "args": [ { "Move": { - "local": 3, - "projection": [] + "local": 1, + "projection": [ + "Deref" + ] } }, { @@ -1028,690 +817,44 @@ "const_": { "id": 6, "kind": "ZeroSized", - "ty": 21 + "ty": 19 }, - "span": 43, + "span": 38, "user_ty": null } }, "target": 1, "unwind": "Continue" } - }, - "span": 44 + } } }, { "statements": [], "terminator": { - "kind": "Return", - "span": 46 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 47, - "ty": 22 + "ty": 15 }, { "mutability": "Not", - "span": 48, - "ty": 23 + "ty": 20 }, { "mutability": "Not", - "span": 49, - "ty": 24 - }, - { - "mutability": "Mut", - "span": 48, - "ty": 25 + "ty": 1 } ], - "span": 50, - "spread_arg": null, - "var_debug_info": [ - { - "argument_index": 1, - "composite": null, - "name": "self", - "source_info": { - "scope": 0, - "span": 48 - }, - "value": { - "Place": { - "local": 1, - "projection": [] - } - } - }, - { - "argument_index": 2, - "composite": null, - "name": "f", - "source_info": { - "scope": 0, - "span": 49 - }, - "value": { - "Place": { - "local": 2, - "projection": [] - } - } - } - ] - }, - "id": 3, - "name": "<&i32 as std::fmt::Debug>::fmt" - } - }, - "symbol_name": "_ZN42_$LT$$RF$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h" - }, - { - "details": null, - "mono_item_kind": { - "MonoItemFn": { - "body": { - "arg_count": 2, - "blocks": [ - { - "statements": [ - { - "kind": { - "StorageLive": 3 - }, - "span": 52 - }, - { - "kind": { - "StorageLive": 4 - }, - "span": 53 - }, - { - "kind": { - "Assign": [ - { - "local": 4, - "projection": [] - }, - { - "Use": { - "Copy": { - "local": 2, - "projection": [ - "Deref", - { - "Field": [ - 0, - 26 - ] - } - ] - } - } - } - ] - }, - "span": 53 - }, - { - "kind": { - "Assign": [ - { - "local": 3, - "projection": [] - }, - { - "BinaryOp": [ - "BitAnd", - { - "Move": { - "local": 4, - "projection": [] - } - }, - { - "Constant": { - "const_": { - "id": 7, - "kind": { - "Allocated": { - "align": 4, - "bytes": [ - 16, - 0, - 0, - 0 - ], - "mutability": "Mut", - "provenance": { - "ptrs": [] - } - } - }, - "ty": 26 - }, - "span": 32, - "user_ty": null - } - } - ] - } - ] - }, - "span": 52 - }, - { - "kind": { - "StorageDead": 4 - }, - "span": 54 - } - ], - "terminator": { - "kind": { - "SwitchInt": { - "discr": { - "Move": { - "local": 3, - "projection": [] - } - }, - "targets": { - "branches": [ - [ - 0, - 2 - ] - ], - "otherwise": 1 - } - } - }, - "span": 51 - } - }, - { - "statements": [ - { - "kind": { - "StorageDead": 3 - }, - "span": 51 - } - ], - "terminator": { - "kind": { - "Call": { - "args": [ - { - "Move": { - "local": 1, - "projection": [] - } - }, - { - "Move": { - "local": 2, - "projection": [] - } - } - ], - "destination": { - "local": 0, - "projection": [] - }, - "func": { - "Constant": { - "const_": { - "id": 8, - "kind": "ZeroSized", - "ty": 27 - }, - "span": 55, - "user_ty": null - } - }, - "target": 6, - "unwind": "Continue" - } - }, - "span": 56 - } - }, - { - "statements": [ - { - "kind": { - "StorageDead": 3 - }, - "span": 51 - }, - { - "kind": { - "StorageLive": 5 - }, - "span": 58 - }, - { - "kind": { - "StorageLive": 6 - }, - "span": 59 - }, - { - "kind": { - "Assign": [ - { - "local": 6, - "projection": [] - }, - { - "Use": { - "Copy": { - "local": 2, - "projection": [ - "Deref", - { - "Field": [ - 0, - 26 - ] - } - ] - } - } - } - ] - }, - "span": 59 - }, - { - "kind": { - "Assign": [ - { - "local": 5, - "projection": [] - }, - { - "BinaryOp": [ - "BitAnd", - { - "Move": { - "local": 6, - "projection": [] - } - }, - { - "Constant": { - "const_": { - "id": 9, - "kind": { - "Allocated": { - "align": 4, - "bytes": [ - 32, - 0, - 0, - 0 - ], - "mutability": "Mut", - "provenance": { - "ptrs": [] - } - } - }, - "ty": 26 - }, - "span": 32, - "user_ty": null - } - } - ] - } - ] - }, - "span": 58 - }, - { - "kind": { - "StorageDead": 6 - }, - "span": 60 - } - ], - "terminator": { - "kind": { - "SwitchInt": { - "discr": { - "Move": { - "local": 5, - "projection": [] - } - }, - "targets": { - "branches": [ - [ - 0, - 4 - ] - ], - "otherwise": 3 - } - } - }, - "span": 57 - } - }, - { - "statements": [ - { - "kind": { - "StorageDead": 5 - }, - "span": 57 - } - ], - "terminator": { - "kind": { - "Call": { - "args": [ - { - "Move": { - "local": 1, - "projection": [] - } - }, - { - "Move": { - "local": 2, - "projection": [] - } - } - ], - "destination": { - "local": 0, - "projection": [] - }, - "func": { - "Constant": { - "const_": { - "id": 10, - "kind": "ZeroSized", - "ty": 28 - }, - "span": 61, - "user_ty": null - } - }, - "target": 5, - "unwind": "Continue" - } - }, - "span": 62 - } - }, - { - "statements": [ - { - "kind": { - "StorageDead": 5 - }, - "span": 57 - } - ], - "terminator": { - "kind": { - "Call": { - "args": [ - { - "Move": { - "local": 1, - "projection": [] - } - }, - { - "Move": { - "local": 2, - "projection": [] - } - } - ], - "destination": { - "local": 0, - "projection": [] - }, - "func": { - "Constant": { - "const_": { - "id": 11, - "kind": "ZeroSized", - "ty": 29 - }, - "span": 63, - "user_ty": null - } - }, - "target": 5, - "unwind": "Continue" - } - }, - "span": 64 - } - }, - { - "statements": [], - "terminator": { - "kind": { - "Goto": { - "target": 6 - } - }, - "span": 65 - } - }, - { - "statements": [], - "terminator": { - "kind": "Return", - "span": 66 - } - } - ], - "locals": [ - { - "mutability": "Mut", - "span": 67, - "ty": 22 - }, - { - "mutability": "Not", - "span": 68, - "ty": 25 - }, - { - "mutability": "Not", - "span": 69, - "ty": 24 - }, - { - "mutability": "Mut", - "span": 52, - "ty": 26 - }, - { - "mutability": "Mut", - "span": 53, - "ty": 26 - }, - { - "mutability": "Mut", - "span": 58, - "ty": 26 - }, - { - "mutability": "Mut", - "span": 59, - "ty": 26 - } - ], - "span": 72, - "spread_arg": null, - "var_debug_info": [ - { - "argument_index": 1, - "composite": null, - "name": "self", - "source_info": { - "scope": 0, - "span": 68 - }, - "value": { - "Place": { - "local": 1, - "projection": [] - } - } - }, - { - "argument_index": 2, - "composite": null, - "name": "f", - "source_info": { - "scope": 0, - "span": 69 - }, - "value": { - "Place": { - "local": 2, - "projection": [] - } - } - }, - { - "argument_index": 1, - "composite": null, - "name": "self", - "source_info": { - "scope": 1, - "span": 70 - }, - "value": { - "Place": { - "local": 2, - "projection": [] - } - } - }, - { - "argument_index": 1, - "composite": null, - "name": "self", - "source_info": { - "scope": 2, - "span": 71 - }, - "value": { - "Place": { - "local": 2, - "projection": [] - } - } - } - ] - }, - "id": 4, - "name": "core::fmt::num::::fmt" - } - }, - "symbol_name": "_ZN4core3fmt3num50_$LT$impl$u20$core..fmt..Debug$u20$for$u20$i32$GT$3fmt17h" - }, - { - "details": null, - "mono_item_kind": { - "MonoItemFn": { - "body": { - "arg_count": 2, - "blocks": [ - { - "statements": [], - "terminator": { - "kind": { - "Call": { - "args": [ - { - "Move": { - "local": 1, - "projection": [ - "Deref" - ] - } - }, - { - "Move": { - "local": 2, - "projection": [] - } - } - ], - "destination": { - "local": 0, - "projection": [] - }, - "func": { - "Constant": { - "const_": { - "id": 12, - "kind": "ZeroSized", - "ty": 30 - }, - "span": 73, - "user_ty": null - } - }, - "target": 1, - "unwind": "Continue" - } - }, - "span": 73 - } - }, - { - "statements": [], - "terminator": { - "kind": "Return", - "span": 73 - } - } - ], - "locals": [ - { - "mutability": "Mut", - "span": 73, - "ty": 16 - }, - { - "mutability": "Not", - "span": 73, - "ty": 31 - }, - { - "mutability": "Not", - "span": 73, - "ty": 1 - } - ], - "span": 73, + "span": 38, "spread_arg": 2, "var_debug_info": [] }, - "id": 5, + "id": 3, "name": "<{closure@std::rt::lang_start<()>::{closure#0}} as std::ops::FnOnce<()>>::call_once" } }, @@ -1750,8 +893,7 @@ ] } ] - }, - "span": 73 + } } ], "terminator": { @@ -1778,11 +920,11 @@ "func": { "Constant": { "const_": { - "id": 13, + "id": 7, "kind": "ZeroSized", - "ty": 32 + "ty": 21 }, - "span": 73, + "span": 38, "user_ty": null } }, @@ -1791,8 +933,7 @@ "Cleanup": 3 } } - }, - "span": 73 + } } }, { @@ -1807,15 +948,13 @@ "target": 2, "unwind": "Continue" } - }, - "span": 73 + } } }, { "statements": [], "terminator": { - "kind": "Return", - "span": 73 + "kind": "Return" } }, { @@ -1830,45 +969,39 @@ "target": 4, "unwind": "Terminate" } - }, - "span": 73 + } } }, { "statements": [], "terminator": { - "kind": "Resume", - "span": 73 + "kind": "Resume" } } ], "locals": [ { "mutability": "Mut", - "span": 73, - "ty": 16 + "ty": 15 }, { "mutability": "Not", - "span": 73, - "ty": 12 + "ty": 11 }, { "mutability": "Not", - "span": 73, "ty": 1 }, { "mutability": "Not", - "span": 73, - "ty": 33 + "ty": 22 } ], - "span": 73, + "span": 38, "spread_arg": 2, "var_debug_info": [] }, - "id": 5, + "id": 3, "name": "<{closure@std::rt::lang_start<()>::{closure#0}} as std::ops::FnOnce<()>>::call_once" } }, @@ -1886,420 +1019,53 @@ "terminator": { "kind": { "Call": { - "args": [], - "destination": { - "local": 0, - "projection": [] - }, - "func": { - "Move": { - "local": 1, - "projection": [] - } - }, - "target": 1, - "unwind": "Continue" - } - }, - "span": 73 - } - }, - { - "statements": [], - "terminator": { - "kind": "Return", - "span": 73 - } - } - ], - "locals": [ - { - "mutability": "Mut", - "span": 73, - "ty": 1 - }, - { - "mutability": "Not", - "span": 73, - "ty": 7 - }, - { - "mutability": "Not", - "span": 73, - "ty": 1 - } - ], - "span": 73, - "spread_arg": 2, - "var_debug_info": [] - }, - "id": 5, - "name": ">::call_once" - } - }, - "symbol_name": "_ZN4core3ops8function6FnOnce9call_once17h" - }, - { - "details": null, - "mono_item_kind": { - "MonoItemFn": { - "body": { - "arg_count": 1, - "blocks": [ - { - "statements": [], - "terminator": { - "kind": "Return", - "span": 74 - } - } - ], - "locals": [ - { - "mutability": "Mut", - "span": 74, - "ty": 1 - }, - { - "mutability": "Not", - "span": 74, - "ty": 34 - } - ], - "span": 74, - "spread_arg": null, - "var_debug_info": [] - }, - "id": 6, - "name": "std::ptr::drop_in_place::<&i32>" - } - }, - "symbol_name": "_ZN4core3ptr28drop_in_place$LT$$RF$i32$GT$17h" - }, - { - "details": null, - "mono_item_kind": { - "MonoItemFn": { - "body": { - "arg_count": 1, - "blocks": [ - { - "statements": [], - "terminator": { - "kind": "Return", - "span": 74 - } - } - ], - "locals": [ - { - "mutability": "Mut", - "span": 74, - "ty": 1 - }, - { - "mutability": "Not", - "span": 74, - "ty": 31 - } - ], - "span": 74, - "spread_arg": null, - "var_debug_info": [] - }, - "id": 6, - "name": "std::ptr::drop_in_place::<{closure@std::rt::lang_start<()>::{closure#0}}>" - } - }, - "symbol_name": "_ZN4core3ptr85drop_in_place$LT$std..rt..lang_start$LT$$LP$$RP$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$17h" - }, - { - "details": null, - "mono_item_kind": { - "MonoItemFn": { - "body": { - "arg_count": 4, - "blocks": [ - { - "statements": [ - { - "kind": { - "StorageLive": 5 - }, - "span": 77 - }, - { - "kind": { - "Assign": [ - { - "local": 6, - "projection": [] - }, - { - "Ref": [ - { - "kind": "ReErased" - }, - "Shared", - { - "local": 2, - "projection": [] - } - ] - } - ] - }, - "span": 77 - }, - { - "kind": { - "Assign": [ - { - "local": 5, - "projection": [] - }, - { - "Cast": [ - { - "PointerCoercion": "Unsize" - }, - { - "Copy": { - "local": 6, - "projection": [] - } - }, - 36 - ] - } - ] - }, - "span": 77 - }, - { - "kind": { - "StorageLive": 7 - }, - "span": 78 - }, - { - "kind": { - "Assign": [ - { - "local": 8, - "projection": [] - }, - { - "Ref": [ - { - "kind": "ReErased" - }, - "Shared", - { - "local": 3, - "projection": [] - } - ] - } - ] - }, - "span": 78 - }, - { - "kind": { - "Assign": [ - { - "local": 7, - "projection": [] - }, - { - "Cast": [ - { - "PointerCoercion": "Unsize" - }, - { - "Copy": { - "local": 8, - "projection": [] - } - }, - 36 - ] - } - ] - }, - "span": 78 - } - ], - "terminator": { - "kind": { - "Call": { - "args": [ - { - "Move": { - "local": 1, - "projection": [] - } - }, - { - "Move": { - "local": 5, - "projection": [] - } - }, - { - "Move": { - "local": 7, - "projection": [] - } - }, - { - "Move": { - "local": 4, - "projection": [] - } - } - ], + "args": [], "destination": { "local": 0, "projection": [] }, "func": { - "Constant": { - "const_": { - "id": 14, - "kind": "ZeroSized", - "ty": 35 - }, - "span": 75, - "user_ty": null + "Move": { + "local": 1, + "projection": [] } }, - "target": null, + "target": 1, "unwind": "Continue" } - }, - "span": 76 + } + } + }, + { + "statements": [], + "terminator": { + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 79, - "ty": 37 - }, - { - "mutability": "Not", - "span": 80, - "ty": 38 - }, - { - "mutability": "Not", - "span": 81, - "ty": 25 - }, - { - "mutability": "Not", - "span": 82, - "ty": 25 - }, - { - "mutability": "Not", - "span": 83, - "ty": 39 - }, - { - "mutability": "Mut", - "span": 77, - "ty": 36 + "ty": 1 }, { "mutability": "Not", - "span": 77, - "ty": 23 - }, - { - "mutability": "Mut", - "span": 78, - "ty": 36 + "ty": 7 }, { "mutability": "Not", - "span": 78, - "ty": 23 + "ty": 1 } ], - "span": 84, - "spread_arg": null, - "var_debug_info": [ - { - "argument_index": 1, - "composite": null, - "name": "kind", - "source_info": { - "scope": 0, - "span": 80 - }, - "value": { - "Place": { - "local": 1, - "projection": [] - } - } - }, - { - "argument_index": 2, - "composite": null, - "name": "left", - "source_info": { - "scope": 0, - "span": 81 - }, - "value": { - "Place": { - "local": 2, - "projection": [] - } - } - }, - { - "argument_index": 3, - "composite": null, - "name": "right", - "source_info": { - "scope": 0, - "span": 82 - }, - "value": { - "Place": { - "local": 3, - "projection": [] - } - } - }, - { - "argument_index": 4, - "composite": null, - "name": "args", - "source_info": { - "scope": 0, - "span": 83 - }, - "value": { - "Place": { - "local": 4, - "projection": [] - } - } - } - ] + "span": 38, + "spread_arg": 2, + "var_debug_info": [] }, - "id": 7, - "name": "core::panicking::assert_failed::" + "id": 3, + "name": ">::call_once" } }, - "symbol_name": "_ZN4core9panicking13assert_failed17h" + "symbol_name": "_ZN4core3ops8function6FnOnce9call_once17h" }, { "details": null, @@ -2321,7 +1087,7 @@ "Use": { "Constant": { "const_": { - "id": 15, + "id": 8, "kind": { "Allocated": { "align": 1, @@ -2334,62 +1100,37 @@ } } }, - "ty": 17 + "ty": 16 }, - "span": 86, + "span": 27, "user_ty": null } } } ] - }, - "span": 86 + } } ], "terminator": { - "kind": "Return", - "span": 85 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 87, - "ty": 17 + "ty": 16 }, { "mutability": "Not", - "span": 88, "ty": 1 } ], - "span": 89, + "span": 43, "spread_arg": null, - "var_debug_info": [ - { - "argument_index": 1, - "composite": null, - "name": "self", - "source_info": { - "scope": 0, - "span": 88 - }, - "value": { - "Const": { - "const_": { - "id": 4, - "kind": "ZeroSized", - "ty": 1 - }, - "span": 32, - "user_ty": null - } - } - } - ] + "var_debug_info": [] }, - "id": 8, + "id": 4, "name": "<() as std::process::Termination>::report" } }, @@ -2415,7 +1156,7 @@ "Use": { "Constant": { "const_": { - "id": 18, + "id": 11, "kind": { "Allocated": { "align": 4, @@ -2431,16 +1172,15 @@ } } }, - "ty": 16 + "ty": 15 }, - "span": 93, + "span": 47, "user_ty": null } } } ] - }, - "span": 93 + } }, { "kind": { @@ -2455,7 +1195,7 @@ { "Constant": { "const_": { - "id": 16, + "id": 9, "kind": { "Allocated": { "align": 4, @@ -2471,16 +1211,16 @@ } } }, - "ty": 16 + "ty": 15 }, - "span": 90, + "span": 44, "user_ty": null } }, { "Constant": { "const_": { - "id": 17, + "id": 10, "kind": { "Allocated": { "align": 4, @@ -2496,17 +1236,16 @@ } } }, - "ty": 16 + "ty": 15 }, - "span": 91, + "span": 45, "user_ty": null } } ] } ] - }, - "span": 92 + } } ], "terminator": { @@ -2519,7 +1258,7 @@ { "Field": [ 1, - 40 + 23 ] } ] @@ -2532,7 +1271,7 @@ { "Constant": { "const_": { - "id": 16, + "id": 9, "kind": { "Allocated": { "align": 4, @@ -2548,16 +1287,16 @@ } } }, - "ty": 16 + "ty": 15 }, - "span": 90, + "span": 44, "user_ty": null } }, { "Constant": { "const_": { - "id": 17, + "id": 10, "kind": { "Allocated": { "align": 4, @@ -2573,9 +1312,9 @@ } } }, - "ty": 16 + "ty": 15 }, - "span": 91, + "span": 45, "user_ty": null } } @@ -2584,8 +1323,7 @@ "target": 1, "unwind": "Continue" } - }, - "span": 92 + } } }, { @@ -2605,7 +1343,7 @@ { "Field": [ 0, - 16 + 15 ] } ] @@ -2613,8 +1351,7 @@ } } ] - }, - "span": 92 + } }, { "kind": { @@ -2636,8 +1373,7 @@ ] } ] - }, - "span": 95 + } }, { "kind": { @@ -2659,8 +1395,7 @@ ] } ] - }, - "span": 96 + } }, { "kind": { @@ -2689,8 +1424,7 @@ ] } ] - }, - "span": 97 + } }, { "kind": { @@ -2707,7 +1441,7 @@ { "Field": [ 0, - 25 + 24 ] } ] @@ -2715,8 +1449,7 @@ } } ] - }, - "span": 98 + } }, { "kind": { @@ -2733,7 +1466,7 @@ { "Field": [ 1, - 25 + 24 ] } ] @@ -2741,8 +1474,7 @@ } } ] - }, - "span": 99 + } }, { "kind": { @@ -2762,8 +1494,7 @@ } } ] - }, - "span": 100 + } }, { "kind": { @@ -2783,8 +1514,7 @@ } } ] - }, - "span": 101 + } }, { "kind": { @@ -2811,8 +1541,7 @@ ] } ] - }, - "span": 94 + } } ], "terminator": { @@ -2834,15 +1563,13 @@ "otherwise": 2 } } - }, - "span": 94 + } } }, { "statements": [], "terminator": { - "kind": "Return", - "span": 102 + "kind": "Return" } }, { @@ -2858,7 +1585,7 @@ "Aggregate": [ { "Adt": [ - 10, + 6, 0, [], null, @@ -2869,8 +1596,7 @@ ] } ] - }, - "span": 105 + } }, { "kind": { @@ -2883,11 +1609,11 @@ "Aggregate": [ { "Adt": [ - 11, + 7, 0, [ { - "Type": 42 + "Type": 26 } ], null, @@ -2898,8 +1624,7 @@ ] } ] - }, - "span": 106 + } } ], "terminator": { @@ -2938,100 +1663,84 @@ "func": { "Constant": { "const_": { - "id": 19, + "id": 12, "kind": "ZeroSized", - "ty": 41 + "ty": 25 }, - "span": 103, + "span": 57, "user_ty": null } }, "target": null, "unwind": "Continue" } - }, - "span": 104 + } } } ], "locals": [ { "mutability": "Mut", - "span": 107, "ty": 1 }, { "mutability": "Not", - "span": 108, - "ty": 16 + "ty": 15 }, { "mutability": "Not", - "span": 109, - "ty": 16 + "ty": 15 }, { "mutability": "Mut", - "span": 92, - "ty": 43 + "ty": 27 }, { "mutability": "Mut", - "span": 97, - "ty": 44 + "ty": 28 }, { "mutability": "Mut", - "span": 95, - "ty": 25 + "ty": 24 }, { "mutability": "Mut", - "span": 96, - "ty": 25 + "ty": 24 }, { "mutability": "Not", - "span": 98, - "ty": 25 + "ty": 24 }, { "mutability": "Not", - "span": 99, - "ty": 25 + "ty": 24 }, { "mutability": "Mut", - "span": 94, - "ty": 40 + "ty": 23 }, { "mutability": "Mut", - "span": 100, - "ty": 16 + "ty": 15 }, { "mutability": "Mut", - "span": 101, - "ty": 16 + "ty": 15 }, { "mutability": "Not", - "span": 110, - "ty": 38 + "ty": 29 }, { "mutability": "Not", - "span": 104, - "ty": 37 + "ty": 30 }, { "mutability": "Mut", - "span": 106, - "ty": 39 + "ty": 31 } ], - "span": 111, + "span": 65, "spread_arg": null, "var_debug_info": [ { @@ -3040,7 +1749,7 @@ "name": "a", "source_info": { "scope": 1, - "span": 108 + "span": 62 }, "value": { "Place": { @@ -3055,7 +1764,7 @@ "name": "b", "source_info": { "scope": 2, - "span": 109 + "span": 63 }, "value": { "Place": { @@ -3070,7 +1779,7 @@ "name": "left_val", "source_info": { "scope": 3, - "span": 98 + "span": 52 }, "value": { "Place": { @@ -3085,7 +1794,7 @@ "name": "right_val", "source_info": { "scope": 3, - "span": 99 + "span": 53 }, "value": { "Place": { @@ -3100,7 +1809,7 @@ "name": "kind", "source_info": { "scope": 4, - "span": 110 + "span": 64 }, "value": { "Place": { @@ -3111,7 +1820,7 @@ } ] }, - "id": 9, + "id": 5, "name": "main" } }, @@ -3138,13 +1847,6 @@ } } ], - [ - { - "PrimitiveType": { - "Uint": "U32" - } - } - ], [ { "PrimitiveType": { @@ -3169,40 +1871,6 @@ } } ], - [ - { - "EnumType": { - "discriminants": [ - [ - 0, - 0 - ], - [ - 1, - 1 - ] - ], - "name": "std::result::Result" - } - } - ], - [ - { - "EnumType": { - "discriminants": [ - [ - 0, - 0 - ], - [ - 1, - 1 - ] - ], - "name": "std::result::Result" - } - } - ], [ { "EnumType": { @@ -3232,22 +1900,6 @@ } } ], - [ - { - "StructType": { - "fields": "elided", - "name": "std::fmt::Error" - } - } - ], - [ - { - "StructType": { - "fields": "elided", - "name": "std::fmt::Formatter" - } - } - ], [ { "StructType": { @@ -3268,7 +1920,7 @@ { "StructType": { "fields": "elided", - "name": "std::sys::pal::unix::process::process_common::ExitCode" + "name": "std::sys::process::unix::common::ExitCode" } } ], @@ -3308,31 +1960,6 @@ "PtrType": "elided" } ], - [ - { - "PtrType": "elided" - } - ], - [ - { - "RefType": "elided" - } - ], - [ - { - "RefType": "elided" - } - ], - [ - { - "RefType": "elided" - } - ], - [ - { - "RefType": "elided" - } - ], [ { "RefType": "elided" diff --git a/tests/integration/programs/binop.smir.json.expected b/tests/integration/programs/binop.smir.json.expected index 2edfbc7e..9fe95e78 100644 --- a/tests/integration/programs/binop.smir.json.expected +++ b/tests/integration/programs/binop.smir.json.expected @@ -1169,26 +1169,18 @@ { "kind": { "StorageLive": 5 - }, - "span": 1 - }, - { - "kind": { - "StorageLive": 6 - }, - "span": 2 + } }, { "kind": { - "StorageLive": 8 - }, - "span": 3 + "StorageLive": 7 + } }, { "kind": { "Assign": [ { - "local": 8, + "local": 7, "projection": [] }, { @@ -1223,14 +1215,13 @@ ] } ] - }, - "span": 3 + } }, { "kind": { "Assign": [ { - "local": 7, + "local": 6, "projection": [] }, { @@ -1240,20 +1231,19 @@ }, "Shared", { - "local": 8, + "local": 7, "projection": [] } ] } ] - }, - "span": 2 + } }, { "kind": { "Assign": [ { - "local": 6, + "local": 5, "projection": [] }, { @@ -1263,7 +1253,7 @@ }, { "Copy": { - "local": 7, + "local": 6, "projection": [] } }, @@ -1271,8 +1261,7 @@ ] } ] - }, - "span": 2 + } } ], "terminator": { @@ -1281,7 +1270,7 @@ "args": [ { "Move": { - "local": 6, + "local": 5, "projection": [] } }, @@ -1305,7 +1294,7 @@ } ], "destination": { - "local": 5, + "local": 0, "projection": [] }, "func": { @@ -1322,114 +1311,62 @@ "target": 1, "unwind": "Continue" } - }, - "span": 1 + } } }, { "statements": [ { "kind": { - "StorageDead": 6 - }, - "span": 5 - }, - { - "kind": { - "Assign": [ - { - "local": 0, - "projection": [] - }, - { - "Use": { - "Copy": { - "local": 5, - "projection": [ - { - "Downcast": 0 - }, - { - "Field": [ - 0, - 6 - ] - } - ] - } - } - } - ] - }, - "span": 6 - }, - { - "kind": { - "StorageDead": 8 - }, - "span": 7 + "StorageDead": 7 + } }, { "kind": { "StorageDead": 5 - }, - "span": 7 + } } ], "terminator": { - "kind": "Return", - "span": 4 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 8, "ty": 6 }, { "mutability": "Not", - "span": 9, "ty": 7 }, { "mutability": "Not", - "span": 10, "ty": 6 }, { "mutability": "Not", - "span": 11, "ty": 8 }, { "mutability": "Not", - "span": 12, "ty": 9 }, { "mutability": "Mut", - "span": 1, - "ty": 10 - }, - { - "mutability": "Mut", - "span": 2, "ty": 5 }, { "mutability": "Not", - "span": 2, - "ty": 11 + "ty": 10 }, { "mutability": "Not", - "span": 3, - "ty": 12 + "ty": 11 } ], - "span": 13, + "span": 11, "spread_arg": null, "var_debug_info": [ { @@ -1438,7 +1375,7 @@ "name": "main", "source_info": { "scope": 0, - "span": 9 + "span": 7 }, "value": { "Place": { @@ -1453,7 +1390,7 @@ "name": "argc", "source_info": { "scope": 0, - "span": 10 + "span": 8 }, "value": { "Place": { @@ -1468,7 +1405,7 @@ "name": "argv", "source_info": { "scope": 0, - "span": 11 + "span": 9 }, "value": { "Place": { @@ -1483,7 +1420,7 @@ "name": "sigpipe", "source_info": { "scope": 0, - "span": 12 + "span": 10 }, "value": { "Place": { @@ -1491,21 +1428,6 @@ "projection": [] } } - }, - { - "argument_index": null, - "composite": null, - "name": "v", - "source_info": { - "scope": 1, - "span": 6 - }, - "value": { - "Place": { - "local": 0, - "projection": [] - } - } } ] }, @@ -1527,20 +1449,17 @@ { "kind": { "StorageLive": 2 - }, - "span": 16 + } }, { "kind": { "StorageLive": 3 - }, - "span": 15 + } }, { "kind": { "StorageLive": 4 - }, - "span": 17 + } }, { "kind": { @@ -1566,8 +1485,7 @@ } } ] - }, - "span": 17 + } } ], "terminator": { @@ -1590,17 +1508,16 @@ "const_": { "id": 1, "kind": "ZeroSized", - "ty": 13 + "ty": 12 }, - "span": 14, + "span": 12, "user_ty": null } }, "target": 1, "unwind": "Continue" } - }, - "span": 15 + } } }, { @@ -1608,8 +1525,7 @@ { "kind": { "StorageDead": 4 - }, - "span": 19 + } } ], "terminator": { @@ -1632,17 +1548,16 @@ "const_": { "id": 2, "kind": "ZeroSized", - "ty": 14 + "ty": 13 }, - "span": 18, + "span": 16, "user_ty": null } }, "target": 2, "unwind": "Continue" } - }, - "span": 16 + } } }, { @@ -1650,14 +1565,12 @@ { "kind": { "StorageDead": 3 - }, - "span": 21 + } }, { "kind": { "StorageLive": 5 - }, - "span": 22 + } }, { "kind": { @@ -1666,42 +1579,6 @@ "local": 5, "projection": [] }, - { - "Ref": [ - { - "kind": "ReErased" - }, - "Shared", - { - "local": 2, - "projection": [ - { - "Field": [ - 0, - 15 - ] - } - ] - } - ] - } - ] - }, - "span": 22 - }, - { - "kind": { - "StorageLive": 6 - }, - "span": 23 - }, - { - "kind": { - "Assign": [ - { - "local": 6, - "projection": [] - }, { "Use": { "Copy": { @@ -1710,7 +1587,7 @@ { "Field": [ 0, - 15 + 14 ] }, { @@ -1724,8 +1601,7 @@ } } ] - }, - "span": 23 + } }, { "kind": { @@ -1739,76 +1615,55 @@ "IntToInt", { "Move": { - "local": 6, + "local": 5, "projection": [] } }, - 16 + 15 ] } ] - }, - "span": 24 - }, - { - "kind": { - "StorageDead": 6 - }, - "span": 25 + } }, { "kind": { "StorageDead": 5 - }, - "span": 26 + } }, { "kind": { "StorageDead": 2 - }, - "span": 27 + } } ], "terminator": { - "kind": "Return", - "span": 20 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 28, - "ty": 16 + "ty": 15 }, { "mutability": "Mut", - "span": 3, - "ty": 11 + "ty": 10 }, { "mutability": "Mut", - "span": 16, - "ty": 17 + "ty": 16 }, { "mutability": "Mut", - "span": 15, "ty": 1 }, { "mutability": "Mut", - "span": 17, "ty": 7 }, { "mutability": "Mut", - "span": 22, - "ty": 18 - }, - { - "mutability": "Mut", - "span": 23, "ty": 9 } ], @@ -1821,7 +1676,7 @@ "name": "main", "source_info": { "scope": 0, - "span": 9 + "span": 7 }, "value": { "Place": { @@ -1844,7 +1699,7 @@ "name": "self", "source_info": { "scope": 1, - "span": 29 + "span": 25 }, "value": { "Place": { @@ -1852,21 +1707,6 @@ "projection": [] } } - }, - { - "argument_index": 1, - "composite": null, - "name": "self", - "source_info": { - "scope": 2, - "span": 30 - }, - "value": { - "Place": { - "local": 5, - "projection": [] - } - } } ] }, @@ -1902,7 +1742,7 @@ "kind": "ZeroSized", "ty": 1 }, - "span": 32, + "span": 27, "user_ty": null } } @@ -1916,17 +1756,16 @@ "const_": { "id": 3, "kind": "ZeroSized", - "ty": 19 + "ty": 17 }, - "span": 31, + "span": 26, "user_ty": null } }, "target": 1, "unwind": "Continue" } - }, - "span": 33 + } } }, { @@ -1942,7 +1781,7 @@ "kind": "ZeroSized", "ty": 1 }, - "span": 32, + "span": 27, "user_ty": null } } @@ -1956,45 +1795,40 @@ "const_": { "id": 5, "kind": "ZeroSized", - "ty": 20 + "ty": 18 }, - "span": 34, + "span": 29, "user_ty": null } }, "target": 2, "unwind": "Unreachable" } - }, - "span": 35 + } } }, { "statements": [], "terminator": { - "kind": "Return", - "span": 36 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 37, "ty": 1 }, { "mutability": "Not", - "span": 38, "ty": 7 }, { "mutability": "Not", - "span": 39, "ty": 1 } ], - "span": 42, + "span": 37, "spread_arg": null, "var_debug_info": [ { @@ -2003,7 +1837,7 @@ "name": "f", "source_info": { "scope": 0, - "span": 38 + "span": 33 }, "value": { "Place": { @@ -2018,7 +1852,7 @@ "name": "result", "source_info": { "scope": 1, - "span": 40 + "span": 35 }, "value": { "Place": { @@ -2033,7 +1867,7 @@ "name": "dummy", "source_info": { "scope": 2, - "span": 41 + "span": 36 }, "value": { "Const": { @@ -2042,7 +1876,7 @@ "kind": "ZeroSized", "ty": 1 }, - "span": 32, + "span": 27, "user_ty": null } } @@ -2092,45 +1926,40 @@ "const_": { "id": 6, "kind": "ZeroSized", - "ty": 21 + "ty": 19 }, - "span": 43, + "span": 38, "user_ty": null } }, "target": 1, "unwind": "Continue" } - }, - "span": 43 + } } }, { "statements": [], "terminator": { - "kind": "Return", - "span": 43 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 43, - "ty": 16 + "ty": 15 }, { "mutability": "Not", - "span": 43, - "ty": 22 + "ty": 20 }, { "mutability": "Not", - "span": 43, "ty": 1 } ], - "span": 43, + "span": 38, "spread_arg": 2, "var_debug_info": [] }, @@ -2173,8 +2002,7 @@ ] } ] - }, - "span": 43 + } } ], "terminator": { @@ -2203,9 +2031,9 @@ "const_": { "id": 7, "kind": "ZeroSized", - "ty": 23 + "ty": 21 }, - "span": 43, + "span": 38, "user_ty": null } }, @@ -2214,8 +2042,7 @@ "Cleanup": 3 } } - }, - "span": 43 + } } }, { @@ -2230,15 +2057,13 @@ "target": 2, "unwind": "Continue" } - }, - "span": 43 + } } }, { "statements": [], "terminator": { - "kind": "Return", - "span": 43 + "kind": "Return" } }, { @@ -2253,41 +2078,35 @@ "target": 4, "unwind": "Terminate" } - }, - "span": 43 + } } }, { "statements": [], "terminator": { - "kind": "Resume", - "span": 43 + "kind": "Resume" } } ], "locals": [ { "mutability": "Mut", - "span": 43, - "ty": 16 + "ty": 15 }, { "mutability": "Not", - "span": 43, - "ty": 12 + "ty": 11 }, { "mutability": "Not", - "span": 43, "ty": 1 }, { "mutability": "Not", - "span": 43, - "ty": 24 + "ty": 22 } ], - "span": 43, + "span": 38, "spread_arg": 2, "var_debug_info": [] }, @@ -2323,36 +2142,31 @@ "target": 1, "unwind": "Continue" } - }, - "span": 43 + } } }, { "statements": [], "terminator": { - "kind": "Return", - "span": 43 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 43, "ty": 1 }, { "mutability": "Not", - "span": 43, "ty": 7 }, { "mutability": "Not", - "span": 43, "ty": 1 } ], - "span": 43, + "span": 38, "spread_arg": 2, "var_debug_info": [] }, @@ -2362,43 +2176,6 @@ }, "symbol_name": "_ZN4core3ops8function6FnOnce9call_once17h" }, - { - "details": null, - "mono_item_kind": { - "MonoItemFn": { - "body": { - "arg_count": 1, - "blocks": [ - { - "statements": [], - "terminator": { - "kind": "Return", - "span": 44 - } - } - ], - "locals": [ - { - "mutability": "Mut", - "span": 44, - "ty": 1 - }, - { - "mutability": "Not", - "span": 44, - "ty": 22 - } - ], - "span": 44, - "spread_arg": null, - "var_debug_info": [] - }, - "id": 4, - "name": "std::ptr::drop_in_place::<{closure@std::rt::lang_start<()>::{closure#0}}>" - } - }, - "symbol_name": "_ZN4core3ptr85drop_in_place$LT$std..rt..lang_start$LT$$LP$$RP$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$17h" - }, { "details": null, "mono_item_kind": { @@ -2432,62 +2209,37 @@ } } }, - "ty": 17 + "ty": 16 }, - "span": 46, + "span": 27, "user_ty": null } } } ] - }, - "span": 46 + } } ], "terminator": { - "kind": "Return", - "span": 45 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 47, - "ty": 17 + "ty": 16 }, { "mutability": "Not", - "span": 48, "ty": 1 } ], - "span": 49, + "span": 43, "spread_arg": null, - "var_debug_info": [ - { - "argument_index": 1, - "composite": null, - "name": "self", - "source_info": { - "scope": 0, - "span": 48 - }, - "value": { - "Const": { - "const_": { - "id": 4, - "kind": "ZeroSized", - "ty": 1 - }, - "span": 32, - "user_ty": null - } - } - } - ] + "var_debug_info": [] }, - "id": 5, + "id": 4, "name": "<() as std::process::Termination>::report" } }, @@ -2527,8 +2279,7 @@ ] } ] - }, - "span": 50 + } } ], "terminator": { @@ -2541,7 +2292,7 @@ { "Field": [ 1, - 25 + 23 ] } ] @@ -2568,8 +2319,7 @@ "target": 1, "unwind": "Continue" } - }, - "span": 50 + } } }, { @@ -2589,7 +2339,7 @@ { "Field": [ 0, - 16 + 15 ] } ] @@ -2597,8 +2347,7 @@ } } ] - }, - "span": 50 + } } ], "terminator": { @@ -2620,8 +2369,7 @@ "otherwise": 3 } } - }, - "span": 51 + } } }, { @@ -2651,8 +2399,7 @@ ] } ] - }, - "span": 52 + } } ], "terminator": { @@ -2665,7 +2412,7 @@ { "Field": [ 1, - 25 + 23 ] } ] @@ -2692,8 +2439,7 @@ "target": 4, "unwind": "Continue" } - }, - "span": 52 + } } }, { @@ -2738,9 +2484,9 @@ } } }, - "ty": 27 + "ty": 25 }, - "span": 32, + "span": 27, "user_ty": null } } @@ -2754,17 +2500,16 @@ "const_": { "id": 9, "kind": "ZeroSized", - "ty": 26 + "ty": 24 }, - "span": 53, + "span": 47, "user_ty": null } }, "target": null, "unwind": "Continue" } - }, - "span": 53 + } } }, { @@ -2784,7 +2529,7 @@ { "Field": [ 0, - 16 + 15 ] } ] @@ -2792,8 +2537,7 @@ } } ] - }, - "span": 52 + } } ], "terminator": { @@ -2815,8 +2559,7 @@ "otherwise": 6 } } - }, - "span": 54 + } } }, { @@ -2846,8 +2589,7 @@ ] } ] - }, - "span": 55 + } } ], "terminator": { @@ -2860,7 +2602,7 @@ { "Field": [ 1, - 25 + 23 ] } ] @@ -2887,8 +2629,7 @@ "target": 7, "unwind": "Continue" } - }, - "span": 55 + } } }, { @@ -2933,9 +2674,9 @@ } } }, - "ty": 27 + "ty": 25 }, - "span": 32, + "span": 27, "user_ty": null } } @@ -2949,17 +2690,16 @@ "const_": { "id": 9, "kind": "ZeroSized", - "ty": 26 + "ty": 24 }, - "span": 56, + "span": 50, "user_ty": null } }, "target": null, "unwind": "Continue" } - }, - "span": 56 + } } }, { @@ -2979,7 +2719,7 @@ { "Field": [ 0, - 16 + 15 ] } ] @@ -2987,8 +2727,7 @@ } } ] - }, - "span": 55 + } }, { "kind": { @@ -3015,8 +2754,7 @@ ] } ] - }, - "span": 57 + } } ], "terminator": { @@ -3029,7 +2767,7 @@ { "Field": [ 1, - 25 + 23 ] } ] @@ -3056,8 +2794,7 @@ "target": 8, "unwind": "Continue" } - }, - "span": 57 + } } }, { @@ -3077,7 +2814,7 @@ { "Field": [ 0, - 16 + 15 ] } ] @@ -3085,8 +2822,7 @@ } } ] - }, - "span": 57 + } }, { "kind": { @@ -3113,8 +2849,7 @@ ] } ] - }, - "span": 58 + } } ], "terminator": { @@ -3136,8 +2871,7 @@ "otherwise": 9 } } - }, - "span": 58 + } } }, { @@ -3167,8 +2901,7 @@ ] } ] - }, - "span": 59 + } } ], "terminator": { @@ -3181,7 +2914,7 @@ { "Field": [ 1, - 25 + 23 ] } ] @@ -3208,8 +2941,7 @@ "target": 11, "unwind": "Continue" } - }, - "span": 59 + } } }, { @@ -3254,9 +2986,9 @@ } } }, - "ty": 27 + "ty": 25 }, - "span": 32, + "span": 27, "user_ty": null } } @@ -3270,17 +3002,16 @@ "const_": { "id": 9, "kind": "ZeroSized", - "ty": 26 + "ty": 24 }, - "span": 60, + "span": 54, "user_ty": null } }, "target": null, "unwind": "Continue" } - }, - "span": 60 + } } }, { @@ -3300,7 +3031,7 @@ { "Field": [ 0, - 16 + 15 ] } ] @@ -3308,8 +3039,7 @@ } } ] - }, - "span": 59 + } } ], "terminator": { @@ -3331,8 +3061,7 @@ "otherwise": 13 } } - }, - "span": 61 + } } }, { @@ -3362,8 +3091,7 @@ ] } ] - }, - "span": 62 + } } ], "terminator": { @@ -3376,7 +3104,7 @@ { "Field": [ 1, - 25 + 23 ] } ] @@ -3403,8 +3131,7 @@ "target": 14, "unwind": "Continue" } - }, - "span": 62 + } } }, { @@ -3449,9 +3176,9 @@ } } }, - "ty": 27 + "ty": 25 }, - "span": 32, + "span": 27, "user_ty": null } } @@ -3465,17 +3192,16 @@ "const_": { "id": 9, "kind": "ZeroSized", - "ty": 26 + "ty": 24 }, - "span": 63, + "span": 57, "user_ty": null } }, "target": null, "unwind": "Continue" } - }, - "span": 63 + } } }, { @@ -3495,7 +3221,7 @@ { "Field": [ 0, - 16 + 15 ] } ] @@ -3503,8 +3229,7 @@ } } ] - }, - "span": 62 + } } ], "terminator": { @@ -3526,8 +3251,7 @@ "otherwise": 16 } } - }, - "span": 64 + } } }, { @@ -3557,8 +3281,7 @@ ] } ] - }, - "span": 65 + } } ], "terminator": { @@ -3571,7 +3294,7 @@ { "Field": [ 1, - 25 + 23 ] } ] @@ -3598,8 +3321,7 @@ "target": 17, "unwind": "Continue" } - }, - "span": 65 + } } }, { @@ -3644,9 +3366,9 @@ } } }, - "ty": 27 + "ty": 25 }, - "span": 32, + "span": 27, "user_ty": null } } @@ -3660,17 +3382,16 @@ "const_": { "id": 9, "kind": "ZeroSized", - "ty": 26 + "ty": 24 }, - "span": 66, + "span": 60, "user_ty": null } }, "target": null, "unwind": "Continue" } - }, - "span": 66 + } } }, { @@ -3690,7 +3411,7 @@ { "Field": [ 0, - 16 + 15 ] } ] @@ -3698,8 +3419,7 @@ } } ] - }, - "span": 65 + } }, { "kind": { @@ -3726,8 +3446,7 @@ ] } ] - }, - "span": 67 + } } ], "terminator": { @@ -3740,7 +3459,7 @@ { "Field": [ 1, - 25 + 23 ] } ] @@ -3767,8 +3486,7 @@ "target": 18, "unwind": "Continue" } - }, - "span": 67 + } } }, { @@ -3788,7 +3506,7 @@ { "Field": [ 0, - 16 + 15 ] } ] @@ -3796,8 +3514,7 @@ } } ] - }, - "span": 67 + } }, { "kind": { @@ -3824,8 +3541,7 @@ ] } ] - }, - "span": 68 + } } ], "terminator": { @@ -3847,8 +3563,7 @@ "otherwise": 19 } } - }, - "span": 68 + } } }, { @@ -3878,8 +3593,7 @@ ] } ] - }, - "span": 69 + } } ], "terminator": { @@ -3892,7 +3606,7 @@ { "Field": [ 1, - 25 + 23 ] } ] @@ -3919,8 +3633,7 @@ "target": 21, "unwind": "Continue" } - }, - "span": 69 + } } }, { @@ -3965,9 +3678,9 @@ } } }, - "ty": 27 + "ty": 25 }, - "span": 32, + "span": 27, "user_ty": null } } @@ -3981,17 +3694,16 @@ "const_": { "id": 9, "kind": "ZeroSized", - "ty": 26 + "ty": 24 }, - "span": 70, + "span": 64, "user_ty": null } }, "target": null, "unwind": "Continue" } - }, - "span": 70 + } } }, { @@ -4011,7 +3723,7 @@ { "Field": [ 0, - 16 + 15 ] } ] @@ -4019,8 +3731,7 @@ } } ] - }, - "span": 69 + } } ], "terminator": { @@ -4042,8 +3753,7 @@ "otherwise": 23 } } - }, - "span": 71 + } } }, { @@ -4083,17 +3793,16 @@ } } }, - "ty": 16 + "ty": 15 }, - "span": 72, + "span": 66, "user_ty": null } } ] } ] - }, - "span": 72 + } } ], "terminator": { @@ -4117,8 +3826,7 @@ "target": 24, "unwind": "Continue" } - }, - "span": 72 + } } }, { @@ -4163,9 +3871,9 @@ } } }, - "ty": 27 + "ty": 25 }, - "span": 32, + "span": 27, "user_ty": null } } @@ -4179,17 +3887,16 @@ "const_": { "id": 9, "kind": "ZeroSized", - "ty": 26 + "ty": 24 }, - "span": 73, + "span": 67, "user_ty": null } }, "target": null, "unwind": "Continue" } - }, - "span": 73 + } } }, { @@ -4213,8 +3920,7 @@ ] } ] - }, - "span": 72 + } }, { "kind": { @@ -4241,8 +3947,7 @@ ] } ] - }, - "span": 74 + } } ], "terminator": { @@ -4255,7 +3960,7 @@ { "Field": [ 1, - 25 + 23 ] } ] @@ -4282,8 +3987,7 @@ "target": 25, "unwind": "Continue" } - }, - "span": 74 + } } }, { @@ -4303,7 +4007,7 @@ { "Field": [ 0, - 16 + 15 ] } ] @@ -4311,8 +4015,7 @@ } } ] - }, - "span": 74 + } } ], "terminator": { @@ -4334,8 +4037,7 @@ "otherwise": 27 } } - }, - "span": 75 + } } }, { @@ -4375,17 +4077,16 @@ } } }, - "ty": 16 + "ty": 15 }, - "span": 76, + "span": 70, "user_ty": null } } ] } ] - }, - "span": 76 + } } ], "terminator": { @@ -4409,8 +4110,7 @@ "target": 28, "unwind": "Continue" } - }, - "span": 76 + } } }, { @@ -4455,9 +4155,9 @@ } } }, - "ty": 27 + "ty": 25 }, - "span": 32, + "span": 27, "user_ty": null } } @@ -4471,17 +4171,16 @@ "const_": { "id": 9, "kind": "ZeroSized", - "ty": 26 + "ty": 24 }, - "span": 77, + "span": 71, "user_ty": null } }, "target": null, "unwind": "Continue" } - }, - "span": 77 + } } }, { @@ -4505,8 +4204,7 @@ ] } ] - }, - "span": 76 + } }, { "kind": { @@ -4533,8 +4231,7 @@ ] } ] - }, - "span": 78 + } } ], "terminator": { @@ -4547,7 +4244,7 @@ { "Field": [ 1, - 25 + 23 ] } ] @@ -4574,8 +4271,7 @@ "target": 29, "unwind": "Continue" } - }, - "span": 78 + } } }, { @@ -4595,7 +4291,7 @@ { "Field": [ 0, - 16 + 15 ] } ] @@ -4603,8 +4299,7 @@ } } ] - }, - "span": 78 + } } ], "terminator": { @@ -4626,8 +4321,7 @@ "otherwise": 31 } } - }, - "span": 79 + } } }, { @@ -4667,17 +4361,16 @@ } } }, - "ty": 16 + "ty": 15 }, - "span": 80, + "span": 74, "user_ty": null } } ] } ] - }, - "span": 80 + } } ], "terminator": { @@ -4701,8 +4394,7 @@ "target": 32, "unwind": "Continue" } - }, - "span": 80 + } } }, { @@ -4747,9 +4439,9 @@ } } }, - "ty": 27 + "ty": 25 }, - "span": 32, + "span": 27, "user_ty": null } } @@ -4763,17 +4455,16 @@ "const_": { "id": 9, "kind": "ZeroSized", - "ty": 26 + "ty": 24 }, - "span": 81, + "span": 75, "user_ty": null } }, "target": null, "unwind": "Continue" } - }, - "span": 81 + } } }, { @@ -4797,8 +4488,7 @@ ] } ] - }, - "span": 80 + } }, { "kind": { @@ -4835,17 +4525,16 @@ } } }, - "ty": 16 + "ty": 15 }, - "span": 82, + "span": 76, "user_ty": null } } ] } ] - }, - "span": 82 + } } ], "terminator": { @@ -4869,8 +4558,7 @@ "target": 33, "unwind": "Continue" } - }, - "span": 82 + } } }, { @@ -4894,8 +4582,7 @@ ] } ] - }, - "span": 82 + } }, { "kind": { @@ -4922,8 +4609,7 @@ ] } ] - }, - "span": 83 + } } ], "terminator": { @@ -4936,7 +4622,7 @@ { "Field": [ 1, - 25 + 23 ] } ] @@ -4963,8 +4649,7 @@ "target": 34, "unwind": "Continue" } - }, - "span": 83 + } } }, { @@ -4984,7 +4669,7 @@ { "Field": [ 0, - 16 + 15 ] } ] @@ -4992,8 +4677,7 @@ } } ] - }, - "span": 83 + } } ], "terminator": { @@ -5015,8 +4699,7 @@ "otherwise": 36 } } - }, - "span": 84 + } } }, { @@ -5050,9 +4733,9 @@ } } }, - "ty": 16 + "ty": 15 }, - "span": 86, + "span": 80, "user_ty": null } }, @@ -5075,17 +4758,16 @@ } } }, - "ty": 16 + "ty": 15 }, - "span": 87, + "span": 81, "user_ty": null } } ] } ] - }, - "span": 88 + } } ], "terminator": { @@ -5107,8 +4789,7 @@ "otherwise": 38 } } - }, - "span": 85 + } } }, { @@ -5153,9 +4834,9 @@ } } }, - "ty": 27 + "ty": 25 }, - "span": 32, + "span": 27, "user_ty": null } } @@ -5169,17 +4850,16 @@ "const_": { "id": 9, "kind": "ZeroSized", - "ty": 26 + "ty": 24 }, - "span": 89, + "span": 83, "user_ty": null } }, "target": null, "unwind": "Continue" } - }, - "span": 89 + } } }, { @@ -5213,9 +4893,9 @@ } } }, - "ty": 16 + "ty": 15 }, - "span": 91, + "span": 85, "user_ty": null } }, @@ -5238,17 +4918,16 @@ } } }, - "ty": 16 + "ty": 15 }, - "span": 92, + "span": 86, "user_ty": null } } ] } ] - }, - "span": 93 + } } ], "terminator": { @@ -5270,8 +4949,7 @@ "otherwise": 40 } } - }, - "span": 90 + } } }, { @@ -5316,9 +4994,9 @@ } } }, - "ty": 27 + "ty": 25 }, - "span": 32, + "span": 27, "user_ty": null } } @@ -5332,17 +5010,16 @@ "const_": { "id": 9, "kind": "ZeroSized", - "ty": 26 + "ty": 24 }, - "span": 94, + "span": 88, "user_ty": null } }, "target": null, "unwind": "Continue" } - }, - "span": 94 + } } }, { @@ -5376,9 +5053,9 @@ } } }, - "ty": 16 + "ty": 15 }, - "span": 96, + "span": 90, "user_ty": null } }, @@ -5401,17 +5078,16 @@ } } }, - "ty": 16 + "ty": 15 }, - "span": 97, + "span": 91, "user_ty": null } } ] } ] - }, - "span": 98 + } } ], "terminator": { @@ -5433,8 +5109,7 @@ "otherwise": 42 } } - }, - "span": 95 + } } }, { @@ -5479,9 +5154,9 @@ } } }, - "ty": 27 + "ty": 25 }, - "span": 32, + "span": 27, "user_ty": null } } @@ -5495,17 +5170,16 @@ "const_": { "id": 9, "kind": "ZeroSized", - "ty": 26 + "ty": 24 }, - "span": 99, + "span": 93, "user_ty": null } }, "target": null, "unwind": "Continue" } - }, - "span": 99 + } } }, { @@ -5539,9 +5213,9 @@ } } }, - "ty": 16 + "ty": 15 }, - "span": 101, + "span": 95, "user_ty": null } }, @@ -5564,17 +5238,16 @@ } } }, - "ty": 16 + "ty": 15 }, - "span": 102, + "span": 96, "user_ty": null } } ] } ] - }, - "span": 103 + } } ], "terminator": { @@ -5596,8 +5269,7 @@ "otherwise": 44 } } - }, - "span": 100 + } } }, { @@ -5642,9 +5314,9 @@ } } }, - "ty": 27 + "ty": 25 }, - "span": 32, + "span": 27, "user_ty": null } } @@ -5658,17 +5330,16 @@ "const_": { "id": 9, "kind": "ZeroSized", - "ty": 26 + "ty": 24 }, - "span": 104, + "span": 98, "user_ty": null } }, "target": null, "unwind": "Continue" } - }, - "span": 104 + } } }, { @@ -5702,9 +5373,9 @@ } } }, - "ty": 16 + "ty": 15 }, - "span": 106, + "span": 100, "user_ty": null } }, @@ -5727,17 +5398,16 @@ } } }, - "ty": 16 + "ty": 15 }, - "span": 107, + "span": 101, "user_ty": null } } ] } ] - }, - "span": 108 + } } ], "terminator": { @@ -5759,8 +5429,7 @@ "otherwise": 46 } } - }, - "span": 105 + } } }, { @@ -5805,9 +5474,9 @@ } } }, - "ty": 27 + "ty": 25 }, - "span": 32, + "span": 27, "user_ty": null } } @@ -5821,17 +5490,16 @@ "const_": { "id": 9, "kind": "ZeroSized", - "ty": 26 + "ty": 24 }, - "span": 109, + "span": 103, "user_ty": null } }, "target": null, "unwind": "Continue" } - }, - "span": 109 + } } }, { @@ -5865,9 +5533,9 @@ } } }, - "ty": 16 + "ty": 15 }, - "span": 111, + "span": 105, "user_ty": null } }, @@ -5890,17 +5558,16 @@ } } }, - "ty": 16 + "ty": 15 }, - "span": 112, + "span": 106, "user_ty": null } } ] } ] - }, - "span": 113 + } } ], "terminator": { @@ -5922,8 +5589,7 @@ "otherwise": 48 } } - }, - "span": 110 + } } }, { @@ -5968,9 +5634,9 @@ } } }, - "ty": 27 + "ty": 25 }, - "span": 32, + "span": 27, "user_ty": null } } @@ -5984,17 +5650,16 @@ "const_": { "id": 9, "kind": "ZeroSized", - "ty": 26 + "ty": 24 }, - "span": 114, + "span": 108, "user_ty": null } }, "target": null, "unwind": "Continue" } - }, - "span": 114 + } } }, { @@ -6028,18 +5693,17 @@ } } }, - "ty": 16 + "ty": 15 }, - "span": 116, + "span": 110, "user_ty": null } }, - 28 + 26 ] } ] - }, - "span": 117 + } }, { "kind": { @@ -6076,17 +5740,16 @@ } } }, - "ty": 28 + "ty": 26 }, - "span": 117, + "span": 111, "user_ty": null } } ] } ] - }, - "span": 117 + } } ], "terminator": { @@ -6121,9 +5784,9 @@ } } }, - "ty": 16 + "ty": 15 }, - "span": 115, + "span": 109, "user_ty": null } }, @@ -6146,9 +5809,9 @@ } } }, - "ty": 16 + "ty": 15 }, - "span": 116, + "span": 110, "user_ty": null } } @@ -6157,8 +5820,7 @@ "target": 49, "unwind": "Continue" } - }, - "span": 117 + } } }, { @@ -6203,9 +5865,9 @@ } } }, - "ty": 27 + "ty": 25 }, - "span": 32, + "span": 27, "user_ty": null } } @@ -6219,17 +5881,16 @@ "const_": { "id": 9, "kind": "ZeroSized", - "ty": 26 + "ty": 24 }, - "span": 118, + "span": 112, "user_ty": null } }, "target": null, "unwind": "Continue" } - }, - "span": 118 + } } }, { @@ -6263,9 +5924,9 @@ } } }, - "ty": 16 + "ty": 15 }, - "span": 115, + "span": 109, "user_ty": null } }, @@ -6288,17 +5949,16 @@ } } }, - "ty": 16 + "ty": 15 }, - "span": 116, + "span": 110, "user_ty": null } } ] } ] - }, - "span": 117 + } } ], "terminator": { @@ -6320,8 +5980,7 @@ "otherwise": 51 } } - }, - "span": 119 + } } }, { @@ -6355,18 +6014,17 @@ } } }, - "ty": 16 + "ty": 15 }, - "span": 121, + "span": 115, "user_ty": null } }, - 28 + 26 ] } ] - }, - "span": 122 + } }, { "kind": { @@ -6403,17 +6061,16 @@ } } }, - "ty": 28 + "ty": 26 }, - "span": 122, + "span": 116, "user_ty": null } } ] } ] - }, - "span": 122 + } } ], "terminator": { @@ -6448,9 +6105,9 @@ } } }, - "ty": 16 + "ty": 15 }, - "span": 120, + "span": 114, "user_ty": null } }, @@ -6473,9 +6130,9 @@ } } }, - "ty": 16 + "ty": 15 }, - "span": 121, + "span": 115, "user_ty": null } } @@ -6484,8 +6141,7 @@ "target": 52, "unwind": "Continue" } - }, - "span": 122 + } } }, { @@ -6530,9 +6186,9 @@ } } }, - "ty": 27 + "ty": 25 }, - "span": 32, + "span": 27, "user_ty": null } } @@ -6546,17 +6202,16 @@ "const_": { "id": 9, "kind": "ZeroSized", - "ty": 26 + "ty": 24 }, - "span": 123, + "span": 117, "user_ty": null } }, "target": null, "unwind": "Continue" } - }, - "span": 123 + } } }, { @@ -6590,9 +6245,9 @@ } } }, - "ty": 16 + "ty": 15 }, - "span": 120, + "span": 114, "user_ty": null } }, @@ -6615,17 +6270,16 @@ } } }, - "ty": 16 + "ty": 15 }, - "span": 121, + "span": 115, "user_ty": null } } ] } ] - }, - "span": 122 + } } ], "terminator": { @@ -6647,8 +6301,7 @@ "otherwise": 54 } } - }, - "span": 124 + } } }, { @@ -6682,18 +6335,17 @@ } } }, - "ty": 16 + "ty": 15 }, - "span": 126, + "span": 120, "user_ty": null } }, - 28 + 26 ] } ] - }, - "span": 127 + } }, { "kind": { @@ -6730,17 +6382,16 @@ } } }, - "ty": 28 + "ty": 26 }, - "span": 127, + "span": 121, "user_ty": null } } ] } ] - }, - "span": 127 + } } ], "terminator": { @@ -6775,9 +6426,9 @@ } } }, - "ty": 16 + "ty": 15 }, - "span": 125, + "span": 119, "user_ty": null } }, @@ -6800,9 +6451,9 @@ } } }, - "ty": 16 + "ty": 15 }, - "span": 126, + "span": 120, "user_ty": null } } @@ -6811,8 +6462,7 @@ "target": 55, "unwind": "Continue" } - }, - "span": 127 + } } }, { @@ -6857,9 +6507,9 @@ } } }, - "ty": 27 + "ty": 25 }, - "span": 32, + "span": 27, "user_ty": null } } @@ -6873,17 +6523,16 @@ "const_": { "id": 9, "kind": "ZeroSized", - "ty": 26 + "ty": 24 }, - "span": 128, + "span": 122, "user_ty": null } }, "target": null, "unwind": "Continue" } - }, - "span": 128 + } } }, { @@ -6917,9 +6566,9 @@ } } }, - "ty": 16 + "ty": 15 }, - "span": 125, + "span": 119, "user_ty": null } }, @@ -6942,17 +6591,16 @@ } } }, - "ty": 16 + "ty": 15 }, - "span": 126, + "span": 120, "user_ty": null } } ] } ] - }, - "span": 127 + } } ], "terminator": { @@ -6974,8 +6622,7 @@ "otherwise": 57 } } - }, - "span": 129 + } } }, { @@ -7009,18 +6656,17 @@ } } }, - "ty": 16 + "ty": 15 }, - "span": 131, + "span": 125, "user_ty": null } }, - 28 + 26 ] } ] - }, - "span": 132 + } }, { "kind": { @@ -7057,17 +6703,16 @@ } } }, - "ty": 28 + "ty": 26 }, - "span": 132, + "span": 126, "user_ty": null } } ] } ] - }, - "span": 132 + } } ], "terminator": { @@ -7102,9 +6747,9 @@ } } }, - "ty": 16 + "ty": 15 }, - "span": 130, + "span": 124, "user_ty": null } }, @@ -7127,9 +6772,9 @@ } } }, - "ty": 16 + "ty": 15 }, - "span": 131, + "span": 125, "user_ty": null } } @@ -7138,8 +6783,7 @@ "target": 58, "unwind": "Continue" } - }, - "span": 132 + } } }, { @@ -7184,9 +6828,9 @@ } } }, - "ty": 27 + "ty": 25 }, - "span": 32, + "span": 27, "user_ty": null } } @@ -7200,17 +6844,16 @@ "const_": { "id": 9, "kind": "ZeroSized", - "ty": 26 + "ty": 24 }, - "span": 133, + "span": 127, "user_ty": null } }, "target": null, "unwind": "Continue" } - }, - "span": 133 + } } }, { @@ -7244,9 +6887,9 @@ } } }, - "ty": 16 + "ty": 15 }, - "span": 130, + "span": 124, "user_ty": null } }, @@ -7269,17 +6912,16 @@ } } }, - "ty": 16 + "ty": 15 }, - "span": 131, + "span": 125, "user_ty": null } } ] } ] - }, - "span": 132 + } } ], "terminator": { @@ -7301,8 +6943,7 @@ "otherwise": 60 } } - }, - "span": 134 + } } }, { @@ -7332,8 +6973,7 @@ ] } ] - }, - "span": 135 + } } ], "terminator": { @@ -7346,7 +6986,7 @@ { "Field": [ 1, - 25 + 23 ] } ] @@ -7373,8 +7013,7 @@ "target": 61, "unwind": "Continue" } - }, - "span": 135 + } } }, { @@ -7419,9 +7058,9 @@ } } }, - "ty": 27 + "ty": 25 }, - "span": 32, + "span": 27, "user_ty": null } } @@ -7435,17 +7074,16 @@ "const_": { "id": 9, "kind": "ZeroSized", - "ty": 26 + "ty": 24 }, - "span": 136, + "span": 130, "user_ty": null } }, "target": null, "unwind": "Continue" } - }, - "span": 136 + } } }, { @@ -7465,7 +7103,7 @@ { "Field": [ 0, - 16 + 15 ] } ] @@ -7473,8 +7111,7 @@ } } ] - }, - "span": 135 + } }, { "kind": { @@ -7501,8 +7138,7 @@ ] } ] - }, - "span": 137 + } } ], "terminator": { @@ -7524,8 +7160,7 @@ "otherwise": 62 } } - }, - "span": 137 + } } }, { @@ -7555,8 +7190,7 @@ ] } ] - }, - "span": 138 + } } ], "terminator": { @@ -7569,7 +7203,7 @@ { "Field": [ 1, - 25 + 23 ] } ] @@ -7596,8 +7230,7 @@ "target": 64, "unwind": "Continue" } - }, - "span": 138 + } } }, { @@ -7642,9 +7275,9 @@ } } }, - "ty": 27 + "ty": 25 }, - "span": 32, + "span": 27, "user_ty": null } } @@ -7658,17 +7291,16 @@ "const_": { "id": 9, "kind": "ZeroSized", - "ty": 26 + "ty": 24 }, - "span": 139, + "span": 133, "user_ty": null } }, "target": null, "unwind": "Continue" } - }, - "span": 139 + } } }, { @@ -7688,7 +7320,7 @@ { "Field": [ 0, - 16 + 15 ] } ] @@ -7696,8 +7328,7 @@ } } ] - }, - "span": 138 + } }, { "kind": { @@ -7724,8 +7355,7 @@ ] } ] - }, - "span": 140 + } } ], "terminator": { @@ -7747,8 +7377,7 @@ "otherwise": 65 } } - }, - "span": 140 + } } }, { @@ -7778,8 +7407,7 @@ ] } ] - }, - "span": 141 + } } ], "terminator": { @@ -7792,7 +7420,7 @@ { "Field": [ 1, - 25 + 23 ] } ] @@ -7819,8 +7447,7 @@ "target": 67, "unwind": "Continue" } - }, - "span": 141 + } } }, { @@ -7865,9 +7492,9 @@ } } }, - "ty": 27 + "ty": 25 }, - "span": 32, + "span": 27, "user_ty": null } } @@ -7881,17 +7508,16 @@ "const_": { "id": 9, "kind": "ZeroSized", - "ty": 26 + "ty": 24 }, - "span": 142, + "span": 136, "user_ty": null } }, "target": null, "unwind": "Continue" } - }, - "span": 142 + } } }, { @@ -7911,7 +7537,7 @@ { "Field": [ 0, - 16 + 15 ] } ] @@ -7919,8 +7545,7 @@ } } ] - }, - "span": 141 + } }, { "kind": { @@ -7947,8 +7572,7 @@ ] } ] - }, - "span": 143 + } } ], "terminator": { @@ -7961,7 +7585,7 @@ { "Field": [ 1, - 25 + 23 ] } ] @@ -7988,8 +7612,7 @@ "target": 68, "unwind": "Continue" } - }, - "span": 143 + } } }, { @@ -8009,7 +7632,7 @@ { "Field": [ 0, - 16 + 15 ] } ] @@ -8017,8 +7640,7 @@ } } ] - }, - "span": 143 + } }, { "kind": { @@ -8045,8 +7667,7 @@ ] } ] - }, - "span": 144 + } } ], "terminator": { @@ -8068,8 +7689,7 @@ "otherwise": 69 } } - }, - "span": 144 + } } }, { @@ -8099,8 +7719,7 @@ ] } ] - }, - "span": 145 + } } ], "terminator": { @@ -8113,7 +7732,7 @@ { "Field": [ 1, - 25 + 23 ] } ] @@ -8140,8 +7759,7 @@ "target": 71, "unwind": "Continue" } - }, - "span": 145 + } } }, { @@ -8186,9 +7804,9 @@ } } }, - "ty": 27 + "ty": 25 }, - "span": 32, + "span": 27, "user_ty": null } } @@ -8202,17 +7820,16 @@ "const_": { "id": 9, "kind": "ZeroSized", - "ty": 26 + "ty": 24 }, - "span": 146, + "span": 140, "user_ty": null } }, "target": null, "unwind": "Continue" } - }, - "span": 146 + } } }, { @@ -8232,7 +7849,7 @@ { "Field": [ 0, - 16 + 15 ] } ] @@ -8240,8 +7857,7 @@ } } ] - }, - "span": 145 + } }, { "kind": { @@ -8268,8 +7884,7 @@ ] } ] - }, - "span": 147 + } } ], "terminator": { @@ -8291,8 +7906,7 @@ "otherwise": 72 } } - }, - "span": 147 + } } }, { @@ -8322,8 +7936,7 @@ ] } ] - }, - "span": 148 + } } ], "terminator": { @@ -8336,7 +7949,7 @@ { "Field": [ 1, - 25 + 23 ] } ] @@ -8363,8 +7976,7 @@ "target": 74, "unwind": "Continue" } - }, - "span": 148 + } } }, { @@ -8409,9 +8021,9 @@ } } }, - "ty": 27 + "ty": 25 }, - "span": 32, + "span": 27, "user_ty": null } } @@ -8425,17 +8037,16 @@ "const_": { "id": 9, "kind": "ZeroSized", - "ty": 26 + "ty": 24 }, - "span": 149, + "span": 143, "user_ty": null } }, "target": null, "unwind": "Continue" } - }, - "span": 149 + } } }, { @@ -8455,7 +8066,7 @@ { "Field": [ 0, - 16 + 15 ] } ] @@ -8463,8 +8074,7 @@ } } ] - }, - "span": 148 + } }, { "kind": { @@ -8491,8 +8101,7 @@ ] } ] - }, - "span": 150 + } } ], "terminator": { @@ -8514,8 +8123,7 @@ "otherwise": 75 } } - }, - "span": 150 + } } }, { @@ -8545,8 +8153,7 @@ ] } ] - }, - "span": 151 + } } ], "terminator": { @@ -8559,7 +8166,7 @@ { "Field": [ 1, - 25 + 23 ] } ] @@ -8586,8 +8193,7 @@ "target": 77, "unwind": "Continue" } - }, - "span": 151 + } } }, { @@ -8632,9 +8238,9 @@ } } }, - "ty": 27 + "ty": 25 }, - "span": 32, + "span": 27, "user_ty": null } } @@ -8648,17 +8254,16 @@ "const_": { "id": 9, "kind": "ZeroSized", - "ty": 26 + "ty": 24 }, - "span": 152, + "span": 146, "user_ty": null } }, "target": null, "unwind": "Continue" } - }, - "span": 152 + } } }, { @@ -8678,7 +8283,7 @@ { "Field": [ 0, - 16 + 15 ] } ] @@ -8686,8 +8291,7 @@ } } ] - }, - "span": 151 + } }, { "kind": { @@ -8714,8 +8318,7 @@ ] } ] - }, - "span": 153 + } } ], "terminator": { @@ -8728,7 +8331,7 @@ { "Field": [ 1, - 25 + 23 ] } ] @@ -8755,8 +8358,7 @@ "target": 78, "unwind": "Continue" } - }, - "span": 153 + } } }, { @@ -8776,7 +8378,7 @@ { "Field": [ 0, - 16 + 15 ] } ] @@ -8784,8 +8386,7 @@ } } ] - }, - "span": 153 + } }, { "kind": { @@ -8812,8 +8413,7 @@ ] } ] - }, - "span": 154 + } } ], "terminator": { @@ -8835,15 +8435,13 @@ "otherwise": 79 } } - }, - "span": 154 + } } }, { "statements": [], "terminator": { - "kind": "Return", - "span": 155 + "kind": "Return" } }, { @@ -8888,9 +8486,9 @@ } } }, - "ty": 27 + "ty": 25 }, - "span": 32, + "span": 27, "user_ty": null } } @@ -8904,538 +8502,434 @@ "const_": { "id": 9, "kind": "ZeroSized", - "ty": 26 + "ty": 24 }, - "span": 156, + "span": 150, "user_ty": null } }, "target": null, "unwind": "Continue" } - }, - "span": 156 + } } } ], "locals": [ { "mutability": "Mut", - "span": 157, "ty": 1 }, { "mutability": "Not", - "span": 158, - "ty": 16 + "ty": 15 }, { "mutability": "Not", - "span": 159, - "ty": 16 + "ty": 15 }, { "mutability": "Mut", - "span": 50, - "ty": 16 + "ty": 15 }, { "mutability": "Mut", - "span": 50, - "ty": 29 + "ty": 27 }, { "mutability": "Mut", - "span": 53, - "ty": 30 + "ty": 28 }, { "mutability": "Mut", - "span": 52, - "ty": 16 + "ty": 15 }, { "mutability": "Mut", - "span": 52, - "ty": 29 + "ty": 27 }, { "mutability": "Mut", - "span": 56, - "ty": 30 + "ty": 28 }, { "mutability": "Mut", - "span": 58, - "ty": 25 + "ty": 23 }, { "mutability": "Mut", - "span": 55, - "ty": 16 + "ty": 15 }, { "mutability": "Mut", - "span": 55, - "ty": 29 + "ty": 27 }, { "mutability": "Mut", - "span": 57, - "ty": 16 + "ty": 15 }, { "mutability": "Mut", - "span": 57, - "ty": 29 + "ty": 27 }, { "mutability": "Mut", - "span": 60, - "ty": 30 + "ty": 28 }, { "mutability": "Mut", - "span": 59, - "ty": 16 + "ty": 15 }, { "mutability": "Mut", - "span": 59, - "ty": 29 + "ty": 27 }, { "mutability": "Mut", - "span": 63, - "ty": 30 + "ty": 28 }, { "mutability": "Mut", - "span": 62, - "ty": 16 + "ty": 15 }, { "mutability": "Mut", - "span": 62, - "ty": 29 + "ty": 27 }, { "mutability": "Mut", - "span": 66, - "ty": 30 + "ty": 28 }, { "mutability": "Mut", - "span": 68, - "ty": 25 + "ty": 23 }, { "mutability": "Mut", - "span": 65, - "ty": 16 + "ty": 15 }, { "mutability": "Mut", - "span": 65, - "ty": 29 + "ty": 27 }, { "mutability": "Mut", - "span": 67, - "ty": 16 + "ty": 15 }, { "mutability": "Mut", - "span": 67, - "ty": 29 + "ty": 27 }, { "mutability": "Mut", - "span": 70, - "ty": 30 + "ty": 28 }, { "mutability": "Mut", - "span": 69, - "ty": 16 + "ty": 15 }, { "mutability": "Mut", - "span": 69, - "ty": 29 + "ty": 27 }, { "mutability": "Mut", - "span": 73, - "ty": 30 + "ty": 28 }, { "mutability": "Mut", - "span": 74, - "ty": 16 + "ty": 15 }, { "mutability": "Mut", - "span": 72, - "ty": 16 + "ty": 15 }, { "mutability": "Mut", - "span": 72, - "ty": 25 + "ty": 23 }, { "mutability": "Mut", - "span": 74, - "ty": 29 + "ty": 27 }, { "mutability": "Mut", - "span": 77, - "ty": 30 + "ty": 28 }, { "mutability": "Mut", - "span": 78, - "ty": 16 + "ty": 15 }, { "mutability": "Mut", - "span": 76, - "ty": 16 + "ty": 15 }, { "mutability": "Mut", - "span": 76, - "ty": 25 + "ty": 23 }, { "mutability": "Mut", - "span": 78, - "ty": 29 + "ty": 27 }, { "mutability": "Mut", - "span": 81, - "ty": 30 + "ty": 28 }, { "mutability": "Mut", - "span": 83, - "ty": 16 + "ty": 15 }, { "mutability": "Mut", - "span": 80, - "ty": 16 + "ty": 15 }, { "mutability": "Mut", - "span": 80, - "ty": 25 + "ty": 23 }, { "mutability": "Mut", - "span": 82, - "ty": 16 + "ty": 15 }, { "mutability": "Mut", - "span": 82, - "ty": 25 + "ty": 23 }, { "mutability": "Mut", - "span": 83, - "ty": 29 + "ty": 27 }, { "mutability": "Mut", - "span": 89, - "ty": 30 + "ty": 28 }, { "mutability": "Mut", - "span": 88, - "ty": 16 + "ty": 15 }, { "mutability": "Mut", - "span": 94, - "ty": 30 + "ty": 28 }, { "mutability": "Mut", - "span": 93, - "ty": 16 + "ty": 15 }, { "mutability": "Mut", - "span": 99, - "ty": 30 + "ty": 28 }, { "mutability": "Mut", - "span": 98, - "ty": 16 + "ty": 15 }, { "mutability": "Mut", - "span": 104, - "ty": 30 + "ty": 28 }, { "mutability": "Mut", - "span": 103, - "ty": 16 + "ty": 15 }, { "mutability": "Mut", - "span": 109, - "ty": 30 + "ty": 28 }, { "mutability": "Mut", - "span": 108, - "ty": 16 + "ty": 15 }, { "mutability": "Mut", - "span": 114, - "ty": 30 + "ty": 28 }, { "mutability": "Mut", - "span": 113, - "ty": 16 + "ty": 15 }, { "mutability": "Mut", - "span": 118, - "ty": 30 + "ty": 28 }, { "mutability": "Mut", - "span": 117, - "ty": 16 + "ty": 15 }, { "mutability": "Mut", - "span": 117, - "ty": 28 + "ty": 26 }, { "mutability": "Mut", - "span": 117, - "ty": 25 + "ty": 23 }, { "mutability": "Mut", - "span": 123, - "ty": 30 + "ty": 28 }, { "mutability": "Mut", - "span": 122, - "ty": 16 + "ty": 15 }, { "mutability": "Mut", - "span": 122, - "ty": 28 + "ty": 26 }, { "mutability": "Mut", - "span": 122, - "ty": 25 + "ty": 23 }, { "mutability": "Mut", - "span": 128, - "ty": 30 + "ty": 28 }, { "mutability": "Mut", - "span": 127, - "ty": 16 + "ty": 15 }, { "mutability": "Mut", - "span": 127, - "ty": 28 + "ty": 26 }, { "mutability": "Mut", - "span": 127, - "ty": 25 + "ty": 23 }, { "mutability": "Mut", - "span": 133, - "ty": 30 + "ty": 28 }, { "mutability": "Mut", - "span": 132, - "ty": 16 + "ty": 15 }, { "mutability": "Mut", - "span": 132, - "ty": 28 + "ty": 26 }, { "mutability": "Mut", - "span": 132, - "ty": 25 + "ty": 23 }, { "mutability": "Mut", - "span": 136, - "ty": 30 + "ty": 28 }, { "mutability": "Mut", - "span": 137, - "ty": 25 + "ty": 23 }, { "mutability": "Mut", - "span": 135, - "ty": 16 + "ty": 15 }, { "mutability": "Mut", - "span": 135, - "ty": 29 + "ty": 27 }, { "mutability": "Mut", - "span": 139, - "ty": 30 + "ty": 28 }, { "mutability": "Mut", - "span": 140, - "ty": 25 + "ty": 23 }, { "mutability": "Mut", - "span": 138, - "ty": 16 + "ty": 15 }, { "mutability": "Mut", - "span": 138, - "ty": 29 + "ty": 27 }, { "mutability": "Mut", - "span": 142, - "ty": 30 + "ty": 28 }, { "mutability": "Mut", - "span": 144, - "ty": 25 + "ty": 23 }, { "mutability": "Mut", - "span": 143, - "ty": 16 + "ty": 15 }, { "mutability": "Mut", - "span": 141, - "ty": 16 + "ty": 15 }, { "mutability": "Mut", - "span": 141, - "ty": 29 + "ty": 27 }, { "mutability": "Mut", - "span": 143, - "ty": 29 + "ty": 27 }, { "mutability": "Mut", - "span": 146, - "ty": 30 + "ty": 28 }, { "mutability": "Mut", - "span": 147, - "ty": 25 + "ty": 23 }, { "mutability": "Mut", - "span": 145, - "ty": 16 + "ty": 15 }, { "mutability": "Mut", - "span": 145, - "ty": 29 + "ty": 27 }, { "mutability": "Mut", - "span": 149, - "ty": 30 + "ty": 28 }, { "mutability": "Mut", - "span": 150, - "ty": 25 + "ty": 23 }, { "mutability": "Mut", - "span": 148, - "ty": 16 + "ty": 15 }, { "mutability": "Mut", - "span": 148, - "ty": 29 + "ty": 27 }, { "mutability": "Mut", - "span": 152, - "ty": 30 + "ty": 28 }, { "mutability": "Mut", - "span": 154, - "ty": 25 + "ty": 23 }, { "mutability": "Mut", - "span": 153, - "ty": 16 + "ty": 15 }, { "mutability": "Mut", - "span": 151, - "ty": 16 + "ty": 15 }, { "mutability": "Mut", - "span": 151, - "ty": 29 + "ty": 27 }, { "mutability": "Mut", - "span": 153, - "ty": 29 + "ty": 27 }, { "mutability": "Mut", - "span": 156, - "ty": 30 + "ty": 28 } ], - "span": 160, + "span": 154, "spread_arg": null, "var_debug_info": [ { @@ -9444,7 +8938,7 @@ "name": "x", "source_info": { "scope": 0, - "span": 158 + "span": 152 }, "value": { "Place": { @@ -9459,7 +8953,7 @@ "name": "y", "source_info": { "scope": 0, - "span": 159 + "span": 153 }, "value": { "Place": { @@ -9470,7 +8964,7 @@ } ] }, - "id": 6, + "id": 5, "name": "test_binop" } }, @@ -9512,16 +9006,15 @@ } } }, - "ty": 16 + "ty": 15 }, - "span": 163, + "span": 157, "user_ty": null } } } ] - }, - "span": 164 + } }, { "kind": { @@ -9550,16 +9043,15 @@ } } }, - "ty": 16 + "ty": 15 }, - "span": 165, + "span": 159, "user_ty": null } } } ] - }, - "span": 166 + } } ], "terminator": { @@ -9588,50 +9080,44 @@ "const_": { "id": 41, "kind": "ZeroSized", - "ty": 31 + "ty": 29 }, - "span": 161, + "span": 155, "user_ty": null } }, "target": 1, "unwind": "Continue" } - }, - "span": 162 + } } }, { "statements": [], "terminator": { - "kind": "Return", - "span": 167 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 168, "ty": 1 }, { "mutability": "Not", - "span": 162, "ty": 1 }, { "mutability": "Mut", - "span": 164, - "ty": 16 + "ty": 15 }, { "mutability": "Mut", - "span": 166, - "ty": 16 + "ty": 15 } ], - "span": 171, + "span": 165, "spread_arg": null, "var_debug_info": [ { @@ -9640,7 +9126,7 @@ "name": "x", "source_info": { "scope": 1, - "span": 169 + "span": 163 }, "value": { "Const": { @@ -9661,9 +9147,9 @@ } } }, - "ty": 16 + "ty": 15 }, - "span": 163, + "span": 157, "user_ty": null } } @@ -9674,7 +9160,7 @@ "name": "y", "source_info": { "scope": 2, - "span": 170 + "span": 164 }, "value": { "Const": { @@ -9695,16 +9181,16 @@ } } }, - "ty": 16 + "ty": 15 }, - "span": 165, + "span": 159, "user_ty": null } } } ] }, - "id": 7, + "id": 6, "name": "main" } }, @@ -9750,23 +9236,6 @@ } } ], - [ - { - "EnumType": { - "discriminants": [ - [ - 0, - 0 - ], - [ - 1, - 1 - ] - ], - "name": "std::result::Result" - } - } - ], [ { "StructType": { @@ -9787,7 +9256,7 @@ { "StructType": { "fields": "elided", - "name": "std::sys::pal::unix::process::process_common::ExitCode" + "name": "std::sys::process::unix::common::ExitCode" } } ], @@ -9840,11 +9309,6 @@ "RefType": "elided" } ], - [ - { - "RefType": "elided" - } - ], [ { "RefType": "elided" diff --git a/tests/integration/programs/char-trivial.smir.json.expected b/tests/integration/programs/char-trivial.smir.json.expected index 04ca180c..13a5670b 100644 --- a/tests/integration/programs/char-trivial.smir.json.expected +++ b/tests/integration/programs/char-trivial.smir.json.expected @@ -124,16 +124,15 @@ } } }, - "ty": 25 + "ty": 23 }, - "span": 51, + "span": 45, "user_ty": null } } } ] - }, - "span": 52 + } } ], "terminator": { @@ -155,15 +154,13 @@ "otherwise": 2 } } - }, - "span": 50 + } } }, { "statements": [], "terminator": { - "kind": "Return", - "span": 53 + "kind": "Return" } }, { @@ -208,9 +205,9 @@ } } }, - "ty": 27 + "ty": 25 }, - "span": 32, + "span": 27, "user_ty": null } } @@ -224,38 +221,34 @@ "const_": { "id": 10, "kind": "ZeroSized", - "ty": 26 + "ty": 24 }, - "span": 54, + "span": 48, "user_ty": null } }, "target": null, "unwind": "Continue" } - }, - "span": 54 + } } } ], "locals": [ { "mutability": "Mut", - "span": 55, "ty": 1 }, { "mutability": "Mut", - "span": 52, - "ty": 25 + "ty": 23 }, { "mutability": "Mut", - "span": 54, - "ty": 28 + "ty": 26 } ], - "span": 57, + "span": 51, "spread_arg": null, "var_debug_info": [ { @@ -264,7 +257,7 @@ "name": "a", "source_info": { "scope": 1, - "span": 56 + "span": 50 }, "value": { "Const": { @@ -285,16 +278,16 @@ } } }, - "ty": 25 + "ty": 23 }, - "span": 51, + "span": 45, "user_ty": null } } } ] }, - "id": 6, + "id": 5, "name": "main" } }, @@ -312,26 +305,18 @@ { "kind": { "StorageLive": 5 - }, - "span": 1 - }, - { - "kind": { - "StorageLive": 6 - }, - "span": 2 + } }, { "kind": { - "StorageLive": 8 - }, - "span": 3 + "StorageLive": 7 + } }, { "kind": { "Assign": [ { - "local": 8, + "local": 7, "projection": [] }, { @@ -366,14 +351,13 @@ ] } ] - }, - "span": 3 + } }, { "kind": { "Assign": [ { - "local": 7, + "local": 6, "projection": [] }, { @@ -383,20 +367,19 @@ }, "Shared", { - "local": 8, + "local": 7, "projection": [] } ] } ] - }, - "span": 2 + } }, { "kind": { "Assign": [ { - "local": 6, + "local": 5, "projection": [] }, { @@ -406,7 +389,7 @@ }, { "Copy": { - "local": 7, + "local": 6, "projection": [] } }, @@ -414,8 +397,7 @@ ] } ] - }, - "span": 2 + } } ], "terminator": { @@ -424,7 +406,7 @@ "args": [ { "Move": { - "local": 6, + "local": 5, "projection": [] } }, @@ -448,7 +430,7 @@ } ], "destination": { - "local": 5, + "local": 0, "projection": [] }, "func": { @@ -465,114 +447,62 @@ "target": 1, "unwind": "Continue" } - }, - "span": 1 + } } }, { "statements": [ { "kind": { - "StorageDead": 6 - }, - "span": 5 - }, - { - "kind": { - "Assign": [ - { - "local": 0, - "projection": [] - }, - { - "Use": { - "Copy": { - "local": 5, - "projection": [ - { - "Downcast": 0 - }, - { - "Field": [ - 0, - 6 - ] - } - ] - } - } - } - ] - }, - "span": 6 - }, - { - "kind": { - "StorageDead": 8 - }, - "span": 7 + "StorageDead": 7 + } }, { "kind": { "StorageDead": 5 - }, - "span": 7 + } } ], "terminator": { - "kind": "Return", - "span": 4 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 8, "ty": 6 }, { "mutability": "Not", - "span": 9, "ty": 7 }, { "mutability": "Not", - "span": 10, "ty": 6 }, { "mutability": "Not", - "span": 11, "ty": 8 }, { "mutability": "Not", - "span": 12, "ty": 9 }, { "mutability": "Mut", - "span": 1, - "ty": 10 - }, - { - "mutability": "Mut", - "span": 2, "ty": 5 }, { "mutability": "Not", - "span": 2, - "ty": 11 + "ty": 10 }, { "mutability": "Not", - "span": 3, - "ty": 12 + "ty": 11 } ], - "span": 13, + "span": 11, "spread_arg": null, "var_debug_info": [ { @@ -581,7 +511,7 @@ "name": "main", "source_info": { "scope": 0, - "span": 9 + "span": 7 }, "value": { "Place": { @@ -596,7 +526,7 @@ "name": "argc", "source_info": { "scope": 0, - "span": 10 + "span": 8 }, "value": { "Place": { @@ -611,7 +541,7 @@ "name": "argv", "source_info": { "scope": 0, - "span": 11 + "span": 9 }, "value": { "Place": { @@ -626,7 +556,7 @@ "name": "sigpipe", "source_info": { "scope": 0, - "span": 12 + "span": 10 }, "value": { "Place": { @@ -634,21 +564,6 @@ "projection": [] } } - }, - { - "argument_index": null, - "composite": null, - "name": "v", - "source_info": { - "scope": 1, - "span": 6 - }, - "value": { - "Place": { - "local": 0, - "projection": [] - } - } } ] }, @@ -670,20 +585,17 @@ { "kind": { "StorageLive": 2 - }, - "span": 16 + } }, { "kind": { "StorageLive": 3 - }, - "span": 15 + } }, { "kind": { "StorageLive": 4 - }, - "span": 17 + } }, { "kind": { @@ -709,8 +621,7 @@ } } ] - }, - "span": 17 + } } ], "terminator": { @@ -733,17 +644,16 @@ "const_": { "id": 1, "kind": "ZeroSized", - "ty": 13 + "ty": 12 }, - "span": 14, + "span": 12, "user_ty": null } }, "target": 1, "unwind": "Continue" } - }, - "span": 15 + } } }, { @@ -751,8 +661,7 @@ { "kind": { "StorageDead": 4 - }, - "span": 19 + } } ], "terminator": { @@ -775,17 +684,16 @@ "const_": { "id": 2, "kind": "ZeroSized", - "ty": 14 + "ty": 13 }, - "span": 18, + "span": 16, "user_ty": null } }, "target": 2, "unwind": "Continue" } - }, - "span": 16 + } } }, { @@ -793,14 +701,12 @@ { "kind": { "StorageDead": 3 - }, - "span": 21 + } }, { "kind": { "StorageLive": 5 - }, - "span": 22 + } }, { "kind": { @@ -809,42 +715,6 @@ "local": 5, "projection": [] }, - { - "Ref": [ - { - "kind": "ReErased" - }, - "Shared", - { - "local": 2, - "projection": [ - { - "Field": [ - 0, - 15 - ] - } - ] - } - ] - } - ] - }, - "span": 22 - }, - { - "kind": { - "StorageLive": 6 - }, - "span": 23 - }, - { - "kind": { - "Assign": [ - { - "local": 6, - "projection": [] - }, { "Use": { "Copy": { @@ -853,7 +723,7 @@ { "Field": [ 0, - 15 + 14 ] }, { @@ -867,8 +737,7 @@ } } ] - }, - "span": 23 + } }, { "kind": { @@ -882,76 +751,55 @@ "IntToInt", { "Move": { - "local": 6, + "local": 5, "projection": [] } }, - 16 + 15 ] } ] - }, - "span": 24 - }, - { - "kind": { - "StorageDead": 6 - }, - "span": 25 + } }, { "kind": { "StorageDead": 5 - }, - "span": 26 + } }, { "kind": { "StorageDead": 2 - }, - "span": 27 + } } ], "terminator": { - "kind": "Return", - "span": 20 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 28, - "ty": 16 + "ty": 15 }, { "mutability": "Mut", - "span": 3, - "ty": 11 + "ty": 10 }, { "mutability": "Mut", - "span": 16, - "ty": 17 + "ty": 16 }, { "mutability": "Mut", - "span": 15, "ty": 1 }, { "mutability": "Mut", - "span": 17, "ty": 7 }, { "mutability": "Mut", - "span": 22, - "ty": 18 - }, - { - "mutability": "Mut", - "span": 23, "ty": 9 } ], @@ -964,7 +812,7 @@ "name": "main", "source_info": { "scope": 0, - "span": 9 + "span": 7 }, "value": { "Place": { @@ -987,7 +835,7 @@ "name": "self", "source_info": { "scope": 1, - "span": 29 + "span": 25 }, "value": { "Place": { @@ -995,21 +843,6 @@ "projection": [] } } - }, - { - "argument_index": 1, - "composite": null, - "name": "self", - "source_info": { - "scope": 2, - "span": 30 - }, - "value": { - "Place": { - "local": 5, - "projection": [] - } - } } ] }, @@ -1045,7 +878,7 @@ "kind": "ZeroSized", "ty": 1 }, - "span": 32, + "span": 27, "user_ty": null } } @@ -1059,17 +892,16 @@ "const_": { "id": 3, "kind": "ZeroSized", - "ty": 19 + "ty": 17 }, - "span": 31, + "span": 26, "user_ty": null } }, "target": 1, "unwind": "Continue" } - }, - "span": 33 + } } }, { @@ -1085,7 +917,7 @@ "kind": "ZeroSized", "ty": 1 }, - "span": 32, + "span": 27, "user_ty": null } } @@ -1099,45 +931,40 @@ "const_": { "id": 5, "kind": "ZeroSized", - "ty": 20 + "ty": 18 }, - "span": 34, + "span": 29, "user_ty": null } }, "target": 2, "unwind": "Unreachable" } - }, - "span": 35 + } } }, { "statements": [], "terminator": { - "kind": "Return", - "span": 36 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 37, "ty": 1 }, { "mutability": "Not", - "span": 38, "ty": 7 }, { "mutability": "Not", - "span": 39, "ty": 1 } ], - "span": 42, + "span": 37, "spread_arg": null, "var_debug_info": [ { @@ -1146,7 +973,7 @@ "name": "f", "source_info": { "scope": 0, - "span": 38 + "span": 33 }, "value": { "Place": { @@ -1161,7 +988,7 @@ "name": "result", "source_info": { "scope": 1, - "span": 40 + "span": 35 }, "value": { "Place": { @@ -1176,7 +1003,7 @@ "name": "dummy", "source_info": { "scope": 2, - "span": 41 + "span": 36 }, "value": { "Const": { @@ -1185,7 +1012,7 @@ "kind": "ZeroSized", "ty": 1 }, - "span": 32, + "span": 27, "user_ty": null } } @@ -1235,45 +1062,40 @@ "const_": { "id": 6, "kind": "ZeroSized", - "ty": 21 + "ty": 19 }, - "span": 43, + "span": 38, "user_ty": null } }, "target": 1, "unwind": "Continue" } - }, - "span": 43 + } } }, { "statements": [], "terminator": { - "kind": "Return", - "span": 43 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 43, - "ty": 16 + "ty": 15 }, { "mutability": "Not", - "span": 43, - "ty": 22 + "ty": 20 }, { "mutability": "Not", - "span": 43, "ty": 1 } ], - "span": 43, + "span": 38, "spread_arg": 2, "var_debug_info": [] }, @@ -1283,71 +1105,6 @@ }, "symbol_name": "_ZN4core3ops8function6FnOnce40call_once$u7b$$u7b$vtable.shim$u7d$$u7d$17h" }, - { - "details": null, - "mono_item_kind": { - "MonoItemFn": { - "body": { - "arg_count": 2, - "blocks": [ - { - "statements": [], - "terminator": { - "kind": { - "Call": { - "args": [], - "destination": { - "local": 0, - "projection": [] - }, - "func": { - "Move": { - "local": 1, - "projection": [] - } - }, - "target": 1, - "unwind": "Continue" - } - }, - "span": 43 - } - }, - { - "statements": [], - "terminator": { - "kind": "Return", - "span": 43 - } - } - ], - "locals": [ - { - "mutability": "Mut", - "span": 43, - "ty": 1 - }, - { - "mutability": "Not", - "span": 43, - "ty": 7 - }, - { - "mutability": "Not", - "span": 43, - "ty": 1 - } - ], - "span": 43, - "spread_arg": 2, - "var_debug_info": [] - }, - "id": 3, - "name": ">::call_once" - } - }, - "symbol_name": "_ZN4core3ops8function6FnOnce9call_once17h" - }, { "details": null, "mono_item_kind": { @@ -1381,8 +1138,7 @@ ] } ] - }, - "span": 43 + } } ], "terminator": { @@ -1411,9 +1167,9 @@ "const_": { "id": 7, "kind": "ZeroSized", - "ty": 23 + "ty": 21 }, - "span": 43, + "span": 38, "user_ty": null } }, @@ -1422,8 +1178,7 @@ "Cleanup": 3 } } - }, - "span": 43 + } } }, { @@ -1438,15 +1193,13 @@ "target": 2, "unwind": "Continue" } - }, - "span": 43 + } } }, { "statements": [], "terminator": { - "kind": "Return", - "span": 43 + "kind": "Return" } }, { @@ -1461,41 +1214,35 @@ "target": 4, "unwind": "Terminate" } - }, - "span": 43 + } } }, { "statements": [], "terminator": { - "kind": "Resume", - "span": 43 + "kind": "Resume" } } ], "locals": [ { "mutability": "Mut", - "span": 43, - "ty": 16 + "ty": 15 }, { "mutability": "Not", - "span": 43, - "ty": 12 + "ty": 11 }, { "mutability": "Not", - "span": 43, "ty": 1 }, { "mutability": "Not", - "span": 43, - "ty": 24 + "ty": 22 } ], - "span": 43, + "span": 38, "spread_arg": 2, "var_debug_info": [] }, @@ -1510,37 +1257,60 @@ "mono_item_kind": { "MonoItemFn": { "body": { - "arg_count": 1, + "arg_count": 2, "blocks": [ { "statements": [], "terminator": { - "kind": "Return", - "span": 44 + "kind": { + "Call": { + "args": [], + "destination": { + "local": 0, + "projection": [] + }, + "func": { + "Move": { + "local": 1, + "projection": [] + } + }, + "target": 1, + "unwind": "Continue" + } + } + } + }, + { + "statements": [], + "terminator": { + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 44, "ty": 1 }, { "mutability": "Not", - "span": 44, - "ty": 22 + "ty": 7 + }, + { + "mutability": "Not", + "ty": 1 } ], - "span": 44, - "spread_arg": null, + "span": 38, + "spread_arg": 2, "var_debug_info": [] }, - "id": 4, - "name": "std::ptr::drop_in_place::<{closure@std::rt::lang_start<()>::{closure#0}}>" + "id": 3, + "name": ">::call_once" } }, - "symbol_name": "_ZN4core3ptr85drop_in_place$LT$std..rt..lang_start$LT$$LP$$RP$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$17h" + "symbol_name": "_ZN4core3ops8function6FnOnce9call_once17h" }, { "details": null, @@ -1575,62 +1345,37 @@ } } }, - "ty": 17 + "ty": 16 }, - "span": 46, + "span": 27, "user_ty": null } } } ] - }, - "span": 46 + } } ], "terminator": { - "kind": "Return", - "span": 45 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 47, - "ty": 17 + "ty": 16 }, { "mutability": "Not", - "span": 48, "ty": 1 } ], - "span": 49, + "span": 43, "spread_arg": null, - "var_debug_info": [ - { - "argument_index": 1, - "composite": null, - "name": "self", - "source_info": { - "scope": 0, - "span": 48 - }, - "value": { - "Const": { - "const_": { - "id": 4, - "kind": "ZeroSized", - "ty": 1 - }, - "span": 32, - "user_ty": null - } - } - } - ] + "var_debug_info": [] }, - "id": 5, + "id": 4, "name": "<() as std::process::Termination>::report" } }, @@ -1669,23 +1414,6 @@ } } ], - [ - { - "EnumType": { - "discriminants": [ - [ - 0, - 0 - ], - [ - 1, - 1 - ] - ], - "name": "std::result::Result" - } - } - ], [ { "StructType": { @@ -1706,7 +1434,7 @@ { "StructType": { "fields": "elided", - "name": "std::sys::pal::unix::process::process_common::ExitCode" + "name": "std::sys::process::unix::common::ExitCode" } } ], @@ -1752,11 +1480,6 @@ "RefType": "elided" } ], - [ - { - "RefType": "elided" - } - ], [ { "RefType": "elided" diff --git a/tests/integration/programs/closure-args.smir.json.expected b/tests/integration/programs/closure-args.smir.json.expected index 9c34168c..c6c3a35b 100644 --- a/tests/integration/programs/closure-args.smir.json.expected +++ b/tests/integration/programs/closure-args.smir.json.expected @@ -131,8 +131,7 @@ ] } ] - }, - "span": 50 + } }, { "kind": { @@ -164,9 +163,9 @@ } } }, - "ty": 16 + "ty": 15 }, - "span": 52, + "span": 46, "user_ty": null } }, @@ -189,9 +188,9 @@ } } }, - "ty": 16 + "ty": 15 }, - "span": 53, + "span": 47, "user_ty": null } } @@ -199,8 +198,7 @@ ] } ] - }, - "span": 51 + } } ], "terminator": { @@ -229,17 +227,16 @@ "const_": { "id": 9, "kind": "ZeroSized", - "ty": 25 + "ty": 23 }, - "span": 50, + "span": 44, "user_ty": null } }, "target": 1, "unwind": "Continue" } - }, - "span": 51 + } } }, { @@ -263,15 +260,13 @@ "otherwise": 3 } } - }, - "span": 54 + } } }, { "statements": [], "terminator": { - "kind": "Return", - "span": 55 + "kind": "Return" } }, { @@ -316,9 +311,9 @@ } } }, - "ty": 27 + "ty": 25 }, - "span": 32, + "span": 27, "user_ty": null } } @@ -332,53 +327,46 @@ "const_": { "id": 12, "kind": "ZeroSized", - "ty": 26 + "ty": 24 }, - "span": 56, + "span": 50, "user_ty": null } }, "target": null, "unwind": "Continue" } - }, - "span": 56 + } } } ], "locals": [ { "mutability": "Mut", - "span": 57, "ty": 1 }, { "mutability": "Not", - "span": 58, - "ty": 28 + "ty": 26 }, { "mutability": "Mut", - "span": 51, - "ty": 16 + "ty": 15 }, { "mutability": "Mut", - "span": 50, - "ty": 29 + "ty": 27 }, { "mutability": "Mut", - "span": 51, - "ty": 30 + "ty": 28 }, { "mutability": "Mut", - "span": 56, - "ty": 31 + "ty": 29 } ], - "span": 59, + "span": 53, "spread_arg": null, "var_debug_info": [ { @@ -387,23 +375,23 @@ "name": "sum", "source_info": { "scope": 1, - "span": 58 + "span": 52 }, "value": { "Const": { "const_": { "id": 14, "kind": "ZeroSized", - "ty": 28 + "ty": 26 }, - "span": 32, + "span": 27, "user_ty": null } } } ] }, - "id": 6, + "id": 5, "name": "main" } }, @@ -443,8 +431,7 @@ ] } ] - }, - "span": 60 + } } ], "terminator": { @@ -457,7 +444,7 @@ { "Field": [ 1, - 32 + 30 ] } ] @@ -484,8 +471,7 @@ "target": 1, "unwind": "Continue" } - }, - "span": 60 + } } }, { @@ -505,7 +491,7 @@ { "Field": [ 0, - 16 + 15 ] } ] @@ -513,44 +499,37 @@ } } ] - }, - "span": 60 + } } ], "terminator": { - "kind": "Return", - "span": 61 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 62, - "ty": 16 + "ty": 15 }, { "mutability": "Mut", - "span": 63, - "ty": 29 + "ty": 27 }, { "mutability": "Not", - "span": 64, - "ty": 16 + "ty": 15 }, { "mutability": "Not", - "span": 65, - "ty": 16 + "ty": 15 }, { "mutability": "Mut", - "span": 60, - "ty": 33 + "ty": 31 } ], - "span": 63, + "span": 57, "spread_arg": null, "var_debug_info": [ { @@ -559,7 +538,7 @@ "name": "x", "source_info": { "scope": 0, - "span": 64 + "span": 58 }, "value": { "Place": { @@ -574,7 +553,7 @@ "name": "y", "source_info": { "scope": 0, - "span": 65 + "span": 59 }, "value": { "Place": { @@ -585,7 +564,7 @@ } ] }, - "id": 7, + "id": 6, "name": "main::{closure#0}" } }, @@ -603,26 +582,18 @@ { "kind": { "StorageLive": 5 - }, - "span": 1 - }, - { - "kind": { - "StorageLive": 6 - }, - "span": 2 + } }, { "kind": { - "StorageLive": 8 - }, - "span": 3 + "StorageLive": 7 + } }, { "kind": { "Assign": [ { - "local": 8, + "local": 7, "projection": [] }, { @@ -657,14 +628,13 @@ ] } ] - }, - "span": 3 + } }, { "kind": { "Assign": [ { - "local": 7, + "local": 6, "projection": [] }, { @@ -674,20 +644,19 @@ }, "Shared", { - "local": 8, + "local": 7, "projection": [] } ] } ] - }, - "span": 2 + } }, { "kind": { "Assign": [ { - "local": 6, + "local": 5, "projection": [] }, { @@ -697,7 +666,7 @@ }, { "Copy": { - "local": 7, + "local": 6, "projection": [] } }, @@ -705,8 +674,7 @@ ] } ] - }, - "span": 2 + } } ], "terminator": { @@ -715,7 +683,7 @@ "args": [ { "Move": { - "local": 6, + "local": 5, "projection": [] } }, @@ -739,7 +707,7 @@ } ], "destination": { - "local": 5, + "local": 0, "projection": [] }, "func": { @@ -756,114 +724,62 @@ "target": 1, "unwind": "Continue" } - }, - "span": 1 + } } }, { "statements": [ { "kind": { - "StorageDead": 6 - }, - "span": 5 - }, - { - "kind": { - "Assign": [ - { - "local": 0, - "projection": [] - }, - { - "Use": { - "Copy": { - "local": 5, - "projection": [ - { - "Downcast": 0 - }, - { - "Field": [ - 0, - 6 - ] - } - ] - } - } - } - ] - }, - "span": 6 - }, - { - "kind": { - "StorageDead": 8 - }, - "span": 7 + "StorageDead": 7 + } }, { "kind": { "StorageDead": 5 - }, - "span": 7 + } } ], "terminator": { - "kind": "Return", - "span": 4 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 8, "ty": 6 }, { "mutability": "Not", - "span": 9, "ty": 7 }, { "mutability": "Not", - "span": 10, "ty": 6 }, { "mutability": "Not", - "span": 11, "ty": 8 }, { "mutability": "Not", - "span": 12, "ty": 9 }, { "mutability": "Mut", - "span": 1, - "ty": 10 - }, - { - "mutability": "Mut", - "span": 2, "ty": 5 }, { "mutability": "Not", - "span": 2, - "ty": 11 + "ty": 10 }, { "mutability": "Not", - "span": 3, - "ty": 12 + "ty": 11 } ], - "span": 13, + "span": 11, "spread_arg": null, "var_debug_info": [ { @@ -872,7 +788,7 @@ "name": "main", "source_info": { "scope": 0, - "span": 9 + "span": 7 }, "value": { "Place": { @@ -887,7 +803,7 @@ "name": "argc", "source_info": { "scope": 0, - "span": 10 + "span": 8 }, "value": { "Place": { @@ -902,7 +818,7 @@ "name": "argv", "source_info": { "scope": 0, - "span": 11 + "span": 9 }, "value": { "Place": { @@ -917,7 +833,7 @@ "name": "sigpipe", "source_info": { "scope": 0, - "span": 12 + "span": 10 }, "value": { "Place": { @@ -925,21 +841,6 @@ "projection": [] } } - }, - { - "argument_index": null, - "composite": null, - "name": "v", - "source_info": { - "scope": 1, - "span": 6 - }, - "value": { - "Place": { - "local": 0, - "projection": [] - } - } } ] }, @@ -961,20 +862,17 @@ { "kind": { "StorageLive": 2 - }, - "span": 16 + } }, { "kind": { "StorageLive": 3 - }, - "span": 15 + } }, { "kind": { "StorageLive": 4 - }, - "span": 17 + } }, { "kind": { @@ -1000,8 +898,7 @@ } } ] - }, - "span": 17 + } } ], "terminator": { @@ -1024,17 +921,16 @@ "const_": { "id": 1, "kind": "ZeroSized", - "ty": 13 + "ty": 12 }, - "span": 14, + "span": 12, "user_ty": null } }, "target": 1, "unwind": "Continue" } - }, - "span": 15 + } } }, { @@ -1042,8 +938,7 @@ { "kind": { "StorageDead": 4 - }, - "span": 19 + } } ], "terminator": { @@ -1066,17 +961,16 @@ "const_": { "id": 2, "kind": "ZeroSized", - "ty": 14 + "ty": 13 }, - "span": 18, + "span": 16, "user_ty": null } }, "target": 2, "unwind": "Continue" } - }, - "span": 16 + } } }, { @@ -1084,14 +978,12 @@ { "kind": { "StorageDead": 3 - }, - "span": 21 + } }, { "kind": { "StorageLive": 5 - }, - "span": 22 + } }, { "kind": { @@ -1100,42 +992,6 @@ "local": 5, "projection": [] }, - { - "Ref": [ - { - "kind": "ReErased" - }, - "Shared", - { - "local": 2, - "projection": [ - { - "Field": [ - 0, - 15 - ] - } - ] - } - ] - } - ] - }, - "span": 22 - }, - { - "kind": { - "StorageLive": 6 - }, - "span": 23 - }, - { - "kind": { - "Assign": [ - { - "local": 6, - "projection": [] - }, { "Use": { "Copy": { @@ -1144,7 +1000,7 @@ { "Field": [ 0, - 15 + 14 ] }, { @@ -1158,8 +1014,7 @@ } } ] - }, - "span": 23 + } }, { "kind": { @@ -1173,76 +1028,55 @@ "IntToInt", { "Move": { - "local": 6, + "local": 5, "projection": [] } }, - 16 + 15 ] } ] - }, - "span": 24 - }, - { - "kind": { - "StorageDead": 6 - }, - "span": 25 + } }, { "kind": { "StorageDead": 5 - }, - "span": 26 + } }, { "kind": { "StorageDead": 2 - }, - "span": 27 + } } ], "terminator": { - "kind": "Return", - "span": 20 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 28, - "ty": 16 + "ty": 15 }, { "mutability": "Mut", - "span": 3, - "ty": 11 + "ty": 10 }, { "mutability": "Mut", - "span": 16, - "ty": 17 + "ty": 16 }, { "mutability": "Mut", - "span": 15, "ty": 1 }, { "mutability": "Mut", - "span": 17, "ty": 7 }, { "mutability": "Mut", - "span": 22, - "ty": 18 - }, - { - "mutability": "Mut", - "span": 23, "ty": 9 } ], @@ -1255,7 +1089,7 @@ "name": "main", "source_info": { "scope": 0, - "span": 9 + "span": 7 }, "value": { "Place": { @@ -1278,7 +1112,7 @@ "name": "self", "source_info": { "scope": 1, - "span": 29 + "span": 25 }, "value": { "Place": { @@ -1286,21 +1120,6 @@ "projection": [] } } - }, - { - "argument_index": 1, - "composite": null, - "name": "self", - "source_info": { - "scope": 2, - "span": 30 - }, - "value": { - "Place": { - "local": 5, - "projection": [] - } - } } ] }, @@ -1336,7 +1155,7 @@ "kind": "ZeroSized", "ty": 1 }, - "span": 32, + "span": 27, "user_ty": null } } @@ -1350,17 +1169,16 @@ "const_": { "id": 3, "kind": "ZeroSized", - "ty": 19 + "ty": 17 }, - "span": 31, + "span": 26, "user_ty": null } }, "target": 1, "unwind": "Continue" } - }, - "span": 33 + } } }, { @@ -1376,7 +1194,7 @@ "kind": "ZeroSized", "ty": 1 }, - "span": 32, + "span": 27, "user_ty": null } } @@ -1390,45 +1208,40 @@ "const_": { "id": 5, "kind": "ZeroSized", - "ty": 20 + "ty": 18 }, - "span": 34, + "span": 29, "user_ty": null } }, "target": 2, "unwind": "Unreachable" } - }, - "span": 35 + } } }, { "statements": [], "terminator": { - "kind": "Return", - "span": 36 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 37, "ty": 1 }, { "mutability": "Not", - "span": 38, "ty": 7 }, { "mutability": "Not", - "span": 39, "ty": 1 } ], - "span": 42, + "span": 37, "spread_arg": null, "var_debug_info": [ { @@ -1437,7 +1250,7 @@ "name": "f", "source_info": { "scope": 0, - "span": 38 + "span": 33 }, "value": { "Place": { @@ -1452,7 +1265,7 @@ "name": "result", "source_info": { "scope": 1, - "span": 40 + "span": 35 }, "value": { "Place": { @@ -1467,7 +1280,7 @@ "name": "dummy", "source_info": { "scope": 2, - "span": 41 + "span": 36 }, "value": { "Const": { @@ -1476,7 +1289,7 @@ "kind": "ZeroSized", "ty": 1 }, - "span": 32, + "span": 27, "user_ty": null } } @@ -1526,45 +1339,40 @@ "const_": { "id": 6, "kind": "ZeroSized", - "ty": 21 + "ty": 19 }, - "span": 43, + "span": 38, "user_ty": null } }, "target": 1, "unwind": "Continue" } - }, - "span": 43 + } } }, { "statements": [], "terminator": { - "kind": "Return", - "span": 43 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 43, - "ty": 16 + "ty": 15 }, { "mutability": "Not", - "span": 43, - "ty": 22 + "ty": 20 }, { "mutability": "Not", - "span": 43, "ty": 1 } ], - "span": 43, + "span": 38, "spread_arg": 2, "var_debug_info": [] }, @@ -1607,8 +1415,7 @@ ] } ] - }, - "span": 43 + } } ], "terminator": { @@ -1637,9 +1444,9 @@ "const_": { "id": 7, "kind": "ZeroSized", - "ty": 23 + "ty": 21 }, - "span": 43, + "span": 38, "user_ty": null } }, @@ -1648,8 +1455,7 @@ "Cleanup": 3 } } - }, - "span": 43 + } } }, { @@ -1664,15 +1470,13 @@ "target": 2, "unwind": "Continue" } - }, - "span": 43 + } } }, { "statements": [], "terminator": { - "kind": "Return", - "span": 43 + "kind": "Return" } }, { @@ -1687,41 +1491,35 @@ "target": 4, "unwind": "Terminate" } - }, - "span": 43 + } } }, { "statements": [], "terminator": { - "kind": "Resume", - "span": 43 + "kind": "Resume" } } ], "locals": [ { "mutability": "Mut", - "span": 43, - "ty": 16 + "ty": 15 }, { "mutability": "Not", - "span": 43, - "ty": 12 + "ty": 11 }, { "mutability": "Not", - "span": 43, "ty": 1 }, { "mutability": "Not", - "span": 43, - "ty": 24 + "ty": 22 } ], - "span": 43, + "span": 38, "spread_arg": 2, "var_debug_info": [] }, @@ -1757,36 +1555,31 @@ "target": 1, "unwind": "Continue" } - }, - "span": 43 + } } }, { "statements": [], "terminator": { - "kind": "Return", - "span": 43 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 43, "ty": 1 }, { "mutability": "Not", - "span": 43, "ty": 7 }, { "mutability": "Not", - "span": 43, "ty": 1 } ], - "span": 43, + "span": 38, "spread_arg": 2, "var_debug_info": [] }, @@ -1796,43 +1589,6 @@ }, "symbol_name": "_ZN4core3ops8function6FnOnce9call_once17h" }, - { - "details": null, - "mono_item_kind": { - "MonoItemFn": { - "body": { - "arg_count": 1, - "blocks": [ - { - "statements": [], - "terminator": { - "kind": "Return", - "span": 44 - } - } - ], - "locals": [ - { - "mutability": "Mut", - "span": 44, - "ty": 1 - }, - { - "mutability": "Not", - "span": 44, - "ty": 22 - } - ], - "span": 44, - "spread_arg": null, - "var_debug_info": [] - }, - "id": 4, - "name": "std::ptr::drop_in_place::<{closure@std::rt::lang_start<()>::{closure#0}}>" - } - }, - "symbol_name": "_ZN4core3ptr85drop_in_place$LT$std..rt..lang_start$LT$$LP$$RP$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$17h" - }, { "details": null, "mono_item_kind": { @@ -1866,62 +1622,37 @@ } } }, - "ty": 17 + "ty": 16 }, - "span": 46, + "span": 27, "user_ty": null } } } ] - }, - "span": 46 + } } ], "terminator": { - "kind": "Return", - "span": 45 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 47, - "ty": 17 + "ty": 16 }, { "mutability": "Not", - "span": 48, "ty": 1 } ], - "span": 49, + "span": 43, "spread_arg": null, - "var_debug_info": [ - { - "argument_index": 1, - "composite": null, - "name": "self", - "source_info": { - "scope": 0, - "span": 48 - }, - "value": { - "Const": { - "const_": { - "id": 4, - "kind": "ZeroSized", - "ty": 1 - }, - "span": 32, - "user_ty": null - } - } - } - ] + "var_debug_info": [] }, - "id": 5, + "id": 4, "name": "<() as std::process::Termination>::report" } }, @@ -1960,23 +1691,6 @@ } } ], - [ - { - "EnumType": { - "discriminants": [ - [ - 0, - 0 - ], - [ - 1, - 1 - ] - ], - "name": "std::result::Result" - } - } - ], [ { "StructType": { @@ -1997,7 +1711,7 @@ { "StructType": { "fields": "elided", - "name": "std::sys::pal::unix::process::process_common::ExitCode" + "name": "std::sys::process::unix::common::ExitCode" } } ], @@ -2062,11 +1776,6 @@ "RefType": "elided" } ], - [ - { - "RefType": "elided" - } - ], [ { "RefType": "elided" diff --git a/tests/integration/programs/closure-no-args.smir.json.expected b/tests/integration/programs/closure-no-args.smir.json.expected index 642f5afe..4b0f182d 100644 --- a/tests/integration/programs/closure-no-args.smir.json.expected +++ b/tests/integration/programs/closure-no-args.smir.json.expected @@ -125,8 +125,7 @@ ] } ] - }, - "span": 50 + } } ], "terminator": { @@ -146,7 +145,7 @@ "kind": "ZeroSized", "ty": 1 }, - "span": 32, + "span": 27, "user_ty": null } } @@ -160,17 +159,16 @@ "const_": { "id": 9, "kind": "ZeroSized", - "ty": 25 + "ty": 23 }, - "span": 50, + "span": 44, "user_ty": null } }, "target": 1, "unwind": "Continue" } - }, - "span": 51 + } } }, { @@ -194,15 +192,13 @@ "otherwise": 3 } } - }, - "span": 52 + } } }, { "statements": [], "terminator": { - "kind": "Return", - "span": 53 + "kind": "Return" } }, { @@ -247,9 +243,9 @@ } } }, - "ty": 27 + "ty": 25 }, - "span": 32, + "span": 27, "user_ty": null } } @@ -263,48 +259,42 @@ "const_": { "id": 10, "kind": "ZeroSized", - "ty": 26 + "ty": 24 }, - "span": 54, + "span": 48, "user_ty": null } }, "target": null, "unwind": "Continue" } - }, - "span": 54 + } } } ], "locals": [ { "mutability": "Mut", - "span": 55, "ty": 1 }, { "mutability": "Not", - "span": 56, - "ty": 28 + "ty": 26 }, { "mutability": "Mut", - "span": 51, - "ty": 29 + "ty": 27 }, { "mutability": "Mut", - "span": 50, - "ty": 30 + "ty": 28 }, { "mutability": "Mut", - "span": 54, - "ty": 31 + "ty": 29 } ], - "span": 57, + "span": 51, "spread_arg": null, "var_debug_info": [ { @@ -313,23 +303,23 @@ "name": "sum", "source_info": { "scope": 1, - "span": 56 + "span": 50 }, "value": { "Const": { "const_": { "id": 12, "kind": "ZeroSized", - "ty": 28 + "ty": 26 }, - "span": 32, + "span": 27, "user_ty": null } } } ] }, - "id": 6, + "id": 5, "name": "main" } }, @@ -371,41 +361,37 @@ } } }, - "ty": 29 + "ty": 27 }, - "span": 59, + "span": 53, "user_ty": null } } } ] - }, - "span": 59 + } } ], "terminator": { - "kind": "Return", - "span": 58 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 60, - "ty": 29 + "ty": 27 }, { "mutability": "Mut", - "span": 61, - "ty": 30 + "ty": 28 } ], - "span": 61, + "span": 55, "spread_arg": null, "var_debug_info": [] }, - "id": 7, + "id": 6, "name": "main::{closure#0}" } }, @@ -423,26 +409,18 @@ { "kind": { "StorageLive": 5 - }, - "span": 1 - }, - { - "kind": { - "StorageLive": 6 - }, - "span": 2 + } }, { "kind": { - "StorageLive": 8 - }, - "span": 3 + "StorageLive": 7 + } }, { "kind": { "Assign": [ { - "local": 8, + "local": 7, "projection": [] }, { @@ -477,14 +455,13 @@ ] } ] - }, - "span": 3 + } }, { "kind": { "Assign": [ { - "local": 7, + "local": 6, "projection": [] }, { @@ -494,20 +471,19 @@ }, "Shared", { - "local": 8, + "local": 7, "projection": [] } ] } ] - }, - "span": 2 + } }, { "kind": { "Assign": [ { - "local": 6, + "local": 5, "projection": [] }, { @@ -517,7 +493,7 @@ }, { "Copy": { - "local": 7, + "local": 6, "projection": [] } }, @@ -525,8 +501,7 @@ ] } ] - }, - "span": 2 + } } ], "terminator": { @@ -535,7 +510,7 @@ "args": [ { "Move": { - "local": 6, + "local": 5, "projection": [] } }, @@ -559,7 +534,7 @@ } ], "destination": { - "local": 5, + "local": 0, "projection": [] }, "func": { @@ -576,114 +551,62 @@ "target": 1, "unwind": "Continue" } - }, - "span": 1 + } } }, { "statements": [ { "kind": { - "StorageDead": 6 - }, - "span": 5 - }, - { - "kind": { - "Assign": [ - { - "local": 0, - "projection": [] - }, - { - "Use": { - "Copy": { - "local": 5, - "projection": [ - { - "Downcast": 0 - }, - { - "Field": [ - 0, - 6 - ] - } - ] - } - } - } - ] - }, - "span": 6 - }, - { - "kind": { - "StorageDead": 8 - }, - "span": 7 + "StorageDead": 7 + } }, { "kind": { "StorageDead": 5 - }, - "span": 7 + } } ], "terminator": { - "kind": "Return", - "span": 4 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 8, "ty": 6 }, { "mutability": "Not", - "span": 9, "ty": 7 }, { "mutability": "Not", - "span": 10, "ty": 6 }, { "mutability": "Not", - "span": 11, "ty": 8 }, { "mutability": "Not", - "span": 12, "ty": 9 }, { "mutability": "Mut", - "span": 1, - "ty": 10 - }, - { - "mutability": "Mut", - "span": 2, "ty": 5 }, { "mutability": "Not", - "span": 2, - "ty": 11 + "ty": 10 }, { "mutability": "Not", - "span": 3, - "ty": 12 + "ty": 11 } ], - "span": 13, + "span": 11, "spread_arg": null, "var_debug_info": [ { @@ -692,7 +615,7 @@ "name": "main", "source_info": { "scope": 0, - "span": 9 + "span": 7 }, "value": { "Place": { @@ -707,7 +630,7 @@ "name": "argc", "source_info": { "scope": 0, - "span": 10 + "span": 8 }, "value": { "Place": { @@ -722,7 +645,7 @@ "name": "argv", "source_info": { "scope": 0, - "span": 11 + "span": 9 }, "value": { "Place": { @@ -737,7 +660,7 @@ "name": "sigpipe", "source_info": { "scope": 0, - "span": 12 + "span": 10 }, "value": { "Place": { @@ -745,21 +668,6 @@ "projection": [] } } - }, - { - "argument_index": null, - "composite": null, - "name": "v", - "source_info": { - "scope": 1, - "span": 6 - }, - "value": { - "Place": { - "local": 0, - "projection": [] - } - } } ] }, @@ -781,20 +689,17 @@ { "kind": { "StorageLive": 2 - }, - "span": 16 + } }, { "kind": { "StorageLive": 3 - }, - "span": 15 + } }, { "kind": { "StorageLive": 4 - }, - "span": 17 + } }, { "kind": { @@ -820,8 +725,7 @@ } } ] - }, - "span": 17 + } } ], "terminator": { @@ -844,17 +748,16 @@ "const_": { "id": 1, "kind": "ZeroSized", - "ty": 13 + "ty": 12 }, - "span": 14, + "span": 12, "user_ty": null } }, "target": 1, "unwind": "Continue" } - }, - "span": 15 + } } }, { @@ -862,8 +765,7 @@ { "kind": { "StorageDead": 4 - }, - "span": 19 + } } ], "terminator": { @@ -886,17 +788,16 @@ "const_": { "id": 2, "kind": "ZeroSized", - "ty": 14 + "ty": 13 }, - "span": 18, + "span": 16, "user_ty": null } }, "target": 2, "unwind": "Continue" } - }, - "span": 16 + } } }, { @@ -904,14 +805,12 @@ { "kind": { "StorageDead": 3 - }, - "span": 21 + } }, { "kind": { "StorageLive": 5 - }, - "span": 22 + } }, { "kind": { @@ -920,42 +819,6 @@ "local": 5, "projection": [] }, - { - "Ref": [ - { - "kind": "ReErased" - }, - "Shared", - { - "local": 2, - "projection": [ - { - "Field": [ - 0, - 15 - ] - } - ] - } - ] - } - ] - }, - "span": 22 - }, - { - "kind": { - "StorageLive": 6 - }, - "span": 23 - }, - { - "kind": { - "Assign": [ - { - "local": 6, - "projection": [] - }, { "Use": { "Copy": { @@ -964,7 +827,7 @@ { "Field": [ 0, - 15 + 14 ] }, { @@ -978,8 +841,7 @@ } } ] - }, - "span": 23 + } }, { "kind": { @@ -993,76 +855,55 @@ "IntToInt", { "Move": { - "local": 6, + "local": 5, "projection": [] } }, - 16 + 15 ] } ] - }, - "span": 24 - }, - { - "kind": { - "StorageDead": 6 - }, - "span": 25 + } }, { "kind": { "StorageDead": 5 - }, - "span": 26 + } }, { "kind": { "StorageDead": 2 - }, - "span": 27 + } } ], "terminator": { - "kind": "Return", - "span": 20 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 28, - "ty": 16 + "ty": 15 }, { "mutability": "Mut", - "span": 3, - "ty": 11 + "ty": 10 }, { "mutability": "Mut", - "span": 16, - "ty": 17 + "ty": 16 }, { "mutability": "Mut", - "span": 15, "ty": 1 }, { "mutability": "Mut", - "span": 17, "ty": 7 }, { "mutability": "Mut", - "span": 22, - "ty": 18 - }, - { - "mutability": "Mut", - "span": 23, "ty": 9 } ], @@ -1075,7 +916,7 @@ "name": "main", "source_info": { "scope": 0, - "span": 9 + "span": 7 }, "value": { "Place": { @@ -1098,7 +939,7 @@ "name": "self", "source_info": { "scope": 1, - "span": 29 + "span": 25 }, "value": { "Place": { @@ -1106,21 +947,6 @@ "projection": [] } } - }, - { - "argument_index": 1, - "composite": null, - "name": "self", - "source_info": { - "scope": 2, - "span": 30 - }, - "value": { - "Place": { - "local": 5, - "projection": [] - } - } } ] }, @@ -1156,7 +982,7 @@ "kind": "ZeroSized", "ty": 1 }, - "span": 32, + "span": 27, "user_ty": null } } @@ -1170,17 +996,16 @@ "const_": { "id": 3, "kind": "ZeroSized", - "ty": 19 + "ty": 17 }, - "span": 31, + "span": 26, "user_ty": null } }, "target": 1, "unwind": "Continue" } - }, - "span": 33 + } } }, { @@ -1196,7 +1021,7 @@ "kind": "ZeroSized", "ty": 1 }, - "span": 32, + "span": 27, "user_ty": null } } @@ -1210,45 +1035,40 @@ "const_": { "id": 5, "kind": "ZeroSized", - "ty": 20 + "ty": 18 }, - "span": 34, + "span": 29, "user_ty": null } }, "target": 2, "unwind": "Unreachable" } - }, - "span": 35 + } } }, { "statements": [], "terminator": { - "kind": "Return", - "span": 36 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 37, "ty": 1 }, { "mutability": "Not", - "span": 38, "ty": 7 }, { "mutability": "Not", - "span": 39, "ty": 1 } ], - "span": 42, + "span": 37, "spread_arg": null, "var_debug_info": [ { @@ -1257,7 +1077,7 @@ "name": "f", "source_info": { "scope": 0, - "span": 38 + "span": 33 }, "value": { "Place": { @@ -1272,7 +1092,7 @@ "name": "result", "source_info": { "scope": 1, - "span": 40 + "span": 35 }, "value": { "Place": { @@ -1287,7 +1107,7 @@ "name": "dummy", "source_info": { "scope": 2, - "span": 41 + "span": 36 }, "value": { "Const": { @@ -1296,7 +1116,7 @@ "kind": "ZeroSized", "ty": 1 }, - "span": 32, + "span": 27, "user_ty": null } } @@ -1346,45 +1166,40 @@ "const_": { "id": 6, "kind": "ZeroSized", - "ty": 21 + "ty": 19 }, - "span": 43, + "span": 38, "user_ty": null } }, "target": 1, "unwind": "Continue" } - }, - "span": 43 + } } }, { "statements": [], "terminator": { - "kind": "Return", - "span": 43 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 43, - "ty": 16 + "ty": 15 }, { "mutability": "Not", - "span": 43, - "ty": 22 + "ty": 20 }, { "mutability": "Not", - "span": 43, "ty": 1 } ], - "span": 43, + "span": 38, "spread_arg": 2, "var_debug_info": [] }, @@ -1394,6 +1209,66 @@ }, "symbol_name": "_ZN4core3ops8function6FnOnce40call_once$u7b$$u7b$vtable.shim$u7d$$u7d$17h" }, + { + "details": null, + "mono_item_kind": { + "MonoItemFn": { + "body": { + "arg_count": 2, + "blocks": [ + { + "statements": [], + "terminator": { + "kind": { + "Call": { + "args": [], + "destination": { + "local": 0, + "projection": [] + }, + "func": { + "Move": { + "local": 1, + "projection": [] + } + }, + "target": 1, + "unwind": "Continue" + } + } + } + }, + { + "statements": [], + "terminator": { + "kind": "Return" + } + } + ], + "locals": [ + { + "mutability": "Mut", + "ty": 1 + }, + { + "mutability": "Not", + "ty": 7 + }, + { + "mutability": "Not", + "ty": 1 + } + ], + "span": 38, + "spread_arg": 2, + "var_debug_info": [] + }, + "id": 3, + "name": ">::call_once" + } + }, + "symbol_name": "_ZN4core3ops8function6FnOnce9call_once17h" + }, { "details": null, "mono_item_kind": { @@ -1427,8 +1302,7 @@ ] } ] - }, - "span": 43 + } } ], "terminator": { @@ -1457,9 +1331,9 @@ "const_": { "id": 7, "kind": "ZeroSized", - "ty": 23 + "ty": 21 }, - "span": 43, + "span": 38, "user_ty": null } }, @@ -1468,8 +1342,7 @@ "Cleanup": 3 } } - }, - "span": 43 + } } }, { @@ -1484,15 +1357,13 @@ "target": 2, "unwind": "Continue" } - }, - "span": 43 + } } }, { "statements": [], "terminator": { - "kind": "Return", - "span": 43 + "kind": "Return" } }, { @@ -1507,41 +1378,35 @@ "target": 4, "unwind": "Terminate" } - }, - "span": 43 + } } }, { "statements": [], "terminator": { - "kind": "Resume", - "span": 43 + "kind": "Resume" } } ], "locals": [ { "mutability": "Mut", - "span": 43, - "ty": 16 + "ty": 15 }, { "mutability": "Not", - "span": 43, - "ty": 12 + "ty": 11 }, { "mutability": "Not", - "span": 43, "ty": 1 }, { "mutability": "Not", - "span": 43, - "ty": 24 + "ty": 22 } ], - "span": 43, + "span": 38, "spread_arg": 2, "var_debug_info": [] }, @@ -1551,108 +1416,6 @@ }, "symbol_name": "_ZN4core3ops8function6FnOnce9call_once17h" }, - { - "details": null, - "mono_item_kind": { - "MonoItemFn": { - "body": { - "arg_count": 2, - "blocks": [ - { - "statements": [], - "terminator": { - "kind": { - "Call": { - "args": [], - "destination": { - "local": 0, - "projection": [] - }, - "func": { - "Move": { - "local": 1, - "projection": [] - } - }, - "target": 1, - "unwind": "Continue" - } - }, - "span": 43 - } - }, - { - "statements": [], - "terminator": { - "kind": "Return", - "span": 43 - } - } - ], - "locals": [ - { - "mutability": "Mut", - "span": 43, - "ty": 1 - }, - { - "mutability": "Not", - "span": 43, - "ty": 7 - }, - { - "mutability": "Not", - "span": 43, - "ty": 1 - } - ], - "span": 43, - "spread_arg": 2, - "var_debug_info": [] - }, - "id": 3, - "name": ">::call_once" - } - }, - "symbol_name": "_ZN4core3ops8function6FnOnce9call_once17h" - }, - { - "details": null, - "mono_item_kind": { - "MonoItemFn": { - "body": { - "arg_count": 1, - "blocks": [ - { - "statements": [], - "terminator": { - "kind": "Return", - "span": 44 - } - } - ], - "locals": [ - { - "mutability": "Mut", - "span": 44, - "ty": 1 - }, - { - "mutability": "Not", - "span": 44, - "ty": 22 - } - ], - "span": 44, - "spread_arg": null, - "var_debug_info": [] - }, - "id": 4, - "name": "std::ptr::drop_in_place::<{closure@std::rt::lang_start<()>::{closure#0}}>" - } - }, - "symbol_name": "_ZN4core3ptr85drop_in_place$LT$std..rt..lang_start$LT$$LP$$RP$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$17h" - }, { "details": null, "mono_item_kind": { @@ -1686,62 +1449,37 @@ } } }, - "ty": 17 + "ty": 16 }, - "span": 46, + "span": 27, "user_ty": null } } } ] - }, - "span": 46 + } } ], "terminator": { - "kind": "Return", - "span": 45 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 47, - "ty": 17 + "ty": 16 }, { "mutability": "Not", - "span": 48, "ty": 1 } ], - "span": 49, + "span": 43, "spread_arg": null, - "var_debug_info": [ - { - "argument_index": 1, - "composite": null, - "name": "self", - "source_info": { - "scope": 0, - "span": 48 - }, - "value": { - "Const": { - "const_": { - "id": 4, - "kind": "ZeroSized", - "ty": 1 - }, - "span": 32, - "user_ty": null - } - } - } - ] + "var_debug_info": [] }, - "id": 5, + "id": 4, "name": "<() as std::process::Termination>::report" } }, @@ -1782,23 +1520,6 @@ } } ], - [ - { - "EnumType": { - "discriminants": [ - [ - 0, - 0 - ], - [ - 1, - 1 - ] - ], - "name": "std::result::Result" - } - } - ], [ { "StructType": { @@ -1819,7 +1540,7 @@ { "StructType": { "fields": "elided", - "name": "std::sys::pal::unix::process::process_common::ExitCode" + "name": "std::sys::process::unix::common::ExitCode" } } ], @@ -1870,11 +1591,6 @@ "RefType": "elided" } ], - [ - { - "RefType": "elided" - } - ], [ { "RefType": "elided" diff --git a/tests/integration/programs/const-arithm-simple.smir.json.expected b/tests/integration/programs/const-arithm-simple.smir.json.expected index 4017f61c..d049b37b 100644 --- a/tests/integration/programs/const-arithm-simple.smir.json.expected +++ b/tests/integration/programs/const-arithm-simple.smir.json.expected @@ -126,16 +126,15 @@ } } }, - "ty": 26 + "ty": 24 }, - "span": 58, + "span": 52, "user_ty": null } } } ] - }, - "span": 59 + } }, { "kind": { @@ -168,16 +167,15 @@ } } }, - "ty": 26 + "ty": 24 }, - "span": 60, + "span": 54, "user_ty": null } } } ] - }, - "span": 61 + } } ], "terminator": { @@ -206,17 +204,16 @@ "const_": { "id": 9, "kind": "ZeroSized", - "ty": 27 + "ty": 25 }, - "span": 56, + "span": 50, "user_ty": null } }, "target": 1, "unwind": "Continue" } - }, - "span": 57 + } } }, { @@ -240,8 +237,7 @@ "otherwise": 3 } } - }, - "span": 62 + } } }, { @@ -286,9 +282,9 @@ } } }, - "ty": 29 + "ty": 27 }, - "span": 32, + "span": 27, "user_ty": null } } @@ -302,55 +298,48 @@ "const_": { "id": 12, "kind": "ZeroSized", - "ty": 28 + "ty": 26 }, - "span": 63, + "span": 57, "user_ty": null } }, "target": null, "unwind": "Continue" } - }, - "span": 63 + } } }, { "statements": [], "terminator": { - "kind": "Return", - "span": 64 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 65, "ty": 1 }, { "mutability": "Not", - "span": 66, - "ty": 25 + "ty": 23 }, { "mutability": "Mut", - "span": 59, - "ty": 26 + "ty": 24 }, { "mutability": "Mut", - "span": 61, - "ty": 26 + "ty": 24 }, { "mutability": "Mut", - "span": 63, - "ty": 30 + "ty": 28 } ], - "span": 69, + "span": 63, "spread_arg": null, "var_debug_info": [ { @@ -359,7 +348,7 @@ "name": "x", "source_info": { "scope": 1, - "span": 67 + "span": 61 }, "value": { "Const": { @@ -384,9 +373,9 @@ } } }, - "ty": 26 + "ty": 24 }, - "span": 58, + "span": 52, "user_ty": null } } @@ -397,7 +386,7 @@ "name": "y", "source_info": { "scope": 2, - "span": 68 + "span": 62 }, "value": { "Const": { @@ -422,9 +411,9 @@ } } }, - "ty": 26 + "ty": 24 }, - "span": 60, + "span": 54, "user_ty": null } } @@ -435,7 +424,7 @@ "name": "z", "source_info": { "scope": 3, - "span": 66 + "span": 60 }, "value": { "Place": { @@ -446,7 +435,7 @@ } ] }, - "id": 7, + "id": 6, "name": "main" } }, @@ -486,34 +475,29 @@ ] } ] - }, - "span": 51 + } } ], "terminator": { - "kind": "Return", - "span": 50 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 52, - "ty": 25 + "ty": 23 }, { "mutability": "Not", - "span": 53, - "ty": 26 + "ty": 24 }, { "mutability": "Not", - "span": 54, - "ty": 26 + "ty": 24 } ], - "span": 55, + "span": 49, "spread_arg": null, "var_debug_info": [ { @@ -522,7 +506,7 @@ "name": "x", "source_info": { "scope": 0, - "span": 53 + "span": 47 }, "value": { "Place": { @@ -537,7 +521,7 @@ "name": "y", "source_info": { "scope": 0, - "span": 54 + "span": 48 }, "value": { "Place": { @@ -548,7 +532,7 @@ } ] }, - "id": 6, + "id": 5, "name": "test" } }, @@ -566,26 +550,18 @@ { "kind": { "StorageLive": 5 - }, - "span": 1 - }, - { - "kind": { - "StorageLive": 6 - }, - "span": 2 + } }, { "kind": { - "StorageLive": 8 - }, - "span": 3 + "StorageLive": 7 + } }, { "kind": { "Assign": [ { - "local": 8, + "local": 7, "projection": [] }, { @@ -620,14 +596,13 @@ ] } ] - }, - "span": 3 + } }, { "kind": { "Assign": [ { - "local": 7, + "local": 6, "projection": [] }, { @@ -637,20 +612,19 @@ }, "Shared", { - "local": 8, + "local": 7, "projection": [] } ] } ] - }, - "span": 2 + } }, { "kind": { "Assign": [ { - "local": 6, + "local": 5, "projection": [] }, { @@ -660,7 +634,7 @@ }, { "Copy": { - "local": 7, + "local": 6, "projection": [] } }, @@ -668,8 +642,7 @@ ] } ] - }, - "span": 2 + } } ], "terminator": { @@ -678,7 +651,7 @@ "args": [ { "Move": { - "local": 6, + "local": 5, "projection": [] } }, @@ -702,7 +675,7 @@ } ], "destination": { - "local": 5, + "local": 0, "projection": [] }, "func": { @@ -719,114 +692,62 @@ "target": 1, "unwind": "Continue" } - }, - "span": 1 + } } }, { "statements": [ { "kind": { - "StorageDead": 6 - }, - "span": 5 - }, - { - "kind": { - "Assign": [ - { - "local": 0, - "projection": [] - }, - { - "Use": { - "Copy": { - "local": 5, - "projection": [ - { - "Downcast": 0 - }, - { - "Field": [ - 0, - 6 - ] - } - ] - } - } - } - ] - }, - "span": 6 - }, - { - "kind": { - "StorageDead": 8 - }, - "span": 7 + "StorageDead": 7 + } }, { "kind": { "StorageDead": 5 - }, - "span": 7 + } } ], "terminator": { - "kind": "Return", - "span": 4 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 8, "ty": 6 }, { "mutability": "Not", - "span": 9, "ty": 7 }, { "mutability": "Not", - "span": 10, "ty": 6 }, { "mutability": "Not", - "span": 11, "ty": 8 }, { "mutability": "Not", - "span": 12, "ty": 9 }, { "mutability": "Mut", - "span": 1, - "ty": 10 - }, - { - "mutability": "Mut", - "span": 2, "ty": 5 }, { "mutability": "Not", - "span": 2, - "ty": 11 + "ty": 10 }, { "mutability": "Not", - "span": 3, - "ty": 12 + "ty": 11 } ], - "span": 13, + "span": 11, "spread_arg": null, "var_debug_info": [ { @@ -835,7 +756,7 @@ "name": "main", "source_info": { "scope": 0, - "span": 9 + "span": 7 }, "value": { "Place": { @@ -850,7 +771,7 @@ "name": "argc", "source_info": { "scope": 0, - "span": 10 + "span": 8 }, "value": { "Place": { @@ -865,7 +786,7 @@ "name": "argv", "source_info": { "scope": 0, - "span": 11 + "span": 9 }, "value": { "Place": { @@ -880,7 +801,7 @@ "name": "sigpipe", "source_info": { "scope": 0, - "span": 12 + "span": 10 }, "value": { "Place": { @@ -888,21 +809,6 @@ "projection": [] } } - }, - { - "argument_index": null, - "composite": null, - "name": "v", - "source_info": { - "scope": 1, - "span": 6 - }, - "value": { - "Place": { - "local": 0, - "projection": [] - } - } } ] }, @@ -924,20 +830,17 @@ { "kind": { "StorageLive": 2 - }, - "span": 16 + } }, { "kind": { "StorageLive": 3 - }, - "span": 15 + } }, { "kind": { "StorageLive": 4 - }, - "span": 17 + } }, { "kind": { @@ -963,8 +866,7 @@ } } ] - }, - "span": 17 + } } ], "terminator": { @@ -987,17 +889,16 @@ "const_": { "id": 1, "kind": "ZeroSized", - "ty": 13 + "ty": 12 }, - "span": 14, + "span": 12, "user_ty": null } }, "target": 1, "unwind": "Continue" } - }, - "span": 15 + } } }, { @@ -1005,8 +906,7 @@ { "kind": { "StorageDead": 4 - }, - "span": 19 + } } ], "terminator": { @@ -1029,17 +929,16 @@ "const_": { "id": 2, "kind": "ZeroSized", - "ty": 14 + "ty": 13 }, - "span": 18, + "span": 16, "user_ty": null } }, "target": 2, "unwind": "Continue" } - }, - "span": 16 + } } }, { @@ -1047,14 +946,12 @@ { "kind": { "StorageDead": 3 - }, - "span": 21 + } }, { "kind": { "StorageLive": 5 - }, - "span": 22 + } }, { "kind": { @@ -1063,42 +960,6 @@ "local": 5, "projection": [] }, - { - "Ref": [ - { - "kind": "ReErased" - }, - "Shared", - { - "local": 2, - "projection": [ - { - "Field": [ - 0, - 15 - ] - } - ] - } - ] - } - ] - }, - "span": 22 - }, - { - "kind": { - "StorageLive": 6 - }, - "span": 23 - }, - { - "kind": { - "Assign": [ - { - "local": 6, - "projection": [] - }, { "Use": { "Copy": { @@ -1107,7 +968,7 @@ { "Field": [ 0, - 15 + 14 ] }, { @@ -1121,8 +982,7 @@ } } ] - }, - "span": 23 + } }, { "kind": { @@ -1136,76 +996,55 @@ "IntToInt", { "Move": { - "local": 6, + "local": 5, "projection": [] } }, - 16 + 15 ] } ] - }, - "span": 24 - }, - { - "kind": { - "StorageDead": 6 - }, - "span": 25 + } }, { "kind": { "StorageDead": 5 - }, - "span": 26 + } }, { "kind": { "StorageDead": 2 - }, - "span": 27 + } } ], "terminator": { - "kind": "Return", - "span": 20 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 28, - "ty": 16 + "ty": 15 }, { "mutability": "Mut", - "span": 3, - "ty": 11 + "ty": 10 }, { "mutability": "Mut", - "span": 16, - "ty": 17 + "ty": 16 }, { "mutability": "Mut", - "span": 15, "ty": 1 }, { "mutability": "Mut", - "span": 17, "ty": 7 }, { "mutability": "Mut", - "span": 22, - "ty": 18 - }, - { - "mutability": "Mut", - "span": 23, "ty": 9 } ], @@ -1218,7 +1057,7 @@ "name": "main", "source_info": { "scope": 0, - "span": 9 + "span": 7 }, "value": { "Place": { @@ -1241,7 +1080,7 @@ "name": "self", "source_info": { "scope": 1, - "span": 29 + "span": 25 }, "value": { "Place": { @@ -1249,21 +1088,6 @@ "projection": [] } } - }, - { - "argument_index": 1, - "composite": null, - "name": "self", - "source_info": { - "scope": 2, - "span": 30 - }, - "value": { - "Place": { - "local": 5, - "projection": [] - } - } } ] }, @@ -1299,7 +1123,7 @@ "kind": "ZeroSized", "ty": 1 }, - "span": 32, + "span": 27, "user_ty": null } } @@ -1313,17 +1137,16 @@ "const_": { "id": 3, "kind": "ZeroSized", - "ty": 19 + "ty": 17 }, - "span": 31, + "span": 26, "user_ty": null } }, "target": 1, "unwind": "Continue" } - }, - "span": 33 + } } }, { @@ -1339,7 +1162,7 @@ "kind": "ZeroSized", "ty": 1 }, - "span": 32, + "span": 27, "user_ty": null } } @@ -1353,45 +1176,40 @@ "const_": { "id": 5, "kind": "ZeroSized", - "ty": 20 + "ty": 18 }, - "span": 34, + "span": 29, "user_ty": null } }, "target": 2, "unwind": "Unreachable" } - }, - "span": 35 + } } }, { "statements": [], "terminator": { - "kind": "Return", - "span": 36 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 37, "ty": 1 }, { "mutability": "Not", - "span": 38, "ty": 7 }, { "mutability": "Not", - "span": 39, "ty": 1 } ], - "span": 42, + "span": 37, "spread_arg": null, "var_debug_info": [ { @@ -1400,7 +1218,7 @@ "name": "f", "source_info": { "scope": 0, - "span": 38 + "span": 33 }, "value": { "Place": { @@ -1415,7 +1233,7 @@ "name": "result", "source_info": { "scope": 1, - "span": 40 + "span": 35 }, "value": { "Place": { @@ -1430,7 +1248,7 @@ "name": "dummy", "source_info": { "scope": 2, - "span": 41 + "span": 36 }, "value": { "Const": { @@ -1439,7 +1257,7 @@ "kind": "ZeroSized", "ty": 1 }, - "span": 32, + "span": 27, "user_ty": null } } @@ -1489,45 +1307,40 @@ "const_": { "id": 6, "kind": "ZeroSized", - "ty": 21 + "ty": 19 }, - "span": 43, + "span": 38, "user_ty": null } }, "target": 1, "unwind": "Continue" } - }, - "span": 43 + } } }, { "statements": [], "terminator": { - "kind": "Return", - "span": 43 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 43, - "ty": 16 + "ty": 15 }, { "mutability": "Not", - "span": 43, - "ty": 22 + "ty": 20 }, { "mutability": "Not", - "span": 43, "ty": 1 } ], - "span": 43, + "span": 38, "spread_arg": 2, "var_debug_info": [] }, @@ -1537,71 +1350,6 @@ }, "symbol_name": "_ZN4core3ops8function6FnOnce40call_once$u7b$$u7b$vtable.shim$u7d$$u7d$17h" }, - { - "details": null, - "mono_item_kind": { - "MonoItemFn": { - "body": { - "arg_count": 2, - "blocks": [ - { - "statements": [], - "terminator": { - "kind": { - "Call": { - "args": [], - "destination": { - "local": 0, - "projection": [] - }, - "func": { - "Move": { - "local": 1, - "projection": [] - } - }, - "target": 1, - "unwind": "Continue" - } - }, - "span": 43 - } - }, - { - "statements": [], - "terminator": { - "kind": "Return", - "span": 43 - } - } - ], - "locals": [ - { - "mutability": "Mut", - "span": 43, - "ty": 1 - }, - { - "mutability": "Not", - "span": 43, - "ty": 7 - }, - { - "mutability": "Not", - "span": 43, - "ty": 1 - } - ], - "span": 43, - "spread_arg": 2, - "var_debug_info": [] - }, - "id": 3, - "name": ">::call_once" - } - }, - "symbol_name": "_ZN4core3ops8function6FnOnce9call_once17h" - }, { "details": null, "mono_item_kind": { @@ -1635,8 +1383,7 @@ ] } ] - }, - "span": 43 + } } ], "terminator": { @@ -1665,9 +1412,9 @@ "const_": { "id": 7, "kind": "ZeroSized", - "ty": 23 + "ty": 21 }, - "span": 43, + "span": 38, "user_ty": null } }, @@ -1676,8 +1423,7 @@ "Cleanup": 3 } } - }, - "span": 43 + } } }, { @@ -1692,15 +1438,13 @@ "target": 2, "unwind": "Continue" } - }, - "span": 43 + } } }, { "statements": [], "terminator": { - "kind": "Return", - "span": 43 + "kind": "Return" } }, { @@ -1715,41 +1459,35 @@ "target": 4, "unwind": "Terminate" } - }, - "span": 43 + } } }, { "statements": [], "terminator": { - "kind": "Resume", - "span": 43 + "kind": "Resume" } } ], "locals": [ { "mutability": "Mut", - "span": 43, - "ty": 16 + "ty": 15 }, { "mutability": "Not", - "span": 43, - "ty": 12 + "ty": 11 }, { "mutability": "Not", - "span": 43, "ty": 1 }, { "mutability": "Not", - "span": 43, - "ty": 24 + "ty": 22 } ], - "span": 43, + "span": 38, "spread_arg": 2, "var_debug_info": [] }, @@ -1764,37 +1502,60 @@ "mono_item_kind": { "MonoItemFn": { "body": { - "arg_count": 1, + "arg_count": 2, "blocks": [ { "statements": [], "terminator": { - "kind": "Return", - "span": 44 + "kind": { + "Call": { + "args": [], + "destination": { + "local": 0, + "projection": [] + }, + "func": { + "Move": { + "local": 1, + "projection": [] + } + }, + "target": 1, + "unwind": "Continue" + } + } + } + }, + { + "statements": [], + "terminator": { + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 44, "ty": 1 }, { "mutability": "Not", - "span": 44, - "ty": 22 + "ty": 7 + }, + { + "mutability": "Not", + "ty": 1 } ], - "span": 44, - "spread_arg": null, + "span": 38, + "spread_arg": 2, "var_debug_info": [] }, - "id": 4, - "name": "std::ptr::drop_in_place::<{closure@std::rt::lang_start<()>::{closure#0}}>" + "id": 3, + "name": ">::call_once" } }, - "symbol_name": "_ZN4core3ptr85drop_in_place$LT$std..rt..lang_start$LT$$LP$$RP$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$17h" + "symbol_name": "_ZN4core3ops8function6FnOnce9call_once17h" }, { "details": null, @@ -1829,62 +1590,37 @@ } } }, - "ty": 17 + "ty": 16 }, - "span": 46, + "span": 27, "user_ty": null } } } ] - }, - "span": 46 + } } ], "terminator": { - "kind": "Return", - "span": 45 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 47, - "ty": 17 + "ty": 16 }, { "mutability": "Not", - "span": 48, "ty": 1 } ], - "span": 49, + "span": 43, "spread_arg": null, - "var_debug_info": [ - { - "argument_index": 1, - "composite": null, - "name": "self", - "source_info": { - "scope": 0, - "span": 48 - }, - "value": { - "Const": { - "const_": { - "id": 4, - "kind": "ZeroSized", - "ty": 1 - }, - "span": 32, - "user_ty": null - } - } - } - ] + "var_debug_info": [] }, - "id": 5, + "id": 4, "name": "<() as std::process::Termination>::report" } }, @@ -1930,23 +1666,6 @@ } } ], - [ - { - "EnumType": { - "discriminants": [ - [ - 0, - 0 - ], - [ - 1, - 1 - ] - ], - "name": "std::result::Result" - } - } - ], [ { "StructType": { @@ -1967,7 +1686,7 @@ { "StructType": { "fields": "elided", - "name": "std::sys::pal::unix::process::process_common::ExitCode" + "name": "std::sys::process::unix::common::ExitCode" } } ], @@ -2013,11 +1732,6 @@ "RefType": "elided" } ], - [ - { - "RefType": "elided" - } - ], [ { "RefType": "elided" diff --git a/tests/integration/programs/div.smir.json.expected b/tests/integration/programs/div.smir.json.expected index 03784602..e05ab5f8 100644 --- a/tests/integration/programs/div.smir.json.expected +++ b/tests/integration/programs/div.smir.json.expected @@ -132,9 +132,9 @@ } } }, - "ty": 16 + "ty": 15 }, - "span": 52, + "span": 46, "user_ty": null } }, @@ -157,17 +157,16 @@ } } }, - "ty": 16 + "ty": 15 }, - "span": 51, + "span": 45, "user_ty": null } } ] } ] - }, - "span": 51 + } } ], "terminator": { @@ -200,9 +199,9 @@ } } }, - "ty": 16 + "ty": 15 }, - "span": 50, + "span": 44, "user_ty": null } } @@ -210,8 +209,7 @@ "target": 1, "unwind": "Continue" } - }, - "span": 51 + } } }, { @@ -245,9 +243,9 @@ } } }, - "ty": 16 + "ty": 15 }, - "span": 52, + "span": 46, "user_ty": null } }, @@ -270,17 +268,16 @@ } } }, - "ty": 16 + "ty": 15 }, - "span": 51, + "span": 45, "user_ty": null } } ] } ] - }, - "span": 51 + } }, { "kind": { @@ -311,9 +308,9 @@ } } }, - "ty": 16 + "ty": 15 }, - "span": 50, + "span": 44, "user_ty": null } }, @@ -336,17 +333,16 @@ } } }, - "ty": 16 + "ty": 15 }, - "span": 51, + "span": 45, "user_ty": null } } ] } ] - }, - "span": 51 + } }, { "kind": { @@ -373,8 +369,7 @@ ] } ] - }, - "span": 51 + } } ], "terminator": { @@ -409,9 +404,9 @@ } } }, - "ty": 16 + "ty": 15 }, - "span": 50, + "span": 44, "user_ty": null } }, @@ -434,9 +429,9 @@ } } }, - "ty": 16 + "ty": 15 }, - "span": 52, + "span": 46, "user_ty": null } } @@ -445,8 +440,7 @@ "target": 2, "unwind": "Continue" } - }, - "span": 51 + } } }, { @@ -480,9 +474,9 @@ } } }, - "ty": 16 + "ty": 15 }, - "span": 50, + "span": 44, "user_ty": null } }, @@ -505,17 +499,16 @@ } } }, - "ty": 16 + "ty": 15 }, - "span": 52, + "span": 46, "user_ty": null } } ] } ] - }, - "span": 51 + } } ], "terminator": { @@ -537,15 +530,13 @@ "otherwise": 4 } } - }, - "span": 53 + } } }, { "statements": [], "terminator": { - "kind": "Return", - "span": 54 + "kind": "Return" } }, { @@ -590,9 +581,9 @@ } } }, - "ty": 26 + "ty": 24 }, - "span": 32, + "span": 27, "user_ty": null } } @@ -606,62 +597,54 @@ "const_": { "id": 14, "kind": "ZeroSized", - "ty": 25 + "ty": 23 }, - "span": 55, + "span": 49, "user_ty": null } }, "target": null, "unwind": "Continue" } - }, - "span": 55 + } } } ], "locals": [ { "mutability": "Mut", - "span": 56, "ty": 1 }, { "mutability": "Mut", - "span": 51, - "ty": 16 + "ty": 15 }, { "mutability": "Mut", - "span": 51, - "ty": 27 + "ty": 25 }, { "mutability": "Mut", - "span": 51, - "ty": 27 + "ty": 25 }, { "mutability": "Mut", - "span": 51, - "ty": 27 + "ty": 25 }, { "mutability": "Mut", - "span": 51, - "ty": 27 + "ty": 25 }, { "mutability": "Mut", - "span": 55, - "ty": 28 + "ty": 26 } ], - "span": 57, + "span": 51, "spread_arg": null, "var_debug_info": [] }, - "id": 6, + "id": 5, "name": "main" } }, @@ -679,26 +662,18 @@ { "kind": { "StorageLive": 5 - }, - "span": 1 - }, - { - "kind": { - "StorageLive": 6 - }, - "span": 2 + } }, { "kind": { - "StorageLive": 8 - }, - "span": 3 + "StorageLive": 7 + } }, { "kind": { "Assign": [ { - "local": 8, + "local": 7, "projection": [] }, { @@ -733,14 +708,13 @@ ] } ] - }, - "span": 3 + } }, { "kind": { "Assign": [ { - "local": 7, + "local": 6, "projection": [] }, { @@ -750,20 +724,19 @@ }, "Shared", { - "local": 8, + "local": 7, "projection": [] } ] } ] - }, - "span": 2 + } }, { "kind": { "Assign": [ { - "local": 6, + "local": 5, "projection": [] }, { @@ -773,7 +746,7 @@ }, { "Copy": { - "local": 7, + "local": 6, "projection": [] } }, @@ -781,8 +754,7 @@ ] } ] - }, - "span": 2 + } } ], "terminator": { @@ -791,7 +763,7 @@ "args": [ { "Move": { - "local": 6, + "local": 5, "projection": [] } }, @@ -815,7 +787,7 @@ } ], "destination": { - "local": 5, + "local": 0, "projection": [] }, "func": { @@ -832,114 +804,62 @@ "target": 1, "unwind": "Continue" } - }, - "span": 1 + } } }, { "statements": [ { "kind": { - "StorageDead": 6 - }, - "span": 5 - }, - { - "kind": { - "Assign": [ - { - "local": 0, - "projection": [] - }, - { - "Use": { - "Copy": { - "local": 5, - "projection": [ - { - "Downcast": 0 - }, - { - "Field": [ - 0, - 6 - ] - } - ] - } - } - } - ] - }, - "span": 6 - }, - { - "kind": { - "StorageDead": 8 - }, - "span": 7 + "StorageDead": 7 + } }, { "kind": { "StorageDead": 5 - }, - "span": 7 + } } ], "terminator": { - "kind": "Return", - "span": 4 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 8, "ty": 6 }, { "mutability": "Not", - "span": 9, "ty": 7 }, { "mutability": "Not", - "span": 10, "ty": 6 }, { "mutability": "Not", - "span": 11, "ty": 8 }, { "mutability": "Not", - "span": 12, "ty": 9 }, { "mutability": "Mut", - "span": 1, - "ty": 10 - }, - { - "mutability": "Mut", - "span": 2, "ty": 5 }, { "mutability": "Not", - "span": 2, - "ty": 11 + "ty": 10 }, { "mutability": "Not", - "span": 3, - "ty": 12 + "ty": 11 } ], - "span": 13, + "span": 11, "spread_arg": null, "var_debug_info": [ { @@ -948,7 +868,7 @@ "name": "main", "source_info": { "scope": 0, - "span": 9 + "span": 7 }, "value": { "Place": { @@ -963,7 +883,7 @@ "name": "argc", "source_info": { "scope": 0, - "span": 10 + "span": 8 }, "value": { "Place": { @@ -978,7 +898,7 @@ "name": "argv", "source_info": { "scope": 0, - "span": 11 + "span": 9 }, "value": { "Place": { @@ -993,7 +913,7 @@ "name": "sigpipe", "source_info": { "scope": 0, - "span": 12 + "span": 10 }, "value": { "Place": { @@ -1001,21 +921,6 @@ "projection": [] } } - }, - { - "argument_index": null, - "composite": null, - "name": "v", - "source_info": { - "scope": 1, - "span": 6 - }, - "value": { - "Place": { - "local": 0, - "projection": [] - } - } } ] }, @@ -1037,20 +942,17 @@ { "kind": { "StorageLive": 2 - }, - "span": 16 + } }, { "kind": { "StorageLive": 3 - }, - "span": 15 + } }, { "kind": { "StorageLive": 4 - }, - "span": 17 + } }, { "kind": { @@ -1076,8 +978,7 @@ } } ] - }, - "span": 17 + } } ], "terminator": { @@ -1100,17 +1001,16 @@ "const_": { "id": 1, "kind": "ZeroSized", - "ty": 13 + "ty": 12 }, - "span": 14, + "span": 12, "user_ty": null } }, "target": 1, "unwind": "Continue" } - }, - "span": 15 + } } }, { @@ -1118,8 +1018,7 @@ { "kind": { "StorageDead": 4 - }, - "span": 19 + } } ], "terminator": { @@ -1142,17 +1041,16 @@ "const_": { "id": 2, "kind": "ZeroSized", - "ty": 14 + "ty": 13 }, - "span": 18, + "span": 16, "user_ty": null } }, "target": 2, "unwind": "Continue" } - }, - "span": 16 + } } }, { @@ -1160,14 +1058,12 @@ { "kind": { "StorageDead": 3 - }, - "span": 21 + } }, { "kind": { "StorageLive": 5 - }, - "span": 22 + } }, { "kind": { @@ -1176,42 +1072,6 @@ "local": 5, "projection": [] }, - { - "Ref": [ - { - "kind": "ReErased" - }, - "Shared", - { - "local": 2, - "projection": [ - { - "Field": [ - 0, - 15 - ] - } - ] - } - ] - } - ] - }, - "span": 22 - }, - { - "kind": { - "StorageLive": 6 - }, - "span": 23 - }, - { - "kind": { - "Assign": [ - { - "local": 6, - "projection": [] - }, { "Use": { "Copy": { @@ -1220,7 +1080,7 @@ { "Field": [ 0, - 15 + 14 ] }, { @@ -1234,8 +1094,7 @@ } } ] - }, - "span": 23 + } }, { "kind": { @@ -1249,76 +1108,55 @@ "IntToInt", { "Move": { - "local": 6, + "local": 5, "projection": [] } }, - 16 + 15 ] } ] - }, - "span": 24 - }, - { - "kind": { - "StorageDead": 6 - }, - "span": 25 + } }, { "kind": { "StorageDead": 5 - }, - "span": 26 + } }, { "kind": { "StorageDead": 2 - }, - "span": 27 + } } ], "terminator": { - "kind": "Return", - "span": 20 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 28, - "ty": 16 + "ty": 15 }, { "mutability": "Mut", - "span": 3, - "ty": 11 + "ty": 10 }, { "mutability": "Mut", - "span": 16, - "ty": 17 + "ty": 16 }, { "mutability": "Mut", - "span": 15, "ty": 1 }, { "mutability": "Mut", - "span": 17, "ty": 7 }, { "mutability": "Mut", - "span": 22, - "ty": 18 - }, - { - "mutability": "Mut", - "span": 23, "ty": 9 } ], @@ -1331,7 +1169,7 @@ "name": "main", "source_info": { "scope": 0, - "span": 9 + "span": 7 }, "value": { "Place": { @@ -1354,7 +1192,7 @@ "name": "self", "source_info": { "scope": 1, - "span": 29 + "span": 25 }, "value": { "Place": { @@ -1362,21 +1200,6 @@ "projection": [] } } - }, - { - "argument_index": 1, - "composite": null, - "name": "self", - "source_info": { - "scope": 2, - "span": 30 - }, - "value": { - "Place": { - "local": 5, - "projection": [] - } - } } ] }, @@ -1412,7 +1235,7 @@ "kind": "ZeroSized", "ty": 1 }, - "span": 32, + "span": 27, "user_ty": null } } @@ -1426,17 +1249,16 @@ "const_": { "id": 3, "kind": "ZeroSized", - "ty": 19 + "ty": 17 }, - "span": 31, + "span": 26, "user_ty": null } }, "target": 1, "unwind": "Continue" } - }, - "span": 33 + } } }, { @@ -1452,7 +1274,7 @@ "kind": "ZeroSized", "ty": 1 }, - "span": 32, + "span": 27, "user_ty": null } } @@ -1466,45 +1288,40 @@ "const_": { "id": 5, "kind": "ZeroSized", - "ty": 20 + "ty": 18 }, - "span": 34, + "span": 29, "user_ty": null } }, "target": 2, "unwind": "Unreachable" } - }, - "span": 35 + } } }, { "statements": [], "terminator": { - "kind": "Return", - "span": 36 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 37, "ty": 1 }, { "mutability": "Not", - "span": 38, "ty": 7 }, { "mutability": "Not", - "span": 39, "ty": 1 } ], - "span": 42, + "span": 37, "spread_arg": null, "var_debug_info": [ { @@ -1513,7 +1330,7 @@ "name": "f", "source_info": { "scope": 0, - "span": 38 + "span": 33 }, "value": { "Place": { @@ -1528,7 +1345,7 @@ "name": "result", "source_info": { "scope": 1, - "span": 40 + "span": 35 }, "value": { "Place": { @@ -1543,7 +1360,7 @@ "name": "dummy", "source_info": { "scope": 2, - "span": 41 + "span": 36 }, "value": { "Const": { @@ -1552,7 +1369,7 @@ "kind": "ZeroSized", "ty": 1 }, - "span": 32, + "span": 27, "user_ty": null } } @@ -1602,45 +1419,40 @@ "const_": { "id": 6, "kind": "ZeroSized", - "ty": 21 + "ty": 19 }, - "span": 43, + "span": 38, "user_ty": null } }, "target": 1, "unwind": "Continue" } - }, - "span": 43 + } } }, { "statements": [], "terminator": { - "kind": "Return", - "span": 43 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 43, - "ty": 16 + "ty": 15 }, { "mutability": "Not", - "span": 43, - "ty": 22 + "ty": 20 }, { "mutability": "Not", - "span": 43, "ty": 1 } ], - "span": 43, + "span": 38, "spread_arg": 2, "var_debug_info": [] }, @@ -1683,8 +1495,7 @@ ] } ] - }, - "span": 43 + } } ], "terminator": { @@ -1713,9 +1524,9 @@ "const_": { "id": 7, "kind": "ZeroSized", - "ty": 23 + "ty": 21 }, - "span": 43, + "span": 38, "user_ty": null } }, @@ -1724,8 +1535,7 @@ "Cleanup": 3 } } - }, - "span": 43 + } } }, { @@ -1740,15 +1550,13 @@ "target": 2, "unwind": "Continue" } - }, - "span": 43 + } } }, { "statements": [], "terminator": { - "kind": "Return", - "span": 43 + "kind": "Return" } }, { @@ -1763,41 +1571,35 @@ "target": 4, "unwind": "Terminate" } - }, - "span": 43 + } } }, { "statements": [], "terminator": { - "kind": "Resume", - "span": 43 + "kind": "Resume" } } ], "locals": [ { "mutability": "Mut", - "span": 43, - "ty": 16 + "ty": 15 }, { "mutability": "Not", - "span": 43, - "ty": 12 + "ty": 11 }, { "mutability": "Not", - "span": 43, "ty": 1 }, { "mutability": "Not", - "span": 43, - "ty": 24 + "ty": 22 } ], - "span": 43, + "span": 38, "spread_arg": 2, "var_debug_info": [] }, @@ -1833,36 +1635,31 @@ "target": 1, "unwind": "Continue" } - }, - "span": 43 + } } }, { "statements": [], "terminator": { - "kind": "Return", - "span": 43 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 43, "ty": 1 }, { "mutability": "Not", - "span": 43, "ty": 7 }, { "mutability": "Not", - "span": 43, "ty": 1 } ], - "span": 43, + "span": 38, "spread_arg": 2, "var_debug_info": [] }, @@ -1872,43 +1669,6 @@ }, "symbol_name": "_ZN4core3ops8function6FnOnce9call_once17h" }, - { - "details": null, - "mono_item_kind": { - "MonoItemFn": { - "body": { - "arg_count": 1, - "blocks": [ - { - "statements": [], - "terminator": { - "kind": "Return", - "span": 44 - } - } - ], - "locals": [ - { - "mutability": "Mut", - "span": 44, - "ty": 1 - }, - { - "mutability": "Not", - "span": 44, - "ty": 22 - } - ], - "span": 44, - "spread_arg": null, - "var_debug_info": [] - }, - "id": 4, - "name": "std::ptr::drop_in_place::<{closure@std::rt::lang_start<()>::{closure#0}}>" - } - }, - "symbol_name": "_ZN4core3ptr85drop_in_place$LT$std..rt..lang_start$LT$$LP$$RP$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$17h" - }, { "details": null, "mono_item_kind": { @@ -1942,62 +1702,37 @@ } } }, - "ty": 17 + "ty": 16 }, - "span": 46, + "span": 27, "user_ty": null } } } ] - }, - "span": 46 + } } ], "terminator": { - "kind": "Return", - "span": 45 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 47, - "ty": 17 + "ty": 16 }, { "mutability": "Not", - "span": 48, "ty": 1 } ], - "span": 49, + "span": 43, "spread_arg": null, - "var_debug_info": [ - { - "argument_index": 1, - "composite": null, - "name": "self", - "source_info": { - "scope": 0, - "span": 48 - }, - "value": { - "Const": { - "const_": { - "id": 4, - "kind": "ZeroSized", - "ty": 1 - }, - "span": 32, - "user_ty": null - } - } - } - ] + "var_debug_info": [] }, - "id": 5, + "id": 4, "name": "<() as std::process::Termination>::report" } }, @@ -2036,23 +1771,6 @@ } } ], - [ - { - "EnumType": { - "discriminants": [ - [ - 0, - 0 - ], - [ - 1, - 1 - ] - ], - "name": "std::result::Result" - } - } - ], [ { "StructType": { @@ -2073,7 +1791,7 @@ { "StructType": { "fields": "elided", - "name": "std::sys::pal::unix::process::process_common::ExitCode" + "name": "std::sys::process::unix::common::ExitCode" } } ], @@ -2119,11 +1837,6 @@ "RefType": "elided" } ], - [ - { - "RefType": "elided" - } - ], [ { "RefType": "elided" diff --git a/tests/integration/programs/double-ref-deref.smir.json.expected b/tests/integration/programs/double-ref-deref.smir.json.expected index 5d7f7fc6..7b2de392 100644 --- a/tests/integration/programs/double-ref-deref.smir.json.expected +++ b/tests/integration/programs/double-ref-deref.smir.json.expected @@ -125,16 +125,15 @@ } } }, - "ty": 16 + "ty": 15 }, - "span": 51, + "span": 45, "user_ty": null } } } ] - }, - "span": 51 + } }, { "kind": { @@ -156,8 +155,7 @@ ] } ] - }, - "span": 52 + } }, { "kind": { @@ -179,8 +177,7 @@ ] } ] - }, - "span": 53 + } }, { "kind": { @@ -198,8 +195,7 @@ } } ] - }, - "span": 54 + } }, { "kind": { @@ -219,8 +215,7 @@ } } ] - }, - "span": 54 + } } ], "terminator": { @@ -242,15 +237,13 @@ "otherwise": 2 } } - }, - "span": 50 + } } }, { "statements": [], "terminator": { - "kind": "Return", - "span": 55 + "kind": "Return" } }, { @@ -295,9 +288,9 @@ } } }, - "ty": 26 + "ty": 24 }, - "span": 32, + "span": 27, "user_ty": null } } @@ -311,58 +304,50 @@ "const_": { "id": 10, "kind": "ZeroSized", - "ty": 25 + "ty": 23 }, - "span": 56, + "span": 50, "user_ty": null } }, "target": null, "unwind": "Continue" } - }, - "span": 56 + } } } ], "locals": [ { "mutability": "Mut", - "span": 57, "ty": 1 }, { "mutability": "Not", - "span": 58, - "ty": 16 + "ty": 15 }, { "mutability": "Not", - "span": 59, - "ty": 27 + "ty": 25 }, { "mutability": "Not", - "span": 60, - "ty": 28 + "ty": 26 }, { "mutability": "Mut", - "span": 54, - "ty": 16 + "ty": 15 }, { "mutability": "Mut", - "span": 56, - "ty": 29 + "ty": 27 }, { "mutability": "Mut", - "span": 60, - "ty": 27 + "ty": 25 } ], - "span": 61, + "span": 55, "spread_arg": null, "var_debug_info": [ { @@ -371,7 +356,7 @@ "name": "a", "source_info": { "scope": 1, - "span": 58 + "span": 52 }, "value": { "Place": { @@ -386,7 +371,7 @@ "name": "b", "source_info": { "scope": 2, - "span": 59 + "span": 53 }, "value": { "Place": { @@ -401,7 +386,7 @@ "name": "c", "source_info": { "scope": 3, - "span": 60 + "span": 54 }, "value": { "Place": { @@ -412,7 +397,7 @@ } ] }, - "id": 6, + "id": 5, "name": "main" } }, @@ -430,26 +415,18 @@ { "kind": { "StorageLive": 5 - }, - "span": 1 - }, - { - "kind": { - "StorageLive": 6 - }, - "span": 2 + } }, { "kind": { - "StorageLive": 8 - }, - "span": 3 + "StorageLive": 7 + } }, { "kind": { "Assign": [ { - "local": 8, + "local": 7, "projection": [] }, { @@ -484,14 +461,13 @@ ] } ] - }, - "span": 3 + } }, { "kind": { "Assign": [ { - "local": 7, + "local": 6, "projection": [] }, { @@ -501,20 +477,19 @@ }, "Shared", { - "local": 8, + "local": 7, "projection": [] } ] } ] - }, - "span": 2 + } }, { "kind": { "Assign": [ { - "local": 6, + "local": 5, "projection": [] }, { @@ -524,7 +499,7 @@ }, { "Copy": { - "local": 7, + "local": 6, "projection": [] } }, @@ -532,8 +507,7 @@ ] } ] - }, - "span": 2 + } } ], "terminator": { @@ -542,7 +516,7 @@ "args": [ { "Move": { - "local": 6, + "local": 5, "projection": [] } }, @@ -566,7 +540,7 @@ } ], "destination": { - "local": 5, + "local": 0, "projection": [] }, "func": { @@ -583,114 +557,62 @@ "target": 1, "unwind": "Continue" } - }, - "span": 1 + } } }, { "statements": [ { "kind": { - "StorageDead": 6 - }, - "span": 5 - }, - { - "kind": { - "Assign": [ - { - "local": 0, - "projection": [] - }, - { - "Use": { - "Copy": { - "local": 5, - "projection": [ - { - "Downcast": 0 - }, - { - "Field": [ - 0, - 6 - ] - } - ] - } - } - } - ] - }, - "span": 6 - }, - { - "kind": { - "StorageDead": 8 - }, - "span": 7 + "StorageDead": 7 + } }, { "kind": { "StorageDead": 5 - }, - "span": 7 + } } ], "terminator": { - "kind": "Return", - "span": 4 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 8, "ty": 6 }, { "mutability": "Not", - "span": 9, "ty": 7 }, { "mutability": "Not", - "span": 10, "ty": 6 }, { "mutability": "Not", - "span": 11, "ty": 8 }, { "mutability": "Not", - "span": 12, "ty": 9 }, { "mutability": "Mut", - "span": 1, - "ty": 10 - }, - { - "mutability": "Mut", - "span": 2, "ty": 5 }, { "mutability": "Not", - "span": 2, - "ty": 11 + "ty": 10 }, { "mutability": "Not", - "span": 3, - "ty": 12 + "ty": 11 } ], - "span": 13, + "span": 11, "spread_arg": null, "var_debug_info": [ { @@ -699,7 +621,7 @@ "name": "main", "source_info": { "scope": 0, - "span": 9 + "span": 7 }, "value": { "Place": { @@ -714,7 +636,7 @@ "name": "argc", "source_info": { "scope": 0, - "span": 10 + "span": 8 }, "value": { "Place": { @@ -729,7 +651,7 @@ "name": "argv", "source_info": { "scope": 0, - "span": 11 + "span": 9 }, "value": { "Place": { @@ -744,7 +666,7 @@ "name": "sigpipe", "source_info": { "scope": 0, - "span": 12 + "span": 10 }, "value": { "Place": { @@ -752,21 +674,6 @@ "projection": [] } } - }, - { - "argument_index": null, - "composite": null, - "name": "v", - "source_info": { - "scope": 1, - "span": 6 - }, - "value": { - "Place": { - "local": 0, - "projection": [] - } - } } ] }, @@ -788,20 +695,17 @@ { "kind": { "StorageLive": 2 - }, - "span": 16 + } }, { "kind": { "StorageLive": 3 - }, - "span": 15 + } }, { "kind": { "StorageLive": 4 - }, - "span": 17 + } }, { "kind": { @@ -827,8 +731,7 @@ } } ] - }, - "span": 17 + } } ], "terminator": { @@ -851,17 +754,16 @@ "const_": { "id": 1, "kind": "ZeroSized", - "ty": 13 + "ty": 12 }, - "span": 14, + "span": 12, "user_ty": null } }, "target": 1, "unwind": "Continue" } - }, - "span": 15 + } } }, { @@ -869,8 +771,7 @@ { "kind": { "StorageDead": 4 - }, - "span": 19 + } } ], "terminator": { @@ -893,17 +794,16 @@ "const_": { "id": 2, "kind": "ZeroSized", - "ty": 14 + "ty": 13 }, - "span": 18, + "span": 16, "user_ty": null } }, "target": 2, "unwind": "Continue" } - }, - "span": 16 + } } }, { @@ -911,14 +811,12 @@ { "kind": { "StorageDead": 3 - }, - "span": 21 + } }, { "kind": { "StorageLive": 5 - }, - "span": 22 + } }, { "kind": { @@ -927,42 +825,6 @@ "local": 5, "projection": [] }, - { - "Ref": [ - { - "kind": "ReErased" - }, - "Shared", - { - "local": 2, - "projection": [ - { - "Field": [ - 0, - 15 - ] - } - ] - } - ] - } - ] - }, - "span": 22 - }, - { - "kind": { - "StorageLive": 6 - }, - "span": 23 - }, - { - "kind": { - "Assign": [ - { - "local": 6, - "projection": [] - }, { "Use": { "Copy": { @@ -971,7 +833,7 @@ { "Field": [ 0, - 15 + 14 ] }, { @@ -985,8 +847,7 @@ } } ] - }, - "span": 23 + } }, { "kind": { @@ -1000,76 +861,55 @@ "IntToInt", { "Move": { - "local": 6, + "local": 5, "projection": [] } }, - 16 + 15 ] } ] - }, - "span": 24 - }, - { - "kind": { - "StorageDead": 6 - }, - "span": 25 + } }, { "kind": { "StorageDead": 5 - }, - "span": 26 + } }, { "kind": { "StorageDead": 2 - }, - "span": 27 + } } ], "terminator": { - "kind": "Return", - "span": 20 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 28, - "ty": 16 + "ty": 15 }, { "mutability": "Mut", - "span": 3, - "ty": 11 + "ty": 10 }, { "mutability": "Mut", - "span": 16, - "ty": 17 + "ty": 16 }, { "mutability": "Mut", - "span": 15, "ty": 1 }, { "mutability": "Mut", - "span": 17, "ty": 7 }, { "mutability": "Mut", - "span": 22, - "ty": 18 - }, - { - "mutability": "Mut", - "span": 23, "ty": 9 } ], @@ -1082,7 +922,7 @@ "name": "main", "source_info": { "scope": 0, - "span": 9 + "span": 7 }, "value": { "Place": { @@ -1105,7 +945,7 @@ "name": "self", "source_info": { "scope": 1, - "span": 29 + "span": 25 }, "value": { "Place": { @@ -1113,21 +953,6 @@ "projection": [] } } - }, - { - "argument_index": 1, - "composite": null, - "name": "self", - "source_info": { - "scope": 2, - "span": 30 - }, - "value": { - "Place": { - "local": 5, - "projection": [] - } - } } ] }, @@ -1163,7 +988,7 @@ "kind": "ZeroSized", "ty": 1 }, - "span": 32, + "span": 27, "user_ty": null } } @@ -1177,17 +1002,16 @@ "const_": { "id": 3, "kind": "ZeroSized", - "ty": 19 + "ty": 17 }, - "span": 31, + "span": 26, "user_ty": null } }, "target": 1, "unwind": "Continue" } - }, - "span": 33 + } } }, { @@ -1203,7 +1027,7 @@ "kind": "ZeroSized", "ty": 1 }, - "span": 32, + "span": 27, "user_ty": null } } @@ -1217,45 +1041,40 @@ "const_": { "id": 5, "kind": "ZeroSized", - "ty": 20 + "ty": 18 }, - "span": 34, + "span": 29, "user_ty": null } }, "target": 2, "unwind": "Unreachable" } - }, - "span": 35 + } } }, { "statements": [], "terminator": { - "kind": "Return", - "span": 36 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 37, "ty": 1 }, { "mutability": "Not", - "span": 38, "ty": 7 }, { "mutability": "Not", - "span": 39, "ty": 1 } ], - "span": 42, + "span": 37, "spread_arg": null, "var_debug_info": [ { @@ -1264,7 +1083,7 @@ "name": "f", "source_info": { "scope": 0, - "span": 38 + "span": 33 }, "value": { "Place": { @@ -1279,7 +1098,7 @@ "name": "result", "source_info": { "scope": 1, - "span": 40 + "span": 35 }, "value": { "Place": { @@ -1294,7 +1113,7 @@ "name": "dummy", "source_info": { "scope": 2, - "span": 41 + "span": 36 }, "value": { "Const": { @@ -1303,7 +1122,7 @@ "kind": "ZeroSized", "ty": 1 }, - "span": 32, + "span": 27, "user_ty": null } } @@ -1353,45 +1172,40 @@ "const_": { "id": 6, "kind": "ZeroSized", - "ty": 21 + "ty": 19 }, - "span": 43, + "span": 38, "user_ty": null } }, "target": 1, "unwind": "Continue" } - }, - "span": 43 + } } }, { "statements": [], "terminator": { - "kind": "Return", - "span": 43 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 43, - "ty": 16 + "ty": 15 }, { "mutability": "Not", - "span": 43, - "ty": 22 + "ty": 20 }, { "mutability": "Not", - "span": 43, "ty": 1 } ], - "span": 43, + "span": 38, "spread_arg": 2, "var_debug_info": [] }, @@ -1427,36 +1241,31 @@ "target": 1, "unwind": "Continue" } - }, - "span": 43 + } } }, { "statements": [], "terminator": { - "kind": "Return", - "span": 43 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 43, "ty": 1 }, { "mutability": "Not", - "span": 43, "ty": 7 }, { "mutability": "Not", - "span": 43, "ty": 1 } ], - "span": 43, + "span": 38, "spread_arg": 2, "var_debug_info": [] }, @@ -1499,8 +1308,7 @@ ] } ] - }, - "span": 43 + } } ], "terminator": { @@ -1529,9 +1337,9 @@ "const_": { "id": 7, "kind": "ZeroSized", - "ty": 23 + "ty": 21 }, - "span": 43, + "span": 38, "user_ty": null } }, @@ -1540,8 +1348,7 @@ "Cleanup": 3 } } - }, - "span": 43 + } } }, { @@ -1556,15 +1363,13 @@ "target": 2, "unwind": "Continue" } - }, - "span": 43 + } } }, { "statements": [], "terminator": { - "kind": "Return", - "span": 43 + "kind": "Return" } }, { @@ -1579,41 +1384,35 @@ "target": 4, "unwind": "Terminate" } - }, - "span": 43 + } } }, { "statements": [], "terminator": { - "kind": "Resume", - "span": 43 + "kind": "Resume" } } ], "locals": [ { "mutability": "Mut", - "span": 43, - "ty": 16 + "ty": 15 }, { "mutability": "Not", - "span": 43, - "ty": 12 + "ty": 11 }, { "mutability": "Not", - "span": 43, "ty": 1 }, { "mutability": "Not", - "span": 43, - "ty": 24 + "ty": 22 } ], - "span": 43, + "span": 38, "spread_arg": 2, "var_debug_info": [] }, @@ -1623,43 +1422,6 @@ }, "symbol_name": "_ZN4core3ops8function6FnOnce9call_once17h" }, - { - "details": null, - "mono_item_kind": { - "MonoItemFn": { - "body": { - "arg_count": 1, - "blocks": [ - { - "statements": [], - "terminator": { - "kind": "Return", - "span": 44 - } - } - ], - "locals": [ - { - "mutability": "Mut", - "span": 44, - "ty": 1 - }, - { - "mutability": "Not", - "span": 44, - "ty": 22 - } - ], - "span": 44, - "spread_arg": null, - "var_debug_info": [] - }, - "id": 4, - "name": "std::ptr::drop_in_place::<{closure@std::rt::lang_start<()>::{closure#0}}>" - } - }, - "symbol_name": "_ZN4core3ptr85drop_in_place$LT$std..rt..lang_start$LT$$LP$$RP$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$17h" - }, { "details": null, "mono_item_kind": { @@ -1693,62 +1455,37 @@ } } }, - "ty": 17 + "ty": 16 }, - "span": 46, + "span": 27, "user_ty": null } } } ] - }, - "span": 46 + } } ], "terminator": { - "kind": "Return", - "span": 45 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 47, - "ty": 17 + "ty": 16 }, { "mutability": "Not", - "span": 48, "ty": 1 } ], - "span": 49, + "span": 43, "spread_arg": null, - "var_debug_info": [ - { - "argument_index": 1, - "composite": null, - "name": "self", - "source_info": { - "scope": 0, - "span": 48 - }, - "value": { - "Const": { - "const_": { - "id": 4, - "kind": "ZeroSized", - "ty": 1 - }, - "span": 32, - "user_ty": null - } - } - } - ] + "var_debug_info": [] }, - "id": 5, + "id": 4, "name": "<() as std::process::Termination>::report" } }, @@ -1782,23 +1519,6 @@ } } ], - [ - { - "EnumType": { - "discriminants": [ - [ - 0, - 0 - ], - [ - 1, - 1 - ] - ], - "name": "std::result::Result" - } - } - ], [ { "StructType": { @@ -1819,7 +1539,7 @@ { "StructType": { "fields": "elided", - "name": "std::sys::pal::unix::process::process_common::ExitCode" + "name": "std::sys::process::unix::common::ExitCode" } } ], @@ -1875,11 +1595,6 @@ "RefType": "elided" } ], - [ - { - "RefType": "elided" - } - ], [ { "RefType": "elided" diff --git a/tests/integration/programs/enum.smir.json.expected b/tests/integration/programs/enum.smir.json.expected index 9e423752..18b341c8 100644 --- a/tests/integration/programs/enum.smir.json.expected +++ b/tests/integration/programs/enum.smir.json.expected @@ -55,26 +55,18 @@ { "kind": { "StorageLive": 5 - }, - "span": 1 - }, - { - "kind": { - "StorageLive": 6 - }, - "span": 2 + } }, { "kind": { - "StorageLive": 8 - }, - "span": 3 + "StorageLive": 7 + } }, { "kind": { "Assign": [ { - "local": 8, + "local": 7, "projection": [] }, { @@ -109,14 +101,13 @@ ] } ] - }, - "span": 3 + } }, { "kind": { "Assign": [ { - "local": 7, + "local": 6, "projection": [] }, { @@ -126,20 +117,19 @@ }, "Shared", { - "local": 8, + "local": 7, "projection": [] } ] } ] - }, - "span": 2 + } }, { "kind": { "Assign": [ { - "local": 6, + "local": 5, "projection": [] }, { @@ -149,7 +139,7 @@ }, { "Copy": { - "local": 7, + "local": 6, "projection": [] } }, @@ -157,8 +147,7 @@ ] } ] - }, - "span": 2 + } } ], "terminator": { @@ -167,7 +156,7 @@ "args": [ { "Move": { - "local": 6, + "local": 5, "projection": [] } }, @@ -191,7 +180,7 @@ } ], "destination": { - "local": 5, + "local": 0, "projection": [] }, "func": { @@ -208,114 +197,62 @@ "target": 1, "unwind": "Continue" } - }, - "span": 1 + } } }, { "statements": [ { "kind": { - "StorageDead": 6 - }, - "span": 5 - }, - { - "kind": { - "Assign": [ - { - "local": 0, - "projection": [] - }, - { - "Use": { - "Copy": { - "local": 5, - "projection": [ - { - "Downcast": 0 - }, - { - "Field": [ - 0, - 6 - ] - } - ] - } - } - } - ] - }, - "span": 6 - }, - { - "kind": { - "StorageDead": 8 - }, - "span": 7 + "StorageDead": 7 + } }, { "kind": { "StorageDead": 5 - }, - "span": 7 + } } ], "terminator": { - "kind": "Return", - "span": 4 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 8, "ty": 6 }, { "mutability": "Not", - "span": 9, "ty": 7 }, { "mutability": "Not", - "span": 10, "ty": 6 }, { "mutability": "Not", - "span": 11, "ty": 8 }, { "mutability": "Not", - "span": 12, "ty": 9 }, { "mutability": "Mut", - "span": 1, - "ty": 10 - }, - { - "mutability": "Mut", - "span": 2, "ty": 5 }, { "mutability": "Not", - "span": 2, - "ty": 11 + "ty": 10 }, { "mutability": "Not", - "span": 3, - "ty": 12 + "ty": 11 } ], - "span": 13, + "span": 11, "spread_arg": null, "var_debug_info": [ { @@ -324,7 +261,7 @@ "name": "main", "source_info": { "scope": 0, - "span": 9 + "span": 7 }, "value": { "Place": { @@ -339,7 +276,7 @@ "name": "argc", "source_info": { "scope": 0, - "span": 10 + "span": 8 }, "value": { "Place": { @@ -354,7 +291,7 @@ "name": "argv", "source_info": { "scope": 0, - "span": 11 + "span": 9 }, "value": { "Place": { @@ -369,7 +306,7 @@ "name": "sigpipe", "source_info": { "scope": 0, - "span": 12 + "span": 10 }, "value": { "Place": { @@ -377,21 +314,6 @@ "projection": [] } } - }, - { - "argument_index": null, - "composite": null, - "name": "v", - "source_info": { - "scope": 1, - "span": 6 - }, - "value": { - "Place": { - "local": 0, - "projection": [] - } - } } ] }, @@ -413,20 +335,17 @@ { "kind": { "StorageLive": 2 - }, - "span": 16 + } }, { "kind": { "StorageLive": 3 - }, - "span": 15 + } }, { "kind": { "StorageLive": 4 - }, - "span": 17 + } }, { "kind": { @@ -452,8 +371,7 @@ } } ] - }, - "span": 17 + } } ], "terminator": { @@ -476,17 +394,16 @@ "const_": { "id": 1, "kind": "ZeroSized", - "ty": 13 + "ty": 12 }, - "span": 14, + "span": 12, "user_ty": null } }, "target": 1, "unwind": "Continue" } - }, - "span": 15 + } } }, { @@ -494,8 +411,7 @@ { "kind": { "StorageDead": 4 - }, - "span": 19 + } } ], "terminator": { @@ -518,17 +434,16 @@ "const_": { "id": 2, "kind": "ZeroSized", - "ty": 14 + "ty": 13 }, - "span": 18, + "span": 16, "user_ty": null } }, "target": 2, "unwind": "Continue" } - }, - "span": 16 + } } }, { @@ -536,14 +451,12 @@ { "kind": { "StorageDead": 3 - }, - "span": 21 + } }, { "kind": { "StorageLive": 5 - }, - "span": 22 + } }, { "kind": { @@ -552,42 +465,6 @@ "local": 5, "projection": [] }, - { - "Ref": [ - { - "kind": "ReErased" - }, - "Shared", - { - "local": 2, - "projection": [ - { - "Field": [ - 0, - 15 - ] - } - ] - } - ] - } - ] - }, - "span": 22 - }, - { - "kind": { - "StorageLive": 6 - }, - "span": 23 - }, - { - "kind": { - "Assign": [ - { - "local": 6, - "projection": [] - }, { "Use": { "Copy": { @@ -596,7 +473,7 @@ { "Field": [ 0, - 15 + 14 ] }, { @@ -610,8 +487,7 @@ } } ] - }, - "span": 23 + } }, { "kind": { @@ -625,76 +501,55 @@ "IntToInt", { "Move": { - "local": 6, + "local": 5, "projection": [] } }, - 16 + 15 ] } ] - }, - "span": 24 - }, - { - "kind": { - "StorageDead": 6 - }, - "span": 25 + } }, { "kind": { "StorageDead": 5 - }, - "span": 26 + } }, { "kind": { "StorageDead": 2 - }, - "span": 27 + } } ], "terminator": { - "kind": "Return", - "span": 20 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 28, - "ty": 16 + "ty": 15 }, { "mutability": "Mut", - "span": 3, - "ty": 11 + "ty": 10 }, { "mutability": "Mut", - "span": 16, - "ty": 17 + "ty": 16 }, { "mutability": "Mut", - "span": 15, "ty": 1 }, { "mutability": "Mut", - "span": 17, "ty": 7 }, { "mutability": "Mut", - "span": 22, - "ty": 18 - }, - { - "mutability": "Mut", - "span": 23, "ty": 9 } ], @@ -707,7 +562,7 @@ "name": "main", "source_info": { "scope": 0, - "span": 9 + "span": 7 }, "value": { "Place": { @@ -730,7 +585,7 @@ "name": "self", "source_info": { "scope": 1, - "span": 29 + "span": 25 }, "value": { "Place": { @@ -738,21 +593,6 @@ "projection": [] } } - }, - { - "argument_index": 1, - "composite": null, - "name": "self", - "source_info": { - "scope": 2, - "span": 30 - }, - "value": { - "Place": { - "local": 5, - "projection": [] - } - } } ] }, @@ -788,7 +628,7 @@ "kind": "ZeroSized", "ty": 1 }, - "span": 32, + "span": 27, "user_ty": null } } @@ -802,17 +642,16 @@ "const_": { "id": 3, "kind": "ZeroSized", - "ty": 19 + "ty": 17 }, - "span": 31, + "span": 26, "user_ty": null } }, "target": 1, "unwind": "Continue" } - }, - "span": 33 + } } }, { @@ -828,7 +667,7 @@ "kind": "ZeroSized", "ty": 1 }, - "span": 32, + "span": 27, "user_ty": null } } @@ -842,45 +681,40 @@ "const_": { "id": 5, "kind": "ZeroSized", - "ty": 20 + "ty": 18 }, - "span": 34, + "span": 29, "user_ty": null } }, "target": 2, "unwind": "Unreachable" } - }, - "span": 35 + } } }, { "statements": [], "terminator": { - "kind": "Return", - "span": 36 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 37, "ty": 1 }, { "mutability": "Not", - "span": 38, "ty": 7 }, { "mutability": "Not", - "span": 39, "ty": 1 } ], - "span": 42, + "span": 37, "spread_arg": null, "var_debug_info": [ { @@ -889,7 +723,7 @@ "name": "f", "source_info": { "scope": 0, - "span": 38 + "span": 33 }, "value": { "Place": { @@ -904,7 +738,7 @@ "name": "result", "source_info": { "scope": 1, - "span": 40 + "span": 35 }, "value": { "Place": { @@ -919,7 +753,7 @@ "name": "dummy", "source_info": { "scope": 2, - "span": 41 + "span": 36 }, "value": { "Const": { @@ -928,7 +762,7 @@ "kind": "ZeroSized", "ty": 1 }, - "span": 32, + "span": 27, "user_ty": null } } @@ -978,45 +812,40 @@ "const_": { "id": 6, "kind": "ZeroSized", - "ty": 21 + "ty": 19 }, - "span": 43, + "span": 38, "user_ty": null } }, "target": 1, "unwind": "Continue" } - }, - "span": 43 + } } }, { "statements": [], "terminator": { - "kind": "Return", - "span": 43 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 43, - "ty": 16 + "ty": 15 }, { "mutability": "Not", - "span": 43, - "ty": 22 + "ty": 20 }, { "mutability": "Not", - "span": 43, "ty": 1 } ], - "span": 43, + "span": 38, "spread_arg": 2, "var_debug_info": [] }, @@ -1026,6 +855,66 @@ }, "symbol_name": "_ZN4core3ops8function6FnOnce40call_once$u7b$$u7b$vtable.shim$u7d$$u7d$17h" }, + { + "details": null, + "mono_item_kind": { + "MonoItemFn": { + "body": { + "arg_count": 2, + "blocks": [ + { + "statements": [], + "terminator": { + "kind": { + "Call": { + "args": [], + "destination": { + "local": 0, + "projection": [] + }, + "func": { + "Move": { + "local": 1, + "projection": [] + } + }, + "target": 1, + "unwind": "Continue" + } + } + } + }, + { + "statements": [], + "terminator": { + "kind": "Return" + } + } + ], + "locals": [ + { + "mutability": "Mut", + "ty": 1 + }, + { + "mutability": "Not", + "ty": 7 + }, + { + "mutability": "Not", + "ty": 1 + } + ], + "span": 38, + "spread_arg": 2, + "var_debug_info": [] + }, + "id": 3, + "name": ">::call_once" + } + }, + "symbol_name": "_ZN4core3ops8function6FnOnce9call_once17h" + }, { "details": null, "mono_item_kind": { @@ -1059,8 +948,7 @@ ] } ] - }, - "span": 43 + } } ], "terminator": { @@ -1089,9 +977,9 @@ "const_": { "id": 7, "kind": "ZeroSized", - "ty": 23 + "ty": 21 }, - "span": 43, + "span": 38, "user_ty": null } }, @@ -1100,8 +988,7 @@ "Cleanup": 3 } } - }, - "span": 43 + } } }, { @@ -1116,15 +1003,13 @@ "target": 2, "unwind": "Continue" } - }, - "span": 43 + } } }, { "statements": [], "terminator": { - "kind": "Return", - "span": 43 + "kind": "Return" } }, { @@ -1139,41 +1024,35 @@ "target": 4, "unwind": "Terminate" } - }, - "span": 43 + } } }, { "statements": [], "terminator": { - "kind": "Resume", - "span": 43 + "kind": "Resume" } } ], "locals": [ { "mutability": "Mut", - "span": 43, - "ty": 16 + "ty": 15 }, { "mutability": "Not", - "span": 43, - "ty": 12 + "ty": 11 }, { "mutability": "Not", - "span": 43, "ty": 1 }, { "mutability": "Not", - "span": 43, - "ty": 24 + "ty": 22 } ], - "span": 43, + "span": 38, "spread_arg": 2, "var_debug_info": [] }, @@ -1183,108 +1062,6 @@ }, "symbol_name": "_ZN4core3ops8function6FnOnce9call_once17h" }, - { - "details": null, - "mono_item_kind": { - "MonoItemFn": { - "body": { - "arg_count": 2, - "blocks": [ - { - "statements": [], - "terminator": { - "kind": { - "Call": { - "args": [], - "destination": { - "local": 0, - "projection": [] - }, - "func": { - "Move": { - "local": 1, - "projection": [] - } - }, - "target": 1, - "unwind": "Continue" - } - }, - "span": 43 - } - }, - { - "statements": [], - "terminator": { - "kind": "Return", - "span": 43 - } - } - ], - "locals": [ - { - "mutability": "Mut", - "span": 43, - "ty": 1 - }, - { - "mutability": "Not", - "span": 43, - "ty": 7 - }, - { - "mutability": "Not", - "span": 43, - "ty": 1 - } - ], - "span": 43, - "spread_arg": 2, - "var_debug_info": [] - }, - "id": 3, - "name": ">::call_once" - } - }, - "symbol_name": "_ZN4core3ops8function6FnOnce9call_once17h" - }, - { - "details": null, - "mono_item_kind": { - "MonoItemFn": { - "body": { - "arg_count": 1, - "blocks": [ - { - "statements": [], - "terminator": { - "kind": "Return", - "span": 44 - } - } - ], - "locals": [ - { - "mutability": "Mut", - "span": 44, - "ty": 1 - }, - { - "mutability": "Not", - "span": 44, - "ty": 22 - } - ], - "span": 44, - "spread_arg": null, - "var_debug_info": [] - }, - "id": 4, - "name": "std::ptr::drop_in_place::<{closure@std::rt::lang_start<()>::{closure#0}}>" - } - }, - "symbol_name": "_ZN4core3ptr85drop_in_place$LT$std..rt..lang_start$LT$$LP$$RP$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$17h" - }, { "details": null, "mono_item_kind": { @@ -1305,7 +1082,7 @@ "Aggregate": [ { "Adt": [ - 7, + 6, 0, [], null, @@ -1316,29 +1093,25 @@ ] } ] - }, - "span": 51 + } } ], "terminator": { - "kind": "Return", - "span": 50 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 52, "ty": 1 }, { "mutability": "Not", - "span": 53, - "ty": 25 + "ty": 23 } ], - "span": 54, + "span": 48, "spread_arg": null, "var_debug_info": [ { @@ -1347,7 +1120,7 @@ "name": "a", "source_info": { "scope": 1, - "span": 53 + "span": 47 }, "value": { "Place": { @@ -1358,7 +1131,7 @@ } ] }, - "id": 6, + "id": 5, "name": "main" } }, @@ -1397,62 +1170,37 @@ } } }, - "ty": 17 + "ty": 16 }, - "span": 46, + "span": 27, "user_ty": null } } } ] - }, - "span": 46 + } } ], "terminator": { - "kind": "Return", - "span": 45 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 47, - "ty": 17 + "ty": 16 }, { "mutability": "Not", - "span": 48, "ty": 1 } ], - "span": 49, + "span": 43, "spread_arg": null, - "var_debug_info": [ - { - "argument_index": 1, - "composite": null, - "name": "self", - "source_info": { - "scope": 0, - "span": 48 - }, - "value": { - "Const": { - "const_": { - "id": 4, - "kind": "ZeroSized", - "ty": 1 - }, - "span": 32, - "user_ty": null - } - } - } - ] + "var_debug_info": [] }, - "id": 5, + "id": 4, "name": "<() as std::process::Termination>::report" } }, @@ -1498,23 +1246,6 @@ } } ], - [ - { - "EnumType": { - "discriminants": [ - [ - 0, - 0 - ], - [ - 1, - 1 - ] - ], - "name": "std::result::Result" - } - } - ], [ { "StructType": { @@ -1527,7 +1258,7 @@ { "StructType": { "fields": "elided", - "name": "std::sys::pal::unix::process::process_common::ExitCode" + "name": "std::sys::process::unix::common::ExitCode" } } ], @@ -1563,11 +1294,6 @@ "RefType": "elided" } ], - [ - { - "RefType": "elided" - } - ], [ { "RefType": "elided" diff --git a/tests/integration/programs/fibonacci.smir.json.expected b/tests/integration/programs/fibonacci.smir.json.expected index 4dadef98..c2147ccf 100644 --- a/tests/integration/programs/fibonacci.smir.json.expected +++ b/tests/integration/programs/fibonacci.smir.json.expected @@ -105,26 +105,18 @@ { "kind": { "StorageLive": 5 - }, - "span": 1 - }, - { - "kind": { - "StorageLive": 6 - }, - "span": 2 + } }, { "kind": { - "StorageLive": 8 - }, - "span": 3 + "StorageLive": 7 + } }, { "kind": { "Assign": [ { - "local": 8, + "local": 7, "projection": [] }, { @@ -159,14 +151,13 @@ ] } ] - }, - "span": 3 + } }, { "kind": { "Assign": [ { - "local": 7, + "local": 6, "projection": [] }, { @@ -176,20 +167,19 @@ }, "Shared", { - "local": 8, + "local": 7, "projection": [] } ] } ] - }, - "span": 2 + } }, { "kind": { "Assign": [ { - "local": 6, + "local": 5, "projection": [] }, { @@ -199,7 +189,7 @@ }, { "Copy": { - "local": 7, + "local": 6, "projection": [] } }, @@ -207,8 +197,7 @@ ] } ] - }, - "span": 2 + } } ], "terminator": { @@ -217,7 +206,7 @@ "args": [ { "Move": { - "local": 6, + "local": 5, "projection": [] } }, @@ -241,7 +230,7 @@ } ], "destination": { - "local": 5, + "local": 0, "projection": [] }, "func": { @@ -258,114 +247,62 @@ "target": 1, "unwind": "Continue" } - }, - "span": 1 + } } }, { "statements": [ { "kind": { - "StorageDead": 6 - }, - "span": 5 - }, - { - "kind": { - "Assign": [ - { - "local": 0, - "projection": [] - }, - { - "Use": { - "Copy": { - "local": 5, - "projection": [ - { - "Downcast": 0 - }, - { - "Field": [ - 0, - 6 - ] - } - ] - } - } - } - ] - }, - "span": 6 - }, - { - "kind": { - "StorageDead": 8 - }, - "span": 7 + "StorageDead": 7 + } }, { "kind": { "StorageDead": 5 - }, - "span": 7 + } } ], "terminator": { - "kind": "Return", - "span": 4 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 8, "ty": 6 }, { "mutability": "Not", - "span": 9, "ty": 7 }, { "mutability": "Not", - "span": 10, "ty": 6 }, { "mutability": "Not", - "span": 11, "ty": 8 }, { "mutability": "Not", - "span": 12, "ty": 9 }, { "mutability": "Mut", - "span": 1, - "ty": 10 - }, - { - "mutability": "Mut", - "span": 2, "ty": 5 }, { "mutability": "Not", - "span": 2, - "ty": 11 + "ty": 10 }, { "mutability": "Not", - "span": 3, - "ty": 12 + "ty": 11 } ], - "span": 13, + "span": 11, "spread_arg": null, "var_debug_info": [ { @@ -374,7 +311,7 @@ "name": "main", "source_info": { "scope": 0, - "span": 9 + "span": 7 }, "value": { "Place": { @@ -389,7 +326,7 @@ "name": "argc", "source_info": { "scope": 0, - "span": 10 + "span": 8 }, "value": { "Place": { @@ -404,7 +341,7 @@ "name": "argv", "source_info": { "scope": 0, - "span": 11 + "span": 9 }, "value": { "Place": { @@ -419,7 +356,7 @@ "name": "sigpipe", "source_info": { "scope": 0, - "span": 12 + "span": 10 }, "value": { "Place": { @@ -427,21 +364,6 @@ "projection": [] } } - }, - { - "argument_index": null, - "composite": null, - "name": "v", - "source_info": { - "scope": 1, - "span": 6 - }, - "value": { - "Place": { - "local": 0, - "projection": [] - } - } } ] }, @@ -463,20 +385,17 @@ { "kind": { "StorageLive": 2 - }, - "span": 16 + } }, { "kind": { "StorageLive": 3 - }, - "span": 15 + } }, { "kind": { "StorageLive": 4 - }, - "span": 17 + } }, { "kind": { @@ -502,8 +421,7 @@ } } ] - }, - "span": 17 + } } ], "terminator": { @@ -526,17 +444,16 @@ "const_": { "id": 1, "kind": "ZeroSized", - "ty": 13 + "ty": 12 }, - "span": 14, + "span": 12, "user_ty": null } }, "target": 1, "unwind": "Continue" } - }, - "span": 15 + } } }, { @@ -544,8 +461,7 @@ { "kind": { "StorageDead": 4 - }, - "span": 19 + } } ], "terminator": { @@ -568,17 +484,16 @@ "const_": { "id": 2, "kind": "ZeroSized", - "ty": 14 + "ty": 13 }, - "span": 18, + "span": 16, "user_ty": null } }, "target": 2, "unwind": "Continue" } - }, - "span": 16 + } } }, { @@ -586,14 +501,12 @@ { "kind": { "StorageDead": 3 - }, - "span": 21 + } }, { "kind": { "StorageLive": 5 - }, - "span": 22 + } }, { "kind": { @@ -602,42 +515,6 @@ "local": 5, "projection": [] }, - { - "Ref": [ - { - "kind": "ReErased" - }, - "Shared", - { - "local": 2, - "projection": [ - { - "Field": [ - 0, - 15 - ] - } - ] - } - ] - } - ] - }, - "span": 22 - }, - { - "kind": { - "StorageLive": 6 - }, - "span": 23 - }, - { - "kind": { - "Assign": [ - { - "local": 6, - "projection": [] - }, { "Use": { "Copy": { @@ -646,7 +523,7 @@ { "Field": [ 0, - 15 + 14 ] }, { @@ -660,8 +537,7 @@ } } ] - }, - "span": 23 + } }, { "kind": { @@ -675,76 +551,55 @@ "IntToInt", { "Move": { - "local": 6, + "local": 5, "projection": [] } }, - 16 + 15 ] } ] - }, - "span": 24 - }, - { - "kind": { - "StorageDead": 6 - }, - "span": 25 + } }, { "kind": { "StorageDead": 5 - }, - "span": 26 + } }, { "kind": { "StorageDead": 2 - }, - "span": 27 + } } ], "terminator": { - "kind": "Return", - "span": 20 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 28, - "ty": 16 + "ty": 15 }, { "mutability": "Mut", - "span": 3, - "ty": 11 + "ty": 10 }, { "mutability": "Mut", - "span": 16, - "ty": 17 + "ty": 16 }, { "mutability": "Mut", - "span": 15, "ty": 1 }, { "mutability": "Mut", - "span": 17, "ty": 7 }, { "mutability": "Mut", - "span": 22, - "ty": 18 - }, - { - "mutability": "Mut", - "span": 23, "ty": 9 } ], @@ -757,7 +612,7 @@ "name": "main", "source_info": { "scope": 0, - "span": 9 + "span": 7 }, "value": { "Place": { @@ -780,7 +635,7 @@ "name": "self", "source_info": { "scope": 1, - "span": 29 + "span": 25 }, "value": { "Place": { @@ -788,21 +643,6 @@ "projection": [] } } - }, - { - "argument_index": 1, - "composite": null, - "name": "self", - "source_info": { - "scope": 2, - "span": 30 - }, - "value": { - "Place": { - "local": 5, - "projection": [] - } - } } ] }, @@ -838,7 +678,7 @@ "kind": "ZeroSized", "ty": 1 }, - "span": 32, + "span": 27, "user_ty": null } } @@ -852,17 +692,16 @@ "const_": { "id": 3, "kind": "ZeroSized", - "ty": 19 + "ty": 17 }, - "span": 31, + "span": 26, "user_ty": null } }, "target": 1, "unwind": "Continue" } - }, - "span": 33 + } } }, { @@ -878,7 +717,7 @@ "kind": "ZeroSized", "ty": 1 }, - "span": 32, + "span": 27, "user_ty": null } } @@ -892,45 +731,40 @@ "const_": { "id": 5, "kind": "ZeroSized", - "ty": 20 + "ty": 18 }, - "span": 34, + "span": 29, "user_ty": null } }, "target": 2, "unwind": "Unreachable" } - }, - "span": 35 + } } }, { "statements": [], "terminator": { - "kind": "Return", - "span": 36 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 37, "ty": 1 }, { "mutability": "Not", - "span": 38, "ty": 7 }, { "mutability": "Not", - "span": 39, "ty": 1 } ], - "span": 42, + "span": 37, "spread_arg": null, "var_debug_info": [ { @@ -939,7 +773,7 @@ "name": "f", "source_info": { "scope": 0, - "span": 38 + "span": 33 }, "value": { "Place": { @@ -954,7 +788,7 @@ "name": "result", "source_info": { "scope": 1, - "span": 40 + "span": 35 }, "value": { "Place": { @@ -969,7 +803,7 @@ "name": "dummy", "source_info": { "scope": 2, - "span": 41 + "span": 36 }, "value": { "Const": { @@ -978,7 +812,7 @@ "kind": "ZeroSized", "ty": 1 }, - "span": 32, + "span": 27, "user_ty": null } } @@ -1028,45 +862,40 @@ "const_": { "id": 6, "kind": "ZeroSized", - "ty": 21 + "ty": 19 }, - "span": 43, + "span": 38, "user_ty": null } }, "target": 1, "unwind": "Continue" } - }, - "span": 43 + } } }, { "statements": [], "terminator": { - "kind": "Return", - "span": 43 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 43, - "ty": 16 + "ty": 15 }, { "mutability": "Not", - "span": 43, - "ty": 22 + "ty": 20 }, { "mutability": "Not", - "span": 43, "ty": 1 } ], - "span": 43, + "span": 38, "spread_arg": 2, "var_debug_info": [] }, @@ -1076,6 +905,66 @@ }, "symbol_name": "_ZN4core3ops8function6FnOnce40call_once$u7b$$u7b$vtable.shim$u7d$$u7d$17h" }, + { + "details": null, + "mono_item_kind": { + "MonoItemFn": { + "body": { + "arg_count": 2, + "blocks": [ + { + "statements": [], + "terminator": { + "kind": { + "Call": { + "args": [], + "destination": { + "local": 0, + "projection": [] + }, + "func": { + "Move": { + "local": 1, + "projection": [] + } + }, + "target": 1, + "unwind": "Continue" + } + } + } + }, + { + "statements": [], + "terminator": { + "kind": "Return" + } + } + ], + "locals": [ + { + "mutability": "Mut", + "ty": 1 + }, + { + "mutability": "Not", + "ty": 7 + }, + { + "mutability": "Not", + "ty": 1 + } + ], + "span": 38, + "spread_arg": 2, + "var_debug_info": [] + }, + "id": 3, + "name": ">::call_once" + } + }, + "symbol_name": "_ZN4core3ops8function6FnOnce9call_once17h" + }, { "details": null, "mono_item_kind": { @@ -1109,8 +998,7 @@ ] } ] - }, - "span": 43 + } } ], "terminator": { @@ -1139,9 +1027,9 @@ "const_": { "id": 7, "kind": "ZeroSized", - "ty": 23 + "ty": 21 }, - "span": 43, + "span": 38, "user_ty": null } }, @@ -1150,8 +1038,7 @@ "Cleanup": 3 } } - }, - "span": 43 + } } }, { @@ -1166,15 +1053,13 @@ "target": 2, "unwind": "Continue" } - }, - "span": 43 + } } }, { "statements": [], "terminator": { - "kind": "Return", - "span": 43 + "kind": "Return" } }, { @@ -1189,41 +1074,35 @@ "target": 4, "unwind": "Terminate" } - }, - "span": 43 + } } }, { "statements": [], "terminator": { - "kind": "Resume", - "span": 43 + "kind": "Resume" } } ], "locals": [ { "mutability": "Mut", - "span": 43, - "ty": 16 + "ty": 15 }, { "mutability": "Not", - "span": 43, - "ty": 12 + "ty": 11 }, { "mutability": "Not", - "span": 43, "ty": 1 }, { "mutability": "Not", - "span": 43, - "ty": 24 + "ty": 22 } ], - "span": 43, + "span": 38, "spread_arg": 2, "var_debug_info": [] }, @@ -1233,108 +1112,6 @@ }, "symbol_name": "_ZN4core3ops8function6FnOnce9call_once17h" }, - { - "details": null, - "mono_item_kind": { - "MonoItemFn": { - "body": { - "arg_count": 2, - "blocks": [ - { - "statements": [], - "terminator": { - "kind": { - "Call": { - "args": [], - "destination": { - "local": 0, - "projection": [] - }, - "func": { - "Move": { - "local": 1, - "projection": [] - } - }, - "target": 1, - "unwind": "Continue" - } - }, - "span": 43 - } - }, - { - "statements": [], - "terminator": { - "kind": "Return", - "span": 43 - } - } - ], - "locals": [ - { - "mutability": "Mut", - "span": 43, - "ty": 1 - }, - { - "mutability": "Not", - "span": 43, - "ty": 7 - }, - { - "mutability": "Not", - "span": 43, - "ty": 1 - } - ], - "span": 43, - "spread_arg": 2, - "var_debug_info": [] - }, - "id": 3, - "name": ">::call_once" - } - }, - "symbol_name": "_ZN4core3ops8function6FnOnce9call_once17h" - }, - { - "details": null, - "mono_item_kind": { - "MonoItemFn": { - "body": { - "arg_count": 1, - "blocks": [ - { - "statements": [], - "terminator": { - "kind": "Return", - "span": 44 - } - } - ], - "locals": [ - { - "mutability": "Mut", - "span": 44, - "ty": 1 - }, - { - "mutability": "Not", - "span": 44, - "ty": 22 - } - ], - "span": 44, - "spread_arg": null, - "var_debug_info": [] - }, - "id": 4, - "name": "std::ptr::drop_in_place::<{closure@std::rt::lang_start<()>::{closure#0}}>" - } - }, - "symbol_name": "_ZN4core3ptr85drop_in_place$LT$std..rt..lang_start$LT$$LP$$RP$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$17h" - }, { "details": null, "mono_item_kind": { @@ -1368,62 +1145,37 @@ } } }, - "ty": 17 + "ty": 16 }, - "span": 46, + "span": 27, "user_ty": null } } } ] - }, - "span": 46 + } } ], "terminator": { - "kind": "Return", - "span": 45 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 47, - "ty": 17 + "ty": 16 }, { "mutability": "Not", - "span": 48, "ty": 1 } ], - "span": 49, + "span": 43, "spread_arg": null, - "var_debug_info": [ - { - "argument_index": 1, - "composite": null, - "name": "self", - "source_info": { - "scope": 0, - "span": 48 - }, - "value": { - "Const": { - "const_": { - "id": 4, - "kind": "ZeroSized", - "ty": 1 - }, - "span": 32, - "user_ty": null - } - } - } - ] + "var_debug_info": [] }, - "id": 5, + "id": 4, "name": "<() as std::process::Termination>::report" } }, @@ -1461,9 +1213,9 @@ } } }, - "ty": 26 + "ty": 24 }, - "span": 68, + "span": 62, "user_ty": null } } @@ -1477,17 +1229,16 @@ "const_": { "id": 12, "kind": "ZeroSized", - "ty": 27 + "ty": 25 }, - "span": 67, + "span": 61, "user_ty": null } }, "target": 1, "unwind": "Continue" } - }, - "span": 69 + } } }, { @@ -1511,15 +1262,13 @@ "otherwise": 3 } } - }, - "span": 70 + } } }, { "statements": [], "terminator": { - "kind": "Return", - "span": 71 + "kind": "Return" } }, { @@ -1564,9 +1313,9 @@ } } }, - "ty": 30 + "ty": 28 }, - "span": 32, + "span": 27, "user_ty": null } } @@ -1580,38 +1329,34 @@ "const_": { "id": 14, "kind": "ZeroSized", - "ty": 29 + "ty": 27 }, - "span": 72, + "span": 66, "user_ty": null } }, "target": null, "unwind": "Continue" } - }, - "span": 72 + } } } ], "locals": [ { "mutability": "Mut", - "span": 73, "ty": 1 }, { "mutability": "Not", - "span": 74, - "ty": 26 + "ty": 24 }, { "mutability": "Mut", - "span": 72, - "ty": 31 + "ty": 29 } ], - "span": 75, + "span": 69, "spread_arg": null, "var_debug_info": [ { @@ -1620,7 +1365,7 @@ "name": "ans", "source_info": { "scope": 1, - "span": 74 + "span": 68 }, "value": { "Place": { @@ -1631,7 +1376,7 @@ } ] }, - "id": 7, + "id": 6, "name": "main" } }, @@ -1669,8 +1414,7 @@ "otherwise": 1 } } - }, - "span": 50 + } } }, { @@ -1710,17 +1454,16 @@ } } }, - "ty": 26 + "ty": 24 }, - "span": 51, + "span": 45, "user_ty": null } } ] } ] - }, - "span": 52 + } } ], "terminator": { @@ -1733,7 +1476,7 @@ { "Field": [ 1, - 25 + 23 ] } ] @@ -1768,9 +1511,9 @@ } } }, - "ty": 26 + "ty": 24 }, - "span": 51, + "span": 45, "user_ty": null } } @@ -1779,8 +1522,7 @@ "target": 4, "unwind": "Continue" } - }, - "span": 52 + } } }, { @@ -1812,16 +1554,15 @@ } } }, - "ty": 26 + "ty": 24 }, - "span": 53, + "span": 47, "user_ty": null } } } ] - }, - "span": 53 + } } ], "terminator": { @@ -1829,8 +1570,7 @@ "Goto": { "target": 9 } - }, - "span": 53 + } } }, { @@ -1862,16 +1602,15 @@ } } }, - "ty": 26 + "ty": 24 }, - "span": 54, + "span": 48, "user_ty": null } } } ] - }, - "span": 54 + } } ], "terminator": { @@ -1879,8 +1618,7 @@ "Goto": { "target": 9 } - }, - "span": 54 + } } }, { @@ -1900,7 +1638,7 @@ { "Field": [ 0, - 26 + 24 ] } ] @@ -1908,8 +1646,7 @@ } } ] - }, - "span": 52 + } } ], "terminator": { @@ -1932,17 +1669,16 @@ "const_": { "id": 12, "kind": "ZeroSized", - "ty": 27 + "ty": 25 }, - "span": 55, + "span": 49, "user_ty": null } }, "target": 5, "unwind": "Continue" } - }, - "span": 56 + } } }, { @@ -1982,17 +1718,16 @@ } } }, - "ty": 26 + "ty": 24 }, - "span": 57, + "span": 51, "user_ty": null } } ] } ] - }, - "span": 58 + } } ], "terminator": { @@ -2005,7 +1740,7 @@ { "Field": [ 1, - 25 + 23 ] } ] @@ -2040,9 +1775,9 @@ } } }, - "ty": 26 + "ty": 24 }, - "span": 57, + "span": 51, "user_ty": null } } @@ -2051,8 +1786,7 @@ "target": 6, "unwind": "Continue" } - }, - "span": 58 + } } }, { @@ -2072,7 +1806,7 @@ { "Field": [ 0, - 26 + 24 ] } ] @@ -2080,8 +1814,7 @@ } } ] - }, - "span": 58 + } } ], "terminator": { @@ -2104,17 +1837,16 @@ "const_": { "id": 12, "kind": "ZeroSized", - "ty": 27 + "ty": 25 }, - "span": 59, + "span": 53, "user_ty": null } }, "target": 7, "unwind": "Continue" } - }, - "span": 60 + } } }, { @@ -2144,8 +1876,7 @@ ] } ] - }, - "span": 61 + } } ], "terminator": { @@ -2158,7 +1889,7 @@ { "Field": [ 1, - 25 + 23 ] } ] @@ -2185,8 +1916,7 @@ "target": 8, "unwind": "Continue" } - }, - "span": 61 + } } }, { @@ -2206,7 +1936,7 @@ { "Field": [ 0, - 26 + 24 ] } ] @@ -2214,8 +1944,7 @@ } } ] - }, - "span": 61 + } } ], "terminator": { @@ -2223,66 +1952,55 @@ "Goto": { "target": 9 } - }, - "span": 62 + } } }, { "statements": [], "terminator": { - "kind": "Return", - "span": 63 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 64, - "ty": 26 + "ty": 24 }, { "mutability": "Not", - "span": 65, - "ty": 26 + "ty": 24 }, { "mutability": "Mut", - "span": 56, - "ty": 26 + "ty": 24 }, { "mutability": "Mut", - "span": 52, - "ty": 26 + "ty": 24 }, { "mutability": "Mut", - "span": 52, - "ty": 28 + "ty": 26 }, { "mutability": "Mut", - "span": 60, - "ty": 26 + "ty": 24 }, { "mutability": "Mut", - "span": 58, - "ty": 26 + "ty": 24 }, { "mutability": "Mut", - "span": 58, - "ty": 28 + "ty": 26 }, { "mutability": "Mut", - "span": 61, - "ty": 28 + "ty": 26 } ], - "span": 66, + "span": 60, "spread_arg": null, "var_debug_info": [ { @@ -2291,7 +2009,7 @@ "name": "n", "source_info": { "scope": 0, - "span": 65 + "span": 59 }, "value": { "Place": { @@ -2302,7 +2020,7 @@ } ] }, - "id": 6, + "id": 5, "name": "fibonacci" } }, @@ -2348,23 +2066,6 @@ } } ], - [ - { - "EnumType": { - "discriminants": [ - [ - 0, - 0 - ], - [ - 1, - 1 - ] - ], - "name": "std::result::Result" - } - } - ], [ { "StructType": { @@ -2385,7 +2086,7 @@ { "StructType": { "fields": "elided", - "name": "std::sys::pal::unix::process::process_common::ExitCode" + "name": "std::sys::process::unix::common::ExitCode" } } ], @@ -2438,11 +2139,6 @@ "RefType": "elided" } ], - [ - { - "RefType": "elided" - } - ], [ { "RefType": "elided" diff --git a/tests/integration/programs/float.smir.json.expected b/tests/integration/programs/float.smir.json.expected index a47af872..7c2d45ce 100644 --- a/tests/integration/programs/float.smir.json.expected +++ b/tests/integration/programs/float.smir.json.expected @@ -147,26 +147,18 @@ { "kind": { "StorageLive": 5 - }, - "span": 1 - }, - { - "kind": { - "StorageLive": 6 - }, - "span": 2 + } }, { "kind": { - "StorageLive": 8 - }, - "span": 3 + "StorageLive": 7 + } }, { "kind": { "Assign": [ { - "local": 8, + "local": 7, "projection": [] }, { @@ -201,14 +193,13 @@ ] } ] - }, - "span": 3 + } }, { "kind": { "Assign": [ { - "local": 7, + "local": 6, "projection": [] }, { @@ -218,20 +209,19 @@ }, "Shared", { - "local": 8, + "local": 7, "projection": [] } ] } ] - }, - "span": 2 + } }, { "kind": { "Assign": [ { - "local": 6, + "local": 5, "projection": [] }, { @@ -241,7 +231,7 @@ }, { "Copy": { - "local": 7, + "local": 6, "projection": [] } }, @@ -249,8 +239,7 @@ ] } ] - }, - "span": 2 + } } ], "terminator": { @@ -259,7 +248,7 @@ "args": [ { "Move": { - "local": 6, + "local": 5, "projection": [] } }, @@ -283,7 +272,7 @@ } ], "destination": { - "local": 5, + "local": 0, "projection": [] }, "func": { @@ -300,114 +289,62 @@ "target": 1, "unwind": "Continue" } - }, - "span": 1 + } } }, { "statements": [ { "kind": { - "StorageDead": 6 - }, - "span": 5 - }, - { - "kind": { - "Assign": [ - { - "local": 0, - "projection": [] - }, - { - "Use": { - "Copy": { - "local": 5, - "projection": [ - { - "Downcast": 0 - }, - { - "Field": [ - 0, - 6 - ] - } - ] - } - } - } - ] - }, - "span": 6 - }, - { - "kind": { - "StorageDead": 8 - }, - "span": 7 + "StorageDead": 7 + } }, { "kind": { "StorageDead": 5 - }, - "span": 7 + } } ], "terminator": { - "kind": "Return", - "span": 4 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 8, "ty": 6 }, { "mutability": "Not", - "span": 9, "ty": 7 }, { "mutability": "Not", - "span": 10, "ty": 6 }, { "mutability": "Not", - "span": 11, "ty": 8 }, { "mutability": "Not", - "span": 12, "ty": 9 }, { "mutability": "Mut", - "span": 1, - "ty": 10 - }, - { - "mutability": "Mut", - "span": 2, "ty": 5 }, { "mutability": "Not", - "span": 2, - "ty": 11 + "ty": 10 }, { "mutability": "Not", - "span": 3, - "ty": 12 + "ty": 11 } ], - "span": 13, + "span": 11, "spread_arg": null, "var_debug_info": [ { @@ -416,7 +353,7 @@ "name": "main", "source_info": { "scope": 0, - "span": 9 + "span": 7 }, "value": { "Place": { @@ -431,7 +368,7 @@ "name": "argc", "source_info": { "scope": 0, - "span": 10 + "span": 8 }, "value": { "Place": { @@ -446,7 +383,7 @@ "name": "argv", "source_info": { "scope": 0, - "span": 11 + "span": 9 }, "value": { "Place": { @@ -461,7 +398,7 @@ "name": "sigpipe", "source_info": { "scope": 0, - "span": 12 + "span": 10 }, "value": { "Place": { @@ -469,21 +406,6 @@ "projection": [] } } - }, - { - "argument_index": null, - "composite": null, - "name": "v", - "source_info": { - "scope": 1, - "span": 6 - }, - "value": { - "Place": { - "local": 0, - "projection": [] - } - } } ] }, @@ -505,20 +427,17 @@ { "kind": { "StorageLive": 2 - }, - "span": 16 + } }, { "kind": { "StorageLive": 3 - }, - "span": 15 + } }, { "kind": { "StorageLive": 4 - }, - "span": 17 + } }, { "kind": { @@ -544,8 +463,7 @@ } } ] - }, - "span": 17 + } } ], "terminator": { @@ -568,17 +486,16 @@ "const_": { "id": 1, "kind": "ZeroSized", - "ty": 13 + "ty": 12 }, - "span": 14, + "span": 12, "user_ty": null } }, "target": 1, "unwind": "Continue" } - }, - "span": 15 + } } }, { @@ -586,8 +503,7 @@ { "kind": { "StorageDead": 4 - }, - "span": 19 + } } ], "terminator": { @@ -610,17 +526,16 @@ "const_": { "id": 2, "kind": "ZeroSized", - "ty": 14 + "ty": 13 }, - "span": 18, + "span": 16, "user_ty": null } }, "target": 2, "unwind": "Continue" } - }, - "span": 16 + } } }, { @@ -628,14 +543,12 @@ { "kind": { "StorageDead": 3 - }, - "span": 21 + } }, { "kind": { "StorageLive": 5 - }, - "span": 22 + } }, { "kind": { @@ -644,42 +557,6 @@ "local": 5, "projection": [] }, - { - "Ref": [ - { - "kind": "ReErased" - }, - "Shared", - { - "local": 2, - "projection": [ - { - "Field": [ - 0, - 15 - ] - } - ] - } - ] - } - ] - }, - "span": 22 - }, - { - "kind": { - "StorageLive": 6 - }, - "span": 23 - }, - { - "kind": { - "Assign": [ - { - "local": 6, - "projection": [] - }, { "Use": { "Copy": { @@ -688,7 +565,7 @@ { "Field": [ 0, - 15 + 14 ] }, { @@ -702,8 +579,7 @@ } } ] - }, - "span": 23 + } }, { "kind": { @@ -717,76 +593,55 @@ "IntToInt", { "Move": { - "local": 6, + "local": 5, "projection": [] } }, - 16 + 15 ] } ] - }, - "span": 24 - }, - { - "kind": { - "StorageDead": 6 - }, - "span": 25 + } }, { "kind": { "StorageDead": 5 - }, - "span": 26 + } }, { "kind": { "StorageDead": 2 - }, - "span": 27 + } } ], "terminator": { - "kind": "Return", - "span": 20 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 28, - "ty": 16 + "ty": 15 }, { "mutability": "Mut", - "span": 3, - "ty": 11 + "ty": 10 }, { "mutability": "Mut", - "span": 16, - "ty": 17 + "ty": 16 }, { "mutability": "Mut", - "span": 15, "ty": 1 }, { "mutability": "Mut", - "span": 17, "ty": 7 }, { "mutability": "Mut", - "span": 22, - "ty": 18 - }, - { - "mutability": "Mut", - "span": 23, "ty": 9 } ], @@ -799,7 +654,7 @@ "name": "main", "source_info": { "scope": 0, - "span": 9 + "span": 7 }, "value": { "Place": { @@ -822,7 +677,7 @@ "name": "self", "source_info": { "scope": 1, - "span": 29 + "span": 25 }, "value": { "Place": { @@ -830,21 +685,6 @@ "projection": [] } } - }, - { - "argument_index": 1, - "composite": null, - "name": "self", - "source_info": { - "scope": 2, - "span": 30 - }, - "value": { - "Place": { - "local": 5, - "projection": [] - } - } } ] }, @@ -880,7 +720,7 @@ "kind": "ZeroSized", "ty": 1 }, - "span": 32, + "span": 27, "user_ty": null } } @@ -894,17 +734,16 @@ "const_": { "id": 3, "kind": "ZeroSized", - "ty": 19 + "ty": 17 }, - "span": 31, + "span": 26, "user_ty": null } }, "target": 1, "unwind": "Continue" } - }, - "span": 33 + } } }, { @@ -920,7 +759,7 @@ "kind": "ZeroSized", "ty": 1 }, - "span": 32, + "span": 27, "user_ty": null } } @@ -934,45 +773,40 @@ "const_": { "id": 5, "kind": "ZeroSized", - "ty": 20 + "ty": 18 }, - "span": 34, + "span": 29, "user_ty": null } }, "target": 2, "unwind": "Unreachable" } - }, - "span": 35 + } } }, { "statements": [], "terminator": { - "kind": "Return", - "span": 36 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 37, "ty": 1 }, { "mutability": "Not", - "span": 38, "ty": 7 }, { "mutability": "Not", - "span": 39, "ty": 1 } ], - "span": 42, + "span": 37, "spread_arg": null, "var_debug_info": [ { @@ -981,7 +815,7 @@ "name": "f", "source_info": { "scope": 0, - "span": 38 + "span": 33 }, "value": { "Place": { @@ -996,7 +830,7 @@ "name": "result", "source_info": { "scope": 1, - "span": 40 + "span": 35 }, "value": { "Place": { @@ -1011,7 +845,7 @@ "name": "dummy", "source_info": { "scope": 2, - "span": 41 + "span": 36 }, "value": { "Const": { @@ -1020,7 +854,7 @@ "kind": "ZeroSized", "ty": 1 }, - "span": 32, + "span": 27, "user_ty": null } } @@ -1070,45 +904,40 @@ "const_": { "id": 6, "kind": "ZeroSized", - "ty": 21 + "ty": 19 }, - "span": 43, + "span": 38, "user_ty": null } }, "target": 1, "unwind": "Continue" } - }, - "span": 43 + } } }, { "statements": [], "terminator": { - "kind": "Return", - "span": 43 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 43, - "ty": 16 + "ty": 15 }, { "mutability": "Not", - "span": 43, - "ty": 22 + "ty": 20 }, { "mutability": "Not", - "span": 43, "ty": 1 } ], - "span": 43, + "span": 38, "spread_arg": 2, "var_debug_info": [] }, @@ -1151,8 +980,7 @@ ] } ] - }, - "span": 43 + } } ], "terminator": { @@ -1181,9 +1009,9 @@ "const_": { "id": 7, "kind": "ZeroSized", - "ty": 23 + "ty": 21 }, - "span": 43, + "span": 38, "user_ty": null } }, @@ -1192,8 +1020,7 @@ "Cleanup": 3 } } - }, - "span": 43 + } } }, { @@ -1208,15 +1035,13 @@ "target": 2, "unwind": "Continue" } - }, - "span": 43 + } } }, { "statements": [], "terminator": { - "kind": "Return", - "span": 43 + "kind": "Return" } }, { @@ -1231,41 +1056,35 @@ "target": 4, "unwind": "Terminate" } - }, - "span": 43 + } } }, { "statements": [], "terminator": { - "kind": "Resume", - "span": 43 + "kind": "Resume" } } ], "locals": [ { "mutability": "Mut", - "span": 43, - "ty": 16 + "ty": 15 }, { "mutability": "Not", - "span": 43, - "ty": 12 + "ty": 11 }, { "mutability": "Not", - "span": 43, "ty": 1 }, { "mutability": "Not", - "span": 43, - "ty": 24 + "ty": 22 } ], - "span": 43, + "span": 38, "spread_arg": 2, "var_debug_info": [] }, @@ -1301,36 +1120,31 @@ "target": 1, "unwind": "Continue" } - }, - "span": 43 + } } }, { "statements": [], "terminator": { - "kind": "Return", - "span": 43 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 43, "ty": 1 }, { "mutability": "Not", - "span": 43, "ty": 7 }, { "mutability": "Not", - "span": 43, "ty": 1 } ], - "span": 43, + "span": 38, "spread_arg": 2, "var_debug_info": [] }, @@ -1340,43 +1154,6 @@ }, "symbol_name": "_ZN4core3ops8function6FnOnce9call_once17h" }, - { - "details": null, - "mono_item_kind": { - "MonoItemFn": { - "body": { - "arg_count": 1, - "blocks": [ - { - "statements": [], - "terminator": { - "kind": "Return", - "span": 44 - } - } - ], - "locals": [ - { - "mutability": "Mut", - "span": 44, - "ty": 1 - }, - { - "mutability": "Not", - "span": 44, - "ty": 22 - } - ], - "span": 44, - "spread_arg": null, - "var_debug_info": [] - }, - "id": 4, - "name": "std::ptr::drop_in_place::<{closure@std::rt::lang_start<()>::{closure#0}}>" - } - }, - "symbol_name": "_ZN4core3ptr85drop_in_place$LT$std..rt..lang_start$LT$$LP$$RP$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$17h" - }, { "details": null, "mono_item_kind": { @@ -1410,62 +1187,37 @@ } } }, - "ty": 17 + "ty": 16 }, - "span": 46, + "span": 27, "user_ty": null } } } ] - }, - "span": 46 + } } ], "terminator": { - "kind": "Return", - "span": 45 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 47, - "ty": 17 + "ty": 16 }, { "mutability": "Not", - "span": 48, "ty": 1 } ], - "span": 49, + "span": 43, "spread_arg": null, - "var_debug_info": [ - { - "argument_index": 1, - "composite": null, - "name": "self", - "source_info": { - "scope": 0, - "span": 48 - }, - "value": { - "Const": { - "const_": { - "id": 4, - "kind": "ZeroSized", - "ty": 1 - }, - "span": 32, - "user_ty": null - } - } - } - ] + "var_debug_info": [] }, - "id": 5, + "id": 4, "name": "<() as std::process::Termination>::report" } }, @@ -1507,16 +1259,15 @@ } } }, - "ty": 25 + "ty": 23 }, - "span": 51, + "span": 45, "user_ty": null } } } ] - }, - "span": 52 + } }, { "kind": { @@ -1545,16 +1296,15 @@ } } }, - "ty": 25 + "ty": 23 }, - "span": 53, + "span": 47, "user_ty": null } } } ] - }, - "span": 54 + } }, { "kind": { @@ -1581,8 +1331,7 @@ ] } ] - }, - "span": 55 + } }, { "kind": { @@ -1619,17 +1368,16 @@ } } }, - "ty": 25 + "ty": 23 }, - "span": 56, + "span": 50, "user_ty": null } } ] } ] - }, - "span": 50 + } } ], "terminator": { @@ -1651,8 +1399,7 @@ "otherwise": 1 } } - }, - "span": 50 + } } }, { @@ -1688,16 +1435,15 @@ } } }, - "ty": 26 + "ty": 24 }, - "span": 58, + "span": 52, "user_ty": null } } } ] - }, - "span": 59 + } }, { "kind": { @@ -1730,16 +1476,15 @@ } } }, - "ty": 26 + "ty": 24 }, - "span": 60, + "span": 54, "user_ty": null } } } ] - }, - "span": 61 + } }, { "kind": { @@ -1766,8 +1511,7 @@ ] } ] - }, - "span": 62 + } }, { "kind": { @@ -1808,17 +1552,16 @@ } } }, - "ty": 26 + "ty": 24 }, - "span": 63, + "span": 57, "user_ty": null } } ] } ] - }, - "span": 57 + } } ], "terminator": { @@ -1840,8 +1583,7 @@ "otherwise": 3 } } - }, - "span": 57 + } } }, { @@ -1886,9 +1628,9 @@ } } }, - "ty": 28 + "ty": 26 }, - "span": 32, + "span": 27, "user_ty": null } } @@ -1902,24 +1644,22 @@ "const_": { "id": 15, "kind": "ZeroSized", - "ty": 27 + "ty": 25 }, - "span": 64, + "span": 58, "user_ty": null } }, "target": null, "unwind": "Continue" } - }, - "span": 64 + } } }, { "statements": [], "terminator": { - "kind": "Return", - "span": 65 + "kind": "Return" } }, { @@ -1964,9 +1704,9 @@ } } }, - "ty": 28 + "ty": 26 }, - "span": 32, + "span": 27, "user_ty": null } } @@ -1980,78 +1720,66 @@ "const_": { "id": 15, "kind": "ZeroSized", - "ty": 27 + "ty": 25 }, - "span": 66, + "span": 60, "user_ty": null } }, "target": null, "unwind": "Continue" } - }, - "span": 66 + } } } ], "locals": [ { "mutability": "Mut", - "span": 67, "ty": 1 }, { "mutability": "Mut", - "span": 50, - "ty": 29 + "ty": 27 }, { "mutability": "Mut", - "span": 55, - "ty": 25 + "ty": 23 }, { "mutability": "Mut", - "span": 52, - "ty": 25 + "ty": 23 }, { "mutability": "Mut", - "span": 54, - "ty": 25 + "ty": 23 }, { "mutability": "Mut", - "span": 64, - "ty": 30 + "ty": 28 }, { "mutability": "Mut", - "span": 57, - "ty": 29 + "ty": 27 }, { "mutability": "Mut", - "span": 62, - "ty": 26 + "ty": 24 }, { "mutability": "Mut", - "span": 59, - "ty": 26 + "ty": 24 }, { "mutability": "Mut", - "span": 61, - "ty": 26 + "ty": 24 }, { "mutability": "Mut", - "span": 66, - "ty": 30 + "ty": 28 } ], - "span": 72, + "span": 66, "spread_arg": null, "var_debug_info": [ { @@ -2060,7 +1788,7 @@ "name": "a", "source_info": { "scope": 1, - "span": 68 + "span": 62 }, "value": { "Const": { @@ -2081,9 +1809,9 @@ } } }, - "ty": 25 + "ty": 23 }, - "span": 51, + "span": 45, "user_ty": null } } @@ -2094,7 +1822,7 @@ "name": "b", "source_info": { "scope": 2, - "span": 69 + "span": 63 }, "value": { "Const": { @@ -2115,9 +1843,9 @@ } } }, - "ty": 25 + "ty": 23 }, - "span": 53, + "span": 47, "user_ty": null } } @@ -2128,7 +1856,7 @@ "name": "c", "source_info": { "scope": 3, - "span": 70 + "span": 64 }, "value": { "Const": { @@ -2153,9 +1881,9 @@ } } }, - "ty": 26 + "ty": 24 }, - "span": 58, + "span": 52, "user_ty": null } } @@ -2166,7 +1894,7 @@ "name": "d", "source_info": { "scope": 4, - "span": 71 + "span": 65 }, "value": { "Const": { @@ -2191,16 +1919,16 @@ } } }, - "ty": 26 + "ty": 24 }, - "span": 60, + "span": 54, "user_ty": null } } } ] }, - "id": 6, + "id": 5, "name": "main" } }, @@ -2253,23 +1981,6 @@ } } ], - [ - { - "EnumType": { - "discriminants": [ - [ - 0, - 0 - ], - [ - 1, - 1 - ] - ], - "name": "std::result::Result" - } - } - ], [ { "StructType": { @@ -2290,7 +2001,7 @@ { "StructType": { "fields": "elided", - "name": "std::sys::pal::unix::process::process_common::ExitCode" + "name": "std::sys::process::unix::common::ExitCode" } } ], @@ -2336,11 +2047,6 @@ "RefType": "elided" } ], - [ - { - "RefType": "elided" - } - ], [ { "RefType": "elided" diff --git a/tests/integration/programs/modulo.smir.json.expected b/tests/integration/programs/modulo.smir.json.expected index 27f0fde5..984a76af 100644 --- a/tests/integration/programs/modulo.smir.json.expected +++ b/tests/integration/programs/modulo.smir.json.expected @@ -104,26 +104,18 @@ { "kind": { "StorageLive": 5 - }, - "span": 1 - }, - { - "kind": { - "StorageLive": 6 - }, - "span": 2 + } }, { "kind": { - "StorageLive": 8 - }, - "span": 3 + "StorageLive": 7 + } }, { "kind": { "Assign": [ { - "local": 8, + "local": 7, "projection": [] }, { @@ -158,14 +150,13 @@ ] } ] - }, - "span": 3 + } }, { "kind": { "Assign": [ { - "local": 7, + "local": 6, "projection": [] }, { @@ -175,20 +166,19 @@ }, "Shared", { - "local": 8, + "local": 7, "projection": [] } ] } ] - }, - "span": 2 + } }, { "kind": { "Assign": [ { - "local": 6, + "local": 5, "projection": [] }, { @@ -198,7 +188,7 @@ }, { "Copy": { - "local": 7, + "local": 6, "projection": [] } }, @@ -206,8 +196,7 @@ ] } ] - }, - "span": 2 + } } ], "terminator": { @@ -216,7 +205,7 @@ "args": [ { "Move": { - "local": 6, + "local": 5, "projection": [] } }, @@ -240,7 +229,7 @@ } ], "destination": { - "local": 5, + "local": 0, "projection": [] }, "func": { @@ -257,114 +246,62 @@ "target": 1, "unwind": "Continue" } - }, - "span": 1 + } } }, { "statements": [ { "kind": { - "StorageDead": 6 - }, - "span": 5 - }, - { - "kind": { - "Assign": [ - { - "local": 0, - "projection": [] - }, - { - "Use": { - "Copy": { - "local": 5, - "projection": [ - { - "Downcast": 0 - }, - { - "Field": [ - 0, - 6 - ] - } - ] - } - } - } - ] - }, - "span": 6 - }, - { - "kind": { - "StorageDead": 8 - }, - "span": 7 + "StorageDead": 7 + } }, { "kind": { "StorageDead": 5 - }, - "span": 7 + } } ], "terminator": { - "kind": "Return", - "span": 4 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 8, "ty": 6 }, { "mutability": "Not", - "span": 9, "ty": 7 }, { "mutability": "Not", - "span": 10, "ty": 6 }, { "mutability": "Not", - "span": 11, "ty": 8 }, { "mutability": "Not", - "span": 12, "ty": 9 }, { "mutability": "Mut", - "span": 1, - "ty": 10 - }, - { - "mutability": "Mut", - "span": 2, "ty": 5 }, { "mutability": "Not", - "span": 2, - "ty": 11 + "ty": 10 }, { "mutability": "Not", - "span": 3, - "ty": 12 + "ty": 11 } ], - "span": 13, + "span": 11, "spread_arg": null, "var_debug_info": [ { @@ -373,7 +310,7 @@ "name": "main", "source_info": { "scope": 0, - "span": 9 + "span": 7 }, "value": { "Place": { @@ -388,7 +325,7 @@ "name": "argc", "source_info": { "scope": 0, - "span": 10 + "span": 8 }, "value": { "Place": { @@ -403,7 +340,7 @@ "name": "argv", "source_info": { "scope": 0, - "span": 11 + "span": 9 }, "value": { "Place": { @@ -418,7 +355,7 @@ "name": "sigpipe", "source_info": { "scope": 0, - "span": 12 + "span": 10 }, "value": { "Place": { @@ -426,21 +363,6 @@ "projection": [] } } - }, - { - "argument_index": null, - "composite": null, - "name": "v", - "source_info": { - "scope": 1, - "span": 6 - }, - "value": { - "Place": { - "local": 0, - "projection": [] - } - } } ] }, @@ -462,20 +384,17 @@ { "kind": { "StorageLive": 2 - }, - "span": 16 + } }, { "kind": { "StorageLive": 3 - }, - "span": 15 + } }, { "kind": { "StorageLive": 4 - }, - "span": 17 + } }, { "kind": { @@ -501,8 +420,7 @@ } } ] - }, - "span": 17 + } } ], "terminator": { @@ -525,17 +443,16 @@ "const_": { "id": 1, "kind": "ZeroSized", - "ty": 13 + "ty": 12 }, - "span": 14, + "span": 12, "user_ty": null } }, "target": 1, "unwind": "Continue" } - }, - "span": 15 + } } }, { @@ -543,8 +460,7 @@ { "kind": { "StorageDead": 4 - }, - "span": 19 + } } ], "terminator": { @@ -567,17 +483,16 @@ "const_": { "id": 2, "kind": "ZeroSized", - "ty": 14 + "ty": 13 }, - "span": 18, + "span": 16, "user_ty": null } }, "target": 2, "unwind": "Continue" } - }, - "span": 16 + } } }, { @@ -585,14 +500,12 @@ { "kind": { "StorageDead": 3 - }, - "span": 21 + } }, { "kind": { "StorageLive": 5 - }, - "span": 22 + } }, { "kind": { @@ -601,42 +514,6 @@ "local": 5, "projection": [] }, - { - "Ref": [ - { - "kind": "ReErased" - }, - "Shared", - { - "local": 2, - "projection": [ - { - "Field": [ - 0, - 15 - ] - } - ] - } - ] - } - ] - }, - "span": 22 - }, - { - "kind": { - "StorageLive": 6 - }, - "span": 23 - }, - { - "kind": { - "Assign": [ - { - "local": 6, - "projection": [] - }, { "Use": { "Copy": { @@ -645,7 +522,7 @@ { "Field": [ 0, - 15 + 14 ] }, { @@ -659,8 +536,7 @@ } } ] - }, - "span": 23 + } }, { "kind": { @@ -674,76 +550,55 @@ "IntToInt", { "Move": { - "local": 6, + "local": 5, "projection": [] } }, - 16 + 15 ] } ] - }, - "span": 24 - }, - { - "kind": { - "StorageDead": 6 - }, - "span": 25 + } }, { "kind": { "StorageDead": 5 - }, - "span": 26 + } }, { "kind": { "StorageDead": 2 - }, - "span": 27 + } } ], "terminator": { - "kind": "Return", - "span": 20 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 28, - "ty": 16 + "ty": 15 }, { "mutability": "Mut", - "span": 3, - "ty": 11 + "ty": 10 }, { "mutability": "Mut", - "span": 16, - "ty": 17 + "ty": 16 }, { "mutability": "Mut", - "span": 15, "ty": 1 }, { "mutability": "Mut", - "span": 17, "ty": 7 }, { "mutability": "Mut", - "span": 22, - "ty": 18 - }, - { - "mutability": "Mut", - "span": 23, "ty": 9 } ], @@ -756,7 +611,7 @@ "name": "main", "source_info": { "scope": 0, - "span": 9 + "span": 7 }, "value": { "Place": { @@ -779,7 +634,7 @@ "name": "self", "source_info": { "scope": 1, - "span": 29 + "span": 25 }, "value": { "Place": { @@ -787,21 +642,6 @@ "projection": [] } } - }, - { - "argument_index": 1, - "composite": null, - "name": "self", - "source_info": { - "scope": 2, - "span": 30 - }, - "value": { - "Place": { - "local": 5, - "projection": [] - } - } } ] }, @@ -837,7 +677,7 @@ "kind": "ZeroSized", "ty": 1 }, - "span": 32, + "span": 27, "user_ty": null } } @@ -851,17 +691,16 @@ "const_": { "id": 3, "kind": "ZeroSized", - "ty": 19 + "ty": 17 }, - "span": 31, + "span": 26, "user_ty": null } }, "target": 1, "unwind": "Continue" } - }, - "span": 33 + } } }, { @@ -877,7 +716,7 @@ "kind": "ZeroSized", "ty": 1 }, - "span": 32, + "span": 27, "user_ty": null } } @@ -891,45 +730,40 @@ "const_": { "id": 5, "kind": "ZeroSized", - "ty": 20 + "ty": 18 }, - "span": 34, + "span": 29, "user_ty": null } }, "target": 2, "unwind": "Unreachable" } - }, - "span": 35 + } } }, { "statements": [], "terminator": { - "kind": "Return", - "span": 36 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 37, "ty": 1 }, { "mutability": "Not", - "span": 38, "ty": 7 }, { "mutability": "Not", - "span": 39, "ty": 1 } ], - "span": 42, + "span": 37, "spread_arg": null, "var_debug_info": [ { @@ -938,7 +772,7 @@ "name": "f", "source_info": { "scope": 0, - "span": 38 + "span": 33 }, "value": { "Place": { @@ -953,7 +787,7 @@ "name": "result", "source_info": { "scope": 1, - "span": 40 + "span": 35 }, "value": { "Place": { @@ -968,7 +802,7 @@ "name": "dummy", "source_info": { "scope": 2, - "span": 41 + "span": 36 }, "value": { "Const": { @@ -977,7 +811,7 @@ "kind": "ZeroSized", "ty": 1 }, - "span": 32, + "span": 27, "user_ty": null } } @@ -1027,45 +861,40 @@ "const_": { "id": 6, "kind": "ZeroSized", - "ty": 21 + "ty": 19 }, - "span": 43, + "span": 38, "user_ty": null } }, "target": 1, "unwind": "Continue" } - }, - "span": 43 + } } }, { "statements": [], "terminator": { - "kind": "Return", - "span": 43 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 43, - "ty": 16 + "ty": 15 }, { "mutability": "Not", - "span": 43, - "ty": 22 + "ty": 20 }, { "mutability": "Not", - "span": 43, "ty": 1 } ], - "span": 43, + "span": 38, "spread_arg": 2, "var_debug_info": [] }, @@ -1075,6 +904,66 @@ }, "symbol_name": "_ZN4core3ops8function6FnOnce40call_once$u7b$$u7b$vtable.shim$u7d$$u7d$17h" }, + { + "details": null, + "mono_item_kind": { + "MonoItemFn": { + "body": { + "arg_count": 2, + "blocks": [ + { + "statements": [], + "terminator": { + "kind": { + "Call": { + "args": [], + "destination": { + "local": 0, + "projection": [] + }, + "func": { + "Move": { + "local": 1, + "projection": [] + } + }, + "target": 1, + "unwind": "Continue" + } + } + } + }, + { + "statements": [], + "terminator": { + "kind": "Return" + } + } + ], + "locals": [ + { + "mutability": "Mut", + "ty": 1 + }, + { + "mutability": "Not", + "ty": 7 + }, + { + "mutability": "Not", + "ty": 1 + } + ], + "span": 38, + "spread_arg": 2, + "var_debug_info": [] + }, + "id": 3, + "name": ">::call_once" + } + }, + "symbol_name": "_ZN4core3ops8function6FnOnce9call_once17h" + }, { "details": null, "mono_item_kind": { @@ -1108,8 +997,7 @@ ] } ] - }, - "span": 43 + } } ], "terminator": { @@ -1138,9 +1026,9 @@ "const_": { "id": 7, "kind": "ZeroSized", - "ty": 23 + "ty": 21 }, - "span": 43, + "span": 38, "user_ty": null } }, @@ -1149,8 +1037,7 @@ "Cleanup": 3 } } - }, - "span": 43 + } } }, { @@ -1165,15 +1052,13 @@ "target": 2, "unwind": "Continue" } - }, - "span": 43 + } } }, { "statements": [], "terminator": { - "kind": "Return", - "span": 43 + "kind": "Return" } }, { @@ -1188,41 +1073,35 @@ "target": 4, "unwind": "Terminate" } - }, - "span": 43 + } } }, { "statements": [], "terminator": { - "kind": "Resume", - "span": 43 + "kind": "Resume" } } ], "locals": [ { "mutability": "Mut", - "span": 43, - "ty": 16 + "ty": 15 }, { "mutability": "Not", - "span": 43, - "ty": 12 + "ty": 11 }, { "mutability": "Not", - "span": 43, "ty": 1 }, { "mutability": "Not", - "span": 43, - "ty": 24 + "ty": 22 } ], - "span": 43, + "span": 38, "spread_arg": 2, "var_debug_info": [] }, @@ -1232,108 +1111,6 @@ }, "symbol_name": "_ZN4core3ops8function6FnOnce9call_once17h" }, - { - "details": null, - "mono_item_kind": { - "MonoItemFn": { - "body": { - "arg_count": 2, - "blocks": [ - { - "statements": [], - "terminator": { - "kind": { - "Call": { - "args": [], - "destination": { - "local": 0, - "projection": [] - }, - "func": { - "Move": { - "local": 1, - "projection": [] - } - }, - "target": 1, - "unwind": "Continue" - } - }, - "span": 43 - } - }, - { - "statements": [], - "terminator": { - "kind": "Return", - "span": 43 - } - } - ], - "locals": [ - { - "mutability": "Mut", - "span": 43, - "ty": 1 - }, - { - "mutability": "Not", - "span": 43, - "ty": 7 - }, - { - "mutability": "Not", - "span": 43, - "ty": 1 - } - ], - "span": 43, - "spread_arg": 2, - "var_debug_info": [] - }, - "id": 3, - "name": ">::call_once" - } - }, - "symbol_name": "_ZN4core3ops8function6FnOnce9call_once17h" - }, - { - "details": null, - "mono_item_kind": { - "MonoItemFn": { - "body": { - "arg_count": 1, - "blocks": [ - { - "statements": [], - "terminator": { - "kind": "Return", - "span": 44 - } - } - ], - "locals": [ - { - "mutability": "Mut", - "span": 44, - "ty": 1 - }, - { - "mutability": "Not", - "span": 44, - "ty": 22 - } - ], - "span": 44, - "spread_arg": null, - "var_debug_info": [] - }, - "id": 4, - "name": "std::ptr::drop_in_place::<{closure@std::rt::lang_start<()>::{closure#0}}>" - } - }, - "symbol_name": "_ZN4core3ptr85drop_in_place$LT$std..rt..lang_start$LT$$LP$$RP$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$17h" - }, { "details": null, "mono_item_kind": { @@ -1367,62 +1144,37 @@ } } }, - "ty": 17 + "ty": 16 }, - "span": 46, + "span": 27, "user_ty": null } } } ] - }, - "span": 46 + } } ], "terminator": { - "kind": "Return", - "span": 45 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 47, - "ty": 17 + "ty": 16 }, { "mutability": "Not", - "span": 48, "ty": 1 } ], - "span": 49, + "span": 43, "spread_arg": null, - "var_debug_info": [ - { - "argument_index": 1, - "composite": null, - "name": "self", - "source_info": { - "scope": 0, - "span": 48 - }, - "value": { - "Const": { - "const_": { - "id": 4, - "kind": "ZeroSized", - "ty": 1 - }, - "span": 32, - "user_ty": null - } - } - } - ] + "var_debug_info": [] }, - "id": 5, + "id": 4, "name": "<() as std::process::Termination>::report" } }, @@ -1466,9 +1218,9 @@ } } }, - "ty": 16 + "ty": 15 }, - "span": 52, + "span": 46, "user_ty": null } }, @@ -1491,17 +1243,16 @@ } } }, - "ty": 16 + "ty": 15 }, - "span": 51, + "span": 45, "user_ty": null } } ] } ] - }, - "span": 51 + } } ], "terminator": { @@ -1534,9 +1285,9 @@ } } }, - "ty": 16 + "ty": 15 }, - "span": 50, + "span": 44, "user_ty": null } } @@ -1544,8 +1295,7 @@ "target": 1, "unwind": "Continue" } - }, - "span": 51 + } } }, { @@ -1579,9 +1329,9 @@ } } }, - "ty": 16 + "ty": 15 }, - "span": 52, + "span": 46, "user_ty": null } }, @@ -1604,17 +1354,16 @@ } } }, - "ty": 16 + "ty": 15 }, - "span": 51, + "span": 45, "user_ty": null } } ] } ] - }, - "span": 51 + } }, { "kind": { @@ -1645,9 +1394,9 @@ } } }, - "ty": 16 + "ty": 15 }, - "span": 50, + "span": 44, "user_ty": null } }, @@ -1670,17 +1419,16 @@ } } }, - "ty": 16 + "ty": 15 }, - "span": 51, + "span": 45, "user_ty": null } } ] } ] - }, - "span": 51 + } }, { "kind": { @@ -1707,8 +1455,7 @@ ] } ] - }, - "span": 51 + } } ], "terminator": { @@ -1743,9 +1490,9 @@ } } }, - "ty": 16 + "ty": 15 }, - "span": 50, + "span": 44, "user_ty": null } }, @@ -1768,9 +1515,9 @@ } } }, - "ty": 16 + "ty": 15 }, - "span": 52, + "span": 46, "user_ty": null } } @@ -1779,8 +1526,7 @@ "target": 2, "unwind": "Continue" } - }, - "span": 51 + } } }, { @@ -1814,9 +1560,9 @@ } } }, - "ty": 16 + "ty": 15 }, - "span": 50, + "span": 44, "user_ty": null } }, @@ -1839,17 +1585,16 @@ } } }, - "ty": 16 + "ty": 15 }, - "span": 52, + "span": 46, "user_ty": null } } ] } ] - }, - "span": 51 + } } ], "terminator": { @@ -1871,15 +1616,13 @@ "otherwise": 4 } } - }, - "span": 53 + } } }, { "statements": [], "terminator": { - "kind": "Return", - "span": 54 + "kind": "Return" } }, { @@ -1924,9 +1667,9 @@ } } }, - "ty": 26 + "ty": 24 }, - "span": 32, + "span": 27, "user_ty": null } } @@ -1940,62 +1683,54 @@ "const_": { "id": 14, "kind": "ZeroSized", - "ty": 25 + "ty": 23 }, - "span": 55, + "span": 49, "user_ty": null } }, "target": null, "unwind": "Continue" } - }, - "span": 55 + } } } ], "locals": [ { "mutability": "Mut", - "span": 56, "ty": 1 }, { "mutability": "Mut", - "span": 51, - "ty": 16 + "ty": 15 }, { "mutability": "Mut", - "span": 51, - "ty": 27 + "ty": 25 }, { "mutability": "Mut", - "span": 51, - "ty": 27 + "ty": 25 }, { "mutability": "Mut", - "span": 51, - "ty": 27 + "ty": 25 }, { "mutability": "Mut", - "span": 51, - "ty": 27 + "ty": 25 }, { "mutability": "Mut", - "span": 55, - "ty": 28 + "ty": 26 } ], - "span": 57, + "span": 51, "spread_arg": null, "var_debug_info": [] }, - "id": 6, + "id": 5, "name": "main" } }, @@ -2034,23 +1769,6 @@ } } ], - [ - { - "EnumType": { - "discriminants": [ - [ - 0, - 0 - ], - [ - 1, - 1 - ] - ], - "name": "std::result::Result" - } - } - ], [ { "StructType": { @@ -2071,7 +1789,7 @@ { "StructType": { "fields": "elided", - "name": "std::sys::pal::unix::process::process_common::ExitCode" + "name": "std::sys::process::unix::common::ExitCode" } } ], @@ -2117,11 +1835,6 @@ "RefType": "elided" } ], - [ - { - "RefType": "elided" - } - ], [ { "RefType": "elided" diff --git a/tests/integration/programs/mutual_recursion.smir.json.expected b/tests/integration/programs/mutual_recursion.smir.json.expected index a8616e2d..d100daed 100644 --- a/tests/integration/programs/mutual_recursion.smir.json.expected +++ b/tests/integration/programs/mutual_recursion.smir.json.expected @@ -133,9 +133,9 @@ } } }, - "ty": 26 + "ty": 24 }, - "span": 73, + "span": 67, "user_ty": null } } @@ -149,17 +149,16 @@ "const_": { "id": 13, "kind": "ZeroSized", - "ty": 29 + "ty": 27 }, - "span": 72, + "span": 66, "user_ty": null } }, "target": 1, "unwind": "Continue" } - }, - "span": 74 + } } }, { @@ -183,15 +182,13 @@ "otherwise": 2 } } - }, - "span": 75 + } } }, { "statements": [], "terminator": { - "kind": "Return", - "span": 76 + "kind": "Return" } }, { @@ -236,9 +233,9 @@ } } }, - "ty": 31 + "ty": 29 }, - "span": 32, + "span": 27, "user_ty": null } } @@ -252,38 +249,34 @@ "const_": { "id": 15, "kind": "ZeroSized", - "ty": 30 + "ty": 28 }, - "span": 77, + "span": 71, "user_ty": null } }, "target": null, "unwind": "Continue" } - }, - "span": 77 + } } } ], "locals": [ { "mutability": "Mut", - "span": 78, "ty": 1 }, { "mutability": "Not", - "span": 79, - "ty": 25 + "ty": 23 }, { "mutability": "Mut", - "span": 77, - "ty": 32 + "ty": 30 } ], - "span": 80, + "span": 74, "spread_arg": null, "var_debug_info": [ { @@ -292,7 +285,7 @@ "name": "ans", "source_info": { "scope": 1, - "span": 79 + "span": 73 }, "value": { "Place": { @@ -303,7 +296,7 @@ } ] }, - "id": 8, + "id": 7, "name": "main" } }, @@ -337,8 +330,7 @@ "otherwise": 2 } } - }, - "span": 61 + } } }, { @@ -367,16 +359,15 @@ } } }, - "ty": 25 + "ty": 23 }, - "span": 63, + "span": 57, "user_ty": null } } } ] - }, - "span": 63 + } } ], "terminator": { @@ -384,8 +375,7 @@ "Goto": { "target": 4 } - }, - "span": 62 + } } }, { @@ -425,17 +415,16 @@ } } }, - "ty": 26 + "ty": 24 }, - "span": 64, + "span": 58, "user_ty": null } } ] } ] - }, - "span": 65 + } } ], "terminator": { @@ -448,7 +437,7 @@ { "Field": [ 1, - 25 + 23 ] } ] @@ -483,9 +472,9 @@ } } }, - "ty": 26 + "ty": 24 }, - "span": 64, + "span": 58, "user_ty": null } } @@ -494,8 +483,7 @@ "target": 3, "unwind": "Continue" } - }, - "span": 65 + } } }, { @@ -515,7 +503,7 @@ { "Field": [ 0, - 26 + 24 ] } ] @@ -523,8 +511,7 @@ } } ] - }, - "span": 65 + } } ], "terminator": { @@ -547,50 +534,44 @@ "const_": { "id": 13, "kind": "ZeroSized", - "ty": 29 + "ty": 27 }, - "span": 66, + "span": 60, "user_ty": null } }, "target": 4, "unwind": "Continue" } - }, - "span": 67 + } } }, { "statements": [], "terminator": { - "kind": "Return", - "span": 68 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 69, - "ty": 25 + "ty": 23 }, { "mutability": "Not", - "span": 70, - "ty": 26 + "ty": 24 }, { "mutability": "Mut", - "span": 65, - "ty": 26 + "ty": 24 }, { "mutability": "Mut", - "span": 65, - "ty": 28 + "ty": 26 } ], - "span": 71, + "span": 65, "spread_arg": null, "var_debug_info": [ { @@ -599,7 +580,7 @@ "name": "n", "source_info": { "scope": 0, - "span": 70 + "span": 64 }, "value": { "Place": { @@ -610,7 +591,7 @@ } ] }, - "id": 7, + "id": 6, "name": "is_odd" } }, @@ -644,8 +625,7 @@ "otherwise": 2 } } - }, - "span": 50 + } } }, { @@ -674,16 +654,15 @@ } } }, - "ty": 25 + "ty": 23 }, - "span": 52, + "span": 46, "user_ty": null } } } ] - }, - "span": 52 + } } ], "terminator": { @@ -691,8 +670,7 @@ "Goto": { "target": 4 } - }, - "span": 51 + } } }, { @@ -732,17 +710,16 @@ } } }, - "ty": 26 + "ty": 24 }, - "span": 53, + "span": 47, "user_ty": null } } ] } ] - }, - "span": 54 + } } ], "terminator": { @@ -755,7 +732,7 @@ { "Field": [ 1, - 25 + 23 ] } ] @@ -790,9 +767,9 @@ } } }, - "ty": 26 + "ty": 24 }, - "span": 53, + "span": 47, "user_ty": null } } @@ -801,8 +778,7 @@ "target": 3, "unwind": "Continue" } - }, - "span": 54 + } } }, { @@ -822,7 +798,7 @@ { "Field": [ 0, - 26 + 24 ] } ] @@ -830,8 +806,7 @@ } } ] - }, - "span": 54 + } } ], "terminator": { @@ -854,50 +829,44 @@ "const_": { "id": 11, "kind": "ZeroSized", - "ty": 27 + "ty": 25 }, - "span": 55, + "span": 49, "user_ty": null } }, "target": 4, "unwind": "Continue" } - }, - "span": 56 + } } }, { "statements": [], "terminator": { - "kind": "Return", - "span": 57 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 58, - "ty": 25 + "ty": 23 }, { "mutability": "Not", - "span": 59, - "ty": 26 + "ty": 24 }, { "mutability": "Mut", - "span": 54, - "ty": 26 + "ty": 24 }, { "mutability": "Mut", - "span": 54, - "ty": 28 + "ty": 26 } ], - "span": 60, + "span": 54, "spread_arg": null, "var_debug_info": [ { @@ -906,7 +875,7 @@ "name": "n", "source_info": { "scope": 0, - "span": 59 + "span": 53 }, "value": { "Place": { @@ -917,7 +886,7 @@ } ] }, - "id": 6, + "id": 5, "name": "is_even" } }, @@ -935,26 +904,18 @@ { "kind": { "StorageLive": 5 - }, - "span": 1 - }, - { - "kind": { - "StorageLive": 6 - }, - "span": 2 + } }, { "kind": { - "StorageLive": 8 - }, - "span": 3 + "StorageLive": 7 + } }, { "kind": { "Assign": [ { - "local": 8, + "local": 7, "projection": [] }, { @@ -989,14 +950,13 @@ ] } ] - }, - "span": 3 + } }, { "kind": { "Assign": [ { - "local": 7, + "local": 6, "projection": [] }, { @@ -1006,20 +966,19 @@ }, "Shared", { - "local": 8, + "local": 7, "projection": [] } ] } ] - }, - "span": 2 + } }, { "kind": { "Assign": [ { - "local": 6, + "local": 5, "projection": [] }, { @@ -1029,7 +988,7 @@ }, { "Copy": { - "local": 7, + "local": 6, "projection": [] } }, @@ -1037,8 +996,7 @@ ] } ] - }, - "span": 2 + } } ], "terminator": { @@ -1047,7 +1005,7 @@ "args": [ { "Move": { - "local": 6, + "local": 5, "projection": [] } }, @@ -1071,7 +1029,7 @@ } ], "destination": { - "local": 5, + "local": 0, "projection": [] }, "func": { @@ -1088,114 +1046,62 @@ "target": 1, "unwind": "Continue" } - }, - "span": 1 + } } }, { "statements": [ { "kind": { - "StorageDead": 6 - }, - "span": 5 - }, - { - "kind": { - "Assign": [ - { - "local": 0, - "projection": [] - }, - { - "Use": { - "Copy": { - "local": 5, - "projection": [ - { - "Downcast": 0 - }, - { - "Field": [ - 0, - 6 - ] - } - ] - } - } - } - ] - }, - "span": 6 - }, - { - "kind": { - "StorageDead": 8 - }, - "span": 7 + "StorageDead": 7 + } }, { "kind": { "StorageDead": 5 - }, - "span": 7 + } } ], "terminator": { - "kind": "Return", - "span": 4 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 8, "ty": 6 }, { "mutability": "Not", - "span": 9, "ty": 7 }, { "mutability": "Not", - "span": 10, "ty": 6 }, { "mutability": "Not", - "span": 11, "ty": 8 }, { "mutability": "Not", - "span": 12, "ty": 9 }, { "mutability": "Mut", - "span": 1, - "ty": 10 - }, - { - "mutability": "Mut", - "span": 2, "ty": 5 }, { "mutability": "Not", - "span": 2, - "ty": 11 + "ty": 10 }, { "mutability": "Not", - "span": 3, - "ty": 12 + "ty": 11 } ], - "span": 13, + "span": 11, "spread_arg": null, "var_debug_info": [ { @@ -1204,7 +1110,7 @@ "name": "main", "source_info": { "scope": 0, - "span": 9 + "span": 7 }, "value": { "Place": { @@ -1219,7 +1125,7 @@ "name": "argc", "source_info": { "scope": 0, - "span": 10 + "span": 8 }, "value": { "Place": { @@ -1234,7 +1140,7 @@ "name": "argv", "source_info": { "scope": 0, - "span": 11 + "span": 9 }, "value": { "Place": { @@ -1249,7 +1155,7 @@ "name": "sigpipe", "source_info": { "scope": 0, - "span": 12 + "span": 10 }, "value": { "Place": { @@ -1257,21 +1163,6 @@ "projection": [] } } - }, - { - "argument_index": null, - "composite": null, - "name": "v", - "source_info": { - "scope": 1, - "span": 6 - }, - "value": { - "Place": { - "local": 0, - "projection": [] - } - } } ] }, @@ -1293,20 +1184,17 @@ { "kind": { "StorageLive": 2 - }, - "span": 16 + } }, { "kind": { "StorageLive": 3 - }, - "span": 15 + } }, { "kind": { "StorageLive": 4 - }, - "span": 17 + } }, { "kind": { @@ -1332,8 +1220,7 @@ } } ] - }, - "span": 17 + } } ], "terminator": { @@ -1356,17 +1243,16 @@ "const_": { "id": 1, "kind": "ZeroSized", - "ty": 13 + "ty": 12 }, - "span": 14, + "span": 12, "user_ty": null } }, "target": 1, "unwind": "Continue" } - }, - "span": 15 + } } }, { @@ -1374,8 +1260,7 @@ { "kind": { "StorageDead": 4 - }, - "span": 19 + } } ], "terminator": { @@ -1398,17 +1283,16 @@ "const_": { "id": 2, "kind": "ZeroSized", - "ty": 14 + "ty": 13 }, - "span": 18, + "span": 16, "user_ty": null } }, "target": 2, "unwind": "Continue" } - }, - "span": 16 + } } }, { @@ -1416,14 +1300,12 @@ { "kind": { "StorageDead": 3 - }, - "span": 21 + } }, { "kind": { "StorageLive": 5 - }, - "span": 22 + } }, { "kind": { @@ -1432,42 +1314,6 @@ "local": 5, "projection": [] }, - { - "Ref": [ - { - "kind": "ReErased" - }, - "Shared", - { - "local": 2, - "projection": [ - { - "Field": [ - 0, - 15 - ] - } - ] - } - ] - } - ] - }, - "span": 22 - }, - { - "kind": { - "StorageLive": 6 - }, - "span": 23 - }, - { - "kind": { - "Assign": [ - { - "local": 6, - "projection": [] - }, { "Use": { "Copy": { @@ -1476,7 +1322,7 @@ { "Field": [ 0, - 15 + 14 ] }, { @@ -1490,8 +1336,7 @@ } } ] - }, - "span": 23 + } }, { "kind": { @@ -1505,76 +1350,55 @@ "IntToInt", { "Move": { - "local": 6, + "local": 5, "projection": [] } }, - 16 + 15 ] } ] - }, - "span": 24 - }, - { - "kind": { - "StorageDead": 6 - }, - "span": 25 + } }, { "kind": { "StorageDead": 5 - }, - "span": 26 + } }, { "kind": { "StorageDead": 2 - }, - "span": 27 + } } ], "terminator": { - "kind": "Return", - "span": 20 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 28, - "ty": 16 + "ty": 15 }, { "mutability": "Mut", - "span": 3, - "ty": 11 + "ty": 10 }, { "mutability": "Mut", - "span": 16, - "ty": 17 + "ty": 16 }, { "mutability": "Mut", - "span": 15, "ty": 1 }, { "mutability": "Mut", - "span": 17, "ty": 7 }, { "mutability": "Mut", - "span": 22, - "ty": 18 - }, - { - "mutability": "Mut", - "span": 23, "ty": 9 } ], @@ -1587,7 +1411,7 @@ "name": "main", "source_info": { "scope": 0, - "span": 9 + "span": 7 }, "value": { "Place": { @@ -1610,7 +1434,7 @@ "name": "self", "source_info": { "scope": 1, - "span": 29 + "span": 25 }, "value": { "Place": { @@ -1618,21 +1442,6 @@ "projection": [] } } - }, - { - "argument_index": 1, - "composite": null, - "name": "self", - "source_info": { - "scope": 2, - "span": 30 - }, - "value": { - "Place": { - "local": 5, - "projection": [] - } - } } ] }, @@ -1668,7 +1477,7 @@ "kind": "ZeroSized", "ty": 1 }, - "span": 32, + "span": 27, "user_ty": null } } @@ -1682,17 +1491,16 @@ "const_": { "id": 3, "kind": "ZeroSized", - "ty": 19 + "ty": 17 }, - "span": 31, + "span": 26, "user_ty": null } }, "target": 1, "unwind": "Continue" } - }, - "span": 33 + } } }, { @@ -1708,7 +1516,7 @@ "kind": "ZeroSized", "ty": 1 }, - "span": 32, + "span": 27, "user_ty": null } } @@ -1722,45 +1530,40 @@ "const_": { "id": 5, "kind": "ZeroSized", - "ty": 20 + "ty": 18 }, - "span": 34, + "span": 29, "user_ty": null } }, "target": 2, "unwind": "Unreachable" } - }, - "span": 35 + } } }, { "statements": [], "terminator": { - "kind": "Return", - "span": 36 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 37, "ty": 1 }, { "mutability": "Not", - "span": 38, "ty": 7 }, { "mutability": "Not", - "span": 39, "ty": 1 } ], - "span": 42, + "span": 37, "spread_arg": null, "var_debug_info": [ { @@ -1769,7 +1572,7 @@ "name": "f", "source_info": { "scope": 0, - "span": 38 + "span": 33 }, "value": { "Place": { @@ -1784,7 +1587,7 @@ "name": "result", "source_info": { "scope": 1, - "span": 40 + "span": 35 }, "value": { "Place": { @@ -1799,7 +1602,7 @@ "name": "dummy", "source_info": { "scope": 2, - "span": 41 + "span": 36 }, "value": { "Const": { @@ -1808,7 +1611,7 @@ "kind": "ZeroSized", "ty": 1 }, - "span": 32, + "span": 27, "user_ty": null } } @@ -1858,45 +1661,40 @@ "const_": { "id": 6, "kind": "ZeroSized", - "ty": 21 + "ty": 19 }, - "span": 43, + "span": 38, "user_ty": null } }, "target": 1, "unwind": "Continue" } - }, - "span": 43 + } } }, { "statements": [], "terminator": { - "kind": "Return", - "span": 43 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 43, - "ty": 16 + "ty": 15 }, { "mutability": "Not", - "span": 43, - "ty": 22 + "ty": 20 }, { "mutability": "Not", - "span": 43, "ty": 1 } ], - "span": 43, + "span": 38, "spread_arg": 2, "var_debug_info": [] }, @@ -1906,71 +1704,6 @@ }, "symbol_name": "_ZN4core3ops8function6FnOnce40call_once$u7b$$u7b$vtable.shim$u7d$$u7d$17h" }, - { - "details": null, - "mono_item_kind": { - "MonoItemFn": { - "body": { - "arg_count": 2, - "blocks": [ - { - "statements": [], - "terminator": { - "kind": { - "Call": { - "args": [], - "destination": { - "local": 0, - "projection": [] - }, - "func": { - "Move": { - "local": 1, - "projection": [] - } - }, - "target": 1, - "unwind": "Continue" - } - }, - "span": 43 - } - }, - { - "statements": [], - "terminator": { - "kind": "Return", - "span": 43 - } - } - ], - "locals": [ - { - "mutability": "Mut", - "span": 43, - "ty": 1 - }, - { - "mutability": "Not", - "span": 43, - "ty": 7 - }, - { - "mutability": "Not", - "span": 43, - "ty": 1 - } - ], - "span": 43, - "spread_arg": 2, - "var_debug_info": [] - }, - "id": 3, - "name": ">::call_once" - } - }, - "symbol_name": "_ZN4core3ops8function6FnOnce9call_once17h" - }, { "details": null, "mono_item_kind": { @@ -2004,8 +1737,7 @@ ] } ] - }, - "span": 43 + } } ], "terminator": { @@ -2034,9 +1766,9 @@ "const_": { "id": 7, "kind": "ZeroSized", - "ty": 23 + "ty": 21 }, - "span": 43, + "span": 38, "user_ty": null } }, @@ -2045,8 +1777,7 @@ "Cleanup": 3 } } - }, - "span": 43 + } } }, { @@ -2061,15 +1792,13 @@ "target": 2, "unwind": "Continue" } - }, - "span": 43 + } } }, { "statements": [], "terminator": { - "kind": "Return", - "span": 43 + "kind": "Return" } }, { @@ -2084,41 +1813,35 @@ "target": 4, "unwind": "Terminate" } - }, - "span": 43 + } } }, { "statements": [], "terminator": { - "kind": "Resume", - "span": 43 + "kind": "Resume" } } ], "locals": [ { "mutability": "Mut", - "span": 43, - "ty": 16 + "ty": 15 }, { "mutability": "Not", - "span": 43, - "ty": 12 + "ty": 11 }, { "mutability": "Not", - "span": 43, "ty": 1 }, { "mutability": "Not", - "span": 43, - "ty": 24 + "ty": 22 } ], - "span": 43, + "span": 38, "spread_arg": 2, "var_debug_info": [] }, @@ -2133,37 +1856,60 @@ "mono_item_kind": { "MonoItemFn": { "body": { - "arg_count": 1, + "arg_count": 2, "blocks": [ { "statements": [], "terminator": { - "kind": "Return", - "span": 44 + "kind": { + "Call": { + "args": [], + "destination": { + "local": 0, + "projection": [] + }, + "func": { + "Move": { + "local": 1, + "projection": [] + } + }, + "target": 1, + "unwind": "Continue" + } + } + } + }, + { + "statements": [], + "terminator": { + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 44, "ty": 1 }, { "mutability": "Not", - "span": 44, - "ty": 22 + "ty": 7 + }, + { + "mutability": "Not", + "ty": 1 } ], - "span": 44, - "spread_arg": null, + "span": 38, + "spread_arg": 2, "var_debug_info": [] }, - "id": 4, - "name": "std::ptr::drop_in_place::<{closure@std::rt::lang_start<()>::{closure#0}}>" + "id": 3, + "name": ">::call_once" } }, - "symbol_name": "_ZN4core3ptr85drop_in_place$LT$std..rt..lang_start$LT$$LP$$RP$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$17h" + "symbol_name": "_ZN4core3ops8function6FnOnce9call_once17h" }, { "details": null, @@ -2198,62 +1944,37 @@ } } }, - "ty": 17 + "ty": 16 }, - "span": 46, + "span": 27, "user_ty": null } } } ] - }, - "span": 46 + } } ], "terminator": { - "kind": "Return", - "span": 45 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 47, - "ty": 17 + "ty": 16 }, { "mutability": "Not", - "span": 48, "ty": 1 } ], - "span": 49, + "span": 43, "spread_arg": null, - "var_debug_info": [ - { - "argument_index": 1, - "composite": null, - "name": "self", - "source_info": { - "scope": 0, - "span": 48 - }, - "value": { - "Const": { - "const_": { - "id": 4, - "kind": "ZeroSized", - "ty": 1 - }, - "span": 32, - "user_ty": null - } - } - } - ] + "var_debug_info": [] }, - "id": 5, + "id": 4, "name": "<() as std::process::Termination>::report" } }, @@ -2299,23 +2020,6 @@ } } ], - [ - { - "EnumType": { - "discriminants": [ - [ - 0, - 0 - ], - [ - 1, - 1 - ] - ], - "name": "std::result::Result" - } - } - ], [ { "StructType": { @@ -2336,7 +2040,7 @@ { "StructType": { "fields": "elided", - "name": "std::sys::pal::unix::process::process_common::ExitCode" + "name": "std::sys::process::unix::common::ExitCode" } } ], @@ -2389,11 +2093,6 @@ "RefType": "elided" } ], - [ - { - "RefType": "elided" - } - ], [ { "RefType": "elided" diff --git a/tests/integration/programs/option-construction.smir.json.expected b/tests/integration/programs/option-construction.smir.json.expected index 117471f2..549f440e 100644 --- a/tests/integration/programs/option-construction.smir.json.expected +++ b/tests/integration/programs/option-construction.smir.json.expected @@ -73,11 +73,11 @@ "Aggregate": [ { "Adt": [ - 8, + 7, 1, [ { - "Type": 26 + "Type": 24 } ], null, @@ -104,9 +104,9 @@ } } }, - "ty": 26 + "ty": 24 }, - "span": 62, + "span": 56, "user_ty": null } } @@ -114,8 +114,7 @@ ] } ] - }, - "span": 63 + } }, { "kind": { @@ -128,11 +127,11 @@ "Aggregate": [ { "Adt": [ - 8, + 7, 0, [ { - "Type": 26 + "Type": 24 } ], null, @@ -143,8 +142,7 @@ ] } ] - }, - "span": 64 + } } ], "terminator": { @@ -167,50 +165,44 @@ "const_": { "id": 10, "kind": "ZeroSized", - "ty": 29 + "ty": 27 }, - "span": 60, + "span": 54, "user_ty": null } }, "target": 1, "unwind": "Continue" } - }, - "span": 61 + } } }, { "statements": [], "terminator": { - "kind": "Return", - "span": 65 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 66, "ty": 1 }, { "mutability": "Not", - "span": 67, - "ty": 27 + "ty": 25 }, { "mutability": "Not", - "span": 68, - "ty": 27 + "ty": 25 }, { "mutability": "Not", - "span": 69, - "ty": 26 + "ty": 24 } ], - "span": 70, + "span": 64, "spread_arg": null, "var_debug_info": [ { @@ -219,7 +211,7 @@ "name": "a", "source_info": { "scope": 1, - "span": 67 + "span": 61 }, "value": { "Place": { @@ -234,7 +226,7 @@ "name": "b", "source_info": { "scope": 2, - "span": 68 + "span": 62 }, "value": { "Place": { @@ -249,7 +241,7 @@ "name": "c", "source_info": { "scope": 3, - "span": 69 + "span": 63 }, "value": { "Place": { @@ -260,7 +252,7 @@ } ] }, - "id": 7, + "id": 6, "name": "main" } }, @@ -278,26 +270,18 @@ { "kind": { "StorageLive": 5 - }, - "span": 1 - }, - { - "kind": { - "StorageLive": 6 - }, - "span": 2 + } }, { "kind": { - "StorageLive": 8 - }, - "span": 3 + "StorageLive": 7 + } }, { "kind": { "Assign": [ { - "local": 8, + "local": 7, "projection": [] }, { @@ -332,14 +316,13 @@ ] } ] - }, - "span": 3 + } }, { "kind": { "Assign": [ { - "local": 7, + "local": 6, "projection": [] }, { @@ -349,20 +332,19 @@ }, "Shared", { - "local": 8, + "local": 7, "projection": [] } ] } ] - }, - "span": 2 + } }, { "kind": { "Assign": [ { - "local": 6, + "local": 5, "projection": [] }, { @@ -372,7 +354,7 @@ }, { "Copy": { - "local": 7, + "local": 6, "projection": [] } }, @@ -380,8 +362,7 @@ ] } ] - }, - "span": 2 + } } ], "terminator": { @@ -390,7 +371,7 @@ "args": [ { "Move": { - "local": 6, + "local": 5, "projection": [] } }, @@ -414,7 +395,7 @@ } ], "destination": { - "local": 5, + "local": 0, "projection": [] }, "func": { @@ -431,114 +412,62 @@ "target": 1, "unwind": "Continue" } - }, - "span": 1 + } } }, { "statements": [ { "kind": { - "StorageDead": 6 - }, - "span": 5 - }, - { - "kind": { - "Assign": [ - { - "local": 0, - "projection": [] - }, - { - "Use": { - "Copy": { - "local": 5, - "projection": [ - { - "Downcast": 0 - }, - { - "Field": [ - 0, - 6 - ] - } - ] - } - } - } - ] - }, - "span": 6 - }, - { - "kind": { - "StorageDead": 8 - }, - "span": 7 + "StorageDead": 7 + } }, { "kind": { "StorageDead": 5 - }, - "span": 7 + } } ], "terminator": { - "kind": "Return", - "span": 4 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 8, "ty": 6 }, { "mutability": "Not", - "span": 9, "ty": 7 }, { "mutability": "Not", - "span": 10, "ty": 6 }, { "mutability": "Not", - "span": 11, "ty": 8 }, { "mutability": "Not", - "span": 12, "ty": 9 }, { "mutability": "Mut", - "span": 1, - "ty": 10 - }, - { - "mutability": "Mut", - "span": 2, "ty": 5 }, { "mutability": "Not", - "span": 2, - "ty": 11 + "ty": 10 }, { "mutability": "Not", - "span": 3, - "ty": 12 + "ty": 11 } ], - "span": 13, + "span": 11, "spread_arg": null, "var_debug_info": [ { @@ -547,7 +476,7 @@ "name": "main", "source_info": { "scope": 0, - "span": 9 + "span": 7 }, "value": { "Place": { @@ -562,7 +491,7 @@ "name": "argc", "source_info": { "scope": 0, - "span": 10 + "span": 8 }, "value": { "Place": { @@ -577,7 +506,7 @@ "name": "argv", "source_info": { "scope": 0, - "span": 11 + "span": 9 }, "value": { "Place": { @@ -592,7 +521,7 @@ "name": "sigpipe", "source_info": { "scope": 0, - "span": 12 + "span": 10 }, "value": { "Place": { @@ -600,21 +529,6 @@ "projection": [] } } - }, - { - "argument_index": null, - "composite": null, - "name": "v", - "source_info": { - "scope": 1, - "span": 6 - }, - "value": { - "Place": { - "local": 0, - "projection": [] - } - } } ] }, @@ -636,20 +550,17 @@ { "kind": { "StorageLive": 2 - }, - "span": 16 + } }, { "kind": { "StorageLive": 3 - }, - "span": 15 + } }, { "kind": { "StorageLive": 4 - }, - "span": 17 + } }, { "kind": { @@ -675,8 +586,7 @@ } } ] - }, - "span": 17 + } } ], "terminator": { @@ -699,17 +609,16 @@ "const_": { "id": 1, "kind": "ZeroSized", - "ty": 13 + "ty": 12 }, - "span": 14, + "span": 12, "user_ty": null } }, "target": 1, "unwind": "Continue" } - }, - "span": 15 + } } }, { @@ -717,8 +626,7 @@ { "kind": { "StorageDead": 4 - }, - "span": 19 + } } ], "terminator": { @@ -741,17 +649,16 @@ "const_": { "id": 2, "kind": "ZeroSized", - "ty": 14 + "ty": 13 }, - "span": 18, + "span": 16, "user_ty": null } }, "target": 2, "unwind": "Continue" } - }, - "span": 16 + } } }, { @@ -759,14 +666,12 @@ { "kind": { "StorageDead": 3 - }, - "span": 21 + } }, { "kind": { "StorageLive": 5 - }, - "span": 22 + } }, { "kind": { @@ -775,42 +680,6 @@ "local": 5, "projection": [] }, - { - "Ref": [ - { - "kind": "ReErased" - }, - "Shared", - { - "local": 2, - "projection": [ - { - "Field": [ - 0, - 15 - ] - } - ] - } - ] - } - ] - }, - "span": 22 - }, - { - "kind": { - "StorageLive": 6 - }, - "span": 23 - }, - { - "kind": { - "Assign": [ - { - "local": 6, - "projection": [] - }, { "Use": { "Copy": { @@ -819,7 +688,7 @@ { "Field": [ 0, - 15 + 14 ] }, { @@ -833,8 +702,7 @@ } } ] - }, - "span": 23 + } }, { "kind": { @@ -848,76 +716,55 @@ "IntToInt", { "Move": { - "local": 6, + "local": 5, "projection": [] } }, - 16 + 15 ] } ] - }, - "span": 24 - }, - { - "kind": { - "StorageDead": 6 - }, - "span": 25 + } }, { "kind": { "StorageDead": 5 - }, - "span": 26 + } }, { "kind": { "StorageDead": 2 - }, - "span": 27 + } } ], "terminator": { - "kind": "Return", - "span": 20 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 28, - "ty": 16 + "ty": 15 }, { "mutability": "Mut", - "span": 3, - "ty": 11 + "ty": 10 }, { "mutability": "Mut", - "span": 16, - "ty": 17 + "ty": 16 }, { "mutability": "Mut", - "span": 15, "ty": 1 }, { "mutability": "Mut", - "span": 17, "ty": 7 }, { "mutability": "Mut", - "span": 22, - "ty": 18 - }, - { - "mutability": "Mut", - "span": 23, "ty": 9 } ], @@ -930,7 +777,7 @@ "name": "main", "source_info": { "scope": 0, - "span": 9 + "span": 7 }, "value": { "Place": { @@ -953,7 +800,7 @@ "name": "self", "source_info": { "scope": 1, - "span": 29 + "span": 25 }, "value": { "Place": { @@ -961,21 +808,6 @@ "projection": [] } } - }, - { - "argument_index": 1, - "composite": null, - "name": "self", - "source_info": { - "scope": 2, - "span": 30 - }, - "value": { - "Place": { - "local": 5, - "projection": [] - } - } } ] }, @@ -1011,7 +843,7 @@ "kind": "ZeroSized", "ty": 1 }, - "span": 32, + "span": 27, "user_ty": null } } @@ -1025,17 +857,16 @@ "const_": { "id": 3, "kind": "ZeroSized", - "ty": 19 + "ty": 17 }, - "span": 31, + "span": 26, "user_ty": null } }, "target": 1, "unwind": "Continue" } - }, - "span": 33 + } } }, { @@ -1051,7 +882,7 @@ "kind": "ZeroSized", "ty": 1 }, - "span": 32, + "span": 27, "user_ty": null } } @@ -1065,45 +896,40 @@ "const_": { "id": 5, "kind": "ZeroSized", - "ty": 20 + "ty": 18 }, - "span": 34, + "span": 29, "user_ty": null } }, "target": 2, "unwind": "Unreachable" } - }, - "span": 35 + } } }, { "statements": [], "terminator": { - "kind": "Return", - "span": 36 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 37, "ty": 1 }, { "mutability": "Not", - "span": 38, "ty": 7 }, { "mutability": "Not", - "span": 39, "ty": 1 } ], - "span": 42, + "span": 37, "spread_arg": null, "var_debug_info": [ { @@ -1112,7 +938,7 @@ "name": "f", "source_info": { "scope": 0, - "span": 38 + "span": 33 }, "value": { "Place": { @@ -1127,7 +953,7 @@ "name": "result", "source_info": { "scope": 1, - "span": 40 + "span": 35 }, "value": { "Place": { @@ -1142,7 +968,7 @@ "name": "dummy", "source_info": { "scope": 2, - "span": 41 + "span": 36 }, "value": { "Const": { @@ -1151,7 +977,7 @@ "kind": "ZeroSized", "ty": 1 }, - "span": 32, + "span": 27, "user_ty": null } } @@ -1201,45 +1027,40 @@ "const_": { "id": 6, "kind": "ZeroSized", - "ty": 21 + "ty": 19 }, - "span": 43, + "span": 38, "user_ty": null } }, "target": 1, "unwind": "Continue" } - }, - "span": 43 + } } }, { "statements": [], "terminator": { - "kind": "Return", - "span": 43 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 43, - "ty": 16 + "ty": 15 }, { "mutability": "Not", - "span": 43, - "ty": 22 + "ty": 20 }, { "mutability": "Not", - "span": 43, "ty": 1 } ], - "span": 43, + "span": 38, "spread_arg": 2, "var_debug_info": [] }, @@ -1249,71 +1070,6 @@ }, "symbol_name": "_ZN4core3ops8function6FnOnce40call_once$u7b$$u7b$vtable.shim$u7d$$u7d$17h" }, - { - "details": null, - "mono_item_kind": { - "MonoItemFn": { - "body": { - "arg_count": 2, - "blocks": [ - { - "statements": [], - "terminator": { - "kind": { - "Call": { - "args": [], - "destination": { - "local": 0, - "projection": [] - }, - "func": { - "Move": { - "local": 1, - "projection": [] - } - }, - "target": 1, - "unwind": "Continue" - } - }, - "span": 43 - } - }, - { - "statements": [], - "terminator": { - "kind": "Return", - "span": 43 - } - } - ], - "locals": [ - { - "mutability": "Mut", - "span": 43, - "ty": 1 - }, - { - "mutability": "Not", - "span": 43, - "ty": 7 - }, - { - "mutability": "Not", - "span": 43, - "ty": 1 - } - ], - "span": 43, - "spread_arg": 2, - "var_debug_info": [] - }, - "id": 3, - "name": ">::call_once" - } - }, - "symbol_name": "_ZN4core3ops8function6FnOnce9call_once17h" - }, { "details": null, "mono_item_kind": { @@ -1347,8 +1103,7 @@ ] } ] - }, - "span": 43 + } } ], "terminator": { @@ -1377,9 +1132,9 @@ "const_": { "id": 7, "kind": "ZeroSized", - "ty": 23 + "ty": 21 }, - "span": 43, + "span": 38, "user_ty": null } }, @@ -1388,8 +1143,7 @@ "Cleanup": 3 } } - }, - "span": 43 + } } }, { @@ -1404,15 +1158,13 @@ "target": 2, "unwind": "Continue" } - }, - "span": 43 + } } }, { "statements": [], "terminator": { - "kind": "Return", - "span": 43 + "kind": "Return" } }, { @@ -1427,41 +1179,35 @@ "target": 4, "unwind": "Terminate" } - }, - "span": 43 + } } }, { "statements": [], "terminator": { - "kind": "Resume", - "span": 43 + "kind": "Resume" } } ], "locals": [ { "mutability": "Mut", - "span": 43, - "ty": 16 + "ty": 15 }, { "mutability": "Not", - "span": 43, - "ty": 12 + "ty": 11 }, { "mutability": "Not", - "span": 43, "ty": 1 }, { "mutability": "Not", - "span": 43, - "ty": 24 + "ty": 22 } ], - "span": 43, + "span": 38, "spread_arg": 2, "var_debug_info": [] }, @@ -1476,37 +1222,60 @@ "mono_item_kind": { "MonoItemFn": { "body": { - "arg_count": 1, + "arg_count": 2, "blocks": [ { "statements": [], "terminator": { - "kind": "Return", - "span": 44 + "kind": { + "Call": { + "args": [], + "destination": { + "local": 0, + "projection": [] + }, + "func": { + "Move": { + "local": 1, + "projection": [] + } + }, + "target": 1, + "unwind": "Continue" + } + } + } + }, + { + "statements": [], + "terminator": { + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 44, "ty": 1 }, { "mutability": "Not", - "span": 44, - "ty": 22 + "ty": 7 + }, + { + "mutability": "Not", + "ty": 1 } ], - "span": 44, - "spread_arg": null, + "span": 38, + "spread_arg": 2, "var_debug_info": [] }, - "id": 4, - "name": "std::ptr::drop_in_place::<{closure@std::rt::lang_start<()>::{closure#0}}>" + "id": 3, + "name": ">::call_once" } }, - "symbol_name": "_ZN4core3ptr85drop_in_place$LT$std..rt..lang_start$LT$$LP$$RP$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$17h" + "symbol_name": "_ZN4core3ops8function6FnOnce9call_once17h" }, { "details": null, @@ -1531,8 +1300,7 @@ } } ] - }, - "span": 46 + } } ], "terminator": { @@ -1558,15 +1326,13 @@ "otherwise": 1 } } - }, - "span": 45 + } } }, { "statements": [], "terminator": { - "kind": "Unreachable", - "span": 46 + "kind": "Unreachable" } }, { @@ -1584,17 +1350,16 @@ "const_": { "id": 8, "kind": "ZeroSized", - "ty": 25 + "ty": 23 }, - "span": 47, + "span": 41, "user_ty": null } }, "target": null, "unwind": "Continue" } - }, - "span": 48 + } } }, { @@ -1617,7 +1382,7 @@ { "Field": [ 0, - 26 + 24 ] } ] @@ -1625,39 +1390,33 @@ } } ] - }, - "span": 50 + } } ], "terminator": { - "kind": "Return", - "span": 49 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 51, - "ty": 26 + "ty": 24 }, { "mutability": "Not", - "span": 52, - "ty": 27 + "ty": 25 }, { "mutability": "Mut", - "span": 53, "ty": 6 }, { "mutability": "Mut", - "span": 48, - "ty": 28 + "ty": 26 } ], - "span": 54, + "span": 48, "spread_arg": null, "var_debug_info": [ { @@ -1666,7 +1425,7 @@ "name": "self", "source_info": { "scope": 0, - "span": 52 + "span": 46 }, "value": { "Place": { @@ -1681,7 +1440,7 @@ "name": "val", "source_info": { "scope": 1, - "span": 50 + "span": 44 }, "value": { "Place": { @@ -1692,7 +1451,7 @@ } ] }, - "id": 5, + "id": 4, "name": "std::option::Option::::unwrap" } }, @@ -1731,62 +1490,37 @@ } } }, - "ty": 17 + "ty": 16 }, - "span": 56, + "span": 27, "user_ty": null } } } ] - }, - "span": 56 + } } ], "terminator": { - "kind": "Return", - "span": 55 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 57, - "ty": 17 + "ty": 16 }, { "mutability": "Not", - "span": 58, "ty": 1 } ], - "span": 59, + "span": 53, "spread_arg": null, - "var_debug_info": [ - { - "argument_index": 1, - "composite": null, - "name": "self", - "source_info": { - "scope": 0, - "span": 58 - }, - "value": { - "Const": { - "const_": { - "id": 4, - "kind": "ZeroSized", - "ty": 1 - }, - "span": 32, - "user_ty": null - } - } - } - ] + "var_debug_info": [] }, - "id": 6, + "id": 5, "name": "<() as std::process::Termination>::report" } }, @@ -1839,23 +1573,6 @@ } } ], - [ - { - "EnumType": { - "discriminants": [ - [ - 0, - 0 - ], - [ - 1, - 1 - ] - ], - "name": "std::result::Result" - } - } - ], [ { "StructType": { @@ -1876,7 +1593,7 @@ { "StructType": { "fields": "elided", - "name": "std::sys::pal::unix::process::process_common::ExitCode" + "name": "std::sys::process::unix::common::ExitCode" } } ], @@ -1917,11 +1634,6 @@ "RefType": "elided" } ], - [ - { - "RefType": "elided" - } - ], [ { "RefType": "elided" diff --git a/tests/integration/programs/primitive-type-bounds.smir.json.expected b/tests/integration/programs/primitive-type-bounds.smir.json.expected index c3bd408f..4f32b578 100644 --- a/tests/integration/programs/primitive-type-bounds.smir.json.expected +++ b/tests/integration/programs/primitive-type-bounds.smir.json.expected @@ -124,9 +124,9 @@ } } }, - "ty": 26 + "ty": 24 }, - "span": 50, + "span": 44, "user_ty": null } }, @@ -149,17 +149,16 @@ } } }, - "ty": 26 + "ty": 24 }, - "span": 51, + "span": 45, "user_ty": null } } ] } ] - }, - "span": 52 + } } ], "terminator": { @@ -172,7 +171,7 @@ { "Field": [ 1, - 25 + 23 ] } ] @@ -201,9 +200,9 @@ } } }, - "ty": 26 + "ty": 24 }, - "span": 50, + "span": 44, "user_ty": null } }, @@ -226,9 +225,9 @@ } } }, - "ty": 26 + "ty": 24 }, - "span": 51, + "span": 45, "user_ty": null } } @@ -237,8 +236,7 @@ "target": 1, "unwind": "Continue" } - }, - "span": 52 + } } }, { @@ -258,7 +256,7 @@ { "Field": [ 0, - 26 + 24 ] } ] @@ -266,8 +264,7 @@ } } ] - }, - "span": 52 + } }, { "kind": { @@ -296,16 +293,15 @@ } } }, - "ty": 26 + "ty": 24 }, - "span": 54, + "span": 48, "user_ty": null } } } ] - }, - "span": 55 + } }, { "kind": { @@ -332,8 +328,7 @@ ] } ] - }, - "span": 53 + } } ], "terminator": { @@ -355,15 +350,13 @@ "otherwise": 2 } } - }, - "span": 53 + } } }, { "statements": [], "terminator": { - "kind": "Return", - "span": 56 + "kind": "Return" } }, { @@ -408,9 +401,9 @@ } } }, - "ty": 28 + "ty": 26 }, - "span": 32, + "span": 27, "user_ty": null } } @@ -424,53 +417,46 @@ "const_": { "id": 12, "kind": "ZeroSized", - "ty": 27 + "ty": 25 }, - "span": 57, + "span": 51, "user_ty": null } }, "target": null, "unwind": "Continue" } - }, - "span": 57 + } } } ], "locals": [ { "mutability": "Mut", - "span": 58, "ty": 1 }, { "mutability": "Not", - "span": 59, - "ty": 26 + "ty": 24 }, { "mutability": "Mut", - "span": 52, - "ty": 29 + "ty": 27 }, { "mutability": "Mut", - "span": 53, - "ty": 25 + "ty": 23 }, { "mutability": "Mut", - "span": 55, - "ty": 26 + "ty": 24 }, { "mutability": "Mut", - "span": 57, - "ty": 30 + "ty": 28 } ], - "span": 61, + "span": 55, "spread_arg": null, "var_debug_info": [ { @@ -479,7 +465,7 @@ "name": "a", "source_info": { "scope": 1, - "span": 60 + "span": 54 }, "value": { "Const": { @@ -500,9 +486,9 @@ } } }, - "ty": 26 + "ty": 24 }, - "span": 54, + "span": 48, "user_ty": null } } @@ -513,7 +499,7 @@ "name": "b", "source_info": { "scope": 2, - "span": 59 + "span": 53 }, "value": { "Place": { @@ -524,7 +510,7 @@ } ] }, - "id": 6, + "id": 5, "name": "main" } }, @@ -542,26 +528,18 @@ { "kind": { "StorageLive": 5 - }, - "span": 1 - }, - { - "kind": { - "StorageLive": 6 - }, - "span": 2 + } }, { "kind": { - "StorageLive": 8 - }, - "span": 3 + "StorageLive": 7 + } }, { "kind": { "Assign": [ { - "local": 8, + "local": 7, "projection": [] }, { @@ -596,14 +574,13 @@ ] } ] - }, - "span": 3 + } }, { "kind": { "Assign": [ { - "local": 7, + "local": 6, "projection": [] }, { @@ -613,20 +590,19 @@ }, "Shared", { - "local": 8, + "local": 7, "projection": [] } ] } ] - }, - "span": 2 + } }, { "kind": { "Assign": [ { - "local": 6, + "local": 5, "projection": [] }, { @@ -636,7 +612,7 @@ }, { "Copy": { - "local": 7, + "local": 6, "projection": [] } }, @@ -644,8 +620,7 @@ ] } ] - }, - "span": 2 + } } ], "terminator": { @@ -654,7 +629,7 @@ "args": [ { "Move": { - "local": 6, + "local": 5, "projection": [] } }, @@ -678,7 +653,7 @@ } ], "destination": { - "local": 5, + "local": 0, "projection": [] }, "func": { @@ -695,114 +670,62 @@ "target": 1, "unwind": "Continue" } - }, - "span": 1 + } } }, { "statements": [ { "kind": { - "StorageDead": 6 - }, - "span": 5 - }, - { - "kind": { - "Assign": [ - { - "local": 0, - "projection": [] - }, - { - "Use": { - "Copy": { - "local": 5, - "projection": [ - { - "Downcast": 0 - }, - { - "Field": [ - 0, - 6 - ] - } - ] - } - } - } - ] - }, - "span": 6 - }, - { - "kind": { - "StorageDead": 8 - }, - "span": 7 + "StorageDead": 7 + } }, { "kind": { "StorageDead": 5 - }, - "span": 7 + } } ], "terminator": { - "kind": "Return", - "span": 4 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 8, "ty": 6 }, { "mutability": "Not", - "span": 9, "ty": 7 }, { "mutability": "Not", - "span": 10, "ty": 6 }, { "mutability": "Not", - "span": 11, "ty": 8 }, { "mutability": "Not", - "span": 12, "ty": 9 }, { "mutability": "Mut", - "span": 1, - "ty": 10 - }, - { - "mutability": "Mut", - "span": 2, "ty": 5 }, { "mutability": "Not", - "span": 2, - "ty": 11 + "ty": 10 }, { "mutability": "Not", - "span": 3, - "ty": 12 + "ty": 11 } ], - "span": 13, + "span": 11, "spread_arg": null, "var_debug_info": [ { @@ -811,7 +734,7 @@ "name": "main", "source_info": { "scope": 0, - "span": 9 + "span": 7 }, "value": { "Place": { @@ -826,7 +749,7 @@ "name": "argc", "source_info": { "scope": 0, - "span": 10 + "span": 8 }, "value": { "Place": { @@ -841,7 +764,7 @@ "name": "argv", "source_info": { "scope": 0, - "span": 11 + "span": 9 }, "value": { "Place": { @@ -856,7 +779,7 @@ "name": "sigpipe", "source_info": { "scope": 0, - "span": 12 + "span": 10 }, "value": { "Place": { @@ -864,21 +787,6 @@ "projection": [] } } - }, - { - "argument_index": null, - "composite": null, - "name": "v", - "source_info": { - "scope": 1, - "span": 6 - }, - "value": { - "Place": { - "local": 0, - "projection": [] - } - } } ] }, @@ -900,20 +808,17 @@ { "kind": { "StorageLive": 2 - }, - "span": 16 + } }, { "kind": { "StorageLive": 3 - }, - "span": 15 + } }, { "kind": { "StorageLive": 4 - }, - "span": 17 + } }, { "kind": { @@ -939,8 +844,7 @@ } } ] - }, - "span": 17 + } } ], "terminator": { @@ -963,17 +867,16 @@ "const_": { "id": 1, "kind": "ZeroSized", - "ty": 13 + "ty": 12 }, - "span": 14, + "span": 12, "user_ty": null } }, "target": 1, "unwind": "Continue" } - }, - "span": 15 + } } }, { @@ -981,8 +884,7 @@ { "kind": { "StorageDead": 4 - }, - "span": 19 + } } ], "terminator": { @@ -1005,17 +907,16 @@ "const_": { "id": 2, "kind": "ZeroSized", - "ty": 14 + "ty": 13 }, - "span": 18, + "span": 16, "user_ty": null } }, "target": 2, "unwind": "Continue" } - }, - "span": 16 + } } }, { @@ -1023,14 +924,12 @@ { "kind": { "StorageDead": 3 - }, - "span": 21 + } }, { "kind": { "StorageLive": 5 - }, - "span": 22 + } }, { "kind": { @@ -1039,42 +938,6 @@ "local": 5, "projection": [] }, - { - "Ref": [ - { - "kind": "ReErased" - }, - "Shared", - { - "local": 2, - "projection": [ - { - "Field": [ - 0, - 15 - ] - } - ] - } - ] - } - ] - }, - "span": 22 - }, - { - "kind": { - "StorageLive": 6 - }, - "span": 23 - }, - { - "kind": { - "Assign": [ - { - "local": 6, - "projection": [] - }, { "Use": { "Copy": { @@ -1083,7 +946,7 @@ { "Field": [ 0, - 15 + 14 ] }, { @@ -1097,8 +960,7 @@ } } ] - }, - "span": 23 + } }, { "kind": { @@ -1112,76 +974,55 @@ "IntToInt", { "Move": { - "local": 6, + "local": 5, "projection": [] } }, - 16 + 15 ] } ] - }, - "span": 24 - }, - { - "kind": { - "StorageDead": 6 - }, - "span": 25 + } }, { "kind": { "StorageDead": 5 - }, - "span": 26 + } }, { "kind": { "StorageDead": 2 - }, - "span": 27 + } } ], "terminator": { - "kind": "Return", - "span": 20 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 28, - "ty": 16 + "ty": 15 }, { "mutability": "Mut", - "span": 3, - "ty": 11 + "ty": 10 }, { "mutability": "Mut", - "span": 16, - "ty": 17 + "ty": 16 }, { "mutability": "Mut", - "span": 15, "ty": 1 }, { "mutability": "Mut", - "span": 17, "ty": 7 }, { "mutability": "Mut", - "span": 22, - "ty": 18 - }, - { - "mutability": "Mut", - "span": 23, "ty": 9 } ], @@ -1194,7 +1035,7 @@ "name": "main", "source_info": { "scope": 0, - "span": 9 + "span": 7 }, "value": { "Place": { @@ -1217,7 +1058,7 @@ "name": "self", "source_info": { "scope": 1, - "span": 29 + "span": 25 }, "value": { "Place": { @@ -1225,21 +1066,6 @@ "projection": [] } } - }, - { - "argument_index": 1, - "composite": null, - "name": "self", - "source_info": { - "scope": 2, - "span": 30 - }, - "value": { - "Place": { - "local": 5, - "projection": [] - } - } } ] }, @@ -1275,7 +1101,7 @@ "kind": "ZeroSized", "ty": 1 }, - "span": 32, + "span": 27, "user_ty": null } } @@ -1289,17 +1115,16 @@ "const_": { "id": 3, "kind": "ZeroSized", - "ty": 19 + "ty": 17 }, - "span": 31, + "span": 26, "user_ty": null } }, "target": 1, "unwind": "Continue" } - }, - "span": 33 + } } }, { @@ -1315,7 +1140,7 @@ "kind": "ZeroSized", "ty": 1 }, - "span": 32, + "span": 27, "user_ty": null } } @@ -1329,45 +1154,40 @@ "const_": { "id": 5, "kind": "ZeroSized", - "ty": 20 + "ty": 18 }, - "span": 34, + "span": 29, "user_ty": null } }, "target": 2, "unwind": "Unreachable" } - }, - "span": 35 + } } }, { "statements": [], "terminator": { - "kind": "Return", - "span": 36 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 37, "ty": 1 }, { "mutability": "Not", - "span": 38, "ty": 7 }, { "mutability": "Not", - "span": 39, "ty": 1 } ], - "span": 42, + "span": 37, "spread_arg": null, "var_debug_info": [ { @@ -1376,7 +1196,7 @@ "name": "f", "source_info": { "scope": 0, - "span": 38 + "span": 33 }, "value": { "Place": { @@ -1391,7 +1211,7 @@ "name": "result", "source_info": { "scope": 1, - "span": 40 + "span": 35 }, "value": { "Place": { @@ -1406,7 +1226,7 @@ "name": "dummy", "source_info": { "scope": 2, - "span": 41 + "span": 36 }, "value": { "Const": { @@ -1415,7 +1235,7 @@ "kind": "ZeroSized", "ty": 1 }, - "span": 32, + "span": 27, "user_ty": null } } @@ -1465,45 +1285,40 @@ "const_": { "id": 6, "kind": "ZeroSized", - "ty": 21 + "ty": 19 }, - "span": 43, + "span": 38, "user_ty": null } }, "target": 1, "unwind": "Continue" } - }, - "span": 43 + } } }, { "statements": [], "terminator": { - "kind": "Return", - "span": 43 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 43, - "ty": 16 + "ty": 15 }, { "mutability": "Not", - "span": 43, - "ty": 22 + "ty": 20 }, { "mutability": "Not", - "span": 43, "ty": 1 } ], - "span": 43, + "span": 38, "spread_arg": 2, "var_debug_info": [] }, @@ -1546,8 +1361,7 @@ ] } ] - }, - "span": 43 + } } ], "terminator": { @@ -1576,9 +1390,9 @@ "const_": { "id": 7, "kind": "ZeroSized", - "ty": 23 + "ty": 21 }, - "span": 43, + "span": 38, "user_ty": null } }, @@ -1587,8 +1401,7 @@ "Cleanup": 3 } } - }, - "span": 43 + } } }, { @@ -1603,15 +1416,13 @@ "target": 2, "unwind": "Continue" } - }, - "span": 43 + } } }, { "statements": [], "terminator": { - "kind": "Return", - "span": 43 + "kind": "Return" } }, { @@ -1626,41 +1437,35 @@ "target": 4, "unwind": "Terminate" } - }, - "span": 43 + } } }, { "statements": [], "terminator": { - "kind": "Resume", - "span": 43 + "kind": "Resume" } } ], "locals": [ { "mutability": "Mut", - "span": 43, - "ty": 16 + "ty": 15 }, { "mutability": "Not", - "span": 43, - "ty": 12 + "ty": 11 }, { "mutability": "Not", - "span": 43, "ty": 1 }, { "mutability": "Not", - "span": 43, - "ty": 24 + "ty": 22 } ], - "span": 43, + "span": 38, "spread_arg": 2, "var_debug_info": [] }, @@ -1696,36 +1501,31 @@ "target": 1, "unwind": "Continue" } - }, - "span": 43 + } } }, { "statements": [], "terminator": { - "kind": "Return", - "span": 43 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 43, "ty": 1 }, { "mutability": "Not", - "span": 43, "ty": 7 }, { "mutability": "Not", - "span": 43, "ty": 1 } ], - "span": 43, + "span": 38, "spread_arg": 2, "var_debug_info": [] }, @@ -1735,43 +1535,6 @@ }, "symbol_name": "_ZN4core3ops8function6FnOnce9call_once17h" }, - { - "details": null, - "mono_item_kind": { - "MonoItemFn": { - "body": { - "arg_count": 1, - "blocks": [ - { - "statements": [], - "terminator": { - "kind": "Return", - "span": 44 - } - } - ], - "locals": [ - { - "mutability": "Mut", - "span": 44, - "ty": 1 - }, - { - "mutability": "Not", - "span": 44, - "ty": 22 - } - ], - "span": 44, - "spread_arg": null, - "var_debug_info": [] - }, - "id": 4, - "name": "std::ptr::drop_in_place::<{closure@std::rt::lang_start<()>::{closure#0}}>" - } - }, - "symbol_name": "_ZN4core3ptr85drop_in_place$LT$std..rt..lang_start$LT$$LP$$RP$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$17h" - }, { "details": null, "mono_item_kind": { @@ -1805,62 +1568,37 @@ } } }, - "ty": 17 + "ty": 16 }, - "span": 46, + "span": 27, "user_ty": null } } } ] - }, - "span": 46 + } } ], "terminator": { - "kind": "Return", - "span": 45 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 47, - "ty": 17 + "ty": 16 }, { "mutability": "Not", - "span": 48, "ty": 1 } ], - "span": 49, + "span": 43, "spread_arg": null, - "var_debug_info": [ - { - "argument_index": 1, - "composite": null, - "name": "self", - "source_info": { - "scope": 0, - "span": 48 - }, - "value": { - "Const": { - "const_": { - "id": 4, - "kind": "ZeroSized", - "ty": 1 - }, - "span": 32, - "user_ty": null - } - } - } - ] + "var_debug_info": [] }, - "id": 5, + "id": 4, "name": "<() as std::process::Termination>::report" } }, @@ -1906,23 +1644,6 @@ } } ], - [ - { - "EnumType": { - "discriminants": [ - [ - 0, - 0 - ], - [ - 1, - 1 - ] - ], - "name": "std::result::Result" - } - } - ], [ { "StructType": { @@ -1943,7 +1664,7 @@ { "StructType": { "fields": "elided", - "name": "std::sys::pal::unix::process::process_common::ExitCode" + "name": "std::sys::process::unix::common::ExitCode" } } ], @@ -1996,11 +1717,6 @@ "RefType": "elided" } ], - [ - { - "RefType": "elided" - } - ], [ { "RefType": "elided" diff --git a/tests/integration/programs/recursion-simple-match.smir.json.expected b/tests/integration/programs/recursion-simple-match.smir.json.expected index b867356f..397b6eb3 100644 --- a/tests/integration/programs/recursion-simple-match.smir.json.expected +++ b/tests/integration/programs/recursion-simple-match.smir.json.expected @@ -122,8 +122,7 @@ "otherwise": 1 } } - }, - "span": 50 + } } }, { @@ -163,17 +162,16 @@ } } }, - "ty": 26 + "ty": 24 }, - "span": 51, + "span": 45, "user_ty": null } } ] } ] - }, - "span": 52 + } } ], "terminator": { @@ -186,7 +184,7 @@ { "Field": [ 1, - 25 + 23 ] } ] @@ -221,9 +219,9 @@ } } }, - "ty": 26 + "ty": 24 }, - "span": 51, + "span": 45, "user_ty": null } } @@ -232,8 +230,7 @@ "target": 3, "unwind": "Continue" } - }, - "span": 52 + } } }, { @@ -265,16 +262,15 @@ } } }, - "ty": 26 + "ty": 24 }, - "span": 53, + "span": 47, "user_ty": null } } } ] - }, - "span": 53 + } } ], "terminator": { @@ -282,8 +278,7 @@ "Goto": { "target": 6 } - }, - "span": 53 + } } }, { @@ -303,7 +298,7 @@ { "Field": [ 0, - 26 + 24 ] } ] @@ -311,8 +306,7 @@ } } ] - }, - "span": 52 + } } ], "terminator": { @@ -335,17 +329,16 @@ "const_": { "id": 11, "kind": "ZeroSized", - "ty": 27 + "ty": 25 }, - "span": 54, + "span": 48, "user_ty": null } }, "target": 4, "unwind": "Continue" } - }, - "span": 55 + } } }, { @@ -375,8 +368,7 @@ ] } ] - }, - "span": 56 + } } ], "terminator": { @@ -389,7 +381,7 @@ { "Field": [ 1, - 25 + 23 ] } ] @@ -416,8 +408,7 @@ "target": 5, "unwind": "Continue" } - }, - "span": 56 + } } }, { @@ -437,7 +428,7 @@ { "Field": [ 0, - 26 + 24 ] } ] @@ -445,8 +436,7 @@ } } ] - }, - "span": 56 + } } ], "terminator": { @@ -454,51 +444,43 @@ "Goto": { "target": 6 } - }, - "span": 57 + } } }, { "statements": [], "terminator": { - "kind": "Return", - "span": 58 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 59, - "ty": 26 + "ty": 24 }, { "mutability": "Not", - "span": 60, - "ty": 26 + "ty": 24 }, { "mutability": "Mut", - "span": 55, - "ty": 26 + "ty": 24 }, { "mutability": "Mut", - "span": 52, - "ty": 26 + "ty": 24 }, { "mutability": "Mut", - "span": 52, - "ty": 28 + "ty": 26 }, { "mutability": "Mut", - "span": 56, - "ty": 28 + "ty": 26 } ], - "span": 61, + "span": 55, "spread_arg": null, "var_debug_info": [ { @@ -507,7 +489,7 @@ "name": "n", "source_info": { "scope": 0, - "span": 60 + "span": 54 }, "value": { "Place": { @@ -518,7 +500,7 @@ } ] }, - "id": 6, + "id": 5, "name": "sum_to_n_rec" } }, @@ -556,9 +538,9 @@ } } }, - "ty": 26 + "ty": 24 }, - "span": 63, + "span": 57, "user_ty": null } } @@ -572,17 +554,16 @@ "const_": { "id": 11, "kind": "ZeroSized", - "ty": 27 + "ty": 25 }, - "span": 62, + "span": 56, "user_ty": null } }, "target": 1, "unwind": "Continue" } - }, - "span": 64 + } } }, { @@ -606,15 +587,13 @@ "otherwise": 3 } } - }, - "span": 65 + } } }, { "statements": [], "terminator": { - "kind": "Return", - "span": 66 + "kind": "Return" } }, { @@ -659,9 +638,9 @@ } } }, - "ty": 30 + "ty": 28 }, - "span": 32, + "span": 27, "user_ty": null } } @@ -675,38 +654,34 @@ "const_": { "id": 13, "kind": "ZeroSized", - "ty": 29 + "ty": 27 }, - "span": 67, + "span": 61, "user_ty": null } }, "target": null, "unwind": "Continue" } - }, - "span": 67 + } } } ], "locals": [ { "mutability": "Mut", - "span": 68, "ty": 1 }, { "mutability": "Not", - "span": 69, - "ty": 26 + "ty": 24 }, { "mutability": "Mut", - "span": 67, - "ty": 31 + "ty": 29 } ], - "span": 70, + "span": 64, "spread_arg": null, "var_debug_info": [ { @@ -715,7 +690,7 @@ "name": "ans", "source_info": { "scope": 1, - "span": 69 + "span": 63 }, "value": { "Place": { @@ -726,7 +701,7 @@ } ] }, - "id": 7, + "id": 6, "name": "main" } }, @@ -744,26 +719,18 @@ { "kind": { "StorageLive": 5 - }, - "span": 1 - }, - { - "kind": { - "StorageLive": 6 - }, - "span": 2 + } }, { "kind": { - "StorageLive": 8 - }, - "span": 3 + "StorageLive": 7 + } }, { "kind": { "Assign": [ { - "local": 8, + "local": 7, "projection": [] }, { @@ -798,14 +765,13 @@ ] } ] - }, - "span": 3 + } }, { "kind": { "Assign": [ { - "local": 7, + "local": 6, "projection": [] }, { @@ -815,20 +781,19 @@ }, "Shared", { - "local": 8, + "local": 7, "projection": [] } ] } ] - }, - "span": 2 + } }, { "kind": { "Assign": [ { - "local": 6, + "local": 5, "projection": [] }, { @@ -838,7 +803,7 @@ }, { "Copy": { - "local": 7, + "local": 6, "projection": [] } }, @@ -846,8 +811,7 @@ ] } ] - }, - "span": 2 + } } ], "terminator": { @@ -856,7 +820,7 @@ "args": [ { "Move": { - "local": 6, + "local": 5, "projection": [] } }, @@ -880,7 +844,7 @@ } ], "destination": { - "local": 5, + "local": 0, "projection": [] }, "func": { @@ -897,114 +861,62 @@ "target": 1, "unwind": "Continue" } - }, - "span": 1 + } } }, { "statements": [ { "kind": { - "StorageDead": 6 - }, - "span": 5 - }, - { - "kind": { - "Assign": [ - { - "local": 0, - "projection": [] - }, - { - "Use": { - "Copy": { - "local": 5, - "projection": [ - { - "Downcast": 0 - }, - { - "Field": [ - 0, - 6 - ] - } - ] - } - } - } - ] - }, - "span": 6 - }, - { - "kind": { - "StorageDead": 8 - }, - "span": 7 + "StorageDead": 7 + } }, { "kind": { "StorageDead": 5 - }, - "span": 7 + } } ], "terminator": { - "kind": "Return", - "span": 4 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 8, "ty": 6 }, { "mutability": "Not", - "span": 9, "ty": 7 }, { "mutability": "Not", - "span": 10, "ty": 6 }, { "mutability": "Not", - "span": 11, "ty": 8 }, { "mutability": "Not", - "span": 12, "ty": 9 }, { "mutability": "Mut", - "span": 1, - "ty": 10 - }, - { - "mutability": "Mut", - "span": 2, "ty": 5 }, { "mutability": "Not", - "span": 2, - "ty": 11 + "ty": 10 }, { "mutability": "Not", - "span": 3, - "ty": 12 + "ty": 11 } ], - "span": 13, + "span": 11, "spread_arg": null, "var_debug_info": [ { @@ -1013,7 +925,7 @@ "name": "main", "source_info": { "scope": 0, - "span": 9 + "span": 7 }, "value": { "Place": { @@ -1028,7 +940,7 @@ "name": "argc", "source_info": { "scope": 0, - "span": 10 + "span": 8 }, "value": { "Place": { @@ -1043,7 +955,7 @@ "name": "argv", "source_info": { "scope": 0, - "span": 11 + "span": 9 }, "value": { "Place": { @@ -1058,7 +970,7 @@ "name": "sigpipe", "source_info": { "scope": 0, - "span": 12 + "span": 10 }, "value": { "Place": { @@ -1066,21 +978,6 @@ "projection": [] } } - }, - { - "argument_index": null, - "composite": null, - "name": "v", - "source_info": { - "scope": 1, - "span": 6 - }, - "value": { - "Place": { - "local": 0, - "projection": [] - } - } } ] }, @@ -1102,20 +999,17 @@ { "kind": { "StorageLive": 2 - }, - "span": 16 + } }, { "kind": { "StorageLive": 3 - }, - "span": 15 + } }, { "kind": { "StorageLive": 4 - }, - "span": 17 + } }, { "kind": { @@ -1141,8 +1035,7 @@ } } ] - }, - "span": 17 + } } ], "terminator": { @@ -1165,17 +1058,16 @@ "const_": { "id": 1, "kind": "ZeroSized", - "ty": 13 + "ty": 12 }, - "span": 14, + "span": 12, "user_ty": null } }, "target": 1, "unwind": "Continue" } - }, - "span": 15 + } } }, { @@ -1183,8 +1075,7 @@ { "kind": { "StorageDead": 4 - }, - "span": 19 + } } ], "terminator": { @@ -1207,17 +1098,16 @@ "const_": { "id": 2, "kind": "ZeroSized", - "ty": 14 + "ty": 13 }, - "span": 18, + "span": 16, "user_ty": null } }, "target": 2, "unwind": "Continue" } - }, - "span": 16 + } } }, { @@ -1225,14 +1115,12 @@ { "kind": { "StorageDead": 3 - }, - "span": 21 + } }, { "kind": { "StorageLive": 5 - }, - "span": 22 + } }, { "kind": { @@ -1241,42 +1129,6 @@ "local": 5, "projection": [] }, - { - "Ref": [ - { - "kind": "ReErased" - }, - "Shared", - { - "local": 2, - "projection": [ - { - "Field": [ - 0, - 15 - ] - } - ] - } - ] - } - ] - }, - "span": 22 - }, - { - "kind": { - "StorageLive": 6 - }, - "span": 23 - }, - { - "kind": { - "Assign": [ - { - "local": 6, - "projection": [] - }, { "Use": { "Copy": { @@ -1285,7 +1137,7 @@ { "Field": [ 0, - 15 + 14 ] }, { @@ -1299,8 +1151,7 @@ } } ] - }, - "span": 23 + } }, { "kind": { @@ -1314,76 +1165,55 @@ "IntToInt", { "Move": { - "local": 6, + "local": 5, "projection": [] } }, - 16 + 15 ] } ] - }, - "span": 24 - }, - { - "kind": { - "StorageDead": 6 - }, - "span": 25 + } }, { "kind": { "StorageDead": 5 - }, - "span": 26 + } }, { "kind": { "StorageDead": 2 - }, - "span": 27 + } } ], "terminator": { - "kind": "Return", - "span": 20 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 28, - "ty": 16 + "ty": 15 }, { "mutability": "Mut", - "span": 3, - "ty": 11 + "ty": 10 }, { "mutability": "Mut", - "span": 16, - "ty": 17 + "ty": 16 }, { "mutability": "Mut", - "span": 15, "ty": 1 }, { "mutability": "Mut", - "span": 17, "ty": 7 }, { "mutability": "Mut", - "span": 22, - "ty": 18 - }, - { - "mutability": "Mut", - "span": 23, "ty": 9 } ], @@ -1396,7 +1226,7 @@ "name": "main", "source_info": { "scope": 0, - "span": 9 + "span": 7 }, "value": { "Place": { @@ -1419,7 +1249,7 @@ "name": "self", "source_info": { "scope": 1, - "span": 29 + "span": 25 }, "value": { "Place": { @@ -1427,21 +1257,6 @@ "projection": [] } } - }, - { - "argument_index": 1, - "composite": null, - "name": "self", - "source_info": { - "scope": 2, - "span": 30 - }, - "value": { - "Place": { - "local": 5, - "projection": [] - } - } } ] }, @@ -1477,7 +1292,7 @@ "kind": "ZeroSized", "ty": 1 }, - "span": 32, + "span": 27, "user_ty": null } } @@ -1491,17 +1306,16 @@ "const_": { "id": 3, "kind": "ZeroSized", - "ty": 19 + "ty": 17 }, - "span": 31, + "span": 26, "user_ty": null } }, "target": 1, "unwind": "Continue" } - }, - "span": 33 + } } }, { @@ -1517,7 +1331,7 @@ "kind": "ZeroSized", "ty": 1 }, - "span": 32, + "span": 27, "user_ty": null } } @@ -1531,45 +1345,40 @@ "const_": { "id": 5, "kind": "ZeroSized", - "ty": 20 + "ty": 18 }, - "span": 34, + "span": 29, "user_ty": null } }, "target": 2, "unwind": "Unreachable" } - }, - "span": 35 + } } }, { "statements": [], "terminator": { - "kind": "Return", - "span": 36 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 37, "ty": 1 }, { "mutability": "Not", - "span": 38, "ty": 7 }, { "mutability": "Not", - "span": 39, "ty": 1 } ], - "span": 42, + "span": 37, "spread_arg": null, "var_debug_info": [ { @@ -1578,7 +1387,7 @@ "name": "f", "source_info": { "scope": 0, - "span": 38 + "span": 33 }, "value": { "Place": { @@ -1593,7 +1402,7 @@ "name": "result", "source_info": { "scope": 1, - "span": 40 + "span": 35 }, "value": { "Place": { @@ -1608,7 +1417,7 @@ "name": "dummy", "source_info": { "scope": 2, - "span": 41 + "span": 36 }, "value": { "Const": { @@ -1617,7 +1426,7 @@ "kind": "ZeroSized", "ty": 1 }, - "span": 32, + "span": 27, "user_ty": null } } @@ -1667,45 +1476,40 @@ "const_": { "id": 6, "kind": "ZeroSized", - "ty": 21 + "ty": 19 }, - "span": 43, + "span": 38, "user_ty": null } }, "target": 1, "unwind": "Continue" } - }, - "span": 43 + } } }, { "statements": [], "terminator": { - "kind": "Return", - "span": 43 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 43, - "ty": 16 + "ty": 15 }, { "mutability": "Not", - "span": 43, - "ty": 22 + "ty": 20 }, { "mutability": "Not", - "span": 43, "ty": 1 } ], - "span": 43, + "span": 38, "spread_arg": 2, "var_debug_info": [] }, @@ -1748,8 +1552,7 @@ ] } ] - }, - "span": 43 + } } ], "terminator": { @@ -1778,9 +1581,9 @@ "const_": { "id": 7, "kind": "ZeroSized", - "ty": 23 + "ty": 21 }, - "span": 43, + "span": 38, "user_ty": null } }, @@ -1789,8 +1592,7 @@ "Cleanup": 3 } } - }, - "span": 43 + } } }, { @@ -1805,15 +1607,13 @@ "target": 2, "unwind": "Continue" } - }, - "span": 43 + } } }, { "statements": [], "terminator": { - "kind": "Return", - "span": 43 + "kind": "Return" } }, { @@ -1828,41 +1628,35 @@ "target": 4, "unwind": "Terminate" } - }, - "span": 43 + } } }, { "statements": [], "terminator": { - "kind": "Resume", - "span": 43 + "kind": "Resume" } } ], "locals": [ { "mutability": "Mut", - "span": 43, - "ty": 16 + "ty": 15 }, { "mutability": "Not", - "span": 43, - "ty": 12 + "ty": 11 }, { "mutability": "Not", - "span": 43, "ty": 1 }, { "mutability": "Not", - "span": 43, - "ty": 24 + "ty": 22 } ], - "span": 43, + "span": 38, "spread_arg": 2, "var_debug_info": [] }, @@ -1898,36 +1692,31 @@ "target": 1, "unwind": "Continue" } - }, - "span": 43 + } } }, { "statements": [], "terminator": { - "kind": "Return", - "span": 43 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 43, "ty": 1 }, { "mutability": "Not", - "span": 43, "ty": 7 }, { "mutability": "Not", - "span": 43, "ty": 1 } ], - "span": 43, + "span": 38, "spread_arg": 2, "var_debug_info": [] }, @@ -1937,43 +1726,6 @@ }, "symbol_name": "_ZN4core3ops8function6FnOnce9call_once17h" }, - { - "details": null, - "mono_item_kind": { - "MonoItemFn": { - "body": { - "arg_count": 1, - "blocks": [ - { - "statements": [], - "terminator": { - "kind": "Return", - "span": 44 - } - } - ], - "locals": [ - { - "mutability": "Mut", - "span": 44, - "ty": 1 - }, - { - "mutability": "Not", - "span": 44, - "ty": 22 - } - ], - "span": 44, - "spread_arg": null, - "var_debug_info": [] - }, - "id": 4, - "name": "std::ptr::drop_in_place::<{closure@std::rt::lang_start<()>::{closure#0}}>" - } - }, - "symbol_name": "_ZN4core3ptr85drop_in_place$LT$std..rt..lang_start$LT$$LP$$RP$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$17h" - }, { "details": null, "mono_item_kind": { @@ -2007,62 +1759,37 @@ } } }, - "ty": 17 + "ty": 16 }, - "span": 46, + "span": 27, "user_ty": null } } } ] - }, - "span": 46 + } } ], "terminator": { - "kind": "Return", - "span": 45 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 47, - "ty": 17 + "ty": 16 }, { "mutability": "Not", - "span": 48, "ty": 1 } ], - "span": 49, + "span": 43, "spread_arg": null, - "var_debug_info": [ - { - "argument_index": 1, - "composite": null, - "name": "self", - "source_info": { - "scope": 0, - "span": 48 - }, - "value": { - "Const": { - "const_": { - "id": 4, - "kind": "ZeroSized", - "ty": 1 - }, - "span": 32, - "user_ty": null - } - } - } - ] + "var_debug_info": [] }, - "id": 5, + "id": 4, "name": "<() as std::process::Termination>::report" } }, @@ -2108,23 +1835,6 @@ } } ], - [ - { - "EnumType": { - "discriminants": [ - [ - 0, - 0 - ], - [ - 1, - 1 - ] - ], - "name": "std::result::Result" - } - } - ], [ { "StructType": { @@ -2145,7 +1855,7 @@ { "StructType": { "fields": "elided", - "name": "std::sys::pal::unix::process::process_common::ExitCode" + "name": "std::sys::process::unix::common::ExitCode" } } ], @@ -2198,11 +1908,6 @@ "RefType": "elided" } ], - [ - { - "RefType": "elided" - } - ], [ { "RefType": "elided" diff --git a/tests/integration/programs/recursion-simple.smir.json.expected b/tests/integration/programs/recursion-simple.smir.json.expected index 82c73238..0c9e180c 100644 --- a/tests/integration/programs/recursion-simple.smir.json.expected +++ b/tests/integration/programs/recursion-simple.smir.json.expected @@ -122,8 +122,7 @@ "otherwise": 2 } } - }, - "span": 50 + } } }, { @@ -155,16 +154,15 @@ } } }, - "ty": 25 + "ty": 23 }, - "span": 52, + "span": 46, "user_ty": null } } } ] - }, - "span": 52 + } } ], "terminator": { @@ -172,8 +170,7 @@ "Goto": { "target": 6 } - }, - "span": 51 + } } }, { @@ -213,17 +210,16 @@ } } }, - "ty": 25 + "ty": 23 }, - "span": 53, + "span": 47, "user_ty": null } } ] } ] - }, - "span": 54 + } } ], "terminator": { @@ -236,7 +232,7 @@ { "Field": [ 1, - 26 + 24 ] } ] @@ -271,9 +267,9 @@ } } }, - "ty": 25 + "ty": 23 }, - "span": 53, + "span": 47, "user_ty": null } } @@ -282,8 +278,7 @@ "target": 3, "unwind": "Continue" } - }, - "span": 54 + } } }, { @@ -303,7 +298,7 @@ { "Field": [ 0, - 25 + 23 ] } ] @@ -311,8 +306,7 @@ } } ] - }, - "span": 54 + } } ], "terminator": { @@ -335,17 +329,16 @@ "const_": { "id": 11, "kind": "ZeroSized", - "ty": 27 + "ty": 25 }, - "span": 55, + "span": 49, "user_ty": null } }, "target": 4, "unwind": "Continue" } - }, - "span": 56 + } } }, { @@ -375,8 +368,7 @@ ] } ] - }, - "span": 57 + } } ], "terminator": { @@ -389,7 +381,7 @@ { "Field": [ 1, - 26 + 24 ] } ] @@ -416,8 +408,7 @@ "target": 5, "unwind": "Continue" } - }, - "span": 57 + } } }, { @@ -437,7 +428,7 @@ { "Field": [ 0, - 25 + 23 ] } ] @@ -445,8 +436,7 @@ } } ] - }, - "span": 57 + } } ], "terminator": { @@ -454,51 +444,43 @@ "Goto": { "target": 6 } - }, - "span": 51 + } } }, { "statements": [], "terminator": { - "kind": "Return", - "span": 58 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 59, - "ty": 25 + "ty": 23 }, { "mutability": "Not", - "span": 60, - "ty": 25 + "ty": 23 }, { "mutability": "Mut", - "span": 56, - "ty": 25 + "ty": 23 }, { "mutability": "Mut", - "span": 54, - "ty": 25 + "ty": 23 }, { "mutability": "Mut", - "span": 54, - "ty": 28 + "ty": 26 }, { "mutability": "Mut", - "span": 57, - "ty": 28 + "ty": 26 } ], - "span": 61, + "span": 55, "spread_arg": null, "var_debug_info": [ { @@ -507,7 +489,7 @@ "name": "n", "source_info": { "scope": 0, - "span": 60 + "span": 54 }, "value": { "Place": { @@ -518,7 +500,7 @@ } ] }, - "id": 6, + "id": 5, "name": "sum_to_n_rec" } }, @@ -556,9 +538,9 @@ } } }, - "ty": 25 + "ty": 23 }, - "span": 63, + "span": 57, "user_ty": null } } @@ -572,17 +554,16 @@ "const_": { "id": 11, "kind": "ZeroSized", - "ty": 27 + "ty": 25 }, - "span": 62, + "span": 56, "user_ty": null } }, "target": 1, "unwind": "Continue" } - }, - "span": 64 + } } }, { @@ -606,15 +587,13 @@ "otherwise": 3 } } - }, - "span": 65 + } } }, { "statements": [], "terminator": { - "kind": "Return", - "span": 66 + "kind": "Return" } }, { @@ -659,9 +638,9 @@ } } }, - "ty": 30 + "ty": 28 }, - "span": 32, + "span": 27, "user_ty": null } } @@ -675,38 +654,34 @@ "const_": { "id": 13, "kind": "ZeroSized", - "ty": 29 + "ty": 27 }, - "span": 67, + "span": 61, "user_ty": null } }, "target": null, "unwind": "Continue" } - }, - "span": 67 + } } } ], "locals": [ { "mutability": "Mut", - "span": 68, "ty": 1 }, { "mutability": "Not", - "span": 69, - "ty": 25 + "ty": 23 }, { "mutability": "Mut", - "span": 67, - "ty": 31 + "ty": 29 } ], - "span": 70, + "span": 64, "spread_arg": null, "var_debug_info": [ { @@ -715,7 +690,7 @@ "name": "ans", "source_info": { "scope": 1, - "span": 69 + "span": 63 }, "value": { "Place": { @@ -726,7 +701,7 @@ } ] }, - "id": 7, + "id": 6, "name": "main" } }, @@ -744,26 +719,18 @@ { "kind": { "StorageLive": 5 - }, - "span": 1 - }, - { - "kind": { - "StorageLive": 6 - }, - "span": 2 + } }, { "kind": { - "StorageLive": 8 - }, - "span": 3 + "StorageLive": 7 + } }, { "kind": { "Assign": [ { - "local": 8, + "local": 7, "projection": [] }, { @@ -798,14 +765,13 @@ ] } ] - }, - "span": 3 + } }, { "kind": { "Assign": [ { - "local": 7, + "local": 6, "projection": [] }, { @@ -815,20 +781,19 @@ }, "Shared", { - "local": 8, + "local": 7, "projection": [] } ] } ] - }, - "span": 2 + } }, { "kind": { "Assign": [ { - "local": 6, + "local": 5, "projection": [] }, { @@ -838,7 +803,7 @@ }, { "Copy": { - "local": 7, + "local": 6, "projection": [] } }, @@ -846,8 +811,7 @@ ] } ] - }, - "span": 2 + } } ], "terminator": { @@ -856,7 +820,7 @@ "args": [ { "Move": { - "local": 6, + "local": 5, "projection": [] } }, @@ -880,7 +844,7 @@ } ], "destination": { - "local": 5, + "local": 0, "projection": [] }, "func": { @@ -897,114 +861,62 @@ "target": 1, "unwind": "Continue" } - }, - "span": 1 + } } }, { "statements": [ { "kind": { - "StorageDead": 6 - }, - "span": 5 - }, - { - "kind": { - "Assign": [ - { - "local": 0, - "projection": [] - }, - { - "Use": { - "Copy": { - "local": 5, - "projection": [ - { - "Downcast": 0 - }, - { - "Field": [ - 0, - 6 - ] - } - ] - } - } - } - ] - }, - "span": 6 - }, - { - "kind": { - "StorageDead": 8 - }, - "span": 7 + "StorageDead": 7 + } }, { "kind": { "StorageDead": 5 - }, - "span": 7 + } } ], "terminator": { - "kind": "Return", - "span": 4 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 8, "ty": 6 }, { "mutability": "Not", - "span": 9, "ty": 7 }, { "mutability": "Not", - "span": 10, "ty": 6 }, { "mutability": "Not", - "span": 11, "ty": 8 }, { "mutability": "Not", - "span": 12, "ty": 9 }, { "mutability": "Mut", - "span": 1, - "ty": 10 - }, - { - "mutability": "Mut", - "span": 2, "ty": 5 }, { "mutability": "Not", - "span": 2, - "ty": 11 + "ty": 10 }, { "mutability": "Not", - "span": 3, - "ty": 12 + "ty": 11 } ], - "span": 13, + "span": 11, "spread_arg": null, "var_debug_info": [ { @@ -1013,7 +925,7 @@ "name": "main", "source_info": { "scope": 0, - "span": 9 + "span": 7 }, "value": { "Place": { @@ -1028,7 +940,7 @@ "name": "argc", "source_info": { "scope": 0, - "span": 10 + "span": 8 }, "value": { "Place": { @@ -1043,7 +955,7 @@ "name": "argv", "source_info": { "scope": 0, - "span": 11 + "span": 9 }, "value": { "Place": { @@ -1058,7 +970,7 @@ "name": "sigpipe", "source_info": { "scope": 0, - "span": 12 + "span": 10 }, "value": { "Place": { @@ -1066,21 +978,6 @@ "projection": [] } } - }, - { - "argument_index": null, - "composite": null, - "name": "v", - "source_info": { - "scope": 1, - "span": 6 - }, - "value": { - "Place": { - "local": 0, - "projection": [] - } - } } ] }, @@ -1102,20 +999,17 @@ { "kind": { "StorageLive": 2 - }, - "span": 16 + } }, { "kind": { "StorageLive": 3 - }, - "span": 15 + } }, { "kind": { "StorageLive": 4 - }, - "span": 17 + } }, { "kind": { @@ -1141,8 +1035,7 @@ } } ] - }, - "span": 17 + } } ], "terminator": { @@ -1165,17 +1058,16 @@ "const_": { "id": 1, "kind": "ZeroSized", - "ty": 13 + "ty": 12 }, - "span": 14, + "span": 12, "user_ty": null } }, "target": 1, "unwind": "Continue" } - }, - "span": 15 + } } }, { @@ -1183,8 +1075,7 @@ { "kind": { "StorageDead": 4 - }, - "span": 19 + } } ], "terminator": { @@ -1207,17 +1098,16 @@ "const_": { "id": 2, "kind": "ZeroSized", - "ty": 14 + "ty": 13 }, - "span": 18, + "span": 16, "user_ty": null } }, "target": 2, "unwind": "Continue" } - }, - "span": 16 + } } }, { @@ -1225,14 +1115,12 @@ { "kind": { "StorageDead": 3 - }, - "span": 21 + } }, { "kind": { "StorageLive": 5 - }, - "span": 22 + } }, { "kind": { @@ -1241,42 +1129,6 @@ "local": 5, "projection": [] }, - { - "Ref": [ - { - "kind": "ReErased" - }, - "Shared", - { - "local": 2, - "projection": [ - { - "Field": [ - 0, - 15 - ] - } - ] - } - ] - } - ] - }, - "span": 22 - }, - { - "kind": { - "StorageLive": 6 - }, - "span": 23 - }, - { - "kind": { - "Assign": [ - { - "local": 6, - "projection": [] - }, { "Use": { "Copy": { @@ -1285,7 +1137,7 @@ { "Field": [ 0, - 15 + 14 ] }, { @@ -1299,8 +1151,7 @@ } } ] - }, - "span": 23 + } }, { "kind": { @@ -1314,76 +1165,55 @@ "IntToInt", { "Move": { - "local": 6, + "local": 5, "projection": [] } }, - 16 + 15 ] } ] - }, - "span": 24 - }, - { - "kind": { - "StorageDead": 6 - }, - "span": 25 + } }, { "kind": { "StorageDead": 5 - }, - "span": 26 + } }, { "kind": { "StorageDead": 2 - }, - "span": 27 + } } ], "terminator": { - "kind": "Return", - "span": 20 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 28, - "ty": 16 + "ty": 15 }, { "mutability": "Mut", - "span": 3, - "ty": 11 + "ty": 10 }, { "mutability": "Mut", - "span": 16, - "ty": 17 + "ty": 16 }, { "mutability": "Mut", - "span": 15, "ty": 1 }, { "mutability": "Mut", - "span": 17, "ty": 7 }, { "mutability": "Mut", - "span": 22, - "ty": 18 - }, - { - "mutability": "Mut", - "span": 23, "ty": 9 } ], @@ -1396,7 +1226,7 @@ "name": "main", "source_info": { "scope": 0, - "span": 9 + "span": 7 }, "value": { "Place": { @@ -1419,7 +1249,7 @@ "name": "self", "source_info": { "scope": 1, - "span": 29 + "span": 25 }, "value": { "Place": { @@ -1427,21 +1257,6 @@ "projection": [] } } - }, - { - "argument_index": 1, - "composite": null, - "name": "self", - "source_info": { - "scope": 2, - "span": 30 - }, - "value": { - "Place": { - "local": 5, - "projection": [] - } - } } ] }, @@ -1477,7 +1292,7 @@ "kind": "ZeroSized", "ty": 1 }, - "span": 32, + "span": 27, "user_ty": null } } @@ -1491,17 +1306,16 @@ "const_": { "id": 3, "kind": "ZeroSized", - "ty": 19 + "ty": 17 }, - "span": 31, + "span": 26, "user_ty": null } }, "target": 1, "unwind": "Continue" } - }, - "span": 33 + } } }, { @@ -1517,7 +1331,7 @@ "kind": "ZeroSized", "ty": 1 }, - "span": 32, + "span": 27, "user_ty": null } } @@ -1531,45 +1345,40 @@ "const_": { "id": 5, "kind": "ZeroSized", - "ty": 20 + "ty": 18 }, - "span": 34, + "span": 29, "user_ty": null } }, "target": 2, "unwind": "Unreachable" } - }, - "span": 35 + } } }, { "statements": [], "terminator": { - "kind": "Return", - "span": 36 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 37, "ty": 1 }, { "mutability": "Not", - "span": 38, "ty": 7 }, { "mutability": "Not", - "span": 39, "ty": 1 } ], - "span": 42, + "span": 37, "spread_arg": null, "var_debug_info": [ { @@ -1578,7 +1387,7 @@ "name": "f", "source_info": { "scope": 0, - "span": 38 + "span": 33 }, "value": { "Place": { @@ -1593,7 +1402,7 @@ "name": "result", "source_info": { "scope": 1, - "span": 40 + "span": 35 }, "value": { "Place": { @@ -1608,7 +1417,7 @@ "name": "dummy", "source_info": { "scope": 2, - "span": 41 + "span": 36 }, "value": { "Const": { @@ -1617,7 +1426,7 @@ "kind": "ZeroSized", "ty": 1 }, - "span": 32, + "span": 27, "user_ty": null } } @@ -1667,45 +1476,40 @@ "const_": { "id": 6, "kind": "ZeroSized", - "ty": 21 + "ty": 19 }, - "span": 43, + "span": 38, "user_ty": null } }, "target": 1, "unwind": "Continue" } - }, - "span": 43 + } } }, { "statements": [], "terminator": { - "kind": "Return", - "span": 43 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 43, - "ty": 16 + "ty": 15 }, { "mutability": "Not", - "span": 43, - "ty": 22 + "ty": 20 }, { "mutability": "Not", - "span": 43, "ty": 1 } ], - "span": 43, + "span": 38, "spread_arg": 2, "var_debug_info": [] }, @@ -1741,36 +1545,31 @@ "target": 1, "unwind": "Continue" } - }, - "span": 43 + } } }, { "statements": [], "terminator": { - "kind": "Return", - "span": 43 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 43, "ty": 1 }, { "mutability": "Not", - "span": 43, "ty": 7 }, { "mutability": "Not", - "span": 43, "ty": 1 } ], - "span": 43, + "span": 38, "spread_arg": 2, "var_debug_info": [] }, @@ -1813,8 +1612,7 @@ ] } ] - }, - "span": 43 + } } ], "terminator": { @@ -1843,9 +1641,9 @@ "const_": { "id": 7, "kind": "ZeroSized", - "ty": 23 + "ty": 21 }, - "span": 43, + "span": 38, "user_ty": null } }, @@ -1854,8 +1652,7 @@ "Cleanup": 3 } } - }, - "span": 43 + } } }, { @@ -1870,15 +1667,13 @@ "target": 2, "unwind": "Continue" } - }, - "span": 43 + } } }, { "statements": [], "terminator": { - "kind": "Return", - "span": 43 + "kind": "Return" } }, { @@ -1893,41 +1688,35 @@ "target": 4, "unwind": "Terminate" } - }, - "span": 43 + } } }, { "statements": [], "terminator": { - "kind": "Resume", - "span": 43 + "kind": "Resume" } } ], "locals": [ { "mutability": "Mut", - "span": 43, - "ty": 16 + "ty": 15 }, { "mutability": "Not", - "span": 43, - "ty": 12 + "ty": 11 }, { "mutability": "Not", - "span": 43, "ty": 1 }, { "mutability": "Not", - "span": 43, - "ty": 24 + "ty": 22 } ], - "span": 43, + "span": 38, "spread_arg": 2, "var_debug_info": [] }, @@ -1937,43 +1726,6 @@ }, "symbol_name": "_ZN4core3ops8function6FnOnce9call_once17h" }, - { - "details": null, - "mono_item_kind": { - "MonoItemFn": { - "body": { - "arg_count": 1, - "blocks": [ - { - "statements": [], - "terminator": { - "kind": "Return", - "span": 44 - } - } - ], - "locals": [ - { - "mutability": "Mut", - "span": 44, - "ty": 1 - }, - { - "mutability": "Not", - "span": 44, - "ty": 22 - } - ], - "span": 44, - "spread_arg": null, - "var_debug_info": [] - }, - "id": 4, - "name": "std::ptr::drop_in_place::<{closure@std::rt::lang_start<()>::{closure#0}}>" - } - }, - "symbol_name": "_ZN4core3ptr85drop_in_place$LT$std..rt..lang_start$LT$$LP$$RP$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$17h" - }, { "details": null, "mono_item_kind": { @@ -2007,62 +1759,37 @@ } } }, - "ty": 17 + "ty": 16 }, - "span": 46, + "span": 27, "user_ty": null } } } ] - }, - "span": 46 + } } ], "terminator": { - "kind": "Return", - "span": 45 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 47, - "ty": 17 + "ty": 16 }, { "mutability": "Not", - "span": 48, "ty": 1 } ], - "span": 49, + "span": 43, "spread_arg": null, - "var_debug_info": [ - { - "argument_index": 1, - "composite": null, - "name": "self", - "source_info": { - "scope": 0, - "span": 48 - }, - "value": { - "Const": { - "const_": { - "id": 4, - "kind": "ZeroSized", - "ty": 1 - }, - "span": 32, - "user_ty": null - } - } - } - ] + "var_debug_info": [] }, - "id": 5, + "id": 4, "name": "<() as std::process::Termination>::report" } }, @@ -2108,23 +1835,6 @@ } } ], - [ - { - "EnumType": { - "discriminants": [ - [ - 0, - 0 - ], - [ - 1, - 1 - ] - ], - "name": "std::result::Result" - } - } - ], [ { "StructType": { @@ -2145,7 +1855,7 @@ { "StructType": { "fields": "elided", - "name": "std::sys::pal::unix::process::process_common::ExitCode" + "name": "std::sys::process::unix::common::ExitCode" } } ], @@ -2198,11 +1908,6 @@ "RefType": "elided" } ], - [ - { - "RefType": "elided" - } - ], [ { "RefType": "elided" diff --git a/tests/integration/programs/ref-deref.smir.json.expected b/tests/integration/programs/ref-deref.smir.json.expected index e3f520e5..515a29fb 100644 --- a/tests/integration/programs/ref-deref.smir.json.expected +++ b/tests/integration/programs/ref-deref.smir.json.expected @@ -99,26 +99,18 @@ { "kind": { "StorageLive": 5 - }, - "span": 1 - }, - { - "kind": { - "StorageLive": 6 - }, - "span": 2 + } }, { "kind": { - "StorageLive": 8 - }, - "span": 3 + "StorageLive": 7 + } }, { "kind": { "Assign": [ { - "local": 8, + "local": 7, "projection": [] }, { @@ -153,14 +145,13 @@ ] } ] - }, - "span": 3 + } }, { "kind": { "Assign": [ { - "local": 7, + "local": 6, "projection": [] }, { @@ -170,20 +161,19 @@ }, "Shared", { - "local": 8, + "local": 7, "projection": [] } ] } ] - }, - "span": 2 + } }, { "kind": { "Assign": [ { - "local": 6, + "local": 5, "projection": [] }, { @@ -193,7 +183,7 @@ }, { "Copy": { - "local": 7, + "local": 6, "projection": [] } }, @@ -201,8 +191,7 @@ ] } ] - }, - "span": 2 + } } ], "terminator": { @@ -211,7 +200,7 @@ "args": [ { "Move": { - "local": 6, + "local": 5, "projection": [] } }, @@ -235,7 +224,7 @@ } ], "destination": { - "local": 5, + "local": 0, "projection": [] }, "func": { @@ -252,114 +241,62 @@ "target": 1, "unwind": "Continue" } - }, - "span": 1 + } } }, { "statements": [ { "kind": { - "StorageDead": 6 - }, - "span": 5 - }, - { - "kind": { - "Assign": [ - { - "local": 0, - "projection": [] - }, - { - "Use": { - "Copy": { - "local": 5, - "projection": [ - { - "Downcast": 0 - }, - { - "Field": [ - 0, - 6 - ] - } - ] - } - } - } - ] - }, - "span": 6 - }, - { - "kind": { - "StorageDead": 8 - }, - "span": 7 + "StorageDead": 7 + } }, { "kind": { "StorageDead": 5 - }, - "span": 7 + } } ], "terminator": { - "kind": "Return", - "span": 4 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 8, "ty": 6 }, { "mutability": "Not", - "span": 9, "ty": 7 }, { "mutability": "Not", - "span": 10, "ty": 6 }, { "mutability": "Not", - "span": 11, "ty": 8 }, { "mutability": "Not", - "span": 12, "ty": 9 }, { "mutability": "Mut", - "span": 1, - "ty": 10 - }, - { - "mutability": "Mut", - "span": 2, "ty": 5 }, { "mutability": "Not", - "span": 2, - "ty": 11 + "ty": 10 }, { "mutability": "Not", - "span": 3, - "ty": 12 + "ty": 11 } ], - "span": 13, + "span": 11, "spread_arg": null, "var_debug_info": [ { @@ -368,7 +305,7 @@ "name": "main", "source_info": { "scope": 0, - "span": 9 + "span": 7 }, "value": { "Place": { @@ -383,7 +320,7 @@ "name": "argc", "source_info": { "scope": 0, - "span": 10 + "span": 8 }, "value": { "Place": { @@ -398,7 +335,7 @@ "name": "argv", "source_info": { "scope": 0, - "span": 11 + "span": 9 }, "value": { "Place": { @@ -413,7 +350,7 @@ "name": "sigpipe", "source_info": { "scope": 0, - "span": 12 + "span": 10 }, "value": { "Place": { @@ -421,21 +358,6 @@ "projection": [] } } - }, - { - "argument_index": null, - "composite": null, - "name": "v", - "source_info": { - "scope": 1, - "span": 6 - }, - "value": { - "Place": { - "local": 0, - "projection": [] - } - } } ] }, @@ -457,20 +379,17 @@ { "kind": { "StorageLive": 2 - }, - "span": 16 + } }, { "kind": { "StorageLive": 3 - }, - "span": 15 + } }, { "kind": { "StorageLive": 4 - }, - "span": 17 + } }, { "kind": { @@ -496,8 +415,7 @@ } } ] - }, - "span": 17 + } } ], "terminator": { @@ -520,17 +438,16 @@ "const_": { "id": 1, "kind": "ZeroSized", - "ty": 13 + "ty": 12 }, - "span": 14, + "span": 12, "user_ty": null } }, "target": 1, "unwind": "Continue" } - }, - "span": 15 + } } }, { @@ -538,8 +455,7 @@ { "kind": { "StorageDead": 4 - }, - "span": 19 + } } ], "terminator": { @@ -562,17 +478,16 @@ "const_": { "id": 2, "kind": "ZeroSized", - "ty": 14 + "ty": 13 }, - "span": 18, + "span": 16, "user_ty": null } }, "target": 2, "unwind": "Continue" } - }, - "span": 16 + } } }, { @@ -580,14 +495,12 @@ { "kind": { "StorageDead": 3 - }, - "span": 21 + } }, { "kind": { "StorageLive": 5 - }, - "span": 22 + } }, { "kind": { @@ -596,42 +509,6 @@ "local": 5, "projection": [] }, - { - "Ref": [ - { - "kind": "ReErased" - }, - "Shared", - { - "local": 2, - "projection": [ - { - "Field": [ - 0, - 15 - ] - } - ] - } - ] - } - ] - }, - "span": 22 - }, - { - "kind": { - "StorageLive": 6 - }, - "span": 23 - }, - { - "kind": { - "Assign": [ - { - "local": 6, - "projection": [] - }, { "Use": { "Copy": { @@ -640,7 +517,7 @@ { "Field": [ 0, - 15 + 14 ] }, { @@ -654,8 +531,7 @@ } } ] - }, - "span": 23 + } }, { "kind": { @@ -669,76 +545,55 @@ "IntToInt", { "Move": { - "local": 6, + "local": 5, "projection": [] } }, - 16 + 15 ] } ] - }, - "span": 24 - }, - { - "kind": { - "StorageDead": 6 - }, - "span": 25 + } }, { "kind": { "StorageDead": 5 - }, - "span": 26 + } }, { "kind": { "StorageDead": 2 - }, - "span": 27 + } } ], "terminator": { - "kind": "Return", - "span": 20 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 28, - "ty": 16 + "ty": 15 }, { "mutability": "Mut", - "span": 3, - "ty": 11 + "ty": 10 }, { "mutability": "Mut", - "span": 16, - "ty": 17 + "ty": 16 }, { "mutability": "Mut", - "span": 15, "ty": 1 }, { "mutability": "Mut", - "span": 17, "ty": 7 }, { "mutability": "Mut", - "span": 22, - "ty": 18 - }, - { - "mutability": "Mut", - "span": 23, "ty": 9 } ], @@ -751,7 +606,7 @@ "name": "main", "source_info": { "scope": 0, - "span": 9 + "span": 7 }, "value": { "Place": { @@ -774,7 +629,7 @@ "name": "self", "source_info": { "scope": 1, - "span": 29 + "span": 25 }, "value": { "Place": { @@ -782,21 +637,6 @@ "projection": [] } } - }, - { - "argument_index": 1, - "composite": null, - "name": "self", - "source_info": { - "scope": 2, - "span": 30 - }, - "value": { - "Place": { - "local": 5, - "projection": [] - } - } } ] }, @@ -832,7 +672,7 @@ "kind": "ZeroSized", "ty": 1 }, - "span": 32, + "span": 27, "user_ty": null } } @@ -846,17 +686,16 @@ "const_": { "id": 3, "kind": "ZeroSized", - "ty": 19 + "ty": 17 }, - "span": 31, + "span": 26, "user_ty": null } }, "target": 1, "unwind": "Continue" } - }, - "span": 33 + } } }, { @@ -872,7 +711,7 @@ "kind": "ZeroSized", "ty": 1 }, - "span": 32, + "span": 27, "user_ty": null } } @@ -886,45 +725,40 @@ "const_": { "id": 5, "kind": "ZeroSized", - "ty": 20 + "ty": 18 }, - "span": 34, + "span": 29, "user_ty": null } }, "target": 2, "unwind": "Unreachable" } - }, - "span": 35 + } } }, { "statements": [], "terminator": { - "kind": "Return", - "span": 36 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 37, "ty": 1 }, { "mutability": "Not", - "span": 38, "ty": 7 }, { "mutability": "Not", - "span": 39, "ty": 1 } ], - "span": 42, + "span": 37, "spread_arg": null, "var_debug_info": [ { @@ -933,7 +767,7 @@ "name": "f", "source_info": { "scope": 0, - "span": 38 + "span": 33 }, "value": { "Place": { @@ -948,7 +782,7 @@ "name": "result", "source_info": { "scope": 1, - "span": 40 + "span": 35 }, "value": { "Place": { @@ -963,7 +797,7 @@ "name": "dummy", "source_info": { "scope": 2, - "span": 41 + "span": 36 }, "value": { "Const": { @@ -972,7 +806,7 @@ "kind": "ZeroSized", "ty": 1 }, - "span": 32, + "span": 27, "user_ty": null } } @@ -1022,45 +856,40 @@ "const_": { "id": 6, "kind": "ZeroSized", - "ty": 21 + "ty": 19 }, - "span": 43, + "span": 38, "user_ty": null } }, "target": 1, "unwind": "Continue" } - }, - "span": 43 + } } }, { "statements": [], "terminator": { - "kind": "Return", - "span": 43 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 43, - "ty": 16 + "ty": 15 }, { "mutability": "Not", - "span": 43, - "ty": 22 + "ty": 20 }, { "mutability": "Not", - "span": 43, "ty": 1 } ], - "span": 43, + "span": 38, "spread_arg": 2, "var_debug_info": [] }, @@ -1103,8 +932,7 @@ ] } ] - }, - "span": 43 + } } ], "terminator": { @@ -1133,9 +961,9 @@ "const_": { "id": 7, "kind": "ZeroSized", - "ty": 23 + "ty": 21 }, - "span": 43, + "span": 38, "user_ty": null } }, @@ -1144,8 +972,7 @@ "Cleanup": 3 } } - }, - "span": 43 + } } }, { @@ -1160,15 +987,13 @@ "target": 2, "unwind": "Continue" } - }, - "span": 43 + } } }, { "statements": [], "terminator": { - "kind": "Return", - "span": 43 + "kind": "Return" } }, { @@ -1183,41 +1008,35 @@ "target": 4, "unwind": "Terminate" } - }, - "span": 43 + } } }, { "statements": [], "terminator": { - "kind": "Resume", - "span": 43 + "kind": "Resume" } } ], "locals": [ { "mutability": "Mut", - "span": 43, - "ty": 16 + "ty": 15 }, { "mutability": "Not", - "span": 43, - "ty": 12 + "ty": 11 }, { "mutability": "Not", - "span": 43, "ty": 1 }, { "mutability": "Not", - "span": 43, - "ty": 24 + "ty": 22 } ], - "span": 43, + "span": 38, "spread_arg": 2, "var_debug_info": [] }, @@ -1253,36 +1072,31 @@ "target": 1, "unwind": "Continue" } - }, - "span": 43 + } } }, { "statements": [], "terminator": { - "kind": "Return", - "span": 43 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 43, "ty": 1 }, { "mutability": "Not", - "span": 43, "ty": 7 }, { "mutability": "Not", - "span": 43, "ty": 1 } ], - "span": 43, + "span": 38, "spread_arg": 2, "var_debug_info": [] }, @@ -1292,43 +1106,6 @@ }, "symbol_name": "_ZN4core3ops8function6FnOnce9call_once17h" }, - { - "details": null, - "mono_item_kind": { - "MonoItemFn": { - "body": { - "arg_count": 1, - "blocks": [ - { - "statements": [], - "terminator": { - "kind": "Return", - "span": 44 - } - } - ], - "locals": [ - { - "mutability": "Mut", - "span": 44, - "ty": 1 - }, - { - "mutability": "Not", - "span": 44, - "ty": 22 - } - ], - "span": 44, - "spread_arg": null, - "var_debug_info": [] - }, - "id": 4, - "name": "std::ptr::drop_in_place::<{closure@std::rt::lang_start<()>::{closure#0}}>" - } - }, - "symbol_name": "_ZN4core3ptr85drop_in_place$LT$std..rt..lang_start$LT$$LP$$RP$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$17h" - }, { "details": null, "mono_item_kind": { @@ -1362,62 +1139,37 @@ } } }, - "ty": 17 + "ty": 16 }, - "span": 46, + "span": 27, "user_ty": null } } } ] - }, - "span": 46 + } } ], "terminator": { - "kind": "Return", - "span": 45 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 47, - "ty": 17 + "ty": 16 }, { "mutability": "Not", - "span": 48, "ty": 1 } ], - "span": 49, + "span": 43, "spread_arg": null, - "var_debug_info": [ - { - "argument_index": 1, - "composite": null, - "name": "self", - "source_info": { - "scope": 0, - "span": 48 - }, - "value": { - "Const": { - "const_": { - "id": 4, - "kind": "ZeroSized", - "ty": 1 - }, - "span": 32, - "user_ty": null - } - } - } - ] + "var_debug_info": [] }, - "id": 5, + "id": 4, "name": "<() as std::process::Termination>::report" } }, @@ -1459,16 +1211,15 @@ } } }, - "ty": 16 + "ty": 15 }, - "span": 51, + "span": 45, "user_ty": null } } } ] - }, - "span": 51 + } }, { "kind": { @@ -1490,8 +1241,7 @@ ] } ] - }, - "span": 52 + } }, { "kind": { @@ -1511,8 +1261,7 @@ } } ] - }, - "span": 53 + } } ], "terminator": { @@ -1534,15 +1283,13 @@ "otherwise": 2 } } - }, - "span": 50 + } } }, { "statements": [], "terminator": { - "kind": "Return", - "span": 54 + "kind": "Return" } }, { @@ -1587,9 +1334,9 @@ } } }, - "ty": 26 + "ty": 24 }, - "span": 32, + "span": 27, "user_ty": null } } @@ -1603,48 +1350,42 @@ "const_": { "id": 10, "kind": "ZeroSized", - "ty": 25 + "ty": 23 }, - "span": 55, + "span": 49, "user_ty": null } }, "target": null, "unwind": "Continue" } - }, - "span": 55 + } } } ], "locals": [ { "mutability": "Mut", - "span": 56, "ty": 1 }, { "mutability": "Not", - "span": 57, - "ty": 16 + "ty": 15 }, { "mutability": "Not", - "span": 58, - "ty": 27 + "ty": 25 }, { "mutability": "Not", - "span": 59, - "ty": 16 + "ty": 15 }, { "mutability": "Mut", - "span": 55, - "ty": 28 + "ty": 26 } ], - "span": 60, + "span": 54, "spread_arg": null, "var_debug_info": [ { @@ -1653,7 +1394,7 @@ "name": "a", "source_info": { "scope": 1, - "span": 57 + "span": 51 }, "value": { "Place": { @@ -1668,7 +1409,7 @@ "name": "b", "source_info": { "scope": 2, - "span": 58 + "span": 52 }, "value": { "Place": { @@ -1683,7 +1424,7 @@ "name": "c", "source_info": { "scope": 3, - "span": 59 + "span": 53 }, "value": { "Place": { @@ -1694,7 +1435,7 @@ } ] }, - "id": 6, + "id": 5, "name": "main" } }, @@ -1728,23 +1469,6 @@ } } ], - [ - { - "EnumType": { - "discriminants": [ - [ - 0, - 0 - ], - [ - 1, - 1 - ] - ], - "name": "std::result::Result" - } - } - ], [ { "StructType": { @@ -1765,7 +1489,7 @@ { "StructType": { "fields": "elided", - "name": "std::sys::pal::unix::process::process_common::ExitCode" + "name": "std::sys::process::unix::common::ExitCode" } } ], @@ -1816,11 +1540,6 @@ "RefType": "elided" } ], - [ - { - "RefType": "elided" - } - ], [ { "RefType": "elided" diff --git a/tests/integration/programs/shl_min.smir.json.expected b/tests/integration/programs/shl_min.smir.json.expected index 2e379322..787d54ff 100644 --- a/tests/integration/programs/shl_min.smir.json.expected +++ b/tests/integration/programs/shl_min.smir.json.expected @@ -367,26 +367,18 @@ { "kind": { "StorageLive": 5 - }, - "span": 1 - }, - { - "kind": { - "StorageLive": 6 - }, - "span": 2 + } }, { "kind": { - "StorageLive": 8 - }, - "span": 3 + "StorageLive": 7 + } }, { "kind": { "Assign": [ { - "local": 8, + "local": 7, "projection": [] }, { @@ -421,14 +413,13 @@ ] } ] - }, - "span": 3 + } }, { "kind": { "Assign": [ { - "local": 7, + "local": 6, "projection": [] }, { @@ -438,20 +429,19 @@ }, "Shared", { - "local": 8, + "local": 7, "projection": [] } ] } ] - }, - "span": 2 + } }, { "kind": { "Assign": [ { - "local": 6, + "local": 5, "projection": [] }, { @@ -461,7 +451,7 @@ }, { "Copy": { - "local": 7, + "local": 6, "projection": [] } }, @@ -469,8 +459,7 @@ ] } ] - }, - "span": 2 + } } ], "terminator": { @@ -479,7 +468,7 @@ "args": [ { "Move": { - "local": 6, + "local": 5, "projection": [] } }, @@ -503,7 +492,7 @@ } ], "destination": { - "local": 5, + "local": 0, "projection": [] }, "func": { @@ -520,114 +509,62 @@ "target": 1, "unwind": "Continue" } - }, - "span": 1 + } } }, { "statements": [ { "kind": { - "StorageDead": 6 - }, - "span": 5 - }, - { - "kind": { - "Assign": [ - { - "local": 0, - "projection": [] - }, - { - "Use": { - "Copy": { - "local": 5, - "projection": [ - { - "Downcast": 0 - }, - { - "Field": [ - 0, - 6 - ] - } - ] - } - } - } - ] - }, - "span": 6 - }, - { - "kind": { - "StorageDead": 8 - }, - "span": 7 + "StorageDead": 7 + } }, { "kind": { "StorageDead": 5 - }, - "span": 7 + } } ], "terminator": { - "kind": "Return", - "span": 4 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 8, "ty": 6 }, { "mutability": "Not", - "span": 9, "ty": 7 }, { "mutability": "Not", - "span": 10, "ty": 6 }, { "mutability": "Not", - "span": 11, "ty": 8 }, { "mutability": "Not", - "span": 12, "ty": 9 }, { "mutability": "Mut", - "span": 1, - "ty": 10 - }, - { - "mutability": "Mut", - "span": 2, "ty": 5 }, { "mutability": "Not", - "span": 2, - "ty": 11 + "ty": 10 }, { "mutability": "Not", - "span": 3, - "ty": 12 + "ty": 11 } ], - "span": 13, + "span": 11, "spread_arg": null, "var_debug_info": [ { @@ -636,7 +573,7 @@ "name": "main", "source_info": { "scope": 0, - "span": 9 + "span": 7 }, "value": { "Place": { @@ -651,7 +588,7 @@ "name": "argc", "source_info": { "scope": 0, - "span": 10 + "span": 8 }, "value": { "Place": { @@ -666,7 +603,7 @@ "name": "argv", "source_info": { "scope": 0, - "span": 11 + "span": 9 }, "value": { "Place": { @@ -681,7 +618,7 @@ "name": "sigpipe", "source_info": { "scope": 0, - "span": 12 + "span": 10 }, "value": { "Place": { @@ -689,21 +626,6 @@ "projection": [] } } - }, - { - "argument_index": null, - "composite": null, - "name": "v", - "source_info": { - "scope": 1, - "span": 6 - }, - "value": { - "Place": { - "local": 0, - "projection": [] - } - } } ] }, @@ -725,20 +647,17 @@ { "kind": { "StorageLive": 2 - }, - "span": 16 + } }, { "kind": { "StorageLive": 3 - }, - "span": 15 + } }, { "kind": { "StorageLive": 4 - }, - "span": 17 + } }, { "kind": { @@ -764,8 +683,7 @@ } } ] - }, - "span": 17 + } } ], "terminator": { @@ -788,17 +706,16 @@ "const_": { "id": 1, "kind": "ZeroSized", - "ty": 13 + "ty": 12 }, - "span": 14, + "span": 12, "user_ty": null } }, "target": 1, "unwind": "Continue" } - }, - "span": 15 + } } }, { @@ -806,8 +723,7 @@ { "kind": { "StorageDead": 4 - }, - "span": 19 + } } ], "terminator": { @@ -830,17 +746,16 @@ "const_": { "id": 2, "kind": "ZeroSized", - "ty": 14 + "ty": 13 }, - "span": 18, + "span": 16, "user_ty": null } }, "target": 2, "unwind": "Continue" } - }, - "span": 16 + } } }, { @@ -848,14 +763,12 @@ { "kind": { "StorageDead": 3 - }, - "span": 21 + } }, { "kind": { "StorageLive": 5 - }, - "span": 22 + } }, { "kind": { @@ -864,42 +777,6 @@ "local": 5, "projection": [] }, - { - "Ref": [ - { - "kind": "ReErased" - }, - "Shared", - { - "local": 2, - "projection": [ - { - "Field": [ - 0, - 15 - ] - } - ] - } - ] - } - ] - }, - "span": 22 - }, - { - "kind": { - "StorageLive": 6 - }, - "span": 23 - }, - { - "kind": { - "Assign": [ - { - "local": 6, - "projection": [] - }, { "Use": { "Copy": { @@ -908,7 +785,7 @@ { "Field": [ 0, - 15 + 14 ] }, { @@ -922,8 +799,7 @@ } } ] - }, - "span": 23 + } }, { "kind": { @@ -937,76 +813,55 @@ "IntToInt", { "Move": { - "local": 6, + "local": 5, "projection": [] } }, - 16 + 15 ] } ] - }, - "span": 24 - }, - { - "kind": { - "StorageDead": 6 - }, - "span": 25 + } }, { "kind": { "StorageDead": 5 - }, - "span": 26 + } }, { "kind": { "StorageDead": 2 - }, - "span": 27 + } } ], "terminator": { - "kind": "Return", - "span": 20 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 28, - "ty": 16 + "ty": 15 }, { "mutability": "Mut", - "span": 3, - "ty": 11 + "ty": 10 }, { "mutability": "Mut", - "span": 16, - "ty": 17 + "ty": 16 }, { "mutability": "Mut", - "span": 15, "ty": 1 }, { "mutability": "Mut", - "span": 17, "ty": 7 }, { "mutability": "Mut", - "span": 22, - "ty": 18 - }, - { - "mutability": "Mut", - "span": 23, "ty": 9 } ], @@ -1019,7 +874,7 @@ "name": "main", "source_info": { "scope": 0, - "span": 9 + "span": 7 }, "value": { "Place": { @@ -1042,7 +897,7 @@ "name": "self", "source_info": { "scope": 1, - "span": 29 + "span": 25 }, "value": { "Place": { @@ -1050,21 +905,6 @@ "projection": [] } } - }, - { - "argument_index": 1, - "composite": null, - "name": "self", - "source_info": { - "scope": 2, - "span": 30 - }, - "value": { - "Place": { - "local": 5, - "projection": [] - } - } } ] }, @@ -1100,7 +940,7 @@ "kind": "ZeroSized", "ty": 1 }, - "span": 32, + "span": 27, "user_ty": null } } @@ -1114,17 +954,16 @@ "const_": { "id": 3, "kind": "ZeroSized", - "ty": 19 + "ty": 17 }, - "span": 31, + "span": 26, "user_ty": null } }, "target": 1, "unwind": "Continue" } - }, - "span": 33 + } } }, { @@ -1140,7 +979,7 @@ "kind": "ZeroSized", "ty": 1 }, - "span": 32, + "span": 27, "user_ty": null } } @@ -1154,45 +993,40 @@ "const_": { "id": 5, "kind": "ZeroSized", - "ty": 20 + "ty": 18 }, - "span": 34, + "span": 29, "user_ty": null } }, "target": 2, "unwind": "Unreachable" } - }, - "span": 35 + } } }, { "statements": [], "terminator": { - "kind": "Return", - "span": 36 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 37, "ty": 1 }, { "mutability": "Not", - "span": 38, "ty": 7 }, { "mutability": "Not", - "span": 39, "ty": 1 } ], - "span": 42, + "span": 37, "spread_arg": null, "var_debug_info": [ { @@ -1201,7 +1035,7 @@ "name": "f", "source_info": { "scope": 0, - "span": 38 + "span": 33 }, "value": { "Place": { @@ -1216,7 +1050,7 @@ "name": "result", "source_info": { "scope": 1, - "span": 40 + "span": 35 }, "value": { "Place": { @@ -1231,7 +1065,7 @@ "name": "dummy", "source_info": { "scope": 2, - "span": 41 + "span": 36 }, "value": { "Const": { @@ -1240,7 +1074,7 @@ "kind": "ZeroSized", "ty": 1 }, - "span": 32, + "span": 27, "user_ty": null } } @@ -1290,45 +1124,40 @@ "const_": { "id": 6, "kind": "ZeroSized", - "ty": 21 + "ty": 19 }, - "span": 43, + "span": 38, "user_ty": null } }, "target": 1, "unwind": "Continue" } - }, - "span": 43 + } } }, { "statements": [], "terminator": { - "kind": "Return", - "span": 43 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 43, - "ty": 16 + "ty": 15 }, { "mutability": "Not", - "span": 43, - "ty": 22 + "ty": 20 }, { "mutability": "Not", - "span": 43, "ty": 1 } ], - "span": 43, + "span": 38, "spread_arg": 2, "var_debug_info": [] }, @@ -1371,8 +1200,7 @@ ] } ] - }, - "span": 43 + } } ], "terminator": { @@ -1401,9 +1229,9 @@ "const_": { "id": 7, "kind": "ZeroSized", - "ty": 23 + "ty": 21 }, - "span": 43, + "span": 38, "user_ty": null } }, @@ -1412,8 +1240,7 @@ "Cleanup": 3 } } - }, - "span": 43 + } } }, { @@ -1428,15 +1255,13 @@ "target": 2, "unwind": "Continue" } - }, - "span": 43 + } } }, { "statements": [], "terminator": { - "kind": "Return", - "span": 43 + "kind": "Return" } }, { @@ -1451,41 +1276,35 @@ "target": 4, "unwind": "Terminate" } - }, - "span": 43 + } } }, { "statements": [], "terminator": { - "kind": "Resume", - "span": 43 + "kind": "Resume" } } ], "locals": [ { "mutability": "Mut", - "span": 43, - "ty": 16 + "ty": 15 }, { "mutability": "Not", - "span": 43, - "ty": 12 + "ty": 11 }, { "mutability": "Not", - "span": 43, "ty": 1 }, { "mutability": "Not", - "span": 43, - "ty": 24 + "ty": 22 } ], - "span": 43, + "span": 38, "spread_arg": 2, "var_debug_info": [] }, @@ -1521,36 +1340,31 @@ "target": 1, "unwind": "Continue" } - }, - "span": 43 + } } }, { "statements": [], "terminator": { - "kind": "Return", - "span": 43 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 43, "ty": 1 }, { "mutability": "Not", - "span": 43, "ty": 7 }, { "mutability": "Not", - "span": 43, "ty": 1 } ], - "span": 43, + "span": 38, "spread_arg": 2, "var_debug_info": [] }, @@ -1560,43 +1374,6 @@ }, "symbol_name": "_ZN4core3ops8function6FnOnce9call_once17h" }, - { - "details": null, - "mono_item_kind": { - "MonoItemFn": { - "body": { - "arg_count": 1, - "blocks": [ - { - "statements": [], - "terminator": { - "kind": "Return", - "span": 44 - } - } - ], - "locals": [ - { - "mutability": "Mut", - "span": 44, - "ty": 1 - }, - { - "mutability": "Not", - "span": 44, - "ty": 22 - } - ], - "span": 44, - "spread_arg": null, - "var_debug_info": [] - }, - "id": 4, - "name": "std::ptr::drop_in_place::<{closure@std::rt::lang_start<()>::{closure#0}}>" - } - }, - "symbol_name": "_ZN4core3ptr85drop_in_place$LT$std..rt..lang_start$LT$$LP$$RP$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$17h" - }, { "details": null, "mono_item_kind": { @@ -1630,62 +1407,37 @@ } } }, - "ty": 17 + "ty": 16 }, - "span": 46, + "span": 27, "user_ty": null } } } ] - }, - "span": 46 + } } ], "terminator": { - "kind": "Return", - "span": 45 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 47, - "ty": 17 + "ty": 16 }, { "mutability": "Not", - "span": 48, "ty": 1 } ], - "span": 49, + "span": 43, "spread_arg": null, - "var_debug_info": [ - { - "argument_index": 1, - "composite": null, - "name": "self", - "source_info": { - "scope": 0, - "span": 48 - }, - "value": { - "Const": { - "const_": { - "id": 4, - "kind": "ZeroSized", - "ty": 1 - }, - "span": 32, - "user_ty": null - } - } - } - ] + "var_debug_info": [] }, - "id": 5, + "id": 4, "name": "<() as std::process::Termination>::report" } }, @@ -1729,18 +1481,17 @@ } } }, - "ty": 16 + "ty": 15 }, - "span": 51, + "span": 45, "user_ty": null } }, - 25 + 23 ] } ] - }, - "span": 52 + } }, { "kind": { @@ -1777,17 +1528,16 @@ } } }, - "ty": 25 + "ty": 23 }, - "span": 52, + "span": 46, "user_ty": null } } ] } ] - }, - "span": 52 + } } ], "terminator": { @@ -1821,7 +1571,7 @@ }, "ty": 2 }, - "span": 50, + "span": 44, "user_ty": null } }, @@ -1844,9 +1594,9 @@ } } }, - "ty": 16 + "ty": 15 }, - "span": 51, + "span": 45, "user_ty": null } } @@ -1855,8 +1605,7 @@ "target": 1, "unwind": "Continue" } - }, - "span": 52 + } } }, { @@ -1889,7 +1638,7 @@ }, "ty": 2 }, - "span": 50, + "span": 44, "user_ty": null } }, @@ -1912,17 +1661,16 @@ } } }, - "ty": 16 + "ty": 15 }, - "span": 51, + "span": 45, "user_ty": null } } ] } ] - }, - "span": 52 + } } ], "terminator": { @@ -1944,8 +1692,7 @@ "otherwise": 3 } } - }, - "span": 53 + } } }, { @@ -1979,18 +1726,17 @@ } } }, - "ty": 16 + "ty": 15 }, - "span": 55, + "span": 49, "user_ty": null } }, - 25 + 23 ] } ] - }, - "span": 56 + } }, { "kind": { @@ -2027,17 +1773,16 @@ } } }, - "ty": 25 + "ty": 23 }, - "span": 56, + "span": 50, "user_ty": null } } ] } ] - }, - "span": 56 + } } ], "terminator": { @@ -2070,9 +1815,9 @@ } } }, - "ty": 26 + "ty": 24 }, - "span": 54, + "span": 48, "user_ty": null } }, @@ -2095,9 +1840,9 @@ } } }, - "ty": 16 + "ty": 15 }, - "span": 55, + "span": 49, "user_ty": null } } @@ -2106,8 +1851,7 @@ "target": 4, "unwind": "Continue" } - }, - "span": 56 + } } }, { @@ -2152,9 +1896,9 @@ } } }, - "ty": 28 + "ty": 26 }, - "span": 32, + "span": 27, "user_ty": null } } @@ -2168,17 +1912,16 @@ "const_": { "id": 14, "kind": "ZeroSized", - "ty": 27 + "ty": 25 }, - "span": 57, + "span": 51, "user_ty": null } }, "target": null, "unwind": "Continue" } - }, - "span": 57 + } } }, { @@ -2210,9 +1953,9 @@ } } }, - "ty": 26 + "ty": 24 }, - "span": 54, + "span": 48, "user_ty": null } }, @@ -2235,17 +1978,16 @@ } } }, - "ty": 16 + "ty": 15 }, - "span": 55, + "span": 49, "user_ty": null } } ] } ] - }, - "span": 56 + } } ], "terminator": { @@ -2267,8 +2009,7 @@ "otherwise": 6 } } - }, - "span": 58 + } } }, { @@ -2302,18 +2043,17 @@ } } }, - "ty": 16 + "ty": 15 }, - "span": 60, + "span": 54, "user_ty": null } }, - 25 + 23 ] } ] - }, - "span": 61 + } }, { "kind": { @@ -2350,17 +2090,16 @@ } } }, - "ty": 25 + "ty": 23 }, - "span": 61, + "span": 55, "user_ty": null } } ] } ] - }, - "span": 61 + } } ], "terminator": { @@ -2395,9 +2134,9 @@ } } }, - "ty": 16 + "ty": 15 }, - "span": 59, + "span": 53, "user_ty": null } }, @@ -2420,9 +2159,9 @@ } } }, - "ty": 16 + "ty": 15 }, - "span": 60, + "span": 54, "user_ty": null } } @@ -2431,8 +2170,7 @@ "target": 7, "unwind": "Continue" } - }, - "span": 61 + } } }, { @@ -2477,9 +2215,9 @@ } } }, - "ty": 28 + "ty": 26 }, - "span": 32, + "span": 27, "user_ty": null } } @@ -2493,17 +2231,16 @@ "const_": { "id": 14, "kind": "ZeroSized", - "ty": 27 + "ty": 25 }, - "span": 62, + "span": 56, "user_ty": null } }, "target": null, "unwind": "Continue" } - }, - "span": 62 + } } }, { @@ -2537,9 +2274,9 @@ } } }, - "ty": 16 + "ty": 15 }, - "span": 59, + "span": 53, "user_ty": null } }, @@ -2562,17 +2299,16 @@ } } }, - "ty": 16 + "ty": 15 }, - "span": 60, + "span": 54, "user_ty": null } } ] } ] - }, - "span": 61 + } } ], "terminator": { @@ -2594,8 +2330,7 @@ "otherwise": 9 } } - }, - "span": 63 + } } }, { @@ -2629,18 +2364,17 @@ } } }, - "ty": 16 + "ty": 15 }, - "span": 65, + "span": 59, "user_ty": null } }, - 25 + 23 ] } ] - }, - "span": 66 + } }, { "kind": { @@ -2677,17 +2411,16 @@ } } }, - "ty": 25 + "ty": 23 }, - "span": 66, + "span": 60, "user_ty": null } } ] } ] - }, - "span": 66 + } } ], "terminator": { @@ -2726,9 +2459,9 @@ } } }, - "ty": 29 + "ty": 27 }, - "span": 64, + "span": 58, "user_ty": null } }, @@ -2751,9 +2484,9 @@ } } }, - "ty": 16 + "ty": 15 }, - "span": 65, + "span": 59, "user_ty": null } } @@ -2762,8 +2495,7 @@ "target": 10, "unwind": "Continue" } - }, - "span": 66 + } } }, { @@ -2808,9 +2540,9 @@ } } }, - "ty": 28 + "ty": 26 }, - "span": 32, + "span": 27, "user_ty": null } } @@ -2824,17 +2556,16 @@ "const_": { "id": 14, "kind": "ZeroSized", - "ty": 27 + "ty": 25 }, - "span": 67, + "span": 61, "user_ty": null } }, "target": null, "unwind": "Continue" } - }, - "span": 67 + } } }, { @@ -2872,9 +2603,9 @@ } } }, - "ty": 29 + "ty": 27 }, - "span": 64, + "span": 58, "user_ty": null } }, @@ -2897,17 +2628,16 @@ } } }, - "ty": 16 + "ty": 15 }, - "span": 65, + "span": 59, "user_ty": null } } ] } ] - }, - "span": 66 + } } ], "terminator": { @@ -2929,8 +2659,7 @@ "otherwise": 12 } } - }, - "span": 68 + } } }, { @@ -2964,18 +2693,17 @@ } } }, - "ty": 16 + "ty": 15 }, - "span": 70, + "span": 64, "user_ty": null } }, - 25 + 23 ] } ] - }, - "span": 71 + } }, { "kind": { @@ -3012,17 +2740,16 @@ } } }, - "ty": 25 + "ty": 23 }, - "span": 71, + "span": 65, "user_ty": null } } ] } ] - }, - "span": 71 + } } ], "terminator": { @@ -3069,9 +2796,9 @@ } } }, - "ty": 30 + "ty": 28 }, - "span": 69, + "span": 63, "user_ty": null } }, @@ -3094,9 +2821,9 @@ } } }, - "ty": 16 + "ty": 15 }, - "span": 70, + "span": 64, "user_ty": null } } @@ -3105,8 +2832,7 @@ "target": 13, "unwind": "Continue" } - }, - "span": 71 + } } }, { @@ -3151,9 +2877,9 @@ } } }, - "ty": 28 + "ty": 26 }, - "span": 32, + "span": 27, "user_ty": null } } @@ -3167,17 +2893,16 @@ "const_": { "id": 14, "kind": "ZeroSized", - "ty": 27 + "ty": 25 }, - "span": 72, + "span": 66, "user_ty": null } }, "target": null, "unwind": "Continue" } - }, - "span": 72 + } } }, { @@ -3223,9 +2948,9 @@ } } }, - "ty": 30 + "ty": 28 }, - "span": 69, + "span": 63, "user_ty": null } }, @@ -3248,17 +2973,16 @@ } } }, - "ty": 16 + "ty": 15 }, - "span": 70, + "span": 64, "user_ty": null } } ] } ] - }, - "span": 71 + } } ], "terminator": { @@ -3280,15 +3004,13 @@ "otherwise": 15 } } - }, - "span": 73 + } } }, { "statements": [], "terminator": { - "kind": "Return", - "span": 74 + "kind": "Return" } }, { @@ -3333,9 +3055,9 @@ } } }, - "ty": 28 + "ty": 26 }, - "span": 32, + "span": 27, "user_ty": null } } @@ -3349,132 +3071,110 @@ "const_": { "id": 14, "kind": "ZeroSized", - "ty": 27 + "ty": 25 }, - "span": 75, + "span": 69, "user_ty": null } }, "target": null, "unwind": "Continue" } - }, - "span": 75 + } } } ], "locals": [ { "mutability": "Mut", - "span": 76, "ty": 1 }, { "mutability": "Mut", - "span": 52, "ty": 2 }, { "mutability": "Mut", - "span": 52, - "ty": 25 + "ty": 23 }, { "mutability": "Mut", - "span": 52, - "ty": 31 + "ty": 29 }, { "mutability": "Mut", - "span": 57, - "ty": 32 + "ty": 30 }, { "mutability": "Mut", - "span": 56, - "ty": 26 + "ty": 24 }, { "mutability": "Mut", - "span": 56, - "ty": 25 + "ty": 23 }, { "mutability": "Mut", - "span": 56, - "ty": 31 + "ty": 29 }, { "mutability": "Mut", - "span": 62, - "ty": 32 + "ty": 30 }, { "mutability": "Mut", - "span": 61, - "ty": 16 + "ty": 15 }, { "mutability": "Mut", - "span": 61, - "ty": 25 + "ty": 23 }, { "mutability": "Mut", - "span": 61, - "ty": 31 + "ty": 29 }, { "mutability": "Mut", - "span": 67, - "ty": 32 + "ty": 30 }, { "mutability": "Mut", - "span": 66, - "ty": 29 + "ty": 27 }, { "mutability": "Mut", - "span": 66, - "ty": 25 + "ty": 23 }, { "mutability": "Mut", - "span": 66, - "ty": 31 + "ty": 29 }, { "mutability": "Mut", - "span": 72, - "ty": 32 + "ty": 30 }, { "mutability": "Mut", - "span": 71, - "ty": 30 + "ty": 28 }, { "mutability": "Mut", - "span": 71, - "ty": 25 + "ty": 23 }, { "mutability": "Mut", - "span": 71, - "ty": 31 + "ty": 29 }, { "mutability": "Mut", - "span": 75, - "ty": 32 + "ty": 30 } ], - "span": 77, + "span": 71, "spread_arg": null, "var_debug_info": [] }, - "id": 6, + "id": 5, "name": "main" } }, @@ -3548,23 +3248,6 @@ } } ], - [ - { - "EnumType": { - "discriminants": [ - [ - 0, - 0 - ], - [ - 1, - 1 - ] - ], - "name": "std::result::Result" - } - } - ], [ { "StructType": { @@ -3585,7 +3268,7 @@ { "StructType": { "fields": "elided", - "name": "std::sys::pal::unix::process::process_common::ExitCode" + "name": "std::sys::process::unix::common::ExitCode" } } ], @@ -3631,11 +3314,6 @@ "RefType": "elided" } ], - [ - { - "RefType": "elided" - } - ], [ { "RefType": "elided" diff --git a/tests/integration/programs/slice.smir.json.expected b/tests/integration/programs/slice.smir.json.expected index 052ee0ea..d131894a 100644 --- a/tests/integration/programs/slice.smir.json.expected +++ b/tests/integration/programs/slice.smir.json.expected @@ -169,8 +169,7 @@ { "kind": { "StorageLive": 5 - }, - "span": 1 + } }, { "kind": { @@ -195,8 +194,7 @@ } } ] - }, - "span": 2 + } }, { "kind": { @@ -221,14 +219,12 @@ } } ] - }, - "span": 3 + } }, { "kind": { "StorageLive": 13 - }, - "span": 0 + } }, { "kind": { @@ -255,8 +251,7 @@ ] } ] - }, - "span": 0 + } } ], "terminator": { @@ -278,8 +273,7 @@ "otherwise": 3 } } - }, - "span": 0 + } } }, { @@ -319,8 +313,7 @@ "target": null, "unwind": "Continue" } - }, - "span": 5 + } } }, { @@ -328,20 +321,17 @@ { "kind": { "StorageDead": 8 - }, - "span": 7 + } }, { "kind": { "StorageLive": 11 - }, - "span": 8 + } }, { "kind": { "StorageLive": 12 - }, - "span": 9 + } }, { "kind": { @@ -352,7 +342,7 @@ }, { "AddressOf": [ - "Not", + "Const", { "local": 2, "projection": [ @@ -362,26 +352,23 @@ ] } ] - }, - "span": 9 + } }, { "kind": { "StorageLive": 15 - }, - "span": 8 + } }, { "kind": { "StorageLive": 16 - }, - "span": 10 + } }, { "kind": { "Assign": [ { - "local": 16, + "local": 15, "projection": [] }, { @@ -397,14 +384,13 @@ ] } ] - }, - "span": 11 + } }, { "kind": { "Assign": [ { - "local": 15, + "local": 16, "projection": [] }, { @@ -412,7 +398,7 @@ "Offset", { "Copy": { - "local": 16, + "local": 15, "projection": [] } }, @@ -425,14 +411,7 @@ ] } ] - }, - "span": 12 - }, - { - "kind": { - "StorageDead": 16 - }, - "span": 10 + } }, { "kind": { @@ -452,7 +431,7 @@ [ { "Copy": { - "local": 15, + "local": 16, "projection": [] } }, @@ -466,20 +445,22 @@ ] } ] - }, - "span": 13 + } + }, + { + "kind": { + "StorageDead": 16 + } }, { "kind": { "StorageDead": 15 - }, - "span": 8 + } }, { "kind": { "StorageDead": 12 - }, - "span": 14 + } }, { "kind": { @@ -503,19 +484,16 @@ ] } ] - }, - "span": 15 + } }, { "kind": { "StorageDead": 11 - }, - "span": 16 + } } ], "terminator": { - "kind": "Return", - "span": 6 + "kind": "Return" } }, { @@ -523,14 +501,12 @@ { "kind": { "StorageDead": 13 - }, - "span": 19 + } }, { "kind": { "StorageDead": 5 - }, - "span": 20 + } } ], "terminator": { @@ -561,15 +537,14 @@ "kind": "ZeroSized", "ty": 4 }, - "span": 17, + "span": 15, "user_ty": null } }, "target": null, "unwind": "Continue" } - }, - "span": 18 + } } }, { @@ -577,8 +552,7 @@ { "kind": { "StorageLive": 14 - }, - "span": 22 + } }, { "kind": { @@ -605,8 +579,7 @@ ] } ] - }, - "span": 23 + } }, { "kind": { @@ -641,20 +614,17 @@ ] } ] - }, - "span": 24 + } }, { "kind": { "StorageDead": 14 - }, - "span": 25 + } }, { "kind": { "StorageDead": 13 - }, - "span": 19 + } }, { "kind": { @@ -682,20 +652,17 @@ } } ] - }, - "span": 26 + } }, { "kind": { "StorageDead": 5 - }, - "span": 20 + } }, { "kind": { "StorageLive": 8 - }, - "span": 21 + } }, { "kind": { @@ -716,8 +683,7 @@ ] } ] - }, - "span": 27 + } }, { "kind": { @@ -744,8 +710,7 @@ ] } ] - }, - "span": 21 + } } ], "terminator": { @@ -767,99 +732,81 @@ "otherwise": 1 } } - }, - "span": 21 + } } } ], "locals": [ { "mutability": "Mut", - "span": 28, "ty": 5 }, { "mutability": "Not", - "span": 29, "ty": 6 }, { "mutability": "Not", - "span": 30, "ty": 5 }, { "mutability": "Mut", - "span": 31, "ty": 7 }, { "mutability": "Not", - "span": 26, "ty": 0 }, { "mutability": "Mut", - "span": 1, "ty": 8 }, { "mutability": "Mut", - "span": 2, "ty": 0 }, { "mutability": "Mut", - "span": 3, "ty": 0 }, { "mutability": "Mut", - "span": 21, "ty": 9 }, { "mutability": "Mut", - "span": 27, "ty": 0 }, { "mutability": "Not", - "span": 5, "ty": 7 }, { "mutability": "Not", - "span": 8, "ty": 10 }, { "mutability": "Mut", - "span": 9, "ty": 10 }, { "mutability": "Mut", - "span": 0, "ty": 9 }, { "mutability": "Mut", - "span": 22, "ty": 0 }, { "mutability": "Not", - "span": 32, "ty": 2 }, { "mutability": "Not", - "span": 33, "ty": 2 } ], - "span": 41, + "span": 37, "spread_arg": null, "var_debug_info": [ { @@ -868,7 +815,7 @@ "name": "self", "source_info": { "scope": 0, - "span": 29 + "span": 27 }, "value": { "Place": { @@ -883,7 +830,7 @@ "name": "slice", "source_info": { "scope": 0, - "span": 30 + "span": 28 }, "value": { "Place": { @@ -898,7 +845,7 @@ "name": "new_len", "source_info": { "scope": 1, - "span": 26 + "span": 24 }, "value": { "Place": { @@ -913,7 +860,7 @@ "name": "self", "source_info": { "scope": 2, - "span": 34 + "span": 32 }, "value": { "Place": { @@ -928,7 +875,7 @@ "name": "rhs", "source_info": { "scope": 2, - "span": 35 + "span": 33 }, "value": { "Place": { @@ -943,7 +890,7 @@ "name": "ptr", "source_info": { "scope": 3, - "span": 36 + "span": 34 }, "value": { "Place": { @@ -958,7 +905,7 @@ "name": "offset", "source_info": { "scope": 3, - "span": 37 + "span": 35 }, "value": { "Place": { @@ -973,7 +920,7 @@ "name": "len", "source_info": { "scope": 3, - "span": 38 + "span": 36 }, "value": { "Place": { @@ -981,66 +928,6 @@ "projection": [] } } - }, - { - "argument_index": null, - "composite": null, - "name": "ptr", - "source_info": { - "scope": 4, - "span": 32 - }, - "value": { - "Place": { - "local": 15, - "projection": [] - } - } - }, - { - "argument_index": 1, - "composite": null, - "name": "ptr", - "source_info": { - "scope": 5, - "span": 39 - }, - "value": { - "Place": { - "local": 2, - "projection": [] - } - } - }, - { - "argument_index": 2, - "composite": null, - "name": "index", - "source_info": { - "scope": 5, - "span": 40 - }, - "value": { - "Place": { - "local": 7, - "projection": [] - } - } - }, - { - "argument_index": null, - "composite": null, - "name": "ptr", - "source_info": { - "scope": 6, - "span": 33 - }, - "value": { - "Place": { - "local": 16, - "projection": [] - } - } } ] }, @@ -1062,26 +949,18 @@ { "kind": { "StorageLive": 5 - }, - "span": 43 - }, - { - "kind": { - "StorageLive": 6 - }, - "span": 44 + } }, { "kind": { - "StorageLive": 8 - }, - "span": 45 + "StorageLive": 7 + } }, { "kind": { "Assign": [ { - "local": 8, + "local": 7, "projection": [] }, { @@ -1116,14 +995,13 @@ ] } ] - }, - "span": 45 + } }, { "kind": { "Assign": [ { - "local": 7, + "local": 6, "projection": [] }, { @@ -1133,20 +1011,19 @@ }, "Shared", { - "local": 8, + "local": 7, "projection": [] } ] } ] - }, - "span": 44 + } }, { "kind": { "Assign": [ { - "local": 6, + "local": 5, "projection": [] }, { @@ -1156,7 +1033,7 @@ }, { "Copy": { - "local": 7, + "local": 6, "projection": [] } }, @@ -1164,8 +1041,7 @@ ] } ] - }, - "span": 44 + } } ], "terminator": { @@ -1174,7 +1050,7 @@ "args": [ { "Move": { - "local": 6, + "local": 5, "projection": [] } }, @@ -1198,7 +1074,7 @@ } ], "destination": { - "local": 5, + "local": 0, "projection": [] }, "func": { @@ -1208,121 +1084,69 @@ "kind": "ZeroSized", "ty": 11 }, - "span": 42, + "span": 38, "user_ty": null } }, "target": 1, "unwind": "Continue" } - }, - "span": 43 + } } }, { "statements": [ { "kind": { - "StorageDead": 6 - }, - "span": 47 - }, - { - "kind": { - "Assign": [ - { - "local": 0, - "projection": [] - }, - { - "Use": { - "Copy": { - "local": 5, - "projection": [ - { - "Downcast": 0 - }, - { - "Field": [ - 0, - 17 - ] - } - ] - } - } - } - ] - }, - "span": 48 - }, - { - "kind": { - "StorageDead": 8 - }, - "span": 49 + "StorageDead": 7 + } }, { "kind": { "StorageDead": 5 - }, - "span": 49 + } } ], "terminator": { - "kind": "Return", - "span": 46 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 50, "ty": 17 }, { "mutability": "Not", - "span": 51, "ty": 18 }, { "mutability": "Not", - "span": 52, "ty": 17 }, { "mutability": "Not", - "span": 53, "ty": 19 }, { "mutability": "Not", - "span": 54, "ty": 20 }, { "mutability": "Mut", - "span": 43, - "ty": 21 - }, - { - "mutability": "Mut", - "span": 44, "ty": 16 }, { "mutability": "Not", - "span": 44, - "ty": 22 + "ty": 21 }, { "mutability": "Not", - "span": 45, - "ty": 23 + "ty": 22 } ], - "span": 55, + "span": 49, "spread_arg": null, "var_debug_info": [ { @@ -1331,7 +1155,7 @@ "name": "main", "source_info": { "scope": 0, - "span": 51 + "span": 45 }, "value": { "Place": { @@ -1346,7 +1170,7 @@ "name": "argc", "source_info": { "scope": 0, - "span": 52 + "span": 46 }, "value": { "Place": { @@ -1361,7 +1185,7 @@ "name": "argv", "source_info": { "scope": 0, - "span": 53 + "span": 47 }, "value": { "Place": { @@ -1376,26 +1200,11 @@ "name": "sigpipe", "source_info": { "scope": 0, - "span": 54 - }, - "value": { - "Place": { - "local": 4, - "projection": [] - } - } - }, - { - "argument_index": null, - "composite": null, - "name": "v", - "source_info": { - "scope": 1, "span": 48 }, "value": { "Place": { - "local": 0, + "local": 4, "projection": [] } } @@ -1420,20 +1229,17 @@ { "kind": { "StorageLive": 2 - }, - "span": 58 + } }, { "kind": { "StorageLive": 3 - }, - "span": 57 + } }, { "kind": { "StorageLive": 4 - }, - "span": 59 + } }, { "kind": { @@ -1459,8 +1265,7 @@ } } ] - }, - "span": 59 + } } ], "terminator": { @@ -1483,17 +1288,16 @@ "const_": { "id": 3, "kind": "ZeroSized", - "ty": 24 + "ty": 23 }, - "span": 56, + "span": 50, "user_ty": null } }, "target": 1, "unwind": "Continue" } - }, - "span": 57 + } } }, { @@ -1501,8 +1305,7 @@ { "kind": { "StorageDead": 4 - }, - "span": 61 + } } ], "terminator": { @@ -1525,17 +1328,16 @@ "const_": { "id": 4, "kind": "ZeroSized", - "ty": 25 + "ty": 24 }, - "span": 60, + "span": 54, "user_ty": null } }, "target": 2, "unwind": "Continue" } - }, - "span": 58 + } } }, { @@ -1543,14 +1345,12 @@ { "kind": { "StorageDead": 3 - }, - "span": 63 + } }, { "kind": { "StorageLive": 5 - }, - "span": 64 + } }, { "kind": { @@ -1559,42 +1359,6 @@ "local": 5, "projection": [] }, - { - "Ref": [ - { - "kind": "ReErased" - }, - "Shared", - { - "local": 2, - "projection": [ - { - "Field": [ - 0, - 26 - ] - } - ] - } - ] - } - ] - }, - "span": 64 - }, - { - "kind": { - "StorageLive": 6 - }, - "span": 65 - }, - { - "kind": { - "Assign": [ - { - "local": 6, - "projection": [] - }, { "Use": { "Copy": { @@ -1603,7 +1367,7 @@ { "Field": [ 0, - 26 + 25 ] }, { @@ -1617,8 +1381,7 @@ } } ] - }, - "span": 65 + } }, { "kind": { @@ -1632,80 +1395,59 @@ "IntToInt", { "Move": { - "local": 6, + "local": 5, "projection": [] } }, - 27 + 26 ] } ] - }, - "span": 66 - }, - { - "kind": { - "StorageDead": 6 - }, - "span": 67 + } }, { "kind": { "StorageDead": 5 - }, - "span": 68 + } }, { "kind": { "StorageDead": 2 - }, - "span": 69 + } } ], "terminator": { - "kind": "Return", - "span": 62 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 70, - "ty": 27 + "ty": 26 }, { "mutability": "Mut", - "span": 45, - "ty": 22 + "ty": 21 }, { "mutability": "Mut", - "span": 58, - "ty": 28 + "ty": 27 }, { "mutability": "Mut", - "span": 57, "ty": 12 }, { "mutability": "Mut", - "span": 59, "ty": 18 }, { "mutability": "Mut", - "span": 64, - "ty": 29 - }, - { - "mutability": "Mut", - "span": 65, "ty": 20 } ], - "span": 45, + "span": 41, "spread_arg": null, "var_debug_info": [ { @@ -1714,7 +1456,7 @@ "name": "main", "source_info": { "scope": 0, - "span": 51 + "span": 45 }, "value": { "Place": { @@ -1737,7 +1479,7 @@ "name": "self", "source_info": { "scope": 1, - "span": 71 + "span": 63 }, "value": { "Place": { @@ -1745,21 +1487,6 @@ "projection": [] } } - }, - { - "argument_index": 1, - "composite": null, - "name": "self", - "source_info": { - "scope": 2, - "span": 72 - }, - "value": { - "Place": { - "local": 5, - "projection": [] - } - } } ] }, @@ -1795,7 +1522,7 @@ "kind": "ZeroSized", "ty": 12 }, - "span": 74, + "span": 65, "user_ty": null } } @@ -1809,17 +1536,16 @@ "const_": { "id": 5, "kind": "ZeroSized", - "ty": 30 + "ty": 28 }, - "span": 73, + "span": 64, "user_ty": null } }, "target": 1, "unwind": "Continue" } - }, - "span": 75 + } } }, { @@ -1835,7 +1561,7 @@ "kind": "ZeroSized", "ty": 12 }, - "span": 74, + "span": 65, "user_ty": null } } @@ -1849,45 +1575,40 @@ "const_": { "id": 7, "kind": "ZeroSized", - "ty": 31 + "ty": 29 }, - "span": 76, + "span": 67, "user_ty": null } }, "target": 2, "unwind": "Unreachable" } - }, - "span": 77 + } } }, { "statements": [], "terminator": { - "kind": "Return", - "span": 78 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 79, "ty": 12 }, { "mutability": "Not", - "span": 80, "ty": 18 }, { "mutability": "Not", - "span": 81, "ty": 12 } ], - "span": 84, + "span": 75, "spread_arg": null, "var_debug_info": [ { @@ -1896,7 +1617,7 @@ "name": "f", "source_info": { "scope": 0, - "span": 80 + "span": 71 }, "value": { "Place": { @@ -1911,7 +1632,7 @@ "name": "result", "source_info": { "scope": 1, - "span": 82 + "span": 73 }, "value": { "Place": { @@ -1926,7 +1647,7 @@ "name": "dummy", "source_info": { "scope": 2, - "span": 83 + "span": 74 }, "value": { "Const": { @@ -1935,7 +1656,7 @@ "kind": "ZeroSized", "ty": 12 }, - "span": 74, + "span": 65, "user_ty": null } } @@ -1985,45 +1706,40 @@ "const_": { "id": 8, "kind": "ZeroSized", - "ty": 32 + "ty": 30 }, - "span": 85, + "span": 76, "user_ty": null } }, "target": 1, "unwind": "Continue" } - }, - "span": 85 + } } }, { "statements": [], "terminator": { - "kind": "Return", - "span": 85 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 85, - "ty": 27 + "ty": 26 }, { "mutability": "Not", - "span": 85, - "ty": 33 + "ty": 31 }, { "mutability": "Not", - "span": 85, "ty": 12 } ], - "span": 85, + "span": 76, "spread_arg": 2, "var_debug_info": [] }, @@ -2066,8 +1782,7 @@ ] } ] - }, - "span": 85 + } } ], "terminator": { @@ -2096,9 +1811,9 @@ "const_": { "id": 9, "kind": "ZeroSized", - "ty": 34 + "ty": 32 }, - "span": 85, + "span": 76, "user_ty": null } }, @@ -2107,8 +1822,7 @@ "Cleanup": 3 } } - }, - "span": 85 + } } }, { @@ -2123,15 +1837,13 @@ "target": 2, "unwind": "Continue" } - }, - "span": 85 + } } }, { "statements": [], "terminator": { - "kind": "Return", - "span": 85 + "kind": "Return" } }, { @@ -2146,41 +1858,35 @@ "target": 4, "unwind": "Terminate" } - }, - "span": 85 + } } }, { "statements": [], "terminator": { - "kind": "Resume", - "span": 85 + "kind": "Resume" } } ], "locals": [ { "mutability": "Mut", - "span": 85, - "ty": 27 + "ty": 26 }, { "mutability": "Not", - "span": 85, - "ty": 23 + "ty": 22 }, { "mutability": "Not", - "span": 85, "ty": 12 }, { "mutability": "Not", - "span": 85, - "ty": 35 + "ty": 33 } ], - "span": 85, + "span": 76, "spread_arg": 2, "var_debug_info": [] }, @@ -2202,95 +1908,53 @@ "terminator": { "kind": { "Call": { - "args": [], - "destination": { - "local": 0, - "projection": [] - }, - "func": { - "Move": { - "local": 1, - "projection": [] - } - }, - "target": 1, - "unwind": "Continue" - } - }, - "span": 85 - } - }, - { - "statements": [], - "terminator": { - "kind": "Return", - "span": 85 - } - } - ], - "locals": [ - { - "mutability": "Mut", - "span": 85, - "ty": 12 - }, - { - "mutability": "Not", - "span": 85, - "ty": 18 - }, - { - "mutability": "Not", - "span": 85, - "ty": 12 - } - ], - "span": 85, - "spread_arg": 2, - "var_debug_info": [] - }, - "id": 5, - "name": ">::call_once" - } - }, - "symbol_name": "_ZN4core3ops8function6FnOnce9call_once17h" - }, - { - "details": null, - "mono_item_kind": { - "MonoItemFn": { - "body": { - "arg_count": 1, - "blocks": [ + "args": [], + "destination": { + "local": 0, + "projection": [] + }, + "func": { + "Move": { + "local": 1, + "projection": [] + } + }, + "target": 1, + "unwind": "Continue" + } + } + } + }, { "statements": [], "terminator": { - "kind": "Return", - "span": 86 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 86, "ty": 12 }, { "mutability": "Not", - "span": 86, - "ty": 33 + "ty": 18 + }, + { + "mutability": "Not", + "ty": 12 } ], - "span": 86, - "spread_arg": null, + "span": 76, + "spread_arg": 2, "var_debug_info": [] }, - "id": 6, - "name": "std::ptr::drop_in_place::<{closure@std::rt::lang_start<()>::{closure#0}}>" + "id": 5, + "name": ">::call_once" } }, - "symbol_name": "_ZN4core3ptr85drop_in_place$LT$std..rt..lang_start$LT$$LP$$RP$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$17h" + "symbol_name": "_ZN4core3ops8function6FnOnce9call_once17h" }, { "details": null, @@ -2323,8 +1987,7 @@ ] } ] - }, - "span": 89 + } } ], "terminator": { @@ -2353,50 +2016,44 @@ "const_": { "id": 10, "kind": "ZeroSized", - "ty": 36 + "ty": 34 }, - "span": 87, + "span": 77, "user_ty": null } }, "target": 1, "unwind": "Continue" } - }, - "span": 88 + } } }, { "statements": [], "terminator": { - "kind": "Return", - "span": 90 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 91, "ty": 5 }, { "mutability": "Not", - "span": 92, - "ty": 37 + "ty": 35 }, { "mutability": "Not", - "span": 93, "ty": 6 }, { "mutability": "Not", - "span": 89, "ty": 5 } ], - "span": 94, + "span": 84, "spread_arg": null, "var_debug_info": [ { @@ -2405,7 +2062,7 @@ "name": "self", "source_info": { "scope": 0, - "span": 92 + "span": 82 }, "value": { "Place": { @@ -2420,7 +2077,7 @@ "name": "index", "source_info": { "scope": 0, - "span": 93 + "span": 83 }, "value": { "Place": { @@ -2431,7 +2088,7 @@ } ] }, - "id": 7, + "id": 6, "name": "std::array::> for [i32; 4]>::index" } }, @@ -2449,38 +2106,32 @@ { "kind": { "StorageLive": 3 - }, - "span": 96 + } }, { "kind": { "StorageLive": 5 - }, - "span": 97 + } }, { "kind": { "StorageLive": 9 - }, - "span": 98 + } }, { "kind": { "StorageLive": 10 - }, - "span": 98 + } }, { "kind": { "StorageLive": 6 - }, - "span": 95 + } }, { "kind": { "StorageLive": 7 - }, - "span": 99 + } }, { "kind": { @@ -2501,8 +2152,7 @@ ] } ] - }, - "span": 99 + } }, { "kind": { @@ -2545,15 +2195,14 @@ }, "ty": 0 }, - "span": 100, + "span": 90, "user_ty": null } } ] } ] - }, - "span": 95 + } } ], "terminator": { @@ -2575,8 +2224,7 @@ "otherwise": 2 } } - }, - "span": 95 + } } }, { @@ -2584,13 +2232,11 @@ { "kind": { "StorageDead": 3 - }, - "span": 102 + } } ], "terminator": { - "kind": "Return", - "span": 101 + "kind": "Return" } }, { @@ -2598,14 +2244,12 @@ { "kind": { "StorageDead": 7 - }, - "span": 100 + } }, { "kind": { "StorageLive": 8 - }, - "span": 105 + } }, { "kind": { @@ -2616,7 +2260,7 @@ }, { "AddressOf": [ - "Not", + "Const", { "local": 1, "projection": [ @@ -2626,8 +2270,7 @@ ] } ] - }, - "span": 106 + } }, { "kind": { @@ -2645,12 +2288,11 @@ "projection": [] } }, - 39 + 37 ] } ] - }, - "span": 107 + } }, { "kind": { @@ -2674,8 +2316,7 @@ ] } ] - }, - "span": 108 + } }, { "kind": { @@ -2692,7 +2333,7 @@ 1, [ { - "Type": 40 + "Type": 38 } ], null, @@ -2710,38 +2351,32 @@ ] } ] - }, - "span": 109 + } }, { "kind": { "StorageDead": 8 - }, - "span": 110 + } }, { "kind": { "StorageDead": 6 - }, - "span": 111 + } }, { "kind": { "StorageDead": 10 - }, - "span": 98 + } }, { "kind": { "StorageDead": 9 - }, - "span": 98 + } }, { "kind": { "StorageLive": 11 - }, - "span": 112 + } }, { "kind": { @@ -2761,7 +2396,7 @@ { "Field": [ 0, - 40 + 38 ] } ] @@ -2769,8 +2404,7 @@ } } ] - }, - "span": 113 + } }, { "kind": { @@ -2783,14 +2417,14 @@ "Aggregate": [ { "Adt": [ - 9, + 8, 0, [ { - "Type": 40 + "Type": 38 }, { - "Type": 41 + "Type": 39 } ], null, @@ -2808,20 +2442,17 @@ ] } ] - }, - "span": 114 + } }, { "kind": { "StorageDead": 11 - }, - "span": 112 + } }, { "kind": { "StorageDead": 5 - }, - "span": 115 + } }, { "kind": { @@ -2841,7 +2472,7 @@ { "Field": [ 0, - 40 + 38 ] } ] @@ -2849,8 +2480,7 @@ } } ] - }, - "span": 116 + } } ], "terminator": { @@ -2879,17 +2509,16 @@ "const_": { "id": 12, "kind": "ZeroSized", - "ty": 38 + "ty": 36 }, - "span": 103, + "span": 93, "user_ty": null } }, "target": 1, "unwind": "Continue" } - }, - "span": 104 + } } }, { @@ -2897,8 +2526,7 @@ { "kind": { "StorageDead": 7 - }, - "span": 100 + } }, { "kind": { @@ -2931,40 +2559,35 @@ } } }, - "ty": 42 + "ty": 40 }, - "span": 74, + "span": 65, "user_ty": null } } } ] - }, - "span": 118 + } }, { "kind": { "StorageDead": 6 - }, - "span": 111 + } }, { "kind": { "StorageDead": 10 - }, - "span": 98 + } }, { "kind": { "StorageDead": 9 - }, - "span": 98 + } }, { "kind": { "StorageLive": 11 - }, - "span": 112 + } }, { "kind": { @@ -2997,28 +2620,25 @@ } } }, - "ty": 43 + "ty": 41 }, - "span": 74, + "span": 65, "user_ty": null } } } ] - }, - "span": 119 + } }, { "kind": { "StorageDead": 11 - }, - "span": 112 + } }, { "kind": { "StorageDead": 5 - }, - "span": 115 + } }, { "kind": { @@ -3046,14 +2666,13 @@ }, "ty": 9 }, - "span": 117, + "span": 65, "user_ty": null } } } ] - }, - "span": 117 + } } ], "terminator": { @@ -3061,74 +2680,61 @@ "Goto": { "target": 1 } - }, - "span": 117 + } } } ], "locals": [ { "mutability": "Mut", - "span": 120, "ty": 9 }, { "mutability": "Not", - "span": 121, "ty": 5 }, { "mutability": "Not", - "span": 122, - "ty": 40 + "ty": 38 }, { "mutability": "Not", - "span": 96, - "ty": 43 + "ty": 41 }, { "mutability": "Not", - "span": 116, - "ty": 40 + "ty": 38 }, { "mutability": "Mut", - "span": 97, - "ty": 42 + "ty": 40 }, { "mutability": "Mut", - "span": 95, "ty": 9 }, { "mutability": "Mut", - "span": 99, "ty": 0 }, { "mutability": "Not", - "span": 105, - "ty": 39 + "ty": 37 }, { "mutability": "Not", - "span": 123, - "ty": 40 + "ty": 38 }, { "mutability": "Mut", - "span": 124, "ty": 10 }, { "mutability": "Not", - "span": 113, - "ty": 40 + "ty": 38 } ], - "span": 133, + "span": 123, "spread_arg": null, "var_debug_info": [ { @@ -3137,7 +2743,7 @@ "name": "self", "source_info": { "scope": 0, - "span": 121 + "span": 111 }, "value": { "Place": { @@ -3152,7 +2758,7 @@ "name": "other", "source_info": { "scope": 0, - "span": 122 + "span": 112 }, "value": { "Place": { @@ -3167,7 +2773,7 @@ "name": "b", "source_info": { "scope": 1, - "span": 96 + "span": 86 }, "value": { "Place": { @@ -3182,7 +2788,7 @@ "name": "b", "source_info": { "scope": 2, - "span": 116 + "span": 106 }, "value": { "Place": { @@ -3197,7 +2803,7 @@ "name": "self", "source_info": { "scope": 3, - "span": 125 + "span": 115 }, "value": { "Place": { @@ -3212,7 +2818,7 @@ "name": "slice", "source_info": { "scope": 4, - "span": 126 + "span": 116 }, "value": { "Place": { @@ -3227,7 +2833,7 @@ "name": "self", "source_info": { "scope": 5, - "span": 127 + "span": 117 }, "value": { "Place": { @@ -3242,7 +2848,7 @@ "name": "ptr", "source_info": { "scope": 6, - "span": 105 + "span": 95 }, "value": { "Place": { @@ -3257,7 +2863,7 @@ "name": "me", "source_info": { "scope": 7, - "span": 123 + "span": 113 }, "value": { "Place": { @@ -3272,7 +2878,7 @@ "name": "self", "source_info": { "scope": 8, - "span": 128 + "span": 118 }, "value": { "Place": { @@ -3287,7 +2893,7 @@ "name": "self", "source_info": { "scope": 9, - "span": 129 + "span": 119 }, "value": { "Place": { @@ -3302,16 +2908,16 @@ "name": "err", "source_info": { "scope": 9, - "span": 130 + "span": 120 }, "value": { "Const": { "const_": { "id": 16, "kind": "ZeroSized", - "ty": 41 + "ty": 39 }, - "span": 74, + "span": 65, "user_ty": null } } @@ -3322,7 +2928,7 @@ "name": "v", "source_info": { "scope": 10, - "span": 113 + "span": 103 }, "value": { "Place": { @@ -3337,7 +2943,7 @@ "name": "self", "source_info": { "scope": 11, - "span": 131 + "span": 121 }, "value": { "Place": { @@ -3352,7 +2958,7 @@ "name": "other", "source_info": { "scope": 11, - "span": 132 + "span": 122 }, "value": { "Place": { @@ -3363,7 +2969,7 @@ } ] }, - "id": 8, + "id": 7, "name": "std::array::equality:: for [i32]>::eq" } }, @@ -3396,8 +3002,7 @@ } } ] - }, - "span": 135 + } } ], "terminator": { @@ -3426,50 +3031,44 @@ "const_": { "id": 17, "kind": "ZeroSized", - "ty": 44 + "ty": 42 }, - "span": 134, + "span": 124, "user_ty": null } }, "target": 1, "unwind": "Continue" } - }, - "span": 134 + } } }, { "statements": [], "terminator": { - "kind": "Return", - "span": 136 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 137, "ty": 9 }, { "mutability": "Not", - "span": 138, - "ty": 45 + "ty": 43 }, { "mutability": "Not", - "span": 139, - "ty": 40 + "ty": 38 }, { "mutability": "Mut", - "span": 138, "ty": 5 } ], - "span": 140, + "span": 130, "spread_arg": null, "var_debug_info": [ { @@ -3478,7 +3077,7 @@ "name": "self", "source_info": { "scope": 0, - "span": 138 + "span": 128 }, "value": { "Place": { @@ -3493,7 +3092,7 @@ "name": "other", "source_info": { "scope": 0, - "span": 139 + "span": 129 }, "value": { "Place": { @@ -3504,7 +3103,7 @@ } ] }, - "id": 10, + "id": 9, "name": "std::array::equality:: for &[i32]>::eq" } }, @@ -3545,45 +3144,40 @@ "const_": { "id": 18, "kind": "ZeroSized", - "ty": 46 + "ty": 44 }, - "span": 141, + "span": 131, "user_ty": null } }, "target": 1, "unwind": "Continue" } - }, - "span": 142 + } } }, { "statements": [], "terminator": { - "kind": "Return", - "span": 143 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 144, "ty": 5 }, { "mutability": "Not", - "span": 145, "ty": 5 }, { "mutability": "Not", - "span": 146, "ty": 6 } ], - "span": 147, + "span": 137, "spread_arg": null, "var_debug_info": [ { @@ -3592,7 +3186,7 @@ "name": "self", "source_info": { "scope": 0, - "span": 145 + "span": 135 }, "value": { "Place": { @@ -3607,7 +3201,7 @@ "name": "index", "source_info": { "scope": 0, - "span": 146 + "span": 136 }, "value": { "Place": { @@ -3618,7 +3212,7 @@ } ] }, - "id": 11, + "id": 10, "name": "core::slice::index::> for [i32]>::index" } }, @@ -3657,62 +3251,37 @@ } } }, - "ty": 28 + "ty": 27 }, - "span": 149, + "span": 65, "user_ty": null } } } ] - }, - "span": 149 + } } ], "terminator": { - "kind": "Return", - "span": 148 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 150, - "ty": 28 + "ty": 27 }, { "mutability": "Not", - "span": 151, "ty": 12 } ], - "span": 152, + "span": 142, "spread_arg": null, - "var_debug_info": [ - { - "argument_index": 1, - "composite": null, - "name": "self", - "source_info": { - "scope": 0, - "span": 151 - }, - "value": { - "Const": { - "const_": { - "id": 6, - "kind": "ZeroSized", - "ty": 12 - }, - "span": 74, - "user_ty": null - } - } - } - ] + "var_debug_info": [] }, - "id": 12, + "id": 11, "name": "<() as std::process::Termination>::report" } }, @@ -3737,7 +3306,7 @@ { "Aggregate": [ { - "Array": 27 + "Array": 26 }, [ { @@ -3759,9 +3328,9 @@ } } }, - "ty": 27 + "ty": 26 }, - "span": 163, + "span": 153, "user_ty": null } }, @@ -3784,9 +3353,9 @@ } } }, - "ty": 27 + "ty": 26 }, - "span": 164, + "span": 154, "user_ty": null } }, @@ -3809,9 +3378,9 @@ } } }, - "ty": 27 + "ty": 26 }, - "span": 165, + "span": 155, "user_ty": null } }, @@ -3834,9 +3403,9 @@ } } }, - "ty": 27 + "ty": 26 }, - "span": 166, + "span": 156, "user_ty": null } } @@ -3844,8 +3413,7 @@ ] } ] - }, - "span": 167 + } }, { "kind": { @@ -3867,8 +3435,7 @@ ] } ] - }, - "span": 168 + } }, { "kind": { @@ -3881,7 +3448,7 @@ "Aggregate": [ { "Adt": [ - 15, + 14, 0, [ { @@ -3918,7 +3485,7 @@ }, "ty": 0 }, - "span": 169, + "span": 159, "user_ty": null } }, @@ -3947,7 +3514,7 @@ }, "ty": 0 }, - "span": 170, + "span": 160, "user_ty": null } } @@ -3955,8 +3522,7 @@ ] } ] - }, - "span": 171 + } } ], "terminator": { @@ -3985,17 +3551,16 @@ "const_": { "id": 21, "kind": "ZeroSized", - "ty": 48 + "ty": 46 }, - "span": 162, + "span": 152, "user_ty": null } }, "target": 1, "unwind": "Continue" } - }, - "span": 162 + } } }, { @@ -4016,8 +3581,7 @@ } } ] - }, - "span": 173 + } }, { "kind": { @@ -4039,8 +3603,7 @@ ] } ] - }, - "span": 174 + } }, { "kind": { @@ -4078,16 +3641,15 @@ } } }, - "ty": 40 + "ty": 38 }, - "span": 175, + "span": 165, "user_ty": null } } } ] - }, - "span": 175 + } } ], "terminator": { @@ -4116,17 +3678,16 @@ "const_": { "id": 28, "kind": "ZeroSized", - "ty": 49 + "ty": 47 }, - "span": 172, + "span": 162, "user_ty": null } }, "target": 2, "unwind": "Continue" } - }, - "span": 172 + } } }, { @@ -4150,15 +3711,13 @@ "otherwise": 3 } } - }, - "span": 172 + } } }, { "statements": [], "terminator": { - "kind": "Return", - "span": 176 + "kind": "Return" } }, { @@ -4203,9 +3762,9 @@ } } }, - "ty": 51 + "ty": 49 }, - "span": 74, + "span": 65, "user_ty": null } } @@ -4219,73 +3778,62 @@ "const_": { "id": 30, "kind": "ZeroSized", - "ty": 50 + "ty": 48 }, - "span": 177, + "span": 167, "user_ty": null } }, "target": null, "unwind": "Continue" } - }, - "span": 177 + } } } ], "locals": [ { "mutability": "Mut", - "span": 178, "ty": 12 }, { "mutability": "Not", - "span": 179, - "ty": 52 + "ty": 50 }, { "mutability": "Not", - "span": 180, "ty": 5 }, { "mutability": "Not", - "span": 162, "ty": 5 }, { "mutability": "Mut", - "span": 168, - "ty": 37 + "ty": 35 }, { "mutability": "Mut", - "span": 171, "ty": 6 }, { "mutability": "Mut", - "span": 172, "ty": 9 }, { "mutability": "Mut", - "span": 174, - "ty": 45 + "ty": 43 }, { "mutability": "Mut", - "span": 175, - "ty": 40 + "ty": 38 }, { "mutability": "Mut", - "span": 177, "ty": 7 } ], - "span": 181, + "span": 171, "spread_arg": null, "var_debug_info": [ { @@ -4294,7 +3842,7 @@ "name": "a", "source_info": { "scope": 1, - "span": 179 + "span": 169 }, "value": { "Place": { @@ -4309,7 +3857,7 @@ "name": "b", "source_info": { "scope": 2, - "span": 180 + "span": 170 }, "value": { "Place": { @@ -4320,7 +3868,7 @@ } ] }, - "id": 14, + "id": 13, "name": "main" } }, @@ -4338,8 +3886,7 @@ { "kind": { "StorageLive": 3 - }, - "span": 155 + } }, { "kind": { @@ -4357,12 +3904,11 @@ "projection": [] } }, - 40 + 38 ] } ] - }, - "span": 155 + } } ], "terminator": { @@ -4391,17 +3937,16 @@ "const_": { "id": 20, "kind": "ZeroSized", - "ty": 47 + "ty": 45 }, - "span": 153, + "span": 143, "user_ty": null } }, "target": 1, "unwind": "Unreachable" } - }, - "span": 154 + } } }, { @@ -4409,39 +3954,33 @@ { "kind": { "StorageDead": 3 - }, - "span": 157 + } } ], "terminator": { - "kind": "Return", - "span": 156 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 158, "ty": 9 }, { "mutability": "Not", - "span": 159, - "ty": 40 + "ty": 38 }, { "mutability": "Not", - "span": 160, - "ty": 40 + "ty": 38 }, { "mutability": "Mut", - "span": 155, - "ty": 40 + "ty": 38 } ], - "span": 161, + "span": 151, "spread_arg": null, "var_debug_info": [ { @@ -4450,7 +3989,7 @@ "name": "a", "source_info": { "scope": 0, - "span": 159 + "span": 149 }, "value": { "Place": { @@ -4465,7 +4004,7 @@ "name": "b", "source_info": { "scope": 0, - "span": 160 + "span": 150 }, "value": { "Place": { @@ -4476,7 +4015,7 @@ } ] }, - "id": 13, + "id": 12, "name": ">::spec_eq" } }, @@ -4573,23 +4112,6 @@ } } ], - [ - { - "EnumType": { - "discriminants": [ - [ - 0, - 0 - ], - [ - 1, - 1 - ] - ], - "name": "std::result::Result" - } - } - ], [ { "StructType": { @@ -4626,7 +4148,7 @@ { "StructType": { "fields": "elided", - "name": "std::sys::pal::unix::process::process_common::ExitCode" + "name": "std::sys::process::unix::common::ExitCode" } } ], @@ -4774,11 +4296,6 @@ "RefType": "elided" } ], - [ - { - "RefType": "elided" - } - ], [ { "RefType": "elided" diff --git a/tests/integration/programs/strange-ref-deref.smir.json.expected b/tests/integration/programs/strange-ref-deref.smir.json.expected index 9e0e99a3..f3192542 100644 --- a/tests/integration/programs/strange-ref-deref.smir.json.expected +++ b/tests/integration/programs/strange-ref-deref.smir.json.expected @@ -124,16 +124,15 @@ } } }, - "ty": 16 + "ty": 15 }, - "span": 51, + "span": 45, "user_ty": null } } } ] - }, - "span": 51 + } }, { "kind": { @@ -155,8 +154,7 @@ ] } ] - }, - "span": 52 + } }, { "kind": { @@ -178,8 +176,7 @@ ] } ] - }, - "span": 53 + } }, { "kind": { @@ -197,8 +194,7 @@ } } ] - }, - "span": 53 + } }, { "kind": { @@ -216,8 +212,7 @@ } } ] - }, - "span": 54 + } }, { "kind": { @@ -237,8 +232,7 @@ } } ] - }, - "span": 55 + } } ], "terminator": { @@ -260,15 +254,13 @@ "otherwise": 2 } } - }, - "span": 50 + } } }, { "statements": [], "terminator": { - "kind": "Return", - "span": 56 + "kind": "Return" } }, { @@ -313,9 +305,9 @@ } } }, - "ty": 26 + "ty": 24 }, - "span": 32, + "span": 27, "user_ty": null } } @@ -329,58 +321,50 @@ "const_": { "id": 10, "kind": "ZeroSized", - "ty": 25 + "ty": 23 }, - "span": 57, + "span": 51, "user_ty": null } }, "target": null, "unwind": "Continue" } - }, - "span": 57 + } } } ], "locals": [ { "mutability": "Mut", - "span": 58, "ty": 1 }, { "mutability": "Not", - "span": 59, - "ty": 16 + "ty": 15 }, { "mutability": "Mut", - "span": 60, - "ty": 27 + "ty": 25 }, { "mutability": "Not", - "span": 53, - "ty": 28 + "ty": 26 }, { "mutability": "Mut", - "span": 55, - "ty": 16 + "ty": 15 }, { "mutability": "Mut", - "span": 57, - "ty": 29 + "ty": 27 }, { "mutability": "Mut", - "span": 53, - "ty": 27 + "ty": 25 } ], - "span": 61, + "span": 55, "spread_arg": null, "var_debug_info": [ { @@ -389,7 +373,7 @@ "name": "a", "source_info": { "scope": 1, - "span": 59 + "span": 53 }, "value": { "Place": { @@ -404,7 +388,7 @@ "name": "b", "source_info": { "scope": 2, - "span": 60 + "span": 54 }, "value": { "Place": { @@ -415,7 +399,7 @@ } ] }, - "id": 6, + "id": 5, "name": "main" } }, @@ -433,26 +417,18 @@ { "kind": { "StorageLive": 5 - }, - "span": 1 - }, - { - "kind": { - "StorageLive": 6 - }, - "span": 2 + } }, { "kind": { - "StorageLive": 8 - }, - "span": 3 + "StorageLive": 7 + } }, { "kind": { "Assign": [ { - "local": 8, + "local": 7, "projection": [] }, { @@ -487,14 +463,13 @@ ] } ] - }, - "span": 3 + } }, { "kind": { "Assign": [ { - "local": 7, + "local": 6, "projection": [] }, { @@ -504,20 +479,19 @@ }, "Shared", { - "local": 8, + "local": 7, "projection": [] } ] } ] - }, - "span": 2 + } }, { "kind": { "Assign": [ { - "local": 6, + "local": 5, "projection": [] }, { @@ -527,7 +501,7 @@ }, { "Copy": { - "local": 7, + "local": 6, "projection": [] } }, @@ -535,8 +509,7 @@ ] } ] - }, - "span": 2 + } } ], "terminator": { @@ -545,7 +518,7 @@ "args": [ { "Move": { - "local": 6, + "local": 5, "projection": [] } }, @@ -569,7 +542,7 @@ } ], "destination": { - "local": 5, + "local": 0, "projection": [] }, "func": { @@ -586,114 +559,62 @@ "target": 1, "unwind": "Continue" } - }, - "span": 1 + } } }, { "statements": [ { "kind": { - "StorageDead": 6 - }, - "span": 5 - }, - { - "kind": { - "Assign": [ - { - "local": 0, - "projection": [] - }, - { - "Use": { - "Copy": { - "local": 5, - "projection": [ - { - "Downcast": 0 - }, - { - "Field": [ - 0, - 6 - ] - } - ] - } - } - } - ] - }, - "span": 6 - }, - { - "kind": { - "StorageDead": 8 - }, - "span": 7 + "StorageDead": 7 + } }, { "kind": { "StorageDead": 5 - }, - "span": 7 + } } ], "terminator": { - "kind": "Return", - "span": 4 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 8, "ty": 6 }, { "mutability": "Not", - "span": 9, "ty": 7 }, { "mutability": "Not", - "span": 10, "ty": 6 }, { "mutability": "Not", - "span": 11, "ty": 8 }, { "mutability": "Not", - "span": 12, "ty": 9 }, { "mutability": "Mut", - "span": 1, - "ty": 10 - }, - { - "mutability": "Mut", - "span": 2, "ty": 5 }, { "mutability": "Not", - "span": 2, - "ty": 11 + "ty": 10 }, { "mutability": "Not", - "span": 3, - "ty": 12 + "ty": 11 } ], - "span": 13, + "span": 11, "spread_arg": null, "var_debug_info": [ { @@ -702,7 +623,7 @@ "name": "main", "source_info": { "scope": 0, - "span": 9 + "span": 7 }, "value": { "Place": { @@ -717,7 +638,7 @@ "name": "argc", "source_info": { "scope": 0, - "span": 10 + "span": 8 }, "value": { "Place": { @@ -732,7 +653,7 @@ "name": "argv", "source_info": { "scope": 0, - "span": 11 + "span": 9 }, "value": { "Place": { @@ -747,7 +668,7 @@ "name": "sigpipe", "source_info": { "scope": 0, - "span": 12 + "span": 10 }, "value": { "Place": { @@ -755,21 +676,6 @@ "projection": [] } } - }, - { - "argument_index": null, - "composite": null, - "name": "v", - "source_info": { - "scope": 1, - "span": 6 - }, - "value": { - "Place": { - "local": 0, - "projection": [] - } - } } ] }, @@ -791,20 +697,17 @@ { "kind": { "StorageLive": 2 - }, - "span": 16 + } }, { "kind": { "StorageLive": 3 - }, - "span": 15 + } }, { "kind": { "StorageLive": 4 - }, - "span": 17 + } }, { "kind": { @@ -830,8 +733,7 @@ } } ] - }, - "span": 17 + } } ], "terminator": { @@ -854,17 +756,16 @@ "const_": { "id": 1, "kind": "ZeroSized", - "ty": 13 + "ty": 12 }, - "span": 14, + "span": 12, "user_ty": null } }, "target": 1, "unwind": "Continue" } - }, - "span": 15 + } } }, { @@ -872,8 +773,7 @@ { "kind": { "StorageDead": 4 - }, - "span": 19 + } } ], "terminator": { @@ -896,17 +796,16 @@ "const_": { "id": 2, "kind": "ZeroSized", - "ty": 14 + "ty": 13 }, - "span": 18, + "span": 16, "user_ty": null } }, "target": 2, "unwind": "Continue" } - }, - "span": 16 + } } }, { @@ -914,14 +813,12 @@ { "kind": { "StorageDead": 3 - }, - "span": 21 + } }, { "kind": { "StorageLive": 5 - }, - "span": 22 + } }, { "kind": { @@ -930,42 +827,6 @@ "local": 5, "projection": [] }, - { - "Ref": [ - { - "kind": "ReErased" - }, - "Shared", - { - "local": 2, - "projection": [ - { - "Field": [ - 0, - 15 - ] - } - ] - } - ] - } - ] - }, - "span": 22 - }, - { - "kind": { - "StorageLive": 6 - }, - "span": 23 - }, - { - "kind": { - "Assign": [ - { - "local": 6, - "projection": [] - }, { "Use": { "Copy": { @@ -974,7 +835,7 @@ { "Field": [ 0, - 15 + 14 ] }, { @@ -988,8 +849,7 @@ } } ] - }, - "span": 23 + } }, { "kind": { @@ -1003,76 +863,55 @@ "IntToInt", { "Move": { - "local": 6, + "local": 5, "projection": [] } }, - 16 + 15 ] } ] - }, - "span": 24 - }, - { - "kind": { - "StorageDead": 6 - }, - "span": 25 + } }, { "kind": { "StorageDead": 5 - }, - "span": 26 + } }, { "kind": { "StorageDead": 2 - }, - "span": 27 + } } ], "terminator": { - "kind": "Return", - "span": 20 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 28, - "ty": 16 + "ty": 15 }, { "mutability": "Mut", - "span": 3, - "ty": 11 + "ty": 10 }, { "mutability": "Mut", - "span": 16, - "ty": 17 + "ty": 16 }, { "mutability": "Mut", - "span": 15, "ty": 1 }, { "mutability": "Mut", - "span": 17, "ty": 7 }, { "mutability": "Mut", - "span": 22, - "ty": 18 - }, - { - "mutability": "Mut", - "span": 23, "ty": 9 } ], @@ -1085,7 +924,7 @@ "name": "main", "source_info": { "scope": 0, - "span": 9 + "span": 7 }, "value": { "Place": { @@ -1108,7 +947,7 @@ "name": "self", "source_info": { "scope": 1, - "span": 29 + "span": 25 }, "value": { "Place": { @@ -1116,21 +955,6 @@ "projection": [] } } - }, - { - "argument_index": 1, - "composite": null, - "name": "self", - "source_info": { - "scope": 2, - "span": 30 - }, - "value": { - "Place": { - "local": 5, - "projection": [] - } - } } ] }, @@ -1166,7 +990,7 @@ "kind": "ZeroSized", "ty": 1 }, - "span": 32, + "span": 27, "user_ty": null } } @@ -1180,17 +1004,16 @@ "const_": { "id": 3, "kind": "ZeroSized", - "ty": 19 + "ty": 17 }, - "span": 31, + "span": 26, "user_ty": null } }, "target": 1, "unwind": "Continue" } - }, - "span": 33 + } } }, { @@ -1206,7 +1029,7 @@ "kind": "ZeroSized", "ty": 1 }, - "span": 32, + "span": 27, "user_ty": null } } @@ -1220,45 +1043,40 @@ "const_": { "id": 5, "kind": "ZeroSized", - "ty": 20 + "ty": 18 }, - "span": 34, + "span": 29, "user_ty": null } }, "target": 2, "unwind": "Unreachable" } - }, - "span": 35 + } } }, { "statements": [], "terminator": { - "kind": "Return", - "span": 36 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 37, "ty": 1 }, { "mutability": "Not", - "span": 38, "ty": 7 }, { "mutability": "Not", - "span": 39, "ty": 1 } ], - "span": 42, + "span": 37, "spread_arg": null, "var_debug_info": [ { @@ -1267,7 +1085,7 @@ "name": "f", "source_info": { "scope": 0, - "span": 38 + "span": 33 }, "value": { "Place": { @@ -1282,7 +1100,7 @@ "name": "result", "source_info": { "scope": 1, - "span": 40 + "span": 35 }, "value": { "Place": { @@ -1297,7 +1115,7 @@ "name": "dummy", "source_info": { "scope": 2, - "span": 41 + "span": 36 }, "value": { "Const": { @@ -1306,7 +1124,7 @@ "kind": "ZeroSized", "ty": 1 }, - "span": 32, + "span": 27, "user_ty": null } } @@ -1356,45 +1174,40 @@ "const_": { "id": 6, "kind": "ZeroSized", - "ty": 21 + "ty": 19 }, - "span": 43, + "span": 38, "user_ty": null } }, "target": 1, "unwind": "Continue" } - }, - "span": 43 + } } }, { "statements": [], "terminator": { - "kind": "Return", - "span": 43 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 43, - "ty": 16 + "ty": 15 }, { "mutability": "Not", - "span": 43, - "ty": 22 + "ty": 20 }, { "mutability": "Not", - "span": 43, "ty": 1 } ], - "span": 43, + "span": 38, "spread_arg": 2, "var_debug_info": [] }, @@ -1404,71 +1217,6 @@ }, "symbol_name": "_ZN4core3ops8function6FnOnce40call_once$u7b$$u7b$vtable.shim$u7d$$u7d$17h" }, - { - "details": null, - "mono_item_kind": { - "MonoItemFn": { - "body": { - "arg_count": 2, - "blocks": [ - { - "statements": [], - "terminator": { - "kind": { - "Call": { - "args": [], - "destination": { - "local": 0, - "projection": [] - }, - "func": { - "Move": { - "local": 1, - "projection": [] - } - }, - "target": 1, - "unwind": "Continue" - } - }, - "span": 43 - } - }, - { - "statements": [], - "terminator": { - "kind": "Return", - "span": 43 - } - } - ], - "locals": [ - { - "mutability": "Mut", - "span": 43, - "ty": 1 - }, - { - "mutability": "Not", - "span": 43, - "ty": 7 - }, - { - "mutability": "Not", - "span": 43, - "ty": 1 - } - ], - "span": 43, - "spread_arg": 2, - "var_debug_info": [] - }, - "id": 3, - "name": ">::call_once" - } - }, - "symbol_name": "_ZN4core3ops8function6FnOnce9call_once17h" - }, { "details": null, "mono_item_kind": { @@ -1502,8 +1250,7 @@ ] } ] - }, - "span": 43 + } } ], "terminator": { @@ -1532,9 +1279,9 @@ "const_": { "id": 7, "kind": "ZeroSized", - "ty": 23 + "ty": 21 }, - "span": 43, + "span": 38, "user_ty": null } }, @@ -1543,8 +1290,7 @@ "Cleanup": 3 } } - }, - "span": 43 + } } }, { @@ -1559,15 +1305,13 @@ "target": 2, "unwind": "Continue" } - }, - "span": 43 + } } }, { "statements": [], "terminator": { - "kind": "Return", - "span": 43 + "kind": "Return" } }, { @@ -1582,41 +1326,35 @@ "target": 4, "unwind": "Terminate" } - }, - "span": 43 + } } }, { "statements": [], "terminator": { - "kind": "Resume", - "span": 43 + "kind": "Resume" } } ], "locals": [ { "mutability": "Mut", - "span": 43, - "ty": 16 + "ty": 15 }, { "mutability": "Not", - "span": 43, - "ty": 12 + "ty": 11 }, { "mutability": "Not", - "span": 43, "ty": 1 }, { "mutability": "Not", - "span": 43, - "ty": 24 + "ty": 22 } ], - "span": 43, + "span": 38, "spread_arg": 2, "var_debug_info": [] }, @@ -1631,37 +1369,60 @@ "mono_item_kind": { "MonoItemFn": { "body": { - "arg_count": 1, + "arg_count": 2, "blocks": [ { "statements": [], "terminator": { - "kind": "Return", - "span": 44 + "kind": { + "Call": { + "args": [], + "destination": { + "local": 0, + "projection": [] + }, + "func": { + "Move": { + "local": 1, + "projection": [] + } + }, + "target": 1, + "unwind": "Continue" + } + } + } + }, + { + "statements": [], + "terminator": { + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 44, "ty": 1 }, { "mutability": "Not", - "span": 44, - "ty": 22 + "ty": 7 + }, + { + "mutability": "Not", + "ty": 1 } ], - "span": 44, - "spread_arg": null, + "span": 38, + "spread_arg": 2, "var_debug_info": [] }, - "id": 4, - "name": "std::ptr::drop_in_place::<{closure@std::rt::lang_start<()>::{closure#0}}>" + "id": 3, + "name": ">::call_once" } }, - "symbol_name": "_ZN4core3ptr85drop_in_place$LT$std..rt..lang_start$LT$$LP$$RP$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$17h" + "symbol_name": "_ZN4core3ops8function6FnOnce9call_once17h" }, { "details": null, @@ -1696,62 +1457,37 @@ } } }, - "ty": 17 + "ty": 16 }, - "span": 46, + "span": 27, "user_ty": null } } } ] - }, - "span": 46 + } } ], "terminator": { - "kind": "Return", - "span": 45 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 47, - "ty": 17 + "ty": 16 }, { "mutability": "Not", - "span": 48, "ty": 1 } ], - "span": 49, + "span": 43, "spread_arg": null, - "var_debug_info": [ - { - "argument_index": 1, - "composite": null, - "name": "self", - "source_info": { - "scope": 0, - "span": 48 - }, - "value": { - "Const": { - "const_": { - "id": 4, - "kind": "ZeroSized", - "ty": 1 - }, - "span": 32, - "user_ty": null - } - } - } - ] + "var_debug_info": [] }, - "id": 5, + "id": 4, "name": "<() as std::process::Termination>::report" } }, @@ -1785,23 +1521,6 @@ } } ], - [ - { - "EnumType": { - "discriminants": [ - [ - 0, - 0 - ], - [ - 1, - 1 - ] - ], - "name": "std::result::Result" - } - } - ], [ { "StructType": { @@ -1822,7 +1541,7 @@ { "StructType": { "fields": "elided", - "name": "std::sys::pal::unix::process::process_common::ExitCode" + "name": "std::sys::process::unix::common::ExitCode" } } ], @@ -1878,11 +1597,6 @@ "RefType": "elided" } ], - [ - { - "RefType": "elided" - } - ], [ { "RefType": "elided" diff --git a/tests/integration/programs/struct.smir.json.expected b/tests/integration/programs/struct.smir.json.expected index fd1ec2c3..b21c933e 100644 --- a/tests/integration/programs/struct.smir.json.expected +++ b/tests/integration/programs/struct.smir.json.expected @@ -106,26 +106,18 @@ { "kind": { "StorageLive": 5 - }, - "span": 1 - }, - { - "kind": { - "StorageLive": 6 - }, - "span": 2 + } }, { "kind": { - "StorageLive": 8 - }, - "span": 3 + "StorageLive": 7 + } }, { "kind": { "Assign": [ { - "local": 8, + "local": 7, "projection": [] }, { @@ -160,14 +152,13 @@ ] } ] - }, - "span": 3 + } }, { "kind": { "Assign": [ { - "local": 7, + "local": 6, "projection": [] }, { @@ -177,20 +168,19 @@ }, "Shared", { - "local": 8, + "local": 7, "projection": [] } ] } ] - }, - "span": 2 + } }, { "kind": { "Assign": [ { - "local": 6, + "local": 5, "projection": [] }, { @@ -200,7 +190,7 @@ }, { "Copy": { - "local": 7, + "local": 6, "projection": [] } }, @@ -208,8 +198,7 @@ ] } ] - }, - "span": 2 + } } ], "terminator": { @@ -218,7 +207,7 @@ "args": [ { "Move": { - "local": 6, + "local": 5, "projection": [] } }, @@ -242,7 +231,7 @@ } ], "destination": { - "local": 5, + "local": 0, "projection": [] }, "func": { @@ -259,114 +248,62 @@ "target": 1, "unwind": "Continue" } - }, - "span": 1 + } } }, { "statements": [ { "kind": { - "StorageDead": 6 - }, - "span": 5 - }, - { - "kind": { - "Assign": [ - { - "local": 0, - "projection": [] - }, - { - "Use": { - "Copy": { - "local": 5, - "projection": [ - { - "Downcast": 0 - }, - { - "Field": [ - 0, - 6 - ] - } - ] - } - } - } - ] - }, - "span": 6 - }, - { - "kind": { - "StorageDead": 8 - }, - "span": 7 + "StorageDead": 7 + } }, { "kind": { "StorageDead": 5 - }, - "span": 7 + } } ], "terminator": { - "kind": "Return", - "span": 4 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 8, "ty": 6 }, { "mutability": "Not", - "span": 9, "ty": 7 }, { "mutability": "Not", - "span": 10, "ty": 6 }, { "mutability": "Not", - "span": 11, "ty": 8 }, { "mutability": "Not", - "span": 12, "ty": 9 }, { "mutability": "Mut", - "span": 1, - "ty": 10 - }, - { - "mutability": "Mut", - "span": 2, "ty": 5 }, { "mutability": "Not", - "span": 2, - "ty": 11 + "ty": 10 }, { "mutability": "Not", - "span": 3, - "ty": 12 + "ty": 11 } ], - "span": 13, + "span": 11, "spread_arg": null, "var_debug_info": [ { @@ -375,7 +312,7 @@ "name": "main", "source_info": { "scope": 0, - "span": 9 + "span": 7 }, "value": { "Place": { @@ -390,7 +327,7 @@ "name": "argc", "source_info": { "scope": 0, - "span": 10 + "span": 8 }, "value": { "Place": { @@ -405,7 +342,7 @@ "name": "argv", "source_info": { "scope": 0, - "span": 11 + "span": 9 }, "value": { "Place": { @@ -420,7 +357,7 @@ "name": "sigpipe", "source_info": { "scope": 0, - "span": 12 + "span": 10 }, "value": { "Place": { @@ -428,21 +365,6 @@ "projection": [] } } - }, - { - "argument_index": null, - "composite": null, - "name": "v", - "source_info": { - "scope": 1, - "span": 6 - }, - "value": { - "Place": { - "local": 0, - "projection": [] - } - } } ] }, @@ -464,20 +386,17 @@ { "kind": { "StorageLive": 2 - }, - "span": 16 + } }, { "kind": { "StorageLive": 3 - }, - "span": 15 + } }, { "kind": { "StorageLive": 4 - }, - "span": 17 + } }, { "kind": { @@ -503,8 +422,7 @@ } } ] - }, - "span": 17 + } } ], "terminator": { @@ -527,17 +445,16 @@ "const_": { "id": 1, "kind": "ZeroSized", - "ty": 13 + "ty": 12 }, - "span": 14, + "span": 12, "user_ty": null } }, "target": 1, "unwind": "Continue" } - }, - "span": 15 + } } }, { @@ -545,8 +462,7 @@ { "kind": { "StorageDead": 4 - }, - "span": 19 + } } ], "terminator": { @@ -569,17 +485,16 @@ "const_": { "id": 2, "kind": "ZeroSized", - "ty": 14 + "ty": 13 }, - "span": 18, + "span": 16, "user_ty": null } }, "target": 2, "unwind": "Continue" } - }, - "span": 16 + } } }, { @@ -587,14 +502,12 @@ { "kind": { "StorageDead": 3 - }, - "span": 21 + } }, { "kind": { "StorageLive": 5 - }, - "span": 22 + } }, { "kind": { @@ -603,42 +516,6 @@ "local": 5, "projection": [] }, - { - "Ref": [ - { - "kind": "ReErased" - }, - "Shared", - { - "local": 2, - "projection": [ - { - "Field": [ - 0, - 15 - ] - } - ] - } - ] - } - ] - }, - "span": 22 - }, - { - "kind": { - "StorageLive": 6 - }, - "span": 23 - }, - { - "kind": { - "Assign": [ - { - "local": 6, - "projection": [] - }, { "Use": { "Copy": { @@ -647,7 +524,7 @@ { "Field": [ 0, - 15 + 14 ] }, { @@ -661,8 +538,7 @@ } } ] - }, - "span": 23 + } }, { "kind": { @@ -676,76 +552,55 @@ "IntToInt", { "Move": { - "local": 6, + "local": 5, "projection": [] } }, - 16 + 15 ] } ] - }, - "span": 24 - }, - { - "kind": { - "StorageDead": 6 - }, - "span": 25 + } }, { "kind": { "StorageDead": 5 - }, - "span": 26 + } }, { "kind": { "StorageDead": 2 - }, - "span": 27 + } } ], "terminator": { - "kind": "Return", - "span": 20 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 28, - "ty": 16 + "ty": 15 }, { "mutability": "Mut", - "span": 3, - "ty": 11 + "ty": 10 }, { "mutability": "Mut", - "span": 16, - "ty": 17 + "ty": 16 }, { "mutability": "Mut", - "span": 15, "ty": 1 }, { "mutability": "Mut", - "span": 17, "ty": 7 }, { "mutability": "Mut", - "span": 22, - "ty": 18 - }, - { - "mutability": "Mut", - "span": 23, "ty": 9 } ], @@ -758,7 +613,7 @@ "name": "main", "source_info": { "scope": 0, - "span": 9 + "span": 7 }, "value": { "Place": { @@ -781,7 +636,7 @@ "name": "self", "source_info": { "scope": 1, - "span": 29 + "span": 25 }, "value": { "Place": { @@ -789,21 +644,6 @@ "projection": [] } } - }, - { - "argument_index": 1, - "composite": null, - "name": "self", - "source_info": { - "scope": 2, - "span": 30 - }, - "value": { - "Place": { - "local": 5, - "projection": [] - } - } } ] }, @@ -839,7 +679,7 @@ "kind": "ZeroSized", "ty": 1 }, - "span": 32, + "span": 27, "user_ty": null } } @@ -853,17 +693,16 @@ "const_": { "id": 3, "kind": "ZeroSized", - "ty": 19 + "ty": 17 }, - "span": 31, + "span": 26, "user_ty": null } }, "target": 1, "unwind": "Continue" } - }, - "span": 33 + } } }, { @@ -879,7 +718,7 @@ "kind": "ZeroSized", "ty": 1 }, - "span": 32, + "span": 27, "user_ty": null } } @@ -893,45 +732,40 @@ "const_": { "id": 5, "kind": "ZeroSized", - "ty": 20 + "ty": 18 }, - "span": 34, + "span": 29, "user_ty": null } }, "target": 2, "unwind": "Unreachable" } - }, - "span": 35 + } } }, { "statements": [], "terminator": { - "kind": "Return", - "span": 36 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 37, "ty": 1 }, { "mutability": "Not", - "span": 38, "ty": 7 }, { "mutability": "Not", - "span": 39, "ty": 1 } ], - "span": 42, + "span": 37, "spread_arg": null, "var_debug_info": [ { @@ -940,7 +774,7 @@ "name": "f", "source_info": { "scope": 0, - "span": 38 + "span": 33 }, "value": { "Place": { @@ -955,7 +789,7 @@ "name": "result", "source_info": { "scope": 1, - "span": 40 + "span": 35 }, "value": { "Place": { @@ -970,7 +804,7 @@ "name": "dummy", "source_info": { "scope": 2, - "span": 41 + "span": 36 }, "value": { "Const": { @@ -979,7 +813,7 @@ "kind": "ZeroSized", "ty": 1 }, - "span": 32, + "span": 27, "user_ty": null } } @@ -1029,45 +863,40 @@ "const_": { "id": 6, "kind": "ZeroSized", - "ty": 21 + "ty": 19 }, - "span": 43, + "span": 38, "user_ty": null } }, "target": 1, "unwind": "Continue" } - }, - "span": 43 + } } }, { "statements": [], "terminator": { - "kind": "Return", - "span": 43 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 43, - "ty": 16 + "ty": 15 }, { "mutability": "Not", - "span": 43, - "ty": 22 + "ty": 20 }, { "mutability": "Not", - "span": 43, "ty": 1 } ], - "span": 43, + "span": 38, "spread_arg": 2, "var_debug_info": [] }, @@ -1110,8 +939,7 @@ ] } ] - }, - "span": 43 + } } ], "terminator": { @@ -1140,9 +968,9 @@ "const_": { "id": 7, "kind": "ZeroSized", - "ty": 23 + "ty": 21 }, - "span": 43, + "span": 38, "user_ty": null } }, @@ -1151,8 +979,7 @@ "Cleanup": 3 } } - }, - "span": 43 + } } }, { @@ -1167,15 +994,13 @@ "target": 2, "unwind": "Continue" } - }, - "span": 43 + } } }, { "statements": [], "terminator": { - "kind": "Return", - "span": 43 + "kind": "Return" } }, { @@ -1190,41 +1015,35 @@ "target": 4, "unwind": "Terminate" } - }, - "span": 43 + } } }, { "statements": [], "terminator": { - "kind": "Resume", - "span": 43 + "kind": "Resume" } } ], "locals": [ { "mutability": "Mut", - "span": 43, - "ty": 16 + "ty": 15 }, { "mutability": "Not", - "span": 43, - "ty": 12 + "ty": 11 }, { "mutability": "Not", - "span": 43, "ty": 1 }, { "mutability": "Not", - "span": 43, - "ty": 24 + "ty": 22 } ], - "span": 43, + "span": 38, "spread_arg": 2, "var_debug_info": [] }, @@ -1260,36 +1079,31 @@ "target": 1, "unwind": "Continue" } - }, - "span": 43 + } } }, { "statements": [], "terminator": { - "kind": "Return", - "span": 43 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 43, "ty": 1 }, { "mutability": "Not", - "span": 43, "ty": 7 }, { "mutability": "Not", - "span": 43, "ty": 1 } ], - "span": 43, + "span": 38, "spread_arg": 2, "var_debug_info": [] }, @@ -1299,43 +1113,6 @@ }, "symbol_name": "_ZN4core3ops8function6FnOnce9call_once17h" }, - { - "details": null, - "mono_item_kind": { - "MonoItemFn": { - "body": { - "arg_count": 1, - "blocks": [ - { - "statements": [], - "terminator": { - "kind": "Return", - "span": 44 - } - } - ], - "locals": [ - { - "mutability": "Mut", - "span": 44, - "ty": 1 - }, - { - "mutability": "Not", - "span": 44, - "ty": 22 - } - ], - "span": 44, - "spread_arg": null, - "var_debug_info": [] - }, - "id": 4, - "name": "std::ptr::drop_in_place::<{closure@std::rt::lang_start<()>::{closure#0}}>" - } - }, - "symbol_name": "_ZN4core3ptr85drop_in_place$LT$std..rt..lang_start$LT$$LP$$RP$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$17h" - }, { "details": null, "mono_item_kind": { @@ -1369,62 +1146,37 @@ } } }, - "ty": 17 + "ty": 16 }, - "span": 46, + "span": 27, "user_ty": null } } } ] - }, - "span": 46 + } } ], "terminator": { - "kind": "Return", - "span": 45 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 47, - "ty": 17 + "ty": 16 }, { "mutability": "Not", - "span": 48, "ty": 1 } ], - "span": 49, + "span": 43, "spread_arg": null, - "var_debug_info": [ - { - "argument_index": 1, - "composite": null, - "name": "self", - "source_info": { - "scope": 0, - "span": 48 - }, - "value": { - "Const": { - "const_": { - "id": 4, - "kind": "ZeroSized", - "ty": 1 - }, - "span": 32, - "user_ty": null - } - } - } - ] + "var_debug_info": [] }, - "id": 5, + "id": 4, "name": "<() as std::process::Termination>::report" } }, @@ -1450,7 +1202,7 @@ "Aggregate": [ { "Adt": [ - 7, + 6, 0, [], null, @@ -1477,9 +1229,9 @@ } } }, - "ty": 26 + "ty": 24 }, - "span": 52, + "span": 46, "user_ty": null } }, @@ -1502,9 +1254,9 @@ } } }, - "ty": 26 + "ty": 24 }, - "span": 53, + "span": 47, "user_ty": null } } @@ -1512,8 +1264,7 @@ ] } ] - }, - "span": 54 + } }, { "kind": { @@ -1530,7 +1281,7 @@ { "Field": [ 0, - 26 + 24 ] } ] @@ -1538,8 +1289,7 @@ } } ] - }, - "span": 55 + } }, { "kind": { @@ -1576,17 +1326,16 @@ } } }, - "ty": 26 + "ty": 24 }, - "span": 50, + "span": 44, "user_ty": null } } ] } ] - }, - "span": 51 + } } ], "terminator": { @@ -1599,7 +1348,7 @@ { "Field": [ 1, - 25 + 23 ] } ] @@ -1634,9 +1383,9 @@ } } }, - "ty": 26 + "ty": 24 }, - "span": 50, + "span": 44, "user_ty": null } } @@ -1645,8 +1394,7 @@ "target": 1, "unwind": "Continue" } - }, - "span": 51 + } } }, { @@ -1666,7 +1414,7 @@ { "Field": [ 0, - 26 + 24 ] } ] @@ -1674,8 +1422,7 @@ } } ] - }, - "span": 51 + } }, { "kind": { @@ -1692,7 +1439,7 @@ { "Field": [ 1, - 26 + 24 ] } ] @@ -1700,8 +1447,7 @@ } } ] - }, - "span": 57 + } }, { "kind": { @@ -1728,8 +1474,7 @@ ] } ] - }, - "span": 56 + } } ], "terminator": { @@ -1751,15 +1496,13 @@ "otherwise": 2 } } - }, - "span": 56 + } } }, { "statements": [], "terminator": { - "kind": "Return", - "span": 58 + "kind": "Return" } }, { @@ -1804,9 +1547,9 @@ } } }, - "ty": 28 + "ty": 26 }, - "span": 32, + "span": 27, "user_ty": null } } @@ -1820,63 +1563,54 @@ "const_": { "id": 11, "kind": "ZeroSized", - "ty": 27 + "ty": 25 }, - "span": 59, + "span": 53, "user_ty": null } }, "target": null, "unwind": "Continue" } - }, - "span": 59 + } } } ], "locals": [ { "mutability": "Mut", - "span": 60, "ty": 1 }, { "mutability": "Not", - "span": 61, - "ty": 29 + "ty": 27 }, { "mutability": "Mut", - "span": 56, - "ty": 25 + "ty": 23 }, { "mutability": "Mut", - "span": 51, - "ty": 26 + "ty": 24 }, { "mutability": "Mut", - "span": 55, - "ty": 26 + "ty": 24 }, { "mutability": "Mut", - "span": 51, - "ty": 30 + "ty": 28 }, { "mutability": "Mut", - "span": 57, - "ty": 26 + "ty": 24 }, { "mutability": "Mut", - "span": 59, - "ty": 31 + "ty": 29 } ], - "span": 62, + "span": 56, "spread_arg": null, "var_debug_info": [ { @@ -1885,7 +1619,7 @@ "name": "s", "source_info": { "scope": 1, - "span": 61 + "span": 55 }, "value": { "Place": { @@ -1896,7 +1630,7 @@ } ] }, - "id": 6, + "id": 5, "name": "main" } }, @@ -1942,23 +1676,6 @@ } } ], - [ - { - "EnumType": { - "discriminants": [ - [ - 0, - 0 - ], - [ - 1, - 1 - ] - ], - "name": "std::result::Result" - } - } - ], [ { "StructType": { @@ -1987,7 +1704,7 @@ { "StructType": { "fields": "elided", - "name": "std::sys::pal::unix::process::process_common::ExitCode" + "name": "std::sys::process::unix::common::ExitCode" } } ], @@ -2040,11 +1757,6 @@ "RefType": "elided" } ], - [ - { - "RefType": "elided" - } - ], [ { "RefType": "elided" diff --git a/tests/integration/programs/sum-to-n.smir.json.expected b/tests/integration/programs/sum-to-n.smir.json.expected index b52b5d93..ca9a5684 100644 --- a/tests/integration/programs/sum-to-n.smir.json.expected +++ b/tests/integration/programs/sum-to-n.smir.json.expected @@ -108,26 +108,18 @@ { "kind": { "StorageLive": 5 - }, - "span": 1 - }, - { - "kind": { - "StorageLive": 6 - }, - "span": 2 + } }, { "kind": { - "StorageLive": 8 - }, - "span": 3 + "StorageLive": 7 + } }, { "kind": { "Assign": [ { - "local": 8, + "local": 7, "projection": [] }, { @@ -162,14 +154,13 @@ ] } ] - }, - "span": 3 + } }, { "kind": { "Assign": [ { - "local": 7, + "local": 6, "projection": [] }, { @@ -179,20 +170,19 @@ }, "Shared", { - "local": 8, + "local": 7, "projection": [] } ] } ] - }, - "span": 2 + } }, { "kind": { "Assign": [ { - "local": 6, + "local": 5, "projection": [] }, { @@ -202,7 +192,7 @@ }, { "Copy": { - "local": 7, + "local": 6, "projection": [] } }, @@ -210,8 +200,7 @@ ] } ] - }, - "span": 2 + } } ], "terminator": { @@ -220,7 +209,7 @@ "args": [ { "Move": { - "local": 6, + "local": 5, "projection": [] } }, @@ -244,7 +233,7 @@ } ], "destination": { - "local": 5, + "local": 0, "projection": [] }, "func": { @@ -261,114 +250,62 @@ "target": 1, "unwind": "Continue" } - }, - "span": 1 + } } }, { "statements": [ { "kind": { - "StorageDead": 6 - }, - "span": 5 - }, - { - "kind": { - "Assign": [ - { - "local": 0, - "projection": [] - }, - { - "Use": { - "Copy": { - "local": 5, - "projection": [ - { - "Downcast": 0 - }, - { - "Field": [ - 0, - 6 - ] - } - ] - } - } - } - ] - }, - "span": 6 - }, - { - "kind": { - "StorageDead": 8 - }, - "span": 7 + "StorageDead": 7 + } }, { "kind": { "StorageDead": 5 - }, - "span": 7 + } } ], "terminator": { - "kind": "Return", - "span": 4 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 8, "ty": 6 }, { "mutability": "Not", - "span": 9, "ty": 7 }, { "mutability": "Not", - "span": 10, "ty": 6 }, { "mutability": "Not", - "span": 11, "ty": 8 }, { "mutability": "Not", - "span": 12, "ty": 9 }, { "mutability": "Mut", - "span": 1, - "ty": 10 - }, - { - "mutability": "Mut", - "span": 2, "ty": 5 }, { "mutability": "Not", - "span": 2, - "ty": 11 + "ty": 10 }, { "mutability": "Not", - "span": 3, - "ty": 12 + "ty": 11 } ], - "span": 13, + "span": 11, "spread_arg": null, "var_debug_info": [ { @@ -377,7 +314,7 @@ "name": "main", "source_info": { "scope": 0, - "span": 9 + "span": 7 }, "value": { "Place": { @@ -392,7 +329,7 @@ "name": "argc", "source_info": { "scope": 0, - "span": 10 + "span": 8 }, "value": { "Place": { @@ -407,7 +344,7 @@ "name": "argv", "source_info": { "scope": 0, - "span": 11 + "span": 9 }, "value": { "Place": { @@ -422,7 +359,7 @@ "name": "sigpipe", "source_info": { "scope": 0, - "span": 12 + "span": 10 }, "value": { "Place": { @@ -430,21 +367,6 @@ "projection": [] } } - }, - { - "argument_index": null, - "composite": null, - "name": "v", - "source_info": { - "scope": 1, - "span": 6 - }, - "value": { - "Place": { - "local": 0, - "projection": [] - } - } } ] }, @@ -466,20 +388,17 @@ { "kind": { "StorageLive": 2 - }, - "span": 16 + } }, { "kind": { "StorageLive": 3 - }, - "span": 15 + } }, { "kind": { "StorageLive": 4 - }, - "span": 17 + } }, { "kind": { @@ -505,8 +424,7 @@ } } ] - }, - "span": 17 + } } ], "terminator": { @@ -529,17 +447,16 @@ "const_": { "id": 1, "kind": "ZeroSized", - "ty": 13 + "ty": 12 }, - "span": 14, + "span": 12, "user_ty": null } }, "target": 1, "unwind": "Continue" } - }, - "span": 15 + } } }, { @@ -547,8 +464,7 @@ { "kind": { "StorageDead": 4 - }, - "span": 19 + } } ], "terminator": { @@ -571,17 +487,16 @@ "const_": { "id": 2, "kind": "ZeroSized", - "ty": 14 + "ty": 13 }, - "span": 18, + "span": 16, "user_ty": null } }, "target": 2, "unwind": "Continue" } - }, - "span": 16 + } } }, { @@ -589,14 +504,12 @@ { "kind": { "StorageDead": 3 - }, - "span": 21 + } }, { "kind": { "StorageLive": 5 - }, - "span": 22 + } }, { "kind": { @@ -605,42 +518,6 @@ "local": 5, "projection": [] }, - { - "Ref": [ - { - "kind": "ReErased" - }, - "Shared", - { - "local": 2, - "projection": [ - { - "Field": [ - 0, - 15 - ] - } - ] - } - ] - } - ] - }, - "span": 22 - }, - { - "kind": { - "StorageLive": 6 - }, - "span": 23 - }, - { - "kind": { - "Assign": [ - { - "local": 6, - "projection": [] - }, { "Use": { "Copy": { @@ -649,7 +526,7 @@ { "Field": [ 0, - 15 + 14 ] }, { @@ -663,8 +540,7 @@ } } ] - }, - "span": 23 + } }, { "kind": { @@ -678,76 +554,55 @@ "IntToInt", { "Move": { - "local": 6, + "local": 5, "projection": [] } }, - 16 + 15 ] } ] - }, - "span": 24 - }, - { - "kind": { - "StorageDead": 6 - }, - "span": 25 + } }, { "kind": { "StorageDead": 5 - }, - "span": 26 + } }, { "kind": { "StorageDead": 2 - }, - "span": 27 + } } ], "terminator": { - "kind": "Return", - "span": 20 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 28, - "ty": 16 + "ty": 15 }, { "mutability": "Mut", - "span": 3, - "ty": 11 + "ty": 10 }, { "mutability": "Mut", - "span": 16, - "ty": 17 + "ty": 16 }, { "mutability": "Mut", - "span": 15, "ty": 1 }, { "mutability": "Mut", - "span": 17, "ty": 7 }, { "mutability": "Mut", - "span": 22, - "ty": 18 - }, - { - "mutability": "Mut", - "span": 23, "ty": 9 } ], @@ -760,7 +615,7 @@ "name": "main", "source_info": { "scope": 0, - "span": 9 + "span": 7 }, "value": { "Place": { @@ -783,7 +638,7 @@ "name": "self", "source_info": { "scope": 1, - "span": 29 + "span": 25 }, "value": { "Place": { @@ -791,21 +646,6 @@ "projection": [] } } - }, - { - "argument_index": 1, - "composite": null, - "name": "self", - "source_info": { - "scope": 2, - "span": 30 - }, - "value": { - "Place": { - "local": 5, - "projection": [] - } - } } ] }, @@ -841,7 +681,7 @@ "kind": "ZeroSized", "ty": 1 }, - "span": 32, + "span": 27, "user_ty": null } } @@ -855,17 +695,16 @@ "const_": { "id": 3, "kind": "ZeroSized", - "ty": 19 + "ty": 17 }, - "span": 31, + "span": 26, "user_ty": null } }, "target": 1, "unwind": "Continue" } - }, - "span": 33 + } } }, { @@ -881,7 +720,7 @@ "kind": "ZeroSized", "ty": 1 }, - "span": 32, + "span": 27, "user_ty": null } } @@ -895,45 +734,40 @@ "const_": { "id": 5, "kind": "ZeroSized", - "ty": 20 + "ty": 18 }, - "span": 34, + "span": 29, "user_ty": null } }, "target": 2, "unwind": "Unreachable" } - }, - "span": 35 + } } }, { "statements": [], "terminator": { - "kind": "Return", - "span": 36 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 37, "ty": 1 }, { "mutability": "Not", - "span": 38, "ty": 7 }, { "mutability": "Not", - "span": 39, "ty": 1 } ], - "span": 42, + "span": 37, "spread_arg": null, "var_debug_info": [ { @@ -942,7 +776,7 @@ "name": "f", "source_info": { "scope": 0, - "span": 38 + "span": 33 }, "value": { "Place": { @@ -957,7 +791,7 @@ "name": "result", "source_info": { "scope": 1, - "span": 40 + "span": 35 }, "value": { "Place": { @@ -972,7 +806,7 @@ "name": "dummy", "source_info": { "scope": 2, - "span": 41 + "span": 36 }, "value": { "Const": { @@ -981,7 +815,7 @@ "kind": "ZeroSized", "ty": 1 }, - "span": 32, + "span": 27, "user_ty": null } } @@ -1031,45 +865,40 @@ "const_": { "id": 6, "kind": "ZeroSized", - "ty": 21 + "ty": 19 }, - "span": 43, + "span": 38, "user_ty": null } }, "target": 1, "unwind": "Continue" } - }, - "span": 43 + } } }, { "statements": [], "terminator": { - "kind": "Return", - "span": 43 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 43, - "ty": 16 + "ty": 15 }, { "mutability": "Not", - "span": 43, - "ty": 22 + "ty": 20 }, { "mutability": "Not", - "span": 43, "ty": 1 } ], - "span": 43, + "span": 38, "spread_arg": 2, "var_debug_info": [] }, @@ -1079,71 +908,6 @@ }, "symbol_name": "_ZN4core3ops8function6FnOnce40call_once$u7b$$u7b$vtable.shim$u7d$$u7d$17h" }, - { - "details": null, - "mono_item_kind": { - "MonoItemFn": { - "body": { - "arg_count": 2, - "blocks": [ - { - "statements": [], - "terminator": { - "kind": { - "Call": { - "args": [], - "destination": { - "local": 0, - "projection": [] - }, - "func": { - "Move": { - "local": 1, - "projection": [] - } - }, - "target": 1, - "unwind": "Continue" - } - }, - "span": 43 - } - }, - { - "statements": [], - "terminator": { - "kind": "Return", - "span": 43 - } - } - ], - "locals": [ - { - "mutability": "Mut", - "span": 43, - "ty": 1 - }, - { - "mutability": "Not", - "span": 43, - "ty": 7 - }, - { - "mutability": "Not", - "span": 43, - "ty": 1 - } - ], - "span": 43, - "spread_arg": 2, - "var_debug_info": [] - }, - "id": 3, - "name": ">::call_once" - } - }, - "symbol_name": "_ZN4core3ops8function6FnOnce9call_once17h" - }, { "details": null, "mono_item_kind": { @@ -1177,8 +941,7 @@ ] } ] - }, - "span": 43 + } } ], "terminator": { @@ -1207,9 +970,9 @@ "const_": { "id": 7, "kind": "ZeroSized", - "ty": 23 + "ty": 21 }, - "span": 43, + "span": 38, "user_ty": null } }, @@ -1218,8 +981,7 @@ "Cleanup": 3 } } - }, - "span": 43 + } } }, { @@ -1234,15 +996,13 @@ "target": 2, "unwind": "Continue" } - }, - "span": 43 + } } }, { "statements": [], "terminator": { - "kind": "Return", - "span": 43 + "kind": "Return" } }, { @@ -1257,41 +1017,35 @@ "target": 4, "unwind": "Terminate" } - }, - "span": 43 + } } }, { "statements": [], "terminator": { - "kind": "Resume", - "span": 43 + "kind": "Resume" } } ], "locals": [ { "mutability": "Mut", - "span": 43, - "ty": 16 + "ty": 15 }, { "mutability": "Not", - "span": 43, - "ty": 12 + "ty": 11 }, { "mutability": "Not", - "span": 43, "ty": 1 }, { "mutability": "Not", - "span": 43, - "ty": 24 + "ty": 22 } ], - "span": 43, + "span": 38, "spread_arg": 2, "var_debug_info": [] }, @@ -1306,37 +1060,60 @@ "mono_item_kind": { "MonoItemFn": { "body": { - "arg_count": 1, + "arg_count": 2, "blocks": [ { "statements": [], "terminator": { - "kind": "Return", - "span": 44 + "kind": { + "Call": { + "args": [], + "destination": { + "local": 0, + "projection": [] + }, + "func": { + "Move": { + "local": 1, + "projection": [] + } + }, + "target": 1, + "unwind": "Continue" + } + } + } + }, + { + "statements": [], + "terminator": { + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 44, "ty": 1 }, { "mutability": "Not", - "span": 44, - "ty": 22 + "ty": 7 + }, + { + "mutability": "Not", + "ty": 1 } ], - "span": 44, - "spread_arg": null, + "span": 38, + "spread_arg": 2, "var_debug_info": [] }, - "id": 4, - "name": "std::ptr::drop_in_place::<{closure@std::rt::lang_start<()>::{closure#0}}>" + "id": 3, + "name": ">::call_once" } }, - "symbol_name": "_ZN4core3ptr85drop_in_place$LT$std..rt..lang_start$LT$$LP$$RP$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$17h" + "symbol_name": "_ZN4core3ops8function6FnOnce9call_once17h" }, { "details": null, @@ -1371,62 +1148,37 @@ } } }, - "ty": 17 + "ty": 16 }, - "span": 46, + "span": 27, "user_ty": null } } } ] - }, - "span": 46 + } } ], "terminator": { - "kind": "Return", - "span": 45 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 47, - "ty": 17 + "ty": 16 }, { "mutability": "Not", - "span": 48, "ty": 1 } ], - "span": 49, + "span": 43, "spread_arg": null, - "var_debug_info": [ - { - "argument_index": 1, - "composite": null, - "name": "self", - "source_info": { - "scope": 0, - "span": 48 - }, - "value": { - "Const": { - "const_": { - "id": 4, - "kind": "ZeroSized", - "ty": 1 - }, - "span": 32, - "user_ty": null - } - } - } - ] + "var_debug_info": [] }, - "id": 5, + "id": 4, "name": "<() as std::process::Termination>::report" } }, @@ -1472,16 +1224,15 @@ } } }, - "ty": 25 + "ty": 23 }, - "span": 71, + "span": 65, "user_ty": null } } } ] - }, - "span": 72 + } } ], "terminator": { @@ -1504,17 +1255,16 @@ "const_": { "id": 11, "kind": "ZeroSized", - "ty": 28 + "ty": 26 }, - "span": 69, + "span": 63, "user_ty": null } }, "target": 1, "unwind": "Continue" } - }, - "span": 70 + } } }, { @@ -1550,16 +1300,15 @@ } } }, - "ty": 25 + "ty": 23 }, - "span": 74, + "span": 68, "user_ty": null } } } ] - }, - "span": 75 + } }, { "kind": { @@ -1586,8 +1335,7 @@ ] } ] - }, - "span": 76 + } } ], "terminator": { @@ -1609,8 +1357,7 @@ "otherwise": 3 } } - }, - "span": 73 + } } }, { @@ -1655,9 +1402,9 @@ } } }, - "ty": 30 + "ty": 28 }, - "span": 32, + "span": 27, "user_ty": null } } @@ -1671,60 +1418,52 @@ "const_": { "id": 14, "kind": "ZeroSized", - "ty": 29 + "ty": 27 }, - "span": 77, + "span": 71, "user_ty": null } }, "target": null, "unwind": "Continue" } - }, - "span": 77 + } } }, { "statements": [], "terminator": { - "kind": "Return", - "span": 78 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 79, "ty": 1 }, { "mutability": "Not", - "span": 80, - "ty": 26 + "ty": 24 }, { "mutability": "Mut", - "span": 70, - "ty": 25 + "ty": 23 }, { "mutability": "Mut", - "span": 72, - "ty": 25 + "ty": 23 }, { "mutability": "Mut", - "span": 75, - "ty": 25 + "ty": 23 }, { "mutability": "Mut", - "span": 77, - "ty": 31 + "ty": 29 } ], - "span": 83, + "span": 77, "spread_arg": null, "var_debug_info": [ { @@ -1733,7 +1472,7 @@ "name": "n", "source_info": { "scope": 1, - "span": 81 + "span": 75 }, "value": { "Const": { @@ -1758,9 +1497,9 @@ } } }, - "ty": 25 + "ty": 23 }, - "span": 71, + "span": 65, "user_ty": null } } @@ -1771,7 +1510,7 @@ "name": "golden", "source_info": { "scope": 2, - "span": 82 + "span": 76 }, "value": { "Const": { @@ -1796,9 +1535,9 @@ } } }, - "ty": 25 + "ty": 23 }, - "span": 74, + "span": 68, "user_ty": null } } @@ -1809,7 +1548,7 @@ "name": "sucess", "source_info": { "scope": 3, - "span": 80 + "span": 74 }, "value": { "Place": { @@ -1820,7 +1559,7 @@ } ] }, - "id": 7, + "id": 6, "name": "test_sum_to_n" } }, @@ -1848,44 +1587,40 @@ "const_": { "id": 16, "kind": "ZeroSized", - "ty": 32 + "ty": 30 }, - "span": 84, + "span": 78, "user_ty": null } }, "target": 1, "unwind": "Continue" } - }, - "span": 85 + } } }, { "statements": [], "terminator": { - "kind": "Return", - "span": 86 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 87, "ty": 1 }, { "mutability": "Not", - "span": 85, "ty": 1 } ], - "span": 88, + "span": 82, "spread_arg": null, "var_debug_info": [] }, - "id": 8, + "id": 7, "name": "main" } }, @@ -1931,16 +1666,15 @@ } } }, - "ty": 25 + "ty": 23 }, - "span": 51, + "span": 45, "user_ty": null } } } ] - }, - "span": 51 + } }, { "kind": { @@ -1958,8 +1692,7 @@ } } ] - }, - "span": 52 + } } ], "terminator": { @@ -1967,8 +1700,7 @@ "Goto": { "target": 1 } - }, - "span": 50 + } } }, { @@ -1989,8 +1721,7 @@ } } ] - }, - "span": 54 + } }, { "kind": { @@ -2031,17 +1762,16 @@ } } }, - "ty": 25 + "ty": 23 }, - "span": 55, + "span": 49, "user_ty": null } } ] } ] - }, - "span": 53 + } } ], "terminator": { @@ -2063,8 +1793,7 @@ "otherwise": 2 } } - }, - "span": 53 + } } }, { @@ -2085,8 +1814,7 @@ } } ] - }, - "span": 57 + } }, { "kind": { @@ -2113,8 +1841,7 @@ ] } ] - }, - "span": 56 + } } ], "terminator": { @@ -2127,7 +1854,7 @@ { "Field": [ 1, - 26 + 24 ] } ] @@ -2154,8 +1881,7 @@ "target": 3, "unwind": "Continue" } - }, - "span": 56 + } } }, { @@ -2175,7 +1901,7 @@ { "Field": [ 0, - 25 + 23 ] } ] @@ -2183,8 +1909,7 @@ } } ] - }, - "span": 56 + } }, { "kind": { @@ -2202,8 +1927,7 @@ } } ] - }, - "span": 60 + } }, { "kind": { @@ -2244,17 +1968,16 @@ } } }, - "ty": 25 + "ty": 23 }, - "span": 58, + "span": 52, "user_ty": null } } ] } ] - }, - "span": 59 + } } ], "terminator": { @@ -2267,7 +1990,7 @@ { "Field": [ 1, - 26 + 24 ] } ] @@ -2306,9 +2029,9 @@ } } }, - "ty": 25 + "ty": 23 }, - "span": 58, + "span": 52, "user_ty": null } } @@ -2317,8 +2040,7 @@ "target": 4, "unwind": "Continue" } - }, - "span": 59 + } } }, { @@ -2338,7 +2060,7 @@ { "Field": [ 0, - 25 + 23 ] } ] @@ -2346,8 +2068,7 @@ } } ] - }, - "span": 61 + } } ], "terminator": { @@ -2355,8 +2076,7 @@ "Goto": { "target": 1 } - }, - "span": 50 + } } }, { @@ -2377,69 +2097,57 @@ } } ] - }, - "span": 63 + } } ], "terminator": { - "kind": "Return", - "span": 62 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 64, - "ty": 25 + "ty": 23 }, { "mutability": "Not", - "span": 65, - "ty": 25 + "ty": 23 }, { "mutability": "Mut", - "span": 66, - "ty": 25 + "ty": 23 }, { "mutability": "Mut", - "span": 67, - "ty": 25 + "ty": 23 }, { "mutability": "Mut", - "span": 53, - "ty": 26 + "ty": 24 }, { "mutability": "Mut", - "span": 54, - "ty": 25 + "ty": 23 }, { "mutability": "Mut", - "span": 57, - "ty": 25 + "ty": 23 }, { "mutability": "Mut", - "span": 56, - "ty": 27 + "ty": 25 }, { "mutability": "Mut", - "span": 60, - "ty": 25 + "ty": 23 }, { "mutability": "Mut", - "span": 59, - "ty": 27 + "ty": 25 } ], - "span": 68, + "span": 62, "spread_arg": null, "var_debug_info": [ { @@ -2448,7 +2156,7 @@ "name": "n", "source_info": { "scope": 0, - "span": 65 + "span": 59 }, "value": { "Place": { @@ -2463,7 +2171,7 @@ "name": "sum", "source_info": { "scope": 1, - "span": 66 + "span": 60 }, "value": { "Place": { @@ -2478,7 +2186,7 @@ "name": "counter", "source_info": { "scope": 2, - "span": 67 + "span": 61 }, "value": { "Place": { @@ -2489,7 +2197,7 @@ } ] }, - "id": 6, + "id": 5, "name": "sum_to_n" } }, @@ -2535,23 +2243,6 @@ } } ], - [ - { - "EnumType": { - "discriminants": [ - [ - 0, - 0 - ], - [ - 1, - 1 - ] - ], - "name": "std::result::Result" - } - } - ], [ { "StructType": { @@ -2572,7 +2263,7 @@ { "StructType": { "fields": "elided", - "name": "std::sys::pal::unix::process::process_common::ExitCode" + "name": "std::sys::process::unix::common::ExitCode" } } ], @@ -2625,11 +2316,6 @@ "RefType": "elided" } ], - [ - { - "RefType": "elided" - } - ], [ { "RefType": "elided" diff --git a/tests/integration/programs/tuple-eq.smir.json.expected b/tests/integration/programs/tuple-eq.smir.json.expected index ba0c1e39..9ec76915 100644 --- a/tests/integration/programs/tuple-eq.smir.json.expected +++ b/tests/integration/programs/tuple-eq.smir.json.expected @@ -138,26 +138,18 @@ { "kind": { "StorageLive": 5 - }, - "span": 1 - }, - { - "kind": { - "StorageLive": 6 - }, - "span": 2 + } }, { "kind": { - "StorageLive": 8 - }, - "span": 3 + "StorageLive": 7 + } }, { "kind": { "Assign": [ { - "local": 8, + "local": 7, "projection": [] }, { @@ -192,14 +184,13 @@ ] } ] - }, - "span": 3 + } }, { "kind": { "Assign": [ { - "local": 7, + "local": 6, "projection": [] }, { @@ -209,20 +200,19 @@ }, "Shared", { - "local": 8, + "local": 7, "projection": [] } ] } ] - }, - "span": 2 + } }, { "kind": { "Assign": [ { - "local": 6, + "local": 5, "projection": [] }, { @@ -232,7 +222,7 @@ }, { "Copy": { - "local": 7, + "local": 6, "projection": [] } }, @@ -240,8 +230,7 @@ ] } ] - }, - "span": 2 + } } ], "terminator": { @@ -250,7 +239,7 @@ "args": [ { "Move": { - "local": 6, + "local": 5, "projection": [] } }, @@ -274,7 +263,7 @@ } ], "destination": { - "local": 5, + "local": 0, "projection": [] }, "func": { @@ -291,114 +280,62 @@ "target": 1, "unwind": "Continue" } - }, - "span": 1 + } } }, { "statements": [ { "kind": { - "StorageDead": 6 - }, - "span": 5 - }, - { - "kind": { - "Assign": [ - { - "local": 0, - "projection": [] - }, - { - "Use": { - "Copy": { - "local": 5, - "projection": [ - { - "Downcast": 0 - }, - { - "Field": [ - 0, - 6 - ] - } - ] - } - } - } - ] - }, - "span": 6 - }, - { - "kind": { - "StorageDead": 8 - }, - "span": 7 + "StorageDead": 7 + } }, { "kind": { "StorageDead": 5 - }, - "span": 7 + } } ], "terminator": { - "kind": "Return", - "span": 4 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 8, "ty": 6 }, { "mutability": "Not", - "span": 9, "ty": 7 }, { "mutability": "Not", - "span": 10, "ty": 6 }, { "mutability": "Not", - "span": 11, "ty": 8 }, { "mutability": "Not", - "span": 12, "ty": 9 }, { "mutability": "Mut", - "span": 1, - "ty": 10 - }, - { - "mutability": "Mut", - "span": 2, "ty": 5 }, { "mutability": "Not", - "span": 2, - "ty": 11 + "ty": 10 }, { "mutability": "Not", - "span": 3, - "ty": 12 + "ty": 11 } ], - "span": 13, + "span": 11, "spread_arg": null, "var_debug_info": [ { @@ -407,7 +344,7 @@ "name": "main", "source_info": { "scope": 0, - "span": 9 + "span": 7 }, "value": { "Place": { @@ -422,7 +359,7 @@ "name": "argc", "source_info": { "scope": 0, - "span": 10 + "span": 8 }, "value": { "Place": { @@ -437,7 +374,7 @@ "name": "argv", "source_info": { "scope": 0, - "span": 11 + "span": 9 }, "value": { "Place": { @@ -452,7 +389,7 @@ "name": "sigpipe", "source_info": { "scope": 0, - "span": 12 + "span": 10 }, "value": { "Place": { @@ -460,21 +397,6 @@ "projection": [] } } - }, - { - "argument_index": null, - "composite": null, - "name": "v", - "source_info": { - "scope": 1, - "span": 6 - }, - "value": { - "Place": { - "local": 0, - "projection": [] - } - } } ] }, @@ -496,20 +418,17 @@ { "kind": { "StorageLive": 2 - }, - "span": 16 + } }, { "kind": { "StorageLive": 3 - }, - "span": 15 + } }, { "kind": { "StorageLive": 4 - }, - "span": 17 + } }, { "kind": { @@ -535,8 +454,7 @@ } } ] - }, - "span": 17 + } } ], "terminator": { @@ -559,17 +477,16 @@ "const_": { "id": 1, "kind": "ZeroSized", - "ty": 13 + "ty": 12 }, - "span": 14, + "span": 12, "user_ty": null } }, "target": 1, "unwind": "Continue" } - }, - "span": 15 + } } }, { @@ -577,8 +494,7 @@ { "kind": { "StorageDead": 4 - }, - "span": 19 + } } ], "terminator": { @@ -601,17 +517,16 @@ "const_": { "id": 2, "kind": "ZeroSized", - "ty": 14 + "ty": 13 }, - "span": 18, + "span": 16, "user_ty": null } }, "target": 2, "unwind": "Continue" } - }, - "span": 16 + } } }, { @@ -619,14 +534,12 @@ { "kind": { "StorageDead": 3 - }, - "span": 21 + } }, { "kind": { "StorageLive": 5 - }, - "span": 22 + } }, { "kind": { @@ -635,42 +548,6 @@ "local": 5, "projection": [] }, - { - "Ref": [ - { - "kind": "ReErased" - }, - "Shared", - { - "local": 2, - "projection": [ - { - "Field": [ - 0, - 15 - ] - } - ] - } - ] - } - ] - }, - "span": 22 - }, - { - "kind": { - "StorageLive": 6 - }, - "span": 23 - }, - { - "kind": { - "Assign": [ - { - "local": 6, - "projection": [] - }, { "Use": { "Copy": { @@ -679,7 +556,7 @@ { "Field": [ 0, - 15 + 14 ] }, { @@ -693,8 +570,7 @@ } } ] - }, - "span": 23 + } }, { "kind": { @@ -708,76 +584,55 @@ "IntToInt", { "Move": { - "local": 6, + "local": 5, "projection": [] } }, - 16 + 15 ] } ] - }, - "span": 24 - }, - { - "kind": { - "StorageDead": 6 - }, - "span": 25 + } }, { "kind": { "StorageDead": 5 - }, - "span": 26 + } }, { "kind": { "StorageDead": 2 - }, - "span": 27 + } } ], "terminator": { - "kind": "Return", - "span": 20 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 28, - "ty": 16 + "ty": 15 }, { "mutability": "Mut", - "span": 3, - "ty": 11 + "ty": 10 }, { "mutability": "Mut", - "span": 16, - "ty": 17 + "ty": 16 }, { "mutability": "Mut", - "span": 15, "ty": 1 }, { "mutability": "Mut", - "span": 17, "ty": 7 }, { "mutability": "Mut", - "span": 22, - "ty": 18 - }, - { - "mutability": "Mut", - "span": 23, "ty": 9 } ], @@ -790,7 +645,7 @@ "name": "main", "source_info": { "scope": 0, - "span": 9 + "span": 7 }, "value": { "Place": { @@ -813,7 +668,7 @@ "name": "self", "source_info": { "scope": 1, - "span": 29 + "span": 25 }, "value": { "Place": { @@ -821,21 +676,6 @@ "projection": [] } } - }, - { - "argument_index": 1, - "composite": null, - "name": "self", - "source_info": { - "scope": 2, - "span": 30 - }, - "value": { - "Place": { - "local": 5, - "projection": [] - } - } } ] }, @@ -871,7 +711,7 @@ "kind": "ZeroSized", "ty": 1 }, - "span": 32, + "span": 27, "user_ty": null } } @@ -885,17 +725,16 @@ "const_": { "id": 3, "kind": "ZeroSized", - "ty": 19 + "ty": 17 }, - "span": 31, + "span": 26, "user_ty": null } }, "target": 1, "unwind": "Continue" } - }, - "span": 33 + } } }, { @@ -911,7 +750,7 @@ "kind": "ZeroSized", "ty": 1 }, - "span": 32, + "span": 27, "user_ty": null } } @@ -925,45 +764,40 @@ "const_": { "id": 5, "kind": "ZeroSized", - "ty": 20 + "ty": 18 }, - "span": 34, + "span": 29, "user_ty": null } }, "target": 2, "unwind": "Unreachable" } - }, - "span": 35 + } } }, { "statements": [], "terminator": { - "kind": "Return", - "span": 36 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 37, "ty": 1 }, { "mutability": "Not", - "span": 38, "ty": 7 }, { "mutability": "Not", - "span": 39, "ty": 1 } ], - "span": 42, + "span": 37, "spread_arg": null, "var_debug_info": [ { @@ -972,7 +806,7 @@ "name": "f", "source_info": { "scope": 0, - "span": 38 + "span": 33 }, "value": { "Place": { @@ -987,7 +821,7 @@ "name": "result", "source_info": { "scope": 1, - "span": 40 + "span": 35 }, "value": { "Place": { @@ -1002,7 +836,7 @@ "name": "dummy", "source_info": { "scope": 2, - "span": 41 + "span": 36 }, "value": { "Const": { @@ -1011,7 +845,7 @@ "kind": "ZeroSized", "ty": 1 }, - "span": 32, + "span": 27, "user_ty": null } } @@ -1036,8 +870,7 @@ { "kind": { "StorageLive": 3 - }, - "span": 44 + } }, { "kind": { @@ -1057,14 +890,12 @@ } } ] - }, - "span": 44 + } }, { "kind": { "StorageLive": 4 - }, - "span": 45 + } }, { "kind": { @@ -1084,8 +915,7 @@ } } ] - }, - "span": 45 + } }, { "kind": { @@ -1112,56 +942,47 @@ ] } ] - }, - "span": 46 + } }, { "kind": { "StorageDead": 4 - }, - "span": 47 + } }, { "kind": { "StorageDead": 3 - }, - "span": 47 + } } ], "terminator": { - "kind": "Return", - "span": 43 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 48, - "ty": 21 + "ty": 19 }, { "mutability": "Not", - "span": 49, - "ty": 22 + "ty": 20 }, { "mutability": "Not", - "span": 50, - "ty": 22 + "ty": 20 }, { "mutability": "Mut", - "span": 44, - "ty": 16 + "ty": 15 }, { "mutability": "Mut", - "span": 45, - "ty": 16 + "ty": 15 } ], - "span": 51, + "span": 46, "spread_arg": null, "var_debug_info": [ { @@ -1170,7 +991,7 @@ "name": "self", "source_info": { "scope": 0, - "span": 49 + "span": 44 }, "value": { "Place": { @@ -1185,7 +1006,7 @@ "name": "other", "source_info": { "scope": 0, - "span": 50 + "span": 45 }, "value": { "Place": { @@ -1239,45 +1060,40 @@ "const_": { "id": 6, "kind": "ZeroSized", - "ty": 23 + "ty": 21 }, - "span": 52, + "span": 47, "user_ty": null } }, "target": 1, "unwind": "Continue" } - }, - "span": 52 + } } }, { "statements": [], "terminator": { - "kind": "Return", - "span": 52 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 52, - "ty": 16 + "ty": 15 }, { "mutability": "Not", - "span": 52, - "ty": 24 + "ty": 22 }, { "mutability": "Not", - "span": 52, "ty": 1 } ], - "span": 52, + "span": 47, "spread_arg": 2, "var_debug_info": [] }, @@ -1320,8 +1136,7 @@ ] } ] - }, - "span": 52 + } } ], "terminator": { @@ -1350,9 +1165,9 @@ "const_": { "id": 7, "kind": "ZeroSized", - "ty": 25 + "ty": 23 }, - "span": 52, + "span": 47, "user_ty": null } }, @@ -1361,8 +1176,7 @@ "Cleanup": 3 } } - }, - "span": 52 + } } }, { @@ -1377,15 +1191,13 @@ "target": 2, "unwind": "Continue" } - }, - "span": 52 + } } }, { "statements": [], "terminator": { - "kind": "Return", - "span": 52 + "kind": "Return" } }, { @@ -1400,41 +1212,35 @@ "target": 4, "unwind": "Terminate" } - }, - "span": 52 + } } }, { "statements": [], "terminator": { - "kind": "Resume", - "span": 52 + "kind": "Resume" } } ], "locals": [ { "mutability": "Mut", - "span": 52, - "ty": 16 + "ty": 15 }, { "mutability": "Not", - "span": 52, - "ty": 12 + "ty": 11 }, { "mutability": "Not", - "span": 52, "ty": 1 }, { "mutability": "Not", - "span": 52, - "ty": 26 + "ty": 24 } ], - "span": 52, + "span": 47, "spread_arg": 2, "var_debug_info": [] }, @@ -1470,36 +1276,31 @@ "target": 1, "unwind": "Continue" } - }, - "span": 52 + } } }, { "statements": [], "terminator": { - "kind": "Return", - "span": 52 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 52, "ty": 1 }, { "mutability": "Not", - "span": 52, "ty": 7 }, { "mutability": "Not", - "span": 52, "ty": 1 } ], - "span": 52, + "span": 47, "spread_arg": 2, "var_debug_info": [] }, @@ -1509,43 +1310,6 @@ }, "symbol_name": "_ZN4core3ops8function6FnOnce9call_once17h" }, - { - "details": null, - "mono_item_kind": { - "MonoItemFn": { - "body": { - "arg_count": 1, - "blocks": [ - { - "statements": [], - "terminator": { - "kind": "Return", - "span": 53 - } - } - ], - "locals": [ - { - "mutability": "Mut", - "span": 53, - "ty": 1 - }, - { - "mutability": "Not", - "span": 53, - "ty": 24 - } - ], - "span": 53, - "spread_arg": null, - "var_debug_info": [] - }, - "id": 5, - "name": "std::ptr::drop_in_place::<{closure@std::rt::lang_start<()>::{closure#0}}>" - } - }, - "symbol_name": "_ZN4core3ptr85drop_in_place$LT$std..rt..lang_start$LT$$LP$$RP$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$17h" - }, { "details": null, "mono_item_kind": { @@ -1558,14 +1322,12 @@ { "kind": { "StorageLive": 3 - }, - "span": 54 + } }, { "kind": { "StorageLive": 4 - }, - "span": 55 + } }, { "kind": { @@ -1587,7 +1349,7 @@ { "Field": [ 0, - 16 + 15 ] } ] @@ -1595,14 +1357,12 @@ ] } ] - }, - "span": 55 + } }, { "kind": { "StorageLive": 5 - }, - "span": 56 + } }, { "kind": { @@ -1624,7 +1384,7 @@ { "Field": [ 0, - 16 + 15 ] } ] @@ -1632,8 +1392,7 @@ ] } ] - }, - "span": 56 + } } ], "terminator": { @@ -1662,17 +1421,16 @@ "const_": { "id": 8, "kind": "ZeroSized", - "ty": 27 + "ty": 25 }, - "span": 54, + "span": 48, "user_ty": null } }, "target": 1, "unwind": "Continue" } - }, - "span": 54 + } } }, { @@ -1696,8 +1454,7 @@ "otherwise": 2 } } - }, - "span": 54 + } } }, { @@ -1705,20 +1462,17 @@ { "kind": { "StorageDead": 5 - }, - "span": 57 + } }, { "kind": { "StorageDead": 4 - }, - "span": 57 + } }, { "kind": { "StorageLive": 6 - }, - "span": 55 + } }, { "kind": { @@ -1740,7 +1494,7 @@ { "Field": [ 1, - 16 + 15 ] } ] @@ -1748,14 +1502,12 @@ ] } ] - }, - "span": 55 + } }, { "kind": { "StorageLive": 7 - }, - "span": 56 + } }, { "kind": { @@ -1777,7 +1529,7 @@ { "Field": [ 1, - 16 + 15 ] } ] @@ -1785,8 +1537,7 @@ ] } ] - }, - "span": 56 + } } ], "terminator": { @@ -1815,17 +1566,16 @@ "const_": { "id": 8, "kind": "ZeroSized", - "ty": 27 + "ty": 25 }, - "span": 54, + "span": 48, "user_ty": null } }, "target": 4, "unwind": "Continue" } - }, - "span": 54 + } } }, { @@ -1833,14 +1583,12 @@ { "kind": { "StorageDead": 5 - }, - "span": 57 + } }, { "kind": { "StorageDead": 4 - }, - "span": 57 + } }, { "kind": { @@ -1866,16 +1614,15 @@ } } }, - "ty": 21 + "ty": 19 }, - "span": 54, + "span": 27, "user_ty": null } } } ] - }, - "span": 54 + } } ], "terminator": { @@ -1883,8 +1630,7 @@ "Goto": { "target": 5 } - }, - "span": 54 + } } }, { @@ -1892,14 +1638,12 @@ { "kind": { "StorageDead": 7 - }, - "span": 57 + } }, { "kind": { "StorageDead": 6 - }, - "span": 57 + } } ], "terminator": { @@ -1907,8 +1651,7 @@ "Goto": { "target": 5 } - }, - "span": 54 + } } }, { @@ -1916,59 +1659,49 @@ { "kind": { "StorageDead": 3 - }, - "span": 57 + } } ], "terminator": { - "kind": "Return", - "span": 58 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 59, - "ty": 21 + "ty": 19 }, { "mutability": "Not", - "span": 60, - "ty": 28 + "ty": 26 }, { "mutability": "Not", - "span": 61, - "ty": 28 + "ty": 26 }, { "mutability": "Mut", - "span": 54, - "ty": 21 + "ty": 19 }, { "mutability": "Mut", - "span": 55, - "ty": 22 + "ty": 20 }, { "mutability": "Mut", - "span": 56, - "ty": 22 + "ty": 20 }, { "mutability": "Mut", - "span": 55, - "ty": 22 + "ty": 20 }, { "mutability": "Mut", - "span": 56, - "ty": 22 + "ty": 20 } ], - "span": 62, + "span": 56, "spread_arg": null, "var_debug_info": [ { @@ -1977,7 +1710,7 @@ "name": "self", "source_info": { "scope": 0, - "span": 60 + "span": 54 }, "value": { "Place": { @@ -1992,7 +1725,7 @@ "name": "other", "source_info": { "scope": 0, - "span": 61 + "span": 55 }, "value": { "Place": { @@ -2003,7 +1736,7 @@ } ] }, - "id": 6, + "id": 5, "name": "core::tuple::::eq" } }, @@ -2042,62 +1775,37 @@ } } }, - "ty": 17 + "ty": 16 }, - "span": 64, + "span": 27, "user_ty": null } } } ] - }, - "span": 64 + } } ], "terminator": { - "kind": "Return", - "span": 63 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 65, - "ty": 17 + "ty": 16 }, { "mutability": "Not", - "span": 66, "ty": 1 } ], - "span": 67, + "span": 61, "spread_arg": null, - "var_debug_info": [ - { - "argument_index": 1, - "composite": null, - "name": "self", - "source_info": { - "scope": 0, - "span": 66 - }, - "value": { - "Const": { - "const_": { - "id": 4, - "kind": "ZeroSized", - "ty": 1 - }, - "span": 32, - "user_ty": null - } - } - } - ] + "var_debug_info": [] }, - "id": 7, + "id": 6, "name": "<() as std::process::Termination>::report" } }, @@ -2142,9 +1850,9 @@ } } }, - "ty": 16 + "ty": 15 }, - "span": 69, + "span": 63, "user_ty": null } }, @@ -2167,9 +1875,9 @@ } } }, - "ty": 16 + "ty": 15 }, - "span": 70, + "span": 64, "user_ty": null } } @@ -2177,8 +1885,7 @@ ] } ] - }, - "span": 71 + } }, { "kind": { @@ -2200,8 +1907,7 @@ ] } ] - }, - "span": 72 + } }, { "kind": { @@ -2239,16 +1945,15 @@ } } }, - "ty": 28 + "ty": 26 }, - "span": 73, + "span": 67, "user_ty": null } } } ] - }, - "span": 73 + } } ], "terminator": { @@ -2277,17 +1982,16 @@ "const_": { "id": 11, "kind": "ZeroSized", - "ty": 29 + "ty": 27 }, - "span": 68, + "span": 62, "user_ty": null } }, "target": 1, "unwind": "Continue" } - }, - "span": 68 + } } }, { @@ -2311,15 +2015,13 @@ "otherwise": 2 } } - }, - "span": 68 + } } }, { "statements": [], "terminator": { - "kind": "Return", - "span": 74 + "kind": "Return" } }, { @@ -2364,9 +2066,9 @@ } } }, - "ty": 31 + "ty": 29 }, - "span": 32, + "span": 27, "user_ty": null } } @@ -2380,53 +2082,46 @@ "const_": { "id": 15, "kind": "ZeroSized", - "ty": 30 + "ty": 28 }, - "span": 75, + "span": 69, "user_ty": null } }, "target": null, "unwind": "Continue" } - }, - "span": 75 + } } } ], "locals": [ { "mutability": "Mut", - "span": 76, "ty": 1 }, { "mutability": "Not", - "span": 77, - "ty": 32 + "ty": 30 }, { "mutability": "Mut", - "span": 68, - "ty": 21 + "ty": 19 }, { "mutability": "Mut", - "span": 72, - "ty": 28 + "ty": 26 }, { "mutability": "Mut", - "span": 73, - "ty": 28 + "ty": 26 }, { "mutability": "Mut", - "span": 75, - "ty": 33 + "ty": 31 } ], - "span": 78, + "span": 72, "spread_arg": null, "var_debug_info": [ { @@ -2435,7 +2130,7 @@ "name": "tup", "source_info": { "scope": 1, - "span": 77 + "span": 71 }, "value": { "Place": { @@ -2446,7 +2141,7 @@ } ] }, - "id": 8, + "id": 7, "name": "main" } }, @@ -2485,23 +2180,6 @@ } } ], - [ - { - "EnumType": { - "discriminants": [ - [ - 0, - 0 - ], - [ - 1, - 1 - ] - ], - "name": "std::result::Result" - } - } - ], [ { "StructType": { @@ -2522,7 +2200,7 @@ { "StructType": { "fields": "elided", - "name": "std::sys::pal::unix::process::process_common::ExitCode" + "name": "std::sys::process::unix::common::ExitCode" } } ], @@ -2585,11 +2263,6 @@ "RefType": "elided" } ], - [ - { - "RefType": "elided" - } - ], [ { "RefType": "elided" diff --git a/tests/integration/programs/tuples-simple.smir.json.expected b/tests/integration/programs/tuples-simple.smir.json.expected index 55ffc134..1a3397b1 100644 --- a/tests/integration/programs/tuples-simple.smir.json.expected +++ b/tests/integration/programs/tuples-simple.smir.json.expected @@ -133,9 +133,9 @@ } } }, - "ty": 16 + "ty": 15 }, - "span": 51, + "span": 45, "user_ty": null } }, @@ -158,9 +158,9 @@ } } }, - "ty": 16 + "ty": 15 }, - "span": 52, + "span": 46, "user_ty": null } } @@ -168,8 +168,7 @@ ] } ] - }, - "span": 53 + } }, { "kind": { @@ -186,7 +185,7 @@ { "Field": [ 0, - 16 + 15 ] } ] @@ -194,8 +193,7 @@ } } ] - }, - "span": 54 + } }, { "kind": { @@ -212,7 +210,7 @@ { "Field": [ 1, - 16 + 15 ] } ] @@ -220,8 +218,7 @@ } } ] - }, - "span": 55 + } }, { "kind": { @@ -248,8 +245,7 @@ ] } ] - }, - "span": 50 + } } ], "terminator": { @@ -271,15 +267,13 @@ "otherwise": 1 } } - }, - "span": 50 + } } }, { "statements": [], "terminator": { - "kind": "Return", - "span": 56 + "kind": "Return" } }, { @@ -324,9 +318,9 @@ } } }, - "ty": 26 + "ty": 24 }, - "span": 32, + "span": 27, "user_ty": null } } @@ -340,53 +334,46 @@ "const_": { "id": 11, "kind": "ZeroSized", - "ty": 25 + "ty": 23 }, - "span": 57, + "span": 51, "user_ty": null } }, "target": null, "unwind": "Continue" } - }, - "span": 57 + } } } ], "locals": [ { "mutability": "Mut", - "span": 58, "ty": 1 }, { "mutability": "Not", - "span": 59, - "ty": 27 + "ty": 25 }, { "mutability": "Mut", - "span": 50, - "ty": 28 + "ty": 26 }, { "mutability": "Mut", - "span": 54, - "ty": 16 + "ty": 15 }, { "mutability": "Mut", - "span": 55, - "ty": 16 + "ty": 15 }, { "mutability": "Mut", - "span": 57, - "ty": 29 + "ty": 27 } ], - "span": 60, + "span": 54, "spread_arg": null, "var_debug_info": [ { @@ -395,7 +382,7 @@ "name": "tup", "source_info": { "scope": 1, - "span": 59 + "span": 53 }, "value": { "Place": { @@ -406,7 +393,7 @@ } ] }, - "id": 6, + "id": 5, "name": "main" } }, @@ -424,26 +411,18 @@ { "kind": { "StorageLive": 5 - }, - "span": 1 - }, - { - "kind": { - "StorageLive": 6 - }, - "span": 2 + } }, { "kind": { - "StorageLive": 8 - }, - "span": 3 + "StorageLive": 7 + } }, { "kind": { "Assign": [ { - "local": 8, + "local": 7, "projection": [] }, { @@ -478,14 +457,13 @@ ] } ] - }, - "span": 3 + } }, { "kind": { "Assign": [ { - "local": 7, + "local": 6, "projection": [] }, { @@ -495,20 +473,19 @@ }, "Shared", { - "local": 8, + "local": 7, "projection": [] } ] } ] - }, - "span": 2 + } }, { "kind": { "Assign": [ { - "local": 6, + "local": 5, "projection": [] }, { @@ -518,7 +495,7 @@ }, { "Copy": { - "local": 7, + "local": 6, "projection": [] } }, @@ -526,8 +503,7 @@ ] } ] - }, - "span": 2 + } } ], "terminator": { @@ -536,7 +512,7 @@ "args": [ { "Move": { - "local": 6, + "local": 5, "projection": [] } }, @@ -560,7 +536,7 @@ } ], "destination": { - "local": 5, + "local": 0, "projection": [] }, "func": { @@ -577,114 +553,62 @@ "target": 1, "unwind": "Continue" } - }, - "span": 1 + } } }, { "statements": [ { "kind": { - "StorageDead": 6 - }, - "span": 5 - }, - { - "kind": { - "Assign": [ - { - "local": 0, - "projection": [] - }, - { - "Use": { - "Copy": { - "local": 5, - "projection": [ - { - "Downcast": 0 - }, - { - "Field": [ - 0, - 6 - ] - } - ] - } - } - } - ] - }, - "span": 6 - }, - { - "kind": { - "StorageDead": 8 - }, - "span": 7 + "StorageDead": 7 + } }, { "kind": { "StorageDead": 5 - }, - "span": 7 + } } ], "terminator": { - "kind": "Return", - "span": 4 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 8, "ty": 6 }, { "mutability": "Not", - "span": 9, "ty": 7 }, { "mutability": "Not", - "span": 10, "ty": 6 }, { "mutability": "Not", - "span": 11, "ty": 8 }, { "mutability": "Not", - "span": 12, "ty": 9 }, { "mutability": "Mut", - "span": 1, - "ty": 10 - }, - { - "mutability": "Mut", - "span": 2, "ty": 5 }, { "mutability": "Not", - "span": 2, - "ty": 11 + "ty": 10 }, { "mutability": "Not", - "span": 3, - "ty": 12 + "ty": 11 } ], - "span": 13, + "span": 11, "spread_arg": null, "var_debug_info": [ { @@ -693,7 +617,7 @@ "name": "main", "source_info": { "scope": 0, - "span": 9 + "span": 7 }, "value": { "Place": { @@ -708,7 +632,7 @@ "name": "argc", "source_info": { "scope": 0, - "span": 10 + "span": 8 }, "value": { "Place": { @@ -723,7 +647,7 @@ "name": "argv", "source_info": { "scope": 0, - "span": 11 + "span": 9 }, "value": { "Place": { @@ -738,7 +662,7 @@ "name": "sigpipe", "source_info": { "scope": 0, - "span": 12 + "span": 10 }, "value": { "Place": { @@ -746,21 +670,6 @@ "projection": [] } } - }, - { - "argument_index": null, - "composite": null, - "name": "v", - "source_info": { - "scope": 1, - "span": 6 - }, - "value": { - "Place": { - "local": 0, - "projection": [] - } - } } ] }, @@ -782,20 +691,17 @@ { "kind": { "StorageLive": 2 - }, - "span": 16 + } }, { "kind": { "StorageLive": 3 - }, - "span": 15 + } }, { "kind": { "StorageLive": 4 - }, - "span": 17 + } }, { "kind": { @@ -821,8 +727,7 @@ } } ] - }, - "span": 17 + } } ], "terminator": { @@ -845,17 +750,16 @@ "const_": { "id": 1, "kind": "ZeroSized", - "ty": 13 + "ty": 12 }, - "span": 14, + "span": 12, "user_ty": null } }, "target": 1, "unwind": "Continue" } - }, - "span": 15 + } } }, { @@ -863,8 +767,7 @@ { "kind": { "StorageDead": 4 - }, - "span": 19 + } } ], "terminator": { @@ -887,17 +790,16 @@ "const_": { "id": 2, "kind": "ZeroSized", - "ty": 14 + "ty": 13 }, - "span": 18, + "span": 16, "user_ty": null } }, "target": 2, "unwind": "Continue" } - }, - "span": 16 + } } }, { @@ -905,14 +807,12 @@ { "kind": { "StorageDead": 3 - }, - "span": 21 + } }, { "kind": { "StorageLive": 5 - }, - "span": 22 + } }, { "kind": { @@ -921,42 +821,6 @@ "local": 5, "projection": [] }, - { - "Ref": [ - { - "kind": "ReErased" - }, - "Shared", - { - "local": 2, - "projection": [ - { - "Field": [ - 0, - 15 - ] - } - ] - } - ] - } - ] - }, - "span": 22 - }, - { - "kind": { - "StorageLive": 6 - }, - "span": 23 - }, - { - "kind": { - "Assign": [ - { - "local": 6, - "projection": [] - }, { "Use": { "Copy": { @@ -965,7 +829,7 @@ { "Field": [ 0, - 15 + 14 ] }, { @@ -979,8 +843,7 @@ } } ] - }, - "span": 23 + } }, { "kind": { @@ -994,76 +857,55 @@ "IntToInt", { "Move": { - "local": 6, + "local": 5, "projection": [] } }, - 16 + 15 ] } ] - }, - "span": 24 - }, - { - "kind": { - "StorageDead": 6 - }, - "span": 25 + } }, { "kind": { "StorageDead": 5 - }, - "span": 26 + } }, { "kind": { "StorageDead": 2 - }, - "span": 27 + } } ], "terminator": { - "kind": "Return", - "span": 20 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 28, - "ty": 16 + "ty": 15 }, { "mutability": "Mut", - "span": 3, - "ty": 11 + "ty": 10 }, { "mutability": "Mut", - "span": 16, - "ty": 17 + "ty": 16 }, { "mutability": "Mut", - "span": 15, "ty": 1 }, { "mutability": "Mut", - "span": 17, "ty": 7 }, { "mutability": "Mut", - "span": 22, - "ty": 18 - }, - { - "mutability": "Mut", - "span": 23, "ty": 9 } ], @@ -1076,7 +918,7 @@ "name": "main", "source_info": { "scope": 0, - "span": 9 + "span": 7 }, "value": { "Place": { @@ -1099,7 +941,7 @@ "name": "self", "source_info": { "scope": 1, - "span": 29 + "span": 25 }, "value": { "Place": { @@ -1107,21 +949,6 @@ "projection": [] } } - }, - { - "argument_index": 1, - "composite": null, - "name": "self", - "source_info": { - "scope": 2, - "span": 30 - }, - "value": { - "Place": { - "local": 5, - "projection": [] - } - } } ] }, @@ -1157,7 +984,7 @@ "kind": "ZeroSized", "ty": 1 }, - "span": 32, + "span": 27, "user_ty": null } } @@ -1171,17 +998,16 @@ "const_": { "id": 3, "kind": "ZeroSized", - "ty": 19 + "ty": 17 }, - "span": 31, + "span": 26, "user_ty": null } }, "target": 1, "unwind": "Continue" } - }, - "span": 33 + } } }, { @@ -1197,7 +1023,7 @@ "kind": "ZeroSized", "ty": 1 }, - "span": 32, + "span": 27, "user_ty": null } } @@ -1211,45 +1037,40 @@ "const_": { "id": 5, "kind": "ZeroSized", - "ty": 20 + "ty": 18 }, - "span": 34, + "span": 29, "user_ty": null } }, "target": 2, "unwind": "Unreachable" } - }, - "span": 35 + } } }, { "statements": [], "terminator": { - "kind": "Return", - "span": 36 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 37, "ty": 1 }, { "mutability": "Not", - "span": 38, "ty": 7 }, { "mutability": "Not", - "span": 39, "ty": 1 } ], - "span": 42, + "span": 37, "spread_arg": null, "var_debug_info": [ { @@ -1258,7 +1079,7 @@ "name": "f", "source_info": { "scope": 0, - "span": 38 + "span": 33 }, "value": { "Place": { @@ -1273,7 +1094,7 @@ "name": "result", "source_info": { "scope": 1, - "span": 40 + "span": 35 }, "value": { "Place": { @@ -1288,7 +1109,7 @@ "name": "dummy", "source_info": { "scope": 2, - "span": 41 + "span": 36 }, "value": { "Const": { @@ -1297,7 +1118,7 @@ "kind": "ZeroSized", "ty": 1 }, - "span": 32, + "span": 27, "user_ty": null } } @@ -1347,45 +1168,40 @@ "const_": { "id": 6, "kind": "ZeroSized", - "ty": 21 + "ty": 19 }, - "span": 43, + "span": 38, "user_ty": null } }, "target": 1, "unwind": "Continue" } - }, - "span": 43 + } } }, { "statements": [], "terminator": { - "kind": "Return", - "span": 43 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 43, - "ty": 16 + "ty": 15 }, { "mutability": "Not", - "span": 43, - "ty": 22 + "ty": 20 }, { "mutability": "Not", - "span": 43, "ty": 1 } ], - "span": 43, + "span": 38, "spread_arg": 2, "var_debug_info": [] }, @@ -1428,8 +1244,7 @@ ] } ] - }, - "span": 43 + } } ], "terminator": { @@ -1458,9 +1273,9 @@ "const_": { "id": 7, "kind": "ZeroSized", - "ty": 23 + "ty": 21 }, - "span": 43, + "span": 38, "user_ty": null } }, @@ -1469,8 +1284,7 @@ "Cleanup": 3 } } - }, - "span": 43 + } } }, { @@ -1485,15 +1299,13 @@ "target": 2, "unwind": "Continue" } - }, - "span": 43 + } } }, { "statements": [], "terminator": { - "kind": "Return", - "span": 43 + "kind": "Return" } }, { @@ -1508,41 +1320,35 @@ "target": 4, "unwind": "Terminate" } - }, - "span": 43 + } } }, { "statements": [], "terminator": { - "kind": "Resume", - "span": 43 + "kind": "Resume" } } ], "locals": [ { "mutability": "Mut", - "span": 43, - "ty": 16 + "ty": 15 }, { "mutability": "Not", - "span": 43, - "ty": 12 + "ty": 11 }, { "mutability": "Not", - "span": 43, "ty": 1 }, { "mutability": "Not", - "span": 43, - "ty": 24 + "ty": 22 } ], - "span": 43, + "span": 38, "spread_arg": 2, "var_debug_info": [] }, @@ -1578,36 +1384,31 @@ "target": 1, "unwind": "Continue" } - }, - "span": 43 + } } }, { "statements": [], "terminator": { - "kind": "Return", - "span": 43 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 43, "ty": 1 }, { "mutability": "Not", - "span": 43, "ty": 7 }, { "mutability": "Not", - "span": 43, "ty": 1 } ], - "span": 43, + "span": 38, "spread_arg": 2, "var_debug_info": [] }, @@ -1617,43 +1418,6 @@ }, "symbol_name": "_ZN4core3ops8function6FnOnce9call_once17h" }, - { - "details": null, - "mono_item_kind": { - "MonoItemFn": { - "body": { - "arg_count": 1, - "blocks": [ - { - "statements": [], - "terminator": { - "kind": "Return", - "span": 44 - } - } - ], - "locals": [ - { - "mutability": "Mut", - "span": 44, - "ty": 1 - }, - { - "mutability": "Not", - "span": 44, - "ty": 22 - } - ], - "span": 44, - "spread_arg": null, - "var_debug_info": [] - }, - "id": 4, - "name": "std::ptr::drop_in_place::<{closure@std::rt::lang_start<()>::{closure#0}}>" - } - }, - "symbol_name": "_ZN4core3ptr85drop_in_place$LT$std..rt..lang_start$LT$$LP$$RP$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$17h" - }, { "details": null, "mono_item_kind": { @@ -1687,62 +1451,37 @@ } } }, - "ty": 17 + "ty": 16 }, - "span": 46, + "span": 27, "user_ty": null } } } ] - }, - "span": 46 + } } ], "terminator": { - "kind": "Return", - "span": 45 + "kind": "Return" } } ], "locals": [ { "mutability": "Mut", - "span": 47, - "ty": 17 + "ty": 16 }, { "mutability": "Not", - "span": 48, "ty": 1 } ], - "span": 49, + "span": 43, "spread_arg": null, - "var_debug_info": [ - { - "argument_index": 1, - "composite": null, - "name": "self", - "source_info": { - "scope": 0, - "span": 48 - }, - "value": { - "Const": { - "const_": { - "id": 4, - "kind": "ZeroSized", - "ty": 1 - }, - "span": 32, - "user_ty": null - } - } - } - ] + "var_debug_info": [] }, - "id": 5, + "id": 4, "name": "<() as std::process::Termination>::report" } }, @@ -1781,23 +1520,6 @@ } } ], - [ - { - "EnumType": { - "discriminants": [ - [ - 0, - 0 - ], - [ - 1, - 1 - ] - ], - "name": "std::result::Result" - } - } - ], [ { "StructType": { @@ -1818,7 +1540,7 @@ { "StructType": { "fields": "elided", - "name": "std::sys::pal::unix::process::process_common::ExitCode" + "name": "std::sys::process::unix::common::ExitCode" } } ], @@ -1871,11 +1593,6 @@ "RefType": "elided" } ], - [ - { - "RefType": "elided" - } - ], [ { "RefType": "elided" From 23f6b995d9c11d56418d54047a209aa8f877eb63 Mon Sep 17 00:00:00 2001 From: Jost Berthold Date: Mon, 21 Jul 2025 16:59:58 +1000 Subject: [PATCH 5/7] fmt --- Cargo.toml | 5 ++++- src/driver.rs | 4 ++-- src/mk_graph.rs | 6 +++--- src/printer.rs | 45 ++++++++++++++++++++++++++++----------------- 4 files changed, 37 insertions(+), 23 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 8dd6ffb2..2f474274 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -17,4 +17,7 @@ path = "src/bin/cargo_stable_mir_json.rs" [package.metadata.rust-analyzer] # This package uses rustc crates. -rustc_private=true \ No newline at end of file +rustc_private=true + +[lints.clippy] +uninlined_format_args = "allow" diff --git a/src/driver.rs b/src/driver.rs index a4576e31..4562a804 100644 --- a/src/driver.rs +++ b/src/driver.rs @@ -20,8 +20,8 @@ extern crate rustc_driver; extern crate rustc_interface; extern crate rustc_middle; -extern crate rustc_session; extern crate rustc_public; +extern crate rustc_session; use rustc_driver::Compilation; use rustc_interface::interface::Compiler; use rustc_middle::ty::TyCtxt; @@ -44,5 +44,5 @@ pub fn stable_mir_driver(args_outer: &[String], callback_fn: fn(TyCtxt) -> ()) { let early_dcx = rustc_session::EarlyDiagCtxt::new(rustc_session::config::ErrorOutputType::default()); rustc_driver::init_rustc_env_logger(&early_dcx); - let _ = rustc_driver::run_compiler(args_outer, &mut callbacks); + rustc_driver::run_compiler(args_outer, &mut callbacks); } diff --git a/src/mk_graph.rs b/src/mk_graph.rs index cd70f6bb..d4221c2b 100644 --- a/src/mk_graph.rs +++ b/src/mk_graph.rs @@ -15,16 +15,16 @@ extern crate rustc_public_bridge; use rustc_session::config::{OutFileName, OutputType}; extern crate rustc_session; -use rustc_public_bridge::IndexedVal; use rustc_public::ty::Ty; use rustc_public::{ mir::{ AggregateKind, BasicBlock, BorrowKind, ConstOperand, Mutability, NonDivergingIntrinsic, - NullOp, Operand, Place, ProjectionElem, RawPtrKind, Rvalue, Statement, StatementKind, + NullOp, Operand, Place, ProjectionElem, RawPtrKind, Rvalue, Statement, StatementKind, TerminatorKind, UnwindAction, }, ty::RigidTy, }; +use rustc_public_bridge::IndexedVal; use crate::{ printer::{collect_smir, FnSymType, SmirJson}, @@ -467,7 +467,7 @@ impl GraphLabelString for Rvalue { match &self { AddressOf(mutability, p) => match mutability { RawPtrKind::Const => format!("&raw {}", p.label()), - RawPtrKind::Mut => format!("&raw mut {}", p.label()), + RawPtrKind::Mut => format!("&raw mut {}", p.label()), RawPtrKind::FakeForPtrMetadata => format!("&raw4meta {}", p.label()), }, Aggregate(kind, operands) => { diff --git a/src/printer.rs b/src/printer.rs index 0bb6a915..f9b191be 100644 --- a/src/printer.rs +++ b/src/printer.rs @@ -11,10 +11,10 @@ use std::{ }; extern crate rustc_middle; extern crate rustc_monomorphize; -extern crate rustc_session; -extern crate rustc_span; extern crate rustc_public; extern crate rustc_public_bridge; +extern crate rustc_session; +extern crate rustc_span; // HACK: typically, we would source serde/serde_json separately from the compiler // However, due to issues matching crate versions when we have our own serde // in addition to the rustc serde, we force ourselves to use rustc serde @@ -24,22 +24,22 @@ use rustc_middle as middle; use rustc_middle::ty::{ EarlyBinder, FnSig, GenericArgs, List, Ty, TyCtxt, TypeFoldable, TypingEnv, }; -use rustc_session::config::{OutFileName, OutputType}; -use rustc_span::{ - def_id::{DefId, LOCAL_CRATE}, - symbol, -}; -use serde::{Serialize, Serializer}; use rustc_public::{ - rustc_internal, - rustc_internal::internal, mir::mono::{Instance, InstanceKind, MonoItem}, mir::{alloc::AllocId, visit::MirVisitor, Body, LocalDecl, Rvalue, Terminator, TerminatorKind}, + rustc_internal, + rustc_internal::internal, ty::{AdtDef, Allocation, ConstDef, ForeignItemKind, RigidTy, TyKind, VariantIdx}, visitor::{Visitable, Visitor}, CrateDef, CrateItem, ItemKind, }; use rustc_public_bridge::IndexedVal; +use rustc_session::config::{OutFileName, OutputType}; +use rustc_span::{ + def_id::{DefId, LOCAL_CRATE}, + symbol, +}; +use serde::{Serialize, Serializer}; // Structs for serializing extra details about mono items // ====================================================== @@ -487,8 +487,13 @@ pub enum AllocInfo { } type LinkMap<'tcx> = HashMap, (ItemSource, FnSymType)>; type AllocMap = HashMap; -type TyMap = - HashMap)>; +type TyMap = HashMap< + rustc_public::ty::Ty, + ( + rustc_public::ty::TyKind, + Option, + ), +>; type SpanMap = HashMap; struct TyCollector<'tcx> { @@ -530,7 +535,8 @@ impl Visitor for TyCollector<'_> { TyKind::RigidTy(RigidTy::Closure(def, ref args)) => { self.resolved.insert(*ty); let instance = - Instance::resolve_closure(def, args, rustc_public::ty::ClosureKind::Fn).unwrap(); + Instance::resolve_closure(def, args, rustc_public::ty::ClosureKind::Fn) + .unwrap(); self.visit_instance(instance) } // Break on CoroutineWitnesses, because they aren't expected when getting the layout @@ -690,7 +696,7 @@ fn collect_alloc( assert!(kind.unwrap().is_fn_ptr()); entry.or_insert(AllocInfo::Function(inst)); } - GlobalAlloc::TypeId{ty:_} => todo!("GlobalAlloc:TypeId not implemented"), + GlobalAlloc::TypeId { ty: _ } => todo!("GlobalAlloc:TypeId not implemented"), }; } @@ -787,7 +793,11 @@ impl MirVisitor for InternedValueCollector<'_, '_> { self.super_mir_const(constant, loc); } - fn visit_ty(&mut self, ty: &rustc_public::ty::Ty, _location: rustc_public::mir::visit::Location) { + fn visit_ty( + &mut self, + ty: &rustc_public::ty::Ty, + _location: rustc_public::mir::visit::Location, + ) { ty.visit(self.ty_visitor); self.super_ty(ty); } @@ -1116,8 +1126,9 @@ pub fn collect_smir(tcx: TyCtxt<'_>) -> SmirJson { // FIXME: We dump extra static items here --- this should be handled better for (_, alloc) in visited_allocs.iter() { if let AllocInfo::Static(def) = alloc { - let mono_item = - rustc_public::mir::mono::MonoItem::Fn(rustc_public::mir::mono::Instance::from(*def)); + let mono_item = rustc_public::mir::mono::MonoItem::Fn( + rustc_public::mir::mono::Instance::from(*def), + ); let item_name = &mono_item_name(tcx, &mono_item); if !items_clone.contains_key(item_name) { println!( From 92ce6c28209604aecf609f0c0a70bab6a2549c04 Mon Sep 17 00:00:00 2001 From: Jost Berthold Date: Mon, 21 Jul 2025 17:10:39 +1000 Subject: [PATCH 6/7] clippy --- src/mk_graph.rs | 14 +++++++------- src/printer.rs | 6 +++--- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/mk_graph.rs b/src/mk_graph.rs index d4221c2b..0d11e2f4 100644 --- a/src/mk_graph.rs +++ b/src/mk_graph.rs @@ -138,16 +138,16 @@ impl SmirJson<'_> { .attributes() .set_label("other"); } - Resume {} => { + Resume => { label_strs.push("Resume".to_string()); } - Abort {} => { + Abort => { label_strs.push("Abort".to_string()); } - Return {} => { + Return => { label_strs.push("Return".to_string()); } - Unreachable {} => { + Unreachable => { label_strs.push("Unreachable".to_string()); } TerminatorKind::Drop { @@ -382,8 +382,8 @@ fn render_stmt(s: &Statement) -> String { } => format!("Ascribe {}.{}", place.label(), projections.base), Coverage(_) => "Coverage".to_string(), Intrinsic(intr) => format!("Intr: {}", intr.label()), - ConstEvalCounter {} => "ConstEvalCounter".to_string(), - Nop {} => "Nop".to_string(), + ConstEvalCounter => "ConstEvalCounter".to_string(), + Nop => "Nop".to_string(), } } @@ -450,7 +450,7 @@ impl GraphLabelString for AggregateKind { use AggregateKind::*; match &self { Array(_ty) => "Array".to_string(), - Tuple {} => "Tuple".to_string(), + Tuple => "Tuple".to_string(), Adt(_, idx, _, _, _) => format!("Adt{{{}}}", idx.to_index()), // (AdtDef, VariantIdx, GenericArgs, Option, Option), Closure(_, _) => "Closure".to_string(), // (ClosureDef, GenericArgs), Coroutine(_, _, _) => "Coroutine".to_string(), // (CoroutineDef, GenericArgs, Movability), diff --git a/src/printer.rs b/src/printer.rs index f9b191be..f1c50f6a 100644 --- a/src/printer.rs +++ b/src/printer.rs @@ -503,7 +503,7 @@ struct TyCollector<'tcx> { } impl TyCollector<'_> { - fn new(tcx: TyCtxt<'_>) -> TyCollector { + fn new(tcx: TyCtxt<'_>) -> TyCollector<'_> { TyCollector { tcx, types: HashMap::new(), @@ -798,7 +798,7 @@ impl MirVisitor for InternedValueCollector<'_, '_> { ty: &rustc_public::ty::Ty, _location: rustc_public::mir::visit::Location, ) { - ty.visit(self.ty_visitor); + let _ = ty.visit(self.ty_visitor); self.super_ty(ty); } } @@ -1115,7 +1115,7 @@ pub struct SmirJsonDebugInfo<'t> { // Serialization Entrypoint // ======================== -pub fn collect_smir(tcx: TyCtxt<'_>) -> SmirJson { +pub fn collect_smir(tcx: TyCtxt<'_>) -> SmirJson<'_> { let local_crate = rustc_public::local_crate(); let items = collect_items(tcx); let items_clone = items.clone(); From 541d796d1c9afbdd661e087f0fe0dbffe8856734 Mon Sep 17 00:00:00 2001 From: Jost Berthold Date: Mon, 21 Jul 2025 18:54:11 +1000 Subject: [PATCH 7/7] Update UI tests (WIP, pass/fail only, not analysed yet) --- .github/workflows/test.yml | 2 +- tests/ui/failing.tsv | 37 +- tests/ui/passing.tsv | 452 ++- tests/ui/ui_sources.txt | 5579 ++++++++++++++++++------------------ 4 files changed, 2938 insertions(+), 3132 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index f847326c..126f938a 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -84,7 +84,7 @@ jobs: uses: actions/checkout@v4 with: repository: rust-lang/rust - ref: a2545fd6fc66b4323f555223a860c451885d1d2b # hash of Hardcoded Rust version + ref: 0d9592026226f5a667a0da60c13b955e0b486a07 # hash of nightly-2025-07-20 (rustc --version) path: rust fetch-depth: 1 diff --git a/tests/ui/failing.tsv b/tests/ui/failing.tsv index db068e77..c43ca382 100644 --- a/tests/ui/failing.tsv +++ b/tests/ui/failing.tsv @@ -1,8 +1,10 @@ tests/ui/abi/issues/issue-97463-broken-abi-leaked-uninit-data.rs 101 +tests/ui/asm/aarch64/may_unwind.rs 101 +tests/ui/asm/x86_64/may_unwind.rs 101 tests/ui/associated-type-bounds/struct-bounds.rs 101 tests/ui/associated-types/issue-27901.rs 101 -tests/ui/async-await/issue-60709.rs 101 -tests/ui/async-await/issues/issue-59972.rs 101 +tests/ui/attributes/z-crate-attr/respect-existing-attrs.rs 101 +tests/ui/backtrace/synchronized-panic-handler.rs 101 tests/ui/borrowck/issue-52967-edition-2018-needs-two-phase-borrows.rs 101 tests/ui/box/thin_align.rs 101 tests/ui/box/thin_drop.rs 101 @@ -20,25 +22,27 @@ tests/ui/consts/const-cast.rs 101 tests/ui/consts/const-eval/const_fn_ptr.rs 101 tests/ui/consts/const-int-arithmetic-overflow.rs 101 tests/ui/consts/const-trait-to-trait.rs 101 +tests/ui/consts/const-typeid-of-rpass.rs 101 tests/ui/delegation/generics/free-fn-to-free-fn-pass.rs 101 tests/ui/delegation/generics/free-fn-to-trait-method-pass.rs 101 tests/ui/destructuring-assignment/drop-order.rs 101 tests/ui/drop/dropck_legal_cycles.rs 101 tests/ui/drop/drop-trait-enum.rs 101 -tests/ui/dynamically-sized-types/dst-trait-tuple.rs 101 -tests/ui/dynamically-sized-types/dst-tuple.rs 101 -tests/ui/dyn-star/box.rs 101 -tests/ui/dyn-star/dyn-star-to-dyn.rs 101 +tests/ui/drop/dynamic-drop.rs 101 tests/ui/env-macro/env-env-overload.rs 101 tests/ui/env-macro/env-env.rs 101 tests/ui/fmt/fmt_debug/none.rs 101 +tests/ui/fmt/format-args-capture.rs 101 tests/ui/for-loop-while/foreach-external-iterators-hashmap-break-restart.rs 101 tests/ui/for-loop-while/foreach-external-iterators-hashmap.rs 101 tests/ui/functions-closures/closure-bounds-can-capture-chan.rs 101 tests/ui/functions-closures/closure-to-fn-coercion.rs 101 tests/ui/hashmap/hashmap-memory.rs 101 +tests/ui/hashmap/hashset-enum-variant.rs 101 tests/ui/hygiene/issue-29746.rs 101 +tests/ui/io-checks/write-macro-error.rs 101 tests/ui/issues/issue-11205.rs 101 +tests/ui/issues/issue-12744.rs 101 tests/ui/issues/issue-12860.rs 101 tests/ui/issues/issue-12909.rs 101 tests/ui/issues/issue-23036.rs 101 @@ -47,16 +51,20 @@ tests/ui/issues/issue-3026.rs 101 tests/ui/issues/issue-3109.rs 101 tests/ui/issues/issue-3559.rs 101 tests/ui/issues/issue-7660.rs 101 -tests/ui/label/label_break_value_desugared_break.rs 101 +tests/ui/lifetimes/any-lifetime-escape-higher-rank.rs 101 tests/ui/lto/lto-still-runs-thread-dtors.rs 101 tests/ui/macros/macro-meta-items.rs 101 tests/ui/macros/macro-of-higher-order.rs 101 +tests/ui/macros/rfc-2011-nicer-assert-messages/all-expr-kinds.rs 101 tests/ui/macros/syntax-extension-source-utils.rs 101 tests/ui/mir/mir_constval_adts.rs 101 +tests/ui/mir/mir_drop_order.rs 101 tests/ui/mir/mir_misc_casts.rs 101 tests/ui/nll/process_or_insert_default.rs 101 tests/ui/panics/abort-on-panic.rs 101 +tests/ui/panics/panic-recover-propagate.rs 101 tests/ui/process/process-envs.rs 101 +tests/ui/process/process-panic-after-fork.rs 101 tests/ui/process-termination/process-termination-blocking-io.rs 101 tests/ui/regions/regions-refcell.rs 101 tests/ui/rfcs/rfc-0107-bind-by-move-pattern-guards/bind-by-move-no-guards.rs 101 @@ -66,11 +74,13 @@ tests/ui/rfcs/rfc-2091-track-caller/std-panic-locations.rs 101 tests/ui/rfcs/rfc-2091-track-caller/tracked-fn-ptr.rs 101 tests/ui/rfcs/rfc-2091-track-caller/tracked-fn-ptr-with-arg.rs 101 tests/ui/rfcs/rfc-2361-dbg-macro/dbg-macro-expected-behavior.rs 101 +tests/ui/runtime/rt-explody-panic-payloads.rs 101 tests/ui/runtime/stdout-during-shutdown-windows.rs 101 tests/ui/sanitizer/cfi/fn-ptr.rs 101 tests/ui/self/builtin-superkinds-self-type.rs 101 tests/ui/std/channel-stack-overflow-issue-102246.rs 101 tests/ui/structs-enums/ivec-tag.rs 101 +tests/ui/structs-enums/unit-like-struct-drop-run.rs 101 tests/ui/test-attrs/test-panic-while-printing.rs 101 tests/ui/threads-sendsync/comm.rs 101 tests/ui/threads-sendsync/eprint-on-tls-drop.rs 101 @@ -106,12 +116,11 @@ tests/ui/threads-sendsync/tls-try-with.rs 101 tests/ui/threads-sendsync/trivial-message.rs 101 tests/ui/threads-sendsync/unwind-resource.rs 101 tests/ui/traits/bound/in-arc.rs 101 -tests/ui/traits/const-traits/const-drop.rs 101 +tests/ui/traits/dyn-any-prefer-vtable.rs 101 +tests/ui/traits/dyn-drop-principal.rs 101 +tests/ui/traits/error-trait-object-from-string.rs 101 tests/ui/traits/issue-6128.rs 101 -tests/ui/try-block/issue-45124.rs 101 -tests/ui/try-block/try-block-in-match.rs 101 -tests/ui/try-block/try-block-in-return.rs 101 -tests/ui/try-block/try-block.rs 101 +tests/ui/traits/next-solver/dyn-any-dont-prefer-impl.rs 101 +tests/ui/traits/object-one-type-two-traits.rs 101 +tests/ui/unboxed-closures/type-id-higher-rank.rs 101 tests/ui/unsized/issue-23649-2.rs 101 -tests/ui/unsized/unsized-tuple-impls.rs 101 -tests/ui/wrong-hashset-issue-42918.rs 101 diff --git a/tests/ui/passing.tsv b/tests/ui/passing.tsv index 17707aa9..18974b44 100644 --- a/tests/ui/passing.tsv +++ b/tests/ui/passing.tsv @@ -24,12 +24,11 @@ tests/ui/abi/extern/extern-return-TwoU32s.rs tests/ui/abi/extern/extern-return-TwoU64s.rs tests/ui/abi/extern/extern-return-TwoU8s.rs tests/ui/abi/foreign/foreign-fn-with-byval.rs -tests/ui/abi/homogenous-floats-target-feature-mixup.rs tests/ui/abi/issue-28676.rs tests/ui/abi/issues/issue-62350-sysv-neg-reg-counts.rs -tests/ui/abi/lib-defaults.rs tests/ui/abi/mir/mir_codegen_calls_variadic.rs tests/ui/abi/nullable-pointer-ffi-compat.rs +tests/ui/abi/numbers-arithmetic/float-struct.rs tests/ui/abi/numbers-arithmetic/i128-ffi.rs tests/ui/abi/numbers-arithmetic/return-float.rs tests/ui/abi/segfault-no-out-of-stack.rs @@ -40,8 +39,10 @@ tests/ui/abi/struct-enums/struct-return.rs tests/ui/abi/union/union-c-interop.rs tests/ui/abi/variadic-ffi.rs tests/ui/abi/x86stdcall2.rs -tests/ui/alias-uninit-value.rs +tests/ui/allocator/alloc-shrink-oob-read.rs tests/ui/allocator/dyn-compatible.rs +tests/ui/allocator/empty-alloc-nonnull-guarantee.rs +tests/ui/allocator/weak-uninhabited-type.rs tests/ui/alloc-error/default-alloc-error-hook.rs tests/ui/array-slice-vec/array_const_index-2.rs tests/ui/array-slice-vec/box-of-array-of-drop-1.rs @@ -51,6 +52,7 @@ tests/ui/array-slice-vec/cast-in-array-size.rs tests/ui/array-slice-vec/check-static-slice.rs tests/ui/array-slice-vec/copy-out-of-array-1.rs tests/ui/array-slice-vec/destructure-array-1.rs +tests/ui/array-slice-vec/driftsort-off-by-one-issue-136103.rs tests/ui/array-slice-vec/empty-mutable-vec.rs tests/ui/array-slice-vec/estr-slice.rs tests/ui/array-slice-vec/evec-slice.rs @@ -91,17 +93,11 @@ tests/ui/array-slice-vec/vec-matching.rs tests/ui/array-slice-vec/vec-repeat-with-cast.rs tests/ui/array-slice-vec/vec-tail-matching.rs tests/ui/array-slice-vec/vector-no-ann-2.rs -tests/ui/artificial-block.rs tests/ui/asm/aarch64/const.rs -tests/ui/asm/aarch64/may_unwind.rs tests/ui/asm/may_unwind.rs tests/ui/asm/x86_64/const.rs -tests/ui/asm/x86_64/goto.rs -tests/ui/asm/x86_64/may_unwind.rs tests/ui/asm/x86_64/multiple-clobber-abi.rs tests/ui/asm/x86_64/sym.rs -tests/ui/as-precedence.rs -tests/ui/assign-assign.rs tests/ui/associated-consts/assoc-const.rs tests/ui/associated-consts/associated-const-const-eval.rs tests/ui/associated-consts/associated-const-in-global-const.rs @@ -124,7 +120,6 @@ tests/ui/associated-consts/mismatched_impl_ty_2.rs tests/ui/associated-consts/mismatched_impl_ty_3.rs tests/ui/associated-type-bounds/enum-bounds.rs tests/ui/associated-type-bounds/rpit.rs -tests/ui/associated-type-bounds/trait-alias-impl-trait.rs tests/ui/associated-type-bounds/union-bounds.rs tests/ui/associated-types/associated-item-long-paths.rs tests/ui/associated-types/associated-types-basic.rs @@ -176,11 +171,8 @@ tests/ui/associated-types/issue-54182-1.rs tests/ui/associated-types/issue-54467.rs tests/ui/associated-types/issue-55846.rs tests/ui/associated-types/object-method-numbering.rs -tests/ui/assoc-oddities-3.rs tests/ui/async-await/context-is-sorta-unwindsafe.rs tests/ui/attributes/tool_attributes.rs -tests/ui/augmented-assignments-rpass.rs -tests/ui/auto-instantiate.rs tests/ui/autoref-autoderef/autoderef-and-borrow-method-receiver.rs tests/ui/autoref-autoderef/autoderef-method-on-trait.rs tests/ui/autoref-autoderef/autoderef-method-priority.rs @@ -188,21 +180,18 @@ tests/ui/autoref-autoderef/autoderef-method.rs tests/ui/autoref-autoderef/autoderef-method-twice-but-not-thrice.rs tests/ui/autoref-autoderef/autoderef-method-twice.rs tests/ui/autoref-autoderef/autoderef-privacy.rs +tests/ui/autoref-autoderef/autoderef-vec-to-slice-by-value.rs tests/ui/autoref-autoderef/auto-ref-bounded-ty-param.rs tests/ui/autoref-autoderef/autoref-intermediate-types-issue-3585.rs tests/ui/autoref-autoderef/auto-ref.rs tests/ui/autoref-autoderef/auto-ref-sliceable.rs tests/ui/auto-traits/auto-is-contextual.rs tests/ui/auto-traits/auto-traits.rs +tests/ui/auto-traits/auto-traits-type-parameter.rs tests/ui/backtrace/apple-no-dsymutil.rs tests/ui/backtrace/backtrace.rs tests/ui/backtrace/std-backtrace.rs -tests/ui/backtrace/synchronized-panic-handler.rs -tests/ui/bare-fn-implements-fn-mut.rs -tests/ui/bare-static-string.rs tests/ui/bench/issue-32062.rs -tests/ui/big-literals.rs -tests/ui/bind-by-move.rs tests/ui/binding/bind-field-short-with-modifiers.rs tests/ui/binding/borrowed-ptr-pattern-2.rs tests/ui/binding/borrowed-ptr-pattern-3.rs @@ -290,19 +279,21 @@ tests/ui/binding/pat-tuple-7.rs tests/ui/binding/range-inclusive-pattern-precedence.rs tests/ui/binding/shadow.rs tests/ui/binding/simple-generic-match.rs +tests/ui/binding/underscore-prefixed-function-argument.rs tests/ui/binding/use-uninit-match2.rs tests/ui/binding/use-uninit-match.rs tests/ui/binding/zero_sized_subslice_match.rs +tests/ui/binop/augmented-assignment.rs tests/ui/binop/binary-minus-without-space.rs tests/ui/binop/binary-op-on-fn-ptr-eq.rs +tests/ui/binop/binop-evaluation-order-primitive.rs tests/ui/binop/binops-issue-22743.rs tests/ui/binop/binops.rs +tests/ui/binop/compound-assign-by-ref.rs tests/ui/binop/issue-25916.rs tests/ui/binop/operator-multidispatch.rs tests/ui/binop/operator-overloading.rs tests/ui/binop/structured-compare.rs -tests/ui/bitwise.rs -tests/ui/borrow-by-val-method-receiver.rs tests/ui/borrowck/borrowck-assign-to-subfield.rs tests/ui/borrowck/borrowck-binding-mutbl.rs tests/ui/borrowck/borrowck-borrow-from-expr-block.rs @@ -342,6 +333,7 @@ tests/ui/borrowck/two-phase-control-flow-split-before-activation.rs tests/ui/borrowck/two-phase-method-receivers.rs tests/ui/borrowck/two-phase-multiple-activations.rs tests/ui/box/alloc-unstable.rs +tests/ui/box/empty-alloc-deref-rvalue.rs tests/ui/box/into-boxed-slice.rs tests/ui/box/new-box.rs tests/ui/box/new-box-syntax.rs @@ -387,32 +379,19 @@ tests/ui/box/unit/unique-pat.rs tests/ui/box/unit/unique-rec.rs tests/ui/box/unit/unique-swap.rs tests/ui/box/unit/unwind-unique.rs -tests/ui/builtin-clone-unwind.rs -tests/ui/cancel-clean-via-immediate-rvalue-ref.rs tests/ui/cast/cast-does-fallback.rs tests/ui/cast/cast-region-to-uint.rs tests/ui/cast/cast-rfc0401.rs tests/ui/cast/cast-rfc0401-vtable-kinds.rs tests/ui/cast/cast.rs tests/ui/cast/cast-to-infer-ty.rs +tests/ui/cast/coercion-as-explicit-cast.rs tests/ui/cast/fat-ptr-cast-rpass.rs tests/ui/cast/supported-cast.rs -tests/ui/catch-unwind-bang.rs tests/ui/cfg/cfg-macros-foo.rs -tests/ui/cfg/cfg-macros-notfoo.rs -tests/ui/cfg/cfg_stmt_expr.rs tests/ui/cfg/cfg-target-abi.rs tests/ui/cfg/cfg-target-compact.rs tests/ui/cfg/cfg-target-vendor.rs -tests/ui/cfg/conditional-compile.rs -tests/ui/cfg/true-false.rs -tests/ui/cfguard-run.rs -tests/ui/char.rs -tests/ui/cleanup-rvalue-for-scope.rs -tests/ui/cleanup-rvalue-scopes.rs -tests/ui/cleanup-rvalue-temp-during-incomplete-alloc.rs -tests/ui/cleanup-shortcircuit.rs -tests/ui/close-over-big-then-small-data.rs tests/ui/closures/2229_closure_analysis/match/issue-87097.rs tests/ui/closures/2229_closure_analysis/match/issue-87426.rs tests/ui/closures/2229_closure_analysis/match/issue-87988.rs @@ -431,8 +410,12 @@ tests/ui/closures/2229_closure_analysis/run_pass/multilevel-path-3.rs tests/ui/closures/2229_closure_analysis/run_pass/mut_ref.rs tests/ui/closures/2229_closure_analysis/run_pass/mut_ref_struct_mem.rs tests/ui/closures/2229_closure_analysis/run_pass/unsafe_ptr.rs +tests/ui/closures/basic-closure-syntax.rs +tests/ui/closures/closure-capture-after-clone.rs +tests/ui/closures/closure-last-use-move.rs tests/ui/closures/closure_no_cap_coerce_many_run_pass.rs tests/ui/closures/closure_no_cap_coerce_many_unsafe_1.rs +tests/ui/closures/closure-upvar-last-use-analysis.rs tests/ui/closures/issue-10682.rs tests/ui/closures/issue-1460.rs tests/ui/closures/issue-22864-1.rs @@ -440,6 +423,8 @@ tests/ui/closures/issue-22864-2.rs tests/ui/closures/issue-42463.rs tests/ui/closures/issue-5239-2.rs tests/ui/closures/issue-868.rs +tests/ui/closures/many-closures.rs +tests/ui/closures/no-capture-closure-call.rs tests/ui/closures/old-closure-arg-call-as.rs tests/ui/closures/old-closure-arg.rs tests/ui/closures/old-closure-explicit-types.rs @@ -449,28 +434,19 @@ tests/ui/closures/old-closure-iter-1.rs tests/ui/closures/old-closure-iter-2.rs tests/ui/closures/once-move-out-on-heap.rs tests/ui/closures/semistatement-in-lambda.rs -tests/ui/codegen/equal-pointers-unequal/as-cast/basic.rs -tests/ui/codegen/equal-pointers-unequal/as-cast/function.rs +tests/ui/codegen/alias-uninit-value.rs +tests/ui/codegen/assign-expr-unit-type.rs +tests/ui/codegen/cfguard-run.rs tests/ui/codegen/equal-pointers-unequal/as-cast/inline1.rs tests/ui/codegen/equal-pointers-unequal/as-cast/inline2.rs -tests/ui/codegen/equal-pointers-unequal/as-cast/print3.rs -tests/ui/codegen/equal-pointers-unequal/as-cast/print.rs tests/ui/codegen/equal-pointers-unequal/as-cast/segfault.rs tests/ui/codegen/equal-pointers-unequal/as-cast/zero.rs -tests/ui/codegen/equal-pointers-unequal/exposed-provenance/basic.rs -tests/ui/codegen/equal-pointers-unequal/exposed-provenance/function.rs tests/ui/codegen/equal-pointers-unequal/exposed-provenance/inline1.rs tests/ui/codegen/equal-pointers-unequal/exposed-provenance/inline2.rs -tests/ui/codegen/equal-pointers-unequal/exposed-provenance/print3.rs -tests/ui/codegen/equal-pointers-unequal/exposed-provenance/print.rs tests/ui/codegen/equal-pointers-unequal/exposed-provenance/segfault.rs tests/ui/codegen/equal-pointers-unequal/exposed-provenance/zero.rs -tests/ui/codegen/equal-pointers-unequal/strict-provenance/basic.rs -tests/ui/codegen/equal-pointers-unequal/strict-provenance/function.rs tests/ui/codegen/equal-pointers-unequal/strict-provenance/inline1.rs tests/ui/codegen/equal-pointers-unequal/strict-provenance/inline2.rs -tests/ui/codegen/equal-pointers-unequal/strict-provenance/print3.rs -tests/ui/codegen/equal-pointers-unequal/strict-provenance/print.rs tests/ui/codegen/equal-pointers-unequal/strict-provenance/segfault.rs tests/ui/codegen/equal-pointers-unequal/strict-provenance/zero.rs tests/ui/codegen/init-large-type.rs @@ -485,8 +461,17 @@ tests/ui/codegen/issue-63787.rs tests/ui/codegen/issue-79865-llvm-miscompile.rs tests/ui/codegen/issue-82833-slice-miscompile.rs tests/ui/codegen/issue-82859-slice-miscompile.rs +tests/ui/codegen/maximal-hir-to-mir-coverage-flag.rs +tests/ui/codegen/mono-respects-abi-alignment.rs +tests/ui/codegen/msvc-opt-level-z-no-corruption.rs +tests/ui/codegen/output-slot-init-vs-noninit.rs +tests/ui/codegen/rvalue-mut-ref-box-drop.rs +tests/ui/codegen/shift-right-operand-mutation.rs +tests/ui/codegen/sret-aliasing-rules.rs +tests/ui/codegen/StackColoring-not-blowup-stack-issue-40883.rs tests/ui/codegen/subtyping-impacts-selection-1.rs tests/ui/codegen/subtyping-impacts-selection-2.rs +tests/ui/coercion/basic-ptr-coercions.rs tests/ui/coercion/coerce-expect-unsized.rs tests/ui/coercion/coerce-reborrow-imm-ptr-rcvr.rs tests/ui/coercion/coerce-reborrow-imm-vec-rcvr.rs @@ -510,8 +495,9 @@ tests/ui/command/command-pre-exec.rs tests/ui/command/command-setgroups.rs tests/ui/command/command-uid-gid.rs tests/ui/command/issue-10626.rs +tests/ui/compiletest-self-test/normalize-with-revision.rs tests/ui/compiletest-self-test/test-aux-bin.rs -tests/ui/complex.rs +tests/ui/compiletest-self-test/trim-env-name.rs tests/ui/const-generics/array-wrapper-struct-ctor.rs tests/ui/const-generics/coerce_unsized_array.rs tests/ui/const-generics/concrete-const-as-fn-arg.rs @@ -528,8 +514,6 @@ tests/ui/const-generics/defaults/rp_impl_trait.rs tests/ui/const-generics/defaults/trait_objects.rs tests/ui/const-generics/dyn-supertraits.rs tests/ui/const-generics/early/const-param-hygiene.rs -tests/ui/const-generics/generic_arg_infer/array-repeat-expr.rs -tests/ui/const-generics/generic_arg_infer/dont-use-defaults.rs tests/ui/const-generics/generic_const_exprs/associated-consts.rs tests/ui/const-generics/generic_const_exprs/division.rs tests/ui/const-generics/generic_const_exprs/dyn-compatibility-ok.rs @@ -557,7 +541,6 @@ tests/ui/const-generics/issues/issue-70125-1.rs tests/ui/const-generics/issues/issue-70125-2.rs tests/ui/const-generics/issues/issue-75299.rs tests/ui/const-generics/min_const_generics/const_fn_in_generics.rs -tests/ui/const-generics/min_const_generics/inferred_const.rs tests/ui/const-generics/min_const_generics/macro.rs tests/ui/const-generics/min_const_generics/type_and_const_defaults.rs tests/ui/const-generics/promotion.rs @@ -579,6 +562,7 @@ tests/ui/const_prop/apfloat-remainder-regression.rs tests/ui/const_prop/const-prop-ice3.rs tests/ui/const_prop/dont-propagate-generic-instance-2.rs tests/ui/const_prop/overwrite_with_const_with_params.rs +tests/ui/const-ptr/pointer-address-stability.rs tests/ui/consts/assoc-const.rs tests/ui/consts/bswap-const.rs tests/ui/consts/cast-discriminant-zst-enum.rs @@ -598,7 +582,6 @@ tests/ui/consts/const-blocks/run-pass.rs tests/ui/consts/const-bound.rs tests/ui/consts/const-byte-str-cast.rs tests/ui/consts/const-cast-ptr-int.rs -tests/ui/consts/const-compare-bytes.rs tests/ui/consts/const-const.rs tests/ui/consts/const_constructor/const-construct-call.rs tests/ui/consts/const_constructor/const_constructor_qpath.rs @@ -622,16 +605,12 @@ tests/ui/consts/const-enum-vec-ptr.rs tests/ui/consts/const-enum-vector.rs tests/ui/consts/const-err-rpass.rs tests/ui/consts/const-eval/enum_discr.rs -tests/ui/consts/const-eval/float_methods.rs -tests/ui/consts/const-eval/heap/alloc_intrinsic_nontransient.rs tests/ui/consts/const-eval/heap/alloc_intrinsic_transient.rs tests/ui/consts/const-eval/heap/alloc_intrinsic_zero_sized.rs -tests/ui/consts/const-eval/heap/dealloc_intrinsic.rs tests/ui/consts/const-eval/heap/dealloc_intrinsic_zero_sized.rs tests/ui/consts/const-eval/issue-64908.rs tests/ui/consts/const-eval/issue-64970.rs tests/ui/consts/const-eval/nrvo.rs -tests/ui/consts/const-eval/simd/insert_extract.rs tests/ui/consts/const-eval/strlen.rs tests/ui/consts/const-eval/write-to-uninhabited-enum-variant.rs tests/ui/consts/const-expr-in-fixed-length-vec.rs @@ -673,17 +652,14 @@ tests/ui/consts/const-pattern-variant.rs tests/ui/consts/const-ptr-nonnull-rpass.rs tests/ui/consts/const-ptr-unique-rpass.rs tests/ui/consts/const-rec-and-tup.rs -tests/ui/consts/const_refs_to_static.rs tests/ui/consts/const-region-ptrs-noncopy.rs tests/ui/consts/const-region-ptrs.rs tests/ui/consts/const-repeated-values.rs tests/ui/consts/const.rs tests/ui/consts/consts-in-patterns.rs tests/ui/consts/const-size_of-align_of.rs -tests/ui/consts/const-size_of_val-align_of_val.rs tests/ui/consts/const-struct.rs tests/ui/consts/const-tuple-struct.rs -tests/ui/consts/const-typeid-of-rpass.rs tests/ui/consts/const-unit-struct.rs tests/ui/consts/const-unsafe-fn.rs tests/ui/consts/const_unsafe_unreachable.rs @@ -736,7 +712,6 @@ tests/ui/consts/miri_unleashed/slice_eq.rs tests/ui/consts/mozjs-error.rs tests/ui/consts/mut-ptr-to-static.rs tests/ui/consts/non-scalar-cast.rs -tests/ui/consts/offset_from.rs tests/ui/consts/offset.rs tests/ui/consts/packed_pattern2.rs tests/ui/consts/packed_pattern.rs @@ -790,15 +765,11 @@ tests/ui/coroutine/static-coroutine.rs tests/ui/coroutine/too-live-local-in-immovable-gen.rs tests/ui/coroutine/uninhabited-field.rs tests/ui/coroutine/yield-in-initializer.rs -tests/ui/crate-leading-sep.rs tests/ui/debuginfo/issue-105386-debuginfo-ub.rs tests/ui/debuginfo/msvc-strip-debuginfo.rs tests/ui/debuginfo/msvc-strip-symbols.rs -tests/ui/deep.rs -tests/ui/default-method-simple.rs tests/ui/delegation/explicit-paths-in-traits-pass.rs tests/ui/delegation/explicit-paths-pass.rs -tests/ui/delegation/explicit-paths-signature-pass.rs tests/ui/delegation/generics/impl-to-free-fn-pass.rs tests/ui/delegation/generics/impl-trait-to-trait-method-pass.rs tests/ui/delegation/generics/inherent-impl-to-trait-method-pass.rs @@ -808,8 +779,7 @@ tests/ui/delegation/self-coercion.rs tests/ui/delegation/target-expr-pass.rs tests/ui/deprecation/deprecated-macro_escape-inner.rs tests/ui/deref-patterns/basic.rs -tests/ui/deref-rc.rs -tests/ui/deref.rs +tests/ui/derives/derive-Debug-enum-variants.rs tests/ui/derives/derive-Debug-use-ufcs-struct.rs tests/ui/derives/derive-Debug-use-ufcs-tuple.rs tests/ui/derives/derive-partial-ord.rs @@ -848,15 +818,15 @@ tests/ui/deriving/issue-15689-1.rs tests/ui/deriving/issue-19358.rs tests/ui/deriving/issue-3935.rs tests/ui/dest-prop/skeptic-miscompile.rs +tests/ui/destructuring-assignment/let-binding-tuple-destructuring.rs tests/ui/destructuring-assignment/nested_destructure.rs tests/ui/destructuring-assignment/slice_destructure.rs tests/ui/destructuring-assignment/struct_destructure.rs tests/ui/destructuring-assignment/tuple_destructure.rs tests/ui/destructuring-assignment/tuple_struct_destructure.rs tests/ui/destructuring-assignment/warn-unused-duplication.rs -tests/ui/diverging-fallback-method-chain.rs -tests/ui/diverging-fallback-option.rs tests/ui/drop-bounds/drop-bounds-impl-drop.rs +tests/ui/drop/box-drop-unused-value-statement-regression.rs tests/ui/dropck/cleanup-arm-conditional.rs tests/ui/dropck/dropck_traits.rs tests/ui/dropck/issue-24805-dropck-itemless.rs @@ -867,16 +837,17 @@ tests/ui/dropck/issue-29844.rs tests/ui/dropck/issue-34053.rs tests/ui/drop/dropck-eyepatch-reorder.rs tests/ui/drop/dropck-eyepatch.rs +tests/ui/drop/drop-once-on-move.rs tests/ui/drop/drop-on-empty-block-exit.rs tests/ui/drop/drop-on-ret.rs -tests/ui/drop/drop_order_if_let_rescope.rs tests/ui/drop/drop_order.rs +tests/ui/drop/drop-scope-exit.rs tests/ui/drop/drop-struct-as-object.rs tests/ui/drop/drop-trait-generic.rs tests/ui/drop/drop-trait.rs tests/ui/drop/drop-with-type-ascription-1.rs tests/ui/drop/drop-with-type-ascription-2.rs -tests/ui/drop/dynamic-drop.rs +tests/ui/drop/for-expr-temporary-drop-scope.rs tests/ui/drop/issue-21486.rs tests/ui/drop/issue-23338-ensure-param-drop-order.rs tests/ui/drop/issue-23611-enum-swap-in-drop.rs @@ -891,6 +862,7 @@ tests/ui/drop/issue-90752.rs tests/ui/drop/issue-979.rs tests/ui/drop/no-drop-flag-size.rs tests/ui/drop/nondrop-cycle.rs +tests/ui/drop/or-pattern-drop-order.rs tests/ui/drop/repeat-drop.rs tests/ui/drop/static-issue-17302.rs tests/ui/drop/terminate-in-initializer.rs @@ -906,49 +878,32 @@ tests/ui/dynamically-sized-types/dst-raw.rs tests/ui/dynamically-sized-types/dst-struct.rs tests/ui/dynamically-sized-types/dst-struct-sole.rs tests/ui/dynamically-sized-types/dst-trait.rs -tests/ui/dynamically-sized-types/dst-tuple-no-reorder.rs -tests/ui/dynamically-sized-types/dst-tuple-sole.rs -tests/ui/dynamically-sized-types/dst-tuple-zst-offsets.rs -tests/ui/dyn-star/const.rs -tests/ui/dyn-star/dont-unsize-coerce-dyn-star.rs -tests/ui/dyn-star/drop.rs -tests/ui/dyn-star/make-dyn-star.rs -tests/ui/dyn-star/method.rs tests/ui/editions/never-type-fallback.rs -tests/ui/else-if.rs -tests/ui/empty-allocation-non-null.rs -tests/ui/empty-allocation-rvalue-non-null.rs -tests/ui/empty-type-parameter-list.rs tests/ui/enum-discriminant/actually_not_an_enum-discriminant.rs tests/ui/enum-discriminant/arbitrary_enum_discriminant.rs -tests/ui/enum-discriminant/discriminant_size.rs tests/ui/enum-discriminant/discriminant_value.rs tests/ui/enum-discriminant/discriminant_value-wrapper.rs tests/ui/enum-discriminant/get_discr.rs tests/ui/enum-discriminant/issue-104519.rs -tests/ui/enum-discriminant/issue-43398.rs tests/ui/enum-discriminant/issue-50689.rs tests/ui/enum-discriminant/issue-51582.rs tests/ui/enum-discriminant/issue-61696.rs -tests/ui/enum-discriminant/issue-70509-partial_eq.rs tests/ui/enum-discriminant/issue-90038.rs tests/ui/enum-discriminant/niche-prefer-zero.rs tests/ui/enum-discriminant/niche.rs -tests/ui/enum-discriminant/repr128.rs +tests/ui/enum-discriminant/ptr_niche.rs tests/ui/enum/issue-19340-2.rs tests/ui/enum/issue-23304-1.rs tests/ui/enum/issue-23304-2.rs tests/ui/enum/issue-42747.rs tests/ui/env-macro/option_env-not-defined.rs -tests/ui/errors/remap-path-prefix-macro.rs -tests/ui/explicit-i-suffix.rs tests/ui/explicit-tail-calls/ctfe-collatz-multi-rec.rs tests/ui/expr/block-fn.rs tests/ui/expr/block-generic.rs tests/ui/expr/block.rs tests/ui/expr/compound-assignment/eval-order.rs tests/ui/expr/copy.rs -tests/ui/expr/if/attrs/gate-whole-expr.rs +tests/ui/expr/early-return-in-binop.rs tests/ui/expr/if-bot.rs tests/ui/expr/if/expr-if-panic-pass.rs tests/ui/expr/if/expr-if.rs @@ -957,36 +912,31 @@ tests/ui/expr/if/if-check.rs tests/ui/expr/if/if-ret.rs tests/ui/expr/if-panic-all.rs tests/ui/expr/scope.rs +tests/ui/expr/weird-exprs.rs tests/ui/extern/extern-1.rs tests/ui/extern/extern-compare-with-return-type.rs +tests/ui/extern/extern-prelude-core.rs tests/ui/extern/extern-prelude-no-speculative.rs tests/ui/extern/extern-prelude-std.rs -tests/ui/extern/extern-types-manual-sync-send.rs -tests/ui/extern/extern-types-pointer-cast.rs -tests/ui/extern/extern-types-thin-pointer.rs -tests/ui/extern/extern-types-trait-impl.rs tests/ui/extern/extern-vectorcall.rs tests/ui/extern/issue-10025.rs tests/ui/extern/issue-13655.rs tests/ui/extern/issue-64655-allow-unwind-when-calling-panic-directly.rs tests/ui/extern/issue-64655-extern-rust-must-allow-unwind.rs -tests/ui/ext-expand-inner-exprs.rs -tests/ui/fact.rs -tests/ui/feature-gates/version_check.rs -tests/ui/filter-block-view-items.rs tests/ui/float/classify-runtime-const.rs -tests/ui/float/conv-bits-runtime-const.rs tests/ui/float/int-to-float-miscompile-issue-105626.rs +tests/ui/fmt/debug-single-call.rs tests/ui/fmt/fmt_debug/full.rs tests/ui/fmt/fmt_debug/shallow.rs tests/ui/fmt/format-args-capture-macro-hygiene-pass.rs -tests/ui/fmt/format-args-capture.rs tests/ui/fmt/issue-23781.rs +tests/ui/fmt/println-debug-different-types.rs tests/ui/fn/dyn-fn-alignment.rs tests/ui/fn/expr-fn.rs tests/ui/fn/fun-call-variants.rs tests/ui/fn/issue-1451.rs tests/ui/fn/issue-3904.rs +tests/ui/fn/mutable-function-parameters.rs tests/ui/fn/nested-function-names-issue-8587.rs tests/ui/foreign/foreign-fn-linkname.rs tests/ui/foreign/foreign-truncated-arguments.rs @@ -1038,6 +988,7 @@ tests/ui/for-loop-while/while-prelude-drop.rs tests/ui/for-loop-while/while.rs tests/ui/for-loop-while/while-with-break.rs tests/ui/function-pointer/function-pointer-comparison-issue-54685.rs +tests/ui/functions-closures/bare-fn-implements-fn-mut.rs tests/ui/functions-closures/call-closure-from-overloaded-op.rs tests/ui/functions-closures/capture-clauses-boxed-closures.rs tests/ui/functions-closures/capture-clauses-unboxed-closures.rs @@ -1067,7 +1018,6 @@ tests/ui/functions-closures/implied-bounds-closure-arg-outlives.rs tests/ui/functions-closures/nullable-pointer-opt-closures.rs tests/ui/functions-closures/parallel-codegen-closures.rs tests/ui/functions-closures/return-from-closure.rs -tests/ui/fun-indirect-call.rs tests/ui/generic-associated-types/collections.rs tests/ui/generic-associated-types/const-generics-gat-in-trait-return-type-1.rs tests/ui/generic-associated-types/const-generics-gat-in-trait-return-type-2.rs @@ -1077,6 +1027,7 @@ tests/ui/generic-associated-types/issue-76826.rs tests/ui/generic-associated-types/iterable.rs tests/ui/generic-associated-types/streaming_iterator.rs tests/ui/generics/autobind.rs +tests/ui/generics/empty-generic-brackets-equiv.rs tests/ui/generics/generic-alias-unique.rs tests/ui/generics/generic-default-type-params.rs tests/ui/generics/generic-derived-type.rs @@ -1106,11 +1057,11 @@ tests/ui/generics/issue-32498.rs tests/ui/generics/issue-333.rs tests/ui/generics/issue-94923.rs tests/ui/generics/mid-path-type-params.rs -tests/ui/global-scope.rs +tests/ui/generics/newtype-with-generics.rs tests/ui/half-open-range-patterns/half-open-range-pats-semantics.rs tests/ui/half-open-range-patterns/range_pat_interactions0.rs tests/ui/half-open-range-patterns/slice_pattern_syntax_problem2.rs -tests/ui/hello.rs +tests/ui/higher-ranked/higher-ranked-encoding.rs tests/ui/higher-ranked/leak-check/leak-check-in-selection-1.rs tests/ui/higher-ranked/trait-bounds/hrtb-fn-like-trait-object.rs tests/ui/higher-ranked/trait-bounds/hrtb-fn-like-trait.rs @@ -1136,18 +1087,17 @@ tests/ui/impl-header-lifetime-elision/explicit-and-elided-same-header.rs tests/ui/impl-header-lifetime-elision/path-underscore.rs tests/ui/impl-header-lifetime-elision/ref-underscore.rs tests/ui/impl-header-lifetime-elision/trait-underscore.rs -tests/ui/impl-inherent-non-conflict.rs -tests/ui/impl-not-adjacent-to-type.rs -tests/ui/impl-trait/auto-trait-leak-rpass.rs +tests/ui/impl-trait/auto-trait-leakage/auto-trait-leak-rpass.rs +tests/ui/impl-trait/basic-trait-impl.rs tests/ui/impl-trait/closure-in-impl-trait-arg.rs tests/ui/impl-trait/closure-in-impl-trait.rs tests/ui/impl-trait/equality-rpass.rs tests/ui/impl-trait/example-calendar.rs tests/ui/impl-trait/example-st.rs tests/ui/impl-trait/impl_fn_associativity.rs -tests/ui/impl-trait/issue-36792.rs -tests/ui/impl-trait/issue-49685.rs -tests/ui/impl-trait/issue-51185.rs +tests/ui/impl-trait/issues/issue-36792.rs +tests/ui/impl-trait/issues/issue-49685.rs +tests/ui/impl-trait/issues/issue-51185.rs tests/ui/impl-trait/nesting.rs tests/ui/impl-trait/universal_hrtb_anon.rs tests/ui/impl-trait/universal_hrtb_named.rs @@ -1158,6 +1108,7 @@ tests/ui/impl-trait/universal_multiple_bounds.rs tests/ui/imports/export-multi.rs tests/ui/imports/extern-crate-self/extern-crate-self-macro-alias.rs tests/ui/imports/extern-crate-self/extern-crate-self-macro-self.rs +tests/ui/imports/global-path-resolution-drop.rs tests/ui/imports/import2-rpass.rs tests/ui/imports/import3-rpass.rs tests/ui/imports/import4-rpass.rs @@ -1180,6 +1131,7 @@ tests/ui/imports/reexport-star.rs tests/ui/imports/use-mod.rs tests/ui/include-macros/normalization.rs tests/ui/indexing/indexing-spans-caller-location.rs +tests/ui/inference/auto-instantiate.rs tests/ui/inference/issue-36053.rs tests/ui/inference/issue-3743.rs tests/ui/inference/lambda-infer-unresolved.rs @@ -1192,26 +1144,19 @@ tests/ui/inline-const/const-expr-basic.rs tests/ui/inline-const/const-expr-lifetime.rs tests/ui/inline-const/const-expr-macro.rs tests/ui/inline-const/const-expr-reference.rs -tests/ui/inline-const/const-match-pat-lifetime.rs -tests/ui/inline-const/const-match-pat.rs -tests/ui/inner-attrs-on-impl.rs -tests/ui/inner-module.rs tests/ui/intrinsics/always-gets-overridden.rs tests/ui/intrinsics/const-eval-select.rs tests/ui/intrinsics/const-eval-select-x86_64.rs -tests/ui/intrinsics/intrinsic-alignment.rs tests/ui/intrinsics/intrinsic-assume.rs -tests/ui/intrinsics/intrinsic-atomics.rs tests/ui/intrinsics/intrinsic-fmuladd.rs -tests/ui/intrinsics/intrinsic-nearby.rs tests/ui/intrinsics/intrinsic-raw_eq-const.rs tests/ui/intrinsics/intrinsics-integer.rs tests/ui/intrinsics/intrinsics-math.rs tests/ui/intrinsics/intrinsic-unreachable.rs tests/ui/intrinsics/intrinsic-volatile.rs tests/ui/intrinsics/panic-uninitialized-zeroed.rs -tests/ui/issue-11881.rs -tests/ui/issue-15924.rs +tests/ui/io-checks/io-stdout-blocking-writes.rs +tests/ui/io-checks/stdout-stderr-separation.rs tests/ui/issues/issue-10228.rs tests/ui/issues/issue-10436.rs tests/ui/issues/issue-10638.rs @@ -1222,7 +1167,6 @@ tests/ui/issues/issue-10767.rs tests/ui/issues/issue-10802.rs tests/ui/issues/issue-10806.rs tests/ui/issues/issue-11047.rs -tests/ui/issues/issue-11085.rs tests/ui/issues/issue-11267.rs tests/ui/issues/issue-11382.rs tests/ui/issues/issue-11552.rs @@ -1233,7 +1177,6 @@ tests/ui/issues/issue-11958.rs tests/ui/issues/issue-12033.rs tests/ui/issues/issue-12285.rs tests/ui/issues/issue-12677.rs -tests/ui/issues/issue-12744.rs tests/ui/issues/issue-13027.rs tests/ui/issues/issue-13204.rs tests/ui/issues/issue-13259-windows-tcb-trash.rs @@ -1282,7 +1225,6 @@ tests/ui/issues/issue-16739.rs tests/ui/issues/issue-16745.rs tests/ui/issues/issue-16774.rs tests/ui/issues/issue-16783.rs -tests/ui/issues/issue-16819.rs tests/ui/issues/issue-16922-rpass.rs tests/ui/issues/issue-17068.rs tests/ui/issues/issue-17216.rs @@ -1330,7 +1272,6 @@ tests/ui/issues/issue-21361.rs tests/ui/issues/issue-21384.rs tests/ui/issues/issue-21400.rs tests/ui/issues/issue-21655.rs -tests/ui/issues/issue-2190-1.rs tests/ui/issues/issue-21922.rs tests/ui/issues/issue-22008.rs tests/ui/issues/issue-22036.rs @@ -1352,7 +1293,6 @@ tests/ui/issues/issue-23433.rs tests/ui/issues/issue-23485.rs tests/ui/issues/issue-23491.rs tests/ui/issues/issue-23699.rs -tests/ui/issues/issue-23808.rs tests/ui/issues/issue-2383.rs tests/ui/issues/issue-23891.rs tests/ui/issues/issue-23898.rs @@ -1405,7 +1345,6 @@ tests/ui/issues/issue-28498-must-work-ex1.rs tests/ui/issues/issue-28498-must-work-ex2.rs tests/ui/issues/issue-28498-ugeh-ex1.rs tests/ui/issues/issue-28550.rs -tests/ui/issues/issue-28777.rs tests/ui/issues/issue-28828.rs tests/ui/issues/issue-28839.rs tests/ui/issues/issue-2895.rs @@ -1487,11 +1426,7 @@ tests/ui/issues/issue-39709.rs tests/ui/issues/issue-3979.rs tests/ui/issues/issue-39808.rs tests/ui/issues/issue-39827.rs -tests/ui/issues/issue-40235.rs -tests/ui/issues/issue-40408.rs -tests/ui/issues/issue-40883.rs tests/ui/issues/issue-40951.rs -tests/ui/issues/issue-41213.rs tests/ui/issues/issue-41479.rs tests/ui/issues/issue-41498.rs tests/ui/issues/issue-41604.rs @@ -1593,7 +1528,6 @@ tests/ui/issues/issue-8898.rs tests/ui/issues/issue-9047.rs tests/ui/issues/issue-9129.rs tests/ui/issues/issue-9259.rs -tests/ui/issues/issue-9382.rs tests/ui/issues/issue-9446.rs tests/ui/issues/issue-9737.rs tests/ui/issues/issue-9837.rs @@ -1614,8 +1548,6 @@ tests/ui/iterators/iter-sum-overflow-debug.rs tests/ui/iterators/iter-sum-overflow-ndebug.rs tests/ui/iterators/iter-sum-overflow-overflow-checks.rs tests/ui/iterators/skip-count-overflow.rs -tests/ui/last-use-in-cap-clause.rs -tests/ui/last-use-is-capture.rs tests/ui/late-bound-lifetimes/issue-36381.rs tests/ui/layout/aggregate-lang/struct-align.rs tests/ui/layout/aggregate-lang/struct-size.rs @@ -1626,7 +1558,9 @@ tests/ui/layout/big-type-no-err.rs tests/ui/layout/issue-112048-unsizing-field-order.rs tests/ui/layout/issue-112048-unsizing-niche.rs tests/ui/layout/issue-60431-unsized-tail-behind-projection.rs -tests/ui/lazy-and-or.rs +tests/ui/layout/null-pointer-optimization.rs +tests/ui/layout/null-pointer-optimization-sizes.rs +tests/ui/layout/randomize.rs tests/ui/let-else/const-fn.rs tests/ui/let-else/issue-99975.rs tests/ui/let-else/let-else-bindings.rs @@ -1637,13 +1571,18 @@ tests/ui/let-else/let-else-run-pass.rs tests/ui/let-else/let-else-source-expr-nomove-pass.rs tests/ui/let-else/let-else-temp-borrowck.rs tests/ui/let-else/let-else-temporary-lifetime.rs +tests/ui/lexer/floating-point-0e10-issue-40408.rs tests/ui/lexer/lex-bare-cr-nondoc-comment.rs tests/ui/lexer/lexer-crlf-line-endings-string-literal-doc-comment.rs -tests/ui/lexical-scoping.rs tests/ui/lifetimes/issue-84604.rs +tests/ui/lifetimes/rvalue-cleanup-shortcircuit.rs +tests/ui/lifetimes/rvalue-lifetime-drop-timing.rs tests/ui/lifetimes/tail-expr-lock-poisoning.rs tests/ui/lifetimes/temporary-lifetime-extension.rs -tests/ui/link-section.rs +tests/ui/linkage-attr/link-section-placement.rs +tests/ui/linking/executable-no-mangle-strip.rs +tests/ui/linking/ld64-cross-compilation.rs +tests/ui/link-native-libs/lib-defaults.rs tests/ui/lint/dead-code/alias-in-pat.rs tests/ui/lint/dead-code/associated-type.rs tests/ui/lint/dead-code/enum-variants.rs @@ -1652,13 +1591,9 @@ tests/ui/lint/improper_ctypes/allow-phantomdata-in-ffi.rs tests/ui/lint/issue-20343.rs tests/ui/lint/issue-49588-non-shorthand-field-patterns-in-pattern-macro.rs tests/ui/lint/lint-expr-stmt-attrs-for-early-lints.rs +tests/ui/lint/overflowing-literals-valid.rs tests/ui/lint/unused/no-unused-parens-return-block.rs -tests/ui/list.rs tests/ui/liveness/liveness-assign-imm-local-after-ret.rs -tests/ui/log-err-phi.rs -tests/ui/logging-only-prints-once.rs -tests/ui/log-knows-the-names-of-variants.rs -tests/ui/log-poly.rs tests/ui/loops/issue-1974.rs tests/ui/lowering/issue-96847.rs tests/ui/lto/all-crates.rs @@ -1694,7 +1629,6 @@ tests/ui/macros/macro-as-fn-body.rs tests/ui/macros/macro-at-most-once-rep-2015-rpass.rs tests/ui/macros/macro-at-most-once-rep-2018-rpass.rs tests/ui/macros/macro-attribute-expansion.rs -tests/ui/macros/macro-attributes.rs tests/ui/macros/macro-block-nonterminal.rs tests/ui/macros/macro-crate-use.rs tests/ui/macros/macro-deep_expansion.rs @@ -1708,9 +1642,6 @@ tests/ui/macros/macro-lifetime-used-with-bound.rs tests/ui/macros/macro-lifetime-used-with-labels.rs tests/ui/macros/macro-lifetime-used-with-static.rs tests/ui/macros/macro-literal.rs -tests/ui/macros/macro-metavar-expr-concat/allowed-operations.rs -tests/ui/macros/macro-metavar-expr-concat/repetitions.rs -tests/ui/macros/macro-metavar-expr-concat/unicode-expansion.rs tests/ui/macros/macro-method-issue-4621.rs tests/ui/macros/macro-multiple-items.rs tests/ui/macros/macro-named-default.rs @@ -1730,18 +1661,19 @@ tests/ui/macros/macro-stmt_macro_in_expr_macro.rs tests/ui/macros/macro-stmt.rs tests/ui/macros/macro-tt-followed-by-seq.rs tests/ui/macros/macro-with-attrs1.rs -tests/ui/macros/macro-with-attrs2.rs tests/ui/macros/macro-with-braces-in-expr-position.rs +tests/ui/macros/metavar-expressions/concat-allowed-operations.rs +tests/ui/macros/metavar-expressions/concat-unicode-expansion.rs +tests/ui/macros/metavar-expressions/count-and-length-are-distinct.rs +tests/ui/macros/metavar-expressions/dollar-dollar-has-correct-behavior.rs +tests/ui/macros/metavar-expressions/feature-gate-macro_metavar_expr.rs +tests/ui/macros/metavar-expressions/macro-expansion.rs tests/ui/macros/meta-variable-misuse.rs +tests/ui/macros/nested-macro-expansion.rs tests/ui/macros/pub-item-inside-macro.rs tests/ui/macros/pub-method-inside-macro.rs -tests/ui/macros/rfc-2011-nicer-assert-messages/all-expr-kinds.rs tests/ui/macros/rfc-2011-nicer-assert-messages/assert-with-custom-errors-does-not-create-unnecessary-code.rs tests/ui/macros/rfc-2011-nicer-assert-messages/feature-gate-generic_assert.rs -tests/ui/macros/rfc-3086-metavar-expr/count-and-length-are-distinct.rs -tests/ui/macros/rfc-3086-metavar-expr/dollar-dollar-has-correct-behavior.rs -tests/ui/macros/rfc-3086-metavar-expr/feature-gate-macro_metavar_expr.rs -tests/ui/macros/rfc-3086-metavar-expr/macro-expansion.rs tests/ui/macros/semi-after-macro-ty.rs tests/ui/macros/stmt_expr_attr_macro_parse.rs tests/ui/macros/syntax-extension-cfg.rs @@ -1770,8 +1702,8 @@ tests/ui/match/match-ref-mut-stability.rs tests/ui/match/pattern-deref-miscompile.rs tests/ui/match/postfix-match/pf-match-chain.rs tests/ui/match/postfix-match/postfix-match.rs -tests/ui/maximal_mir_to_hir_coverage.rs -tests/ui/max-min-classes.rs +tests/ui/methods/call_method_unknown_referent2.rs +tests/ui/methods/inherent-methods-same-name.rs tests/ui/methods/method-argument-inference-associated-type.rs tests/ui/methods/method-early-bound-lifetimes-on-self.rs tests/ui/methods/method-mut-self-modifies-mut-slice-lvalue.rs @@ -1785,13 +1717,25 @@ tests/ui/methods/method-two-trait-defer-resolution-2.rs tests/ui/methods/method-two-traits-distinguished-via-where-clause.rs tests/ui/methods/method-where-clause.rs tests/ui/mir/alignment/addrof_alignment.rs +tests/ui/mir/alignment/borrow_aligned_field_projection.rs tests/ui/mir/alignment/i686-pc-windows-msvc.rs tests/ui/mir/alignment/packed.rs -tests/ui/mir/alignment/place_computation.rs tests/ui/mir/alignment/place_without_read.rs tests/ui/mir/clone-canonicalization-miscompile-132353.rs tests/ui/mir/debug-ref-undef.rs tests/ui/mir/dyn_metadata_sroa.rs +tests/ui/mir/enum/convert_non_integer_niche_ok.rs +tests/ui/mir/enum/convert_non_integer_ok.rs +tests/ui/mir/enum/negative_discr_ok.rs +tests/ui/mir/enum/niche_option_tuple_ok.rs +tests/ui/mir/enum/numbered_variants_ok.rs +tests/ui/mir/enum/option_with_bigger_niche_ok.rs +tests/ui/mir/enum/plain_no_data_ok.rs +tests/ui/mir/enum/single_ok.rs +tests/ui/mir/enum/single_with_repr_ok.rs +tests/ui/mir/enum/with_niche_int_ok.rs +tests/ui/mir/enum/with_niche_ptr_ok.rs +tests/ui/mir/enum/wrap_ok.rs tests/ui/mir/issue-29227.rs tests/ui/mir/issue-46845.rs tests/ui/mir/issue-66851.rs @@ -1821,7 +1765,6 @@ tests/ui/mir/mir_codegen_switch.rs tests/ui/mir/mir_coercion_casts.rs tests/ui/mir/mir_coercions.rs tests/ui/mir/mir_const_prop_identity.rs -tests/ui/mir/mir_drop_order.rs tests/ui/mir/mir_early_return_scope.rs tests/ui/mir/mir_fat_ptr_drop.rs tests/ui/mir/mir_fat_ptr.rs @@ -1834,7 +1777,6 @@ tests/ui/mir/mir-inlining/ice-issue-77306-2.rs tests/ui/mir/mir-inlining/ice-issue-77564.rs tests/ui/mir/mir-inlining/no-trait-method-issue-40473.rs tests/ui/mir/mir-inlining/var-debuginfo-issue-67586.rs -tests/ui/mir/mir_let_chains_drop_order.rs tests/ui/mir/mir_match_arm_guard.rs tests/ui/mir/mir_match_test.rs tests/ui/mir/mir_overflow_off.rs @@ -1846,8 +1788,13 @@ tests/ui/mir/mir_temp_promotions.rs tests/ui/mir/mir-typeck-normalize-fn-sig.rs tests/ui/mir/mir_void_return_2.rs tests/ui/mir/mir_void_return.rs +tests/ui/mir/null/addrof_null.rs +tests/ui/mir/null/place_without_read.rs +tests/ui/mir/null/place_without_read_zst.rs +tests/ui/mir/null/zero_sized_access.rs tests/ui/mir/simplify-branch-same.rs tests/ui/mir/validate/needs-reveal-all.rs +tests/ui/modules/impl-cross-module.rs tests/ui/modules/mod_dir_implicit.rs tests/ui/modules/mod_dir_path2.rs tests/ui/modules/mod_dir_path3.rs @@ -1858,8 +1805,13 @@ tests/ui/modules/mod_dir_simple.rs tests/ui/modules/mod_file.rs tests/ui/modules/mod_file_with_path_attr.rs tests/ui/modules/mod-inside-fn.rs +tests/ui/modules/mod-pub-access.rs +tests/ui/modules/module-qualified-paths-basic.rs +tests/ui/modules/module-use-nested-groups.rs tests/ui/modules/mod-view-items.rs -tests/ui/monomorphize-abi-alignment.rs +tests/ui/modules/nested-modules-basic.rs +tests/ui/modules/primitive-type-module-deprecated-paths.rs +tests/ui/modules/use-keyword-reexport-type-alias.rs tests/ui/moves/issue-22536-copy-mustnt-zero.rs tests/ui/moves/move-1-unique.rs tests/ui/moves/move-2.rs @@ -1874,24 +1826,13 @@ tests/ui/moves/move-nullary-fn.rs tests/ui/moves/move-out-of-field.rs tests/ui/moves/moves-based-on-type-capture-clause.rs tests/ui/moves/move-scalar.rs -tests/ui/msvc-opt-minsize.rs -tests/ui/multibyte.rs -tests/ui/mut-function-arguments.rs tests/ui/mut/no-mut-lint-for-desugared-mut.rs -tests/ui/myriad-closures.rs -tests/ui/nested-block-comment.rs -tests/ui/nested-class.rs +tests/ui/namespace/struct-type-and-function-name-coexistence.rs tests/ui/never_type/impl-for-never.rs tests/ui/never_type/never_coercions.rs tests/ui/never_type/never-result.rs +tests/ui/never_type/never-type-fallback-option.rs tests/ui/never_type/try_from.rs -tests/ui/new-impl-syntax.rs -tests/ui/new-import-syntax.rs -tests/ui/newlambdas.rs -tests/ui/new-style-constants.rs -tests/ui/newtype-polymorphic.rs -tests/ui/newtype.rs -tests/ui/new-unicode-escapes.rs tests/ui/nll/borrowck-thread-local-static-mut-borrow-outlives-fn.rs tests/ui/nll/borrow-use-issue-46875.rs tests/ui/nll/issue-24535-allow-mutable-borrow-in-match-guard.rs @@ -1905,13 +1846,11 @@ tests/ui/nll/issue-53123-raw-pointer-cast.rs tests/ui/nll/issue-57960.rs tests/ui/nll/mutating_references.rs tests/ui/nll/rc-loop.rs -tests/ui/no-core-1.rs tests/ui/non_modrs_mods/non_modrs_mods.rs -tests/ui/nul-characters.rs -tests/ui/nullable-pointer-iotareduction.rs -tests/ui/nullable-pointer-size.rs +tests/ui/no_std/no-core-with-explicit-std-core.rs tests/ui/numbers-arithmetic/apfloat-modulo-wrong.rs tests/ui/numbers-arithmetic/arith-unsigned.rs +tests/ui/numbers-arithmetic/bitwise-ops-platform.rs tests/ui/numbers-arithmetic/div-mod.rs tests/ui/numbers-arithmetic/f16-f128-lit.rs tests/ui/numbers-arithmetic/float2.rs @@ -1930,7 +1869,7 @@ tests/ui/numbers-arithmetic/integer-literal-radix.rs tests/ui/numbers-arithmetic/integer-literal-suffix-inference-2.rs tests/ui/numbers-arithmetic/integer-literal-suffix-inference-3.rs tests/ui/numbers-arithmetic/integer-literal-suffix-inference.rs -tests/ui/numbers-arithmetic/int.rs +tests/ui/numbers-arithmetic/isize-base.rs tests/ui/numbers-arithmetic/issue-8460.rs tests/ui/numbers-arithmetic/next-power-of-two-overflow-debug.rs tests/ui/numbers-arithmetic/next-power-of-two-overflow-ndebug.rs @@ -1949,22 +1888,17 @@ tests/ui/numbers-arithmetic/u128.rs tests/ui/numbers-arithmetic/u32-decr.rs tests/ui/numbers-arithmetic/u8-incr-decr.rs tests/ui/numbers-arithmetic/u8-incr.rs -tests/ui/numbers-arithmetic/uint.rs tests/ui/numbers-arithmetic/unary-minus-suffix-inference.rs +tests/ui/numbers-arithmetic/usize-base.rs tests/ui/object-lifetime/object-lifetime-default-default-to-static.rs tests/ui/object-lifetime/object-lifetime-default-from-ref-struct.rs tests/ui/object-lifetime/object-lifetime-default-from-rptr-box.rs tests/ui/object-lifetime/object-lifetime-default-from-rptr-mut.rs tests/ui/object-lifetime/object-lifetime-default-from-rptr.rs tests/ui/object-lifetime/object-lifetime-default-from-rptr-struct.rs -tests/ui/object-lifetime/object-lifetime-default-inferred.rs -tests/ui/objects-coerce-freeze-borrored.rs tests/ui/offset-of/offset-of-slice-normalized.rs tests/ui/offset-of/offset-of-slice.rs tests/ui/offset-of/offset-of-tuple-nested.rs -tests/ui/oom_unwind.rs -tests/ui/op-assign-builtins-by-ref.rs -tests/ui/opeq.rs tests/ui/or-patterns/basic-switchint.rs tests/ui/or-patterns/basic-switch.rs tests/ui/or-patterns/bindings-runpass-1.rs @@ -1973,15 +1907,13 @@ tests/ui/or-patterns/box-patterns.rs tests/ui/or-patterns/for-loop.rs tests/ui/or-patterns/if-let-while-let.rs tests/ui/or-patterns/issue-70413-no-unreachable-pat-and-guard.rs +tests/ui/or-patterns/lazy-and-or.rs tests/ui/or-patterns/let-pattern.rs tests/ui/or-patterns/mix-with-wild.rs tests/ui/or-patterns/search-via-bindings.rs tests/ui/or-patterns/simplification_subtleties.rs tests/ui/or-patterns/slice-patterns.rs tests/ui/or-patterns/struct-like.rs -tests/ui/out-pointer-aliasing.rs -tests/ui/output-slot-variants.rs -tests/ui/over-constrained-vregs.rs tests/ui/overloaded/issue-14958.rs tests/ui/overloaded/overloaded-autoderef-count.rs tests/ui/overloaded/overloaded-autoderef-indexing.rs @@ -2022,30 +1954,39 @@ tests/ui/panic-runtime/abort.rs tests/ui/panic-runtime/link-to-unwind.rs tests/ui/panic-runtime/lto-abort.rs tests/ui/panic-runtime/lto-unwind.rs +tests/ui/panics/catch-unwind-bang.rs tests/ui/panics/nested_panic_caught.rs +tests/ui/panics/oom-panic-unwind.rs +tests/ui/panics/panic-during-display-formatting.rs tests/ui/panics/panic-handler-chain.rs tests/ui/panics/panic-handler-chain-update-hook.rs tests/ui/panics/panic-handler-flail-wildly.rs tests/ui/panics/panic-handler-set-twice.rs tests/ui/panics/panic-in-dtor-drops-fields.rs -tests/ui/panics/panic-recover-propagate.rs -tests/ui/panic-while-printing.rs +tests/ui/panics/rvalue-cleanup-during-box-panic.rs +tests/ui/panics/unwind-force-no-unwind-tables.rs tests/ui/parallel-rustc/hello_world.rs tests/ui/parallel-rustc/read-stolen-value-issue-111520.rs +tests/ui/parser/as-precedence.rs +tests/ui/parser/assoc/assoc-oddities-3.rs +tests/ui/parser/integer-literal-method-call-underscore.rs tests/ui/parser/issues/issue-17718-parse-const.rs tests/ui/parser/issues/issue-21475.rs tests/ui/parser/issues/issue-48508.rs tests/ui/parser/issues/issue-65846-rollback-gating-failing-matcher.rs tests/ui/parser/issues/issue-7222.rs tests/ui/parser/macro/statement-boundaries.rs +tests/ui/parser/nested-block-comments.rs tests/ui/parser/operator-associativity.rs +tests/ui/parser/operator-precedence-braces-exprs.rs tests/ui/parser/parser-unicode-whitespace.rs -tests/ui/parser/ranges-precedence.rs +tests/ui/parser/raw/raw-string-literals.rs tests/ui/parser/slowparse-bstring.rs tests/ui/parser/slowparse-string.rs +tests/ui/parser/syntactic-trailing-commas.rs +tests/ui/parser/unicode-escape-sequences.rs +tests/ui/parser/unicode-multibyte-chars-no-ice.rs tests/ui/parser/utf8_idents-rpass.rs -tests/ui/path.rs -tests/ui/paths-containing-nul.rs tests/ui/pattern/bindings-after-at/bind-by-copy.rs tests/ui/pattern/bindings-after-at/box-patterns.rs tests/ui/pattern/bindings-after-at/nested-patterns.rs @@ -2053,9 +1994,6 @@ tests/ui/pattern/bindings-after-at/or-patterns-box-patterns.rs tests/ui/pattern/bindings-after-at/or-patterns.rs tests/ui/pattern/bindings-after-at/or-patterns-slice-patterns.rs tests/ui/pattern/bindings-after-at/slice-patterns.rs -tests/ui/pattern/deref-patterns/bindings.rs -tests/ui/pattern/deref-patterns/branch.rs -tests/ui/pattern/deref-patterns/closure_capture.rs tests/ui/pattern/ignore-all-the-things.rs tests/ui/pattern/inc-range-pat.rs tests/ui/pattern/integer-range-binding.rs @@ -2070,27 +2008,22 @@ tests/ui/pattern/issue-6449.rs tests/ui/pattern/issue-8351-1.rs tests/ui/pattern/issue-8351-2.rs tests/ui/pattern/move-ref-patterns/move-ref-patterns-dynamic-semantics.rs -tests/ui/pattern/no_ref_mut_behind_and.rs +tests/ui/pattern/pattern-match-arc-move.rs tests/ui/pattern/size-and-align.rs tests/ui/pattern/usefulness/integer-ranges/regression-switchint-sorting-with-ranges.rs tests/ui/pattern/usefulness/irrefutable-let-patterns.rs tests/ui/pattern/usefulness/irrefutable-unit.rs tests/ui/pattern/usefulness/issue-30240-rpass.rs tests/ui/pattern/usefulness/nested-exhaustive-match.rs -tests/ui/polymorphization/promoted-function-3.rs -tests/ui/polymorphization/promoted-function.rs tests/ui/precondition-checks/cfg-ub-checks-default.rs tests/ui/precondition-checks/cfg-ub-checks-no.rs tests/ui/precondition-checks/cfg-ub-checks-yes.rs tests/ui/precondition-checks/zero-size-null.rs -tests/ui/primitive-binop-lhs-mut.rs -tests/ui/print-stdout-eprint-stderr.rs tests/ui/privacy/privacy-ns.rs tests/ui/privacy/private-class-field.rs tests/ui/privacy/private-method-rpass.rs tests/ui/privacy/pub-extern-privacy.rs tests/ui/process/env-args-reverse-iterator.rs -tests/ui/process/env-funky-keys.rs tests/ui/process/env-vars.rs tests/ui/process/exec-env.rs tests/ui/process/fds-are-cloexec.rs @@ -2105,9 +2038,9 @@ tests/ui/process/nofile-limit.rs tests/ui/process/no-stdio.rs tests/ui/process/println-with-broken-pipe.rs tests/ui/process/process-exit.rs -tests/ui/process/process-panic-after-fork.rs tests/ui/process/process-remove-from-env.rs tests/ui/process/process-sigpipe.rs +tests/ui/process/process-spawn-failure.rs tests/ui/process/process-spawn-nonexistent.rs tests/ui/process/process-spawn-with-unicode-params.rs tests/ui/process/process-status-inherits-stdin.rs @@ -2115,16 +2048,21 @@ tests/ui/process/signal-exit-status.rs tests/ui/process/sigpipe-should-be-ignored.rs tests/ui/process-termination/process-termination-simple.rs tests/ui/process/try-wait.rs -tests/ui/project-cache-issue-31849.rs -tests/ui/ptr-coercion-rpass.rs +tests/ui/process/win-command-curdir-no-verbatim.rs tests/ui/ptr_ops/issue-80309.rs tests/ui/ptr_ops/issue-80309-safe.rs +tests/ui/ptr_ops/ptr-swap-basic.rs +tests/ui/ptr_ops/ptr-swap-overlapping-regions.rs +tests/ui/ptr_ops/ptr-write-bool-representation.rs +tests/ui/ptr_ops/raw-pointer-type-basic.rs tests/ui/range/range_inclusive.rs tests/ui/raw-ref-op/raw-ref-op.rs -tests/ui/raw-str.rs -tests/ui/realloc-16687.rs +tests/ui/reachable/artificial-block.rs tests/ui/recursion/instantiable.rs tests/ui/recursion_limit/issue-40003.rs +tests/ui/recursion/recursion-tail-call-no-arg-leak.rs +tests/ui/recursion/recursion-tail-cps.rs +tests/ui/recursion/recursive-enum-box.rs tests/ui/regions/init-res-into-things.rs tests/ui/regions/issue-5243.rs tests/ui/regions/issue-6157.rs @@ -2181,14 +2119,16 @@ tests/ui/repr/align-with-extern-c-fn.rs tests/ui/repr/repr_c_int_align.rs tests/ui/resolve/blind-item-local-shadow.rs tests/ui/resolve/blind-item-mixed-use-item.rs +tests/ui/resolve/global-scope-resolution.rs tests/ui/resolve/no-std-1.rs tests/ui/resolve/no-std-2.rs tests/ui/resolve/no-std-3.rs tests/ui/resolve/primitive-usage.rs tests/ui/resolve/resolve-issue-2428.rs tests/ui/resolve/resolve-pseudo-shadowing.rs -tests/ui/resource-assign-is-not-copy.rs -tests/ui/resource-destruct.rs +tests/ui/resolve/resolve-same-name-struct.rs +tests/ui/resolve/struct-function-same-name.rs +tests/ui/resolve/type-param-local-var-shadowing.rs tests/ui/return/ret-bang.rs tests/ui/return/return-nil.rs tests/ui/rfcs/rfc-0107-bind-by-move-pattern-guards/rfc-basic-examples.rs @@ -2224,7 +2164,6 @@ tests/ui/rfcs/rfc-2005-default-binding-mode/tuple-struct.rs tests/ui/rfcs/rfc-2008-non-exhaustive/enum_same_crate.rs tests/ui/rfcs/rfc-2008-non-exhaustive/structs_same_crate.rs tests/ui/rfcs/rfc-2008-non-exhaustive/variants_same_crate.rs -tests/ui/rfcs/rfc-2027-dyn-compatible-for-dispatch/manual-self-impl-for-unsafe-obj.rs tests/ui/rfcs/rfc-2091-track-caller/call-chain.rs tests/ui/rfcs/rfc-2091-track-caller/caller-location-intrinsic.rs tests/ui/rfcs/rfc-2091-track-caller/const-caller-location.rs @@ -2243,17 +2182,14 @@ tests/ui/rfcs/rfc-2151-raw-identifiers/macros.rs tests/ui/rfcs/rfc-2175-or-if-while-let/basic.rs tests/ui/rfcs/rfc-2294-if-let-guard/drop-order.rs tests/ui/rfcs/rfc-2294-if-let-guard/run-pass.rs -tests/ui/rfcs/rfc-2294-if-let-guard/scope.rs tests/ui/rfcs/rfc-2302-self-struct-ctor/rfc-2302-self-struct-ctor.rs tests/ui/rfcs/rfc-2421-unreserve-pure-offsetof-sizeof-alignof/offsetof-alignof-sizeof-pure-can-be-used-as-idents.rs -tests/ui/rfcs/rfc-2497-if-let-chains/ast-lowering-does-not-wrap-let-chains.rs tests/ui/rfcs/rfc-2497-if-let-chains/protect-precedences.rs -tests/ui/rfcs/rfc-2497-if-let-chains/then-else-blocks.rs tests/ui/runtime/atomic-print.rs tests/ui/runtime/backtrace-debuginfo.rs +tests/ui/runtime/deep_recursion.rs tests/ui/runtime/on-broken-pipe/inherit.rs tests/ui/runtime/out-of-stack.rs -tests/ui/runtime/rt-explody-panic-payloads.rs tests/ui/runtime/signal-alternate-stack-cleanup.rs tests/ui/runtime/stdout-before-main.rs tests/ui/runtime/stdout-during-shutdown-unix.rs @@ -2261,19 +2197,21 @@ tests/ui/sanitizer/cfi/complex-receiver.rs tests/ui/sanitizer/cfi/drop-in-place.rs tests/ui/sanitizer/cfi/self-ref.rs tests/ui/sanitizer/cfi/sized-associated-ty.rs -tests/ui/sanitizer/cfi/supertraits.rs tests/ui/sanitizer/cfi/virtual-auto.rs tests/ui/sanitizer/issue-72154-address-lifetime-markers.rs tests/ui/self/arbitrary_self_types_nested.rs tests/ui/self/arbitrary_self_types_pointers_and_wrappers.rs tests/ui/self/arbitrary_self_types_raw_pointer_struct.rs tests/ui/self/arbitrary_self_types_raw_pointer_trait.rs +tests/ui/self/arbitrary_self_types_recursive_receiver.rs tests/ui/self/arbitrary_self_types_silly.rs tests/ui/self/arbitrary_self_types_stdlib_pointers.rs tests/ui/self/arbitrary_self_types_struct.rs tests/ui/self/arbitrary_self_types_trait.rs tests/ui/self/arbitrary_self_types_unsized_struct.rs tests/ui/self/by-value-self-in-mut-slot.rs +tests/ui/self/conflicting_inner2.rs +tests/ui/self/conflicting_inner.rs tests/ui/self/dyn-compatibility-sized-self-by-value-self.rs tests/ui/self/dyn-compatibility-sized-self-generic-method.rs tests/ui/self/dyn-compatibility-sized-self-return-Self.rs @@ -2295,12 +2233,10 @@ tests/ui/sepcomp/sepcomp-fns-backwards.rs tests/ui/sepcomp/sepcomp-fns.rs tests/ui/sepcomp/sepcomp-statics.rs tests/ui/sepcomp/sepcomp-unwind.rs -tests/ui/shadowed-use-visibility.rs +tests/ui/shadowed/use-shadows-reexport.rs tests/ui/simd/array-type.rs tests/ui/simd/generics.rs -tests/ui/simd/intrinsic/float-math-pass.rs tests/ui/simd/intrinsic/float-minmax-pass.rs -tests/ui/simd/intrinsic/generic-arithmetic-pass.rs tests/ui/simd/intrinsic/generic-arithmetic-saturating-pass.rs tests/ui/simd/intrinsic/generic-as.rs tests/ui/simd/intrinsic/generic-bitmask-pass.rs @@ -2308,8 +2244,7 @@ tests/ui/simd/intrinsic/generic-bswap-byte.rs tests/ui/simd/intrinsic/generic-cast-pass.rs tests/ui/simd/intrinsic/generic-cast-pointer-width.rs tests/ui/simd/intrinsic/generic-comparison-pass.rs -tests/ui/simd/intrinsic/generic-elements-pass.rs -tests/ui/simd/intrinsic/generic-gather-pass.rs +tests/ui/simd/intrinsic/generic-gather-scatter-pass.rs tests/ui/simd/intrinsic/generic-reduction-pass.rs tests/ui/simd/intrinsic/generic-select-pass.rs tests/ui/simd/intrinsic/inlining-issue67557-ice.rs @@ -2328,7 +2263,6 @@ tests/ui/simd/shuffle.rs tests/ui/simd/simd-bitmask-notpow2.rs tests/ui/simd/simd-bitmask.rs tests/ui/simd/size-align.rs -tests/ui/simd/target-feature-mixup.rs tests/ui/simd/type-generic-monomorphisation-extern-nonnull-ptr.rs tests/ui/simd/type-generic-monomorphisation-power-of-two.rs tests/ui/sized/coinductive-2.rs @@ -2346,8 +2280,6 @@ tests/ui/specialization/specialization-translate-projections.rs tests/ui/specialization/specialization-translate-projections-with-lifetimes.rs tests/ui/specialization/specialization-translate-projections-with-params.rs tests/ui/specialization/transmute-specialization.rs -tests/ui/sse2.rs -tests/ui/stable-addr-of.rs tests/ui/static/issue-1660.rs tests/ui/static/refer-to-other-statics-by-value.rs tests/ui/statics/const_generics.rs @@ -2360,15 +2292,16 @@ tests/ui/statics/static-methods-in-traits2.rs tests/ui/statics/static-methods-in-traits.rs tests/ui/statics/static-promotion.rs tests/ui/statics/static-recursive.rs -tests/ui/stdio-is-blocking.rs +tests/ui/std/fs-nul-byte-paths.rs tests/ui/std/issue-3563-3.rs tests/ui/stdlib-unit-tests/matches2021.rs tests/ui/stdlib-unit-tests/raw-fat-ptr.rs tests/ui/std/stdio-from.rs tests/ui/std/thread-sleep-ms.rs tests/ui/std/windows-bat-args.rs -tests/ui/string-box-error.rs -tests/ui/struct-ctor-mangling.rs +tests/ui/str/nul-char-equivalence.rs +tests/ui/str/str-static-literal.rs +tests/ui/structs/basic-newtype-pattern.rs tests/ui/structs-enums/align-enum.rs tests/ui/structs-enums/align-struct.rs tests/ui/structs-enums/borrow-tuple-fields.rs @@ -2422,8 +2355,6 @@ tests/ui/structs-enums/newtype-struct-drop-run.rs tests/ui/structs-enums/newtype-struct-with-dtor.rs tests/ui/structs-enums/nonzero-enum.rs tests/ui/structs-enums/numeric-fields.rs -tests/ui/structs-enums/rec-align-u32.rs -tests/ui/structs-enums/rec-align-u64.rs tests/ui/structs-enums/rec-auto.rs tests/ui/structs-enums/rec-extend.rs tests/ui/structs-enums/record-pat.rs @@ -2463,17 +2394,13 @@ tests/ui/structs-enums/tuple-struct-destructuring.rs tests/ui/structs-enums/tuple-struct-matching.rs tests/ui/structs-enums/tuple-struct-trivial.rs tests/ui/structs-enums/type-sizes.rs -tests/ui/structs-enums/unit-like-struct-drop-run.rs tests/ui/structs-enums/unit-like-struct.rs tests/ui/structs/large-records.rs -tests/ui/super.rs -tests/ui/swap-1.rs -tests/ui/swap-overlapping.rs -tests/ui/syntax-extension-minor.rs -tests/ui/tail-call-arg-leak.rs -tests/ui/tail-cps.rs +tests/ui/symbol-names/struct-constructor-mangling.rs +tests/ui/target-feature/target-feature-detection.rs tests/ui/test-attrs/test-main-not-dead.rs tests/ui/test-attrs/test-runner-hides-main.rs +tests/ui/thread-local/spawn-hook-atexit.rs tests/ui/thread-local/tls.rs tests/ui/threads-sendsync/child-outlives-parent.rs tests/ui/threads-sendsync/clone-with-exterior.rs @@ -2498,7 +2425,6 @@ tests/ui/threads-sendsync/threads.rs tests/ui/threads-sendsync/yield1.rs tests/ui/threads-sendsync/yield2.rs tests/ui/threads-sendsync/yield.rs -tests/ui/trailing-comma.rs tests/ui/traits/alias/bounds.rs tests/ui/traits/alias/import.rs tests/ui/traits/alias/object.rs @@ -2511,12 +2437,10 @@ tests/ui/traits/bound/generic_trait.rs tests/ui/traits/bound/multiple.rs tests/ui/traits/bug-7183-generics.rs tests/ui/traits/bug-7295.rs +tests/ui/traits/clone-unwind-rc-cleanup.rs tests/ui/traits/coercion-generic.rs tests/ui/traits/coercion.rs tests/ui/traits/conditional-dispatch.rs -tests/ui/traits/const-traits/specialization/const-default-const-specialized.rs -tests/ui/traits/const-traits/specialization/non-const-default-const-specialized.rs -tests/ui/traits/const-traits/trait-where-clause-run.rs tests/ui/traits/default-method/bound.rs tests/ui/traits/default-method/bound-subst2.rs tests/ui/traits/default-method/bound-subst3.rs @@ -2524,13 +2448,13 @@ tests/ui/traits/default-method/bound-subst4.rs tests/ui/traits/default-method/bound-subst.rs tests/ui/traits/default-method/macro.rs tests/ui/traits/default-method/self.rs +tests/ui/traits/default_method_simple.rs tests/ui/traits/default-method/supervtable.rs tests/ui/traits/default-method/trivial.rs -tests/ui/traits/dyn-any-prefer-vtable.rs -tests/ui/traits/dyn-drop-principal.rs tests/ui/traits/dyn-trait.rs tests/ui/traits/early-vtbl-resolution.rs tests/ui/traits/elaborate-type-region.rs +tests/ui/traits/encoder-trait-bounds-regression.rs tests/ui/traits/false-ambiguity-where-clause-builtin-bound.rs tests/ui/traits/fmt-pointer-trait.rs tests/ui/traits/generic.rs @@ -2590,12 +2514,11 @@ tests/ui/traits/multidispatch-conditional-impl-not-considered.rs tests/ui/traits/multidispatch-infer-convert-target.rs tests/ui/traits/negative-impls/negated-auto-traits-rpass.rs tests/ui/traits/next-solver/alias-bound-preference.rs -tests/ui/traits/next-solver/dyn-any-dont-prefer-impl.rs +tests/ui/traits/object/ambiguity-vtable-segfault.rs tests/ui/traits/object/auto-dedup.rs tests/ui/traits/object/exclusion.rs tests/ui/traits/object/generics.rs tests/ui/traits/object/lifetime-first.rs -tests/ui/traits/object-one-type-two-traits.rs tests/ui/traits/objects-owned-object-borrowed-method-headerless.rs tests/ui/traits/object/with-lifetime-bound.rs tests/ui/traits/overlap-permitted-for-marker-traits.rs @@ -2608,28 +2531,23 @@ tests/ui/traits/static-method-overwriting.rs tests/ui/traits/static-outlives-a-where-clause.rs tests/ui/traits/superdefault-generics.rs tests/ui/traits/to-str.rs -tests/ui/traits/trait-upcasting/basic.rs -tests/ui/traits/trait-upcasting/correct-supertrait-substitution.rs -tests/ui/traits/trait-upcasting/diamond.rs -tests/ui/traits/trait-upcasting/issue-11515-upcast-fn_mut-fn.rs -tests/ui/traits/trait-upcasting/lifetime.rs -tests/ui/traits/trait-upcasting/replace-vptr.rs -tests/ui/traits/trait-upcasting/struct.rs +tests/ui/traits/trait-object-mut-to-shared-coercion.rs +tests/ui/traits/trait-upcasting/multiple-supertraits-modulo-binder.rs +tests/ui/traits/tryfrominterror-result-comparison.rs tests/ui/traits/typeclasses-eq-example.rs tests/ui/traits/typeclasses-eq-example-static.rs tests/ui/traits/ufcs-object.rs -tests/ui/traits/upcast_reorder.rs +tests/ui/traits/virtual-call-parameter-handling.rs +tests/ui/traits/vtable/impossible-method.rs tests/ui/traits/where-clause-vs-impl.rs tests/ui/traits/with-bounds-default.rs -tests/ui/transmute-non-immediate-to-immediate.rs +tests/ui/transmute/transmute-array-to-scalar.rs tests/ui/transmute/transmute-zst-generics.rs -tests/ui/trivial_casts-rpass.rs tests/ui/try-block/try-is-identifier-edition2015.rs -tests/ui/try-from-int-error-partial-eq.rs -tests/ui/try-operator-hygiene.rs -tests/ui/try-operator.rs tests/ui/try-trait/try-as-monad.rs tests/ui/try-trait/try-operator-custom.rs +tests/ui/try-trait/try-operator-expansion-hygiene.rs +tests/ui/try-trait/try-operator-various-contexts.rs tests/ui/try-trait/yeet-for-option.rs tests/ui/try-trait/yeet-for-result.rs tests/ui/tuple/nested-index.rs @@ -2637,30 +2555,26 @@ tests/ui/tuple/one-tuple.rs tests/ui/tuple/tuple-index-fat-types.rs tests/ui/tuple/tuple-index.rs tests/ui/tuple/tup.rs -tests/ui/tydesc-name.rs tests/ui/type-alias-enum-variants/enum-variant-generic-args-pass.rs tests/ui/type-alias-enum-variants/type-alias-enum-variants-pass.rs -tests/ui/type-alias-impl-trait/type-alias-nested-impl-trait.rs +tests/ui/typeck/inference-method-chain-diverging-fallback.rs tests/ui/typeck/issue-18937-1.rs tests/ui/typeck/issue-2063.rs +tests/ui/typeck/nested-generic-traits-performance.rs tests/ui/typeck/typeck-closure-to-unsafe-fn-ptr.rs tests/ui/typeck/typeck-fn-to-unsafe-fn-ptr.rs tests/ui/typeck/typeck_type_placeholder_1.rs tests/ui/typeck/ufcs-type-params.rs tests/ui/typeck/unify-return-ty.rs -tests/ui/type-id-higher-rank-2.rs tests/ui/type-inference/issue-113283-alllocator-trait-eq.rs tests/ui/type/issue-94187-verbose-type-name.rs -tests/ui/type-namespace.rs -tests/ui/type-param-constraints.rs -tests/ui/type-ptr.rs -tests/ui/typestate-multi-decl.rs +tests/ui/type/mutually-recursive-types.rs tests/ui/type/type-ascription.rs -tests/ui/type-use-i1-versus-i8.rs +tests/ui/type/type-name-basic.rs +tests/ui/type/unit-type-basic-usages.rs tests/ui/ufcs/ufcs-polymorphic-paths.rs tests/ui/unboxed-closures/issue-18652.rs tests/ui/unboxed-closures/issue-18661.rs -tests/ui/unboxed-closures/type-id-higher-rank.rs tests/ui/unboxed-closures/unboxed-closures-all-traits.rs tests/ui/unboxed-closures/unboxed-closures-blanket-fn-mut.rs tests/ui/unboxed-closures/unboxed-closures-blanket-fn.rs @@ -2702,8 +2616,8 @@ tests/ui/unboxed-closures/unboxed-closures-static-call-fn-once.rs tests/ui/unboxed-closures/unboxed-closures-sugar-object.rs tests/ui/unboxed-closures/unboxed-closures-unique-type-id.rs tests/ui/unboxed-closures/unboxed-closures-zero-args.rs -tests/ui/underscore-lifetimes.rs -tests/ui/underscore-method-after-integer.rs +tests/ui/underscore-lifetime/basic-underscore-lifetime-elision.rs +tests/ui/uninhabited/uninhabited-transparent-return-abi.rs tests/ui/union/union-align.rs tests/ui/union/union-backcomp.rs tests/ui/union/union-const-codegen.rs @@ -2722,9 +2636,6 @@ tests/ui/union/union-packed.rs tests/ui/union/union-pat-refutability.rs tests/ui/union/union-trait-impl.rs tests/ui/union/union-transmute.rs -tests/ui/unit.rs -tests/ui/unnamed_argument_mode.rs -tests/ui/unreachable-code-1.rs tests/ui/unsafe/new-unsafe-pointers.rs tests/ui/unsafe/union_destructure.rs tests/ui/unsafe/union-modification.rs @@ -2732,13 +2643,7 @@ tests/ui/unsafe/unsafe-fn-called-from-unsafe-blk.rs tests/ui/unsafe/unsafe-fn-called-from-unsafe-fn.rs tests/ui/unsafe/unsafe-pointer-assignability.rs tests/ui/unsized/issue-23649-1.rs -tests/ui/unsized-locals/align.rs -tests/ui/unsized-locals/autoderef.rs tests/ui/unsized-locals/box-fnonce.rs -tests/ui/unsized-locals/by-value-trait-dyn-compatibility-rpass.rs -tests/ui/unsized-locals/by-value-trait-dyn-compatibility-with-default.rs -tests/ui/unsized-locals/reference-unsized-locals.rs -tests/ui/unsized-locals/simple-unsized-locals.rs tests/ui/unsized-locals/unsized-exprs-rpass.rs tests/ui/unsized-locals/unsized-index.rs tests/ui/unsized-locals/unsized-parameters.rs @@ -2746,17 +2651,7 @@ tests/ui/unsized/unchanged-param.rs tests/ui/unsized/unsized2.rs tests/ui/unsized/unsized3-rpass.rs tests/ui/unsized/unsized.rs -tests/ui/unused-move-capture.rs -tests/ui/unused-move.rs -tests/ui/unwind-no-uwtable.rs -tests/ui/use-import-export.rs -tests/ui/use-keyword-2.rs -tests/ui/use-module-level-int-consts.rs -tests/ui/use-nested-groups.rs tests/ui/variance/variance-intersection-of-ref-and-opt-ref.rs -tests/ui/wait-forked-but-failed-child.rs -tests/ui/weak-new-uninhabited-issue-48493.rs -tests/ui/weird-exprs.rs tests/ui/where-clauses/issue-50825.rs tests/ui/where-clauses/where-clause-early-bound-lifetimes.rs tests/ui/where-clauses/where-clause-method-substituion-rpass.rs @@ -2765,7 +2660,6 @@ tests/ui/where-clauses/where-clauses-lifetimes.rs tests/ui/where-clauses/where-clauses-method.rs tests/ui/where-clauses/where-clauses.rs tests/ui/where-clauses/where-clauses-unboxed-closures.rs -tests/ui/write-fmt-errors.rs tests/ui/zero-sized/zero-sized-binary-heap-push.rs tests/ui/zero-sized/zero-sized-btreemap-insert.rs tests/ui/zero-sized/zero-sized-linkedlist-push.rs diff --git a/tests/ui/ui_sources.txt b/tests/ui/ui_sources.txt index b2ea0d36..7f487deb 100644 --- a/tests/ui/ui_sources.txt +++ b/tests/ui/ui_sources.txt @@ -1,2890 +1,2793 @@ -tests/ui/type-namespace.rs -tests/ui/typeck/issue-2063.rs -tests/ui/typeck/typeck_type_placeholder_1.rs -tests/ui/typeck/ufcs-type-params.rs -tests/ui/typeck/issue-18937-1.rs -tests/ui/typeck/typeck-closure-to-unsafe-fn-ptr.rs -tests/ui/typeck/unify-return-ty.rs -tests/ui/typeck/typeck-fn-to-unsafe-fn-ptr.rs -tests/ui/enum/issue-19340-2.rs -tests/ui/enum/issue-23304-2.rs -tests/ui/enum/issue-42747.rs -tests/ui/enum/issue-23304-1.rs -tests/ui/drop/drop_order.rs -tests/ui/drop/issue-48962.rs -tests/ui/drop/terminate-in-initializer.rs -tests/ui/drop/issue-90752.rs -tests/ui/drop/issue-2735-2.rs -tests/ui/drop/drop-with-type-ascription-2.rs -tests/ui/drop/dropck-eyepatch.rs -tests/ui/drop/issue-90752-raw-ptr-shenanigans.rs -tests/ui/drop/drop-on-ret.rs -tests/ui/drop/drop-on-empty-block-exit.rs -tests/ui/drop/issue-21486.rs -tests/ui/drop/drop-trait-enum.rs -tests/ui/drop/issue-2735.rs -tests/ui/drop/drop_order_if_let_rescope.rs -tests/ui/drop/issue-23338-ensure-param-drop-order.rs -tests/ui/drop/issue-30018-nopanic.rs -tests/ui/drop/drop-struct-as-object.rs -tests/ui/drop/nondrop-cycle.rs -tests/ui/drop/dropck_legal_cycles.rs -tests/ui/drop/issue-23611-enum-swap-in-drop.rs -tests/ui/drop/issue-2734.rs -tests/ui/drop/drop-trait.rs -tests/ui/drop/repeat-drop.rs -tests/ui/drop/dropck-eyepatch-reorder.rs -tests/ui/drop/drop-with-type-ascription-1.rs -tests/ui/drop/issue-2735-3.rs -tests/ui/drop/issue-979.rs -tests/ui/drop/no-drop-flag-size.rs -tests/ui/drop/dynamic-drop.rs -tests/ui/drop/static-issue-17302.rs -tests/ui/drop/drop-trait-generic.rs -tests/ui/never_type/impl-for-never.rs -tests/ui/never_type/never-result.rs -tests/ui/never_type/never_coercions.rs -tests/ui/never_type/try_from.rs -tests/ui/command/issue-10626.rs -tests/ui/command/command-setgroups.rs -tests/ui/command/command-current-dir.rs -tests/ui/command/command-argv0.rs -tests/ui/command/command-exec.rs -tests/ui/command/command-uid-gid.rs -tests/ui/command/command-pre-exec.rs -tests/ui/cleanup-rvalue-temp-during-incomplete-alloc.rs -tests/ui/hashmap/hashmap-memory.rs -tests/ui/type-inference/issue-113283-alllocator-trait-eq.rs +tests/ui/half-open-range-patterns/range_pat_interactions0.rs +tests/ui/half-open-range-patterns/slice_pattern_syntax_problem2.rs +tests/ui/half-open-range-patterns/half-open-range-pats-semantics.rs +tests/ui/std/issue-3563-3.rs +tests/ui/std/windows-bat-args.rs +tests/ui/std/channel-stack-overflow-issue-102246.rs +tests/ui/std/thread-sleep-ms.rs +tests/ui/std/stdio-from.rs +tests/ui/std/fs-nul-byte-paths.rs +tests/ui/match/match-float.rs +tests/ui/match/issue-114691.rs tests/ui/match/guards.rs -tests/ui/match/issue-46920-byte-array-patterns.rs -tests/ui/match/issue-18060.rs -tests/ui/match/issue-5530.rs -tests/ui/match/issue-115681.rs -tests/ui/match/match-ref-mut-stability.rs -tests/ui/match/issue-11940.rs -tests/ui/match/issue-36401.rs -tests/ui/match/issue-26251.rs -tests/ui/match/issue-33498.rs tests/ui/match/issue-42679.rs +tests/ui/match/issue-115681.rs tests/ui/match/pattern-deref-miscompile.rs +tests/ui/match/issue-18060.rs +tests/ui/match/issue-11940.rs tests/ui/match/match-on-negative-integer-ranges.rs -tests/ui/match/issue-72680.rs +tests/ui/match/match-ref-mut-stability.rs +tests/ui/match/issue-33498.rs +tests/ui/match/issue-46920-byte-array-patterns.rs tests/ui/match/issue-113012.rs +tests/ui/match/issue-36401.rs +tests/ui/match/issue-72680.rs +tests/ui/match/issue-26251.rs +tests/ui/match/issue-5530.rs tests/ui/match/postfix-match/postfix-match.rs tests/ui/match/postfix-match/pf-match-chain.rs -tests/ui/match/issue-114691.rs -tests/ui/match/match-float.rs -tests/ui/polymorphization/promoted-function.rs -tests/ui/polymorphization/promoted-function-3.rs +tests/ui/asm/may_unwind.rs +tests/ui/asm/aarch64/may_unwind.rs +tests/ui/asm/aarch64/const.rs +tests/ui/asm/x86_64/may_unwind.rs +tests/ui/asm/x86_64/sym.rs +tests/ui/asm/x86_64/multiple-clobber-abi.rs +tests/ui/asm/x86_64/const.rs +tests/ui/recursion_limit/issue-40003.rs tests/ui/ufcs/ufcs-polymorphic-paths.rs -tests/ui/new-style-constants.rs -tests/ui/unsafe/union-modification.rs -tests/ui/unsafe/unsafe-pointer-assignability.rs -tests/ui/unsafe/union_destructure.rs -tests/ui/unsafe/new-unsafe-pointers.rs -tests/ui/unsafe/unsafe-fn-called-from-unsafe-fn.rs -tests/ui/unsafe/unsafe-fn-called-from-unsafe-blk.rs -tests/ui/regions/regions-dependent-let-ref.rs -tests/ui/regions/regions-borrow-evec-fixed.rs -tests/ui/regions/regions-borrow-at.rs -tests/ui/regions/regions-mock-codegen.rs -tests/ui/regions/regions-lifetime-static-items-enclosing-scopes.rs -tests/ui/regions/regions-creating-enums5.rs -tests/ui/regions/regions-infer-contravariance-due-to-ret.rs -tests/ui/regions/regions-infer-borrow-scope-view.rs -tests/ui/regions/regions-dependent-autoslice.rs -tests/ui/regions/regions-infer-call-2.rs -tests/ui/regions/regions-bot.rs -tests/ui/regions/regions-infer-borrow-scope.rs -tests/ui/regions/regions-infer-call.rs -tests/ui/regions/regions-addr-of-interior-of-unique-box.rs -tests/ui/regions/regions-dependent-autofn.rs -tests/ui/regions/regions-relate-bound-regions-on-closures-to-inference-variables.rs -tests/ui/regions/issue-5243.rs -tests/ui/regions/regions-creating-enums2.rs -tests/ui/regions/regions-copy-closure.rs -tests/ui/regions/regions-infer-borrow-scope-addr-of.rs -tests/ui/regions/regions-early-bound-used-in-bound.rs -tests/ui/regions/regions-self-impls.rs -tests/ui/regions/regions-infer-borrow-scope-within-loop-ok.rs -tests/ui/regions/regions-early-bound-trait-param.rs -tests/ui/regions/regions-dependent-addr-of.rs -tests/ui/regions/regions-reassign-let-bound-pointer.rs -tests/ui/regions/regions-return-interior-of-option.rs -tests/ui/regions/regions-params.rs -tests/ui/regions/regions-lifetime-nonfree-late-bound.rs -tests/ui/regions/regions-close-over-type-parameter-successfully.rs -tests/ui/regions/regions-reassign-match-bound-pointer.rs -tests/ui/regions/regions-trait-object-1.rs -tests/ui/regions/regions-refcell.rs -tests/ui/regions/regions-fn-subtyping.rs -tests/ui/regions/regions-simple.rs -tests/ui/regions/regions-early-bound-used-in-type-param.rs -tests/ui/regions/regions-escape-into-other-fn.rs -tests/ui/regions/regions-static-bound-rpass.rs -tests/ui/regions/regions-fn-subtyping-2.rs -tests/ui/regions/regions-infer-reborrow-ref-mut-recurse.rs -tests/ui/regions/regions-addr-of-ret.rs -tests/ui/regions/rcvr-borrowed-to-region.rs -tests/ui/regions/regions-borrow-evec-uniq.rs -tests/ui/regions/init-res-into-things.rs -tests/ui/regions/regions-infer-static-from-proc.rs -tests/ui/regions/regions-borrow-uniq.rs -tests/ui/regions/regions-static-closure.rs -tests/ui/regions/owned-implies-static.rs -tests/ui/regions/regions-early-bound-used-in-bound-method.rs -tests/ui/regions/issue-6157.rs -tests/ui/regions/regions-self-in-enums.rs -tests/ui/maximal_mir_to_hir_coverage.rs -tests/ui/sse2.rs -tests/ui/mut-function-arguments.rs -tests/ui/issue-11881.rs -tests/ui/global-scope.rs -tests/ui/bare-static-string.rs -tests/ui/use-nested-groups.rs -tests/ui/abi/nullable-pointer-ffi-compat.rs -tests/ui/abi/extern/extern-return-TwoU8s.rs -tests/ui/abi/extern/extern-pass-TwoU16s.rs -tests/ui/abi/extern/extern-pass-u32.rs -tests/ui/abi/extern/extern-pass-FiveU16s.rs -tests/ui/abi/extern/extern-pass-TwoU8s.rs -tests/ui/abi/extern/extern-return-FiveU16s.rs -tests/ui/abi/extern/extern-pass-empty.rs -tests/ui/abi/extern/extern-return-TwoU32s.rs -tests/ui/abi/extern/extern-call-scrub.rs -tests/ui/abi/extern/extern-return-TwoU64s.rs -tests/ui/abi/extern/extern-call-indirect.rs -tests/ui/abi/extern/extern-call-direct.rs -tests/ui/abi/extern/extern-pass-TwoU64s.rs -tests/ui/abi/extern/extern-pass-char.rs -tests/ui/abi/extern/extern-pass-TwoU32s.rs -tests/ui/abi/extern/extern-call-deep.rs -tests/ui/abi/extern/extern-call-deep2.rs -tests/ui/abi/extern/extern-pass-u64.rs -tests/ui/abi/extern/extern-pass-double.rs -tests/ui/abi/extern/extern-return-TwoU16s.rs -tests/ui/abi/anon-extern-mod.rs -tests/ui/abi/c-stack-as-value.rs -tests/ui/abi/variadic-ffi.rs -tests/ui/abi/struct-enums/struct-return.rs -tests/ui/abi/numbers-arithmetic/return-float.rs -tests/ui/abi/numbers-arithmetic/i128-ffi.rs -tests/ui/abi/foreign/foreign-fn-with-byval.rs -tests/ui/abi/union/union-c-interop.rs -tests/ui/abi/x86stdcall2.rs -tests/ui/abi/homogenous-floats-target-feature-mixup.rs -tests/ui/abi/stack-protector.rs -tests/ui/abi/c-stack-returning-int64.rs -tests/ui/abi/issues/issue-97463-broken-abi-leaked-uninit-data.rs -tests/ui/abi/issues/issue-62350-sysv-neg-reg-counts.rs -tests/ui/abi/mir/mir_codegen_calls_variadic.rs -tests/ui/abi/segfault-no-out-of-stack.rs -tests/ui/abi/abi-sysv64-arg-passing.rs -tests/ui/abi/cabi-int-widening.rs -tests/ui/abi/statics/static-mut-foreign.rs -tests/ui/abi/stack-probes.rs -tests/ui/abi/lib-defaults.rs -tests/ui/abi/issue-28676.rs -tests/ui/dyn-star/const.rs -tests/ui/dyn-star/drop.rs -tests/ui/dyn-star/method.rs -tests/ui/dyn-star/dyn-star-to-dyn.rs -tests/ui/dyn-star/box.rs -tests/ui/dyn-star/dont-unsize-coerce-dyn-star.rs -tests/ui/dyn-star/make-dyn-star.rs -tests/ui/default-method-simple.rs -tests/ui/list.rs -tests/ui/extern/extern-types-pointer-cast.rs -tests/ui/extern/extern-compare-with-return-type.rs -tests/ui/extern/issue-64655-extern-rust-must-allow-unwind.rs -tests/ui/extern/extern-types-trait-impl.rs -tests/ui/extern/extern-vectorcall.rs -tests/ui/extern/extern-types-thin-pointer.rs -tests/ui/extern/issue-64655-allow-unwind-when-calling-panic-directly.rs -tests/ui/extern/issue-10025.rs -tests/ui/extern/issue-13655.rs -tests/ui/extern/extern-prelude-std.rs -tests/ui/extern/extern-1.rs -tests/ui/extern/extern-types-manual-sync-send.rs -tests/ui/extern/extern-prelude-no-speculative.rs -tests/ui/fmt/issue-23781.rs -tests/ui/fmt/fmt_debug/shallow.rs -tests/ui/fmt/fmt_debug/none.rs -tests/ui/fmt/fmt_debug/full.rs -tests/ui/fmt/format-args-capture-macro-hygiene-pass.rs -tests/ui/fmt/format-args-capture.rs -tests/ui/parallel-rustc/hello_world.rs -tests/ui/parallel-rustc/read-stolen-value-issue-111520.rs -tests/ui/cancel-clean-via-immediate-rvalue-ref.rs -tests/ui/nested-block-comment.rs -tests/ui/stdio-is-blocking.rs -tests/ui/alloc-error/default-alloc-error-hook.rs -tests/ui/msvc-opt-minsize.rs -tests/ui/inner-module.rs -tests/ui/syntax-extension-minor.rs -tests/ui/no-core-1.rs -tests/ui/oom_unwind.rs -tests/ui/type-alias-enum-variants/enum-variant-generic-args-pass.rs -tests/ui/type-alias-enum-variants/type-alias-enum-variants-pass.rs -tests/ui/closures/issue-1460.rs -tests/ui/closures/issue-868.rs -tests/ui/closures/old-closure-iter-2.rs -tests/ui/closures/old-closure-fn-coerce.rs -tests/ui/closures/old-closure-arg-call-as.rs -tests/ui/closures/once-move-out-on-heap.rs -tests/ui/closures/issue-42463.rs -tests/ui/closures/issue-10682.rs -tests/ui/closures/closure_no_cap_coerce_many_unsafe_1.rs -tests/ui/closures/old-closure-arg.rs -tests/ui/closures/closure_no_cap_coerce_many_run_pass.rs -tests/ui/closures/old-closure-iter-1.rs -tests/ui/closures/old-closure-expr-precedence.rs -tests/ui/closures/issue-5239-2.rs -tests/ui/closures/issue-22864-2.rs -tests/ui/closures/2229_closure_analysis/match/issue-87988.rs -tests/ui/closures/2229_closure_analysis/match/issue-87426.rs -tests/ui/closures/2229_closure_analysis/match/issue-87097.rs -tests/ui/closures/2229_closure_analysis/preserve_field_drop_order2.rs -tests/ui/closures/2229_closure_analysis/migrations/insignificant_drop_attr_no_migrations.rs -tests/ui/closures/2229_closure_analysis/migrations/no_migrations.rs -tests/ui/closures/2229_closure_analysis/migrations/unpin_no_migration.rs -tests/ui/closures/2229_closure_analysis/migrations/precise_no_migrations.rs -tests/ui/closures/2229_closure_analysis/migrations/issue-78720.rs -tests/ui/closures/2229_closure_analysis/run_pass/issue-88372.rs -tests/ui/closures/2229_closure_analysis/run_pass/disjoint-capture-in-same-closure.rs -tests/ui/closures/2229_closure_analysis/run_pass/mut_ref.rs -tests/ui/closures/2229_closure_analysis/run_pass/fru_syntax.rs -tests/ui/closures/2229_closure_analysis/run_pass/move_closure.rs -tests/ui/closures/2229_closure_analysis/run_pass/mut_ref_struct_mem.rs -tests/ui/closures/2229_closure_analysis/run_pass/unsafe_ptr.rs -tests/ui/closures/2229_closure_analysis/run_pass/by_value.rs -tests/ui/closures/2229_closure_analysis/run_pass/multilevel-path-3.rs -tests/ui/closures/semistatement-in-lambda.rs -tests/ui/closures/issue-22864-1.rs -tests/ui/closures/old-closure-explicit-types.rs -tests/ui/lint/issue-20343.rs -tests/ui/lint/lint-expr-stmt-attrs-for-early-lints.rs -tests/ui/lint/issue-49588-non-shorthand-field-patterns-in-pattern-macro.rs -tests/ui/lint/improper_ctypes/allow-phantomdata-in-ffi.rs -tests/ui/lint/dead-code/alias-in-pat.rs -tests/ui/lint/dead-code/enum-variants.rs -tests/ui/lint/dead-code/associated-type.rs -tests/ui/lint/dead-code/with-impl.rs -tests/ui/lint/unused/no-unused-parens-return-block.rs -tests/ui/alias-uninit-value.rs -tests/ui/cfg/cfg-target-vendor.rs -tests/ui/cfg/cfg-macros-notfoo.rs -tests/ui/cfg/true-false.rs -tests/ui/cfg/cfg-macros-foo.rs -tests/ui/cfg/cfg_attr.rs -tests/ui/cfg/cfgs-on-items.rs -tests/ui/cfg/cfg-target-compact.rs -tests/ui/cfg/conditional-compile.rs -tests/ui/cfg/cfg-target-abi.rs -tests/ui/cfg/cfg_stmt_expr.rs -tests/ui/marker_trait_attr/overlap-doesnt-conflict-with-specialization.rs -tests/ui/marker_trait_attr/overlap-permitted-for-annotated-marker-traits.rs -tests/ui/non_modrs_mods/non_modrs_mods.rs -tests/ui/editions/never-type-fallback.rs -tests/ui/type/type-ascription.rs -tests/ui/type/issue-94187-verbose-type-name.rs -tests/ui/underscore-method-after-integer.rs -tests/ui/unused-move.rs -tests/ui/structs/large-records.rs -tests/ui/multibyte.rs -tests/ui/intrinsics/intrinsic-fmuladd.rs -tests/ui/intrinsics/intrinsic-atomics.rs -tests/ui/intrinsics/intrinsics-integer.rs -tests/ui/intrinsics/intrinsic-volatile.rs -tests/ui/intrinsics/intrinsic-assume.rs -tests/ui/intrinsics/intrinsic-nearby.rs -tests/ui/intrinsics/panic-uninitialized-zeroed.rs -tests/ui/intrinsics/const-eval-select-x86_64.rs -tests/ui/intrinsics/intrinsics-math.rs -tests/ui/intrinsics/intrinsic-alignment.rs -tests/ui/intrinsics/const-eval-select.rs -tests/ui/intrinsics/intrinsic-raw_eq-const.rs -tests/ui/intrinsics/always-gets-overridden.rs -tests/ui/intrinsics/intrinsic-unreachable.rs -tests/ui/write-fmt-errors.rs -tests/ui/asm/aarch64/const.rs -tests/ui/asm/aarch64/may_unwind.rs -tests/ui/asm/x86_64/const.rs -tests/ui/asm/x86_64/multiple-clobber-abi.rs -tests/ui/asm/x86_64/sym.rs -tests/ui/asm/x86_64/may_unwind.rs -tests/ui/asm/x86_64/goto.rs -tests/ui/asm/may_unwind.rs -tests/ui/trivial_casts-rpass.rs -tests/ui/char.rs -tests/ui/recursion_limit/issue-40003.rs -tests/ui/sepcomp/sepcomp-fns.rs tests/ui/sepcomp/sepcomp-fns-backwards.rs +tests/ui/sepcomp/sepcomp-fns.rs tests/ui/sepcomp/sepcomp-statics.rs tests/ui/sepcomp/sepcomp-unwind.rs -tests/ui/test-attrs/test-panic-while-printing.rs -tests/ui/test-attrs/test-main-not-dead.rs -tests/ui/test-attrs/test-runner-hides-main.rs -tests/ui/paths-containing-nul.rs -tests/ui/coroutine/issue-57084.rs -tests/ui/coroutine/non-static-is-unpin.rs -tests/ui/coroutine/conditional-drop.rs -tests/ui/coroutine/pin-box-coroutine.rs -tests/ui/coroutine/borrow-in-tail-expr.rs -tests/ui/coroutine/resume-live-across-yield.rs -tests/ui/coroutine/drop-and-replace.rs -tests/ui/coroutine/issue-69039.rs -tests/ui/coroutine/discriminant.rs -tests/ui/coroutine/match-bindings.rs -tests/ui/coroutine/panic-safe.rs -tests/ui/coroutine/panic-drops.rs -tests/ui/coroutine/nested_coroutine.rs -tests/ui/coroutine/too-live-local-in-immovable-gen.rs -tests/ui/coroutine/size-moved-locals.rs -tests/ui/coroutine/resume-after-return.rs -tests/ui/coroutine/addassign-yield.rs -tests/ui/coroutine/drop-track-addassign-yield.rs -tests/ui/coroutine/static-coroutine.rs -tests/ui/coroutine/iterator-count.rs -tests/ui/coroutine/drop-env.rs -tests/ui/coroutine/resume-arg-size.rs -tests/ui/coroutine/niche-in-coroutine.rs -tests/ui/coroutine/control-flow.rs -tests/ui/coroutine/uninhabited-field.rs -tests/ui/coroutine/issue-58888.rs -tests/ui/coroutine/live-upvar-across-yield.rs -tests/ui/coroutine/panic-drops-resume.rs -tests/ui/coroutine/issue-52398.rs -tests/ui/coroutine/smoke-resume-args.rs -tests/ui/coroutine/overlap-locals.rs -tests/ui/coroutine/yield-in-initializer.rs -tests/ui/coroutine/issue-44197.rs -tests/ui/use-module-level-int-consts.rs -tests/ui/hygiene/hygienic-labels-in-let.rs -tests/ui/hygiene/hygiene.rs -tests/ui/hygiene/macro-metavars-transparent.rs -tests/ui/hygiene/hygiene-dodging-1.rs -tests/ui/hygiene/hygienic-labels.rs -tests/ui/hygiene/lambda-var-hygiene.rs -tests/ui/hygiene/specialization.rs -tests/ui/hygiene/issue-15221.rs -tests/ui/hygiene/macro-metavars-legacy.rs -tests/ui/hygiene/issue-40847.rs -tests/ui/hygiene/thread-local-not-in-prelude.rs -tests/ui/hygiene/issue-29746.rs -tests/ui/overloaded/overloaded-autoderef-order.rs -tests/ui/overloaded/overloaded-calls-simple.rs -tests/ui/overloaded/issue-14958.rs -tests/ui/overloaded/overloaded-calls-object-two-args.rs -tests/ui/overloaded/overloaded-index-in-field.rs -tests/ui/overloaded/overloaded-deref.rs -tests/ui/overloaded/overloaded-index.rs -tests/ui/overloaded/overloaded-autoderef-count.rs -tests/ui/overloaded/overloaded_deref_with_ref_pattern.rs -tests/ui/overloaded/overloaded-index-assoc-list.rs -tests/ui/overloaded/overloaded-index-autoderef.rs -tests/ui/overloaded/overloaded-calls-object-one-arg.rs -tests/ui/overloaded/overloaded-calls-object-zero-args.rs -tests/ui/overloaded/overloaded-autoderef-indexing.rs -tests/ui/overloaded/overloaded-calls-param-vtables.rs -tests/ui/overloaded/overloaded_deref_with_ref_pattern_issue15609.rs -tests/ui/overloaded/overloaded-deref-count.rs -tests/ui/overloaded/overloaded-autoderef.rs -tests/ui/overloaded/overloaded-autoderef-vtable.rs -tests/ui/overloaded/overloaded-calls-zero-args.rs -tests/ui/dynamically-sized-types/dst-tuple-zst-offsets.rs -tests/ui/dynamically-sized-types/dst-trait-tuple.rs -tests/ui/dynamically-sized-types/dst-deref-mut.rs -tests/ui/dynamically-sized-types/dst-irrefutable-bind.rs -tests/ui/dynamically-sized-types/dst-index.rs -tests/ui/dynamically-sized-types/dst-coerce-rc.rs -tests/ui/dynamically-sized-types/dst-raw.rs -tests/ui/dynamically-sized-types/dst-coerce-custom.rs -tests/ui/dynamically-sized-types/dst-struct-sole.rs -tests/ui/dynamically-sized-types/dst-trait.rs -tests/ui/dynamically-sized-types/dst-tuple-no-reorder.rs -tests/ui/dynamically-sized-types/dst-deref.rs -tests/ui/dynamically-sized-types/dst-tuple.rs -tests/ui/dynamically-sized-types/dst-coercions.rs -tests/ui/dynamically-sized-types/dst-field-align.rs -tests/ui/dynamically-sized-types/dst-struct.rs -tests/ui/dynamically-sized-types/dst-tuple-sole.rs -tests/ui/associated-type-bounds/trait-alias-impl-trait.rs -tests/ui/associated-type-bounds/struct-bounds.rs -tests/ui/associated-type-bounds/union-bounds.rs -tests/ui/associated-type-bounds/rpit.rs -tests/ui/associated-type-bounds/enum-bounds.rs -tests/ui/env-macro/option_env-not-defined.rs -tests/ui/env-macro/env-env.rs -tests/ui/env-macro/env-env-overload.rs -tests/ui/realloc-16687.rs -tests/ui/objects-coerce-freeze-borrored.rs -tests/ui/super.rs -tests/ui/half-open-range-patterns/half-open-range-pats-semantics.rs -tests/ui/half-open-range-patterns/range_pat_interactions0.rs -tests/ui/half-open-range-patterns/slice_pattern_syntax_problem2.rs -tests/ui/function-pointer/function-pointer-comparison-issue-54685.rs -tests/ui/try-block/try-is-identifier-edition2015.rs -tests/ui/try-block/try-block-in-match.rs -tests/ui/try-block/try-block.rs -tests/ui/try-block/try-block-in-return.rs -tests/ui/try-block/issue-45124.rs -tests/ui/deep.rs -tests/ui/type-alias-impl-trait/type-alias-nested-impl-trait.rs -tests/ui/use-keyword-2.rs -tests/ui/include-macros/normalization.rs -tests/ui/diverging-fallback-method-chain.rs -tests/ui/bench/issue-32062.rs +tests/ui/offset-of/offset-of-slice.rs +tests/ui/offset-of/offset-of-slice-normalized.rs +tests/ui/offset-of/offset-of-tuple-nested.rs +tests/ui/const-ptr/pointer-address-stability.rs +tests/ui/shadowed/use-shadows-reexport.rs +tests/ui/range/range_inclusive.rs +tests/ui/moves/move-arg-2-unique.rs +tests/ui/moves/move-3-unique.rs +tests/ui/moves/issue-22536-copy-mustnt-zero.rs tests/ui/moves/move-arg.rs +tests/ui/moves/move-scalar.rs +tests/ui/moves/move-4.rs +tests/ui/moves/move-4-unique.rs tests/ui/moves/move-nullary-fn.rs -tests/ui/moves/moves-based-on-type-capture-clause.rs tests/ui/moves/move-arg-2.rs -tests/ui/moves/move-4-unique.rs -tests/ui/moves/move-3-unique.rs tests/ui/moves/move-2-unique.rs -tests/ui/moves/issue-22536-copy-mustnt-zero.rs -tests/ui/moves/move-4.rs -tests/ui/moves/move-out-of-field.rs +tests/ui/moves/moves-based-on-type-capture-clause.rs tests/ui/moves/move-2.rs -tests/ui/moves/move-arg-2-unique.rs tests/ui/moves/move-1-unique.rs -tests/ui/moves/move-scalar.rs -tests/ui/project-cache-issue-31849.rs -tests/ui/try-from-int-error-partial-eq.rs -tests/ui/unreachable-code-1.rs -tests/ui/new-unicode-escapes.rs -tests/ui/borrow-by-val-method-receiver.rs -tests/ui/new-impl-syntax.rs -tests/ui/associated-types/associated-types-in-fn.rs -tests/ui/associated-types/associated-types-simple.rs -tests/ui/associated-types/object-method-numbering.rs -tests/ui/associated-types/associated-types-issue-21212.rs -tests/ui/associated-types/issue-18655.rs -tests/ui/associated-types/associated-types-basic.rs -tests/ui/associated-types/associated-types-issue-20220.rs -tests/ui/associated-types/associated-types-struct-field-numbered.rs -tests/ui/associated-types/associated-types-in-impl-generics.rs -tests/ui/associated-types/associated-types-bound.rs -tests/ui/associated-types/associated-types-struct-field-named.rs -tests/ui/associated-types/issue-23208.rs -tests/ui/associated-types/associated-types-enum-field-named.rs -tests/ui/associated-types/issue-25339.rs -tests/ui/associated-types/associated-types-ref-in-struct-literal.rs -tests/ui/associated-types/default-associated-types.rs -tests/ui/associated-types/associated-types-binding-in-trait.rs -tests/ui/associated-types/associated-types-sugar-path.rs -tests/ui/associated-types/associated-types-method.rs -tests/ui/associated-types/associated-types-duplicate-binding-in-env-hrtb.rs -tests/ui/associated-types/associated-types-binding-in-where-clause.rs -tests/ui/associated-types/associated-types-projection-in-where-clause.rs -tests/ui/associated-types/issue-54182-1.rs -tests/ui/associated-types/issue-54467.rs -tests/ui/associated-types/associated-types-from-supertrait.rs -tests/ui/associated-types/issue-25700-2.rs -tests/ui/associated-types/associated-types-nested-projections.rs -tests/ui/associated-types/associated-item-long-paths.rs -tests/ui/associated-types/issue-55846.rs -tests/ui/associated-types/associated-types-constant-type.rs -tests/ui/associated-types/issue-22828.rs -tests/ui/associated-types/associated-types-region-erasure-issue-20582.rs -tests/ui/associated-types/issue-27901.rs -tests/ui/associated-types/associated-types-duplicate-binding-in-env.rs -tests/ui/associated-types/associated-types-projection-from-known-type-in-impl.rs -tests/ui/associated-types/associated-types-in-default-method.rs -tests/ui/associated-types/associated-types-enum-field-numbered.rs -tests/ui/associated-types/associated-types-eq-obj.rs -tests/ui/associated-types/associated-types-projection-in-supertrait.rs -tests/ui/associated-types/associated-types-stream.rs -tests/ui/associated-types/associated-types-conditional-dispatch.rs -tests/ui/associated-types/issue-25700-1.rs -tests/ui/associated-types/associated-types-doubleendediterator-object.rs -tests/ui/associated-types/associated-types-project-from-type-param-via-bound-in-where.rs -tests/ui/associated-types/associated-types-iterator-binding.rs -tests/ui/associated-types/associated-types-in-inherent-method.rs -tests/ui/associated-types/associated-types-return.rs -tests/ui/associated-types/associated-types-normalize-unifield-struct.rs -tests/ui/associated-types/issue-47139-2.rs -tests/ui/associated-types/issue-47139-1.rs -tests/ui/associated-types/associated-types-ref-from-struct.rs -tests/ui/complex.rs -tests/ui/builtin-clone-unwind.rs -tests/ui/wait-forked-but-failed-child.rs -tests/ui/layout/issue-60431-unsized-tail-behind-projection.rs -tests/ui/layout/aggregate-lang/struct-size.rs -tests/ui/layout/aggregate-lang/union-offsets.rs -tests/ui/layout/aggregate-lang/union-size.rs -tests/ui/layout/aggregate-lang/struct-align.rs -tests/ui/layout/aggregate-lang/union-align.rs -tests/ui/layout/issue-112048-unsizing-field-order.rs -tests/ui/layout/issue-112048-unsizing-niche.rs -tests/ui/layout/big-type-no-err.rs -tests/ui/feature-gates/version_check.rs -tests/ui/numbers-arithmetic/div-mod.rs -tests/ui/numbers-arithmetic/unary-minus-suffix-inference.rs -tests/ui/numbers-arithmetic/shift.rs -tests/ui/numbers-arithmetic/int-abs-overflow.rs -tests/ui/numbers-arithmetic/float-nan.rs -tests/ui/numbers-arithmetic/f16-f128-lit.rs -tests/ui/numbers-arithmetic/issue-8460.rs -tests/ui/numbers-arithmetic/u128.rs -tests/ui/numbers-arithmetic/i8-incr.rs -tests/ui/numbers-arithmetic/integer-literal-suffix-inference-2.rs -tests/ui/numbers-arithmetic/saturating-float-casts-wasm.rs -tests/ui/numbers-arithmetic/num-wrapping.rs -tests/ui/numbers-arithmetic/next-power-of-two-overflow-ndebug.rs -tests/ui/numbers-arithmetic/float-literal-inference.rs -tests/ui/numbers-arithmetic/floatlits.rs -tests/ui/numbers-arithmetic/i128.rs -tests/ui/numbers-arithmetic/u128-as-f32.rs -tests/ui/numbers-arithmetic/shift-near-oflo.rs -tests/ui/numbers-arithmetic/float.rs -tests/ui/numbers-arithmetic/float-signature.rs -tests/ui/numbers-arithmetic/uint.rs -tests/ui/numbers-arithmetic/float-int-invalid-const-cast.rs -tests/ui/numbers-arithmetic/integer-literal-suffix-inference-3.rs -tests/ui/numbers-arithmetic/float_math.rs -tests/ui/numbers-arithmetic/int.rs -tests/ui/numbers-arithmetic/integer-literal-suffix-inference.rs -tests/ui/numbers-arithmetic/float2.rs -tests/ui/numbers-arithmetic/u8-incr-decr.rs -tests/ui/numbers-arithmetic/integer-literal-radix.rs -tests/ui/numbers-arithmetic/arith-unsigned.rs -tests/ui/numbers-arithmetic/apfloat-modulo-wrong.rs -tests/ui/numbers-arithmetic/numeric-method-autoexport.rs -tests/ui/numbers-arithmetic/overflow-attribute-works-1.rs -tests/ui/numbers-arithmetic/u8-incr.rs -tests/ui/numbers-arithmetic/u32-decr.rs -tests/ui/numbers-arithmetic/next-power-of-two-overflow-debug.rs -tests/ui/numbers-arithmetic/i32-sub.rs -tests/ui/numbers-arithmetic/signed-shift-const-eval.rs -tests/ui/numbers-arithmetic/saturating-float-casts.rs -tests/ui/numbers-arithmetic/shift-various-types.rs -tests/ui/numbers-arithmetic/overflow-attribute-works-2.rs -tests/ui/mut/no-mut-lint-for-desugared-mut.rs -tests/ui/crate-leading-sep.rs -tests/ui/raw-str.rs -tests/ui/print-stdout-eprint-stderr.rs -tests/ui/underscore-lifetimes.rs -tests/ui/cleanup-shortcircuit.rs -tests/ui/foreign/foreign-fn-linkname.rs -tests/ui/foreign/foreign-truncated-arguments.rs -tests/ui/variance/variance-intersection-of-ref-and-opt-ref.rs -tests/ui/over-constrained-vregs.rs -tests/ui/methods/method-argument-inference-associated-type.rs -tests/ui/methods/method-where-clause.rs -tests/ui/methods/method-projection.rs -tests/ui/methods/method-probe-no-guessing-dyn-trait.rs -tests/ui/methods/method-two-traits-distinguished-via-where-clause.rs -tests/ui/methods/method-self-arg.rs -tests/ui/methods/method-early-bound-lifetimes-on-self.rs -tests/ui/methods/method-recursive-blanket-impl.rs -tests/ui/methods/method-self-arg-trait.rs -tests/ui/methods/method-two-trait-defer-resolution-1.rs -tests/ui/methods/method-two-trait-defer-resolution-2.rs -tests/ui/methods/method-mut-self-modifies-mut-slice-lvalue.rs -tests/ui/monomorphize-abi-alignment.rs -tests/ui/unwind-no-uwtable.rs -tests/ui/tuple/one-tuple.rs -tests/ui/tuple/tup.rs -tests/ui/tuple/tuple-index.rs -tests/ui/tuple/nested-index.rs -tests/ui/tuple/tuple-index-fat-types.rs -tests/ui/resource-destruct.rs -tests/ui/thread-local/tls.rs -tests/ui/binop/binops-issue-22743.rs -tests/ui/binop/operator-multidispatch.rs -tests/ui/binop/structured-compare.rs -tests/ui/binop/binary-minus-without-space.rs -tests/ui/binop/operator-overloading.rs -tests/ui/binop/issue-25916.rs -tests/ui/binop/binary-op-on-fn-ptr-eq.rs -tests/ui/binop/binops.rs -tests/ui/impl-header-lifetime-elision/trait-underscore.rs -tests/ui/impl-header-lifetime-elision/path-underscore.rs -tests/ui/impl-header-lifetime-elision/bare_type.rs -tests/ui/impl-header-lifetime-elision/explicit-and-elided-same-header.rs -tests/ui/impl-header-lifetime-elision/ref-underscore.rs -tests/ui/precondition-checks/cfg-ub-checks-default.rs -tests/ui/precondition-checks/zero-size-null.rs -tests/ui/precondition-checks/cfg-ub-checks-yes.rs -tests/ui/precondition-checks/cfg-ub-checks-no.rs -tests/ui/newtype.rs -tests/ui/nll/borrow-use-issue-46875.rs -tests/ui/nll/issue-53123-raw-pointer-cast.rs -tests/ui/nll/issue-45696-no-variant-box-recur.rs -tests/ui/nll/process_or_insert_default.rs -tests/ui/nll/issue-48070.rs -tests/ui/nll/rc-loop.rs -tests/ui/nll/issue-47589.rs -tests/ui/nll/issue-50461-used-mut-from-moves.rs -tests/ui/nll/issue-50343.rs -tests/ui/nll/issue-24535-allow-mutable-borrow-in-match-guard.rs -tests/ui/nll/borrowck-thread-local-static-mut-borrow-outlives-fn.rs -tests/ui/nll/issue-45696-long-live-borrows-in-boxes.rs -tests/ui/nll/mutating_references.rs -tests/ui/nll/issue-57960.rs -tests/ui/union/union-pat-refutability.rs -tests/ui/union/union-backcomp.rs -tests/ui/union/union-nonzero.rs -tests/ui/union/union-nodrop.rs -tests/ui/union/union-const-eval-field.rs -tests/ui/union/union-drop-assign.rs -tests/ui/union/union-inherent-method.rs -tests/ui/union/union-overwrite.rs -tests/ui/union/union-packed.rs -tests/ui/union/union-const-codegen.rs -tests/ui/union/union-derive-rpass.rs -tests/ui/union/union-manuallydrop-rpass.rs -tests/ui/union/union-macro.rs -tests/ui/union/union-trait-impl.rs -tests/ui/union/union-drop.rs -tests/ui/union/union-align.rs -tests/ui/union/union-transmute.rs -tests/ui/union/union-generic-rpass.rs -tests/ui/tail-call-arg-leak.rs +tests/ui/moves/move-out-of-field.rs +tests/ui/backtrace/apple-no-dsymutil.rs +tests/ui/backtrace/std-backtrace.rs +tests/ui/backtrace/synchronized-panic-handler.rs +tests/ui/backtrace/backtrace.rs tests/ui/stdlib-unit-tests/raw-fat-ptr.rs tests/ui/stdlib-unit-tests/matches2021.rs -tests/ui/where-clauses/where-clause-method-substituion-rpass.rs -tests/ui/where-clauses/where-clause-early-bound-lifetimes.rs -tests/ui/where-clauses/where-clauses-method.rs -tests/ui/where-clauses/issue-50825.rs -tests/ui/where-clauses/where-clauses.rs -tests/ui/where-clauses/where-clause-region-outlives.rs -tests/ui/where-clauses/where-clauses-lifetimes.rs -tests/ui/where-clauses/where-clauses-unboxed-closures.rs -tests/ui/nullable-pointer-size.rs -tests/ui/iterators/skip-count-overflow.rs -tests/ui/iterators/iter-step-overflow-ndebug.rs -tests/ui/iterators/iter-range.rs -tests/ui/iterators/iter-count-overflow-ndebug.rs -tests/ui/iterators/iter-step-overflow-debug.rs -tests/ui/iterators/iter-sum-overflow-debug.rs -tests/ui/iterators/iter-sum-overflow-overflow-checks.rs -tests/ui/iterators/iter-position-overflow-ndebug.rs -tests/ui/iterators/iter-position-overflow-debug.rs -tests/ui/iterators/iter-sum-overflow-ndebug.rs -tests/ui/iterators/iter-map-fold-type-length.rs -tests/ui/iterators/iter-cloned-type-inference.rs -tests/ui/iterators/iter-count-overflow-debug.rs -tests/ui/packed/packed-tuple-struct-size.rs -tests/ui/packed/packed-struct-vec.rs -tests/ui/packed/packed-with-inference-vars-issue-61402.rs -tests/ui/packed/packed-struct-address-of-element.rs -tests/ui/packed/packed-struct-generic-size.rs -tests/ui/packed/dyn-trait.rs -tests/ui/packed/packed-struct-match.rs -tests/ui/packed/packed-struct-generic-layout.rs -tests/ui/packed/issue-118537-field-offset-ice.rs -tests/ui/packed/issue-118537-field-offset.rs -tests/ui/packed/packed-struct-optimized-enum.rs -tests/ui/packed/packed-tuple-struct-layout.rs -tests/ui/packed/issue-46152.rs -tests/ui/packed/packed-struct-layout.rs -tests/ui/packed/packed-struct-size.rs -tests/ui/packed/packed-struct-drop-aligned.rs -tests/ui/sized/coinductive-2.rs -tests/ui/empty-type-parameter-list.rs -tests/ui/unit.rs -tests/ui/const_prop/const-prop-ice3.rs -tests/ui/const_prop/dont-propagate-generic-instance.rs -tests/ui/const_prop/dont-propagate-generic-instance-2.rs -tests/ui/const_prop/apfloat-f64-roundtrip.rs -tests/ui/const_prop/overwrite_with_const_with_params.rs -tests/ui/const_prop/apfloat-remainder-regression.rs -tests/ui/ptr_ops/issue-80309-safe.rs -tests/ui/ptr_ops/issue-80309.rs -tests/ui/typestate-multi-decl.rs -tests/ui/transmute/transmute-zst-generics.rs -tests/ui/object-lifetime/object-lifetime-default-from-rptr-mut.rs -tests/ui/object-lifetime/object-lifetime-default-from-ref-struct.rs -tests/ui/object-lifetime/object-lifetime-default-from-rptr.rs -tests/ui/object-lifetime/object-lifetime-default-from-rptr-struct.rs -tests/ui/object-lifetime/object-lifetime-default-default-to-static.rs -tests/ui/object-lifetime/object-lifetime-default-from-rptr-box.rs -tests/ui/object-lifetime/object-lifetime-default-inferred.rs -tests/ui/inference/lub-glb-with-unbound-infer-var.rs -tests/ui/inference/newlambdas-ret-infer.rs -tests/ui/inference/simple-infer.rs -tests/ui/inference/lambda-infer-unresolved.rs -tests/ui/inference/newlambdas-ret-infer2.rs -tests/ui/inference/issue-36053.rs -tests/ui/inference/range-type-infer.rs -tests/ui/inference/issue-3743.rs -tests/ui/diverging-fallback-option.rs -tests/ui/fn/issue-1451.rs -tests/ui/fn/fun-call-variants.rs -tests/ui/fn/expr-fn.rs -tests/ui/fn/dyn-fn-alignment.rs -tests/ui/fn/nested-function-names-issue-8587.rs -tests/ui/fn/issue-3904.rs -tests/ui/ext-expand-inner-exprs.rs -tests/ui/lowering/issue-96847.rs -tests/ui/max-min-classes.rs -tests/ui/raw-ref-op/raw-ref-op.rs -tests/ui/lazy-and-or.rs -tests/ui/weak-new-uninhabited-issue-48493.rs -tests/ui/offset-of/offset-of-slice-normalized.rs -tests/ui/offset-of/offset-of-slice.rs -tests/ui/offset-of/offset-of-tuple-nested.rs -tests/ui/let-else/let-else-temporary-lifetime.rs -tests/ui/let-else/let-else.rs -tests/ui/let-else/let-else-source-expr-nomove-pass.rs -tests/ui/let-else/let-else-drop-order.rs -tests/ui/let-else/issue-99975.rs -tests/ui/let-else/let-else-bindings.rs -tests/ui/let-else/let-else-non-copy.rs -tests/ui/let-else/let-else-run-pass.rs -tests/ui/let-else/let-else-temp-borrowck.rs -tests/ui/let-else/const-fn.rs -tests/ui/repr/repr_c_int_align.rs -tests/ui/repr/aligned_enum_cast.rs -tests/ui/repr/align-with-extern-c-fn.rs -tests/ui/dest-prop/skeptic-miscompile.rs -tests/ui/sanitizer/issue-72154-address-lifetime-markers.rs -tests/ui/sanitizer/cfi/drop-in-place.rs -tests/ui/sanitizer/cfi/supertraits.rs -tests/ui/sanitizer/cfi/fn-ptr.rs -tests/ui/sanitizer/cfi/sized-associated-ty.rs -tests/ui/sanitizer/cfi/virtual-auto.rs -tests/ui/sanitizer/cfi/self-ref.rs -tests/ui/sanitizer/cfi/complex-receiver.rs -tests/ui/cleanup-rvalue-for-scope.rs -tests/ui/auto-instantiate.rs -tests/ui/unused-move-capture.rs -tests/ui/macros/macro-at-most-once-rep-2018-rpass.rs -tests/ui/macros/macro-lifetime-used-with-labels.rs -tests/ui/macros/macro-attribute-expansion.rs -tests/ui/macros/macro-pat-follow-2018.rs -tests/ui/macros/conditional-debug-macro-on.rs -tests/ui/macros/macro-lifetime-used-with-static.rs -tests/ui/macros/macro-nested_definition_issue-31946.rs -tests/ui/macros/macro-metavar-expr-concat/allowed-operations.rs -tests/ui/macros/macro-metavar-expr-concat/unicode-expansion.rs -tests/ui/macros/macro-metavar-expr-concat/repetitions.rs -tests/ui/macros/pub-item-inside-macro.rs -tests/ui/macros/macro-pat-pattern-followed-by-or.rs -tests/ui/macros/macro-lifetime.rs -tests/ui/macros/macro-seq-followed-by-seq.rs -tests/ui/macros/log_syntax-trace_macros-macro-locations.rs -tests/ui/macros/macro-multiple-items.rs -tests/ui/macros/macro-include-items.rs -tests/ui/macros/macro-with-attrs1.rs -tests/ui/macros/issue-44127.rs -tests/ui/macros/macro-deep_expansion.rs -tests/ui/macros/macro-method-issue-4621.rs -tests/ui/macros/pub-method-inside-macro.rs -tests/ui/macros/rfc-2011-nicer-assert-messages/assert-with-custom-errors-does-not-create-unnecessary-code.rs -tests/ui/macros/rfc-2011-nicer-assert-messages/feature-gate-generic_assert.rs -tests/ui/macros/rfc-2011-nicer-assert-messages/all-expr-kinds.rs -tests/ui/macros/issue-37175.rs -tests/ui/macros/issue-26322.rs -tests/ui/macros/macro-nested_stmt_macros.rs -tests/ui/macros/macro-block-nonterminal.rs -tests/ui/macros/concat-bytes.rs -tests/ui/macros/issue-33185.rs -tests/ui/macros/issue-25274.rs -tests/ui/macros/type-macros-simple.rs -tests/ui/macros/macro-literal.rs -tests/ui/macros/assert-ne-macro-unsized.rs -tests/ui/macros/concat-rpass.rs -tests/ui/macros/macro-invocation-in-count-expr-fixed-array-type.rs -tests/ui/macros/macro-pat.rs -tests/ui/macros/assert-ne-macro-success.rs -tests/ui/macros/issue-52169.rs -tests/ui/macros/die-macro.rs -tests/ui/macros/issue-40770.rs -tests/ui/macros/macro-nt-list.rs -tests/ui/macros/macro-pat-follow.rs -tests/ui/macros/issue-41803.rs -tests/ui/macros/macro-tt-followed-by-seq.rs -tests/ui/macros/macro-as-fn-body.rs -tests/ui/macros/macro-with-braces-in-expr-position.rs -tests/ui/macros/try-macro.rs -tests/ui/macros/typeck-macro-interaction-issue-8852.rs -tests/ui/macros/html-literals.rs -tests/ui/macros/type-macros-hlist.rs -tests/ui/macros/issue-8709.rs -tests/ui/macros/semi-after-macro-ty.rs -tests/ui/macros/macro-path.rs -tests/ui/macros/macro-at-most-once-rep-2015-rpass.rs -tests/ui/macros/colorful-write-macros.rs -tests/ui/macros/rfc-3086-metavar-expr/macro-expansion.rs -tests/ui/macros/rfc-3086-metavar-expr/feature-gate-macro_metavar_expr.rs -tests/ui/macros/rfc-3086-metavar-expr/count-and-length-are-distinct.rs -tests/ui/macros/rfc-3086-metavar-expr/dollar-dollar-has-correct-behavior.rs -tests/ui/macros/macro-with-attrs2.rs -tests/ui/macros/macro-lifetime-used-with-bound.rs -tests/ui/macros/macro-doc-raw-str-hashes.rs -tests/ui/macros/macro-2.rs -tests/ui/macros/syntax-extension-cfg.rs -tests/ui/macros/meta-variable-misuse.rs -tests/ui/macros/macros-in-extern.rs -tests/ui/macros/assert-format-lazy.rs -tests/ui/macros/macro-of-higher-order.rs -tests/ui/macros/macro-named-default.rs -tests/ui/macros/macro-meta-items.rs -tests/ui/macros/macro-first-set.rs -tests/ui/macros/macro-stmt.rs -tests/ui/macros/macro-attributes.rs -tests/ui/macros/macro-crate-use.rs -tests/ui/macros/assert-eq-macro-unsized.rs -tests/ui/macros/macro-stmt_macro_in_expr_macro.rs -tests/ui/macros/macro-nested_expr.rs -tests/ui/macros/macro-delimiter-significance.rs -tests/ui/macros/assert-eq-macro-success.rs -tests/ui/macros/issue-5060.rs -tests/ui/macros/syntax-extension-source-utils.rs -tests/ui/macros/stmt_expr_attr_macro_parse.rs -tests/ui/macros/issue-8851.rs -tests/ui/macros/macro-pat-neg-lit.rs -tests/ui/for-loop-while/foreach-nested.rs -tests/ui/for-loop-while/auto-loop.rs -tests/ui/for-loop-while/issue-2216.rs -tests/ui/for-loop-while/break-value.rs -tests/ui/for-loop-while/foreach-external-iterators-break.rs -tests/ui/for-loop-while/while-let-2.rs -tests/ui/for-loop-while/loop-no-reinit-needed-post-bot.rs -tests/ui/for-loop-while/while-let.rs -tests/ui/for-loop-while/long-while.rs -tests/ui/for-loop-while/foreach-simple-outer-slot.rs -tests/ui/for-loop-while/linear-for-loop.rs -tests/ui/for-loop-while/foreach-external-iterators-nested.rs -tests/ui/for-loop-while/loop-break-cont-1.rs -tests/ui/for-loop-while/for-loop-has-unit-body.rs -tests/ui/for-loop-while/break.rs -tests/ui/for-loop-while/issue-51345.rs -tests/ui/for-loop-while/label_break_value.rs -tests/ui/for-loop-while/issue-1257.rs -tests/ui/for-loop-while/while-flow-graph.rs -tests/ui/for-loop-while/foreach-external-iterators-hashmap-break-restart.rs -tests/ui/for-loop-while/while-label.rs -tests/ui/for-loop-while/cleanup-rvalue-during-if-and-while.rs -tests/ui/for-loop-while/for-loop-lifetime-of-unbound-values.rs -tests/ui/for-loop-while/loop-label-shadowing.rs -tests/ui/for-loop-while/while-with-break.rs -tests/ui/for-loop-while/foreach-external-iterators-hashmap.rs -tests/ui/for-loop-while/liveness-assign-imm-local-after-loop.rs -tests/ui/for-loop-while/for-destruct.rs -tests/ui/for-loop-while/for-loop-goofiness.rs -tests/ui/for-loop-while/while.rs -tests/ui/for-loop-while/labeled-break.rs -tests/ui/for-loop-while/foreach-put-structured.rs -tests/ui/for-loop-while/foreach-external-iterators-loop.rs -tests/ui/for-loop-while/for-loop-macro.rs -tests/ui/for-loop-while/for-loop-panic.rs -tests/ui/for-loop-while/loop-break-cont.rs -tests/ui/for-loop-while/for-loop-mut-ref-element.rs -tests/ui/for-loop-while/while-cont.rs -tests/ui/for-loop-while/for-loop-unconstrained-element-type-i32-fallback.rs -tests/ui/for-loop-while/while-loop-constraints-2.rs -tests/ui/for-loop-while/for-loop-into-iterator.rs -tests/ui/for-loop-while/loop-scope.rs -tests/ui/for-loop-while/liveness-loop-break.rs -tests/ui/for-loop-while/loop-diverges.rs -tests/ui/for-loop-while/issue-69841.rs -tests/ui/for-loop-while/loop-labeled-break-value.rs -tests/ui/for-loop-while/foreach-external-iterators.rs -tests/ui/for-loop-while/while-prelude-drop.rs -tests/ui/for-loop-while/loop-break-value.rs -tests/ui/else-if.rs -tests/ui/zero-sized/zero-sized-tuple-struct.rs -tests/ui/zero-sized/zero-sized-btreemap-insert.rs -tests/ui/zero-sized/zero-size-type-destructors.rs +tests/ui/repeat-expr/repeat-expr-in-static.rs +tests/ui/unboxed-closures/unboxed-closures-move-mutable.rs +tests/ui/unboxed-closures/unboxed-closures-infer-arg-types-from-expected-bound.rs +tests/ui/unboxed-closures/type-id-higher-rank.rs +tests/ui/unboxed-closures/unboxed-closures-prelude.rs +tests/ui/unboxed-closures/unboxed-closures-blanket-fn.rs +tests/ui/unboxed-closures/unboxed-closures-call-fn-autoderef.rs +tests/ui/unboxed-closures/unboxed-closures-zero-args.rs +tests/ui/unboxed-closures/unboxed-closures-unique-type-id.rs +tests/ui/unboxed-closures/unboxed-closures-single-word-env.rs +tests/ui/unboxed-closures/unboxed-closures-all-traits.rs +tests/ui/unboxed-closures/unboxed-closures-fn-as-fnmut-and-fnonce.rs +tests/ui/unboxed-closures/unboxed-closures-generic.rs +tests/ui/unboxed-closures/unboxed-closures-call-sugar-object.rs +tests/ui/unboxed-closures/unboxed-closures-direct-sugary-call.rs +tests/ui/unboxed-closures/unboxed-closures-infer-fnmut.rs +tests/ui/unboxed-closures/unboxed-closures-blanket-fn-mut.rs +tests/ui/unboxed-closures/unboxed-closures-call-sugar-autoderef.rs +tests/ui/unboxed-closures/unboxed-closures-static-call-fn-once.rs +tests/ui/unboxed-closures/unboxed-closures-counter-not-moved.rs +tests/ui/unboxed-closures/unboxed-closures-simple.rs +tests/ui/unboxed-closures/unboxed-closures-infer-fnmut-calling-fnmut.rs +tests/ui/unboxed-closures/unboxed-closures-infer-arg-types-from-expected-object-type.rs +tests/ui/unboxed-closures/unboxed-closures-drop.rs +tests/ui/unboxed-closures/unboxed-closures-boxed.rs +tests/ui/unboxed-closures/unboxed-closures-sugar-object.rs +tests/ui/unboxed-closures/unboxed-closures-fnmut-as-fnonce.rs +tests/ui/unboxed-closures/unboxed-closures-infer-explicit-call-early.rs +tests/ui/unboxed-closures/unboxed-closures-manual-impl.rs +tests/ui/unboxed-closures/unboxed-closures-infer-kind.rs +tests/ui/unboxed-closures/unboxed-closures-infer-fnmut-move.rs +tests/ui/unboxed-closures/unboxed-closures-infer-arg-types-w-bound-regs-from-expected-bound.rs +tests/ui/unboxed-closures/unboxed-closures-monomorphization.rs +tests/ui/unboxed-closures/unboxed-closures-infer-recursive-fn.rs +tests/ui/unboxed-closures/issue-18652.rs +tests/ui/unboxed-closures/unboxed-closures-infer-upvar.rs +tests/ui/unboxed-closures/unboxed-closures-infer-fnonce-move.rs +tests/ui/unboxed-closures/unboxed-closures-move-some-upvars-in-by-ref-closure.rs +tests/ui/unboxed-closures/unboxed-closures-extern-fn.rs +tests/ui/unboxed-closures/unboxed-closures-extern-fn-hr.rs +tests/ui/unboxed-closures/unboxed-closures-by-ref.rs +tests/ui/unboxed-closures/unboxed-closures-call-sugar-object-autoderef.rs +tests/ui/unboxed-closures/issue-18661.rs +tests/ui/unboxed-closures/unboxed-closures-infer-fnonce.rs +tests/ui/unboxed-closures/unboxed-closures-move-from-projection-issue-30046.rs +tests/ui/mir/mir_codegen_call_converging.rs +tests/ui/mir/issue-77002.rs +tests/ui/mir/dyn_metadata_sroa.rs +tests/ui/mir/mir_static_subtype.rs +tests/ui/mir/mir_codegen_calls.rs +tests/ui/mir/mir_match_test.rs +tests/ui/mir/simplify-branch-same.rs +tests/ui/mir/mir_match_arm_guard.rs +tests/ui/mir/mir_misc_casts.rs +tests/ui/mir/mir_constval_adts.rs +tests/ui/mir/mir_codegen_array.rs +tests/ui/mir/mir_call_with_associated_type.rs +tests/ui/mir/mir_autoderef.rs +tests/ui/mir/mir_early_return_scope.rs +tests/ui/mir/mir_calls_to_shims.rs +tests/ui/mir/issue-89485.rs +tests/ui/mir/mir_augmented_assignments.rs +tests/ui/mir/mir_adt_construction.rs +tests/ui/mir/mir_assign_eval_order.rs +tests/ui/mir/mir_fat_ptr_drop.rs +tests/ui/mir/debug-ref-undef.rs +tests/ui/mir/issue-74739.rs +tests/ui/mir/mir_ascription_coercion.rs +tests/ui/mir/mir_codegen_switchint.rs +tests/ui/mir/mir_codegen_array_2.rs +tests/ui/mir/issue-77359-simplify-arm-identity.rs +tests/ui/mir/mir_coercion_casts.rs +tests/ui/mir/mir_temp_promotions.rs +tests/ui/mir/mir-inlining/ice-issue-77306-2.rs +tests/ui/mir/mir-inlining/no-trait-method-issue-40473.rs +tests/ui/mir/mir-inlining/ice-issue-77306-1.rs +tests/ui/mir/mir-inlining/var-debuginfo-issue-67586.rs +tests/ui/mir/mir-inlining/ice-issue-77564.rs +tests/ui/mir/mir-inlining/ice-issue-68347.rs +tests/ui/mir/mir-inlining/ice-issue-45493.rs +tests/ui/mir/mir-inlining/ice-issue-45885.rs +tests/ui/mir/issue-46845.rs +tests/ui/mir/issue-78496.rs +tests/ui/mir/mir_void_return.rs +tests/ui/mir/mir_coercions.rs +tests/ui/mir/mir_codegen_spike1.rs +tests/ui/mir/mir_build_match_comparisons.rs +tests/ui/mir/mir_heavy_promoted.rs +tests/ui/mir/mir_cast_fn_ret.rs +tests/ui/mir/mir_void_return_2.rs +tests/ui/mir/mir_small_agg_arg.rs +tests/ui/mir/mir_drop_order.rs +tests/ui/mir/enum/convert_non_integer_niche_ok.rs +tests/ui/mir/enum/numbered_variants_ok.rs +tests/ui/mir/enum/wrap_ok.rs +tests/ui/mir/enum/with_niche_ptr_ok.rs +tests/ui/mir/enum/niche_option_tuple_ok.rs +tests/ui/mir/enum/with_niche_int_ok.rs +tests/ui/mir/enum/single_ok.rs +tests/ui/mir/enum/option_with_bigger_niche_ok.rs +tests/ui/mir/enum/convert_non_integer_ok.rs +tests/ui/mir/enum/single_with_repr_ok.rs +tests/ui/mir/enum/negative_discr_ok.rs +tests/ui/mir/enum/plain_no_data_ok.rs +tests/ui/mir/issue-76803-branches-not-same.rs +tests/ui/mir/null/zero_sized_access.rs +tests/ui/mir/null/place_without_read_zst.rs +tests/ui/mir/null/addrof_null.rs +tests/ui/mir/null/place_without_read.rs +tests/ui/mir/mir-typeck-normalize-fn-sig.rs +tests/ui/mir/validate/needs-reveal-all.rs +tests/ui/mir/issue-76740-copy-propagation.rs +tests/ui/mir/mir_overflow_off.rs +tests/ui/mir/clone-canonicalization-miscompile-132353.rs +tests/ui/mir/mir_struct_with_assoc_ty.rs +tests/ui/mir/mir_raw_fat_ptr.rs +tests/ui/mir/mir_fat_ptr.rs +tests/ui/mir/mir_codegen_switch.rs +tests/ui/mir/issue-66851.rs +tests/ui/mir/alignment/packed.rs +tests/ui/mir/alignment/addrof_alignment.rs +tests/ui/mir/alignment/place_without_read.rs +tests/ui/mir/alignment/borrow_aligned_field_projection.rs +tests/ui/mir/alignment/i686-pc-windows-msvc.rs +tests/ui/mir/issue-29227.rs +tests/ui/mir/mir_const_prop_identity.rs tests/ui/zero-sized/zero-sized-linkedlist-push.rs +tests/ui/zero-sized/zero-size-type-destructors.rs +tests/ui/zero-sized/zero-sized-btreemap-insert.rs +tests/ui/zero-sized/zero-sized-tuple-struct.rs tests/ui/zero-sized/zero-sized-binary-heap-push.rs -tests/ui/impl-not-adjacent-to-type.rs -tests/ui/type-use-i1-versus-i8.rs -tests/ui/issue-15924.rs -tests/ui/or-patterns/struct-like.rs -tests/ui/or-patterns/if-let-while-let.rs -tests/ui/or-patterns/slice-patterns.rs -tests/ui/or-patterns/let-pattern.rs -tests/ui/or-patterns/for-loop.rs -tests/ui/or-patterns/box-patterns.rs -tests/ui/or-patterns/bindings-runpass-1.rs -tests/ui/or-patterns/basic-switch.rs -tests/ui/or-patterns/bindings-runpass-2.rs -tests/ui/or-patterns/simplification_subtleties.rs -tests/ui/or-patterns/basic-switchint.rs -tests/ui/or-patterns/search-via-bindings.rs -tests/ui/or-patterns/issue-70413-no-unreachable-pat-and-guard.rs -tests/ui/or-patterns/mix-with-wild.rs -tests/ui/bitwise.rs -tests/ui/derives/derive-partial-ord.rs -tests/ui/derives/derive-Debug-use-ufcs-tuple.rs -tests/ui/derives/derive-Debug-use-ufcs-struct.rs -tests/ui/box/alloc-unstable.rs -tests/ui/box/thin_drop.rs -tests/ui/box/new-box.rs -tests/ui/box/thin_align.rs -tests/ui/box/new-box-syntax.rs -tests/ui/box/thin_zst.rs -tests/ui/box/new.rs -tests/ui/box/thin_new.rs -tests/ui/box/into-boxed-slice.rs -tests/ui/box/unit/unique-move-temp.rs -tests/ui/box/unit/unique-in-vec.rs -tests/ui/box/unit/unique-fn-arg.rs -tests/ui/box/unit/unique-in-vec-copy.rs -tests/ui/box/unit/unique-autoderef-index.rs -tests/ui/box/unit/unique-rec.rs -tests/ui/box/unit/unique-ffi-symbols.rs -tests/ui/box/unit/unique-pat-2.rs -tests/ui/box/unit/unique-decl-move.rs -tests/ui/box/unit/unique-decl.rs -tests/ui/box/unit/unique-mutable.rs -tests/ui/box/unit/unique-log.rs -tests/ui/box/unit/unique-kinds.rs -tests/ui/box/unit/unique-send-2.rs -tests/ui/box/unit/unique-swap.rs -tests/ui/box/unit/unique-drop-complex.rs -tests/ui/box/unit/unique-fn-arg-mut.rs -tests/ui/box/unit/unique-move.rs -tests/ui/box/unit/unique-assign-generic.rs -tests/ui/box/unit/expr-block-generic-unique1.rs -tests/ui/box/unit/unique-assign-copy.rs -tests/ui/box/unit/unique-decl-init-copy.rs -tests/ui/box/unit/expr-block-generic-unique2.rs -tests/ui/box/unit/unique-create.rs -tests/ui/box/unit/unique-destructure.rs -tests/ui/box/unit/expr-if-unique.rs -tests/ui/box/unit/unique-pat.rs -tests/ui/box/unit/unique-deref.rs -tests/ui/box/unit/unique-decl-init.rs -tests/ui/box/unit/unique-assign-drop.rs -tests/ui/box/unit/unique-autoderef-field.rs -tests/ui/box/unit/unique-object-move.rs -tests/ui/box/unit/unwind-unique.rs -tests/ui/box/unit/unique-fn-ret.rs -tests/ui/box/unit/unique-assign.rs -tests/ui/box/unit/unique-cmp.rs -tests/ui/box/unit/unique-init.rs -tests/ui/box/unit/unique-containing-tag.rs -tests/ui/box/unit/unique-move-drop.rs -tests/ui/box/unit/unique-send.rs -tests/ui/box/unit/unique-pat-3.rs -tests/ui/box/unit/unique-fn-arg-move.rs -tests/ui/box/unit/unique-in-tag.rs -tests/ui/range/range_inclusive.rs -tests/ui/panics/abort-on-panic.rs -tests/ui/panics/panic-handler-flail-wildly.rs -tests/ui/panics/panic-in-dtor-drops-fields.rs -tests/ui/panics/nested_panic_caught.rs -tests/ui/panics/panic-handler-chain.rs -tests/ui/panics/panic-handler-set-twice.rs -tests/ui/panics/panic-recover-propagate.rs -tests/ui/panics/panic-handler-chain-update-hook.rs -tests/ui/loops/issue-1974.rs -tests/ui/bare-fn-implements-fn-mut.rs +tests/ui/overloaded/overloaded-deref-count.rs +tests/ui/overloaded/overloaded-calls-object-two-args.rs +tests/ui/overloaded/overloaded-index-assoc-list.rs +tests/ui/overloaded/overloaded-deref.rs +tests/ui/overloaded/overloaded-autoderef-order.rs +tests/ui/overloaded/overloaded-autoderef-indexing.rs +tests/ui/overloaded/issue-14958.rs +tests/ui/overloaded/overloaded_deref_with_ref_pattern_issue15609.rs +tests/ui/overloaded/overloaded-index.rs +tests/ui/overloaded/overloaded-index-autoderef.rs +tests/ui/overloaded/overloaded_deref_with_ref_pattern.rs +tests/ui/overloaded/overloaded-calls-zero-args.rs +tests/ui/overloaded/overloaded-index-in-field.rs +tests/ui/overloaded/overloaded-autoderef.rs +tests/ui/overloaded/overloaded-autoderef-vtable.rs +tests/ui/overloaded/overloaded-autoderef-count.rs +tests/ui/overloaded/overloaded-calls-param-vtables.rs +tests/ui/overloaded/overloaded-calls-object-one-arg.rs +tests/ui/overloaded/overloaded-calls-object-zero-args.rs +tests/ui/overloaded/overloaded-calls-simple.rs +tests/ui/linkage-attr/link-section-placement.rs +tests/ui/try-block/try-is-identifier-edition2015.rs +tests/ui/modules/impl-cross-module.rs +tests/ui/modules/mod_dir_path.rs +tests/ui/modules/mod-view-items.rs +tests/ui/modules/mod_dir_simple.rs +tests/ui/modules/mod_dir_path3.rs +tests/ui/modules/mod_file.rs +tests/ui/modules/module-use-nested-groups.rs +tests/ui/modules/mod_file_with_path_attr.rs +tests/ui/modules/mod_dir_implicit.rs tests/ui/modules/mod-inside-fn.rs -tests/ui/modules/mod_dir_path2.rs +tests/ui/modules/nested-modules-basic.rs +tests/ui/modules/module-qualified-paths-basic.rs tests/ui/modules/mod_dir_path_multi.rs -tests/ui/modules/mod_file_with_path_attr.rs +tests/ui/modules/primitive-type-module-deprecated-paths.rs tests/ui/modules/mod_dir_recursive.rs -tests/ui/modules/mod_file.rs -tests/ui/modules/mod-view-items.rs -tests/ui/modules/mod_dir_implicit.rs -tests/ui/modules/mod_dir_path3.rs -tests/ui/modules/mod_dir_path.rs -tests/ui/modules/mod_dir_simple.rs -tests/ui/allocator/dyn-compatible.rs -tests/ui/op-assign-builtins-by-ref.rs -tests/ui/drop-bounds/drop-bounds-impl-drop.rs -tests/ui/backtrace/std-backtrace.rs -tests/ui/backtrace/apple-no-dsymutil.rs -tests/ui/backtrace/synchronized-panic-handler.rs -tests/ui/backtrace/backtrace.rs -tests/ui/consts/const-expr-in-vec-repeat.rs -tests/ui/consts/issue-17718-borrow-interior.rs -tests/ui/consts/const-nullary-enum.rs -tests/ui/consts/const-typeid-of-rpass.rs -tests/ui/consts/static-raw-pointer-interning2.rs -tests/ui/consts/const.rs -tests/ui/consts/const-enum-struct2.rs -tests/ui/consts/issue-66345.rs -tests/ui/consts/mozjs-error.rs -tests/ui/consts/const_fn_unsize.rs -tests/ui/consts/consts-in-patterns.rs -tests/ui/consts/const-int-saturating-arith.rs -tests/ui/consts/issue-29927-1.rs -tests/ui/consts/static-raw-pointer-interning.rs -tests/ui/consts/const-fn-type-name-any.rs -tests/ui/consts/const-enum-byref.rs -tests/ui/consts/promoted_const_call4.rs -tests/ui/consts/const_let_eq.rs -tests/ui/consts/const-int-conversion-rpass.rs -tests/ui/consts/promote_borrowed_field.rs -tests/ui/consts/const-contents.rs -tests/ui/consts/issue-67862.rs -tests/ui/consts/issue-64059.rs -tests/ui/consts/const-expr-in-fixed-length-vec.rs -tests/ui/consts/static-mut-refs.rs -tests/ui/consts/const-blocks/const-repeat.rs -tests/ui/consts/const-blocks/run-pass.rs -tests/ui/consts/const_in_pattern/accept_structural.rs -tests/ui/consts/const_in_pattern/null-raw-ptr-issue-119270.rs -tests/ui/consts/const_in_pattern/issue-73431.rs -tests/ui/consts/const_in_pattern/issue-62614.rs -tests/ui/consts/const_in_pattern/custom-eq-branch-pass.rs -tests/ui/consts/const-enum-tuplestruct.rs -tests/ui/consts/const-fn-method.rs -tests/ui/consts/const-vecs-and-slices.rs -tests/ui/consts/write_to_mut_ref_dest.rs -tests/ui/consts/repeat_match.rs -tests/ui/consts/const-region-ptrs-noncopy.rs -tests/ui/consts/const-enum-tuplestruct2.rs -tests/ui/consts/trait_specialization.rs -tests/ui/consts/const_let_eq_float.rs -tests/ui/consts/issue-44255.rs -tests/ui/consts/const-repeated-values.rs -tests/ui/consts/issue-23968-const-not-overflow.rs -tests/ui/consts/const-int-pow-rpass.rs -tests/ui/consts/references.rs -tests/ui/consts/tuple-struct-constructors.rs -tests/ui/consts/const-enum-ptr.rs -tests/ui/consts/issue-29927.rs -tests/ui/consts/const-enum-vec-ptr.rs -tests/ui/consts/check_const-feature-gated.rs -tests/ui/consts/issue-13902.rs -tests/ui/consts/const-int-wrapping-rpass.rs -tests/ui/consts/const_let_promote.rs -tests/ui/consts/zst_no_llvm_alloc.rs -tests/ui/consts/const-enum-tuple.rs -tests/ui/consts/const-variant-count.rs -tests/ui/consts/const-int-arithmetic-overflow.rs -tests/ui/consts/const-byte-str-cast.rs -tests/ui/consts/match-const-fn-structs.rs -tests/ui/consts/issue-67641.rs -tests/ui/consts/ice-48279.rs -tests/ui/consts/is_val_statically_known.rs -tests/ui/consts/issue-37991.rs -tests/ui/consts/mut-ptr-to-static.rs -tests/ui/consts/const-autoderef.rs -tests/ui/consts/const_unsafe_unreachable.rs -tests/ui/consts/const-fn-val.rs -tests/ui/consts/locals-in-const-fn.rs -tests/ui/consts/control-flow/short-circuit-let.rs -tests/ui/consts/control-flow/short-circuit.rs -tests/ui/consts/control-flow/basics.rs -tests/ui/consts/issue-19244.rs -tests/ui/consts/issue-70773-mir-typeck-lt-norm.rs -tests/ui/consts/issue-105536-const-val-roundtrip-ptr-eq.rs -tests/ui/consts/const-compare-bytes.rs -tests/ui/consts/const-eval/enum_discr.rs -tests/ui/consts/const-eval/write-to-uninhabited-enum-variant.rs -tests/ui/consts/const-eval/const_fn_ptr.rs -tests/ui/consts/const-eval/issue-64970.rs -tests/ui/consts/const-eval/simd/insert_extract.rs -tests/ui/consts/const-eval/nrvo.rs -tests/ui/consts/const-eval/float_methods.rs -tests/ui/consts/const-eval/issue-64908.rs -tests/ui/consts/const-eval/strlen.rs -tests/ui/consts/const-eval/heap/alloc_intrinsic_zero_sized.rs -tests/ui/consts/const-eval/heap/alloc_intrinsic_transient.rs -tests/ui/consts/const-eval/heap/dealloc_intrinsic_zero_sized.rs -tests/ui/consts/const-eval/heap/dealloc_intrinsic.rs -tests/ui/consts/const-eval/heap/alloc_intrinsic_nontransient.rs -tests/ui/consts/const-enum-vector.rs -tests/ui/consts/promotion-mutable-ref.rs -tests/ui/consts/const-nullary-univariant-enum.rs -tests/ui/consts/issue-33537.rs -tests/ui/consts/min_const_fn/allow_const_fn_ptr_run_pass.rs -tests/ui/consts/issue-29914.rs -tests/ui/consts/const-ptr-nonnull-rpass.rs -tests/ui/consts/return-in-const-fn.rs -tests/ui/consts/const-endianess.rs -tests/ui/consts/const-extern-fn/const-extern-fn.rs -tests/ui/consts/const-enum-vec-index.rs -tests/ui/consts/issue-29914-3.rs -tests/ui/consts/const-ptr-unique-rpass.rs -tests/ui/consts/const-cast-ptr-int.rs -tests/ui/consts/const-region-ptrs.rs -tests/ui/consts/const-int-sign-rpass.rs -tests/ui/consts/const_constructor/const-construct-call.rs -tests/ui/consts/const_constructor/const_constructor_qpath.rs -tests/ui/consts/const-fields-and-indexing.rs -tests/ui/consts/issue-58435-ice-with-assoc-const.rs -tests/ui/consts/const-enum-tuple2.rs -tests/ui/consts/issue-17756.rs -tests/ui/consts/const-needs_drop.rs -tests/ui/consts/const-size_of_val-align_of_val.rs -tests/ui/consts/const_discriminant.rs -tests/ui/consts/issue-67529.rs -tests/ui/consts/const_refs_to_static.rs -tests/ui/consts/const-extern-function.rs -tests/ui/consts/issue-23833.rs -tests/ui/consts/const-block-non-item-statement-3.rs -tests/ui/consts/const-rec-and-tup.rs -tests/ui/consts/const-negative.rs -tests/ui/consts/issue-69532.rs -tests/ui/consts/const-err-rpass.rs -tests/ui/consts/const-adt-align-mismatch.rs -tests/ui/consts/std/iter.rs -tests/ui/consts/const-deref.rs -tests/ui/consts/packed_pattern2.rs -tests/ui/consts/const-enum-cast.rs -tests/ui/consts/const-block-non-item-statement-rpass.rs -tests/ui/consts/miri_unleashed/slice_eq.rs -tests/ui/consts/const-bound.rs -tests/ui/consts/const-fn-nested.rs -tests/ui/consts/const-unsafe-fn.rs -tests/ui/consts/const-meth-pattern.rs -tests/ui/consts/const-index-feature-gate.rs -tests/ui/consts/offset_from.rs -tests/ui/consts/const-big-enum.rs -tests/ui/consts/bswap-const.rs -tests/ui/consts/const-int-arithmetic.rs -tests/ui/consts/const-unit-struct.rs -tests/ui/consts/deref_in_pattern.rs -tests/ui/consts/packed_pattern.rs -tests/ui/consts/issue-90762.rs -tests/ui/consts/issue-29914-2.rs -tests/ui/consts/const-fn-type-name.rs -tests/ui/consts/transmute-const.rs -tests/ui/consts/offset.rs -tests/ui/consts/const-block-item.rs -tests/ui/consts/const-int-rotate-rpass.rs -tests/ui/consts/const-binops.rs -tests/ui/consts/const-vec-syntax.rs -tests/ui/consts/assoc-const.rs -tests/ui/consts/const-enum-structlike.rs -tests/ui/consts/const-enum-byref-self.rs -tests/ui/consts/const-bitshift-rhs-inference.rs -tests/ui/consts/const-block.rs -tests/ui/consts/const-block-item-macro-codegen.rs -tests/ui/consts/const-const.rs -tests/ui/consts/const-negation.rs -tests/ui/consts/issue-17074.rs -tests/ui/consts/const-pattern-variant.rs -tests/ui/consts/const-cast.rs -tests/ui/consts/signed_enum_discr.rs -tests/ui/consts/const-vec-of-fns.rs -tests/ui/consts/load-preserves-partial-init.rs -tests/ui/consts/issue-46553.rs -tests/ui/consts/issue-21721.rs -tests/ui/consts/const-trait-to-trait.rs -tests/ui/consts/non-scalar-cast.rs -tests/ui/consts/rvalue-static-promotion.rs -tests/ui/consts/issue-27890.rs -tests/ui/consts/const-fn.rs -tests/ui/consts/issue-37222.rs -tests/ui/consts/cast-discriminant-zst-enum.rs -tests/ui/consts/const-tuple-struct.rs -tests/ui/consts/issue-67640.rs -tests/ui/consts/const-struct.rs -tests/ui/consts/const-size_of-align_of.rs -tests/ui/consts/const-int-overflowing-rpass.rs -tests/ui/consts/issue-broken-mir.rs -tests/ui/consts/const-enum-struct.rs -tests/ui/explicit-tail-calls/ctfe-collatz-multi-rec.rs -tests/ui/use-import-export.rs -tests/ui/filter-block-view-items.rs -tests/ui/simd/size-align.rs -tests/ui/simd/target-feature-mixup.rs -tests/ui/simd/simd-bitmask.rs -tests/ui/simd/shuffle.rs -tests/ui/simd/issue-39720.rs -tests/ui/simd/repr_packed.rs -tests/ui/simd/array-type.rs -tests/ui/simd/issue-85915-simd-ptrs.rs -tests/ui/simd/type-generic-monomorphisation-extern-nonnull-ptr.rs -tests/ui/simd/libm_std_can_float.rs -tests/ui/simd/issue-32947.rs -tests/ui/simd/simd-bitmask-notpow2.rs -tests/ui/simd/intrinsic/generic-comparison-pass.rs -tests/ui/simd/intrinsic/float-minmax-pass.rs -tests/ui/simd/intrinsic/generic-elements-pass.rs -tests/ui/simd/intrinsic/generic-arithmetic-pass.rs -tests/ui/simd/intrinsic/generic-as.rs -tests/ui/simd/intrinsic/ptr-cast.rs -tests/ui/simd/intrinsic/generic-cast-pointer-width.rs -tests/ui/simd/intrinsic/generic-select-pass.rs -tests/ui/simd/intrinsic/generic-reduction-pass.rs -tests/ui/simd/intrinsic/generic-bswap-byte.rs -tests/ui/simd/intrinsic/generic-bitmask-pass.rs -tests/ui/simd/intrinsic/inlining-issue67557.rs -tests/ui/simd/intrinsic/float-math-pass.rs -tests/ui/simd/intrinsic/generic-arithmetic-saturating-pass.rs -tests/ui/simd/intrinsic/generic-gather-pass.rs -tests/ui/simd/intrinsic/inlining-issue67557-ice.rs -tests/ui/simd/intrinsic/generic-cast-pass.rs -tests/ui/simd/issue-89193.rs -tests/ui/simd/issue-105439.rs -tests/ui/simd/masked-load-store.rs -tests/ui/simd/issue-17170.rs -tests/ui/simd/type-generic-monomorphisation-power-of-two.rs -tests/ui/simd/generics.rs -tests/ui/self/explicit-self-generic.rs -tests/ui/self/objects-owned-object-owned-method.rs -tests/ui/self/explicit-self-objects-uniq.rs -tests/ui/self/builtin-superkinds-self-type.rs -tests/ui/self/arbitrary_self_types_trait.rs -tests/ui/self/dyn-compatibility-sized-self-by-value-self.rs -tests/ui/self/string-self-append.rs -tests/ui/self/uniq-self-in-mut-slot.rs -tests/ui/self/arbitrary_self_types_struct.rs -tests/ui/self/arbitrary_self_types_pointers_and_wrappers.rs -tests/ui/self/by-value-self-in-mut-slot.rs -tests/ui/self/self-re-assign.rs -tests/ui/self/self-in-mut-slot-default-method.rs -tests/ui/self/arbitrary_self_types_raw_pointer_struct.rs -tests/ui/self/self-impl-2.rs -tests/ui/self/where-for-self.rs -tests/ui/self/arbitrary_self_types_unsized_struct.rs -tests/ui/self/ufcs-explicit-self.rs -tests/ui/self/dyn-compatibility-sized-self-return-Self.rs -tests/ui/self/move-self.rs -tests/ui/self/dyn-compatibility-sized-self-generic-method.rs -tests/ui/self/arbitrary_self_types_silly.rs -tests/ui/self/arbitrary_self_types_nested.rs -tests/ui/self/self-in-mut-slot-immediate-value.rs -tests/ui/self/explicit-self.rs -tests/ui/self/arbitrary_self_types_raw_pointer_trait.rs -tests/ui/self/arbitrary_self_types_stdlib_pointers.rs -tests/ui/self/self-shadowing-import.rs -tests/ui/rfcs/rfc-2294-if-let-guard/scope.rs -tests/ui/rfcs/rfc-2294-if-let-guard/drop-order.rs -tests/ui/rfcs/rfc-2294-if-let-guard/run-pass.rs -tests/ui/rfcs/rfc-2497-if-let-chains/ast-lowering-does-not-wrap-let-chains.rs -tests/ui/rfcs/rfc-2497-if-let-chains/then-else-blocks.rs -tests/ui/rfcs/rfc-2497-if-let-chains/protect-precedences.rs -tests/ui/rfcs/rfc-1445-restrict-constants-in-patterns/rfc1445/eq-allows-match-on-ty-in-macro.rs -tests/ui/rfcs/rfc-1445-restrict-constants-in-patterns/rfc1445/eq-allows-match.rs -tests/ui/rfcs/rfc-1445-restrict-constants-in-patterns/match-empty-array-allowed-without-eq-issue-62336.rs -tests/ui/rfcs/rfc-1445-restrict-constants-in-patterns/phantom-data-is-structurally-matchable.rs -tests/ui/rfcs/rfc-1445-restrict-constants-in-patterns/allow-use-behind-cousin-variant.rs -tests/ui/rfcs/rfc-2027-dyn-compatible-for-dispatch/manual-self-impl-for-unsafe-obj.rs -tests/ui/rfcs/rfc-2361-dbg-macro/dbg-macro-expected-behavior.rs -tests/ui/rfcs/rfc-1623-static/rfc1623.rs -tests/ui/rfcs/rfc-0107-bind-by-move-pattern-guards/bind-by-move-no-guards.rs -tests/ui/rfcs/rfc-0107-bind-by-move-pattern-guards/rfc-basic-examples.rs -tests/ui/rfcs/rfc-1857-stabilize-drop-order/drop-order.rs -tests/ui/rfcs/rfc-2005-default-binding-mode/range.rs -tests/ui/rfcs/rfc-2005-default-binding-mode/slice-ok.rs -tests/ui/rfcs/rfc-2005-default-binding-mode/struct.rs -tests/ui/rfcs/rfc-2005-default-binding-mode/enum-ok.rs -tests/ui/rfcs/rfc-2005-default-binding-mode/general.rs -tests/ui/rfcs/rfc-2005-default-binding-mode/constref.rs -tests/ui/rfcs/rfc-2005-default-binding-mode/ref-region.rs -tests/ui/rfcs/rfc-2005-default-binding-mode/tuple.rs -tests/ui/rfcs/rfc-2005-default-binding-mode/reset-mode.rs -tests/ui/rfcs/rfc-2005-default-binding-mode/lit-ok.rs -tests/ui/rfcs/rfc-2005-default-binding-mode/tuple-struct.rs -tests/ui/rfcs/rfc-2005-default-binding-mode/box.rs -tests/ui/rfcs/rfc-2005-default-binding-mode/for-ok.rs -tests/ui/rfcs/rfc-1014-stdout-existential-crisis/rfc-1014.rs -tests/ui/rfcs/rfc-1014-stdout-existential-crisis/rfc-1014-2.rs -tests/ui/rfcs/rfc-2091-track-caller/pass.rs -tests/ui/rfcs/rfc-2091-track-caller/track-caller-attribute.rs -tests/ui/rfcs/rfc-2091-track-caller/tracked-trait-impls.rs -tests/ui/rfcs/rfc-2091-track-caller/intrinsic-wrapper.rs -tests/ui/rfcs/rfc-2091-track-caller/mir-inlined-macro.rs -tests/ui/rfcs/rfc-2091-track-caller/caller-location-intrinsic.rs -tests/ui/rfcs/rfc-2091-track-caller/tracked-trait-obj.rs -tests/ui/rfcs/rfc-2091-track-caller/tracked-fn-ptr-with-arg.rs -tests/ui/rfcs/rfc-2091-track-caller/track-caller-ffi.rs -tests/ui/rfcs/rfc-2091-track-caller/const-caller-location.rs -tests/ui/rfcs/rfc-2091-track-caller/tracked-fn-ptr.rs -tests/ui/rfcs/rfc-2091-track-caller/caller-location-fnptr-rt-ctfe-equiv.rs -tests/ui/rfcs/rfc-2091-track-caller/std-panic-locations.rs -tests/ui/rfcs/rfc-2091-track-caller/tracked-closure.rs -tests/ui/rfcs/rfc-2091-track-caller/call-chain.rs -tests/ui/rfcs/rfc-1937-termination-trait/termination-trait-for-str-ok.rs -tests/ui/rfcs/rfc-1937-termination-trait/termination-trait-for-result.rs -tests/ui/rfcs/rfc-1937-termination-trait/termination-trait-for-impl-termination.rs -tests/ui/rfcs/rfc-1937-termination-trait/termination-trait-for-exitcode.rs -tests/ui/rfcs/rfc-1937-termination-trait/termination-trait-for-result-box-error_ok.rs -tests/ui/rfcs/rfc-1937-termination-trait/termination-trait-for-box-dyn-error-ok.rs -tests/ui/rfcs/rfc-2008-non-exhaustive/variants_same_crate.rs -tests/ui/rfcs/rfc-2008-non-exhaustive/structs_same_crate.rs -tests/ui/rfcs/rfc-2008-non-exhaustive/enum_same_crate.rs -tests/ui/rfcs/rfc-1789-as-cell/from-mut.rs -tests/ui/rfcs/rfc-1717-dllimport/1717-dllimport/library-override.rs -tests/ui/rfcs/rfc-2151-raw-identifiers/attr.rs -tests/ui/rfcs/rfc-2151-raw-identifiers/basic.rs -tests/ui/rfcs/rfc-2151-raw-identifiers/items.rs -tests/ui/rfcs/rfc-2151-raw-identifiers/macros.rs -tests/ui/rfcs/rfc-2302-self-struct-ctor/rfc-2302-self-struct-ctor.rs -tests/ui/rfcs/rfc-2421-unreserve-pure-offsetof-sizeof-alignof/offsetof-alignof-sizeof-pure-can-be-used-as-idents.rs -tests/ui/rfcs/rfc-2175-or-if-while-let/basic.rs -tests/ui/try-trait/yeet-for-result.rs -tests/ui/try-trait/yeet-for-option.rs -tests/ui/try-trait/try-as-monad.rs -tests/ui/try-trait/try-operator-custom.rs -tests/ui/inline-const/const-match-pat-lifetime.rs -tests/ui/inline-const/const-expr-lifetime.rs -tests/ui/inline-const/const-expr-reference.rs -tests/ui/inline-const/const-match-pat.rs -tests/ui/inline-const/const-expr-basic.rs -tests/ui/inline-const/const-expr-macro.rs -tests/ui/logging-only-prints-once.rs -tests/ui/associated-consts/defaults-cyclic-pass.rs -tests/ui/associated-consts/associated-const-public-impl.rs -tests/ui/associated-consts/mismatched_impl_ty_1.rs -tests/ui/associated-consts/defaults-not-assumed-pass.rs -tests/ui/associated-consts/associated-const-ufcs-infer-trait.rs -tests/ui/associated-consts/associated-const-marks-live-code.rs -tests/ui/associated-consts/associated-const-self-type.rs -tests/ui/associated-consts/associated-const-type-parameters.rs -tests/ui/associated-consts/associated-const.rs -tests/ui/associated-consts/associated-const-range-match-patterns.rs -tests/ui/associated-consts/associated-const-inherent-impl.rs -tests/ui/associated-consts/associated-const-resolution-order.rs -tests/ui/associated-consts/associated-const-use-impl-of-same-trait.rs -tests/ui/associated-consts/associated-const-in-global-const.rs -tests/ui/associated-consts/mismatched_impl_ty_2.rs -tests/ui/associated-consts/associated-const-const-eval.rs -tests/ui/associated-consts/associated-const-overwrite-default.rs -tests/ui/associated-consts/assoc-const.rs -tests/ui/associated-consts/mismatched_impl_ty_3.rs -tests/ui/associated-consts/associated-const-use-default.rs -tests/ui/liveness/liveness-assign-imm-local-after-ret.rs -tests/ui/fun-indirect-call.rs -tests/ui/deref-patterns/basic.rs -tests/ui/repeat-expr/repeat-expr-in-static.rs -tests/ui/unnamed_argument_mode.rs -tests/ui/transmute-non-immediate-to-immediate.rs -tests/ui/structs-enums/enum-discrim-manual-sizing.rs -tests/ui/structs-enums/enum-discr.rs -tests/ui/structs-enums/enum-clike-ffi-as-int.rs -tests/ui/structs-enums/ivec-tag.rs -tests/ui/structs-enums/class-implement-traits.rs -tests/ui/structs-enums/tuple-struct-constructor-pointer.rs -tests/ui/structs-enums/struct-path-associated-type.rs -tests/ui/structs-enums/enum-vec-initializer.rs -tests/ui/structs-enums/enum-non-c-like-repr-c.rs -tests/ui/structs-enums/field-destruction-order.rs -tests/ui/structs-enums/resource-in-struct.rs -tests/ui/structs-enums/numeric-fields.rs -tests/ui/structs-enums/small-enums-with-fields.rs -tests/ui/structs-enums/issue-38002.rs -tests/ui/structs-enums/empty-tag.rs -tests/ui/structs-enums/class-separate-impl.rs -tests/ui/structs-enums/issue-50731.rs -tests/ui/structs-enums/classes-simple-method.rs -tests/ui/structs-enums/simple-match-generic-tag.rs -tests/ui/structs-enums/unit-like-struct-drop-run.rs -tests/ui/structs-enums/rec.rs -tests/ui/structs-enums/class-poly-methods.rs -tests/ui/structs-enums/class-impl-very-parameterized-trait.rs -tests/ui/structs-enums/struct-field-shorthand.rs -tests/ui/structs-enums/enum-non-c-like-repr-int.rs -tests/ui/structs-enums/tag.rs -tests/ui/structs-enums/codegen-tag-static-padding.rs -tests/ui/structs-enums/enum-discrim-width-stuff.rs -tests/ui/structs-enums/tuple-struct-matching.rs -tests/ui/structs-enums/class-cast-to-trait-multiple-types.rs -tests/ui/structs-enums/struct-aliases.rs -tests/ui/structs-enums/struct-lit-functional-no-fields.rs -tests/ui/structs-enums/enum-variants.rs -tests/ui/structs-enums/small-enum-range-edge.rs -tests/ui/structs-enums/tag-disr-val-shape.rs -tests/ui/structs-enums/tag-variant-disr-val.rs -tests/ui/structs-enums/module-qualified-struct-destructure.rs -tests/ui/structs-enums/struct-order-of-eval-4.rs -tests/ui/structs-enums/struct-path-self.rs -tests/ui/structs-enums/tag-align-u64.rs -tests/ui/structs-enums/tag-align-dyn-u64.rs -tests/ui/structs-enums/tuple-struct-construct.rs -tests/ui/structs-enums/align-struct.rs -tests/ui/structs-enums/struct-literal-dtor.rs -tests/ui/structs-enums/enum-nullable-const-null-with-fields.rs -tests/ui/structs-enums/export-tag-variant.rs -tests/ui/structs-enums/multiple-reprs.rs -tests/ui/structs-enums/newtype-struct-drop-run.rs -tests/ui/structs-enums/type-sizes.rs -tests/ui/structs-enums/enum-layout-optimization.rs -tests/ui/structs-enums/tuple-struct-trivial.rs -tests/ui/structs-enums/enum-discrim-autosizing.rs -tests/ui/structs-enums/struct-pattern-matching.rs -tests/ui/structs-enums/struct-new-as-field-name.rs -tests/ui/structs-enums/struct-like-variant-construct.rs -tests/ui/structs-enums/enum-non-c-like-repr-c-and-int.rs -tests/ui/structs-enums/unit-like-struct.rs -tests/ui/structs-enums/class-exports.rs -tests/ui/structs-enums/record-pat.rs -tests/ui/structs-enums/class-typarams.rs -tests/ui/structs-enums/struct-partial-move-2.rs -tests/ui/structs-enums/tag-align-dyn-variants.rs -tests/ui/structs-enums/rec-auto.rs -tests/ui/structs-enums/struct-like-variant-match.rs -tests/ui/structs-enums/classes.rs -tests/ui/structs-enums/tag-exports.rs -tests/ui/structs-enums/class-cast-to-trait.rs -tests/ui/structs-enums/enum-export-inheritance.rs -tests/ui/structs-enums/enum-univariant-repr.rs -tests/ui/structs-enums/rec-align-u64.rs -tests/ui/structs-enums/enum-disr-val-pretty.rs -tests/ui/structs-enums/rec-tup.rs -tests/ui/structs-enums/compare-generic-enums.rs -tests/ui/structs-enums/export-abstract-tag.rs -tests/ui/structs-enums/borrow-tuple-fields.rs -tests/ui/structs-enums/struct-order-of-eval-3.rs -tests/ui/structs-enums/nonzero-enum.rs -tests/ui/structs-enums/enum-null-pointer-opt.rs -tests/ui/structs-enums/rec-align-u32.rs -tests/ui/structs-enums/tuple-struct-destructuring.rs -tests/ui/structs-enums/discrim-explicit-23030.rs -tests/ui/structs-enums/struct-order-of-eval-1.rs -tests/ui/structs-enums/align-enum.rs -tests/ui/structs-enums/class-str-field.rs -tests/ui/structs-enums/expr-match-struct.rs -tests/ui/structs-enums/enum-alignment.rs -tests/ui/structs-enums/class-methods.rs -tests/ui/structs-enums/issue-1701.rs -tests/ui/structs-enums/tag-align-shape.rs -tests/ui/structs-enums/rec-extend.rs -tests/ui/structs-enums/newtype-struct-with-dtor.rs -tests/ui/structs-enums/classes-simple.rs -tests/ui/structs-enums/functional-struct-upd.rs -tests/ui/structs-enums/enum-nullable-simplifycfg-misopt.rs -tests/ui/structs-enums/struct-partial-move-1.rs -tests/ui/structs-enums/expr-if-struct.rs -tests/ui/structs-enums/struct-order-of-eval-2.rs -tests/ui/primitive-binop-lhs-mut.rs -tests/ui/assoc-oddities-3.rs -tests/ui/path.rs -tests/ui/impl-trait/auto-trait-leak-rpass.rs -tests/ui/impl-trait/issue-49685.rs -tests/ui/impl-trait/closure-in-impl-trait-arg.rs -tests/ui/impl-trait/impl_fn_associativity.rs -tests/ui/impl-trait/universal_hrtb_anon.rs -tests/ui/impl-trait/universal_in_adt_in_parameters.rs -tests/ui/impl-trait/example-calendar.rs -tests/ui/impl-trait/equality-rpass.rs -tests/ui/impl-trait/issue-51185.rs -tests/ui/impl-trait/universal_multiple_bounds.rs -tests/ui/impl-trait/closure-in-impl-trait.rs -tests/ui/impl-trait/universal_in_trait_defn_parameters.rs -tests/ui/impl-trait/nesting.rs -tests/ui/impl-trait/universal_in_impl_trait_in_parameters.rs -tests/ui/impl-trait/example-st.rs -tests/ui/impl-trait/universal_hrtb_named.rs -tests/ui/impl-trait/issue-36792.rs -tests/ui/lexical-scoping.rs -tests/ui/newtype-polymorphic.rs -tests/ui/coercion/coerce-expect-unsized.rs -tests/ui/coercion/coerce-reborrow-imm-ptr-rcvr.rs -tests/ui/coercion/issue-14589.rs -tests/ui/coercion/coerce-reborrow-mut-vec-arg.rs -tests/ui/coercion/coerce-unify-return.rs -tests/ui/coercion/coerce-reborrow-mut-ptr-arg.rs -tests/ui/coercion/unsafe-coercion.rs -tests/ui/coercion/coerce-reborrow-imm-vec-rcvr.rs -tests/ui/coercion/issue-3794.rs -tests/ui/coercion/coerce-reborrow-mut-vec-rcvr.rs -tests/ui/coercion/issue-26905-rpass.rs -tests/ui/coercion/coerce-reborrow-mut-ptr-rcvr.rs -tests/ui/coercion/coerce-unify.rs -tests/ui/builtin-superkinds/builtin-superkinds-capabilities-transitive.rs -tests/ui/builtin-superkinds/builtin-superkinds-capabilities.rs -tests/ui/lifetimes/issue-84604.rs -tests/ui/lifetimes/temporary-lifetime-extension.rs -tests/ui/lifetimes/tail-expr-lock-poisoning.rs -tests/ui/issues/issue-16492.rs -tests/ui/issues/issue-8249.rs -tests/ui/issues/issue-41888.rs -tests/ui/issues/issue-11205.rs -tests/ui/issues/issue-16745.rs -tests/ui/issues/issue-30081.rs -tests/ui/issues/issue-26468.rs -tests/ui/issues/issue-34503.rs -tests/ui/issues/issue-3574.rs -tests/ui/issues/issue-14919.rs -tests/ui/issues/issue-48006.rs -tests/ui/issues/issue-21922.rs -tests/ui/issues/issue-3500.rs -tests/ui/issues/issue-9382.rs -tests/ui/issues/issue-32008.rs -tests/ui/issues/issue-29071-2.rs -tests/ui/issues/issue-4387.rs -tests/ui/issues/issue-24589.rs -tests/ui/issues/issue-26805.rs -tests/ui/issues/issue-23808.rs -tests/ui/issues/issue-11958.rs -tests/ui/issues/issue-5666.rs -tests/ui/issues/issue-21384.rs -tests/ui/issues/issue-2284.rs -tests/ui/issues/issue-33387.rs -tests/ui/issues/issue-30018-panic.rs -tests/ui/issues/issue-20055-box-unsized-array.rs -tests/ui/issues/issue-30615.rs -tests/ui/issues/issue-54477-reduced-2.rs -tests/ui/issues/issue-8898.rs -tests/ui/issues/issue-27401-dropflag-reinit.rs -tests/ui/issues/issue-18353.rs -tests/ui/issues/issue-26709.rs -tests/ui/issues/issue-31299.rs -tests/ui/issues/issue-4875.rs -tests/ui/issues/issue-29092.rs -tests/ui/issues/issue-78192.rs -tests/ui/issues/issue-39367.rs -tests/ui/issues/issue-2445-b.rs -tests/ui/issues/issue-38556.rs -tests/ui/issues/issue-2550.rs -tests/ui/issues/issue-21306.rs -tests/ui/issues/issue-25693.rs -tests/ui/issues/issue-39827.rs -tests/ui/issues/issue-37686.rs -tests/ui/issues/issue-22992-2.rs -tests/ui/issues/issue-46069.rs -tests/ui/issues/issue-23433.rs -tests/ui/issues/issue-32389.rs -tests/ui/issues/issue-17351.rs -tests/ui/issues/issue-39709.rs -tests/ui/issues/issue-5280.rs -tests/ui/issues/issue-6130.rs -tests/ui/issues/issue-11085.rs -tests/ui/issues/issue-10436.rs -tests/ui/issues/issue-36816.rs -tests/ui/issues/issue-28498-must-work-ex2.rs -tests/ui/issues/issue-30530.rs -tests/ui/issues/issue-35600.rs -tests/ui/issues/issue-11552.rs -tests/ui/issues/issue-24353.rs -tests/ui/issues/issue-15063.rs -tests/ui/issues/issue-43291.rs -tests/ui/issues/issue-17734.rs -tests/ui/issues/issue-13027.rs -tests/ui/issues/issue-61475.rs -tests/ui/issues/issue-11267.rs -tests/ui/issues/issue-23261.rs -tests/ui/issues/issue-4542.rs -tests/ui/issues/issue-30891.rs -tests/ui/issues/issue-24533.rs -tests/ui/issues/issue-38437.rs -tests/ui/issues/issue-39548.rs -tests/ui/issues/issue-28839.rs -tests/ui/issues/issue-59020.rs -tests/ui/issues/issue-6344-match.rs -tests/ui/issues/issue-50442.rs -tests/ui/issues/issue-14399.rs -tests/ui/issues/issue-23036.rs -tests/ui/issues/issue-12744.rs -tests/ui/issues/issue-28498-must-work-ex1.rs -tests/ui/issues/issue-6153.rs -tests/ui/issues/issue-4228.rs -tests/ui/issues/issue-25497.rs -tests/ui/issues/issue-5192.rs -tests/ui/issues/issue-23311.rs -tests/ui/issues/issue-43205.rs -tests/ui/issues/issue-7575.rs -tests/ui/issues/issue-27054-primitive-binary-ops.rs -tests/ui/issues/issue-11820.rs -tests/ui/issues/issue-24947.rs -tests/ui/issues/issue-40235.rs -tests/ui/issues/issue-18685.rs -tests/ui/issues/issue-42453.rs -tests/ui/issues/issue-43910.rs -tests/ui/issues/issue-29668.rs -tests/ui/issues/issue-17816.rs -tests/ui/issues/issue-6892.rs -tests/ui/issues/issue-20544.rs -tests/ui/issues/issue-17068.rs -tests/ui/issues/issue-41604.rs -tests/ui/issues/issue-12033.rs -tests/ui/issues/issue-76042.rs -tests/ui/issues/issue-15523.rs -tests/ui/issues/issue-33202.rs -tests/ui/issues/issue-99838.rs -tests/ui/issues/issue-2214.rs -tests/ui/issues/issue-50415.rs -tests/ui/issues/issue-7012.rs -tests/ui/issues/issue-16278.rs -tests/ui/issues/issue-10228.rs -tests/ui/issues/issue-10683.rs -tests/ui/issues/issue-15774.rs -tests/ui/issues/issue-14875.rs -tests/ui/issues/issue-28983.rs -tests/ui/issues/issue-54462-mutable-noalias-correctness.rs -tests/ui/issues/issue-16151.rs -tests/ui/issues/issue-47364.rs -tests/ui/issues/issue-18110.rs -tests/ui/issues/issue-33687.rs -tests/ui/issues/issue-36036-associated-type-layout.rs -tests/ui/issues/issue-28181.rs -tests/ui/issues/issue-16452.rs -tests/ui/issues/issue-47638.rs -tests/ui/issues/issue-5315.rs -tests/ui/issues/issue-5688.rs -tests/ui/issues/issue-41498.rs -tests/ui/issues/issue-11047.rs -tests/ui/issues/issue-33770.rs -tests/ui/issues/issue-7519-match-unit-in-arg.rs -tests/ui/issues/issue-53728.rs -tests/ui/issues/issue-3447.rs -tests/ui/issues/issue-5708.rs -tests/ui/issues/issue-13434.rs -tests/ui/issues/issue-56237.rs -tests/ui/issues/issue-35815.rs -tests/ui/issues/issue-49973.rs -tests/ui/issues/issue-3121.rs -tests/ui/issues/issue-43923.rs -tests/ui/issues/issue-7563.rs -tests/ui/issues/issue-8860.rs -tests/ui/issues/issue-17771.rs -tests/ui/issues/issue-22036.rs -tests/ui/issues/issue-29663.rs -tests/ui/issues/issue-9446.rs -tests/ui/issues/issue-3026.rs -tests/ui/issues/issue-32292.rs -tests/ui/issues/issue-28828.rs -tests/ui/issues/issue-23336.rs -tests/ui/issues/issue-16441.rs -tests/ui/issues/issue-12677.rs -tests/ui/issues/issue-19001.rs -tests/ui/issues/issue-14229.rs -tests/ui/issues/issue-22008.rs -tests/ui/issues/issue-48159.rs -tests/ui/issues/issue-5718.rs -tests/ui/issues/issue-12909.rs -tests/ui/issues/issue-15129-rpass.rs -tests/ui/issues/issue-29948.rs -tests/ui/issues/issue-4252.rs -tests/ui/issues/issue-20676.rs -tests/ui/issues/issue-18767.rs -tests/ui/issues/issue-2445.rs -tests/ui/issues/issue-13323.rs -tests/ui/issues/issue-9737.rs -tests/ui/issues/issue-58463.rs -tests/ui/issues/issue-14382.rs -tests/ui/issues/issue-16774.rs -tests/ui/issues/issue-2383.rs -tests/ui/issues/issue-17905.rs -tests/ui/issues/issue-4333.rs -tests/ui/issues/issue-22258.rs -tests/ui/issues/issue-70673.rs -tests/ui/issues/issue-9259.rs -tests/ui/issues/issue-32805.rs -tests/ui/issues/issue-31776.rs -tests/ui/issues/issue-16256.rs -tests/ui/issues/issue-27949.rs -tests/ui/issues/issue-10718.rs -tests/ui/issues/issue-23699.rs -tests/ui/issues/issue-4734.rs -tests/ui/issues/issue-10734.rs -tests/ui/issues/issue-21291.rs -tests/ui/issues/issue-13808.rs -tests/ui/issues/issue-33461.rs -tests/ui/issues/issue-16530.rs -tests/ui/issues/issue-38987.rs -tests/ui/issues/issue-13665.rs -tests/ui/issues/issue-2708.rs -tests/ui/issues/issue-7344.rs -tests/ui/issues/issue-10806.rs -tests/ui/issues/issue-30756.rs -tests/ui/issues/issue-4759.rs -tests/ui/issues/issue-15793.rs -tests/ui/issues/issue-48132.rs -tests/ui/issues/issue-9129.rs -tests/ui/issues/issue-19499.rs -tests/ui/issues/issue-4735.rs -tests/ui/issues/issue-20803.rs -tests/ui/issues/issue-14821.rs -tests/ui/issues/issue-3702.rs -tests/ui/issues/issue-15673.rs -tests/ui/issues/issue-3895.rs -tests/ui/issues/issue-15043.rs -tests/ui/issues/issue-9951.rs -tests/ui/issues/issue-13204.rs -tests/ui/issues/issue-55380.rs -tests/ui/issues/issue-40951.rs -tests/ui/issues/issue-15189.rs -tests/ui/issues/issue-11677.rs -tests/ui/issues/issue-43692.rs -tests/ui/issues/issue-26127.rs -tests/ui/issues/issue-38942.rs -tests/ui/issues/issue-11382.rs -tests/ui/issues/issue-22992.rs -tests/ui/issues/issue-3109.rs -tests/ui/issues/issue-29053.rs -tests/ui/issues/issue-14308.rs -tests/ui/issues/issue-36744-bitcast-args-if-needed.rs -tests/ui/issues/issue-25679.rs -tests/ui/issues/issue-3847.rs -tests/ui/issues/issue-14865.rs -tests/ui/issues/issue-26802.rs -tests/ui/issues/issue-2190-1.rs -tests/ui/issues/issue-25145.rs -tests/ui/issues/issue-36278-prefix-nesting.rs -tests/ui/issues/issue-16922-rpass.rs -tests/ui/issues/issue-25279.rs -tests/ui/issues/issue-15734.rs -tests/ui/issues/issue-19811-escape-unicode.rs -tests/ui/issues/issue-23898.rs -tests/ui/issues/issue-12285.rs -tests/ui/issues/issue-29466.rs -tests/ui/issues/issue-4541.rs -tests/ui/issues/issue-13264.rs -tests/ui/issues/issue-22577.rs -tests/ui/issues/issue-53843.rs -tests/ui/issues/issue-25810.rs -tests/ui/issues/issue-40408.rs -tests/ui/issues/issue-22403.rs -tests/ui/issues/issue-2288.rs -tests/ui/issues/issue-22426.rs -tests/ui/issues/issue-3052.rs -tests/ui/issues/issue-16819.rs -tests/ui/issues/issue-18859.rs -tests/ui/issues/issue-5321-immediates-with-bare-self.rs -tests/ui/issues/issue-14393.rs -tests/ui/issues/issue-49955.rs -tests/ui/issues/issue-41744.rs -tests/ui/issues/issue-36023.rs -tests/ui/issues/issue-13867.rs -tests/ui/issues/issue-2074.rs -tests/ui/issues/issue-21361.rs -tests/ui/issues/issue-31267.rs -tests/ui/issues/issue-41213.rs -tests/ui/issues/issue-25515.rs -tests/ui/issues/issue-17322.rs -tests/ui/issues/issue-25549-multiple-drop.rs -tests/ui/issues/issue-40883.rs -tests/ui/issues/issue-19367.rs -tests/ui/issues/issue-11709.rs -tests/ui/issues/issue-5917.rs -tests/ui/issues/issue-27639.rs -tests/ui/issues/issue-3559.rs -tests/ui/issues/issue-16671.rs -tests/ui/issues/issue-24308.rs -tests/ui/issues/issue-9047.rs -tests/ui/issues/issue-15523-big.rs -tests/ui/issues/issue-23491.rs -tests/ui/issues/issue-26655.rs -tests/ui/issues/issue-24086.rs -tests/ui/issues/issue-26484.rs -tests/ui/issues/issue-19127.rs -tests/ui/issues/issue-15571.rs -tests/ui/issues/issue-15858.rs -tests/ui/issues/issue-50811.rs -tests/ui/issues/issue-54696.rs -tests/ui/issues/issue-3979.rs -tests/ui/issues/issue-24945-repeat-dash-opts.rs -tests/ui/issues/issue-16560.rs -tests/ui/issues/issue-42148.rs -tests/ui/issues/issue-43853.rs -tests/ui/issues/issue-20575.rs -tests/ui/issues/issue-41696.rs -tests/ui/issues/issue-57198-pass.rs -tests/ui/issues/issue-13259-windows-tcb-trash.rs -tests/ui/issues/issue-36936.rs -tests/ui/issues/issue-3429.rs -tests/ui/issues/issue-35423.rs -tests/ui/issues/issue-25343.rs -tests/ui/issues/issue-28498-ugeh-ex1.rs -tests/ui/issues/issue-2989.rs -tests/ui/issues/issue-5988.rs -tests/ui/issues/issue-17503.rs -tests/ui/issues/issue-10767.rs -tests/ui/issues/issue-17877.rs -tests/ui/issues/issue-3556.rs -tests/ui/issues/issue-8783.rs -tests/ui/issues/issue-2895.rs -tests/ui/issues/issue-6117.rs -tests/ui/issues/issue-20953.rs -tests/ui/issues/issue-2935.rs -tests/ui/issues/issue-38763.rs -tests/ui/issues/issue-30371.rs -tests/ui/issues/issue-8498.rs -tests/ui/issues/issue-41479.rs -tests/ui/issues/issue-7911.rs -tests/ui/issues/issue-27240.rs -tests/ui/issues/issue-10638.rs -tests/ui/issues/issue-16648.rs -tests/ui/issues/issue-17361.rs -tests/ui/issues/issue-24954.rs -tests/ui/issues/issue-17216.rs -tests/ui/issues/issue-20174.rs -tests/ui/issues/issue-15763.rs -tests/ui/issues/issue-22629.rs -tests/ui/issues/issue-9942.rs -tests/ui/issues/issue-6344-let.rs -tests/ui/issues/issue-21400.rs -tests/ui/issues/issue-61894.rs -tests/ui/issues/issue-29147-rpass.rs -tests/ui/issues/issue-2463.rs -tests/ui/issues/issue-7660.rs -tests/ui/issues/issue-25757.rs -tests/ui/issues/issue-27997.rs -tests/ui/issues/issue-49854.rs -tests/ui/issues/issue-13763.rs -tests/ui/issues/issue-28777.rs -tests/ui/issues/issue-36856.rs -tests/ui/issues/issue-19135.rs -tests/ui/issues/issue-34569.rs -tests/ui/issues/issue-8391.rs -tests/ui/issues/issue-6318.rs -tests/ui/issues/issue-20847.rs -tests/ui/issues/issue-2642.rs -tests/ui/issues/issue-8248.rs -tests/ui/issues/issue-3290.rs -tests/ui/issues/issue-36260.rs -tests/ui/issues/issue-36786-resolve-call.rs -tests/ui/issues/issue-3091.rs -tests/ui/issues/issue-28550.rs -tests/ui/issues/issue-3753.rs -tests/ui/issues/issue-29522.rs -tests/ui/issues/issue-16739.rs -tests/ui/issues/issue-23485.rs -tests/ui/issues/issue-53333.rs -tests/ui/issues/issue-42210.rs -tests/ui/issues/issue-18352.rs -tests/ui/issues/issue-34427.rs -tests/ui/issues/issue-18845.rs -tests/ui/issues/issue-12860.rs -tests/ui/issues/issue-34571.rs -tests/ui/issues/issue-25746-bool-transmute.rs -tests/ui/issues/issue-7663.rs -tests/ui/issues/issue-3220.rs -tests/ui/issues/issue-20055-box-trait.rs -tests/ui/issues/issue-23958.rs -tests/ui/issues/issue-9837.rs -tests/ui/issues/issue-17897.rs -tests/ui/issues/issue-21655.rs -tests/ui/issues/issue-27268.rs -tests/ui/issues/issue-9918.rs -tests/ui/issues/issue-5550.rs -tests/ui/issues/issue-18232.rs -tests/ui/issues/issue-26641.rs -tests/ui/issues/issue-36474.rs -tests/ui/issues/issue-3389.rs -tests/ui/issues/issue-10802.rs -tests/ui/issues/issue-18539.rs -tests/ui/issues/issue-24779.rs -tests/ui/issues/issue-68696-catch-during-unwind.rs -tests/ui/issues/issue-31267-additional.rs -tests/ui/issues/issue-23992.rs -tests/ui/issues/issue-3037.rs -tests/ui/issues/issue-5554.rs -tests/ui/issues/issue-18952.rs -tests/ui/issues/issue-49632.rs -tests/ui/issues/issue-46855.rs -tests/ui/issues/issue-41849-variance-req.rs -tests/ui/issues/issue-39808.rs -tests/ui/issues/issue-25089.rs -tests/ui/issues/issue-2428.rs -tests/ui/issues/issue-5997-outer-generic-parameter/issue-5997.rs -tests/ui/issues/issue-15104.rs -tests/ui/issues/issue-4759-1.rs -tests/ui/issues/issue-18464.rs -tests/ui/issues/issue-16783.rs -tests/ui/issues/issue-51907.rs -tests/ui/issues/issue-42552.rs -tests/ui/issues/issue-45510.rs -tests/ui/issues/issue-22346.rs -tests/ui/issues/issue-5741.rs -tests/ui/issues/issue-7784.rs -tests/ui/issues/issue-41677.rs -tests/ui/issues/issue-23891.rs -tests/ui/issues/issue-37109.rs -tests/ui/issues/issue-15444.rs -tests/ui/issues/issue-21033.rs -tests/ui/swap-overlapping.rs -tests/ui/augmented-assignments-rpass.rs -tests/ui/process-termination/process-termination-simple.rs -tests/ui/process-termination/process-termination-blocking-io.rs -tests/ui/swap-1.rs -tests/ui/process/process-spawn-with-unicode-params.rs -tests/ui/process/process-sigpipe.rs -tests/ui/process/env-vars.rs -tests/ui/process/process-panic-after-fork.rs -tests/ui/process/no-stdio.rs -tests/ui/process/issue-30490.rs -tests/ui/process/process-remove-from-env.rs -tests/ui/process/multi-panic.rs -tests/ui/process/env-args-reverse-iterator.rs -tests/ui/process/issue-16272.rs -tests/ui/process/process-spawn-nonexistent.rs -tests/ui/process/issue-13304.rs -tests/ui/process/sigpipe-should-be-ignored.rs -tests/ui/process/issue-14940.rs -tests/ui/process/process-exit.rs -tests/ui/process/nofile-limit.rs -tests/ui/process/signal-exit-status.rs -tests/ui/process/process-status-inherits-stdin.rs -tests/ui/process/fds-are-cloexec.rs -tests/ui/process/env-funky-keys.rs -tests/ui/process/process-envs.rs -tests/ui/process/try-wait.rs -tests/ui/process/issue-14456.rs -tests/ui/process/exec-env.rs -tests/ui/process/println-with-broken-pipe.rs -tests/ui/process/inherit-env.rs -tests/ui/panic-while-printing.rs -tests/ui/threads-sendsync/trivial-message.rs -tests/ui/threads-sendsync/spawn-types.rs -tests/ui/threads-sendsync/task-comm-chan-nil.rs -tests/ui/threads-sendsync/task-comm-14.rs -tests/ui/threads-sendsync/issue-24313.rs -tests/ui/threads-sendsync/task-spawn-move-and-copy.rs -tests/ui/threads-sendsync/unwind-resource.rs -tests/ui/threads-sendsync/yield.rs -tests/ui/threads-sendsync/task-comm-6.rs -tests/ui/threads-sendsync/child-outlives-parent.rs -tests/ui/threads-sendsync/task-comm-12.rs -tests/ui/threads-sendsync/task-comm-0.rs -tests/ui/threads-sendsync/send-resource.rs -tests/ui/threads-sendsync/task-comm-15.rs -tests/ui/threads-sendsync/send-is-not-static-par-for.rs -tests/ui/threads-sendsync/issue-29488.rs -tests/ui/threads-sendsync/tls-dtors-are-run-in-a-static-binary.rs -tests/ui/threads-sendsync/task-comm-9.rs -tests/ui/threads-sendsync/sendfn-spawn-with-fn-arg.rs -tests/ui/threads-sendsync/sync-send-iterators-in-libcore.rs -tests/ui/threads-sendsync/issue-8827.rs -tests/ui/threads-sendsync/task-comm-4.rs -tests/ui/threads-sendsync/std-sync-right-kind-impls.rs -tests/ui/threads-sendsync/tls-init-on-init.rs -tests/ui/threads-sendsync/task-comm-13.rs -tests/ui/threads-sendsync/yield1.rs -tests/ui/threads-sendsync/yield2.rs -tests/ui/threads-sendsync/task-life-0.rs -tests/ui/threads-sendsync/spawn.rs -tests/ui/threads-sendsync/task-comm-5.rs -tests/ui/threads-sendsync/sendfn-is-a-block.rs -tests/ui/threads-sendsync/clone-with-exterior.rs -tests/ui/threads-sendsync/task-comm-10.rs -tests/ui/threads-sendsync/sendable-class.rs -tests/ui/threads-sendsync/issue-9396.rs -tests/ui/threads-sendsync/task-comm-11.rs -tests/ui/threads-sendsync/sync-send-iterators-in-libcollections.rs -tests/ui/threads-sendsync/issue-4448.rs -tests/ui/threads-sendsync/eprint-on-tls-drop.rs -tests/ui/threads-sendsync/task-comm-1.rs -tests/ui/threads-sendsync/task-comm-7.rs -tests/ui/threads-sendsync/task-comm-16.rs -tests/ui/threads-sendsync/sync-send-in-std.rs -tests/ui/threads-sendsync/send_str_hashmap.rs -tests/ui/threads-sendsync/task-stderr.rs -tests/ui/threads-sendsync/spawning-with-debug.rs -tests/ui/threads-sendsync/comm.rs -tests/ui/threads-sendsync/task-comm-17.rs -tests/ui/threads-sendsync/tcp-stress.rs -tests/ui/threads-sendsync/spawn2.rs -tests/ui/threads-sendsync/spawn-fn.rs -tests/ui/threads-sendsync/send_str_treemap.rs -tests/ui/threads-sendsync/tls-try-with.rs -tests/ui/threads-sendsync/issue-4446.rs -tests/ui/threads-sendsync/threads.rs -tests/ui/threads-sendsync/task-comm-3.rs -tests/ui/std/thread-sleep-ms.rs -tests/ui/std/windows-bat-args.rs -tests/ui/std/stdio-from.rs -tests/ui/std/issue-3563-3.rs -tests/ui/std/channel-stack-overflow-issue-102246.rs -tests/ui/try-operator-hygiene.rs -tests/ui/fact.rs -tests/ui/link-section.rs -tests/ui/mir/mir_codegen_calls.rs -tests/ui/mir/mir_static_subtype.rs -tests/ui/mir/mir_coercion_casts.rs -tests/ui/mir/mir_fat_ptr_drop.rs -tests/ui/mir/alignment/place_without_read.rs -tests/ui/mir/alignment/place_computation.rs -tests/ui/mir/alignment/packed.rs -tests/ui/mir/alignment/addrof_alignment.rs -tests/ui/mir/alignment/i686-pc-windows-msvc.rs -tests/ui/mir/mir_let_chains_drop_order.rs -tests/ui/mir/mir-typeck-normalize-fn-sig.rs -tests/ui/mir/mir_match_arm_guard.rs -tests/ui/mir/simplify-branch-same.rs -tests/ui/mir/mir_drop_order.rs -tests/ui/mir/mir_adt_construction.rs -tests/ui/mir/mir_codegen_switchint.rs -tests/ui/mir/mir_build_match_comparisons.rs -tests/ui/mir/issue-77359-simplify-arm-identity.rs -tests/ui/mir/issue-74739.rs -tests/ui/mir/issue-78496.rs -tests/ui/mir/debug-ref-undef.rs -tests/ui/mir/issue-76740-copy-propagation.rs -tests/ui/mir/mir_codegen_call_converging.rs -tests/ui/mir/mir_small_agg_arg.rs -tests/ui/mir/mir_codegen_switch.rs -tests/ui/mir/mir_ascription_coercion.rs -tests/ui/mir/mir_call_with_associated_type.rs -tests/ui/mir/mir_raw_fat_ptr.rs -tests/ui/mir/mir_coercions.rs -tests/ui/mir/mir_cast_fn_ret.rs -tests/ui/mir/mir_augmented_assignments.rs -tests/ui/mir/mir_fat_ptr.rs -tests/ui/mir/mir_calls_to_shims.rs -tests/ui/mir/validate/needs-reveal-all.rs -tests/ui/mir/mir_codegen_spike1.rs -tests/ui/mir/mir_const_prop_identity.rs -tests/ui/mir/dyn_metadata_sroa.rs -tests/ui/mir/issue-29227.rs -tests/ui/mir/mir_assign_eval_order.rs -tests/ui/mir/mir_codegen_array.rs -tests/ui/mir/mir_misc_casts.rs -tests/ui/mir/mir_overflow_off.rs -tests/ui/mir/mir_codegen_array_2.rs -tests/ui/mir/clone-canonicalization-miscompile-132353.rs -tests/ui/mir/mir_struct_with_assoc_ty.rs -tests/ui/mir/mir-inlining/ice-issue-68347.rs -tests/ui/mir/mir-inlining/ice-issue-77306-2.rs -tests/ui/mir/mir-inlining/var-debuginfo-issue-67586.rs -tests/ui/mir/mir-inlining/no-trait-method-issue-40473.rs -tests/ui/mir/mir-inlining/ice-issue-77306-1.rs -tests/ui/mir/mir-inlining/ice-issue-45885.rs -tests/ui/mir/mir-inlining/ice-issue-77564.rs -tests/ui/mir/mir-inlining/ice-issue-45493.rs -tests/ui/mir/issue-66851.rs -tests/ui/mir/issue-46845.rs -tests/ui/mir/mir_early_return_scope.rs -tests/ui/mir/mir_constval_adts.rs -tests/ui/mir/issue-76803-branches-not-same.rs -tests/ui/mir/issue-77002.rs -tests/ui/mir/mir_autoderef.rs -tests/ui/mir/issue-89485.rs -tests/ui/mir/mir_match_test.rs -tests/ui/mir/mir_void_return.rs -tests/ui/mir/mir_void_return_2.rs -tests/ui/mir/mir_temp_promotions.rs -tests/ui/mir/mir_heavy_promoted.rs -tests/ui/try-operator.rs -tests/ui/array-slice-vec/issue-18425.rs -tests/ui/array-slice-vec/empty-mutable-vec.rs -tests/ui/array-slice-vec/vec-dst.rs -tests/ui/array-slice-vec/copy-out-of-array-1.rs -tests/ui/array-slice-vec/vec-macro-with-brackets.rs -tests/ui/array-slice-vec/slice-panic-1.rs -tests/ui/array-slice-vec/slice.rs -tests/ui/array-slice-vec/byte-literals.rs -tests/ui/array-slice-vec/subslice-patterns-const-eval-match.rs -tests/ui/array-slice-vec/vec-matching-autoslice.rs -tests/ui/array-slice-vec/array_const_index-2.rs -tests/ui/array-slice-vec/destructure-array-1.rs -tests/ui/array-slice-vec/variance-vec-covariant.rs -tests/ui/array-slice-vec/nested-vec-1.rs -tests/ui/array-slice-vec/vec-matching.rs -tests/ui/array-slice-vec/vec-late-init.rs -tests/ui/array-slice-vec/vec-matching-fixed.rs -tests/ui/array-slice-vec/nested-vec-2.rs -tests/ui/array-slice-vec/new-style-fixed-length-vec.rs -tests/ui/array-slice-vec/vec-matching-fold.rs -tests/ui/array-slice-vec/vector-no-ann-2.rs -tests/ui/array-slice-vec/huge-largest-array.rs -tests/ui/array-slice-vec/rcvr-borrowed-to-slice.rs -tests/ui/array-slice-vec/vec-tail-matching.rs -tests/ui/array-slice-vec/box-of-array-of-drop-2.rs -tests/ui/array-slice-vec/slice_binary_search.rs -tests/ui/array-slice-vec/cast-in-array-size.rs -tests/ui/array-slice-vec/mutability-inherits-through-fixed-length-vec.rs -tests/ui/array-slice-vec/slice-panic-2.rs -tests/ui/array-slice-vec/subslice-patterns-const-eval.rs -tests/ui/array-slice-vec/slice-of-zero-size-elements.rs -tests/ui/array-slice-vec/repeated-vector-syntax.rs -tests/ui/array-slice-vec/vec-macro-with-trailing-comma.rs -tests/ui/array-slice-vec/vec-fixed-length.rs -tests/ui/array-slice-vec/evec-slice.rs -tests/ui/array-slice-vec/fixed_length_copy.rs -tests/ui/array-slice-vec/vec-matching-legal-tail-element-borrow.rs -tests/ui/array-slice-vec/mut-vstore-expr.rs -tests/ui/array-slice-vec/mutable-alias-vec.rs -tests/ui/array-slice-vec/estr-slice.rs -tests/ui/array-slice-vec/vec-repeat-with-cast.rs -tests/ui/array-slice-vec/show-boxed-slice.rs -tests/ui/array-slice-vec/ivec-pass-by-value.rs -tests/ui/array-slice-vec/check-static-slice.rs -tests/ui/array-slice-vec/nested-vec-3.rs -tests/ui/array-slice-vec/box-of-array-of-drop-1.rs -tests/ui/array-slice-vec/vec-macro-rvalue-scope.rs -tests/ui/array-slice-vec/issue-15730.rs -tests/ui/type-id-higher-rank-2.rs -tests/ui/deprecation/deprecated-macro_escape-inner.rs -tests/ui/recursion/instantiable.rs -tests/ui/debuginfo/issue-105386-debuginfo-ub.rs -tests/ui/debuginfo/msvc-strip-symbols.rs -tests/ui/debuginfo/msvc-strip-debuginfo.rs -tests/ui/privacy/privacy-ns.rs -tests/ui/privacy/private-method-rpass.rs -tests/ui/privacy/private-class-field.rs -tests/ui/privacy/pub-extern-privacy.rs -tests/ui/autoref-autoderef/autoderef-privacy.rs -tests/ui/autoref-autoderef/auto-ref.rs -tests/ui/autoref-autoderef/autoref-intermediate-types-issue-3585.rs -tests/ui/autoref-autoderef/autoderef-method.rs -tests/ui/autoref-autoderef/autoderef-and-borrow-method-receiver.rs -tests/ui/autoref-autoderef/auto-ref-bounded-ty-param.rs -tests/ui/autoref-autoderef/autoderef-method-priority.rs -tests/ui/autoref-autoderef/autoderef-method-twice-but-not-thrice.rs -tests/ui/autoref-autoderef/autoderef-method-on-trait.rs -tests/ui/autoref-autoderef/autoderef-method-twice.rs -tests/ui/autoref-autoderef/auto-ref-sliceable.rs -tests/ui/static/refer-to-other-statics-by-value.rs -tests/ui/static/issue-1660.rs -tests/ui/log-knows-the-names-of-variants.rs -tests/ui/tydesc-name.rs -tests/ui/cleanup-rvalue-scopes.rs -tests/ui/string-box-error.rs -tests/ui/type-param-constraints.rs -tests/ui/enum-discriminant/issue-90038.rs -tests/ui/enum-discriminant/issue-70509-partial_eq.rs -tests/ui/enum-discriminant/issue-104519.rs -tests/ui/enum-discriminant/discriminant_value-wrapper.rs -tests/ui/enum-discriminant/niche.rs -tests/ui/enum-discriminant/discriminant_size.rs -tests/ui/enum-discriminant/issue-51582.rs -tests/ui/enum-discriminant/repr128.rs -tests/ui/enum-discriminant/issue-50689.rs -tests/ui/enum-discriminant/actually_not_an_enum-discriminant.rs -tests/ui/enum-discriminant/issue-61696.rs -tests/ui/enum-discriminant/niche-prefer-zero.rs -tests/ui/enum-discriminant/issue-43398.rs -tests/ui/enum-discriminant/discriminant_value.rs -tests/ui/enum-discriminant/arbitrary_enum_discriminant.rs -tests/ui/enum-discriminant/get_discr.rs -tests/ui/unsized/unsized.rs -tests/ui/unsized/unsized-tuple-impls.rs -tests/ui/unsized/issue-23649-1.rs -tests/ui/unsized/unsized2.rs -tests/ui/unsized/issue-23649-2.rs -tests/ui/unsized/unchanged-param.rs -tests/ui/unsized/unsized3-rpass.rs -tests/ui/imports/import8.rs -tests/ui/imports/import6.rs -tests/ui/imports/import-prefix-macro.rs -tests/ui/imports/import5.rs -tests/ui/imports/import-from.rs -tests/ui/imports/use-mod.rs -tests/ui/imports/import-rpass.rs -tests/ui/imports/import-trailing-comma.rs -tests/ui/imports/import7.rs -tests/ui/imports/import-glob-crate.rs -tests/ui/imports/import-in-block.rs -tests/ui/imports/import3-rpass.rs -tests/ui/imports/import-rename.rs -tests/ui/imports/issue-4865-1.rs -tests/ui/imports/import-glob-0-rpass.rs -tests/ui/imports/issue-4865-3.rs -tests/ui/imports/import2-rpass.rs -tests/ui/imports/export-multi.rs -tests/ui/imports/issue-4865-2.rs -tests/ui/imports/import4-rpass.rs -tests/ui/imports/reexport-star.rs -tests/ui/imports/extern-crate-self/extern-crate-self-macro-self.rs -tests/ui/imports/extern-crate-self/extern-crate-self-macro-alias.rs -tests/ui/empty-allocation-non-null.rs -tests/ui/struct-ctor-mangling.rs -tests/ui/codegen/issue-63787.rs -tests/ui/codegen/issue-82859-slice-miscompile.rs -tests/ui/codegen/equal-pointers-unequal/as-cast/inline1.rs -tests/ui/codegen/equal-pointers-unequal/as-cast/function.rs -tests/ui/codegen/equal-pointers-unequal/as-cast/basic.rs -tests/ui/codegen/equal-pointers-unequal/as-cast/zero.rs -tests/ui/codegen/equal-pointers-unequal/as-cast/print.rs -tests/ui/codegen/equal-pointers-unequal/as-cast/inline2.rs -tests/ui/codegen/equal-pointers-unequal/as-cast/print3.rs -tests/ui/codegen/equal-pointers-unequal/as-cast/segfault.rs -tests/ui/codegen/equal-pointers-unequal/strict-provenance/inline1.rs -tests/ui/codegen/equal-pointers-unequal/strict-provenance/function.rs -tests/ui/codegen/equal-pointers-unequal/strict-provenance/basic.rs -tests/ui/codegen/equal-pointers-unequal/strict-provenance/zero.rs -tests/ui/codegen/equal-pointers-unequal/strict-provenance/print.rs -tests/ui/codegen/equal-pointers-unequal/strict-provenance/inline2.rs -tests/ui/codegen/equal-pointers-unequal/strict-provenance/print3.rs -tests/ui/codegen/equal-pointers-unequal/strict-provenance/segfault.rs -tests/ui/codegen/equal-pointers-unequal/exposed-provenance/inline1.rs -tests/ui/codegen/equal-pointers-unequal/exposed-provenance/function.rs -tests/ui/codegen/equal-pointers-unequal/exposed-provenance/basic.rs -tests/ui/codegen/equal-pointers-unequal/exposed-provenance/zero.rs -tests/ui/codegen/equal-pointers-unequal/exposed-provenance/print.rs -tests/ui/codegen/equal-pointers-unequal/exposed-provenance/inline2.rs -tests/ui/codegen/equal-pointers-unequal/exposed-provenance/print3.rs -tests/ui/codegen/equal-pointers-unequal/exposed-provenance/segfault.rs -tests/ui/codegen/subtyping-impacts-selection-1.rs -tests/ui/codegen/subtyping-impacts-selection-2.rs -tests/ui/codegen/init-large-type.rs -tests/ui/codegen/issue-79865-llvm-miscompile.rs -tests/ui/codegen/issue-55976.rs -tests/ui/codegen/issue-101585-128bit-repeat.rs -tests/ui/codegen/issue-28950.rs -tests/ui/codegen/issue-16602-1.rs -tests/ui/codegen/issue-82833-slice-miscompile.rs -tests/ui/codegen/issue-16602-2.rs -tests/ui/codegen/issue-16602-3.rs -tests/ui/codegen/issue-27859.rs -tests/ui/errors/remap-path-prefix-macro.rs -tests/ui/big-literals.rs -tests/ui/late-bound-lifetimes/issue-36381.rs -tests/ui/nested-class.rs -tests/ui/stable-addr-of.rs -tests/ui/pattern/issue-27320.rs -tests/ui/pattern/issue-8351-1.rs -tests/ui/pattern/issue-15080.rs -tests/ui/pattern/issue-11577.rs -tests/ui/pattern/integer-range-binding.rs -tests/ui/pattern/issue-8351-2.rs -tests/ui/pattern/no_ref_mut_behind_and.rs -tests/ui/pattern/move-ref-patterns/move-ref-patterns-dynamic-semantics.rs -tests/ui/pattern/issue-110508.rs -tests/ui/pattern/issue-10392.rs -tests/ui/pattern/usefulness/issue-30240-rpass.rs -tests/ui/pattern/usefulness/irrefutable-unit.rs -tests/ui/pattern/usefulness/nested-exhaustive-match.rs -tests/ui/pattern/usefulness/integer-ranges/regression-switchint-sorting-with-ranges.rs -tests/ui/pattern/usefulness/irrefutable-let-patterns.rs -tests/ui/pattern/bindings-after-at/or-patterns-slice-patterns.rs -tests/ui/pattern/bindings-after-at/or-patterns.rs -tests/ui/pattern/bindings-after-at/bind-by-copy.rs -tests/ui/pattern/bindings-after-at/slice-patterns.rs -tests/ui/pattern/bindings-after-at/nested-patterns.rs -tests/ui/pattern/bindings-after-at/box-patterns.rs -tests/ui/pattern/bindings-after-at/or-patterns-box-patterns.rs -tests/ui/pattern/ignore-all-the-things.rs -tests/ui/pattern/issue-6449.rs -tests/ui/pattern/deref-patterns/branch.rs -tests/ui/pattern/deref-patterns/closure_capture.rs -tests/ui/pattern/deref-patterns/bindings.rs -tests/ui/pattern/issue-12582.rs -tests/ui/pattern/size-and-align.rs -tests/ui/pattern/inc-range-pat.rs -tests/ui/pattern/issue-22546.rs -tests/ui/deref-rc.rs -tests/ui/output-slot-variants.rs -tests/ui/resource-assign-is-not-copy.rs -tests/ui/lto/all-crates.rs -tests/ui/lto/fat-lto.rs -tests/ui/lto/lto-still-runs-thread-dtors.rs -tests/ui/lto/thin-lto-inlines.rs -tests/ui/lto/lto-many-codegen-units.rs -tests/ui/lto/weak-works.rs -tests/ui/float/conv-bits-runtime-const.rs -tests/ui/float/int-to-float-miscompile-issue-105626.rs -tests/ui/float/classify-runtime-const.rs -tests/ui/bind-by-move.rs -tests/ui/log-err-phi.rs -tests/ui/delegation/target-expr-pass.rs -tests/ui/delegation/explicit-paths-signature-pass.rs -tests/ui/delegation/explicit-paths-in-traits-pass.rs -tests/ui/delegation/explicit-paths-pass.rs -tests/ui/delegation/self-coercion.rs -tests/ui/delegation/method-call-priority.rs -tests/ui/delegation/generics/impl-to-free-fn-pass.rs -tests/ui/delegation/generics/inherent-impl-to-trait-method-pass.rs -tests/ui/delegation/generics/free-fn-to-free-fn-pass.rs -tests/ui/delegation/generics/impl-trait-to-trait-method-pass.rs -tests/ui/delegation/generics/free-fn-to-trait-method-pass.rs -tests/ui/delegation/generics/trait-method-to-other-pass.rs -tests/ui/shadowed-use-visibility.rs -tests/ui/panic-runtime/lto-unwind.rs -tests/ui/panic-runtime/lto-abort.rs -tests/ui/panic-runtime/abort.rs -tests/ui/panic-runtime/link-to-unwind.rs -tests/ui/close-over-big-then-small-data.rs -tests/ui/new-import-syntax.rs -tests/ui/cfguard-run.rs -tests/ui/hello.rs -tests/ui/tail-cps.rs -tests/ui/statics/static-methods-in-traits.rs -tests/ui/statics/static-function-pointer.rs -tests/ui/statics/static-methods-in-traits2.rs -tests/ui/statics/static-impl.rs -tests/ui/statics/static-recursive.rs -tests/ui/statics/issue-17718-static-unsafe-interior.rs -tests/ui/statics/issue-17233.rs -tests/ui/statics/const_generics.rs -tests/ui/statics/static-method-in-trait-with-tps-intracrate.rs -tests/ui/statics/static-promotion.rs -tests/ui/resolve/no-std-2.rs -tests/ui/resolve/resolve-issue-2428.rs -tests/ui/resolve/blind-item-local-shadow.rs -tests/ui/resolve/no-std-3.rs -tests/ui/resolve/primitive-usage.rs -tests/ui/resolve/no-std-1.rs -tests/ui/resolve/blind-item-mixed-use-item.rs -tests/ui/resolve/resolve-pseudo-shadowing.rs -tests/ui/deref.rs -tests/ui/trailing-comma.rs -tests/ui/ptr-coercion-rpass.rs -tests/ui/indexing/indexing-spans-caller-location.rs -tests/ui/functions-closures/parallel-codegen-closures.rs -tests/ui/functions-closures/capture-clauses-unboxed-closures.rs -tests/ui/functions-closures/fn-coerce-field.rs -tests/ui/functions-closures/closure-reform.rs -tests/ui/functions-closures/fn-lval.rs -tests/ui/functions-closures/closure-inference.rs -tests/ui/functions-closures/fn-bare-item.rs -tests/ui/functions-closures/implied-bounds-closure-arg-outlives.rs -tests/ui/functions-closures/nullable-pointer-opt-closures.rs -tests/ui/functions-closures/fn-type-infer.rs -tests/ui/functions-closures/closure-returning-closure.rs -tests/ui/functions-closures/fn-item-type-zero-sized.rs -tests/ui/functions-closures/closure-expected-type/supply-just-return-type.rs -tests/ui/functions-closures/closure-expected-type/supply-nothing.rs -tests/ui/functions-closures/closure-expected-type/issue-38714.rs -tests/ui/functions-closures/closure-inference2.rs -tests/ui/functions-closures/return-from-closure.rs -tests/ui/functions-closures/fn-item-type-cast.rs -tests/ui/functions-closures/closure-bounds-can-capture-chan.rs -tests/ui/functions-closures/call-closure-from-overloaded-op.rs -tests/ui/functions-closures/clone-closure.rs -tests/ui/functions-closures/fn-bare-spawn.rs -tests/ui/functions-closures/closure-immediate.rs -tests/ui/functions-closures/fn-bare-assign.rs -tests/ui/functions-closures/closure-to-fn-coercion.rs -tests/ui/functions-closures/closure_to_fn_coercion-expected-types.rs -tests/ui/functions-closures/capture-clauses-boxed-closures.rs -tests/ui/functions-closures/fn-bare-coerce-to-block.rs -tests/ui/functions-closures/copy-closure.rs -tests/ui/functions-closures/fn-item-type-coerce.rs -tests/ui/functions-closures/fn-bare-size.rs -tests/ui/higher-ranked/leak-check/leak-check-in-selection-1.rs -tests/ui/higher-ranked/trait-bounds/hrtb-fn-like-trait.rs -tests/ui/higher-ranked/trait-bounds/issue-36139-normalize-closure-sig.rs -tests/ui/higher-ranked/trait-bounds/hrtb-unboxed-closure-trait.rs -tests/ui/higher-ranked/trait-bounds/issue-39292.rs -tests/ui/higher-ranked/trait-bounds/hrtb-resolve-lifetime.rs -tests/ui/higher-ranked/trait-bounds/hrtb-parse.rs -tests/ui/higher-ranked/trait-bounds/hrtb-fn-like-trait-object.rs -tests/ui/higher-ranked/trait-bounds/hrtb-trait-object-paren-notation.rs -tests/ui/cast/cast-region-to-uint.rs -tests/ui/cast/supported-cast.rs -tests/ui/cast/cast.rs -tests/ui/cast/cast-rfc0401-vtable-kinds.rs -tests/ui/cast/cast-rfc0401.rs -tests/ui/cast/fat-ptr-cast-rpass.rs -tests/ui/cast/cast-to-infer-ty.rs -tests/ui/cast/cast-does-fallback.rs -tests/ui/cast/codegen-object-shim.rs -tests/ui/traits/static-outlives-a-where-clause.rs -tests/ui/traits/impl-inherent-prefer-over-trait.rs -tests/ui/traits/const-traits/const-drop.rs -tests/ui/traits/const-traits/trait-where-clause-run.rs -tests/ui/traits/const-traits/specialization/const-default-const-specialized.rs -tests/ui/traits/const-traits/specialization/non-const-default-const-specialized.rs -tests/ui/traits/issue-23825.rs -tests/ui/traits/typeclasses-eq-example.rs -tests/ui/traits/ice-with-dyn-pointee.rs -tests/ui/traits/reservation-impl/ok.rs -tests/ui/traits/default-method/macro.rs -tests/ui/traits/default-method/bound-subst2.rs -tests/ui/traits/default-method/self.rs -tests/ui/traits/default-method/trivial.rs -tests/ui/traits/default-method/bound-subst.rs -tests/ui/traits/default-method/bound-subst3.rs -tests/ui/traits/default-method/bound.rs -tests/ui/traits/default-method/bound-subst4.rs -tests/ui/traits/default-method/supervtable.rs -tests/ui/traits/fmt-pointer-trait.rs -tests/ui/traits/issue-15155.rs -tests/ui/traits/issue-4107.rs -tests/ui/traits/issue-6128.rs -tests/ui/traits/issue-43132.rs -tests/ui/traits/next-solver/dyn-any-dont-prefer-impl.rs -tests/ui/traits/next-solver/alias-bound-preference.rs -tests/ui/traits/static-method-overwriting.rs -tests/ui/traits/multidispatch2.rs -tests/ui/traits/issue-22110.rs -tests/ui/traits/multidispatch1.rs -tests/ui/traits/object/with-lifetime-bound.rs -tests/ui/traits/object/auto-dedup.rs -tests/ui/traits/object/lifetime-first.rs -tests/ui/traits/object/generics.rs -tests/ui/traits/object/exclusion.rs -tests/ui/traits/trait-upcasting/struct.rs -tests/ui/traits/trait-upcasting/issue-11515-upcast-fn_mut-fn.rs -tests/ui/traits/trait-upcasting/lifetime.rs -tests/ui/traits/trait-upcasting/basic.rs -tests/ui/traits/trait-upcasting/replace-vptr.rs -tests/ui/traits/trait-upcasting/correct-supertrait-substitution.rs -tests/ui/traits/trait-upcasting/diamond.rs -tests/ui/traits/upcast_reorder.rs -tests/ui/traits/overlap-permitted-for-marker-traits.rs -tests/ui/traits/false-ambiguity-where-clause-builtin-bound.rs -tests/ui/traits/bound/generic_trait.rs -tests/ui/traits/bound/multiple.rs -tests/ui/traits/bound/in-arc.rs -tests/ui/traits/kindck-owned-contains-1.rs -tests/ui/traits/generic.rs -tests/ui/traits/conditional-dispatch.rs -tests/ui/traits/principal-less-objects.rs -tests/ui/traits/with-bounds-default.rs -tests/ui/traits/objects-owned-object-borrowed-method-headerless.rs -tests/ui/traits/object-one-type-two-traits.rs -tests/ui/traits/typeclasses-eq-example-static.rs -tests/ui/traits/assoc-type-in-supertrait.rs -tests/ui/traits/dyn-trait.rs -tests/ui/traits/issue-22655.rs -tests/ui/traits/monomorphized-callees-with-ty-params-3314.rs -tests/ui/traits/issue-9394-inherited-calls.rs -tests/ui/traits/inherent-method-order.rs -tests/ui/traits/safety-ok.rs -tests/ui/traits/assignability-trait.rs -tests/ui/traits/issue-40085.rs -tests/ui/traits/issue-33096.rs -tests/ui/traits/issue-18412.rs -tests/ui/traits/multidispatch-conditional-impl-not-considered.rs -tests/ui/traits/monad.rs -tests/ui/traits/coercion-generic.rs -tests/ui/traits/impl-object-overlap-issue-23853.rs -tests/ui/traits/elaborate-type-region.rs -tests/ui/traits/negative-impls/negated-auto-traits-rpass.rs -tests/ui/traits/issue-6334.rs -tests/ui/traits/where-clause-vs-impl.rs -tests/ui/traits/alignment-gep-tup-like-1.rs -tests/ui/traits/associated_type_bound/check-trait-object-bounds-2-ok.rs -tests/ui/traits/dyn-any-prefer-vtable.rs -tests/ui/traits/issue-5008-borrowed-traitobject-method-call.rs -tests/ui/traits/issue-3683.rs -tests/ui/traits/bug-7183-generics.rs -tests/ui/traits/dyn-drop-principal.rs -tests/ui/traits/region-pointer-simple.rs -tests/ui/traits/issue-38033.rs -tests/ui/traits/coercion.rs -tests/ui/traits/item-inside-macro.rs -tests/ui/traits/early-vtbl-resolution.rs -tests/ui/traits/issue-24010.rs -tests/ui/traits/multidispatch-infer-convert-target.rs -tests/ui/traits/anon-static-method.rs -tests/ui/traits/issue-26339.rs -tests/ui/traits/alias/bounds.rs -tests/ui/traits/alias/import.rs -tests/ui/traits/alias/object.rs -tests/ui/traits/inheritance/num5.rs -tests/ui/traits/inheritance/num2.rs -tests/ui/traits/inheritance/call-bound-inherited2.rs -tests/ui/traits/inheritance/overloading-simple.rs -tests/ui/traits/inheritance/auto.rs -tests/ui/traits/inheritance/cast.rs -tests/ui/traits/inheritance/static2.rs -tests/ui/traits/inheritance/self.rs -tests/ui/traits/inheritance/multiple-inheritors.rs -tests/ui/traits/inheritance/repeated-supertrait.rs -tests/ui/traits/inheritance/cast-without-call-to-supertrait.rs -tests/ui/traits/inheritance/call-bound-inherited.rs -tests/ui/traits/inheritance/basic.rs -tests/ui/traits/inheritance/static.rs -tests/ui/traits/inheritance/simple.rs -tests/ui/traits/inheritance/subst.rs -tests/ui/traits/inheritance/num3.rs -tests/ui/traits/inheritance/overloading.rs -tests/ui/traits/inheritance/visibility.rs -tests/ui/traits/inheritance/multiple-params.rs -tests/ui/traits/inheritance/diamond.rs -tests/ui/traits/inheritance/cross-trait-call.rs -tests/ui/traits/inheritance/subst2.rs -tests/ui/traits/inheritance/self-in-supertype.rs -tests/ui/traits/ufcs-object.rs -tests/ui/traits/issue-3979-generics.rs -tests/ui/traits/impl-implicit-trait.rs -tests/ui/traits/bug-7295.rs -tests/ui/traits/to-str.rs -tests/ui/traits/superdefault-generics.rs -tests/ui/traits/pointee-deduction.rs -tests/ui/coherence/coherence-where-clause.rs -tests/ui/coherence/coherence-impl-in-fn.rs -tests/ui/coherence/coherence-rfc447-constrained.rs -tests/ui/opeq.rs -tests/ui/attributes/tool_attributes.rs -tests/ui/type-ptr.rs -tests/ui/specialization/specialization-translate-projections.rs -tests/ui/specialization/specialization-translate-projections-with-lifetimes.rs -tests/ui/specialization/issue-50452.rs -tests/ui/specialization/soundness/partial_ord_slice.rs -tests/ui/specialization/soundness/partial_eq_range_inclusive.rs -tests/ui/specialization/specialization-assoc-fns.rs -tests/ui/specialization/transmute-specialization.rs -tests/ui/specialization/specialization-translate-projections-with-params.rs -tests/ui/specialization/specialization-projection.rs -tests/ui/specialization/defaultimpl/projection.rs -tests/ui/specialization/defaultimpl/specialization-trait-item-not-implemented-rpass.rs -tests/ui/specialization/specialization-basics.rs -tests/ui/specialization/specialization-projection-alias.rs -tests/ui/specialization/specialization-default-methods.rs -tests/ui/expr/compound-assignment/eval-order.rs -tests/ui/expr/if/if-ret.rs -tests/ui/expr/if/expr-if-panic-pass.rs -tests/ui/expr/if/attrs/gate-whole-expr.rs -tests/ui/expr/if/if-check.rs -tests/ui/expr/if/expr-if.rs -tests/ui/expr/scope.rs -tests/ui/expr/copy.rs -tests/ui/expr/if-generic.rs -tests/ui/expr/if-bot.rs -tests/ui/expr/block.rs -tests/ui/expr/if-panic-all.rs -tests/ui/expr/block-fn.rs -tests/ui/expr/block-generic.rs -tests/ui/myriad-closures.rs -tests/ui/label/label_break_value_desugared_break.rs -tests/ui/binding/match-enum-struct-1.rs -tests/ui/binding/borrowed-ptr-pattern.rs -tests/ui/binding/pat-tuple-1.rs -tests/ui/binding/pat-ranges.rs -tests/ui/binding/match-str.rs -tests/ui/binding/expr-match-generic-unique1.rs -tests/ui/binding/nullary-or-pattern.rs -tests/ui/binding/func-arg-wild-pattern.rs -tests/ui/binding/nested-matchs.rs -tests/ui/binding/irrefutable-slice-patterns.rs -tests/ui/binding/expr-match-generic-unique2.rs -tests/ui/binding/use-uninit-match.rs -tests/ui/binding/expr-match-panic.rs -tests/ui/binding/match-range.rs -tests/ui/binding/nested-pattern.rs -tests/ui/binding/match-range-infer.rs -tests/ui/binding/match-join.rs -tests/ui/binding/nil-pattern.rs -tests/ui/binding/match-with-ret-arm.rs -tests/ui/binding/let-var-hygiene.rs +tests/ui/modules/use-keyword-reexport-type-alias.rs +tests/ui/modules/mod_dir_path2.rs +tests/ui/modules/mod-pub-access.rs +tests/ui/indexing/indexing-spans-caller-location.rs +tests/ui/foreign/foreign-fn-linkname.rs +tests/ui/foreign/foreign-truncated-arguments.rs +tests/ui/impl-trait/auto-trait-leakage/auto-trait-leak-rpass.rs +tests/ui/impl-trait/issues/issue-36792.rs +tests/ui/impl-trait/issues/issue-49685.rs +tests/ui/impl-trait/issues/issue-51185.rs +tests/ui/impl-trait/closure-in-impl-trait-arg.rs +tests/ui/impl-trait/impl_fn_associativity.rs +tests/ui/impl-trait/universal_in_impl_trait_in_parameters.rs +tests/ui/impl-trait/nesting.rs +tests/ui/impl-trait/universal_hrtb_anon.rs +tests/ui/impl-trait/universal_hrtb_named.rs +tests/ui/impl-trait/equality-rpass.rs +tests/ui/impl-trait/basic-trait-impl.rs +tests/ui/impl-trait/universal_in_trait_defn_parameters.rs +tests/ui/impl-trait/example-calendar.rs +tests/ui/impl-trait/example-st.rs +tests/ui/impl-trait/universal_in_adt_in_parameters.rs +tests/ui/impl-trait/universal_multiple_bounds.rs +tests/ui/impl-trait/closure-in-impl-trait.rs +tests/ui/hashmap/hashset-enum-variant.rs +tests/ui/hashmap/hashmap-memory.rs +tests/ui/reachable/artificial-block.rs +tests/ui/unsized/unchanged-param.rs +tests/ui/unsized/unsized3-rpass.rs +tests/ui/unsized/unsized2.rs +tests/ui/unsized/issue-23649-1.rs +tests/ui/unsized/unsized.rs +tests/ui/unsized/issue-23649-2.rs +tests/ui/functions-closures/return-from-closure.rs +tests/ui/functions-closures/fn-bare-size.rs +tests/ui/functions-closures/capture-clauses-unboxed-closures.rs +tests/ui/functions-closures/clone-closure.rs +tests/ui/functions-closures/call-closure-from-overloaded-op.rs +tests/ui/functions-closures/closure-reform.rs +tests/ui/functions-closures/fn-item-type-zero-sized.rs +tests/ui/functions-closures/bare-fn-implements-fn-mut.rs +tests/ui/functions-closures/closure-immediate.rs +tests/ui/functions-closures/capture-clauses-boxed-closures.rs +tests/ui/functions-closures/implied-bounds-closure-arg-outlives.rs +tests/ui/functions-closures/fn-bare-spawn.rs +tests/ui/functions-closures/closure-to-fn-coercion.rs +tests/ui/functions-closures/fn-item-type-coerce.rs +tests/ui/functions-closures/fn-bare-coerce-to-block.rs +tests/ui/functions-closures/fn-bare-item.rs +tests/ui/functions-closures/closure_to_fn_coercion-expected-types.rs +tests/ui/functions-closures/closure-returning-closure.rs +tests/ui/functions-closures/fn-coerce-field.rs +tests/ui/functions-closures/fn-lval.rs +tests/ui/functions-closures/fn-bare-assign.rs +tests/ui/functions-closures/parallel-codegen-closures.rs +tests/ui/functions-closures/fn-item-type-cast.rs +tests/ui/functions-closures/closure-inference2.rs +tests/ui/functions-closures/copy-closure.rs +tests/ui/functions-closures/nullable-pointer-opt-closures.rs +tests/ui/functions-closures/closure-expected-type/issue-38714.rs +tests/ui/functions-closures/closure-expected-type/supply-just-return-type.rs +tests/ui/functions-closures/closure-expected-type/supply-nothing.rs +tests/ui/functions-closures/closure-bounds-can-capture-chan.rs +tests/ui/functions-closures/closure-inference.rs +tests/ui/functions-closures/fn-type-infer.rs +tests/ui/const_prop/apfloat-f64-roundtrip.rs +tests/ui/const_prop/dont-propagate-generic-instance.rs +tests/ui/const_prop/dont-propagate-generic-instance-2.rs +tests/ui/const_prop/const-prop-ice3.rs +tests/ui/const_prop/overwrite_with_const_with_params.rs +tests/ui/const_prop/apfloat-remainder-regression.rs +tests/ui/parser/integer-literal-method-call-underscore.rs +tests/ui/parser/syntactic-trailing-commas.rs +tests/ui/parser/issues/issue-21475.rs +tests/ui/parser/issues/issue-7222.rs +tests/ui/parser/issues/issue-48508.rs +tests/ui/parser/issues/issue-65846-rollback-gating-failing-matcher.rs +tests/ui/parser/issues/issue-17718-parse-const.rs +tests/ui/parser/raw/raw-string-literals.rs +tests/ui/parser/slowparse-string.rs +tests/ui/parser/unicode-escape-sequences.rs +tests/ui/parser/as-precedence.rs +tests/ui/parser/utf8_idents-rpass.rs +tests/ui/parser/macro/statement-boundaries.rs +tests/ui/parser/operator-precedence-braces-exprs.rs +tests/ui/parser/assoc/assoc-oddities-3.rs +tests/ui/parser/unicode-multibyte-chars-no-ice.rs +tests/ui/parser/parser-unicode-whitespace.rs +tests/ui/parser/operator-associativity.rs +tests/ui/parser/nested-block-comments.rs +tests/ui/parser/slowparse-bstring.rs +tests/ui/thread-local/tls.rs +tests/ui/thread-local/spawn-hook-atexit.rs +tests/ui/test-attrs/test-runner-hides-main.rs +tests/ui/test-attrs/test-main-not-dead.rs +tests/ui/test-attrs/test-panic-while-printing.rs +tests/ui/issues/issue-18685.rs +tests/ui/issues/issue-7784.rs +tests/ui/issues/issue-50442.rs +tests/ui/issues/issue-32805.rs +tests/ui/issues/issue-39548.rs +tests/ui/issues/issue-24353.rs +tests/ui/issues/issue-7663.rs +tests/ui/issues/issue-38763.rs +tests/ui/issues/issue-15043.rs +tests/ui/issues/issue-21033.rs +tests/ui/issues/issue-5917.rs +tests/ui/issues/issue-17322.rs +tests/ui/issues/issue-4541.rs +tests/ui/issues/issue-3447.rs +tests/ui/issues/issue-15523.rs +tests/ui/issues/issue-17503.rs +tests/ui/issues/issue-43692.rs +tests/ui/issues/issue-18352.rs +tests/ui/issues/issue-2935.rs +tests/ui/issues/issue-22258.rs +tests/ui/issues/issue-36786-resolve-call.rs +tests/ui/issues/issue-3290.rs +tests/ui/issues/issue-27054-primitive-binary-ops.rs +tests/ui/issues/issue-14865.rs +tests/ui/issues/issue-17905.rs +tests/ui/issues/issue-15523-big.rs +tests/ui/issues/issue-2550.rs +tests/ui/issues/issue-3037.rs +tests/ui/issues/issue-7563.rs +tests/ui/issues/issue-17771.rs +tests/ui/issues/issue-27639.rs +tests/ui/issues/issue-31776.rs +tests/ui/issues/issue-27240.rs +tests/ui/issues/issue-22992-2.rs +tests/ui/issues/issue-20847.rs +tests/ui/issues/issue-22008.rs +tests/ui/issues/issue-12860.rs +tests/ui/issues/issue-26802.rs +tests/ui/issues/issue-26805.rs +tests/ui/issues/issue-5688.rs +tests/ui/issues/issue-56237.rs +tests/ui/issues/issue-45510.rs +tests/ui/issues/issue-41677.rs +tests/ui/issues/issue-47638.rs +tests/ui/issues/issue-3979.rs +tests/ui/issues/issue-15129-rpass.rs +tests/ui/issues/issue-23699.rs +tests/ui/issues/issue-34569.rs +tests/ui/issues/issue-78192.rs +tests/ui/issues/issue-22403.rs +tests/ui/issues/issue-11958.rs +tests/ui/issues/issue-6344-match.rs +tests/ui/issues/issue-15063.rs +tests/ui/issues/issue-12285.rs +tests/ui/issues/issue-23485.rs +tests/ui/issues/issue-28983.rs +tests/ui/issues/issue-30891.rs +tests/ui/issues/issue-24954.rs +tests/ui/issues/issue-18110.rs +tests/ui/issues/issue-43205.rs +tests/ui/issues/issue-18232.rs +tests/ui/issues/issue-26127.rs +tests/ui/issues/issue-41498.rs +tests/ui/issues/issue-9837.rs +tests/ui/issues/issue-10638.rs +tests/ui/issues/issue-59020.rs +tests/ui/issues/issue-50811.rs +tests/ui/issues/issue-28498-ugeh-ex1.rs +tests/ui/issues/issue-4759.rs +tests/ui/issues/issue-33461.rs +tests/ui/issues/issue-15104.rs +tests/ui/issues/issue-15763.rs +tests/ui/issues/issue-24945-repeat-dash-opts.rs +tests/ui/issues/issue-28550.rs +tests/ui/issues/issue-29663.rs +tests/ui/issues/issue-20174.rs +tests/ui/issues/issue-25145.rs +tests/ui/issues/issue-23311.rs +tests/ui/issues/issue-41696.rs +tests/ui/issues/issue-17361.rs +tests/ui/issues/issue-48132.rs +tests/ui/issues/issue-31267-additional.rs +tests/ui/issues/issue-9259.rs +tests/ui/issues/issue-19367.rs +tests/ui/issues/issue-10436.rs +tests/ui/issues/issue-30756.rs +tests/ui/issues/issue-14308.rs +tests/ui/issues/issue-19499.rs +tests/ui/issues/issue-36474.rs +tests/ui/issues/issue-39709.rs +tests/ui/issues/issue-9737.rs +tests/ui/issues/issue-70673.rs +tests/ui/issues/issue-48159.rs +tests/ui/issues/issue-23958.rs +tests/ui/issues/issue-3121.rs +tests/ui/issues/issue-18353.rs +tests/ui/issues/issue-6117.rs +tests/ui/issues/issue-5315.rs +tests/ui/issues/issue-6153.rs +tests/ui/issues/issue-16739.rs +tests/ui/issues/issue-30081.rs +tests/ui/issues/issue-2989.rs +tests/ui/issues/issue-36260.rs +tests/ui/issues/issue-8249.rs +tests/ui/issues/issue-3220.rs +tests/ui/issues/issue-10228.rs +tests/ui/issues/issue-47364.rs +tests/ui/issues/issue-16492.rs +tests/ui/issues/issue-28828.rs +tests/ui/issues/issue-38556.rs +tests/ui/issues/issue-14382.rs +tests/ui/issues/issue-30530.rs +tests/ui/issues/issue-6344-let.rs +tests/ui/issues/issue-2383.rs +tests/ui/issues/issue-17068.rs +tests/ui/issues/issue-23036.rs +tests/ui/issues/issue-26641.rs +tests/ui/issues/issue-38437.rs +tests/ui/issues/issue-99838.rs +tests/ui/issues/issue-12909.rs +tests/ui/issues/issue-5708.rs +tests/ui/issues/issue-4387.rs +tests/ui/issues/issue-51907.rs +tests/ui/issues/issue-5550.rs +tests/ui/issues/issue-18859.rs +tests/ui/issues/issue-27949.rs +tests/ui/issues/issue-49632.rs +tests/ui/issues/issue-15189.rs +tests/ui/issues/issue-16452.rs +tests/ui/issues/issue-35815.rs +tests/ui/issues/issue-21655.rs +tests/ui/issues/issue-14919.rs +tests/ui/issues/issue-36816.rs +tests/ui/issues/issue-39367.rs +tests/ui/issues/issue-16671.rs +tests/ui/issues/issue-7519-match-unit-in-arg.rs +tests/ui/issues/issue-54477-reduced-2.rs +tests/ui/issues/issue-20803.rs +tests/ui/issues/issue-26484.rs +tests/ui/issues/issue-34571.rs +tests/ui/issues/issue-2074.rs +tests/ui/issues/issue-25757.rs +tests/ui/issues/issue-34503.rs +tests/ui/issues/issue-14875.rs +tests/ui/issues/issue-18952.rs +tests/ui/issues/issue-29522.rs +tests/ui/issues/issue-3702.rs +tests/ui/issues/issue-16783.rs +tests/ui/issues/issue-23898.rs +tests/ui/issues/issue-9942.rs +tests/ui/issues/issue-22577.rs +tests/ui/issues/issue-19001.rs +tests/ui/issues/issue-23336.rs +tests/ui/issues/issue-27268.rs +tests/ui/issues/issue-11047.rs +tests/ui/issues/issue-41744.rs +tests/ui/issues/issue-11267.rs +tests/ui/issues/issue-13665.rs +tests/ui/issues/issue-34427.rs +tests/ui/issues/issue-4735.rs +tests/ui/issues/issue-68696-catch-during-unwind.rs +tests/ui/issues/issue-31267.rs +tests/ui/issues/issue-13204.rs +tests/ui/issues/issue-3556.rs +tests/ui/issues/issue-8860.rs +tests/ui/issues/issue-28181.rs +tests/ui/issues/issue-5741.rs +tests/ui/issues/issue-11205.rs +tests/ui/issues/issue-7012.rs +tests/ui/issues/issue-18464.rs +tests/ui/issues/issue-16278.rs +tests/ui/issues/issue-28498-must-work-ex1.rs +tests/ui/issues/issue-24308.rs +tests/ui/issues/issue-2642.rs +tests/ui/issues/issue-32389.rs +tests/ui/issues/issue-29668.rs +tests/ui/issues/issue-5718.rs +tests/ui/issues/issue-15858.rs +tests/ui/issues/issue-3559.rs +tests/ui/issues/issue-25279.rs +tests/ui/issues/issue-29053.rs +tests/ui/issues/issue-13763.rs +tests/ui/issues/issue-41479.rs +tests/ui/issues/issue-14821.rs +tests/ui/issues/issue-2284.rs +tests/ui/issues/issue-19127.rs +tests/ui/issues/issue-24947.rs +tests/ui/issues/issue-3847.rs +tests/ui/issues/issue-14399.rs +tests/ui/issues/issue-13259-windows-tcb-trash.rs +tests/ui/issues/issue-25746-bool-transmute.rs +tests/ui/issues/issue-35600.rs +tests/ui/issues/issue-3429.rs +tests/ui/issues/issue-32008.rs +tests/ui/issues/issue-9951.rs +tests/ui/issues/issue-53333.rs +tests/ui/issues/issue-16441.rs +tests/ui/issues/issue-2428.rs +tests/ui/issues/issue-20055-box-trait.rs +tests/ui/issues/issue-4228.rs +tests/ui/issues/issue-43291.rs +tests/ui/issues/issue-3895.rs +tests/ui/issues/issue-46069.rs +tests/ui/issues/issue-3109.rs +tests/ui/issues/issue-26468.rs +tests/ui/issues/issue-20055-box-unsized-array.rs +tests/ui/issues/issue-21291.rs +tests/ui/issues/issue-11820.rs +tests/ui/issues/issue-9446.rs +tests/ui/issues/issue-36936.rs +tests/ui/issues/issue-49973.rs +tests/ui/issues/issue-29466.rs +tests/ui/issues/issue-2214.rs +tests/ui/issues/issue-36744-bitcast-args-if-needed.rs +tests/ui/issues/issue-17351.rs +tests/ui/issues/issue-46855.rs +tests/ui/issues/issue-13867.rs +tests/ui/issues/issue-3052.rs +tests/ui/issues/issue-37686.rs +tests/ui/issues/issue-16256.rs +tests/ui/issues/issue-36278-prefix-nesting.rs +tests/ui/issues/issue-48006.rs +tests/ui/issues/issue-33770.rs +tests/ui/issues/issue-11677.rs +tests/ui/issues/issue-5321-immediates-with-bare-self.rs +tests/ui/issues/issue-49955.rs +tests/ui/issues/issue-26709.rs +tests/ui/issues/issue-4759-1.rs +tests/ui/issues/issue-42148.rs +tests/ui/issues/issue-25549-multiple-drop.rs +tests/ui/issues/issue-2708.rs +tests/ui/issues/issue-25089.rs +tests/ui/issues/issue-39827.rs +tests/ui/issues/issue-21384.rs +tests/ui/issues/issue-54462-mutable-noalias-correctness.rs +tests/ui/issues/issue-3026.rs +tests/ui/issues/issue-17216.rs +tests/ui/issues/issue-5554.rs +tests/ui/issues/issue-25515.rs +tests/ui/issues/issue-15571.rs +tests/ui/issues/issue-18539.rs +tests/ui/issues/issue-32292.rs +tests/ui/issues/issue-13027.rs +tests/ui/issues/issue-20953.rs +tests/ui/issues/issue-29147-rpass.rs +tests/ui/issues/issue-37109.rs +tests/ui/issues/issue-15793.rs +tests/ui/issues/issue-29092.rs +tests/ui/issues/issue-14229.rs +tests/ui/issues/issue-58463.rs +tests/ui/issues/issue-22426.rs +tests/ui/issues/issue-35423.rs +tests/ui/issues/issue-12677.rs +tests/ui/issues/issue-23992.rs +tests/ui/issues/issue-25693.rs +tests/ui/issues/issue-4734.rs +tests/ui/issues/issue-33202.rs +tests/ui/issues/issue-4542.rs +tests/ui/issues/issue-39808.rs +tests/ui/issues/issue-61894.rs +tests/ui/issues/issue-8898.rs +tests/ui/issues/issue-20544.rs +tests/ui/issues/issue-9129.rs +tests/ui/issues/issue-24779.rs +tests/ui/issues/issue-9047.rs +tests/ui/issues/issue-3500.rs +tests/ui/issues/issue-25810.rs +tests/ui/issues/issue-12033.rs +tests/ui/issues/issue-30018-panic.rs +tests/ui/issues/issue-38987.rs +tests/ui/issues/issue-21361.rs +tests/ui/issues/issue-41604.rs +tests/ui/issues/issue-11552.rs +tests/ui/issues/issue-10767.rs +tests/ui/issues/issue-15774.rs +tests/ui/issues/issue-36856.rs +tests/ui/issues/issue-13434.rs +tests/ui/issues/issue-20575.rs +tests/ui/issues/issue-57198-pass.rs +tests/ui/issues/issue-29948.rs +tests/ui/issues/issue-22036.rs +tests/ui/issues/issue-28839.rs +tests/ui/issues/issue-38942.rs +tests/ui/issues/issue-6892.rs +tests/ui/issues/issue-23433.rs +tests/ui/issues/issue-27997.rs +tests/ui/issues/issue-21306.rs +tests/ui/issues/issue-12744.rs +tests/ui/issues/issue-25343.rs +tests/ui/issues/issue-36023.rs +tests/ui/issues/issue-17816.rs +tests/ui/issues/issue-53728.rs +tests/ui/issues/issue-18767.rs +tests/ui/issues/issue-11709.rs +tests/ui/issues/issue-11382.rs +tests/ui/issues/issue-33387.rs +tests/ui/issues/issue-40951.rs +tests/ui/issues/issue-4333.rs +tests/ui/issues/issue-10734.rs +tests/ui/issues/issue-15673.rs +tests/ui/issues/issue-25497.rs +tests/ui/issues/issue-8498.rs +tests/ui/issues/issue-41849-variance-req.rs +tests/ui/issues/issue-23891.rs +tests/ui/issues/issue-42552.rs +tests/ui/issues/issue-16922-rpass.rs +tests/ui/issues/issue-7911.rs +tests/ui/issues/issue-22629.rs +tests/ui/issues/issue-18845.rs +tests/ui/issues/issue-23261.rs +tests/ui/issues/issue-3389.rs +tests/ui/issues/issue-21400.rs +tests/ui/issues/issue-7344.rs +tests/ui/issues/issue-22992.rs +tests/ui/issues/issue-15734.rs +tests/ui/issues/issue-13264.rs +tests/ui/issues/issue-3753.rs +tests/ui/issues/issue-5192.rs +tests/ui/issues/issue-33687.rs +tests/ui/issues/issue-2445.rs +tests/ui/issues/issue-24589.rs +tests/ui/issues/issue-16745.rs +tests/ui/issues/issue-50415.rs +tests/ui/issues/issue-16560.rs +tests/ui/issues/issue-36036-associated-type-layout.rs +tests/ui/issues/issue-5280.rs +tests/ui/issues/issue-10802.rs +tests/ui/issues/issue-17734.rs +tests/ui/issues/issue-21922.rs +tests/ui/issues/issue-5666.rs +tests/ui/issues/issue-28498-must-work-ex2.rs +tests/ui/issues/issue-2463.rs +tests/ui/issues/issue-43923.rs +tests/ui/issues/issue-2288.rs +tests/ui/issues/issue-25679.rs +tests/ui/issues/issue-55380.rs +tests/ui/issues/issue-7575.rs +tests/ui/issues/issue-24533.rs +tests/ui/issues/issue-16151.rs +tests/ui/issues/issue-10718.rs +tests/ui/issues/issue-3574.rs +tests/ui/issues/issue-6318.rs +tests/ui/issues/issue-22346.rs +tests/ui/issues/issue-43910.rs +tests/ui/issues/issue-7660.rs +tests/ui/issues/issue-42210.rs +tests/ui/issues/issue-53843.rs +tests/ui/issues/issue-30615.rs +tests/ui/issues/issue-54696.rs +tests/ui/issues/issue-29071-2.rs +tests/ui/issues/issue-16648.rs +tests/ui/issues/issue-42453.rs +tests/ui/issues/issue-27401-dropflag-reinit.rs +tests/ui/issues/issue-17897.rs +tests/ui/issues/issue-23491.rs +tests/ui/issues/issue-5988.rs +tests/ui/issues/issue-10683.rs +tests/ui/issues/issue-41888.rs +tests/ui/issues/issue-43853.rs +tests/ui/issues/issue-10806.rs +tests/ui/issues/issue-3091.rs +tests/ui/issues/issue-2895.rs +tests/ui/issues/issue-4875.rs +tests/ui/issues/issue-8248.rs +tests/ui/issues/issue-2445-b.rs +tests/ui/issues/issue-13808.rs +tests/ui/issues/issue-61475.rs +tests/ui/issues/issue-16774.rs +tests/ui/issues/issue-19135.rs +tests/ui/issues/issue-17877.rs +tests/ui/issues/issue-6130.rs +tests/ui/issues/issue-16530.rs +tests/ui/issues/issue-30371.rs +tests/ui/issues/issue-8783.rs +tests/ui/issues/issue-4252.rs +tests/ui/issues/issue-5997-outer-generic-parameter/issue-5997.rs +tests/ui/issues/issue-49854.rs +tests/ui/issues/issue-19811-escape-unicode.rs +tests/ui/issues/issue-14393.rs +tests/ui/issues/issue-8391.rs +tests/ui/issues/issue-20676.rs +tests/ui/issues/issue-26655.rs +tests/ui/issues/issue-76042.rs +tests/ui/issues/issue-13323.rs +tests/ui/issues/issue-9918.rs +tests/ui/issues/issue-31299.rs +tests/ui/issues/issue-24086.rs +tests/ui/issues/issue-15444.rs tests/ui/binding/func-arg-incomplete-pattern.rs -tests/ui/binding/pat-tuple-6.rs -tests/ui/binding/pattern-in-closure.rs -tests/ui/binding/fn-pattern-expected-type.rs -tests/ui/binding/zero_sized_subslice_match.rs -tests/ui/binding/match-naked-record-expr.rs -tests/ui/binding/match-in-macro.rs -tests/ui/binding/match-var-hygiene.rs -tests/ui/binding/pat-tuple-2.rs -tests/ui/binding/match-bot-2.rs -tests/ui/binding/expr-match.rs -tests/ui/binding/pat-tuple-7.rs -tests/ui/binding/shadow.rs -tests/ui/binding/if-let.rs -tests/ui/binding/expr-match-unique.rs -tests/ui/binding/pat-tuple-5.rs -tests/ui/binding/pat-tuple-3.rs -tests/ui/binding/match-unsized.rs -tests/ui/binding/range-inclusive-pattern-precedence.rs tests/ui/binding/bind-field-short-with-modifiers.rs -tests/ui/binding/borrowed-ptr-pattern-option.rs -tests/ui/binding/fat-arrow-match.rs -tests/ui/binding/match-ref-unsized.rs -tests/ui/binding/match-enum-struct-0.rs -tests/ui/binding/multi-let.rs -tests/ui/binding/match-unique-bind.rs -tests/ui/binding/inferred-suffix-in-pattern-range.rs -tests/ui/binding/borrowed-ptr-pattern-2.rs -tests/ui/binding/match-vec-rvalue.rs -tests/ui/binding/match-pattern-lit.rs -tests/ui/binding/match-struct-0.rs -tests/ui/binding/expr-match-generic.rs -tests/ui/binding/borrowed-ptr-pattern-infallible.rs -tests/ui/binding/or-pattern.rs -tests/ui/binding/simple-generic-match.rs -tests/ui/binding/match-naked-record.rs -tests/ui/binding/optional_comma_in_match_arm.rs -tests/ui/binding/match-ref-binding-mut.rs -tests/ui/binding/pattern-bound-var-in-for-each.rs -tests/ui/binding/order-drop-with-match.rs -tests/ui/binding/match-beginning-vert.rs -tests/ui/binding/match-byte-array-patterns.rs -tests/ui/binding/match-ref-binding-in-guard-3256.rs -tests/ui/binding/borrowed-ptr-pattern-3.rs -tests/ui/binding/match-implicit-copy-unique.rs -tests/ui/binding/exhaustive-bool-match-sanity.rs -tests/ui/binding/func-arg-ref-pattern.rs -tests/ui/binding/match-borrowed_str.rs -tests/ui/binding/expr-match-panic-all.rs -tests/ui/binding/match-ref-binding.rs -tests/ui/binding/match-arm-statics.rs -tests/ui/binding/match-phi.rs -tests/ui/binding/fn-pattern-expected-type-2.rs -tests/ui/binding/empty-types-in-patterns.rs -tests/ui/binding/fn-arg-incomplete-pattern-drop-order.rs -tests/ui/binding/match-value-binding-in-guard-3291.rs -tests/ui/binding/let-destruct-ref.rs -tests/ui/binding/pat-tuple-4.rs -tests/ui/binding/match-bot.rs -tests/ui/binding/match-tag.rs -tests/ui/binding/match-ref-binding-mut-option.rs -tests/ui/binding/match-vec-alternatives.rs -tests/ui/binding/use-uninit-match2.rs -tests/ui/binding/match-range-static.rs -tests/ui/binding/match-reassign.rs -tests/ui/binding/match-pipe-binding.rs -tests/ui/binding/mut-in-ident-patterns.rs -tests/ui/binding/match-larger-const.rs -tests/ui/binding/let-assignability.rs -tests/ui/binding/match-pattern-bindings.rs -tests/ui/catch-unwind-bang.rs -tests/ui/last-use-in-cap-clause.rs -tests/ui/artificial-block.rs -tests/ui/nul-characters.rs -tests/ui/impl-inherent-non-conflict.rs -tests/ui/empty-allocation-rvalue-non-null.rs -tests/ui/return/ret-bang.rs -tests/ui/return/return-nil.rs -tests/ui/borrowck/borrowck-uniq-via-ref.rs -tests/ui/borrowck/two-phase-multiple-activations.rs -tests/ui/borrowck/borrowck-closures-two-imm.rs -tests/ui/borrowck/borrowck-lend-args.rs -tests/ui/borrowck/two-phase-bin-ops.rs -tests/ui/borrowck/borrowck-use-mut-borrow-rpass.rs -tests/ui/borrowck/issue-46095.rs -tests/ui/borrowck/borrowck-mut-vec-as-imm-slice.rs -tests/ui/borrowck/two-phase-method-receivers.rs -tests/ui/borrowck/lazy-init.rs -tests/ui/borrowck/borrowck-closures-slice-patterns-ok.rs -tests/ui/borrowck/borrowck-rvalues-mutable.rs -tests/ui/borrowck/two-phase-control-flow-split-before-activation.rs -tests/ui/borrowck/borrowck-scope-of-deref-issue-4666.rs -tests/ui/borrowck/two-phase-baseline.rs -tests/ui/borrowck/borrowck-unsafe-static-mutable-borrows.rs -tests/ui/borrowck/borrowck-move-by-capture-ok.rs -tests/ui/borrowck/borrowck-freeze-frozen-mut.rs -tests/ui/borrowck/issue-52967-edition-2018-needs-two-phase-borrows.rs -tests/ui/borrowck/borrowck-pat-reassign-no-binding.rs -tests/ui/borrowck/borrowck-unused-mut-locals.rs -tests/ui/borrowck/borrowck-box-sensitivity.rs -tests/ui/borrowck/borrowck-trait-lifetime.rs -tests/ui/borrowck/issue-51348-multi-ref-mut-in-guard.rs -tests/ui/borrowck/borrowck-assign-to-subfield.rs -tests/ui/borrowck/issue-23338-params-outlive-temps-of-body.rs -tests/ui/borrowck/borrowck-binding-mutbl.rs -tests/ui/borrowck/borrowck-multiple-borrows-interior-boxes.rs -tests/ui/borrowck/borrowck-slice-pattern-element-loan-rpass.rs -tests/ui/borrowck/borrowck-borrow-from-expr-block.rs -tests/ui/borrowck/issue-29166.rs -tests/ui/borrowck/borrowck-static-item-in-fn.rs -tests/ui/borrowck/fsu-moves-and-copies.rs -tests/ui/borrowck/borrowck-univariant-enum.rs -tests/ui/borrowck/borrowck-mut-uniq.rs -tests/ui/borrowck/borrowck-field-sensitivity-rpass.rs -tests/ui/borrowck/borrowck-pat-enum.rs -tests/ui/borrowck/borrowck-fixed-length-vecs.rs -tests/ui/borrowck/borrowck-borrow-of-mut-base-ptr-safe.rs -tests/ui/unboxed-closures/unboxed-closures-extern-fn-hr.rs -tests/ui/unboxed-closures/unboxed-closures-infer-fnonce.rs -tests/ui/unboxed-closures/unboxed-closures-infer-fnonce-move.rs -tests/ui/unboxed-closures/unboxed-closures-sugar-object.rs -tests/ui/unboxed-closures/unboxed-closures-direct-sugary-call.rs -tests/ui/unboxed-closures/unboxed-closures-prelude.rs -tests/ui/unboxed-closures/unboxed-closures-blanket-fn-mut.rs -tests/ui/unboxed-closures/unboxed-closures-boxed.rs -tests/ui/unboxed-closures/unboxed-closures-all-traits.rs -tests/ui/unboxed-closures/unboxed-closures-drop.rs -tests/ui/unboxed-closures/unboxed-closures-call-sugar-object-autoderef.rs -tests/ui/unboxed-closures/unboxed-closures-infer-arg-types-from-expected-object-type.rs -tests/ui/unboxed-closures/unboxed-closures-move-some-upvars-in-by-ref-closure.rs -tests/ui/unboxed-closures/unboxed-closures-infer-fnmut.rs -tests/ui/unboxed-closures/unboxed-closures-fnmut-as-fnonce.rs -tests/ui/unboxed-closures/unboxed-closures-infer-upvar.rs -tests/ui/unboxed-closures/unboxed-closures-unique-type-id.rs -tests/ui/unboxed-closures/unboxed-closures-call-sugar-object.rs -tests/ui/unboxed-closures/type-id-higher-rank.rs -tests/ui/unboxed-closures/issue-18661.rs -tests/ui/unboxed-closures/unboxed-closures-manual-impl.rs -tests/ui/unboxed-closures/issue-18652.rs -tests/ui/unboxed-closures/unboxed-closures-simple.rs -tests/ui/unboxed-closures/unboxed-closures-infer-arg-types-from-expected-bound.rs -tests/ui/unboxed-closures/unboxed-closures-zero-args.rs -tests/ui/unboxed-closures/unboxed-closures-infer-arg-types-w-bound-regs-from-expected-bound.rs -tests/ui/unboxed-closures/unboxed-closures-infer-kind.rs -tests/ui/unboxed-closures/unboxed-closures-single-word-env.rs -tests/ui/unboxed-closures/unboxed-closures-blanket-fn.rs -tests/ui/unboxed-closures/unboxed-closures-move-mutable.rs -tests/ui/unboxed-closures/unboxed-closures-fn-as-fnmut-and-fnonce.rs -tests/ui/unboxed-closures/unboxed-closures-infer-fnmut-move.rs -tests/ui/unboxed-closures/unboxed-closures-monomorphization.rs -tests/ui/unboxed-closures/unboxed-closures-infer-fnmut-calling-fnmut.rs -tests/ui/unboxed-closures/unboxed-closures-extern-fn.rs -tests/ui/unboxed-closures/unboxed-closures-infer-recursive-fn.rs -tests/ui/unboxed-closures/unboxed-closures-by-ref.rs -tests/ui/unboxed-closures/unboxed-closures-call-fn-autoderef.rs -tests/ui/unboxed-closures/unboxed-closures-move-from-projection-issue-30046.rs -tests/ui/unboxed-closures/unboxed-closures-counter-not-moved.rs -tests/ui/unboxed-closures/unboxed-closures-call-sugar-autoderef.rs -tests/ui/unboxed-closures/unboxed-closures-generic.rs -tests/ui/unboxed-closures/unboxed-closures-infer-explicit-call-early.rs -tests/ui/unboxed-closures/unboxed-closures-static-call-fn-once.rs -tests/ui/compiletest-self-test/test-aux-bin.rs -tests/ui/explicit-i-suffix.rs -tests/ui/inner-attrs-on-impl.rs -tests/ui/out-pointer-aliasing.rs -tests/ui/wrong-hashset-issue-42918.rs -tests/ui/as-precedence.rs -tests/ui/nullable-pointer-iotareduction.rs -tests/ui/generic-associated-types/iterable.rs -tests/ui/generic-associated-types/issue-76826.rs -tests/ui/generic-associated-types/streaming_iterator.rs -tests/ui/generic-associated-types/const-generics-gat-in-trait-return-type-2.rs -tests/ui/generic-associated-types/const-generics-gat-in-trait-return-type-1.rs -tests/ui/generic-associated-types/collections.rs -tests/ui/generic-associated-types/const-generics-gat-in-trait-return-type-3.rs -tests/ui/generic-associated-types/generic-associated-type-bounds.rs -tests/ui/destructuring-assignment/tuple_destructure.rs -tests/ui/destructuring-assignment/slice_destructure.rs -tests/ui/destructuring-assignment/nested_destructure.rs -tests/ui/destructuring-assignment/struct_destructure.rs -tests/ui/destructuring-assignment/warn-unused-duplication.rs -tests/ui/destructuring-assignment/drop-order.rs -tests/ui/destructuring-assignment/tuple_struct_destructure.rs +tests/ui/binding/match-ref-binding.rs +tests/ui/binding/match-arm-statics.rs +tests/ui/binding/shadow.rs +tests/ui/binding/underscore-prefixed-function-argument.rs +tests/ui/binding/use-uninit-match.rs +tests/ui/binding/match-reassign.rs +tests/ui/binding/match-range-static.rs +tests/ui/binding/expr-match-generic.rs +tests/ui/binding/match-byte-array-patterns.rs +tests/ui/binding/match-bot-2.rs +tests/ui/binding/nullary-or-pattern.rs +tests/ui/binding/zero_sized_subslice_match.rs +tests/ui/binding/match-range-infer.rs +tests/ui/binding/pattern-in-closure.rs +tests/ui/binding/exhaustive-bool-match-sanity.rs +tests/ui/binding/simple-generic-match.rs +tests/ui/binding/multi-let.rs +tests/ui/binding/expr-match.rs +tests/ui/binding/match-enum-struct-0.rs +tests/ui/binding/borrowed-ptr-pattern-option.rs +tests/ui/binding/match-var-hygiene.rs +tests/ui/binding/fat-arrow-match.rs +tests/ui/binding/range-inclusive-pattern-precedence.rs +tests/ui/binding/fn-pattern-expected-type-2.rs +tests/ui/binding/empty-types-in-patterns.rs +tests/ui/binding/pattern-bound-var-in-for-each.rs +tests/ui/binding/pat-ranges.rs +tests/ui/binding/match-bot.rs +tests/ui/binding/match-ref-unsized.rs +tests/ui/binding/match-join.rs +tests/ui/binding/match-naked-record.rs +tests/ui/binding/expr-match-unique.rs +tests/ui/binding/pat-tuple-7.rs +tests/ui/binding/match-tag.rs +tests/ui/binding/expr-match-panic.rs +tests/ui/binding/match-vec-alternatives.rs +tests/ui/binding/match-enum-struct-1.rs +tests/ui/binding/match-unique-bind.rs +tests/ui/binding/pat-tuple-2.rs +tests/ui/binding/irrefutable-slice-patterns.rs +tests/ui/binding/pat-tuple-4.rs +tests/ui/binding/let-destruct-ref.rs +tests/ui/binding/match-struct-0.rs +tests/ui/binding/expr-match-panic-all.rs +tests/ui/binding/borrowed-ptr-pattern-3.rs +tests/ui/binding/match-pattern-bindings.rs +tests/ui/binding/nil-pattern.rs +tests/ui/binding/let-var-hygiene.rs +tests/ui/binding/optional_comma_in_match_arm.rs +tests/ui/binding/let-assignability.rs +tests/ui/binding/match-phi.rs +tests/ui/binding/nested-pattern.rs +tests/ui/binding/borrowed-ptr-pattern-2.rs +tests/ui/binding/pat-tuple-5.rs +tests/ui/binding/match-ref-binding-mut.rs +tests/ui/binding/func-arg-wild-pattern.rs +tests/ui/binding/borrowed-ptr-pattern-infallible.rs +tests/ui/binding/match-in-macro.rs +tests/ui/binding/match-ref-binding-mut-option.rs +tests/ui/binding/match-unsized.rs +tests/ui/binding/match-value-binding-in-guard-3291.rs +tests/ui/binding/order-drop-with-match.rs +tests/ui/binding/pat-tuple-6.rs +tests/ui/binding/match-beginning-vert.rs +tests/ui/binding/match-range.rs +tests/ui/binding/borrowed-ptr-pattern.rs +tests/ui/binding/or-pattern.rs +tests/ui/binding/fn-arg-incomplete-pattern-drop-order.rs +tests/ui/binding/nested-matchs.rs +tests/ui/binding/match-borrowed_str.rs +tests/ui/binding/expr-match-generic-unique1.rs +tests/ui/binding/match-str.rs +tests/ui/binding/match-vec-rvalue.rs +tests/ui/binding/pat-tuple-1.rs +tests/ui/binding/fn-pattern-expected-type.rs +tests/ui/binding/pat-tuple-3.rs +tests/ui/binding/mut-in-ident-patterns.rs +tests/ui/binding/match-larger-const.rs +tests/ui/binding/func-arg-ref-pattern.rs +tests/ui/binding/match-naked-record-expr.rs +tests/ui/binding/inferred-suffix-in-pattern-range.rs +tests/ui/binding/match-pipe-binding.rs +tests/ui/binding/use-uninit-match2.rs +tests/ui/binding/expr-match-generic-unique2.rs +tests/ui/binding/match-ref-binding-in-guard-3256.rs +tests/ui/binding/match-pattern-lit.rs +tests/ui/binding/if-let.rs +tests/ui/binding/match-implicit-copy-unique.rs +tests/ui/binding/match-with-ret-arm.rs +tests/ui/self/arbitrary_self_types_pointers_and_wrappers.rs +tests/ui/self/explicit-self-generic.rs +tests/ui/self/string-self-append.rs +tests/ui/self/ufcs-explicit-self.rs +tests/ui/self/dyn-compatibility-sized-self-return-Self.rs +tests/ui/self/move-self.rs +tests/ui/self/arbitrary_self_types_recursive_receiver.rs +tests/ui/self/arbitrary_self_types_silly.rs +tests/ui/self/self-in-mut-slot-immediate-value.rs +tests/ui/self/arbitrary_self_types_stdlib_pointers.rs +tests/ui/self/arbitrary_self_types_raw_pointer_trait.rs +tests/ui/self/explicit-self-objects-uniq.rs +tests/ui/self/explicit-self.rs +tests/ui/self/arbitrary_self_types_trait.rs +tests/ui/self/self-in-mut-slot-default-method.rs +tests/ui/self/arbitrary_self_types_raw_pointer_struct.rs +tests/ui/self/arbitrary_self_types_nested.rs +tests/ui/self/objects-owned-object-owned-method.rs +tests/ui/self/arbitrary_self_types_struct.rs +tests/ui/self/where-for-self.rs +tests/ui/self/conflicting_inner.rs +tests/ui/self/builtin-superkinds-self-type.rs +tests/ui/self/self-shadowing-import.rs +tests/ui/self/conflicting_inner2.rs +tests/ui/self/uniq-self-in-mut-slot.rs +tests/ui/self/dyn-compatibility-sized-self-by-value-self.rs +tests/ui/self/self-re-assign.rs +tests/ui/self/dyn-compatibility-sized-self-generic-method.rs +tests/ui/self/by-value-self-in-mut-slot.rs +tests/ui/self/self-impl-2.rs +tests/ui/self/arbitrary_self_types_unsized_struct.rs +tests/ui/allocator/alloc-shrink-oob-read.rs +tests/ui/allocator/weak-uninhabited-type.rs +tests/ui/allocator/dyn-compatible.rs +tests/ui/allocator/empty-alloc-nonnull-guarantee.rs +tests/ui/consts/std/iter.rs +tests/ui/consts/const-unsafe-fn.rs +tests/ui/consts/mut-ptr-to-static.rs +tests/ui/consts/const-enum-structlike.rs +tests/ui/consts/const-block-item.rs +tests/ui/consts/const-endianess.rs +tests/ui/consts/deref_in_pattern.rs +tests/ui/consts/const_let_eq_float.rs +tests/ui/consts/const_let_promote.rs +tests/ui/consts/const_constructor/const-construct-call.rs +tests/ui/consts/const_constructor/const_constructor_qpath.rs +tests/ui/consts/const-int-sign-rpass.rs +tests/ui/consts/is_val_statically_known.rs +tests/ui/consts/promote_borrowed_field.rs +tests/ui/consts/const-enum-tuplestruct.rs +tests/ui/consts/check_const-feature-gated.rs +tests/ui/consts/const-index-feature-gate.rs +tests/ui/consts/write_to_mut_ref_dest.rs +tests/ui/consts/issue-67640.rs +tests/ui/consts/promoted_const_call4.rs +tests/ui/consts/const-int-wrapping-rpass.rs +tests/ui/consts/const-ptr-nonnull-rpass.rs +tests/ui/consts/packed_pattern.rs +tests/ui/consts/const-int-arithmetic.rs +tests/ui/consts/static-raw-pointer-interning2.rs +tests/ui/consts/const-region-ptrs-noncopy.rs +tests/ui/consts/return-in-const-fn.rs +tests/ui/consts/const_let_eq.rs +tests/ui/consts/packed_pattern2.rs +tests/ui/consts/const-nullary-univariant-enum.rs +tests/ui/consts/repeat_match.rs +tests/ui/consts/const-block-item-macro-codegen.rs +tests/ui/consts/issue-17074.rs +tests/ui/consts/issue-70773-mir-typeck-lt-norm.rs +tests/ui/consts/issue-105536-const-val-roundtrip-ptr-eq.rs +tests/ui/consts/const-int-conversion-rpass.rs +tests/ui/consts/const-bound.rs +tests/ui/consts/const-int-overflowing-rpass.rs +tests/ui/consts/const-extern-function.rs +tests/ui/consts/static-mut-refs.rs +tests/ui/consts/static-raw-pointer-interning.rs +tests/ui/consts/const-enum-struct.rs +tests/ui/consts/issue-58435-ice-with-assoc-const.rs +tests/ui/consts/issue-21721.rs +tests/ui/consts/issue-broken-mir.rs +tests/ui/consts/const-expr-in-vec-repeat.rs +tests/ui/consts/const-big-enum.rs +tests/ui/consts/rvalue-static-promotion.rs +tests/ui/consts/const-vec-syntax.rs +tests/ui/consts/issue-44255.rs +tests/ui/consts/const-enum-struct2.rs +tests/ui/consts/const-byte-str-cast.rs +tests/ui/consts/const-int-saturating-arith.rs +tests/ui/consts/const_fn_unsize.rs +tests/ui/consts/const-bitshift-rhs-inference.rs +tests/ui/consts/const-int-arithmetic-overflow.rs +tests/ui/consts/min_const_fn/allow_const_fn_ptr_run_pass.rs +tests/ui/consts/zst_no_llvm_alloc.rs +tests/ui/consts/const-const.rs +tests/ui/consts/ice-48279.rs +tests/ui/consts/const-int-rotate-rpass.rs +tests/ui/consts/const_discriminant.rs +tests/ui/consts/const-fn-method.rs +tests/ui/consts/const-fields-and-indexing.rs +tests/ui/consts/issue-19244.rs +tests/ui/consts/const-enum-tuplestruct2.rs +tests/ui/consts/const-fn-val.rs +tests/ui/consts/issue-46553.rs +tests/ui/consts/const-int-pow-rpass.rs +tests/ui/consts/match-const-fn-structs.rs +tests/ui/consts/const-unit-struct.rs +tests/ui/consts/const-adt-align-mismatch.rs +tests/ui/consts/issue-23833.rs +tests/ui/consts/const-negation.rs +tests/ui/consts/trait_specialization.rs +tests/ui/consts/const-fn.rs +tests/ui/consts/const-fn-nested.rs +tests/ui/consts/const-ptr-unique-rpass.rs +tests/ui/consts/bswap-const.rs +tests/ui/consts/const-enum-tuple2.rs +tests/ui/consts/assoc-const.rs +tests/ui/consts/issue-69532.rs +tests/ui/consts/const-vec-of-fns.rs +tests/ui/consts/issue-29914-3.rs +tests/ui/consts/const-cast-ptr-int.rs +tests/ui/consts/const-needs_drop.rs +tests/ui/consts/const-blocks/const-repeat.rs +tests/ui/consts/const-blocks/run-pass.rs +tests/ui/consts/issue-29914-2.rs +tests/ui/consts/const-cast.rs +tests/ui/consts/issue-90762.rs +tests/ui/consts/const-extern-fn/const-extern-fn.rs +tests/ui/consts/signed_enum_discr.rs +tests/ui/consts/issue-33537.rs +tests/ui/consts/issue-67862.rs +tests/ui/consts/const-size_of-align_of.rs +tests/ui/consts/const-enum-byref-self.rs +tests/ui/consts/const-pattern-variant.rs +tests/ui/consts/const-enum-vector.rs +tests/ui/consts/promotion-mutable-ref.rs +tests/ui/consts/const-eval/heap/alloc_intrinsic_zero_sized.rs +tests/ui/consts/const-eval/heap/alloc_intrinsic_transient.rs +tests/ui/consts/const-eval/heap/dealloc_intrinsic_zero_sized.rs +tests/ui/consts/const-eval/strlen.rs +tests/ui/consts/const-eval/const_fn_ptr.rs +tests/ui/consts/const-eval/nrvo.rs +tests/ui/consts/const-eval/issue-64970.rs +tests/ui/consts/const-eval/issue-64908.rs +tests/ui/consts/const-eval/enum_discr.rs +tests/ui/consts/const-eval/write-to-uninhabited-enum-variant.rs +tests/ui/consts/load-preserves-partial-init.rs +tests/ui/consts/const-trait-to-trait.rs +tests/ui/consts/const-enum-vec-index.rs +tests/ui/consts/const-binops.rs +tests/ui/consts/const-enum-cast.rs +tests/ui/consts/const-deref.rs +tests/ui/consts/const-variant-count.rs +tests/ui/consts/issue-67641.rs +tests/ui/consts/cast-discriminant-zst-enum.rs +tests/ui/consts/const-block-non-item-statement-3.rs +tests/ui/consts/transmute-const.rs +tests/ui/consts/consts-in-patterns.rs +tests/ui/consts/const-vecs-and-slices.rs +tests/ui/consts/issue-66345.rs +tests/ui/consts/const_in_pattern/accept_structural.rs +tests/ui/consts/const_in_pattern/null-raw-ptr-issue-119270.rs +tests/ui/consts/const_in_pattern/issue-73431.rs +tests/ui/consts/const_in_pattern/custom-eq-branch-pass.rs +tests/ui/consts/const_in_pattern/issue-62614.rs +tests/ui/consts/const-enum-ptr.rs +tests/ui/consts/const-contents.rs +tests/ui/consts/const-repeated-values.rs +tests/ui/consts/const-tuple-struct.rs +tests/ui/consts/issue-27890.rs +tests/ui/consts/const-enum-byref.rs +tests/ui/consts/issue-37222.rs +tests/ui/consts/const-enum-tuple.rs +tests/ui/consts/issue-67529.rs +tests/ui/consts/const-err-rpass.rs +tests/ui/consts/const-fn-type-name-any.rs +tests/ui/consts/const-enum-vec-ptr.rs +tests/ui/consts/issue-29927-1.rs +tests/ui/consts/const-meth-pattern.rs +tests/ui/consts/const-nullary-enum.rs +tests/ui/consts/issue-23968-const-not-overflow.rs +tests/ui/consts/const-region-ptrs.rs +tests/ui/consts/const-rec-and-tup.rs +tests/ui/consts/issue-64059.rs +tests/ui/consts/issue-17718-borrow-interior.rs +tests/ui/consts/const-block-non-item-statement-rpass.rs +tests/ui/consts/offset.rs +tests/ui/consts/const-struct.rs +tests/ui/consts/const-negative.rs +tests/ui/consts/const.rs +tests/ui/consts/const-typeid-of-rpass.rs +tests/ui/consts/issue-17756.rs +tests/ui/consts/issue-29927.rs +tests/ui/consts/locals-in-const-fn.rs +tests/ui/consts/miri_unleashed/slice_eq.rs +tests/ui/consts/issue-37991.rs +tests/ui/consts/references.rs +tests/ui/consts/const-block.rs +tests/ui/consts/mozjs-error.rs +tests/ui/consts/issue-13902.rs +tests/ui/consts/control-flow/short-circuit.rs +tests/ui/consts/control-flow/short-circuit-let.rs +tests/ui/consts/control-flow/basics.rs +tests/ui/consts/issue-29914.rs +tests/ui/consts/const-fn-type-name.rs +tests/ui/consts/const-autoderef.rs +tests/ui/consts/tuple-struct-constructors.rs +tests/ui/consts/const-expr-in-fixed-length-vec.rs +tests/ui/consts/non-scalar-cast.rs +tests/ui/consts/const_unsafe_unreachable.rs +tests/ui/deprecation/deprecated-macro_escape-inner.rs +tests/ui/try-trait/try-as-monad.rs +tests/ui/try-trait/try-operator-expansion-hygiene.rs +tests/ui/try-trait/try-operator-various-contexts.rs +tests/ui/try-trait/try-operator-custom.rs +tests/ui/try-trait/yeet-for-option.rs +tests/ui/try-trait/yeet-for-result.rs +tests/ui/tuple/tup.rs +tests/ui/tuple/nested-index.rs +tests/ui/tuple/tuple-index-fat-types.rs +tests/ui/tuple/one-tuple.rs +tests/ui/tuple/tuple-index.rs +tests/ui/deref-patterns/basic.rs +tests/ui/for-loop-while/foreach-external-iterators-break.rs +tests/ui/for-loop-while/linear-for-loop.rs +tests/ui/for-loop-while/while-let-2.rs +tests/ui/for-loop-while/break.rs +tests/ui/for-loop-while/loop-break-cont.rs +tests/ui/for-loop-while/for-loop-macro.rs +tests/ui/for-loop-while/foreach-external-iterators-loop.rs +tests/ui/for-loop-while/liveness-loop-break.rs +tests/ui/for-loop-while/loop-no-reinit-needed-post-bot.rs +tests/ui/for-loop-while/issue-1257.rs +tests/ui/for-loop-while/loop-labeled-break-value.rs +tests/ui/for-loop-while/loop-break-cont-1.rs +tests/ui/for-loop-while/foreach-external-iterators-hashmap.rs +tests/ui/for-loop-while/break-value.rs +tests/ui/for-loop-while/while-let.rs +tests/ui/for-loop-while/foreach-nested.rs +tests/ui/for-loop-while/long-while.rs +tests/ui/for-loop-while/for-destruct.rs +tests/ui/for-loop-while/for-loop-unconstrained-element-type-i32-fallback.rs +tests/ui/for-loop-while/loop-label-shadowing.rs +tests/ui/for-loop-while/issue-69841.rs +tests/ui/for-loop-while/label_break_value.rs +tests/ui/for-loop-while/while-loop-constraints-2.rs +tests/ui/for-loop-while/while-cont.rs +tests/ui/for-loop-while/foreach-simple-outer-slot.rs +tests/ui/for-loop-while/foreach-external-iterators.rs +tests/ui/for-loop-while/liveness-assign-imm-local-after-loop.rs +tests/ui/for-loop-while/foreach-external-iterators-nested.rs +tests/ui/for-loop-while/for-loop-into-iterator.rs +tests/ui/for-loop-while/loop-diverges.rs +tests/ui/for-loop-while/while.rs +tests/ui/for-loop-while/foreach-external-iterators-hashmap-break-restart.rs +tests/ui/for-loop-while/issue-2216.rs +tests/ui/for-loop-while/labeled-break.rs +tests/ui/for-loop-while/foreach-put-structured.rs +tests/ui/for-loop-while/while-label.rs +tests/ui/for-loop-while/auto-loop.rs +tests/ui/for-loop-while/while-with-break.rs +tests/ui/for-loop-while/for-loop-panic.rs +tests/ui/for-loop-while/while-flow-graph.rs +tests/ui/for-loop-while/for-loop-lifetime-of-unbound-values.rs +tests/ui/for-loop-while/loop-scope.rs +tests/ui/for-loop-while/loop-break-value.rs +tests/ui/for-loop-while/cleanup-rvalue-during-if-and-while.rs +tests/ui/for-loop-while/for-loop-mut-ref-element.rs +tests/ui/for-loop-while/while-prelude-drop.rs +tests/ui/for-loop-while/issue-51345.rs +tests/ui/for-loop-while/for-loop-has-unit-body.rs +tests/ui/for-loop-while/for-loop-goofiness.rs +tests/ui/marker_trait_attr/overlap-permitted-for-annotated-marker-traits.rs +tests/ui/marker_trait_attr/overlap-doesnt-conflict-with-specialization.rs +tests/ui/const-generics/type_of_anon_const.rs +tests/ui/const-generics/dyn-supertraits.rs +tests/ui/const-generics/transmute.rs +tests/ui/const-generics/issues/issue-75299.rs +tests/ui/const-generics/issues/issue-69654-run-pass.rs +tests/ui/const-generics/issues/issue-70125-2.rs +tests/ui/const-generics/issues/issue-70125-1.rs +tests/ui/const-generics/issues/issue-62187-encountered-polymorphic-const.rs +tests/ui/const-generics/issues/issue-61432.rs +tests/ui/const-generics/core-types.rs +tests/ui/const-generics/promotion.rs +tests/ui/const-generics/min_const_generics/macro.rs +tests/ui/const-generics/min_const_generics/type_and_const_defaults.rs +tests/ui/const-generics/min_const_generics/const_fn_in_generics.rs +tests/ui/const-generics/const-arg-in-fn.rs +tests/ui/const-generics/impl-const-generic-struct.rs +tests/ui/const-generics/generic_const_exprs/unop.rs +tests/ui/const-generics/generic_const_exprs/fn_call.rs +tests/ui/const-generics/generic_const_exprs/associated-consts.rs +tests/ui/const-generics/generic_const_exprs/elaborate-trait-pred.rs +tests/ui/const-generics/generic_const_exprs/infer-too-generic.rs +tests/ui/const-generics/generic_const_exprs/division.rs +tests/ui/const-generics/generic_const_exprs/nested_uneval_unification-2.rs +tests/ui/const-generics/generic_const_exprs/less_than.rs +tests/ui/const-generics/generic_const_exprs/nested-abstract-consts-2.rs +tests/ui/const-generics/generic_const_exprs/nested-abstract-consts-1.rs +tests/ui/const-generics/generic_const_exprs/subexprs_are_const_evalutable.rs +tests/ui/const-generics/generic_const_exprs/from-sig.rs +tests/ui/const-generics/generic_const_exprs/nested_uneval_unification-1.rs +tests/ui/const-generics/generic_const_exprs/dyn-compatibility-ok.rs +tests/ui/const-generics/generic_const_exprs/issue-73899.rs +tests/ui/const-generics/type-dependent/simple.rs +tests/ui/const-generics/type-dependent/issue-71805.rs +tests/ui/const-generics/type-dependent/issue-61936.rs +tests/ui/const-generics/type-dependent/issue-63695.rs +tests/ui/const-generics/type-dependent/issue-69816.rs +tests/ui/const-generics/type-dependent/const-arg-in-const-arg.rs +tests/ui/const-generics/type-dependent/issue-70507.rs +tests/ui/const-generics/type-dependent/qpath.rs +tests/ui/const-generics/const-fn-with-const-param.rs +tests/ui/const-generics/slice-const-param.rs +tests/ui/const-generics/const-generic-type_name.rs +tests/ui/const-generics/concrete-const-impl-method.rs +tests/ui/const-generics/defaults/const-default.rs +tests/ui/const-generics/defaults/rp_impl_trait.rs +tests/ui/const-generics/defaults/const-param-in-ty-defaults.rs +tests/ui/const-generics/defaults/complex-unord-param.rs +tests/ui/const-generics/defaults/trait_objects.rs +tests/ui/const-generics/defaults/const-param-as-default-value.rs +tests/ui/const-generics/inhabited-assoc-ty-ice-2.rs +tests/ui/const-generics/inhabited-assoc-ty-ice-1.rs +tests/ui/const-generics/issue-102124.rs +tests/ui/const-generics/coerce_unsized_array.rs +tests/ui/const-generics/early/const-param-hygiene.rs +tests/ui/const-generics/concrete-const-as-fn-arg.rs +tests/ui/const-generics/array-wrapper-struct-ctor.rs +tests/ui/const-generics/uninferred-consts-during-codegen-1.rs +tests/ui/const-generics/uninferred-consts-during-codegen-2.rs +tests/ui/const-generics/infer_arg_from_pat.rs +tests/ui/union/union-nodrop.rs +tests/ui/union/union-align.rs +tests/ui/union/union-trait-impl.rs +tests/ui/union/union-pat-refutability.rs +tests/ui/union/union-drop-assign.rs +tests/ui/union/union-inherent-method.rs +tests/ui/union/union-const-codegen.rs +tests/ui/union/union-const-eval-field.rs +tests/ui/union/union-overwrite.rs +tests/ui/union/union-derive-rpass.rs +tests/ui/union/union-transmute.rs +tests/ui/union/union-generic-rpass.rs +tests/ui/union/union-backcomp.rs +tests/ui/union/union-manuallydrop-rpass.rs +tests/ui/union/union-packed.rs +tests/ui/union/union-nonzero.rs +tests/ui/union/union-macro.rs +tests/ui/union/union-drop.rs tests/ui/dropck/issue-29844.rs -tests/ui/dropck/issue-34053.rs -tests/ui/dropck/issue-28498-ugeh-with-trait-bound.rs +tests/ui/dropck/dropck_traits.rs +tests/ui/dropck/issue-28498-ugeh-with-passed-to-fn.rs tests/ui/dropck/issue-28498-ugeh-with-lifetime-param.rs +tests/ui/dropck/issue-34053.rs tests/ui/dropck/issue-24805-dropck-itemless.rs -tests/ui/dropck/dropck_traits.rs +tests/ui/dropck/issue-28498-ugeh-with-trait-bound.rs tests/ui/dropck/cleanup-arm-conditional.rs -tests/ui/dropck/issue-28498-ugeh-with-passed-to-fn.rs +tests/ui/codegen/issue-28950.rs +tests/ui/codegen/issue-16602-2.rs +tests/ui/codegen/issue-79865-llvm-miscompile.rs +tests/ui/codegen/issue-16602-3.rs +tests/ui/codegen/issue-16602-1.rs +tests/ui/codegen/msvc-opt-level-z-no-corruption.rs +tests/ui/codegen/issue-82859-slice-miscompile.rs +tests/ui/codegen/alias-uninit-value.rs +tests/ui/codegen/assign-expr-unit-type.rs +tests/ui/codegen/sret-aliasing-rules.rs +tests/ui/codegen/issue-101585-128bit-repeat.rs +tests/ui/codegen/output-slot-init-vs-noninit.rs +tests/ui/codegen/mono-respects-abi-alignment.rs +tests/ui/codegen/init-large-type.rs +tests/ui/codegen/issue-55976.rs +tests/ui/codegen/StackColoring-not-blowup-stack-issue-40883.rs +tests/ui/codegen/maximal-hir-to-mir-coverage-flag.rs +tests/ui/codegen/issue-63787.rs +tests/ui/codegen/issue-27859.rs +tests/ui/codegen/issue-82833-slice-miscompile.rs +tests/ui/codegen/subtyping-impacts-selection-2.rs +tests/ui/codegen/equal-pointers-unequal/as-cast/inline2.rs +tests/ui/codegen/equal-pointers-unequal/as-cast/segfault.rs +tests/ui/codegen/equal-pointers-unequal/as-cast/inline1.rs +tests/ui/codegen/equal-pointers-unequal/as-cast/zero.rs +tests/ui/codegen/equal-pointers-unequal/strict-provenance/inline2.rs +tests/ui/codegen/equal-pointers-unequal/strict-provenance/segfault.rs +tests/ui/codegen/equal-pointers-unequal/strict-provenance/inline1.rs +tests/ui/codegen/equal-pointers-unequal/strict-provenance/zero.rs +tests/ui/codegen/equal-pointers-unequal/exposed-provenance/inline2.rs +tests/ui/codegen/equal-pointers-unequal/exposed-provenance/segfault.rs +tests/ui/codegen/equal-pointers-unequal/exposed-provenance/inline1.rs +tests/ui/codegen/equal-pointers-unequal/exposed-provenance/zero.rs +tests/ui/codegen/rvalue-mut-ref-box-drop.rs +tests/ui/codegen/subtyping-impacts-selection-1.rs +tests/ui/codegen/cfguard-run.rs +tests/ui/codegen/shift-right-operand-mutation.rs +tests/ui/link-native-libs/lib-defaults.rs +tests/ui/regions/regions-infer-borrow-scope-within-loop-ok.rs +tests/ui/regions/regions-simple.rs +tests/ui/regions/regions-self-impls.rs +tests/ui/regions/regions-borrow-uniq.rs +tests/ui/regions/regions-addr-of-interior-of-unique-box.rs +tests/ui/regions/regions-early-bound-used-in-bound-method.rs +tests/ui/regions/regions-infer-borrow-scope-addr-of.rs +tests/ui/regions/regions-dependent-let-ref.rs +tests/ui/regions/regions-infer-contravariance-due-to-ret.rs +tests/ui/regions/regions-borrow-evec-uniq.rs +tests/ui/regions/regions-self-in-enums.rs +tests/ui/regions/regions-early-bound-used-in-bound.rs +tests/ui/regions/regions-escape-into-other-fn.rs +tests/ui/regions/regions-refcell.rs +tests/ui/regions/regions-infer-borrow-scope-view.rs +tests/ui/regions/regions-infer-static-from-proc.rs +tests/ui/regions/regions-trait-object-1.rs +tests/ui/regions/regions-creating-enums2.rs +tests/ui/regions/regions-addr-of-ret.rs +tests/ui/regions/regions-bot.rs +tests/ui/regions/regions-relate-bound-regions-on-closures-to-inference-variables.rs +tests/ui/regions/issue-6157.rs +tests/ui/regions/regions-creating-enums5.rs +tests/ui/regions/regions-lifetime-static-items-enclosing-scopes.rs +tests/ui/regions/regions-return-interior-of-option.rs +tests/ui/regions/regions-close-over-type-parameter-successfully.rs +tests/ui/regions/regions-infer-borrow-scope.rs +tests/ui/regions/rcvr-borrowed-to-region.rs +tests/ui/regions/regions-params.rs +tests/ui/regions/regions-reassign-let-bound-pointer.rs +tests/ui/regions/owned-implies-static.rs +tests/ui/regions/regions-infer-call.rs +tests/ui/regions/regions-infer-reborrow-ref-mut-recurse.rs +tests/ui/regions/regions-infer-call-2.rs +tests/ui/regions/regions-early-bound-trait-param.rs +tests/ui/regions/issue-5243.rs +tests/ui/regions/regions-borrow-at.rs +tests/ui/regions/regions-early-bound-used-in-type-param.rs +tests/ui/regions/regions-dependent-addr-of.rs +tests/ui/regions/regions-copy-closure.rs +tests/ui/regions/regions-borrow-evec-fixed.rs +tests/ui/regions/init-res-into-things.rs +tests/ui/regions/regions-static-closure.rs +tests/ui/regions/regions-reassign-match-bound-pointer.rs +tests/ui/regions/regions-dependent-autofn.rs +tests/ui/regions/regions-dependent-autoslice.rs +tests/ui/regions/regions-fn-subtyping-2.rs +tests/ui/regions/regions-lifetime-nonfree-late-bound.rs +tests/ui/regions/regions-mock-codegen.rs +tests/ui/regions/regions-static-bound-rpass.rs +tests/ui/regions/regions-fn-subtyping.rs +tests/ui/inline-const/const-expr-macro.rs +tests/ui/inline-const/const-expr-lifetime.rs +tests/ui/inline-const/const-expr-basic.rs +tests/ui/inline-const/const-expr-reference.rs +tests/ui/autoref-autoderef/auto-ref.rs +tests/ui/autoref-autoderef/autoref-intermediate-types-issue-3585.rs +tests/ui/autoref-autoderef/autoderef-vec-to-slice-by-value.rs +tests/ui/autoref-autoderef/autoderef-method.rs +tests/ui/autoref-autoderef/autoderef-privacy.rs +tests/ui/autoref-autoderef/autoderef-method-twice.rs +tests/ui/autoref-autoderef/autoderef-method-on-trait.rs +tests/ui/autoref-autoderef/autoderef-and-borrow-method-receiver.rs +tests/ui/autoref-autoderef/auto-ref-bounded-ty-param.rs +tests/ui/autoref-autoderef/autoderef-method-twice-but-not-thrice.rs +tests/ui/autoref-autoderef/autoderef-method-priority.rs +tests/ui/autoref-autoderef/auto-ref-sliceable.rs +tests/ui/threads-sendsync/sync-send-in-std.rs +tests/ui/threads-sendsync/task-comm-1.rs +tests/ui/threads-sendsync/task-comm-10.rs +tests/ui/threads-sendsync/tls-dtors-are-run-in-a-static-binary.rs +tests/ui/threads-sendsync/task-comm-16.rs +tests/ui/threads-sendsync/tls-try-with.rs +tests/ui/threads-sendsync/issue-29488.rs +tests/ui/threads-sendsync/task-comm-0.rs +tests/ui/threads-sendsync/task-comm-9.rs +tests/ui/threads-sendsync/sendfn-is-a-block.rs +tests/ui/threads-sendsync/yield1.rs +tests/ui/threads-sendsync/spawning-with-debug.rs +tests/ui/threads-sendsync/task-comm-11.rs +tests/ui/threads-sendsync/threads.rs +tests/ui/threads-sendsync/yield2.rs +tests/ui/threads-sendsync/child-outlives-parent.rs +tests/ui/threads-sendsync/eprint-on-tls-drop.rs +tests/ui/threads-sendsync/yield.rs +tests/ui/threads-sendsync/sync-send-iterators-in-libcollections.rs +tests/ui/threads-sendsync/issue-9396.rs +tests/ui/threads-sendsync/task-life-0.rs +tests/ui/threads-sendsync/issue-4448.rs +tests/ui/threads-sendsync/task-comm-13.rs +tests/ui/threads-sendsync/std-sync-right-kind-impls.rs +tests/ui/threads-sendsync/unwind-resource.rs +tests/ui/threads-sendsync/spawn-fn.rs +tests/ui/threads-sendsync/sendfn-spawn-with-fn-arg.rs +tests/ui/threads-sendsync/send_str_hashmap.rs +tests/ui/threads-sendsync/trivial-message.rs +tests/ui/threads-sendsync/sendable-class.rs +tests/ui/threads-sendsync/send-is-not-static-par-for.rs +tests/ui/threads-sendsync/send-resource.rs +tests/ui/threads-sendsync/task-stderr.rs +tests/ui/threads-sendsync/sync-send-iterators-in-libcore.rs +tests/ui/threads-sendsync/clone-with-exterior.rs +tests/ui/threads-sendsync/task-comm-7.rs +tests/ui/threads-sendsync/tcp-stress.rs +tests/ui/threads-sendsync/task-comm-12.rs +tests/ui/threads-sendsync/spawn2.rs +tests/ui/threads-sendsync/issue-24313.rs +tests/ui/threads-sendsync/task-comm-3.rs +tests/ui/threads-sendsync/tls-init-on-init.rs +tests/ui/threads-sendsync/issue-8827.rs +tests/ui/threads-sendsync/task-comm-14.rs +tests/ui/threads-sendsync/task-comm-chan-nil.rs +tests/ui/threads-sendsync/task-comm-5.rs +tests/ui/threads-sendsync/spawn.rs +tests/ui/threads-sendsync/task-comm-4.rs +tests/ui/threads-sendsync/comm.rs +tests/ui/threads-sendsync/task-spawn-move-and-copy.rs +tests/ui/threads-sendsync/task-comm-15.rs +tests/ui/threads-sendsync/task-comm-6.rs +tests/ui/threads-sendsync/task-comm-17.rs +tests/ui/threads-sendsync/issue-4446.rs +tests/ui/threads-sendsync/spawn-types.rs +tests/ui/threads-sendsync/send_str_treemap.rs +tests/ui/higher-ranked/higher-ranked-encoding.rs +tests/ui/higher-ranked/trait-bounds/hrtb-unboxed-closure-trait.rs +tests/ui/higher-ranked/trait-bounds/hrtb-trait-object-paren-notation.rs +tests/ui/higher-ranked/trait-bounds/hrtb-fn-like-trait-object.rs +tests/ui/higher-ranked/trait-bounds/hrtb-fn-like-trait.rs +tests/ui/higher-ranked/trait-bounds/hrtb-parse.rs +tests/ui/higher-ranked/trait-bounds/issue-39292.rs +tests/ui/higher-ranked/trait-bounds/issue-36139-normalize-closure-sig.rs +tests/ui/higher-ranked/trait-bounds/hrtb-resolve-lifetime.rs +tests/ui/higher-ranked/leak-check/leak-check-in-selection-1.rs +tests/ui/include-macros/normalization.rs +tests/ui/inference/lambda-infer-unresolved.rs +tests/ui/inference/issue-36053.rs +tests/ui/inference/range-type-infer.rs +tests/ui/inference/issue-3743.rs +tests/ui/inference/newlambdas-ret-infer2.rs +tests/ui/inference/newlambdas-ret-infer.rs +tests/ui/inference/auto-instantiate.rs +tests/ui/inference/simple-infer.rs +tests/ui/inference/lub-glb-with-unbound-infer-var.rs +tests/ui/type-alias-enum-variants/enum-variant-generic-args-pass.rs +tests/ui/type-alias-enum-variants/type-alias-enum-variants-pass.rs +tests/ui/or-patterns/box-patterns.rs +tests/ui/or-patterns/slice-patterns.rs +tests/ui/or-patterns/if-let-while-let.rs +tests/ui/or-patterns/let-pattern.rs +tests/ui/or-patterns/basic-switch.rs +tests/ui/or-patterns/search-via-bindings.rs +tests/ui/or-patterns/for-loop.rs +tests/ui/or-patterns/struct-like.rs +tests/ui/or-patterns/bindings-runpass-2.rs +tests/ui/or-patterns/mix-with-wild.rs +tests/ui/or-patterns/bindings-runpass-1.rs +tests/ui/or-patterns/basic-switchint.rs +tests/ui/or-patterns/lazy-and-or.rs +tests/ui/or-patterns/issue-70413-no-unreachable-pat-and-guard.rs +tests/ui/or-patterns/simplification_subtleties.rs +tests/ui/recursion/recursion-tail-call-no-arg-leak.rs +tests/ui/recursion/instantiable.rs +tests/ui/recursion/recursion-tail-cps.rs +tests/ui/recursion/recursive-enum-box.rs +tests/ui/lint/unused/no-unused-parens-return-block.rs +tests/ui/lint/dead-code/enum-variants.rs +tests/ui/lint/dead-code/associated-type.rs +tests/ui/lint/dead-code/with-impl.rs +tests/ui/lint/dead-code/alias-in-pat.rs +tests/ui/lint/overflowing-literals-valid.rs +tests/ui/lint/lint-expr-stmt-attrs-for-early-lints.rs +tests/ui/lint/improper_ctypes/allow-phantomdata-in-ffi.rs +tests/ui/lint/issue-49588-non-shorthand-field-patterns-in-pattern-macro.rs +tests/ui/lint/issue-20343.rs +tests/ui/runtime/deep_recursion.rs tests/ui/runtime/backtrace-debuginfo.rs +tests/ui/runtime/signal-alternate-stack-cleanup.rs +tests/ui/runtime/on-broken-pipe/inherit.rs tests/ui/runtime/stdout-during-shutdown-unix.rs tests/ui/runtime/rt-explody-panic-payloads.rs -tests/ui/runtime/on-broken-pipe/inherit.rs -tests/ui/runtime/stdout-before-main.rs tests/ui/runtime/stdout-during-shutdown-windows.rs -tests/ui/runtime/signal-alternate-stack-cleanup.rs +tests/ui/runtime/stdout-before-main.rs tests/ui/runtime/out-of-stack.rs tests/ui/runtime/atomic-print.rs -tests/ui/parser/macro/statement-boundaries.rs -tests/ui/parser/parser-unicode-whitespace.rs -tests/ui/parser/operator-associativity.rs -tests/ui/parser/slowparse-bstring.rs -tests/ui/parser/slowparse-string.rs -tests/ui/parser/issues/issue-21475.rs -tests/ui/parser/issues/issue-65846-rollback-gating-failing-matcher.rs -tests/ui/parser/issues/issue-7222.rs -tests/ui/parser/issues/issue-48508.rs -tests/ui/parser/issues/issue-17718-parse-const.rs -tests/ui/parser/ranges-precedence.rs -tests/ui/parser/utf8_idents-rpass.rs -tests/ui/const-generics/defaults/trait_objects.rs -tests/ui/const-generics/defaults/const-default.rs -tests/ui/const-generics/defaults/const-param-as-default-value.rs -tests/ui/const-generics/defaults/complex-unord-param.rs -tests/ui/const-generics/defaults/rp_impl_trait.rs -tests/ui/const-generics/defaults/const-param-in-ty-defaults.rs -tests/ui/const-generics/inhabited-assoc-ty-ice-1.rs -tests/ui/const-generics/uninferred-consts-during-codegen-1.rs -tests/ui/const-generics/dyn-supertraits.rs -tests/ui/const-generics/generic_arg_infer/dont-use-defaults.rs -tests/ui/const-generics/generic_arg_infer/array-repeat-expr.rs -tests/ui/const-generics/transmute.rs -tests/ui/const-generics/slice-const-param.rs -tests/ui/const-generics/inhabited-assoc-ty-ice-2.rs -tests/ui/const-generics/const-fn-with-const-param.rs -tests/ui/const-generics/type_of_anon_const.rs -tests/ui/const-generics/promotion.rs -tests/ui/const-generics/coerce_unsized_array.rs -tests/ui/const-generics/type-dependent/issue-71805.rs -tests/ui/const-generics/type-dependent/qpath.rs -tests/ui/const-generics/type-dependent/issue-63695.rs -tests/ui/const-generics/type-dependent/issue-70507.rs -tests/ui/const-generics/type-dependent/simple.rs -tests/ui/const-generics/type-dependent/const-arg-in-const-arg.rs -tests/ui/const-generics/type-dependent/issue-69816.rs -tests/ui/const-generics/type-dependent/issue-61936.rs -tests/ui/const-generics/array-wrapper-struct-ctor.rs -tests/ui/const-generics/impl-const-generic-struct.rs -tests/ui/const-generics/issue-102124.rs -tests/ui/const-generics/concrete-const-as-fn-arg.rs -tests/ui/const-generics/const-arg-in-fn.rs -tests/ui/const-generics/issues/issue-75299.rs -tests/ui/const-generics/issues/issue-62187-encountered-polymorphic-const.rs -tests/ui/const-generics/issues/issue-69654-run-pass.rs -tests/ui/const-generics/issues/issue-70125-1.rs -tests/ui/const-generics/issues/issue-70125-2.rs -tests/ui/const-generics/issues/issue-61432.rs -tests/ui/const-generics/uninferred-consts-during-codegen-2.rs -tests/ui/const-generics/generic_const_exprs/nested_uneval_unification-2.rs -tests/ui/const-generics/generic_const_exprs/infer-too-generic.rs -tests/ui/const-generics/generic_const_exprs/division.rs -tests/ui/const-generics/generic_const_exprs/nested-abstract-consts-2.rs -tests/ui/const-generics/generic_const_exprs/dyn-compatibility-ok.rs -tests/ui/const-generics/generic_const_exprs/associated-consts.rs -tests/ui/const-generics/generic_const_exprs/from-sig.rs -tests/ui/const-generics/generic_const_exprs/unop.rs -tests/ui/const-generics/generic_const_exprs/less_than.rs -tests/ui/const-generics/generic_const_exprs/nested_uneval_unification-1.rs -tests/ui/const-generics/generic_const_exprs/fn_call.rs -tests/ui/const-generics/generic_const_exprs/subexprs_are_const_evalutable.rs -tests/ui/const-generics/generic_const_exprs/nested-abstract-consts-1.rs -tests/ui/const-generics/generic_const_exprs/elaborate-trait-pred.rs -tests/ui/const-generics/generic_const_exprs/issue-73899.rs -tests/ui/const-generics/const-generic-type_name.rs -tests/ui/const-generics/min_const_generics/macro.rs -tests/ui/const-generics/min_const_generics/type_and_const_defaults.rs -tests/ui/const-generics/min_const_generics/inferred_const.rs -tests/ui/const-generics/min_const_generics/const_fn_in_generics.rs -tests/ui/const-generics/concrete-const-impl-method.rs -tests/ui/const-generics/early/const-param-hygiene.rs -tests/ui/const-generics/infer_arg_from_pat.rs -tests/ui/const-generics/core-types.rs +tests/ui/drop/drop-with-type-ascription-1.rs +tests/ui/drop/issue-90752.rs +tests/ui/drop/drop-with-type-ascription-2.rs +tests/ui/drop/repeat-drop.rs +tests/ui/drop/dynamic-drop.rs +tests/ui/drop/drop_order.rs +tests/ui/drop/issue-23338-ensure-param-drop-order.rs +tests/ui/drop/drop-trait-enum.rs +tests/ui/drop/issue-2734.rs +tests/ui/drop/issue-21486.rs +tests/ui/drop/dropck-eyepatch-reorder.rs +tests/ui/drop/issue-90752-raw-ptr-shenanigans.rs +tests/ui/drop/issue-979.rs +tests/ui/drop/drop-on-ret.rs +tests/ui/drop/issue-2735-2.rs +tests/ui/drop/drop-once-on-move.rs +tests/ui/drop/no-drop-flag-size.rs +tests/ui/drop/issue-30018-nopanic.rs +tests/ui/drop/issue-2735-3.rs +tests/ui/drop/static-issue-17302.rs +tests/ui/drop/drop-scope-exit.rs +tests/ui/drop/issue-2735.rs +tests/ui/drop/drop-trait-generic.rs +tests/ui/drop/or-pattern-drop-order.rs +tests/ui/drop/terminate-in-initializer.rs +tests/ui/drop/drop-trait.rs +tests/ui/drop/box-drop-unused-value-statement-regression.rs +tests/ui/drop/issue-23611-enum-swap-in-drop.rs +tests/ui/drop/dropck-eyepatch.rs +tests/ui/drop/drop-struct-as-object.rs +tests/ui/drop/for-expr-temporary-drop-scope.rs +tests/ui/drop/drop-on-empty-block-exit.rs +tests/ui/drop/dropck_legal_cycles.rs +tests/ui/drop/nondrop-cycle.rs +tests/ui/drop/issue-48962.rs +tests/ui/type-inference/issue-113283-alllocator-trait-eq.rs +tests/ui/destructuring-assignment/struct_destructure.rs +tests/ui/destructuring-assignment/drop-order.rs +tests/ui/destructuring-assignment/tuple_struct_destructure.rs +tests/ui/destructuring-assignment/let-binding-tuple-destructuring.rs +tests/ui/destructuring-assignment/slice_destructure.rs +tests/ui/destructuring-assignment/nested_destructure.rs +tests/ui/destructuring-assignment/tuple_destructure.rs +tests/ui/destructuring-assignment/warn-unused-duplication.rs +tests/ui/no_std/no-core-with-explicit-std-core.rs +tests/ui/float/int-to-float-miscompile-issue-105626.rs +tests/ui/float/classify-runtime-const.rs +tests/ui/fn/expr-fn.rs +tests/ui/fn/mutable-function-parameters.rs +tests/ui/fn/dyn-fn-alignment.rs +tests/ui/fn/issue-1451.rs +tests/ui/fn/nested-function-names-issue-8587.rs +tests/ui/fn/issue-3904.rs +tests/ui/fn/fun-call-variants.rs +tests/ui/linking/executable-no-mangle-strip.rs +tests/ui/linking/ld64-cross-compilation.rs +tests/ui/mut/no-mut-lint-for-desugared-mut.rs +tests/ui/unsized-locals/unsized-parameters.rs +tests/ui/unsized-locals/box-fnonce.rs +tests/ui/unsized-locals/unsized-index.rs +tests/ui/unsized-locals/unsized-exprs-rpass.rs +tests/ui/delegation/explicit-paths-pass.rs +tests/ui/delegation/target-expr-pass.rs +tests/ui/delegation/self-coercion.rs +tests/ui/delegation/method-call-priority.rs +tests/ui/delegation/generics/trait-method-to-other-pass.rs +tests/ui/delegation/generics/impl-to-free-fn-pass.rs +tests/ui/delegation/generics/inherent-impl-to-trait-method-pass.rs +tests/ui/delegation/generics/free-fn-to-trait-method-pass.rs +tests/ui/delegation/generics/free-fn-to-free-fn-pass.rs +tests/ui/delegation/generics/impl-trait-to-trait-method-pass.rs +tests/ui/delegation/explicit-paths-in-traits-pass.rs +tests/ui/structs/basic-newtype-pattern.rs +tests/ui/structs/large-records.rs +tests/ui/coroutine/match-bindings.rs +tests/ui/coroutine/static-coroutine.rs +tests/ui/coroutine/yield-in-initializer.rs +tests/ui/coroutine/issue-44197.rs +tests/ui/coroutine/resume-live-across-yield.rs +tests/ui/coroutine/niche-in-coroutine.rs +tests/ui/coroutine/addassign-yield.rs +tests/ui/coroutine/size-moved-locals.rs +tests/ui/coroutine/discriminant.rs +tests/ui/coroutine/resume-after-return.rs +tests/ui/coroutine/panic-drops.rs +tests/ui/coroutine/conditional-drop.rs +tests/ui/coroutine/issue-69039.rs +tests/ui/coroutine/live-upvar-across-yield.rs +tests/ui/coroutine/panic-drops-resume.rs +tests/ui/coroutine/overlap-locals.rs +tests/ui/coroutine/nested_coroutine.rs +tests/ui/coroutine/panic-safe.rs +tests/ui/coroutine/iterator-count.rs +tests/ui/coroutine/resume-arg-size.rs +tests/ui/coroutine/drop-and-replace.rs +tests/ui/coroutine/issue-52398.rs +tests/ui/coroutine/control-flow.rs +tests/ui/coroutine/smoke-resume-args.rs +tests/ui/coroutine/borrow-in-tail-expr.rs +tests/ui/coroutine/too-live-local-in-immovable-gen.rs +tests/ui/coroutine/issue-58888.rs +tests/ui/coroutine/issue-57084.rs +tests/ui/coroutine/drop-env.rs +tests/ui/coroutine/drop-track-addassign-yield.rs +tests/ui/coroutine/uninhabited-field.rs +tests/ui/coroutine/pin-box-coroutine.rs +tests/ui/coroutine/non-static-is-unpin.rs +tests/ui/object-lifetime/object-lifetime-default-from-rptr.rs +tests/ui/object-lifetime/object-lifetime-default-from-rptr-mut.rs +tests/ui/object-lifetime/object-lifetime-default-from-rptr-struct.rs +tests/ui/object-lifetime/object-lifetime-default-from-rptr-box.rs +tests/ui/object-lifetime/object-lifetime-default-default-to-static.rs +tests/ui/object-lifetime/object-lifetime-default-from-ref-struct.rs +tests/ui/str/str-static-literal.rs +tests/ui/str/nul-char-equivalence.rs +tests/ui/pattern/bindings-after-at/box-patterns.rs +tests/ui/pattern/bindings-after-at/slice-patterns.rs +tests/ui/pattern/bindings-after-at/or-patterns.rs +tests/ui/pattern/bindings-after-at/bind-by-copy.rs +tests/ui/pattern/bindings-after-at/or-patterns-box-patterns.rs +tests/ui/pattern/bindings-after-at/or-patterns-slice-patterns.rs +tests/ui/pattern/bindings-after-at/nested-patterns.rs +tests/ui/pattern/issue-11577.rs +tests/ui/pattern/size-and-align.rs +tests/ui/pattern/issue-110508.rs +tests/ui/pattern/issue-8351-1.rs +tests/ui/pattern/issue-22546.rs +tests/ui/pattern/move-ref-patterns/move-ref-patterns-dynamic-semantics.rs +tests/ui/pattern/inc-range-pat.rs +tests/ui/pattern/issue-12582.rs +tests/ui/pattern/issue-27320.rs +tests/ui/pattern/issue-10392.rs +tests/ui/pattern/ignore-all-the-things.rs +tests/ui/pattern/pattern-match-arc-move.rs +tests/ui/pattern/issue-8351-2.rs +tests/ui/pattern/issue-15080.rs +tests/ui/pattern/usefulness/issue-30240-rpass.rs +tests/ui/pattern/usefulness/nested-exhaustive-match.rs +tests/ui/pattern/usefulness/integer-ranges/regression-switchint-sorting-with-ranges.rs +tests/ui/pattern/usefulness/irrefutable-let-patterns.rs +tests/ui/pattern/usefulness/irrefutable-unit.rs +tests/ui/pattern/integer-range-binding.rs +tests/ui/pattern/issue-6449.rs +tests/ui/impl-header-lifetime-elision/trait-underscore.rs +tests/ui/impl-header-lifetime-elision/bare_type.rs +tests/ui/impl-header-lifetime-elision/explicit-and-elided-same-header.rs +tests/ui/impl-header-lifetime-elision/path-underscore.rs +tests/ui/impl-header-lifetime-elision/ref-underscore.rs +tests/ui/precondition-checks/cfg-ub-checks-no.rs +tests/ui/precondition-checks/zero-size-null.rs +tests/ui/precondition-checks/cfg-ub-checks-yes.rs +tests/ui/precondition-checks/cfg-ub-checks-default.rs +tests/ui/associated-type-bounds/rpit.rs +tests/ui/associated-type-bounds/struct-bounds.rs +tests/ui/associated-type-bounds/enum-bounds.rs +tests/ui/associated-type-bounds/union-bounds.rs +tests/ui/nll/borrowck-thread-local-static-mut-borrow-outlives-fn.rs +tests/ui/nll/process_or_insert_default.rs +tests/ui/nll/issue-47589.rs +tests/ui/nll/issue-57960.rs +tests/ui/nll/issue-50461-used-mut-from-moves.rs +tests/ui/nll/rc-loop.rs +tests/ui/nll/issue-53123-raw-pointer-cast.rs +tests/ui/nll/issue-45696-no-variant-box-recur.rs +tests/ui/nll/issue-50343.rs +tests/ui/nll/issue-45696-long-live-borrows-in-boxes.rs +tests/ui/nll/issue-24535-allow-mutable-borrow-in-match-guard.rs +tests/ui/nll/mutating_references.rs +tests/ui/nll/borrow-use-issue-46875.rs +tests/ui/nll/issue-48070.rs +tests/ui/unsafe/union_destructure.rs +tests/ui/unsafe/unsafe-fn-called-from-unsafe-fn.rs +tests/ui/unsafe/unsafe-fn-called-from-unsafe-blk.rs +tests/ui/unsafe/unsafe-pointer-assignability.rs +tests/ui/unsafe/union-modification.rs +tests/ui/unsafe/new-unsafe-pointers.rs +tests/ui/namespace/struct-type-and-function-name-coexistence.rs +tests/ui/parallel-rustc/read-stolen-value-issue-111520.rs +tests/ui/parallel-rustc/hello_world.rs +tests/ui/derives/derive-Debug-use-ufcs-tuple.rs +tests/ui/derives/derive-partial-ord.rs +tests/ui/derives/derive-Debug-use-ufcs-struct.rs +tests/ui/derives/derive-Debug-enum-variants.rs +tests/ui/debuginfo/msvc-strip-symbols.rs +tests/ui/debuginfo/issue-105386-debuginfo-ub.rs +tests/ui/debuginfo/msvc-strip-debuginfo.rs tests/ui/auto-traits/auto-is-contextual.rs +tests/ui/auto-traits/auto-traits-type-parameter.rs tests/ui/auto-traits/auto-traits.rs -tests/ui/async-await/issue-60709.rs -tests/ui/async-await/context-is-sorta-unwindsafe.rs -tests/ui/async-await/issues/issue-59972.rs -tests/ui/lexer/lexer-crlf-line-endings-string-literal-doc-comment.rs -tests/ui/lexer/lex-bare-cr-nondoc-comment.rs -tests/ui/last-use-is-capture.rs -tests/ui/weird-exprs.rs -tests/ui/unsized-locals/unsized-exprs-rpass.rs -tests/ui/unsized-locals/box-fnonce.rs -tests/ui/unsized-locals/by-value-trait-dyn-compatibility-rpass.rs -tests/ui/unsized-locals/align.rs -tests/ui/unsized-locals/autoderef.rs -tests/ui/unsized-locals/reference-unsized-locals.rs -tests/ui/unsized-locals/unsized-parameters.rs -tests/ui/unsized-locals/simple-unsized-locals.rs -tests/ui/unsized-locals/by-value-trait-dyn-compatibility-with-default.rs -tests/ui/unsized-locals/unsized-index.rs -tests/ui/deriving/deriving-meta-multiple.rs +tests/ui/builtin-superkinds/builtin-superkinds-capabilities-transitive.rs +tests/ui/builtin-superkinds/builtin-superkinds-capabilities.rs +tests/ui/env-macro/env-env-overload.rs +tests/ui/env-macro/option_env-not-defined.rs +tests/ui/env-macro/env-env.rs +tests/ui/uninhabited/uninhabited-transparent-return-abi.rs +tests/ui/structs-enums/tuple-struct-constructor-pointer.rs +tests/ui/structs-enums/enum-variants.rs +tests/ui/structs-enums/enum-null-pointer-opt.rs +tests/ui/structs-enums/tuple-struct-matching.rs +tests/ui/structs-enums/codegen-tag-static-padding.rs +tests/ui/structs-enums/enum-univariant-repr.rs +tests/ui/structs-enums/tag-variant-disr-val.rs +tests/ui/structs-enums/struct-order-of-eval-1.rs +tests/ui/structs-enums/issue-1701.rs +tests/ui/structs-enums/issue-38002.rs +tests/ui/structs-enums/struct-literal-dtor.rs +tests/ui/structs-enums/struct-path-associated-type.rs +tests/ui/structs-enums/rec.rs +tests/ui/structs-enums/enum-layout-optimization.rs +tests/ui/structs-enums/enum-alignment.rs +tests/ui/structs-enums/tag-align-u64.rs +tests/ui/structs-enums/enum-disr-val-pretty.rs +tests/ui/structs-enums/field-destruction-order.rs +tests/ui/structs-enums/tag-align-dyn-u64.rs +tests/ui/structs-enums/enum-discr.rs +tests/ui/structs-enums/struct-new-as-field-name.rs +tests/ui/structs-enums/tuple-struct-trivial.rs +tests/ui/structs-enums/class-implement-traits.rs +tests/ui/structs-enums/enum-vec-initializer.rs +tests/ui/structs-enums/discrim-explicit-23030.rs +tests/ui/structs-enums/unit-like-struct.rs +tests/ui/structs-enums/enum-non-c-like-repr-c.rs +tests/ui/structs-enums/classes.rs +tests/ui/structs-enums/issue-50731.rs +tests/ui/structs-enums/tag-disr-val-shape.rs +tests/ui/structs-enums/rec-tup.rs +tests/ui/structs-enums/rec-extend.rs +tests/ui/structs-enums/numeric-fields.rs +tests/ui/structs-enums/rec-auto.rs +tests/ui/structs-enums/enum-discrim-width-stuff.rs +tests/ui/structs-enums/struct-aliases.rs +tests/ui/structs-enums/record-pat.rs +tests/ui/structs-enums/struct-partial-move-1.rs +tests/ui/structs-enums/empty-tag.rs +tests/ui/structs-enums/tag-align-shape.rs +tests/ui/structs-enums/class-separate-impl.rs +tests/ui/structs-enums/nonzero-enum.rs +tests/ui/structs-enums/functional-struct-upd.rs +tests/ui/structs-enums/enum-discrim-manual-sizing.rs +tests/ui/structs-enums/newtype-struct-drop-run.rs +tests/ui/structs-enums/classes-simple.rs +tests/ui/structs-enums/class-impl-very-parameterized-trait.rs +tests/ui/structs-enums/class-poly-methods.rs +tests/ui/structs-enums/struct-lit-functional-no-fields.rs +tests/ui/structs-enums/struct-pattern-matching.rs +tests/ui/structs-enums/class-methods.rs +tests/ui/structs-enums/module-qualified-struct-destructure.rs +tests/ui/structs-enums/struct-order-of-eval-3.rs +tests/ui/structs-enums/struct-path-self.rs +tests/ui/structs-enums/struct-like-variant-match.rs +tests/ui/structs-enums/type-sizes.rs +tests/ui/structs-enums/borrow-tuple-fields.rs +tests/ui/structs-enums/ivec-tag.rs +tests/ui/structs-enums/simple-match-generic-tag.rs +tests/ui/structs-enums/tag-exports.rs +tests/ui/structs-enums/class-typarams.rs +tests/ui/structs-enums/struct-partial-move-2.rs +tests/ui/structs-enums/tuple-struct-destructuring.rs +tests/ui/structs-enums/enum-nullable-const-null-with-fields.rs +tests/ui/structs-enums/newtype-struct-with-dtor.rs +tests/ui/structs-enums/export-tag-variant.rs +tests/ui/structs-enums/struct-like-variant-construct.rs +tests/ui/structs-enums/multiple-reprs.rs +tests/ui/structs-enums/small-enum-range-edge.rs +tests/ui/structs-enums/expr-if-struct.rs +tests/ui/structs-enums/unit-like-struct-drop-run.rs +tests/ui/structs-enums/classes-simple-method.rs +tests/ui/structs-enums/tag.rs +tests/ui/structs-enums/enum-export-inheritance.rs +tests/ui/structs-enums/class-cast-to-trait-multiple-types.rs +tests/ui/structs-enums/enum-non-c-like-repr-c-and-int.rs +tests/ui/structs-enums/align-enum.rs +tests/ui/structs-enums/class-cast-to-trait.rs +tests/ui/structs-enums/enum-discrim-autosizing.rs +tests/ui/structs-enums/enum-clike-ffi-as-int.rs +tests/ui/structs-enums/align-struct.rs +tests/ui/structs-enums/small-enums-with-fields.rs +tests/ui/structs-enums/class-exports.rs +tests/ui/structs-enums/export-abstract-tag.rs +tests/ui/structs-enums/struct-order-of-eval-2.rs +tests/ui/structs-enums/enum-nullable-simplifycfg-misopt.rs +tests/ui/structs-enums/struct-field-shorthand.rs +tests/ui/structs-enums/tag-align-dyn-variants.rs +tests/ui/structs-enums/tuple-struct-construct.rs +tests/ui/structs-enums/class-str-field.rs +tests/ui/structs-enums/compare-generic-enums.rs +tests/ui/structs-enums/expr-match-struct.rs +tests/ui/structs-enums/struct-order-of-eval-4.rs +tests/ui/structs-enums/resource-in-struct.rs +tests/ui/structs-enums/enum-non-c-like-repr-int.rs +tests/ui/dest-prop/skeptic-miscompile.rs +tests/ui/loops/issue-1974.rs +tests/ui/coercion/coerce-reborrow-imm-ptr-rcvr.rs +tests/ui/coercion/unsafe-coercion.rs +tests/ui/coercion/coerce-reborrow-mut-ptr-arg.rs +tests/ui/coercion/coerce-reborrow-imm-vec-rcvr.rs +tests/ui/coercion/coerce-reborrow-mut-vec-arg.rs +tests/ui/coercion/coerce-reborrow-mut-ptr-rcvr.rs +tests/ui/coercion/issue-26905-rpass.rs +tests/ui/coercion/coerce-unify-return.rs +tests/ui/coercion/coerce-expect-unsized.rs +tests/ui/coercion/issue-3794.rs +tests/ui/coercion/issue-14589.rs +tests/ui/coercion/basic-ptr-coercions.rs +tests/ui/coercion/coerce-reborrow-mut-vec-rcvr.rs +tests/ui/coercion/coerce-unify.rs +tests/ui/editions/never-type-fallback.rs +tests/ui/never_type/never_coercions.rs +tests/ui/never_type/impl-for-never.rs +tests/ui/never_type/never-result.rs +tests/ui/never_type/never-type-fallback-option.rs +tests/ui/never_type/try_from.rs +tests/ui/binop/structured-compare.rs +tests/ui/binop/binops-issue-22743.rs +tests/ui/binop/issue-25916.rs +tests/ui/binop/binary-op-on-fn-ptr-eq.rs +tests/ui/binop/operator-overloading.rs +tests/ui/binop/augmented-assignment.rs +tests/ui/binop/operator-multidispatch.rs +tests/ui/binop/compound-assign-by-ref.rs +tests/ui/binop/binops.rs +tests/ui/binop/binop-evaluation-order-primitive.rs +tests/ui/binop/binary-minus-without-space.rs +tests/ui/privacy/private-method-rpass.rs +tests/ui/privacy/privacy-ns.rs +tests/ui/privacy/pub-extern-privacy.rs +tests/ui/privacy/private-class-field.rs +tests/ui/deriving/deriving-cmp-generic-enum.rs +tests/ui/deriving/deriving-clone-generic-struct.rs +tests/ui/deriving/deriving-with-repr-packed.rs +tests/ui/deriving/deriving-via-extension-struct-tuple.rs +tests/ui/deriving/deriving-via-extension-struct.rs +tests/ui/deriving/deriving-via-extension-c-enum.rs +tests/ui/deriving/issue-3935.rs +tests/ui/deriving/deriving-eq-ord-boxed-slice.rs tests/ui/deriving/deriving-meta.rs +tests/ui/deriving/deriving-cmp-generic-tuple-struct.rs tests/ui/deriving/deriving-default-box.rs -tests/ui/deriving/deriving-via-extension-enum.rs -tests/ui/deriving/deriving-default-enum.rs -tests/ui/deriving/deriving-clone-generic-enum.rs +tests/ui/deriving/deriving-show.rs tests/ui/deriving/deriving-cmp-shortcircuit.rs -tests/ui/deriving/deriving-in-fn.rs -tests/ui/deriving/deriving-cmp-generic-tuple-struct.rs -tests/ui/deriving/deriving-copyclone.rs -tests/ui/deriving/deriving-eq-ord-boxed-slice.rs -tests/ui/deriving/deriving-hash.rs -tests/ui/deriving/deriving-via-extension-struct-tuple.rs -tests/ui/deriving/deriving-clone-enum.rs -tests/ui/deriving/deriving-show-2.rs -tests/ui/deriving/deriving-with-repr-packed.rs -tests/ui/deriving/deriving-cmp-generic-struct.rs -tests/ui/deriving/issue-3935.rs -tests/ui/deriving/deriving-via-extension-struct-empty.rs tests/ui/deriving/deriving-via-extension-type-params.rs -tests/ui/deriving/deriving-clone-generic-struct.rs -tests/ui/deriving/deriving-show.rs -tests/ui/deriving/deriving-self-lifetime-totalord-totaleq.rs +tests/ui/deriving/derive-partialord-correctness.rs +tests/ui/deriving/deriving-meta-multiple.rs tests/ui/deriving/deriving-coerce-pointee.rs +tests/ui/deriving/issue-15689-1.rs +tests/ui/deriving/deriving-self-lifetime-totalord-totaleq.rs +tests/ui/deriving/deriving-show-2.rs +tests/ui/deriving/deriving-in-fn.rs +tests/ui/deriving/deriving-via-extension-struct-empty.rs +tests/ui/deriving/deriving-clone-generic-enum.rs tests/ui/deriving/issue-19358.rs -tests/ui/deriving/deriving-via-extension-c-enum.rs -tests/ui/deriving/deriving-associated-types.rs +tests/ui/deriving/deriving-cmp-generic-struct.rs tests/ui/deriving/deriving-cmp-generic-struct-enum.rs +tests/ui/deriving/deriving-hash.rs +tests/ui/deriving/deriving-copyclone.rs +tests/ui/deriving/deriving-clone-enum.rs +tests/ui/deriving/deriving-associated-types.rs +tests/ui/deriving/deriving-via-extension-enum.rs tests/ui/deriving/deriving-via-extension-struct-like-enum-variant.rs -tests/ui/deriving/issue-15689-1.rs -tests/ui/deriving/deriving-cmp-generic-enum.rs -tests/ui/deriving/derive-partialord-correctness.rs -tests/ui/deriving/deriving-via-extension-struct.rs +tests/ui/deriving/deriving-default-enum.rs tests/ui/deriving/deriving-clone-generic-tuple-struct.rs -tests/ui/newlambdas.rs -tests/ui/assign-assign.rs -tests/ui/generics/issue-2936.rs -tests/ui/generics/generic-tag-corruption.rs -tests/ui/generics/generic-newtype-struct.rs -tests/ui/generics/generic-alias-unique.rs -tests/ui/generics/generic-fn-twice.rs +tests/ui/bench/issue-32062.rs +tests/ui/macros/issue-33185.rs +tests/ui/macros/macros-in-extern.rs +tests/ui/macros/macro-of-higher-order.rs +tests/ui/macros/macro-nested_expr.rs +tests/ui/macros/macro-lifetime-used-with-static.rs +tests/ui/macros/macro-multiple-items.rs +tests/ui/macros/assert-ne-macro-success.rs +tests/ui/macros/issue-5060.rs +tests/ui/macros/macro-delimiter-significance.rs +tests/ui/macros/macro-first-set.rs +tests/ui/macros/macro-block-nonterminal.rs +tests/ui/macros/type-macros-simple.rs +tests/ui/macros/macro-pat-pattern-followed-by-or.rs +tests/ui/macros/semi-after-macro-ty.rs +tests/ui/macros/concat-rpass.rs +tests/ui/macros/type-macros-hlist.rs +tests/ui/macros/macro-at-most-once-rep-2015-rpass.rs +tests/ui/macros/concat-bytes.rs +tests/ui/macros/issue-37175.rs +tests/ui/macros/macro-nested_definition_issue-31946.rs +tests/ui/macros/macro-doc-raw-str-hashes.rs +tests/ui/macros/macro-with-braces-in-expr-position.rs +tests/ui/macros/stmt_expr_attr_macro_parse.rs +tests/ui/macros/log_syntax-trace_macros-macro-locations.rs +tests/ui/macros/issue-44127.rs +tests/ui/macros/syntax-extension-cfg.rs +tests/ui/macros/assert-eq-macro-unsized.rs +tests/ui/macros/macro-attribute-expansion.rs +tests/ui/macros/macro-pat-neg-lit.rs +tests/ui/macros/macro-nt-list.rs +tests/ui/macros/macro-at-most-once-rep-2018-rpass.rs +tests/ui/macros/die-macro.rs +tests/ui/macros/macro-tt-followed-by-seq.rs +tests/ui/macros/rfc-2011-nicer-assert-messages/all-expr-kinds.rs +tests/ui/macros/rfc-2011-nicer-assert-messages/feature-gate-generic_assert.rs +tests/ui/macros/rfc-2011-nicer-assert-messages/assert-with-custom-errors-does-not-create-unnecessary-code.rs +tests/ui/macros/pub-method-inside-macro.rs +tests/ui/macros/macro-as-fn-body.rs +tests/ui/macros/html-literals.rs +tests/ui/macros/macro-pat.rs +tests/ui/macros/conditional-debug-macro-on.rs +tests/ui/macros/issue-8851.rs +tests/ui/macros/macro-lifetime-used-with-bound.rs +tests/ui/macros/issue-8709.rs +tests/ui/macros/macro-with-attrs1.rs +tests/ui/macros/assert-format-lazy.rs +tests/ui/macros/macro-stmt.rs +tests/ui/macros/issue-26322.rs +tests/ui/macros/macro-pat-follow-2018.rs +tests/ui/macros/issue-40770.rs +tests/ui/macros/colorful-write-macros.rs +tests/ui/macros/typeck-macro-interaction-issue-8852.rs +tests/ui/macros/macro-deep_expansion.rs +tests/ui/macros/macro-pat-follow.rs +tests/ui/macros/macro-path.rs +tests/ui/macros/macro-lifetime.rs +tests/ui/macros/metavar-expressions/dollar-dollar-has-correct-behavior.rs +tests/ui/macros/metavar-expressions/macro-expansion.rs +tests/ui/macros/metavar-expressions/concat-allowed-operations.rs +tests/ui/macros/metavar-expressions/feature-gate-macro_metavar_expr.rs +tests/ui/macros/metavar-expressions/count-and-length-are-distinct.rs +tests/ui/macros/metavar-expressions/concat-unicode-expansion.rs +tests/ui/macros/try-macro.rs +tests/ui/macros/pub-item-inside-macro.rs +tests/ui/macros/macro-seq-followed-by-seq.rs +tests/ui/macros/issue-52169.rs +tests/ui/macros/macro-crate-use.rs +tests/ui/macros/assert-ne-macro-unsized.rs +tests/ui/macros/macro-stmt_macro_in_expr_macro.rs +tests/ui/macros/macro-named-default.rs +tests/ui/macros/issue-25274.rs +tests/ui/macros/macro-invocation-in-count-expr-fixed-array-type.rs +tests/ui/macros/macro-nested_stmt_macros.rs +tests/ui/macros/meta-variable-misuse.rs +tests/ui/macros/macro-literal.rs +tests/ui/macros/issue-41803.rs +tests/ui/macros/macro-meta-items.rs +tests/ui/macros/macro-lifetime-used-with-labels.rs +tests/ui/macros/syntax-extension-source-utils.rs +tests/ui/macros/macro-method-issue-4621.rs +tests/ui/macros/macro-2.rs +tests/ui/macros/macro-include-items.rs +tests/ui/macros/assert-eq-macro-success.rs +tests/ui/macros/nested-macro-expansion.rs +tests/ui/sanitizer/issue-72154-address-lifetime-markers.rs +tests/ui/sanitizer/cfi/self-ref.rs +tests/ui/sanitizer/cfi/sized-associated-ty.rs +tests/ui/sanitizer/cfi/complex-receiver.rs +tests/ui/sanitizer/cfi/fn-ptr.rs +tests/ui/sanitizer/cfi/virtual-auto.rs +tests/ui/sanitizer/cfi/drop-in-place.rs +tests/ui/transmute/transmute-array-to-scalar.rs +tests/ui/transmute/transmute-zst-generics.rs +tests/ui/enum-discriminant/get_discr.rs +tests/ui/enum-discriminant/actually_not_an_enum-discriminant.rs +tests/ui/enum-discriminant/arbitrary_enum_discriminant.rs +tests/ui/enum-discriminant/issue-51582.rs +tests/ui/enum-discriminant/ptr_niche.rs +tests/ui/enum-discriminant/discriminant_value-wrapper.rs +tests/ui/enum-discriminant/issue-61696.rs +tests/ui/enum-discriminant/issue-90038.rs +tests/ui/enum-discriminant/niche-prefer-zero.rs +tests/ui/enum-discriminant/discriminant_value.rs +tests/ui/enum-discriminant/issue-104519.rs +tests/ui/enum-discriminant/issue-50689.rs +tests/ui/enum-discriminant/niche.rs +tests/ui/rfcs/rfc-2421-unreserve-pure-offsetof-sizeof-alignof/offsetof-alignof-sizeof-pure-can-be-used-as-idents.rs +tests/ui/rfcs/rfc-1014-stdout-existential-crisis/rfc-1014-2.rs +tests/ui/rfcs/rfc-1014-stdout-existential-crisis/rfc-1014.rs +tests/ui/rfcs/rfc-2175-or-if-while-let/basic.rs +tests/ui/rfcs/rfc-1717-dllimport/1717-dllimport/library-override.rs +tests/ui/rfcs/rfc-2151-raw-identifiers/macros.rs +tests/ui/rfcs/rfc-2151-raw-identifiers/items.rs +tests/ui/rfcs/rfc-2151-raw-identifiers/attr.rs +tests/ui/rfcs/rfc-2151-raw-identifiers/basic.rs +tests/ui/rfcs/rfc-1937-termination-trait/termination-trait-for-str-ok.rs +tests/ui/rfcs/rfc-1937-termination-trait/termination-trait-for-impl-termination.rs +tests/ui/rfcs/rfc-1937-termination-trait/termination-trait-for-result.rs +tests/ui/rfcs/rfc-1937-termination-trait/termination-trait-for-result-box-error_ok.rs +tests/ui/rfcs/rfc-1937-termination-trait/termination-trait-for-box-dyn-error-ok.rs +tests/ui/rfcs/rfc-1937-termination-trait/termination-trait-for-exitcode.rs +tests/ui/rfcs/rfc-2091-track-caller/caller-location-intrinsic.rs +tests/ui/rfcs/rfc-2091-track-caller/tracked-fn-ptr-with-arg.rs +tests/ui/rfcs/rfc-2091-track-caller/track-caller-ffi.rs +tests/ui/rfcs/rfc-2091-track-caller/pass.rs +tests/ui/rfcs/rfc-2091-track-caller/call-chain.rs +tests/ui/rfcs/rfc-2091-track-caller/const-caller-location.rs +tests/ui/rfcs/rfc-2091-track-caller/tracked-fn-ptr.rs +tests/ui/rfcs/rfc-2091-track-caller/intrinsic-wrapper.rs +tests/ui/rfcs/rfc-2091-track-caller/tracked-closure.rs +tests/ui/rfcs/rfc-2091-track-caller/mir-inlined-macro.rs +tests/ui/rfcs/rfc-2091-track-caller/track-caller-attribute.rs +tests/ui/rfcs/rfc-2091-track-caller/std-panic-locations.rs +tests/ui/rfcs/rfc-2091-track-caller/tracked-trait-obj.rs +tests/ui/rfcs/rfc-2091-track-caller/tracked-trait-impls.rs +tests/ui/rfcs/rfc-2091-track-caller/caller-location-fnptr-rt-ctfe-equiv.rs +tests/ui/rfcs/rfc-2302-self-struct-ctor/rfc-2302-self-struct-ctor.rs +tests/ui/rfcs/rfc-2294-if-let-guard/drop-order.rs +tests/ui/rfcs/rfc-2294-if-let-guard/run-pass.rs +tests/ui/rfcs/rfc-1623-static/rfc1623.rs +tests/ui/rfcs/rfc-2005-default-binding-mode/constref.rs +tests/ui/rfcs/rfc-2005-default-binding-mode/reset-mode.rs +tests/ui/rfcs/rfc-2005-default-binding-mode/tuple.rs +tests/ui/rfcs/rfc-2005-default-binding-mode/lit-ok.rs +tests/ui/rfcs/rfc-2005-default-binding-mode/for-ok.rs +tests/ui/rfcs/rfc-2005-default-binding-mode/enum-ok.rs +tests/ui/rfcs/rfc-2005-default-binding-mode/box.rs +tests/ui/rfcs/rfc-2005-default-binding-mode/struct.rs +tests/ui/rfcs/rfc-2005-default-binding-mode/tuple-struct.rs +tests/ui/rfcs/rfc-2005-default-binding-mode/slice-ok.rs +tests/ui/rfcs/rfc-2005-default-binding-mode/ref-region.rs +tests/ui/rfcs/rfc-2005-default-binding-mode/range.rs +tests/ui/rfcs/rfc-2005-default-binding-mode/general.rs +tests/ui/rfcs/rfc-2361-dbg-macro/dbg-macro-expected-behavior.rs +tests/ui/rfcs/rfc-0107-bind-by-move-pattern-guards/rfc-basic-examples.rs +tests/ui/rfcs/rfc-0107-bind-by-move-pattern-guards/bind-by-move-no-guards.rs +tests/ui/rfcs/rfc-1789-as-cell/from-mut.rs +tests/ui/rfcs/rfc-1445-restrict-constants-in-patterns/rfc1445/eq-allows-match.rs +tests/ui/rfcs/rfc-1445-restrict-constants-in-patterns/rfc1445/eq-allows-match-on-ty-in-macro.rs +tests/ui/rfcs/rfc-1445-restrict-constants-in-patterns/allow-use-behind-cousin-variant.rs +tests/ui/rfcs/rfc-1445-restrict-constants-in-patterns/match-empty-array-allowed-without-eq-issue-62336.rs +tests/ui/rfcs/rfc-1445-restrict-constants-in-patterns/phantom-data-is-structurally-matchable.rs +tests/ui/rfcs/rfc-1857-stabilize-drop-order/drop-order.rs +tests/ui/rfcs/rfc-2497-if-let-chains/protect-precedences.rs +tests/ui/rfcs/rfc-2008-non-exhaustive/variants_same_crate.rs +tests/ui/rfcs/rfc-2008-non-exhaustive/enum_same_crate.rs +tests/ui/rfcs/rfc-2008-non-exhaustive/structs_same_crate.rs +tests/ui/ptr_ops/ptr-swap-basic.rs +tests/ui/ptr_ops/ptr-swap-overlapping-regions.rs +tests/ui/ptr_ops/issue-80309-safe.rs +tests/ui/ptr_ops/ptr-write-bool-representation.rs +tests/ui/ptr_ops/issue-80309.rs +tests/ui/ptr_ops/raw-pointer-type-basic.rs +tests/ui/layout/null-pointer-optimization.rs +tests/ui/layout/aggregate-lang/union-align.rs +tests/ui/layout/aggregate-lang/union-size.rs +tests/ui/layout/aggregate-lang/struct-align.rs +tests/ui/layout/aggregate-lang/struct-size.rs +tests/ui/layout/aggregate-lang/union-offsets.rs +tests/ui/layout/issue-60431-unsized-tail-behind-projection.rs +tests/ui/layout/issue-112048-unsizing-niche.rs +tests/ui/layout/issue-112048-unsizing-field-order.rs +tests/ui/layout/null-pointer-optimization-sizes.rs +tests/ui/layout/randomize.rs +tests/ui/layout/big-type-no-err.rs +tests/ui/statics/static-function-pointer.rs +tests/ui/statics/static-methods-in-traits2.rs +tests/ui/statics/static-promotion.rs +tests/ui/statics/static-impl.rs +tests/ui/statics/static-method-in-trait-with-tps-intracrate.rs +tests/ui/statics/static-methods-in-traits.rs +tests/ui/statics/issue-17718-static-unsafe-interior.rs +tests/ui/statics/static-recursive.rs +tests/ui/statics/const_generics.rs +tests/ui/statics/issue-17233.rs +tests/ui/lifetimes/rvalue-lifetime-drop-timing.rs +tests/ui/lifetimes/any-lifetime-escape-higher-rank.rs +tests/ui/lifetimes/issue-84604.rs +tests/ui/lifetimes/tail-expr-lock-poisoning.rs +tests/ui/lifetimes/rvalue-cleanup-shortcircuit.rs +tests/ui/lifetimes/temporary-lifetime-extension.rs +tests/ui/hygiene/specialization.rs +tests/ui/hygiene/lambda-var-hygiene.rs +tests/ui/hygiene/issue-40847.rs +tests/ui/hygiene/hygiene-dodging-1.rs +tests/ui/hygiene/issue-15221.rs +tests/ui/hygiene/hygienic-labels-in-let.rs +tests/ui/hygiene/macro-metavars-legacy.rs +tests/ui/hygiene/hygienic-labels.rs +tests/ui/hygiene/macro-metavars-transparent.rs +tests/ui/hygiene/thread-local-not-in-prelude.rs +tests/ui/hygiene/issue-29746.rs +tests/ui/hygiene/hygiene.rs +tests/ui/compiletest-self-test/normalize-with-revision.rs +tests/ui/compiletest-self-test/trim-env-name.rs +tests/ui/compiletest-self-test/test-aux-bin.rs +tests/ui/dynamically-sized-types/dst-field-align.rs +tests/ui/dynamically-sized-types/dst-struct-sole.rs +tests/ui/dynamically-sized-types/dst-coerce-rc.rs +tests/ui/dynamically-sized-types/dst-deref-mut.rs +tests/ui/dynamically-sized-types/dst-coerce-custom.rs +tests/ui/dynamically-sized-types/dst-struct.rs +tests/ui/dynamically-sized-types/dst-deref.rs +tests/ui/dynamically-sized-types/dst-irrefutable-bind.rs +tests/ui/dynamically-sized-types/dst-index.rs +tests/ui/dynamically-sized-types/dst-coercions.rs +tests/ui/dynamically-sized-types/dst-raw.rs +tests/ui/dynamically-sized-types/dst-trait.rs +tests/ui/cfg/cfg_attr.rs +tests/ui/cfg/cfgs-on-items.rs +tests/ui/cfg/cfg-macros-foo.rs +tests/ui/cfg/cfg-target-vendor.rs +tests/ui/cfg/cfg-target-compact.rs +tests/ui/cfg/cfg-target-abi.rs +tests/ui/simd/libm_std_can_float.rs +tests/ui/simd/type-generic-monomorphisation-power-of-two.rs +tests/ui/simd/generics.rs +tests/ui/simd/issue-39720.rs +tests/ui/simd/issue-105439.rs +tests/ui/simd/issue-89193.rs +tests/ui/simd/type-generic-monomorphisation-extern-nonnull-ptr.rs +tests/ui/simd/size-align.rs +tests/ui/simd/repr_packed.rs +tests/ui/simd/intrinsic/generic-gather-scatter-pass.rs +tests/ui/simd/intrinsic/generic-reduction-pass.rs +tests/ui/simd/intrinsic/float-minmax-pass.rs +tests/ui/simd/intrinsic/ptr-cast.rs +tests/ui/simd/intrinsic/generic-bswap-byte.rs +tests/ui/simd/intrinsic/generic-bitmask-pass.rs +tests/ui/simd/intrinsic/generic-as.rs +tests/ui/simd/intrinsic/generic-arithmetic-saturating-pass.rs +tests/ui/simd/intrinsic/generic-comparison-pass.rs +tests/ui/simd/intrinsic/generic-cast-pass.rs +tests/ui/simd/intrinsic/inlining-issue67557.rs +tests/ui/simd/intrinsic/generic-cast-pointer-width.rs +tests/ui/simd/intrinsic/generic-select-pass.rs +tests/ui/simd/intrinsic/inlining-issue67557-ice.rs +tests/ui/simd/masked-load-store.rs +tests/ui/simd/simd-bitmask-notpow2.rs +tests/ui/simd/issue-85915-simd-ptrs.rs +tests/ui/simd/issue-17170.rs +tests/ui/simd/simd-bitmask.rs +tests/ui/simd/shuffle.rs +tests/ui/simd/array-type.rs +tests/ui/simd/issue-32947.rs +tests/ui/enum/issue-19340-2.rs +tests/ui/enum/issue-42747.rs +tests/ui/enum/issue-23304-2.rs +tests/ui/enum/issue-23304-1.rs +tests/ui/drop-bounds/drop-bounds-impl-drop.rs +tests/ui/process-termination/process-termination-simple.rs +tests/ui/process-termination/process-termination-blocking-io.rs +tests/ui/intrinsics/panic-uninitialized-zeroed.rs +tests/ui/intrinsics/intrinsic-unreachable.rs +tests/ui/intrinsics/always-gets-overridden.rs +tests/ui/intrinsics/intrinsics-math.rs +tests/ui/intrinsics/intrinsic-raw_eq-const.rs +tests/ui/intrinsics/const-eval-select.rs +tests/ui/intrinsics/intrinsic-volatile.rs +tests/ui/intrinsics/intrinsic-assume.rs +tests/ui/intrinsics/intrinsic-fmuladd.rs +tests/ui/intrinsics/const-eval-select-x86_64.rs +tests/ui/intrinsics/intrinsics-integer.rs +tests/ui/raw-ref-op/raw-ref-op.rs +tests/ui/resolve/primitive-usage.rs +tests/ui/resolve/resolve-issue-2428.rs +tests/ui/resolve/no-std-1.rs +tests/ui/resolve/type-param-local-var-shadowing.rs +tests/ui/resolve/resolve-same-name-struct.rs +tests/ui/resolve/no-std-3.rs +tests/ui/resolve/resolve-pseudo-shadowing.rs +tests/ui/resolve/struct-function-same-name.rs +tests/ui/resolve/blind-item-local-shadow.rs +tests/ui/resolve/no-std-2.rs +tests/ui/resolve/global-scope-resolution.rs +tests/ui/resolve/blind-item-mixed-use-item.rs +tests/ui/fmt/fmt_debug/none.rs +tests/ui/fmt/fmt_debug/shallow.rs +tests/ui/fmt/fmt_debug/full.rs +tests/ui/fmt/issue-23781.rs +tests/ui/fmt/println-debug-different-types.rs +tests/ui/fmt/format-args-capture.rs +tests/ui/fmt/debug-single-call.rs +tests/ui/fmt/format-args-capture-macro-hygiene-pass.rs +tests/ui/non_modrs_mods/non_modrs_mods.rs +tests/ui/return/return-nil.rs +tests/ui/return/ret-bang.rs +tests/ui/explicit-tail-calls/ctfe-collatz-multi-rec.rs +tests/ui/static/issue-1660.rs +tests/ui/static/refer-to-other-statics-by-value.rs +tests/ui/imports/import-prefix-macro.rs +tests/ui/imports/import5.rs +tests/ui/imports/import-glob-crate.rs +tests/ui/imports/import2-rpass.rs +tests/ui/imports/import7.rs +tests/ui/imports/import-rpass.rs +tests/ui/imports/import8.rs +tests/ui/imports/import-rename.rs +tests/ui/imports/reexport-star.rs +tests/ui/imports/use-mod.rs +tests/ui/imports/issue-4865-3.rs +tests/ui/imports/import3-rpass.rs +tests/ui/imports/extern-crate-self/extern-crate-self-macro-alias.rs +tests/ui/imports/extern-crate-self/extern-crate-self-macro-self.rs +tests/ui/imports/import-from.rs +tests/ui/imports/import-trailing-comma.rs +tests/ui/imports/issue-4865-2.rs +tests/ui/imports/global-path-resolution-drop.rs +tests/ui/imports/import4-rpass.rs +tests/ui/imports/import-in-block.rs +tests/ui/imports/issue-4865-1.rs +tests/ui/imports/import-glob-0-rpass.rs +tests/ui/imports/export-multi.rs +tests/ui/imports/import6.rs +tests/ui/function-pointer/function-pointer-comparison-issue-54685.rs +tests/ui/associated-consts/associated-const-in-global-const.rs +tests/ui/associated-consts/associated-const-use-default.rs +tests/ui/associated-consts/associated-const-public-impl.rs +tests/ui/associated-consts/associated-const-const-eval.rs +tests/ui/associated-consts/mismatched_impl_ty_1.rs +tests/ui/associated-consts/associated-const-overwrite-default.rs +tests/ui/associated-consts/associated-const-self-type.rs +tests/ui/associated-consts/assoc-const.rs +tests/ui/associated-consts/defaults-not-assumed-pass.rs +tests/ui/associated-consts/associated-const-type-parameters.rs +tests/ui/associated-consts/associated-const-range-match-patterns.rs +tests/ui/associated-consts/associated-const-use-impl-of-same-trait.rs +tests/ui/associated-consts/mismatched_impl_ty_2.rs +tests/ui/associated-consts/defaults-cyclic-pass.rs +tests/ui/associated-consts/associated-const-ufcs-infer-trait.rs +tests/ui/associated-consts/associated-const-resolution-order.rs +tests/ui/associated-consts/associated-const-marks-live-code.rs +tests/ui/associated-consts/associated-const-inherent-impl.rs +tests/ui/associated-consts/mismatched_impl_ty_3.rs +tests/ui/associated-consts/associated-const.rs +tests/ui/closures/old-closure-arg-call-as.rs +tests/ui/closures/old-closure-iter-2.rs +tests/ui/closures/issue-42463.rs +tests/ui/closures/issue-1460.rs +tests/ui/closures/issue-5239-2.rs +tests/ui/closures/2229_closure_analysis/match/issue-87426.rs +tests/ui/closures/2229_closure_analysis/match/issue-87988.rs +tests/ui/closures/2229_closure_analysis/match/issue-87097.rs +tests/ui/closures/2229_closure_analysis/run_pass/issue-88372.rs +tests/ui/closures/2229_closure_analysis/run_pass/multilevel-path-3.rs +tests/ui/closures/2229_closure_analysis/run_pass/unsafe_ptr.rs +tests/ui/closures/2229_closure_analysis/run_pass/fru_syntax.rs +tests/ui/closures/2229_closure_analysis/run_pass/disjoint-capture-in-same-closure.rs +tests/ui/closures/2229_closure_analysis/run_pass/by_value.rs +tests/ui/closures/2229_closure_analysis/run_pass/mut_ref.rs +tests/ui/closures/2229_closure_analysis/run_pass/move_closure.rs +tests/ui/closures/2229_closure_analysis/run_pass/mut_ref_struct_mem.rs +tests/ui/closures/2229_closure_analysis/preserve_field_drop_order2.rs +tests/ui/closures/2229_closure_analysis/migrations/unpin_no_migration.rs +tests/ui/closures/2229_closure_analysis/migrations/issue-78720.rs +tests/ui/closures/2229_closure_analysis/migrations/precise_no_migrations.rs +tests/ui/closures/2229_closure_analysis/migrations/no_migrations.rs +tests/ui/closures/2229_closure_analysis/migrations/insignificant_drop_attr_no_migrations.rs +tests/ui/closures/old-closure-expr-precedence.rs +tests/ui/closures/semistatement-in-lambda.rs +tests/ui/closures/old-closure-arg.rs +tests/ui/closures/old-closure-iter-1.rs +tests/ui/closures/issue-22864-1.rs +tests/ui/closures/closure-upvar-last-use-analysis.rs +tests/ui/closures/basic-closure-syntax.rs +tests/ui/closures/issue-10682.rs +tests/ui/closures/once-move-out-on-heap.rs +tests/ui/closures/issue-22864-2.rs +tests/ui/closures/closure_no_cap_coerce_many_run_pass.rs +tests/ui/closures/old-closure-fn-coerce.rs +tests/ui/closures/closure-capture-after-clone.rs +tests/ui/closures/many-closures.rs +tests/ui/closures/old-closure-explicit-types.rs +tests/ui/closures/closure-last-use-move.rs +tests/ui/closures/closure_no_cap_coerce_many_unsafe_1.rs +tests/ui/closures/issue-868.rs +tests/ui/closures/no-capture-closure-call.rs +tests/ui/cast/cast-to-infer-ty.rs +tests/ui/cast/cast-does-fallback.rs +tests/ui/cast/cast-rfc0401.rs +tests/ui/cast/fat-ptr-cast-rpass.rs +tests/ui/cast/coercion-as-explicit-cast.rs +tests/ui/cast/cast-rfc0401-vtable-kinds.rs +tests/ui/cast/cast-region-to-uint.rs +tests/ui/cast/codegen-object-shim.rs +tests/ui/cast/supported-cast.rs +tests/ui/cast/cast.rs +tests/ui/borrowck/borrowck-borrow-from-expr-block.rs +tests/ui/borrowck/borrowck-box-sensitivity.rs +tests/ui/borrowck/borrowck-closures-two-imm.rs +tests/ui/borrowck/two-phase-baseline.rs +tests/ui/borrowck/borrowck-lend-args.rs +tests/ui/borrowck/borrowck-move-by-capture-ok.rs +tests/ui/borrowck/issue-29166.rs +tests/ui/borrowck/borrowck-trait-lifetime.rs +tests/ui/borrowck/two-phase-multiple-activations.rs +tests/ui/borrowck/borrowck-pat-enum.rs +tests/ui/borrowck/borrowck-multiple-borrows-interior-boxes.rs +tests/ui/borrowck/issue-51348-multi-ref-mut-in-guard.rs +tests/ui/borrowck/borrowck-field-sensitivity-rpass.rs +tests/ui/borrowck/borrowck-assign-to-subfield.rs +tests/ui/borrowck/borrowck-mut-uniq.rs +tests/ui/borrowck/borrowck-static-item-in-fn.rs +tests/ui/borrowck/borrowck-fixed-length-vecs.rs +tests/ui/borrowck/borrowck-use-mut-borrow-rpass.rs +tests/ui/borrowck/issue-23338-params-outlive-temps-of-body.rs +tests/ui/borrowck/borrowck-rvalues-mutable.rs +tests/ui/borrowck/borrowck-univariant-enum.rs +tests/ui/borrowck/fsu-moves-and-copies.rs +tests/ui/borrowck/borrowck-unused-mut-locals.rs +tests/ui/borrowck/borrowck-freeze-frozen-mut.rs +tests/ui/borrowck/two-phase-bin-ops.rs +tests/ui/borrowck/issue-52967-edition-2018-needs-two-phase-borrows.rs +tests/ui/borrowck/two-phase-method-receivers.rs +tests/ui/borrowck/borrowck-scope-of-deref-issue-4666.rs +tests/ui/borrowck/borrowck-binding-mutbl.rs +tests/ui/borrowck/borrowck-mut-vec-as-imm-slice.rs +tests/ui/borrowck/borrowck-borrow-of-mut-base-ptr-safe.rs +tests/ui/borrowck/borrowck-pat-reassign-no-binding.rs +tests/ui/borrowck/borrowck-unsafe-static-mutable-borrows.rs +tests/ui/borrowck/borrowck-slice-pattern-element-loan-rpass.rs +tests/ui/borrowck/borrowck-uniq-via-ref.rs +tests/ui/borrowck/two-phase-control-flow-split-before-activation.rs +tests/ui/borrowck/issue-46095.rs +tests/ui/borrowck/lazy-init.rs +tests/ui/borrowck/borrowck-closures-slice-patterns-ok.rs +tests/ui/methods/method-self-arg.rs +tests/ui/methods/method-probe-no-guessing-dyn-trait.rs +tests/ui/methods/method-early-bound-lifetimes-on-self.rs +tests/ui/methods/method-self-arg-trait.rs +tests/ui/methods/method-two-trait-defer-resolution-1.rs +tests/ui/methods/call_method_unknown_referent2.rs +tests/ui/methods/inherent-methods-same-name.rs +tests/ui/methods/method-mut-self-modifies-mut-slice-lvalue.rs +tests/ui/methods/method-where-clause.rs +tests/ui/methods/method-recursive-blanket-impl.rs +tests/ui/methods/method-two-trait-defer-resolution-2.rs +tests/ui/methods/method-argument-inference-associated-type.rs +tests/ui/methods/method-projection.rs +tests/ui/methods/method-two-traits-distinguished-via-where-clause.rs +tests/ui/lowering/issue-96847.rs +tests/ui/numbers-arithmetic/overflow-attribute-works-1.rs +tests/ui/numbers-arithmetic/saturating-float-casts.rs +tests/ui/numbers-arithmetic/u8-incr-decr.rs +tests/ui/numbers-arithmetic/unary-minus-suffix-inference.rs +tests/ui/numbers-arithmetic/int-abs-overflow.rs +tests/ui/numbers-arithmetic/isize-base.rs +tests/ui/numbers-arithmetic/u128-as-f32.rs +tests/ui/numbers-arithmetic/u8-incr.rs +tests/ui/numbers-arithmetic/f16-f128-lit.rs +tests/ui/numbers-arithmetic/i128.rs +tests/ui/numbers-arithmetic/shift.rs +tests/ui/numbers-arithmetic/bitwise-ops-platform.rs +tests/ui/numbers-arithmetic/u128.rs +tests/ui/numbers-arithmetic/float_math.rs +tests/ui/numbers-arithmetic/i32-sub.rs +tests/ui/numbers-arithmetic/float-signature.rs +tests/ui/numbers-arithmetic/float2.rs +tests/ui/numbers-arithmetic/numeric-method-autoexport.rs +tests/ui/numbers-arithmetic/float-int-invalid-const-cast.rs +tests/ui/numbers-arithmetic/u32-decr.rs +tests/ui/numbers-arithmetic/issue-8460.rs +tests/ui/numbers-arithmetic/shift-various-types.rs +tests/ui/numbers-arithmetic/float-literal-inference.rs +tests/ui/numbers-arithmetic/shift-near-oflo.rs +tests/ui/numbers-arithmetic/overflow-attribute-works-2.rs +tests/ui/numbers-arithmetic/integer-literal-suffix-inference-3.rs +tests/ui/numbers-arithmetic/next-power-of-two-overflow-debug.rs +tests/ui/numbers-arithmetic/apfloat-modulo-wrong.rs +tests/ui/numbers-arithmetic/div-mod.rs +tests/ui/numbers-arithmetic/usize-base.rs +tests/ui/numbers-arithmetic/float.rs +tests/ui/numbers-arithmetic/integer-literal-suffix-inference-2.rs +tests/ui/numbers-arithmetic/signed-shift-const-eval.rs +tests/ui/numbers-arithmetic/arith-unsigned.rs +tests/ui/numbers-arithmetic/i8-incr.rs +tests/ui/numbers-arithmetic/float-nan.rs +tests/ui/numbers-arithmetic/next-power-of-two-overflow-ndebug.rs +tests/ui/numbers-arithmetic/floatlits.rs +tests/ui/numbers-arithmetic/integer-literal-radix.rs +tests/ui/numbers-arithmetic/saturating-float-casts-wasm.rs +tests/ui/numbers-arithmetic/num-wrapping.rs +tests/ui/numbers-arithmetic/integer-literal-suffix-inference.rs +tests/ui/lto/thin-lto-inlines.rs +tests/ui/lto/weak-works.rs +tests/ui/lto/fat-lto.rs +tests/ui/lto/all-crates.rs +tests/ui/lto/lto-many-codegen-units.rs +tests/ui/lto/lto-still-runs-thread-dtors.rs +tests/ui/repr/repr_c_int_align.rs +tests/ui/repr/aligned_enum_cast.rs +tests/ui/repr/align-with-extern-c-fn.rs +tests/ui/late-bound-lifetimes/issue-36381.rs +tests/ui/underscore-lifetime/basic-underscore-lifetime-elision.rs +tests/ui/lexer/lex-bare-cr-nondoc-comment.rs +tests/ui/lexer/floating-point-0e10-issue-40408.rs +tests/ui/lexer/lexer-crlf-line-endings-string-literal-doc-comment.rs +tests/ui/attributes/tool_attributes.rs +tests/ui/attributes/z-crate-attr/respect-existing-attrs.rs +tests/ui/symbol-names/struct-constructor-mangling.rs +tests/ui/where-clauses/where-clause-early-bound-lifetimes.rs +tests/ui/where-clauses/where-clauses-lifetimes.rs +tests/ui/where-clauses/where-clauses.rs +tests/ui/where-clauses/issue-50825.rs +tests/ui/where-clauses/where-clause-region-outlives.rs +tests/ui/where-clauses/where-clauses-unboxed-closures.rs +tests/ui/where-clauses/where-clause-method-substituion-rpass.rs +tests/ui/where-clauses/where-clauses-method.rs +tests/ui/panics/panic-during-display-formatting.rs +tests/ui/panics/unwind-force-no-unwind-tables.rs +tests/ui/panics/catch-unwind-bang.rs +tests/ui/panics/abort-on-panic.rs +tests/ui/panics/panic-handler-chain-update-hook.rs +tests/ui/panics/panic-handler-set-twice.rs +tests/ui/panics/nested_panic_caught.rs +tests/ui/panics/panic-handler-chain.rs +tests/ui/panics/panic-recover-propagate.rs +tests/ui/panics/panic-in-dtor-drops-fields.rs +tests/ui/panics/panic-handler-flail-wildly.rs +tests/ui/panics/oom-panic-unwind.rs +tests/ui/panics/rvalue-cleanup-during-box-panic.rs +tests/ui/async-await/context-is-sorta-unwindsafe.rs +tests/ui/extern/extern-prelude-core.rs +tests/ui/extern/extern-compare-with-return-type.rs +tests/ui/extern/issue-13655.rs +tests/ui/extern/extern-1.rs +tests/ui/extern/extern-prelude-std.rs +tests/ui/extern/issue-64655-extern-rust-must-allow-unwind.rs +tests/ui/extern/extern-prelude-no-speculative.rs +tests/ui/extern/issue-64655-allow-unwind-when-calling-panic-directly.rs +tests/ui/extern/issue-10025.rs +tests/ui/extern/extern-vectorcall.rs +tests/ui/let-else/let-else-drop-order.rs +tests/ui/let-else/issue-99975.rs +tests/ui/let-else/let-else-temporary-lifetime.rs +tests/ui/let-else/let-else-bindings.rs +tests/ui/let-else/const-fn.rs +tests/ui/let-else/let-else-source-expr-nomove-pass.rs +tests/ui/let-else/let-else.rs +tests/ui/let-else/let-else-temp-borrowck.rs +tests/ui/let-else/let-else-non-copy.rs +tests/ui/let-else/let-else-run-pass.rs +tests/ui/array-slice-vec/copy-out-of-array-1.rs +tests/ui/array-slice-vec/mutability-inherits-through-fixed-length-vec.rs +tests/ui/array-slice-vec/subslice-patterns-const-eval.rs +tests/ui/array-slice-vec/evec-slice.rs +tests/ui/array-slice-vec/vec-macro-with-brackets.rs +tests/ui/array-slice-vec/issue-15730.rs +tests/ui/array-slice-vec/vec-tail-matching.rs +tests/ui/array-slice-vec/vec-matching-autoslice.rs +tests/ui/array-slice-vec/vec-dst.rs +tests/ui/array-slice-vec/fixed_length_copy.rs +tests/ui/array-slice-vec/vector-no-ann-2.rs +tests/ui/array-slice-vec/vec-late-init.rs +tests/ui/array-slice-vec/vec-matching-legal-tail-element-borrow.rs +tests/ui/array-slice-vec/slice-of-zero-size-elements.rs +tests/ui/array-slice-vec/new-style-fixed-length-vec.rs +tests/ui/array-slice-vec/vec-matching-fixed.rs +tests/ui/array-slice-vec/box-of-array-of-drop-1.rs +tests/ui/array-slice-vec/vec-macro-with-trailing-comma.rs +tests/ui/array-slice-vec/byte-literals.rs +tests/ui/array-slice-vec/vec-matching.rs +tests/ui/array-slice-vec/empty-mutable-vec.rs +tests/ui/array-slice-vec/mutable-alias-vec.rs +tests/ui/array-slice-vec/slice.rs +tests/ui/array-slice-vec/issue-18425.rs +tests/ui/array-slice-vec/ivec-pass-by-value.rs +tests/ui/array-slice-vec/mut-vstore-expr.rs +tests/ui/array-slice-vec/nested-vec-3.rs +tests/ui/array-slice-vec/slice-panic-2.rs +tests/ui/array-slice-vec/vec-matching-fold.rs +tests/ui/array-slice-vec/repeated-vector-syntax.rs +tests/ui/array-slice-vec/huge-largest-array.rs +tests/ui/array-slice-vec/nested-vec-1.rs +tests/ui/array-slice-vec/vec-fixed-length.rs +tests/ui/array-slice-vec/rcvr-borrowed-to-slice.rs +tests/ui/array-slice-vec/estr-slice.rs +tests/ui/array-slice-vec/destructure-array-1.rs +tests/ui/array-slice-vec/slice-panic-1.rs +tests/ui/array-slice-vec/show-boxed-slice.rs +tests/ui/array-slice-vec/slice_binary_search.rs +tests/ui/array-slice-vec/array_const_index-2.rs +tests/ui/array-slice-vec/nested-vec-2.rs +tests/ui/array-slice-vec/variance-vec-covariant.rs +tests/ui/array-slice-vec/box-of-array-of-drop-2.rs +tests/ui/array-slice-vec/vec-macro-rvalue-scope.rs +tests/ui/array-slice-vec/check-static-slice.rs +tests/ui/array-slice-vec/vec-repeat-with-cast.rs +tests/ui/array-slice-vec/driftsort-off-by-one-issue-136103.rs +tests/ui/array-slice-vec/subslice-patterns-const-eval-match.rs +tests/ui/array-slice-vec/cast-in-array-size.rs +tests/ui/coherence/coherence-rfc447-constrained.rs +tests/ui/coherence/coherence-where-clause.rs +tests/ui/coherence/coherence-impl-in-fn.rs +tests/ui/panic-runtime/abort.rs +tests/ui/panic-runtime/lto-abort.rs +tests/ui/panic-runtime/lto-unwind.rs +tests/ui/panic-runtime/link-to-unwind.rs +tests/ui/traits/issue-3683.rs +tests/ui/traits/ice-with-dyn-pointee.rs +tests/ui/traits/issue-15155.rs +tests/ui/traits/error-trait-object-from-string.rs +tests/ui/traits/pointee-deduction.rs +tests/ui/traits/where-clause-vs-impl.rs +tests/ui/traits/ufcs-object.rs +tests/ui/traits/multidispatch-conditional-impl-not-considered.rs +tests/ui/traits/bug-7295.rs +tests/ui/traits/bound/in-arc.rs +tests/ui/traits/bound/multiple.rs +tests/ui/traits/bound/generic_trait.rs +tests/ui/traits/superdefault-generics.rs +tests/ui/traits/typeclasses-eq-example.rs +tests/ui/traits/impl-inherent-prefer-over-trait.rs +tests/ui/traits/coercion-generic.rs +tests/ui/traits/region-pointer-simple.rs +tests/ui/traits/issue-26339.rs +tests/ui/traits/inheritance/cross-trait-call.rs +tests/ui/traits/inheritance/static2.rs +tests/ui/traits/inheritance/call-bound-inherited2.rs +tests/ui/traits/inheritance/overloading.rs +tests/ui/traits/inheritance/multiple-params.rs +tests/ui/traits/inheritance/cast-without-call-to-supertrait.rs +tests/ui/traits/inheritance/simple.rs +tests/ui/traits/inheritance/diamond.rs +tests/ui/traits/inheritance/auto.rs +tests/ui/traits/inheritance/num2.rs +tests/ui/traits/inheritance/visibility.rs +tests/ui/traits/inheritance/multiple-inheritors.rs +tests/ui/traits/inheritance/basic.rs +tests/ui/traits/inheritance/self-in-supertype.rs +tests/ui/traits/inheritance/num3.rs +tests/ui/traits/inheritance/subst.rs +tests/ui/traits/inheritance/subst2.rs +tests/ui/traits/inheritance/overloading-simple.rs +tests/ui/traits/inheritance/num5.rs +tests/ui/traits/inheritance/self.rs +tests/ui/traits/inheritance/call-bound-inherited.rs +tests/ui/traits/inheritance/cast.rs +tests/ui/traits/inheritance/static.rs +tests/ui/traits/inheritance/repeated-supertrait.rs +tests/ui/traits/clone-unwind-rc-cleanup.rs +tests/ui/traits/trait-object-mut-to-shared-coercion.rs +tests/ui/traits/multidispatch1.rs +tests/ui/traits/encoder-trait-bounds-regression.rs +tests/ui/traits/issue-22110.rs +tests/ui/traits/elaborate-type-region.rs +tests/ui/traits/negative-impls/negated-auto-traits-rpass.rs +tests/ui/traits/dyn-any-prefer-vtable.rs +tests/ui/traits/issue-43132.rs +tests/ui/traits/dyn-drop-principal.rs +tests/ui/traits/issue-18412.rs +tests/ui/traits/alias/import.rs +tests/ui/traits/alias/bounds.rs +tests/ui/traits/alias/object.rs +tests/ui/traits/static-method-overwriting.rs +tests/ui/traits/bug-7183-generics.rs +tests/ui/traits/overlap-permitted-for-marker-traits.rs +tests/ui/traits/alignment-gep-tup-like-1.rs +tests/ui/traits/issue-38033.rs +tests/ui/traits/with-bounds-default.rs +tests/ui/traits/multidispatch-infer-convert-target.rs +tests/ui/traits/issue-5008-borrowed-traitobject-method-call.rs +tests/ui/traits/safety-ok.rs +tests/ui/traits/issue-40085.rs +tests/ui/traits/assignability-trait.rs +tests/ui/traits/default_method_simple.rs +tests/ui/traits/tryfrominterror-result-comparison.rs +tests/ui/traits/multidispatch2.rs +tests/ui/traits/reservation-impl/ok.rs +tests/ui/traits/vtable/impossible-method.rs +tests/ui/traits/to-str.rs +tests/ui/traits/issue-6128.rs +tests/ui/traits/assoc-type-in-supertrait.rs +tests/ui/traits/issue-33096.rs +tests/ui/traits/issue-24010.rs +tests/ui/traits/associated_type_bound/check-trait-object-bounds-2-ok.rs +tests/ui/traits/dyn-trait.rs +tests/ui/traits/issue-23825.rs +tests/ui/traits/virtual-call-parameter-handling.rs +tests/ui/traits/item-inside-macro.rs +tests/ui/traits/issue-3979-generics.rs +tests/ui/traits/generic.rs +tests/ui/traits/next-solver/alias-bound-preference.rs +tests/ui/traits/next-solver/dyn-any-dont-prefer-impl.rs +tests/ui/traits/object/auto-dedup.rs +tests/ui/traits/object/generics.rs +tests/ui/traits/object/lifetime-first.rs +tests/ui/traits/object/exclusion.rs +tests/ui/traits/object/with-lifetime-bound.rs +tests/ui/traits/object/ambiguity-vtable-segfault.rs +tests/ui/traits/coercion.rs +tests/ui/traits/object-one-type-two-traits.rs +tests/ui/traits/issue-9394-inherited-calls.rs +tests/ui/traits/trait-upcasting/multiple-supertraits-modulo-binder.rs +tests/ui/traits/typeclasses-eq-example-static.rs +tests/ui/traits/early-vtbl-resolution.rs +tests/ui/traits/impl-implicit-trait.rs +tests/ui/traits/principal-less-objects.rs +tests/ui/traits/fmt-pointer-trait.rs +tests/ui/traits/monomorphized-callees-with-ty-params-3314.rs +tests/ui/traits/issue-4107.rs +tests/ui/traits/default-method/macro.rs +tests/ui/traits/default-method/bound-subst3.rs +tests/ui/traits/default-method/trivial.rs +tests/ui/traits/default-method/bound-subst4.rs +tests/ui/traits/default-method/bound-subst2.rs +tests/ui/traits/default-method/bound-subst.rs +tests/ui/traits/default-method/bound.rs +tests/ui/traits/default-method/self.rs +tests/ui/traits/default-method/supervtable.rs +tests/ui/traits/impl-object-overlap-issue-23853.rs +tests/ui/traits/inherent-method-order.rs +tests/ui/traits/objects-owned-object-borrowed-method-headerless.rs +tests/ui/traits/conditional-dispatch.rs +tests/ui/traits/issue-22655.rs +tests/ui/traits/false-ambiguity-where-clause-builtin-bound.rs +tests/ui/traits/anon-static-method.rs +tests/ui/traits/static-outlives-a-where-clause.rs +tests/ui/traits/issue-6334.rs +tests/ui/traits/monad.rs +tests/ui/traits/kindck-owned-contains-1.rs +tests/ui/sized/coinductive-2.rs +tests/ui/command/command-exec.rs +tests/ui/command/command-argv0.rs +tests/ui/command/issue-10626.rs +tests/ui/command/command-setgroups.rs +tests/ui/command/command-current-dir.rs +tests/ui/command/command-pre-exec.rs +tests/ui/command/command-uid-gid.rs +tests/ui/iterators/iter-range.rs +tests/ui/iterators/skip-count-overflow.rs +tests/ui/iterators/iter-step-overflow-ndebug.rs +tests/ui/iterators/iter-position-overflow-debug.rs +tests/ui/iterators/iter-sum-overflow-debug.rs +tests/ui/iterators/iter-sum-overflow-overflow-checks.rs +tests/ui/iterators/iter-cloned-type-inference.rs +tests/ui/iterators/iter-count-overflow-debug.rs +tests/ui/iterators/iter-map-fold-type-length.rs +tests/ui/iterators/iter-step-overflow-debug.rs +tests/ui/iterators/iter-sum-overflow-ndebug.rs +tests/ui/iterators/iter-position-overflow-ndebug.rs +tests/ui/iterators/iter-count-overflow-ndebug.rs tests/ui/generics/issue-333.rs -tests/ui/generics/issue-32498.rs -tests/ui/generics/generic-derived-type.rs -tests/ui/generics/generic-fn.rs -tests/ui/generics/mid-path-type-params.rs -tests/ui/generics/generic-static-methods.rs -tests/ui/generics/generic-type.rs -tests/ui/generics/generic-object.rs -tests/ui/generics/autobind.rs -tests/ui/generics/generic-ivec-leak.rs -tests/ui/generics/generic-extern-mangle.rs -tests/ui/generics/generic-recursive-tag.rs -tests/ui/generics/issue-1112.rs +tests/ui/generics/generic-temporary.rs +tests/ui/generics/generic-newtype-struct.rs tests/ui/generics/generic-tag.rs -tests/ui/generics/generic-tup.rs -tests/ui/generics/generic-unique.rs -tests/ui/generics/generic-tag-match.rs -tests/ui/generics/generic-exterior-unique.rs +tests/ui/generics/generic-default-type-params.rs +tests/ui/generics/autobind.rs +tests/ui/generics/generic-fn-twice.rs +tests/ui/generics/issue-2936.rs +tests/ui/generics/issue-32498.rs +tests/ui/generics/issue-1112.rs +tests/ui/generics/generic-fn.rs +tests/ui/generics/generic-tag-corruption.rs tests/ui/generics/generic-tag-values.rs -tests/ui/generics/generic-tag-local.rs -tests/ui/generics/generic-temporary.rs -tests/ui/generics/generic-fn-infer.rs tests/ui/generics/issue-94923.rs -tests/ui/generics/generic-default-type-params.rs tests/ui/generics/generic-fn-unique.rs -tests/ui/log-poly.rs +tests/ui/generics/generic-unique.rs +tests/ui/generics/generic-derived-type.rs +tests/ui/generics/mid-path-type-params.rs +tests/ui/generics/generic-exterior-unique.rs +tests/ui/generics/generic-tag-match.rs +tests/ui/generics/generic-recursive-tag.rs +tests/ui/generics/generic-fn-infer.rs +tests/ui/generics/generic-type.rs +tests/ui/generics/generic-alias-unique.rs +tests/ui/generics/generic-tup.rs +tests/ui/generics/generic-tag-local.rs +tests/ui/generics/newtype-with-generics.rs +tests/ui/generics/empty-generic-brackets-equiv.rs +tests/ui/generics/generic-static-methods.rs +tests/ui/generics/generic-ivec-leak.rs +tests/ui/generics/generic-extern-mangle.rs +tests/ui/generics/generic-object.rs +tests/ui/target-feature/target-feature-detection.rs +tests/ui/type/unit-type-basic-usages.rs +tests/ui/type/type-name-basic.rs +tests/ui/type/issue-94187-verbose-type-name.rs +tests/ui/type/mutually-recursive-types.rs +tests/ui/type/type-ascription.rs +tests/ui/box/unit/unique-in-vec-copy.rs +tests/ui/box/unit/unique-init.rs +tests/ui/box/unit/unique-fn-arg.rs +tests/ui/box/unit/unique-move-temp.rs +tests/ui/box/unit/unique-decl-init-copy.rs +tests/ui/box/unit/unique-autoderef-field.rs +tests/ui/box/unit/unique-drop-complex.rs +tests/ui/box/unit/unique-assign-generic.rs +tests/ui/box/unit/unique-fn-arg-move.rs +tests/ui/box/unit/unique-kinds.rs +tests/ui/box/unit/unique-send-2.rs +tests/ui/box/unit/expr-if-unique.rs +tests/ui/box/unit/unique-cmp.rs +tests/ui/box/unit/unique-rec.rs +tests/ui/box/unit/unique-object-move.rs +tests/ui/box/unit/expr-block-generic-unique2.rs +tests/ui/box/unit/unique-create.rs +tests/ui/box/unit/unique-containing-tag.rs +tests/ui/box/unit/unique-assign-copy.rs +tests/ui/box/unit/expr-block-generic-unique1.rs +tests/ui/box/unit/unique-swap.rs +tests/ui/box/unit/unique-move-drop.rs +tests/ui/box/unit/unique-move.rs +tests/ui/box/unit/unique-send.rs +tests/ui/box/unit/unique-assign-drop.rs +tests/ui/box/unit/unique-deref.rs +tests/ui/box/unit/unique-mutable.rs +tests/ui/box/unit/unwind-unique.rs +tests/ui/box/unit/unique-assign.rs +tests/ui/box/unit/unique-destructure.rs +tests/ui/box/unit/unique-decl-move.rs +tests/ui/box/unit/unique-fn-ret.rs +tests/ui/box/unit/unique-pat-2.rs +tests/ui/box/unit/unique-autoderef-index.rs +tests/ui/box/unit/unique-in-vec.rs +tests/ui/box/unit/unique-fn-arg-mut.rs +tests/ui/box/unit/unique-ffi-symbols.rs +tests/ui/box/unit/unique-decl.rs +tests/ui/box/unit/unique-log.rs +tests/ui/box/unit/unique-pat-3.rs +tests/ui/box/unit/unique-pat.rs +tests/ui/box/unit/unique-decl-init.rs +tests/ui/box/unit/unique-in-tag.rs +tests/ui/box/into-boxed-slice.rs +tests/ui/box/new.rs +tests/ui/box/new-box-syntax.rs +tests/ui/box/thin_drop.rs +tests/ui/box/new-box.rs +tests/ui/box/alloc-unstable.rs +tests/ui/box/thin_align.rs +tests/ui/box/empty-alloc-deref-rvalue.rs +tests/ui/box/thin_zst.rs +tests/ui/box/thin_new.rs +tests/ui/specialization/specialization-translate-projections-with-lifetimes.rs +tests/ui/specialization/specialization-basics.rs +tests/ui/specialization/soundness/partial_ord_slice.rs +tests/ui/specialization/soundness/partial_eq_range_inclusive.rs +tests/ui/specialization/specialization-translate-projections-with-params.rs +tests/ui/specialization/specialization-assoc-fns.rs +tests/ui/specialization/specialization-projection.rs +tests/ui/specialization/issue-50452.rs +tests/ui/specialization/transmute-specialization.rs +tests/ui/specialization/specialization-default-methods.rs +tests/ui/specialization/specialization-translate-projections.rs +tests/ui/specialization/defaultimpl/specialization-trait-item-not-implemented-rpass.rs +tests/ui/specialization/defaultimpl/projection.rs +tests/ui/specialization/specialization-projection-alias.rs +tests/ui/typeck/inference-method-chain-diverging-fallback.rs +tests/ui/typeck/issue-2063.rs +tests/ui/typeck/typeck-fn-to-unsafe-fn-ptr.rs +tests/ui/typeck/nested-generic-traits-performance.rs +tests/ui/typeck/ufcs-type-params.rs +tests/ui/typeck/typeck_type_placeholder_1.rs +tests/ui/typeck/unify-return-ty.rs +tests/ui/typeck/issue-18937-1.rs +tests/ui/typeck/typeck-closure-to-unsafe-fn-ptr.rs +tests/ui/process/issue-14456.rs +tests/ui/process/no-stdio.rs +tests/ui/process/multi-panic.rs +tests/ui/process/win-command-curdir-no-verbatim.rs +tests/ui/process/process-status-inherits-stdin.rs +tests/ui/process/issue-16272.rs +tests/ui/process/issue-30490.rs +tests/ui/process/env-args-reverse-iterator.rs +tests/ui/process/process-sigpipe.rs +tests/ui/process/process-exit.rs +tests/ui/process/issue-13304.rs +tests/ui/process/fds-are-cloexec.rs +tests/ui/process/env-vars.rs +tests/ui/process/exec-env.rs +tests/ui/process/try-wait.rs +tests/ui/process/process-panic-after-fork.rs +tests/ui/process/process-spawn-with-unicode-params.rs +tests/ui/process/issue-14940.rs +tests/ui/process/process-spawn-failure.rs +tests/ui/process/inherit-env.rs +tests/ui/process/sigpipe-should-be-ignored.rs +tests/ui/process/process-envs.rs +tests/ui/process/println-with-broken-pipe.rs +tests/ui/process/process-spawn-nonexistent.rs +tests/ui/process/signal-exit-status.rs +tests/ui/process/nofile-limit.rs +tests/ui/process/process-remove-from-env.rs +tests/ui/io-checks/stdout-stderr-separation.rs +tests/ui/io-checks/write-macro-error.rs +tests/ui/io-checks/io-stdout-blocking-writes.rs +tests/ui/liveness/liveness-assign-imm-local-after-ret.rs +tests/ui/associated-types/associated-types-binding-in-where-clause.rs +tests/ui/associated-types/associated-types-duplicate-binding-in-env-hrtb.rs +tests/ui/associated-types/associated-types-doubleendediterator-object.rs +tests/ui/associated-types/associated-types-struct-field-named.rs +tests/ui/associated-types/associated-types-from-supertrait.rs +tests/ui/associated-types/default-associated-types.rs +tests/ui/associated-types/associated-types-region-erasure-issue-20582.rs +tests/ui/associated-types/associated-types-in-fn.rs +tests/ui/associated-types/issue-47139-1.rs +tests/ui/associated-types/issue-27901.rs +tests/ui/associated-types/associated-types-sugar-path.rs +tests/ui/associated-types/associated-types-in-inherent-method.rs +tests/ui/associated-types/associated-types-conditional-dispatch.rs +tests/ui/associated-types/issue-55846.rs +tests/ui/associated-types/issue-23208.rs +tests/ui/associated-types/associated-types-constant-type.rs +tests/ui/associated-types/associated-types-ref-in-struct-literal.rs +tests/ui/associated-types/associated-types-projection-from-known-type-in-impl.rs +tests/ui/associated-types/associated-types-projection-in-supertrait.rs +tests/ui/associated-types/associated-types-enum-field-numbered.rs +tests/ui/associated-types/associated-types-ref-from-struct.rs +tests/ui/associated-types/issue-54467.rs +tests/ui/associated-types/associated-types-bound.rs +tests/ui/associated-types/issue-47139-2.rs +tests/ui/associated-types/issue-18655.rs +tests/ui/associated-types/associated-item-long-paths.rs +tests/ui/associated-types/associated-types-basic.rs +tests/ui/associated-types/associated-types-struct-field-numbered.rs +tests/ui/associated-types/associated-types-project-from-type-param-via-bound-in-where.rs +tests/ui/associated-types/associated-types-in-default-method.rs +tests/ui/associated-types/associated-types-enum-field-named.rs +tests/ui/associated-types/associated-types-in-impl-generics.rs +tests/ui/associated-types/associated-types-issue-21212.rs +tests/ui/associated-types/issue-22828.rs +tests/ui/associated-types/issue-54182-1.rs +tests/ui/associated-types/associated-types-projection-in-where-clause.rs +tests/ui/associated-types/associated-types-stream.rs +tests/ui/associated-types/associated-types-nested-projections.rs +tests/ui/associated-types/associated-types-eq-obj.rs +tests/ui/associated-types/associated-types-normalize-unifield-struct.rs +tests/ui/associated-types/associated-types-simple.rs +tests/ui/associated-types/associated-types-iterator-binding.rs +tests/ui/associated-types/associated-types-issue-20220.rs +tests/ui/associated-types/issue-25700-2.rs +tests/ui/associated-types/associated-types-binding-in-trait.rs +tests/ui/associated-types/object-method-numbering.rs +tests/ui/associated-types/issue-25700-1.rs +tests/ui/associated-types/associated-types-duplicate-binding-in-env.rs +tests/ui/associated-types/associated-types-method.rs +tests/ui/associated-types/associated-types-return.rs +tests/ui/associated-types/issue-25339.rs +tests/ui/expr/weird-exprs.rs +tests/ui/expr/block-generic.rs +tests/ui/expr/copy.rs +tests/ui/expr/if-generic.rs +tests/ui/expr/compound-assignment/eval-order.rs +tests/ui/expr/block-fn.rs +tests/ui/expr/if/expr-if-panic-pass.rs +tests/ui/expr/if/if-ret.rs +tests/ui/expr/if/if-check.rs +tests/ui/expr/if/expr-if.rs +tests/ui/expr/early-return-in-binop.rs +tests/ui/expr/if-panic-all.rs +tests/ui/expr/block.rs +tests/ui/expr/scope.rs +tests/ui/expr/if-bot.rs +tests/ui/variance/variance-intersection-of-ref-and-opt-ref.rs +tests/ui/generic-associated-types/const-generics-gat-in-trait-return-type-1.rs +tests/ui/generic-associated-types/issue-76826.rs +tests/ui/generic-associated-types/generic-associated-type-bounds.rs +tests/ui/generic-associated-types/const-generics-gat-in-trait-return-type-3.rs +tests/ui/generic-associated-types/const-generics-gat-in-trait-return-type-2.rs +tests/ui/generic-associated-types/iterable.rs +tests/ui/generic-associated-types/collections.rs +tests/ui/generic-associated-types/streaming_iterator.rs +tests/ui/alloc-error/default-alloc-error-hook.rs +tests/ui/abi/stack-probes.rs +tests/ui/abi/mir/mir_codegen_calls_variadic.rs +tests/ui/abi/foreign/foreign-fn-with-byval.rs +tests/ui/abi/x86stdcall2.rs +tests/ui/abi/c-stack-returning-int64.rs +tests/ui/abi/issues/issue-62350-sysv-neg-reg-counts.rs +tests/ui/abi/issues/issue-97463-broken-abi-leaked-uninit-data.rs +tests/ui/abi/union/union-c-interop.rs +tests/ui/abi/issue-28676.rs +tests/ui/abi/segfault-no-out-of-stack.rs +tests/ui/abi/anon-extern-mod.rs +tests/ui/abi/c-stack-as-value.rs +tests/ui/abi/stack-protector.rs +tests/ui/abi/cabi-int-widening.rs +tests/ui/abi/statics/static-mut-foreign.rs +tests/ui/abi/abi-sysv64-arg-passing.rs +tests/ui/abi/nullable-pointer-ffi-compat.rs +tests/ui/abi/numbers-arithmetic/i128-ffi.rs +tests/ui/abi/numbers-arithmetic/return-float.rs +tests/ui/abi/numbers-arithmetic/float-struct.rs +tests/ui/abi/extern/extern-pass-char.rs +tests/ui/abi/extern/extern-call-deep.rs +tests/ui/abi/extern/extern-return-TwoU64s.rs +tests/ui/abi/extern/extern-call-direct.rs +tests/ui/abi/extern/extern-pass-u32.rs +tests/ui/abi/extern/extern-return-TwoU8s.rs +tests/ui/abi/extern/extern-return-FiveU16s.rs +tests/ui/abi/extern/extern-pass-u64.rs +tests/ui/abi/extern/extern-call-deep2.rs +tests/ui/abi/extern/extern-pass-TwoU8s.rs +tests/ui/abi/extern/extern-pass-TwoU64s.rs +tests/ui/abi/extern/extern-call-indirect.rs +tests/ui/abi/extern/extern-pass-TwoU32s.rs +tests/ui/abi/extern/extern-pass-FiveU16s.rs +tests/ui/abi/extern/extern-pass-empty.rs +tests/ui/abi/extern/extern-pass-double.rs +tests/ui/abi/extern/extern-call-scrub.rs +tests/ui/abi/extern/extern-return-TwoU16s.rs +tests/ui/abi/extern/extern-return-TwoU32s.rs +tests/ui/abi/extern/extern-pass-TwoU16s.rs +tests/ui/abi/variadic-ffi.rs +tests/ui/abi/struct-enums/struct-return.rs +tests/ui/packed/packed-tuple-struct-size.rs +tests/ui/packed/packed-struct-optimized-enum.rs +tests/ui/packed/issue-46152.rs +tests/ui/packed/packed-tuple-struct-layout.rs +tests/ui/packed/packed-struct-generic-size.rs +tests/ui/packed/packed-struct-vec.rs +tests/ui/packed/packed-struct-size.rs +tests/ui/packed/packed-struct-drop-aligned.rs +tests/ui/packed/packed-with-inference-vars-issue-61402.rs +tests/ui/packed/dyn-trait.rs +tests/ui/packed/packed-struct-layout.rs +tests/ui/packed/packed-struct-address-of-element.rs +tests/ui/packed/packed-struct-match.rs +tests/ui/packed/issue-118537-field-offset.rs +tests/ui/packed/issue-118537-field-offset-ice.rs +tests/ui/packed/packed-struct-generic-layout.rs