Skip to content

Instantly share code, notes, and snippets.

@tomaka
Created February 15, 2016 06:50
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save tomaka/7370f73bbac4c9054e48 to your computer and use it in GitHub Desktop.
Save tomaka/7370f73bbac4c9054e48 to your computer and use it in GitHub Desktop.
; ModuleID = 'test.0.rs'
target datalayout = "e-p:32:32-i64:64-v128:32:128-n32-S128"
target triple = "asmjs-unknown-emscripten"
%str_slice = type { i8*, i32 }
%"2.core::fmt::Formatter" = type { i32, i32, i8, %"2.core::option::Option<usize>", %"2.core::option::Option<usize>", { i8*, void (i8*)** }, %"2.core::slice::Iter<core::fmt::ArgumentV1>", { %"2.core::fmt::ArgumentV1"*, i32 } }
%"2.core::option::Option<usize>" = type { i32, [0 x i32], [1 x i32] }
%"2.core::slice::Iter<core::fmt::ArgumentV1>" = type { %"2.core::fmt::ArgumentV1"*, %"2.core::fmt::ArgumentV1"*, %"2.core::marker::PhantomData<&'static core::fmt::ArgumentV1>" }
%"2.core::fmt::ArgumentV1" = type { %"2.core::fmt::Void"*, i8 (%"2.core::fmt::Void"*, %"2.core::fmt::Formatter"*)* }
%"2.core::fmt::Void" = type {}
%"2.core::marker::PhantomData<&'static core::fmt::ArgumentV1>" = type {}
%"2.core::marker::PhantomData<&'static mut u8>" = type {}
%"1.std::ffi::c_str::NulError" = type { i32, %"3.collections::vec::Vec<u8>" }
%"3.collections::vec::Vec<u8>" = type { %"5.alloc::raw_vec::RawVec<u8>", i32 }
%"5.alloc::raw_vec::RawVec<u8>" = type { %"2.core::ptr::Unique<u8>", i32 }
%"2.core::ptr::Unique<u8>" = type { %"2.core::nonzero::NonZero<*const u8>", %"2.core::marker::PhantomData<u8>" }
%"2.core::nonzero::NonZero<*const u8>" = type { i8* }
%"2.core::marker::PhantomData<u8>" = type {}
%"2.core::fmt::Write::write_fmt::Adapter<collections::string::String>" = type { %"3.collections::string::String"* }
%"3.collections::string::String" = type { %"3.collections::vec::Vec<u8>" }
%"2.core::fmt::Arguments" = type { { %str_slice*, i32 }, %"2.core::option::Option<&'static [core::fmt::rt::v1::Argument]>", { %"2.core::fmt::ArgumentV1"*, i32 } }
%"2.core::option::Option<&'static [core::fmt::rt::v1::Argument]>" = type { { %"2.core::fmt::rt::v1::Argument"*, i32 } }
%"2.core::fmt::rt::v1::Argument" = type { %"2.core::fmt::rt::v1::Position", %"2.core::fmt::rt::v1::FormatSpec" }
%"2.core::fmt::rt::v1::Position" = type { i32, [0 x i32], [1 x i32] }
%"2.core::fmt::rt::v1::FormatSpec" = type { i32, i8, i32, %"2.core::fmt::rt::v1::Count", %"2.core::fmt::rt::v1::Count" }
%"2.core::fmt::rt::v1::Count" = type { i32, [0 x i32], [1 x i32] }
%"1.std::ffi::c_str::CString" = type { { i8*, i32 } }
%"2.core::result::Result<std::ffi::c_str::CString, std::ffi::c_str::NulError>" = type { i32, [0 x i32], [4 x i32] }
%"1.std::ffi::c_str::CStr" = type { i8 }
%"2.core::result::Result<(), core::fmt::Error>" = type { i8, [0 x i8], [0 x i8] }
%"1.std::sys_common::libunwind::_Unwind_Exception" = type { i64, void (i32, %"1.std::sys_common::libunwind::_Unwind_Exception"*)*, [20 x i32] }
%"1.std::sys_common::libunwind::_Unwind_Context" = type {}
%"2.core::slice::IterMut<u8>" = type { i8*, i8*, %"2.core::marker::PhantomData<&'static mut u8>" }
%"2.core::raw::Slice<u8>" = type { i8*, i32 }
%"2.core::ops::Range<usize>" = type { i32, i32 }
%"2.core::ops::RangeTo<usize>" = type { i32 }
@const4188 = internal unnamed_addr constant { { i8*, i8* } } zeroinitializer, align 4
@_ZN6result13unwrap_failed15__STATIC_FMTSTR20h93f0614df7a757baT2OE = external global { %str_slice*, i32 }
@const4197 = internal unnamed_addr constant i8 (%str_slice*, %"2.core::fmt::Formatter"*)* @"_ZN3fmt25_$RF$$u27$a$u20$T.Display3fmt21h13787651012623919608E", align 4
@const4231 = internal unnamed_addr constant i8 29, align 1
@const4232 = internal unnamed_addr constant i32 488447261, align 4
@const4258 = internal unnamed_addr constant i32 0, align 4
@const4259 = internal unnamed_addr constant i8* inttoptr (i32 1 to i8*), align 4
@const4367 = internal unnamed_addr constant i32 1, align 4
@const4381 = internal unnamed_addr constant i8* null, align 4
@const4400 = internal unnamed_addr constant %"2.core::marker::PhantomData<&'static mut u8>" zeroinitializer, align 1
@str4440 = internal constant [31 x i8] c"arithmetic operation overflowed"
@str4442 = internal constant [26 x i8] c"../src/liballoc/raw_vec.rs"
@panic_loc4443 = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([31 x i8], [31 x i8]* @str4440, i32 0, i32 0), i32 31 }, %str_slice { i8* getelementptr inbounds ([26 x i8], [26 x i8]* @str4442, i32 0, i32 0), i32 26 }, i32 565 }, align 4
@const4447 = internal unnamed_addr constant i8 (%"1.std::ffi::c_str::NulError"*, %"2.core::fmt::Formatter"*)* @_ZN3ffi5c_str27NulError...core..fmt..Debug3fmt20hb134d53edb24185a0yeE, align 4
@_ZN6result13unwrap_failed10_FILE_LINE20h5a713f35311e7081D2OE = external global { %str_slice, i32 }
@str4448 = internal constant [43 x i8] c"called `Result::unwrap()` on an `Err` value"
@const4449 = internal unnamed_addr constant %str_slice { i8* getelementptr inbounds ([43 x i8], [43 x i8]* @str4448, i32 0, i32 0), i32 43 }, align 4
@const4491 = internal unnamed_addr constant i32 -1, align 4
@const4495 = internal unnamed_addr constant {}* inttoptr (i32 1 to {}*), align 4
@const4502 = internal unnamed_addr constant { { i8* }, %"2.core::marker::PhantomData<u8>" } { { i8* } { i8* inttoptr (i32 1 to i8*) }, %"2.core::marker::PhantomData<u8>" zeroinitializer }, align 4
@const4611 = internal unnamed_addr constant { i32, [4 x i8] } { i32 0, [4 x i8] undef }, align 4
@str4612 = internal constant [17 x i8] c"capacity overflow"
@const4613 = internal unnamed_addr constant %str_slice { i8* getelementptr inbounds ([17 x i8], [17 x i8]* @str4612, i32 0, i32 0), i32 17 }, align 4
@const4614 = internal unnamed_addr constant i32 2, align 4
@panic_loc4615 = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([31 x i8], [31 x i8]* @str4440, i32 0, i32 0), i32 31 }, %str_slice { i8* getelementptr inbounds ([26 x i8], [26 x i8]* @str4442, i32 0, i32 0), i32 26 }, i32 352 }, align 4
@const4638 = internal unnamed_addr constant i32 8, align 4
@const4640 = internal unnamed_addr constant i32 -2147483648, align 4
@const4641 = internal unnamed_addr constant i32 2147483647, align 4
@_ZN7raw_vec11alloc_guard14_MSG_FILE_LINE20h274bf01c755e7ebebzbE = external global { %str_slice, %str_slice, i32 }
@const4650 = internal unnamed_addr constant i8 0, align 1
@panic_loc4656 = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([31 x i8], [31 x i8]* @str4440, i32 0, i32 0), i32 31 }, %str_slice { i8* getelementptr inbounds ([26 x i8], [26 x i8]* @str4442, i32 0, i32 0), i32 26 }, i32 427 }, align 4
@const4660 = internal unnamed_addr constant %"2.core::marker::PhantomData<u8>" zeroinitializer, align 1
@str4671 = internal constant [21 x i8] c"../src/libcore/ops.rs"
@panic_loc4672 = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([31 x i8], [31 x i8]* @str4440, i32 0, i32 0), i32 31 }, %str_slice { i8* getelementptr inbounds ([21 x i8], [21 x i8]* @str4671, i32 0, i32 0), i32 21 }, i32 208 }, align 4
@str4754 = internal constant [28 x i8] c"../src/libcollections/vec.rs"
@panic_loc4755 = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([31 x i8], [31 x i8]* @str4440, i32 0, i32 0), i32 31 }, %str_slice { i8* getelementptr inbounds ([28 x i8], [28 x i8]* @str4754, i32 0, i32 0), i32 28 }, i32 965 }, align 4
@const4762 = internal unnamed_addr constant { i8, {}, [0 x i8] } { i8 0, {} zeroinitializer, [0 x i8] undef }, align 1
@const4788 = internal unnamed_addr constant i32 128, align 4
@str4789 = internal constant [22 x i8] c"../src/libcore/char.rs"
@panic_bounds_check_loc4790 = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([22 x i8], [22 x i8]* @str4789, i32 0, i32 0), i32 22 }, i32 362 }, align 4
@const4792 = internal unnamed_addr constant { i32, i32, [0 x i8] } { i32 1, i32 1, [0 x i8] undef }, align 4
@const4793 = internal unnamed_addr constant i32 2048, align 4
@const4794 = internal unnamed_addr constant i32 6, align 4
@const4795 = internal unnamed_addr constant i32 31, align 4
@const4796 = internal unnamed_addr constant i8 -64, align 1
@panic_bounds_check_loc4797 = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([22 x i8], [22 x i8]* @str4789, i32 0, i32 0), i32 22 }, i32 365 }, align 4
@const4798 = internal unnamed_addr constant i32 63, align 4
@const4799 = internal unnamed_addr constant i8 -128, align 1
@panic_bounds_check_loc4800 = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([22 x i8], [22 x i8]* @str4789, i32 0, i32 0), i32 22 }, i32 366 }, align 4
@const4801 = internal unnamed_addr constant { i32, i32, [0 x i8] } { i32 1, i32 2, [0 x i8] undef }, align 4
@const4802 = internal unnamed_addr constant i32 65536, align 4
@const4803 = internal unnamed_addr constant i32 3, align 4
@const4804 = internal unnamed_addr constant i32 12, align 4
@const4805 = internal unnamed_addr constant i32 15, align 4
@const4806 = internal unnamed_addr constant i8 -32, align 1
@panic_bounds_check_loc4807 = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([22 x i8], [22 x i8]* @str4789, i32 0, i32 0), i32 22 }, i32 369 }, align 4
@panic_bounds_check_loc4808 = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([22 x i8], [22 x i8]* @str4789, i32 0, i32 0), i32 22 }, i32 370 }, align 4
@panic_bounds_check_loc4809 = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([22 x i8], [22 x i8]* @str4789, i32 0, i32 0), i32 22 }, i32 371 }, align 4
@const4810 = internal unnamed_addr constant { i32, i32, [0 x i8] } { i32 1, i32 3, [0 x i8] undef }, align 4
@const4811 = internal unnamed_addr constant i32 4, align 4
@const4812 = internal unnamed_addr constant i32 18, align 4
@const4813 = internal unnamed_addr constant i32 7, align 4
@const4814 = internal unnamed_addr constant i8 -16, align 1
@panic_bounds_check_loc4815 = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([22 x i8], [22 x i8]* @str4789, i32 0, i32 0), i32 22 }, i32 374 }, align 4
@panic_bounds_check_loc4816 = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([22 x i8], [22 x i8]* @str4789, i32 0, i32 0), i32 22 }, i32 375 }, align 4
@panic_bounds_check_loc4817 = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([22 x i8], [22 x i8]* @str4789, i32 0, i32 0), i32 22 }, i32 376 }, align 4
@panic_bounds_check_loc4818 = internal unnamed_addr constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([22 x i8], [22 x i8]* @str4789, i32 0, i32 0), i32 22 }, i32 377 }, align 4
@const4819 = internal unnamed_addr constant { i32, i32, [0 x i8] } { i32 1, i32 4, [0 x i8] undef }, align 4
@str4853 = internal constant [23 x i8] c"../src/libcore/slice.rs"
@panic_loc4854 = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([31 x i8], [31 x i8]* @str4440, i32 0, i32 0), i32 31 }, %str_slice { i8* getelementptr inbounds ([23 x i8], [23 x i8]* @str4853, i32 0, i32 0), i32 23 }, i32 538 }, align 4
@vtable4855 = internal unnamed_addr constant { void (i8*)*, i32, i32, i8 (%"2.core::fmt::Write::write_fmt::Adapter<collections::string::String>"*, i8*, i32)*, i8 (%"2.core::fmt::Write::write_fmt::Adapter<collections::string::String>"*, i32)*, i8 (%"2.core::fmt::Write::write_fmt::Adapter<collections::string::String>"*, %"2.core::fmt::Arguments"*)* } { void (i8*)* @_ZN2i89drop.451217h3995b712e15faffeE, i32 4, i32 4, i8 (%"2.core::fmt::Write::write_fmt::Adapter<collections::string::String>"*, i8*, i32)* @"_ZN3fmt5Write9write_fmt36Adapter$LT$$u27$a$C$$u20$T$GT$.Write9write_str21h12733192102844262257E", i8 (%"2.core::fmt::Write::write_fmt::Adapter<collections::string::String>"*, i32)* @_ZN3fmt5Write10write_char20h5878443123188893383E, i8 (%"2.core::fmt::Write::write_fmt::Adapter<collections::string::String>"*, %"2.core::fmt::Arguments"*)* @"_ZN3fmt5Write9write_fmt36Adapter$LT$$u27$a$C$$u20$T$GT$.Write9write_fmt21h10470642070619943704E" }, align 8
@_ZN6string10T.ToString9to_string15__STATIC_FMTSTR20hf93ded18d9bdb8e0bXfE = external global { %str_slice*, i32 }
@"_ZN7raw_vec15RawVec$LT$T$GT$13shrink_to_fit14_MSG_FILE_LINE20h274bf01c755e7ebeRvbE" = external global { %str_slice, %str_slice, i32 }
@panic_loc4893 = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([31 x i8], [31 x i8]* @str4440, i32 0, i32 0), i32 31 }, %str_slice { i8* getelementptr inbounds ([26 x i8], [26 x i8]* @str4442, i32 0, i32 0), i32 26 }, i32 521 }, align 4
@panic_loc4894 = internal unnamed_addr constant { %str_slice, %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([31 x i8], [31 x i8]* @str4440, i32 0, i32 0), i32 31 }, %str_slice { i8* getelementptr inbounds ([26 x i8], [26 x i8]* @str4442, i32 0, i32 0), i32 26 }, i32 522 }, align 4
@str4895 = internal constant [4 x i8] c"Rust"
@const4896 = internal unnamed_addr constant %str_slice { i8* getelementptr inbounds ([4 x i8], [4 x i8]* @str4895, i32 0, i32 0), i32 4 }, align 4
@const4897 = internal unnamed_addr constant i32* @const4811, align 4
@_ZN4main15__STATIC_FMTSTR20h51f66707e8c9d584sbaE = internal constant { %str_slice*, i32 } { %str_slice* getelementptr inbounds ([3 x %str_slice], [3 x %str_slice]* @ref4911, i32 0, i32 0), i32 3 }, align 4
@const4907 = internal unnamed_addr constant i8 (i32**, %"2.core::fmt::Formatter"*)* @"_ZN3fmt23_$RF$$u27$a$u20$T.Debug3fmt20h7567788178655488642E", align 4
@_ZN4main10_FILE_LINE20h29fb8fa22348e8df1baE = internal constant { %str_slice, i32 } { %str_slice { i8* getelementptr inbounds ([10 x i8], [10 x i8]* @str4912, i32 0, i32 0), i32 10 }, i32 18 }, align 4
@str4908 = internal constant [44 x i8] c"assertion failed: `(left == right)` (left: `"
@str4909 = internal constant [11 x i8] c"`, right: `"
@str4910 = internal constant [2 x i8] c"`)"
@ref4911 = internal unnamed_addr constant [3 x %str_slice] [%str_slice { i8* getelementptr inbounds ([44 x i8], [44 x i8]* @str4908, i32 0, i32 0), i32 44 }, %str_slice { i8* getelementptr inbounds ([11 x i8], [11 x i8]* @str4909, i32 0, i32 0), i32 11 }, %str_slice { i8* getelementptr inbounds ([2 x i8], [2 x i8]* @str4910, i32 0, i32 0), i32 2 }], align 4
@str4912 = internal constant [10 x i8] c"src/lib.rs"
@__rustc_debug_gdb_scripts_section__ = linkonce_odr unnamed_addr constant [34 x i8] c"\01gdb_load_rust_pretty_printers.py\00", section ".debug_gdb_scripts", align 1
; Function Attrs: nounwind
declare i32 @my_strlen(i8*) unnamed_addr #0
; Function Attrs: uwtable
define internal i32 @_ZN6strlen20h14ec33f35cf8736eoaaE(%"3.collections::string::String"* noalias nocapture dereferenceable(12)) unnamed_addr #1 personality i32 (i32, i32, i64, %"1.std::sys_common::libunwind::_Unwind_Exception"*, %"1.std::sys_common::libunwind::_Unwind_Context"*)* @rust_eh_personality !dbg !275 {
entry-block:
%dropflag_hint_16 = alloca i8
%dropflag_hint_23 = alloca i8
%str = alloca %"3.collections::string::String"
%s = alloca %"1.std::ffi::c_str::CString"
%1 = alloca %"2.core::result::Result<std::ffi::c_str::CString, std::ffi::c_str::NulError>"
%arg = alloca %"3.collections::string::String"
%2 = alloca { i8*, i32 }
%3 = alloca i32
%4 = alloca i8*
%overloaded_deref = alloca { %"1.std::ffi::c_str::CStr"*, i32 }
%__arg = alloca i8*
store i8 61, i8* %dropflag_hint_16
store i8 61, i8* %dropflag_hint_23
%5 = bitcast %"3.collections::string::String"* %0 to i8*
%6 = bitcast %"3.collections::string::String"* %str to i8*
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %6, i8* %5, i32 12, i32 4, i1 false)
call void @llvm.dbg.declare(metadata %"3.collections::string::String"* %str, metadata !696, metadata !697), !dbg !698
%7 = bitcast %"3.collections::string::String"* %str to i8*
%8 = bitcast %"3.collections::string::String"* %arg to i8*
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %8, i8* %7, i32 12, i32 4, i1 false)
%9 = bitcast %"3.collections::string::String"* %str to i8*
call void @llvm.memset.p0i8.i32(i8* %9, i8 29, i32 12, i32 4, i1 false)
invoke void @_ZN3ffi5c_str7CString3new21h15855948418616721144E(%"2.core::result::Result<std::ffi::c_str::CString, std::ffi::c_str::NulError>"* noalias nocapture sret dereferenceable(20) %1, %"3.collections::string::String"* noalias nocapture dereferenceable(12) %arg)
to label %normal-return unwind label %unwind_custom_, !dbg !699
normal-return: ; preds = %entry-block
invoke void @"_ZN6result24Result$LT$T$C$$u20$E$GT$6unwrap20h1710545364300317033E"(%"1.std::ffi::c_str::CString"* noalias nocapture sret dereferenceable(8) %s, %"2.core::result::Result<std::ffi::c_str::CString, std::ffi::c_str::NulError>"* noalias nocapture dereferenceable(20) %1)
to label %normal-return1 unwind label %unwind_custom_, !dbg !699
unwind_custom_: ; preds = %normal-return, %entry-block
%10 = landingpad { i8*, i32 }
cleanup
store { i8*, i32 } %10, { i8*, i32 }* %2
br label %clean_custom_
resume: ; preds = %clean_custom_
%11 = load { i8*, i32 }, { i8*, i32 }* %2
resume { i8*, i32 } %11
clean_custom_: ; preds = %clean_custom_3, %unwind_custom_
call void @_ZN27collections..string..String9drop.446417hd99796de187a6992E(%"3.collections::string::String"* %str), !dbg !701
br label %resume
normal-return1: ; preds = %normal-return
call void @llvm.dbg.declare(metadata %"1.std::ffi::c_str::CString"* %s, metadata !702, metadata !697), !dbg !699
%12 = invoke { %"1.std::ffi::c_str::CStr"*, i32 } @_ZN3ffi5c_str18CString.ops..Deref5deref20h35d9edf2de6efa929IeE(%"1.std::ffi::c_str::CString"* noalias readonly dereferenceable(8) %s)
to label %normal-return2 unwind label %unwind_ast_20_, !dbg !703
normal-return2: ; preds = %normal-return1
%13 = extractvalue { %"1.std::ffi::c_str::CStr"*, i32 } %12, 0, !dbg !703
%14 = getelementptr inbounds { %"1.std::ffi::c_str::CStr"*, i32 }, { %"1.std::ffi::c_str::CStr"*, i32 }* %overloaded_deref, i32 0, i32 0, !dbg !703
store %"1.std::ffi::c_str::CStr"* %13, %"1.std::ffi::c_str::CStr"** %14, !dbg !703
%15 = extractvalue { %"1.std::ffi::c_str::CStr"*, i32 } %12, 1, !dbg !703
%16 = getelementptr inbounds { %"1.std::ffi::c_str::CStr"*, i32 }, { %"1.std::ffi::c_str::CStr"*, i32 }* %overloaded_deref, i32 0, i32 1, !dbg !703
store i32 %15, i32* %16, !dbg !703
%17 = getelementptr inbounds { %"1.std::ffi::c_str::CStr"*, i32 }, { %"1.std::ffi::c_str::CStr"*, i32 }* %overloaded_deref, i32 0, i32 0, !dbg !703
%18 = load %"1.std::ffi::c_str::CStr"*, %"1.std::ffi::c_str::CStr"** %17, !dbg !703
%19 = getelementptr inbounds { %"1.std::ffi::c_str::CStr"*, i32 }, { %"1.std::ffi::c_str::CStr"*, i32 }* %overloaded_deref, i32 0, i32 1, !dbg !703
%20 = load i32, i32* %19, !dbg !703
%21 = invoke i8* @_ZN3ffi5c_str4CStr6as_ptr20h657d885273054583bPeE(%"1.std::ffi::c_str::CStr"* noalias nonnull readonly %18, i32 %20)
to label %normal-return4 unwind label %unwind_ast_20_, !dbg !703
unwind_ast_20_: ; preds = %normal-return2, %normal-return1
%22 = landingpad { i8*, i32 }
cleanup
store { i8*, i32 } %22, { i8*, i32 }* %2
br label %clean_ast_20_
clean_custom_3: ; preds = %clean_ast_20_
br label %clean_custom_
clean_ast_20_: ; preds = %unwind_ast_20_
call void @_ZN24std..ffi..c_str..CString9drop.416717h08cdfb41b28bfd8dE(%"1.std::ffi::c_str::CString"* %s), !dbg !705
br label %clean_custom_3
normal-return4: ; preds = %normal-return2
store i8* %21, i8** %4, align 4, !dbg !703
%23 = load i8*, i8** %4, align 4, !dbg !703
store i8* %23, i8** %__arg, align 4
%24 = load i8*, i8** %__arg
%25 = call i32 @my_strlen(i8* %24), !dbg !703
store i32 %25, i32* %3, align 4, !dbg !703
%26 = load i32, i32* %3, align 4, !dbg !703
call void @_ZN24std..ffi..c_str..CString9drop.416717h08cdfb41b28bfd8dE(%"1.std::ffi::c_str::CString"* %s), !dbg !705
call void @_ZN27collections..string..String9drop.446417hd99796de187a6992E(%"3.collections::string::String"* %str), !dbg !701
ret i32 %26, !dbg !701
}
; Function Attrs: argmemonly nounwind
declare void @llvm.memcpy.p0i8.p0i8.i32(i8* nocapture, i8* nocapture readonly, i32, i32, i1) #2
; Function Attrs: nounwind readnone
declare void @llvm.dbg.declare(metadata, metadata, metadata) #3
; Function Attrs: inlinehint uwtable
define internal void @"_ZN6result24Result$LT$T$C$$u20$E$GT$6unwrap20h1710545364300317033E"(%"1.std::ffi::c_str::CString"* noalias nocapture sret dereferenceable(8), %"2.core::result::Result<std::ffi::c_str::CString, std::ffi::c_str::NulError>"* noalias nocapture dereferenceable(20)) unnamed_addr #4 personality i32 (i32, i32, i64, %"1.std::sys_common::libunwind::_Unwind_Exception"*, %"1.std::sys_common::libunwind::_Unwind_Context"*)* @rust_eh_personality !dbg !280 {
entry-block:
%self = alloca %"2.core::result::Result<std::ffi::c_str::CString, std::ffi::c_str::NulError>"
%t = alloca %"1.std::ffi::c_str::CString"*
%e = alloca %"1.std::ffi::c_str::NulError"*
%arg = alloca %"1.std::ffi::c_str::NulError"
%2 = alloca { i8*, i32 }
%3 = bitcast %"2.core::result::Result<std::ffi::c_str::CString, std::ffi::c_str::NulError>"* %1 to i8*
%4 = bitcast %"2.core::result::Result<std::ffi::c_str::CString, std::ffi::c_str::NulError>"* %self to i8*
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %4, i8* %3, i32 20, i32 4, i1 false)
call void @llvm.dbg.declare(metadata %"2.core::result::Result<std::ffi::c_str::CString, std::ffi::c_str::NulError>"* %self, metadata !706, metadata !697), !dbg !707
%5 = getelementptr inbounds %"2.core::result::Result<std::ffi::c_str::CString, std::ffi::c_str::NulError>", %"2.core::result::Result<std::ffi::c_str::CString, std::ffi::c_str::NulError>"* %self, i32 0, i32 0
%6 = load i32, i32* %5, !range !708
switch i32 %6, label %match_else [
i32 0, label %match_case
i32 1, label %match_case2
]
case_body: ; preds = %match_case
%7 = load %"1.std::ffi::c_str::CString"*, %"1.std::ffi::c_str::CString"** %t
call void @llvm.dbg.declare(metadata %"1.std::ffi::c_str::CString"** %t, metadata !709, metadata !712), !dbg !713
%8 = bitcast %"1.std::ffi::c_str::CString"* %7 to i8*, !dbg !713
%9 = bitcast %"1.std::ffi::c_str::CString"* %0 to i8*, !dbg !713
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %9, i8* %8, i32 8, i32 4, i1 false)
%10 = bitcast %"1.std::ffi::c_str::CString"* %7 to i8*
call void @llvm.memset.p0i8.i32(i8* %10, i8 29, i32 8, i32 4, i1 false)
call void @_ZN24std..ffi..c_str..CString9drop.416717h08cdfb41b28bfd8dE(%"1.std::ffi::c_str::CString"* %7), !dbg !714
%11 = bitcast %"1.std::ffi::c_str::CString"* %7 to i8*, !dbg !714
call void @llvm.memset.p0i8.i32(i8* %11, i8 29, i32 8, i32 4, i1 false), !dbg !714
br label %join
case_body1: ; preds = %match_case2
%12 = load %"1.std::ffi::c_str::NulError"*, %"1.std::ffi::c_str::NulError"** %e, !dbg !714
call void @llvm.dbg.declare(metadata %"1.std::ffi::c_str::NulError"** %e, metadata !715, metadata !712), !dbg !717
%13 = load i8*, i8** getelementptr inbounds (%str_slice, %str_slice* @const4449, i32 0, i32 0)
%14 = load i32, i32* getelementptr inbounds (%str_slice, %str_slice* @const4449, i32 0, i32 1)
%15 = bitcast %"1.std::ffi::c_str::NulError"* %12 to i8*
%16 = bitcast %"1.std::ffi::c_str::NulError"* %arg to i8*
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %16, i8* %15, i32 16, i32 4, i1 false)
%17 = bitcast %"1.std::ffi::c_str::NulError"* %12 to i8*
call void @llvm.memset.p0i8.i32(i8* %17, i8 29, i32 16, i32 4, i1 false)
invoke void @_ZN6result13unwrap_failed20h2817619372023409837E(i8* noalias nonnull readonly %13, i32 %14, %"1.std::ffi::c_str::NulError"* noalias nocapture dereferenceable(16) %arg)
to label %normal-return unwind label %unwind_custom_, !dbg !717
match_else: ; preds = %entry-block
unreachable
match_case: ; preds = %entry-block
%18 = bitcast %"2.core::result::Result<std::ffi::c_str::CString, std::ffi::c_str::NulError>"* %self to { i32, %"1.std::ffi::c_str::CString" }*
%19 = getelementptr inbounds { i32, %"1.std::ffi::c_str::CString" }, { i32, %"1.std::ffi::c_str::CString" }* %18, i32 0, i32 1
store %"1.std::ffi::c_str::CString"* %19, %"1.std::ffi::c_str::CString"** %t
br label %case_body
match_case2: ; preds = %entry-block
%20 = bitcast %"2.core::result::Result<std::ffi::c_str::CString, std::ffi::c_str::NulError>"* %self to { i32, %"1.std::ffi::c_str::NulError" }*
%21 = getelementptr inbounds { i32, %"1.std::ffi::c_str::NulError" }, { i32, %"1.std::ffi::c_str::NulError" }* %20, i32 0, i32 1
store %"1.std::ffi::c_str::NulError"* %21, %"1.std::ffi::c_str::NulError"** %e
br label %case_body1
normal-return: ; preds = %case_body1
unreachable, !dbg !717
unwind_custom_: ; preds = %case_body1
%22 = landingpad { i8*, i32 }
cleanup
store { i8*, i32 } %22, { i8*, i32 }* %2
br label %clean_custom_3
resume: ; preds = %clean_custom_
%23 = load { i8*, i32 }, { i8*, i32 }* %2
resume { i8*, i32 } %23
clean_custom_: ; preds = %clean_custom_3
call void @"_ZN85core..result..Result$LT$std..ffi..c_str..CString$C$$u20$std..ffi..c_str..NulError$GT$9drop.445117h3e005fc2b8707174E"(%"2.core::result::Result<std::ffi::c_str::CString, std::ffi::c_str::NulError>"* %self), !dbg !707
br label %resume
clean_custom_3: ; preds = %unwind_custom_
call void @_ZN25std..ffi..c_str..NulError9drop.421317h9615176818444b33E(%"1.std::ffi::c_str::NulError"* %12), !dbg !714
%24 = bitcast %"1.std::ffi::c_str::NulError"* %12 to i8*, !dbg !714
call void @llvm.memset.p0i8.i32(i8* %24, i8 29, i32 16, i32 4, i1 false), !dbg !714
br label %clean_custom_
join: ; preds = %case_body
call void @"_ZN85core..result..Result$LT$std..ffi..c_str..CString$C$$u20$std..ffi..c_str..NulError$GT$9drop.445117h3e005fc2b8707174E"(%"2.core::result::Result<std::ffi::c_str::CString, std::ffi::c_str::NulError>"* %self), !dbg !707
ret void, !dbg !707
}
; Function Attrs: argmemonly nounwind
declare void @llvm.memset.p0i8.i32(i8* nocapture, i8, i32, i32, i1) #2
define internal void @_ZN24std..ffi..c_str..CString9drop.416717h08cdfb41b28bfd8dE(%"1.std::ffi::c_str::CString"*) unnamed_addr {
entry-block:
%1 = getelementptr inbounds %"1.std::ffi::c_str::CString", %"1.std::ffi::c_str::CString"* %0, i32 0, i32 0
call void @"_ZN23Box$LT$$u5b$u8$u5d$$GT$9drop.417017h75cce4eec65ae871E"({ i8*, i32 }* %1)
ret void
}
define internal void @"_ZN23Box$LT$$u5b$u8$u5d$$GT$9drop.417017h75cce4eec65ae871E"({ i8*, i32 }*) unnamed_addr {
entry-block:
%1 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %0, i32 0, i32 0
%2 = load i8*, i8** %1
%3 = ptrtoint i8* %2 to i32
%4 = icmp ne i32 %3, 488447261
br i1 %4, label %cond, label %next
next: ; preds = %next1, %entry-block
ret void
cond: ; preds = %entry-block
%5 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %0, i32 0, i32 1
%6 = load i32, i32* %5
%7 = mul i32 %6, 1
%8 = icmp ne i32 %7, 0
br i1 %8, label %cond2, label %next1
next1: ; preds = %cond2, %cond
br label %next
cond2: ; preds = %cond
call void @_ZN4heap13exchange_free20hf484f05365ddc6a4ngaE(i8* %2, i32 %7, i32 1)
br label %next1
}
; Function Attrs: inlinehint uwtable
define internal void @_ZN4heap13exchange_free20hf484f05365ddc6a4ngaE(i8*, i32, i32) unnamed_addr #4 !dbg !286 {
entry-block:
%ptr = alloca i8*
%old_size = alloca i32
%align = alloca i32
store i8* %0, i8** %ptr, align 4
call void @llvm.dbg.declare(metadata i8** %ptr, metadata !718, metadata !697), !dbg !719
store i32 %1, i32* %old_size, align 4
call void @llvm.dbg.declare(metadata i32* %old_size, metadata !720, metadata !697), !dbg !719
store i32 %2, i32* %align, align 4
call void @llvm.dbg.declare(metadata i32* %align, metadata !721, metadata !697), !dbg !719
%3 = load i8*, i8** %ptr, align 4, !dbg !722
%4 = load i32, i32* %old_size, align 4, !dbg !722
%5 = load i32, i32* %align, align 4, !dbg !722
call void @_ZN4heap10deallocate20h3b1abef5836d863a7eaE(i8* %3, i32 %4, i32 %5), !dbg !722
ret void, !dbg !719
}
; Function Attrs: inlinehint uwtable
define internal void @_ZN4heap10deallocate20h3b1abef5836d863a7eaE(i8*, i32, i32) unnamed_addr #4 !dbg !291 {
entry-block:
%ptr = alloca i8*
%old_size = alloca i32
%align = alloca i32
%__arg = alloca i8*
%__arg1 = alloca i32
%__arg2 = alloca i32
store i8* %0, i8** %ptr, align 4
call void @llvm.dbg.declare(metadata i8** %ptr, metadata !724, metadata !697), !dbg !725
store i32 %1, i32* %old_size, align 4
call void @llvm.dbg.declare(metadata i32* %old_size, metadata !726, metadata !697), !dbg !725
store i32 %2, i32* %align, align 4
call void @llvm.dbg.declare(metadata i32* %align, metadata !727, metadata !697), !dbg !725
%3 = load i8*, i8** %ptr, align 4, !dbg !728
%4 = load i32, i32* %old_size, align 4, !dbg !728
%5 = load i32, i32* %align, align 4, !dbg !728
store i8* %3, i8** %__arg, align 4
%6 = load i8*, i8** %__arg
store i32 %4, i32* %__arg1, align 4
%7 = load i32, i32* %__arg1
store i32 %5, i32* %__arg2, align 4
%8 = load i32, i32* %__arg2
call void @__rust_deallocate(i8* %6, i32 %7, i32 %8), !dbg !728
ret void, !dbg !725
}
; Function Attrs: nounwind
declare void @__rust_deallocate(i8*, i32, i32) unnamed_addr #0
; Function Attrs: cold noinline noreturn uwtable
define internal void @_ZN6result13unwrap_failed20h2817619372023409837E(i8* noalias nonnull readonly, i32, %"1.std::ffi::c_str::NulError"* noalias nocapture dereferenceable(16)) unnamed_addr #5 personality i32 (i32, i32, i64, %"1.std::sys_common::libunwind::_Unwind_Exception"*, %"1.std::sys_common::libunwind::_Unwind_Context"*)* @rust_eh_personality !dbg !292 {
entry-block:
%msg = alloca %str_slice
%error = alloca %"1.std::ffi::c_str::NulError"
%3 = alloca %"2.core::fmt::Arguments"
%4 = alloca { %str_slice*, i32 }
%5 = alloca [2 x %"2.core::fmt::ArgumentV1"]
%6 = alloca { %str_slice*, %"1.std::ffi::c_str::NulError"* }
%__llmatch = alloca %str_slice**
%__arg0 = alloca %str_slice*
%__llmatch1 = alloca %"1.std::ffi::c_str::NulError"**
%__arg1 = alloca %"1.std::ffi::c_str::NulError"*
%7 = alloca { i8*, i32 }
%__coerce_target = alloca { %"2.core::fmt::ArgumentV1"*, i32 }
%8 = getelementptr inbounds %str_slice, %str_slice* %msg, i32 0, i32 0
store i8* %0, i8** %8
%9 = getelementptr inbounds %str_slice, %str_slice* %msg, i32 0, i32 1
store i32 %1, i32* %9
call void @llvm.dbg.declare(metadata %str_slice* %msg, metadata !730, metadata !697), !dbg !731
%10 = bitcast %"1.std::ffi::c_str::NulError"* %2 to i8*
%11 = bitcast %"1.std::ffi::c_str::NulError"* %error to i8*
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %11, i8* %10, i32 16, i32 4, i1 false)
call void @llvm.dbg.declare(metadata %"1.std::ffi::c_str::NulError"* %error, metadata !732, metadata !697), !dbg !731
%12 = bitcast { %str_slice*, i32 }* %4 to i8*, !dbg !733
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %12, i8* bitcast ({ %str_slice*, i32 }* @_ZN6result13unwrap_failed15__STATIC_FMTSTR20h93f0614df7a757baT2OE to i8*), i32 8, i32 4, i1 false)
%13 = getelementptr inbounds { %str_slice*, i32 }, { %str_slice*, i32 }* %4, i32 0, i32 0
%14 = load %str_slice*, %str_slice** %13
%15 = getelementptr inbounds { %str_slice*, i32 }, { %str_slice*, i32 }* %4, i32 0, i32 1
%16 = load i32, i32* %15
%17 = getelementptr inbounds { %str_slice*, %"1.std::ffi::c_str::NulError"* }, { %str_slice*, %"1.std::ffi::c_str::NulError"* }* %6, i32 0, i32 0, !dbg !738
store %str_slice* %msg, %str_slice** %17, align 4, !dbg !738
%18 = getelementptr inbounds { %str_slice*, %"1.std::ffi::c_str::NulError"* }, { %str_slice*, %"1.std::ffi::c_str::NulError"* }* %6, i32 0, i32 1, !dbg !738
store %"1.std::ffi::c_str::NulError"* %error, %"1.std::ffi::c_str::NulError"** %18, align 4, !dbg !738
%19 = getelementptr inbounds { %str_slice*, %"1.std::ffi::c_str::NulError"* }, { %str_slice*, %"1.std::ffi::c_str::NulError"* }* %6, i32 0, i32 0
%20 = getelementptr inbounds { %str_slice*, %"1.std::ffi::c_str::NulError"* }, { %str_slice*, %"1.std::ffi::c_str::NulError"* }* %6, i32 0, i32 1
store %"1.std::ffi::c_str::NulError"** %20, %"1.std::ffi::c_str::NulError"*** %__llmatch1
store %str_slice** %19, %str_slice*** %__llmatch
br label %case_body
case_body: ; preds = %entry-block
%21 = load %"1.std::ffi::c_str::NulError"**, %"1.std::ffi::c_str::NulError"*** %__llmatch1
%22 = load %"1.std::ffi::c_str::NulError"*, %"1.std::ffi::c_str::NulError"** %21, align 4, !nonnull !66
store %"1.std::ffi::c_str::NulError"* %22, %"1.std::ffi::c_str::NulError"** %__arg1, align 4
call void @llvm.dbg.declare(metadata %"1.std::ffi::c_str::NulError"** %__arg1, metadata !739, metadata !697), !dbg !742
%23 = load %str_slice**, %str_slice*** %__llmatch, !dbg !742
%24 = load %str_slice*, %str_slice** %23, align 4, !dbg !742, !nonnull !66
store %str_slice* %24, %str_slice** %__arg0, align 4, !dbg !742
call void @llvm.dbg.declare(metadata %str_slice** %__arg0, metadata !743, metadata !697), !dbg !742
%25 = getelementptr inbounds [2 x %"2.core::fmt::ArgumentV1"], [2 x %"2.core::fmt::ArgumentV1"]* %5, i32 0, i32 0, !dbg !744
%26 = getelementptr inbounds %"2.core::fmt::ArgumentV1", %"2.core::fmt::ArgumentV1"* %25, i32 0, !dbg !744
%27 = load %str_slice*, %str_slice** %__arg0, align 4, !dbg !744, !nonnull !66
invoke void @"_ZN3fmt24ArgumentV1$LT$$u27$a$GT$3new20h2241612989315311529E"(%"2.core::fmt::ArgumentV1"* noalias nocapture sret dereferenceable(8) %26, %str_slice* noalias readonly dereferenceable(8) %27, i8 (%str_slice*, %"2.core::fmt::Formatter"*)* @"_ZN3fmt25_$RF$$u27$a$u20$T.Display3fmt21h13787651012623919608E")
to label %normal-return unwind label %unwind_custom_, !dbg !745
normal-return: ; preds = %case_body
%28 = getelementptr inbounds %"2.core::fmt::ArgumentV1", %"2.core::fmt::ArgumentV1"* %25, i32 1, !dbg !745
%29 = load %"1.std::ffi::c_str::NulError"*, %"1.std::ffi::c_str::NulError"** %__arg1, align 4, !dbg !744, !nonnull !66
invoke void @"_ZN3fmt24ArgumentV1$LT$$u27$a$GT$3new21h14217864512667652860E"(%"2.core::fmt::ArgumentV1"* noalias nocapture sret dereferenceable(8) %28, %"1.std::ffi::c_str::NulError"* noalias readonly dereferenceable(16) %29, i8 (%"1.std::ffi::c_str::NulError"*, %"2.core::fmt::Formatter"*)* @_ZN3ffi5c_str27NulError...core..fmt..Debug3fmt20hb134d53edb24185a0yeE)
to label %normal-return2 unwind label %unwind_custom_, !dbg !745
unwind_custom_: ; preds = %normal-return3, %join, %normal-return, %case_body
%30 = landingpad { i8*, i32 }
cleanup
store { i8*, i32 } %30, { i8*, i32 }* %7
br label %clean_custom_
resume: ; preds = %clean_custom_
%31 = load { i8*, i32 }, { i8*, i32 }* %7
resume { i8*, i32 } %31
clean_custom_: ; preds = %unwind_custom_
call void @_ZN25std..ffi..c_str..NulError9drop.421317h9615176818444b33E(%"1.std::ffi::c_str::NulError"* %error), !dbg !731
br label %resume
normal-return2: ; preds = %normal-return
br label %join
join: ; preds = %normal-return2
%32 = bitcast [2 x %"2.core::fmt::ArgumentV1"]* %5 to %"2.core::fmt::ArgumentV1"*
%33 = getelementptr inbounds { %"2.core::fmt::ArgumentV1"*, i32 }, { %"2.core::fmt::ArgumentV1"*, i32 }* %__coerce_target, i32 0, i32 0
store %"2.core::fmt::ArgumentV1"* %32, %"2.core::fmt::ArgumentV1"** %33
%34 = getelementptr inbounds { %"2.core::fmt::ArgumentV1"*, i32 }, { %"2.core::fmt::ArgumentV1"*, i32 }* %__coerce_target, i32 0, i32 1
store i32 2, i32* %34
%35 = getelementptr inbounds { %"2.core::fmt::ArgumentV1"*, i32 }, { %"2.core::fmt::ArgumentV1"*, i32 }* %__coerce_target, i32 0, i32 0
%36 = load %"2.core::fmt::ArgumentV1"*, %"2.core::fmt::ArgumentV1"** %35
%37 = getelementptr inbounds { %"2.core::fmt::ArgumentV1"*, i32 }, { %"2.core::fmt::ArgumentV1"*, i32 }* %__coerce_target, i32 0, i32 1
%38 = load i32, i32* %37
invoke void @"_ZN3fmt23Arguments$LT$$u27$a$GT$6new_v120hac22e56c14d17949qIWE"(%"2.core::fmt::Arguments"* noalias nocapture sret dereferenceable(24) %3, %str_slice* noalias nonnull readonly %14, i32 %16, %"2.core::fmt::ArgumentV1"* noalias nonnull readonly %36, i32 %38)
to label %normal-return3 unwind label %unwind_custom_, !dbg !746
normal-return3: ; preds = %join
invoke void @_ZN9panicking9panic_fmt20h1637ce23cecef0986YLE(%"2.core::fmt::Arguments"* noalias nocapture dereferenceable(24) %3, { %str_slice, i32 }* noalias readonly dereferenceable(12) @_ZN6result13unwrap_failed10_FILE_LINE20h5a713f35311e7081D2OE)
to label %normal-return4 unwind label %unwind_custom_, !dbg !746
normal-return4: ; preds = %normal-return3
unreachable, !dbg !746
}
; Function Attrs: cold noinline noreturn
declare void @_ZN9panicking9panic_fmt20h1637ce23cecef0986YLE(%"2.core::fmt::Arguments"* noalias nocapture dereferenceable(24), { %str_slice, i32 }* noalias readonly dereferenceable(12)) unnamed_addr #6
; Function Attrs: inlinehint uwtable
define internal void @"_ZN3fmt23Arguments$LT$$u27$a$GT$6new_v120hac22e56c14d17949qIWE"(%"2.core::fmt::Arguments"* noalias nocapture sret dereferenceable(24), %str_slice* noalias nonnull readonly, i32, %"2.core::fmt::ArgumentV1"* noalias nonnull readonly, i32) unnamed_addr #4 !dbg !298 {
entry-block:
%pieces = alloca { %str_slice*, i32 }
%args = alloca { %"2.core::fmt::ArgumentV1"*, i32 }
%5 = getelementptr inbounds { %str_slice*, i32 }, { %str_slice*, i32 }* %pieces, i32 0, i32 0
store %str_slice* %1, %str_slice** %5
%6 = getelementptr inbounds { %str_slice*, i32 }, { %str_slice*, i32 }* %pieces, i32 0, i32 1
store i32 %2, i32* %6
call void @llvm.dbg.declare(metadata { %str_slice*, i32 }* %pieces, metadata !747, metadata !697), !dbg !748
%7 = getelementptr inbounds { %"2.core::fmt::ArgumentV1"*, i32 }, { %"2.core::fmt::ArgumentV1"*, i32 }* %args, i32 0, i32 0
store %"2.core::fmt::ArgumentV1"* %3, %"2.core::fmt::ArgumentV1"** %7
%8 = getelementptr inbounds { %"2.core::fmt::ArgumentV1"*, i32 }, { %"2.core::fmt::ArgumentV1"*, i32 }* %args, i32 0, i32 1
store i32 %4, i32* %8
call void @llvm.dbg.declare(metadata { %"2.core::fmt::ArgumentV1"*, i32 }* %args, metadata !749, metadata !697), !dbg !750
%9 = getelementptr inbounds %"2.core::fmt::Arguments", %"2.core::fmt::Arguments"* %0, i32 0, i32 0, !dbg !751
%10 = bitcast { %str_slice*, i32 }* %pieces to i8*, !dbg !753
%11 = bitcast { %str_slice*, i32 }* %9 to i8*, !dbg !753
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %11, i8* %10, i32 8, i32 4, i1 false)
%12 = getelementptr inbounds %"2.core::fmt::Arguments", %"2.core::fmt::Arguments"* %0, i32 0, i32 1
%13 = bitcast %"2.core::option::Option<&'static [core::fmt::rt::v1::Argument]>"* %12 to { { i8*, i8* } }*, !dbg !754
%14 = bitcast { { i8*, i8* } }* %13 to i8*, !dbg !754
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %14, i8* bitcast ({ { i8*, i8* } }* @const4188 to i8*), i32 8, i32 4, i1 false)
%15 = getelementptr inbounds %"2.core::fmt::Arguments", %"2.core::fmt::Arguments"* %0, i32 0, i32 2
%16 = bitcast { %"2.core::fmt::ArgumentV1"*, i32 }* %args to i8*, !dbg !755
%17 = bitcast { %"2.core::fmt::ArgumentV1"*, i32 }* %15 to i8*, !dbg !755
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %17, i8* %16, i32 8, i32 4, i1 false)
ret void, !dbg !750
}
; Function Attrs: uwtable
define internal void @"_ZN3fmt24ArgumentV1$LT$$u27$a$GT$3new20h2241612989315311529E"(%"2.core::fmt::ArgumentV1"* noalias nocapture sret dereferenceable(8), %str_slice* noalias readonly dereferenceable(8), i8 (%str_slice*, %"2.core::fmt::Formatter"*)*) unnamed_addr #1 !dbg !304 {
entry-block:
%x = alloca %str_slice*
%f = alloca i8 (%str_slice*, %"2.core::fmt::Formatter"*)*
store %str_slice* %1, %str_slice** %x, align 4
call void @llvm.dbg.declare(metadata %str_slice** %x, metadata !756, metadata !697), !dbg !757
store i8 (%str_slice*, %"2.core::fmt::Formatter"*)* %2, i8 (%str_slice*, %"2.core::fmt::Formatter"*)** %f, align 4
call void @llvm.dbg.declare(metadata i8 (%str_slice*, %"2.core::fmt::Formatter"*)** %f, metadata !758, metadata !697), !dbg !759
%3 = getelementptr inbounds %"2.core::fmt::ArgumentV1", %"2.core::fmt::ArgumentV1"* %0, i32 0, i32 1, !dbg !760
%4 = load i8 (%str_slice*, %"2.core::fmt::Formatter"*)*, i8 (%str_slice*, %"2.core::fmt::Formatter"*)** %f, align 4, !dbg !763
%5 = bitcast i8 (%str_slice*, %"2.core::fmt::Formatter"*)* %4 to i8 (%"2.core::fmt::Void"*, %"2.core::fmt::Formatter"*)*, !dbg !763
store i8 (%"2.core::fmt::Void"*, %"2.core::fmt::Formatter"*)* %5, i8 (%"2.core::fmt::Void"*, %"2.core::fmt::Formatter"*)** %3, !dbg !763
%6 = getelementptr inbounds %"2.core::fmt::ArgumentV1", %"2.core::fmt::ArgumentV1"* %0, i32 0, i32 0, !dbg !763
%7 = load %str_slice*, %str_slice** %x, align 4, !dbg !764, !nonnull !66
%8 = bitcast %str_slice* %7 to %"2.core::fmt::Void"*, !dbg !764
store %"2.core::fmt::Void"* %8, %"2.core::fmt::Void"** %6, !dbg !764
ret void, !dbg !759
}
; Function Attrs: uwtable
define internal i8 @"_ZN3fmt25_$RF$$u27$a$u20$T.Display3fmt21h13787651012623919608E"(%str_slice* noalias readonly dereferenceable(8), %"2.core::fmt::Formatter"* noalias dereferenceable(52)) unnamed_addr #1 !dbg !314 {
entry-block:
%sret_slot = alloca %"2.core::result::Result<(), core::fmt::Error>"
%self = alloca %str_slice*
%f = alloca %"2.core::fmt::Formatter"*
store %str_slice* %0, %str_slice** %self, align 4
call void @llvm.dbg.declare(metadata %str_slice** %self, metadata !765, metadata !697), !dbg !766
store %"2.core::fmt::Formatter"* %1, %"2.core::fmt::Formatter"** %f, align 4
call void @llvm.dbg.declare(metadata %"2.core::fmt::Formatter"** %f, metadata !767, metadata !697), !dbg !766
%2 = load %str_slice*, %str_slice** %self, align 4, !dbg !768, !nonnull !66
%3 = getelementptr inbounds %str_slice, %str_slice* %2, i32 0, i32 0, !dbg !768
%4 = load i8*, i8** %3, !dbg !768
%5 = getelementptr inbounds %str_slice, %str_slice* %2, i32 0, i32 1, !dbg !768
%6 = load i32, i32* %5, !dbg !768
%7 = load %"2.core::fmt::Formatter"*, %"2.core::fmt::Formatter"** %f, align 4, !dbg !768, !nonnull !66
%8 = call i8 @_ZN3fmt11str.Display3fmt20h75827670d376d85fSlXE(i8* noalias nonnull readonly %4, i32 %6, %"2.core::fmt::Formatter"* noalias dereferenceable(52) %7), !dbg !770
%9 = bitcast %"2.core::result::Result<(), core::fmt::Error>"* %sret_slot to i8*, !dbg !770
store i8 %8, i8* %9, align 1, !dbg !770
%10 = bitcast %"2.core::result::Result<(), core::fmt::Error>"* %sret_slot to i8*, !dbg !770
%11 = load i8, i8* %10, align 1, !dbg !770
ret i8 %11, !dbg !766
}
declare i8 @_ZN3fmt11str.Display3fmt20h75827670d376d85fSlXE(i8* noalias nonnull readonly, i32, %"2.core::fmt::Formatter"* noalias dereferenceable(52)) unnamed_addr #7
; Function Attrs: nounwind
declare i32 @rust_eh_personality(i32, i32, i64, %"1.std::sys_common::libunwind::_Unwind_Exception"*, %"1.std::sys_common::libunwind::_Unwind_Context"*) unnamed_addr #0
define internal void @_ZN25std..ffi..c_str..NulError9drop.421317h9615176818444b33E(%"1.std::ffi::c_str::NulError"*) unnamed_addr {
entry-block:
%1 = getelementptr inbounds %"1.std::ffi::c_str::NulError", %"1.std::ffi::c_str::NulError"* %0, i32 0, i32 0
%2 = getelementptr inbounds %"1.std::ffi::c_str::NulError", %"1.std::ffi::c_str::NulError"* %0, i32 0, i32 1
call void @"_ZN31collections..vec..Vec$LT$u8$GT$9drop.421617h20f7c96de665dbf6E"(%"3.collections::vec::Vec<u8>"* %2)
ret void
}
define internal void @"_ZN31collections..vec..Vec$LT$u8$GT$9drop.421617h20f7c96de665dbf6E"(%"3.collections::vec::Vec<u8>"*) unnamed_addr personality i32 (i32, i32, i64, %"1.std::sys_common::libunwind::_Unwind_Exception"*, %"1.std::sys_common::libunwind::_Unwind_Context"*)* @rust_eh_personality {
entry-block:
%1 = alloca { i8*, i32 }
invoke void @"_ZN3vec17Vec$LT$T$GT$.Drop4drop21h14377175551477896740E"(%"3.collections::vec::Vec<u8>"* noalias dereferenceable(12) %0)
to label %normal-return unwind label %unwind_custom_
normal-return: ; preds = %entry-block
call void @"_ZN31collections..vec..Vec$LT$u8$GT$9drop.442917h20f7c96de665dbf6E"(%"3.collections::vec::Vec<u8>"* %0)
ret void
unwind_custom_: ; preds = %entry-block
%2 = landingpad { i8*, i32 }
cleanup
store { i8*, i32 } %2, { i8*, i32 }* %1
br label %clean_custom_
resume: ; preds = %clean_custom_
%3 = load { i8*, i32 }, { i8*, i32 }* %1
resume { i8*, i32 } %3
clean_custom_: ; preds = %unwind_custom_
call void @"_ZN31collections..vec..Vec$LT$u8$GT$9drop.442917h20f7c96de665dbf6E"(%"3.collections::vec::Vec<u8>"* %0)
br label %resume
}
; Function Attrs: uwtable
define internal void @"_ZN3vec17Vec$LT$T$GT$.Drop4drop21h14377175551477896740E"(%"3.collections::vec::Vec<u8>"* noalias dereferenceable(12)) unnamed_addr #1 !dbg !316 {
entry-block:
%self = alloca %"3.collections::vec::Vec<u8>"*
%1 = alloca i8
%2 = alloca i8
%_result = alloca {}
%3 = alloca %"2.core::slice::IterMut<u8>"
%4 = alloca %"2.core::slice::IterMut<u8>"
%overloaded_deref = alloca { i8*, i32 }
%iter = alloca %"2.core::slice::IterMut<u8>"*
%5 = alloca i8*
%match = alloca i8*
%6 = bitcast i8** %match to i8*
call void @llvm.memset.p0i8.i32(i8* %6, i8 29, i32 4, i32 4, i1 false)
%x = alloca i8**
store %"3.collections::vec::Vec<u8>"* %0, %"3.collections::vec::Vec<u8>"** %self, align 4
call void @llvm.dbg.declare(metadata %"3.collections::vec::Vec<u8>"** %self, metadata !771, metadata !697), !dbg !772
%7 = load %"3.collections::vec::Vec<u8>"*, %"3.collections::vec::Vec<u8>"** %self, align 4, !dbg !773, !nonnull !66
%8 = getelementptr inbounds %"3.collections::vec::Vec<u8>", %"3.collections::vec::Vec<u8>"* %7, i32 0, i32 0, !dbg !773
%9 = call zeroext i1 @"_ZN7raw_vec15RawVec$LT$T$GT$30unsafe_no_drop_flag_needs_drop20h9289972274511091259E"(%"5.alloc::raw_vec::RawVec<u8>"* noalias readonly dereferenceable(8) %8), !dbg !773
%10 = zext i1 %9 to i8, !dbg !773
store i8 %10, i8* %1, align 1, !dbg !773
%11 = load i8, i8* %1, align 1, !dbg !773, !range !775
%12 = trunc i8 %11 to i1, !dbg !773
br i1 %12, label %then-block-345-, label %next-block5, !dbg !773
then-block-345-: ; preds = %entry-block
store i8 0, i8* %2, align 1, !dbg !776
%13 = load i8, i8* %2, align 1, !dbg !776, !range !775
%14 = trunc i8 %13 to i1, !dbg !776
br i1 %14, label %then-block-352-, label %next-block, !dbg !776
then-block-352-: ; preds = %then-block-345-
%15 = load %"3.collections::vec::Vec<u8>"*, %"3.collections::vec::Vec<u8>"** %self, align 4, !dbg !779, !nonnull !66
%16 = call { i8*, i32 } @"_ZN3vec26Vec$LT$T$GT$.ops..DerefMut9deref_mut20h6139662808942499416E"(%"3.collections::vec::Vec<u8>"* noalias dereferenceable(12) %15), !dbg !779
%17 = extractvalue { i8*, i32 } %16, 0, !dbg !779
%18 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %overloaded_deref, i32 0, i32 0, !dbg !779
store i8* %17, i8** %18, !dbg !779
%19 = extractvalue { i8*, i32 } %16, 1, !dbg !779
%20 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %overloaded_deref, i32 0, i32 1, !dbg !779
store i32 %19, i32* %20, !dbg !779
%21 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %overloaded_deref, i32 0, i32 0, !dbg !779
%22 = load i8*, i8** %21, !dbg !779
%23 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %overloaded_deref, i32 0, i32 1, !dbg !779
%24 = load i32, i32* %23, !dbg !779
call void @"_ZN5slice12_$u5b$T$u5d$8iter_mut20h8772171063641798419E"(%"2.core::slice::IterMut<u8>"* noalias nocapture sret dereferenceable(8) %4, i8* noalias nonnull %22, i32 %24), !dbg !779
call void @_ZN4iter14I.IntoIterator9into_iter19h248862817954442807E(%"2.core::slice::IterMut<u8>"* noalias nocapture sret dereferenceable(8) %3, %"2.core::slice::IterMut<u8>"* noalias nocapture dereferenceable(8) %4), !dbg !779
store %"2.core::slice::IterMut<u8>"* %3, %"2.core::slice::IterMut<u8>"** %iter
br label %case_body
case_body: ; preds = %then-block-352-
%25 = load %"2.core::slice::IterMut<u8>"*, %"2.core::slice::IterMut<u8>"** %iter
call void @llvm.dbg.declare(metadata %"2.core::slice::IterMut<u8>"** %iter, metadata !782, metadata !712), !dbg !784
br label %loop_body, !dbg !784
loop_exit: ; preds = %clean_ast_7981_
br label %join4
loop_body: ; preds = %join, %case_body
%26 = call i8* @"_ZN5slice39IterMut$LT$$u27$a$C$$u20$T$GT$.Iterator4next21h10343915042040914799E"(%"2.core::slice::IterMut<u8>"* noalias dereferenceable(8) %25), !dbg !785
store i8* %26, i8** %5, align 4, !dbg !785
%27 = load i8*, i8** %5, align 4, !dbg !785
store i8* %27, i8** %match, align 4
%28 = load i8*, i8** %match
%29 = icmp ne i8* %28, null
switch i1 %29, label %match_else [
i1 true, label %match_case
i1 false, label %match_case3
]
case_body1: ; preds = %match_case
%30 = load i8**, i8*** %x
call void @llvm.dbg.declare(metadata i8*** %x, metadata !787, metadata !712), !dbg !789
%31 = load i8*, i8** %30, align 4, !dbg !790, !nonnull !66
br label %join
case_body2: ; preds = %match_case3
br label %clean_ast_7981_, !dbg !792
match_else: ; preds = %loop_body
unreachable
match_case: ; preds = %loop_body
store i8** %match, i8*** %x
br label %case_body1
match_case3: ; preds = %loop_body
br label %case_body2
clean_ast_7981_: ; preds = %case_body2
br label %loop_exit
join: ; preds = %case_body1
br label %loop_body
join4: ; preds = %loop_exit
call void @llvm.dbg.declare(metadata {}* %_result, metadata !794, metadata !697), !dbg !779
br label %next-block
next-block: ; preds = %then-block-345-, %join4
br label %next-block5
next-block5: ; preds = %entry-block, %next-block
ret void, !dbg !772
}
; Function Attrs: uwtable
define internal zeroext i1 @"_ZN7raw_vec15RawVec$LT$T$GT$30unsafe_no_drop_flag_needs_drop20h9289972274511091259E"(%"5.alloc::raw_vec::RawVec<u8>"* noalias readonly dereferenceable(8)) unnamed_addr #1 !dbg !323 {
entry-block:
%self = alloca %"5.alloc::raw_vec::RawVec<u8>"*
store %"5.alloc::raw_vec::RawVec<u8>"* %0, %"5.alloc::raw_vec::RawVec<u8>"** %self, align 4
call void @llvm.dbg.declare(metadata %"5.alloc::raw_vec::RawVec<u8>"** %self, metadata !795, metadata !697), !dbg !796
%1 = load %"5.alloc::raw_vec::RawVec<u8>"*, %"5.alloc::raw_vec::RawVec<u8>"** %self, align 4, !dbg !797, !nonnull !66
%2 = getelementptr inbounds %"5.alloc::raw_vec::RawVec<u8>", %"5.alloc::raw_vec::RawVec<u8>"* %1, i32 0, i32 1, !dbg !797
%3 = load i32, i32* %2, align 4, !dbg !797
%4 = icmp ne i32 %3, 488447261, !dbg !797
%5 = zext i1 %4 to i8, !dbg !797
%6 = trunc i8 %5 to i1, !dbg !797
ret i1 %6, !dbg !796
}
; Function Attrs: uwtable
define internal void @_ZN4iter14I.IntoIterator9into_iter19h248862817954442807E(%"2.core::slice::IterMut<u8>"* noalias nocapture sret dereferenceable(8), %"2.core::slice::IterMut<u8>"* noalias nocapture dereferenceable(8)) unnamed_addr #1 !dbg !330 {
entry-block:
%self = alloca %"2.core::slice::IterMut<u8>"
%2 = bitcast %"2.core::slice::IterMut<u8>"* %1 to i8*
%3 = bitcast %"2.core::slice::IterMut<u8>"* %self to i8*
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %3, i8* %2, i32 8, i32 4, i1 false)
call void @llvm.dbg.declare(metadata %"2.core::slice::IterMut<u8>"* %self, metadata !799, metadata !697), !dbg !800
%4 = bitcast %"2.core::slice::IterMut<u8>"* %self to i8*, !dbg !801
%5 = bitcast %"2.core::slice::IterMut<u8>"* %0 to i8*, !dbg !801
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %5, i8* %4, i32 8, i32 4, i1 false)
ret void, !dbg !800
}
; Function Attrs: inlinehint uwtable
define internal void @"_ZN5slice12_$u5b$T$u5d$8iter_mut20h8772171063641798419E"(%"2.core::slice::IterMut<u8>"* noalias nocapture sret dereferenceable(8), i8* noalias nonnull, i32) unnamed_addr #4 !dbg !336 {
entry-block:
%self = alloca { i8*, i32 }
%3 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %self, i32 0, i32 0
store i8* %1, i8** %3
%4 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %self, i32 0, i32 1
store i32 %2, i32* %4
call void @llvm.dbg.declare(metadata { i8*, i32 }* %self, metadata !803, metadata !697), !dbg !804
%5 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %self, i32 0, i32 0, !dbg !805
%6 = load i8*, i8** %5, !dbg !805
%7 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %self, i32 0, i32 1, !dbg !805
%8 = load i32, i32* %7, !dbg !805
call void @"_ZN5slice21_$u5b$T$u5d$.SliceExt8iter_mut20h8961284438953945363E"(%"2.core::slice::IterMut<u8>"* noalias nocapture sret dereferenceable(8) %0, i8* noalias nonnull %6, i32 %8), !dbg !805
ret void, !dbg !804
}
; Function Attrs: inlinehint uwtable
define internal void @"_ZN5slice21_$u5b$T$u5d$.SliceExt8iter_mut20h8961284438953945363E"(%"2.core::slice::IterMut<u8>"* noalias nocapture sret dereferenceable(8), i8* noalias nonnull, i32) unnamed_addr #4 !dbg !342 {
entry-block:
%3 = alloca i8*
%self = alloca { i8*, i32 }
%p = alloca i8*
%4 = alloca i32
%p1 = alloca i8*
%5 = alloca i8
%ptr = alloca i8*
%6 = alloca i32
%7 = alloca i8*
%8 = alloca i32
%9 = alloca i32
%10 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %self, i32 0, i32 0
store i8* %1, i8** %10
%11 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %self, i32 0, i32 1
store i32 %2, i32* %11
call void @llvm.dbg.declare(metadata { i8*, i32 }* %self, metadata !807, metadata !697), !dbg !808
%12 = call i32 @_ZN3mem7size_of20h4287011132594631077E(), !dbg !809
store i32 %12, i32* %4, align 4, !dbg !809
%13 = load i32, i32* %4, align 4, !dbg !809
%14 = icmp eq i32 %13, 0, !dbg !809
br i1 %14, label %then-block-8089-, label %else-block, !dbg !809
then-block-8089-: ; preds = %entry-block
store i8* inttoptr (i32 1 to i8*), i8** %p, align 4, !dbg !812
br label %join
else-block: ; preds = %entry-block
%15 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %self, i32 0, i32 0, !dbg !814
%16 = load i8*, i8** %15, !dbg !814
%17 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %self, i32 0, i32 1, !dbg !814
%18 = load i32, i32* %17, !dbg !814
%19 = call i8* @"_ZN5slice21_$u5b$T$u5d$.SliceExt10as_mut_ptr20h6915633104583784515E"(i8* noalias nonnull %16, i32 %18), !dbg !814
store i8* %19, i8** %p1, align 4, !dbg !814
call void @llvm.dbg.declare(metadata i8** %p1, metadata !817, metadata !697), !dbg !814
%20 = load i8*, i8** %p1, align 4, !dbg !818
%21 = call zeroext i1 @"_ZN3ptr14_$BP$mut$u20$T7is_null20h7642413959157819658E"(i8* %20), !dbg !818
%22 = zext i1 %21 to i8, !dbg !818
store i8 %22, i8* %5, align 1, !dbg !818
%23 = load i8, i8* %5, align 1, !dbg !818, !range !775
%24 = trunc i8 %23 to i1, !dbg !818
%25 = xor i1 %24, true, !dbg !818
call void @llvm.assume(i1 %25), !dbg !818
%26 = load i8*, i8** %p1, align 4, !dbg !819
store i8* %26, i8** %p, align 4, !dbg !819
br label %join
join: ; preds = %else-block, %then-block-8089-
call void @llvm.dbg.declare(metadata i8** %p, metadata !820, metadata !697), !dbg !809
%27 = getelementptr inbounds %"2.core::slice::IterMut<u8>", %"2.core::slice::IterMut<u8>"* %0, i32 0, i32 0, !dbg !821
%28 = load i8*, i8** %p, align 4, !dbg !822
store i8* %28, i8** %27, align 4, !dbg !822
%29 = getelementptr inbounds %"2.core::slice::IterMut<u8>", %"2.core::slice::IterMut<u8>"* %0, i32 0, i32 1, !dbg !822
%30 = load i8*, i8** %p, align 4, !dbg !823
store i8* %30, i8** %ptr, align 4, !dbg !823
call void @llvm.dbg.declare(metadata i8** %ptr, metadata !825, metadata !697), !dbg !826
%31 = load i8*, i8** %ptr, align 4, !dbg !827
store i8* %31, i8** %3, align 4, !dbg !827
%32 = call i32 @_ZN3mem7size_of20h4287011132594631077E(), !dbg !828
store i32 %32, i32* %6, align 4, !dbg !827
%33 = load i32, i32* %6, align 4, !dbg !827
%34 = icmp eq i32 %33, 0, !dbg !827
br i1 %34, label %then-block-8122-, label %else-block2, !dbg !827
then-block-8122-: ; preds = %join
%35 = load i8*, i8** %ptr, align 4, !dbg !831
%36 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %self, i32 0, i32 0, !dbg !833
%37 = load i8*, i8** %36, !dbg !833
%38 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %self, i32 0, i32 1, !dbg !833
%39 = load i32, i32* %38, !dbg !833
%40 = call i32 @"_ZN5slice21_$u5b$T$u5d$.SliceExt3len21h16633752308469926477E"(i8* noalias nonnull readonly %37, i32 %39), !dbg !833
store i32 %40, i32* %8, align 4, !dbg !833
%41 = load i32, i32* %8, align 4, !dbg !833
%42 = getelementptr i8, i8* %35, i32 %41, !dbg !833
store i8* %42, i8** %7, align 4, !dbg !833
%43 = load i8*, i8** %7, align 4, !dbg !833
store i8* %43, i8** %29, align 4, !dbg !833
br label %join3
else-block2: ; preds = %join
%44 = load i8*, i8** %ptr, align 4, !dbg !834
%45 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %self, i32 0, i32 0, !dbg !836
%46 = load i8*, i8** %45, !dbg !836
%47 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %self, i32 0, i32 1, !dbg !836
%48 = load i32, i32* %47, !dbg !836
%49 = call i32 @"_ZN5slice21_$u5b$T$u5d$.SliceExt3len21h16633752308469926477E"(i8* noalias nonnull readonly %46, i32 %48), !dbg !836
store i32 %49, i32* %9, align 4, !dbg !836
%50 = load i32, i32* %9, align 4, !dbg !836
%51 = call i8* @"_ZN3ptr14_$BP$mut$u20$T6offset21h15595328266238240414E"(i8* %44, i32 %50), !dbg !834
store i8* %51, i8** %29, align 4, !dbg !834
br label %join3
join3: ; preds = %else-block2, %then-block-8122-
%52 = getelementptr inbounds %"2.core::slice::IterMut<u8>", %"2.core::slice::IterMut<u8>"* %0, i32 0, i32 2, !dbg !837
ret void, !dbg !808
}
; Function Attrs: inlinehint uwtable
define internal i32 @_ZN3mem7size_of20h4287011132594631077E() unnamed_addr #4 !dbg !345 {
entry-block:
ret i32 1, !dbg !838
}
; Function Attrs: inlinehint uwtable
define internal i8* @"_ZN5slice21_$u5b$T$u5d$.SliceExt10as_mut_ptr20h6915633104583784515E"(i8* noalias nonnull, i32) unnamed_addr #4 !dbg !352 {
entry-block:
%self = alloca { i8*, i32 }
%2 = alloca %"2.core::raw::Slice<u8>"
%3 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %self, i32 0, i32 0
store i8* %0, i8** %3
%4 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %self, i32 0, i32 1
store i32 %1, i32* %4
call void @llvm.dbg.declare(metadata { i8*, i32 }* %self, metadata !839, metadata !697), !dbg !840
%5 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %self, i32 0, i32 0, !dbg !841
%6 = load i8*, i8** %5, !dbg !841
%7 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %self, i32 0, i32 1, !dbg !841
%8 = load i32, i32* %7, !dbg !841
call void @_ZN3raw4Repr4repr20h4935575796058035801E(%"2.core::raw::Slice<u8>"* noalias nocapture sret dereferenceable(8) %2, i8* noalias nonnull readonly %6, i32 %8), !dbg !841
%9 = getelementptr inbounds %"2.core::raw::Slice<u8>", %"2.core::raw::Slice<u8>"* %2, i32 0, i32 0, !dbg !841
%10 = load i8*, i8** %9, align 4, !dbg !841
ret i8* %10, !dbg !840
}
; Function Attrs: inlinehint uwtable
define internal void @_ZN3raw4Repr4repr20h4935575796058035801E(%"2.core::raw::Slice<u8>"* noalias nocapture sret dereferenceable(8), i8* noalias nonnull readonly, i32) unnamed_addr #4 !dbg !355 {
entry-block:
%self = alloca { i8*, i32 }
%3 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %self, i32 0, i32 0
store i8* %1, i8** %3
%4 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %self, i32 0, i32 1
store i32 %2, i32* %4
call void @llvm.dbg.declare(metadata { i8*, i32 }* %self, metadata !843, metadata !697), !dbg !844
call void @_ZN3mem14transmute_copy20h4525418146392768201E(%"2.core::raw::Slice<u8>"* noalias nocapture sret dereferenceable(8) %0, { i8*, i32 }* noalias readonly dereferenceable(8) %self), !dbg !845
ret void, !dbg !844
}
; Function Attrs: inlinehint uwtable
define internal void @_ZN3mem14transmute_copy20h4525418146392768201E(%"2.core::raw::Slice<u8>"* noalias nocapture sret dereferenceable(8), { i8*, i32 }* noalias readonly dereferenceable(8)) unnamed_addr #4 !dbg !366 {
entry-block:
%src.i = alloca %"2.core::raw::Slice<u8>"*
call void @llvm.dbg.declare(metadata %"2.core::raw::Slice<u8>"** %src.i, metadata !848, metadata !697), !dbg !849
%tmp.i = alloca %"2.core::raw::Slice<u8>"
call void @llvm.dbg.declare(metadata %"2.core::raw::Slice<u8>"* %tmp.i, metadata !852, metadata !697), !dbg !854
%src = alloca { i8*, i32 }*
store { i8*, i32 }* %1, { i8*, i32 }** %src, align 4
call void @llvm.dbg.declare(metadata { i8*, i32 }** %src, metadata !855, metadata !697), !dbg !856
%2 = load { i8*, i32 }*, { i8*, i32 }** %src, align 4, !dbg !857
%3 = bitcast { i8*, i32 }* %2 to %"2.core::raw::Slice<u8>"*, !dbg !857
store %"2.core::raw::Slice<u8>"* %3, %"2.core::raw::Slice<u8>"** %src.i, align 4, !dbg !857, !noalias !858
call void @_ZN3mem13uninitialized20h5222657876657605956E(%"2.core::raw::Slice<u8>"* noalias nocapture sret dereferenceable(8) %tmp.i), !dbg !854, !noalias !858
%4 = load %"2.core::raw::Slice<u8>"*, %"2.core::raw::Slice<u8>"** %src.i, align 4, !dbg !861, !noalias !858
%5 = bitcast %"2.core::raw::Slice<u8>"* %tmp.i to i8*, !dbg !861
%6 = bitcast %"2.core::raw::Slice<u8>"* %4 to i8*, !dbg !861
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %5, i8* %6, i32 8, i32 4, i1 false), !dbg !861, !noalias !858
%7 = bitcast %"2.core::raw::Slice<u8>"* %tmp.i to i8*, !dbg !862
%8 = bitcast %"2.core::raw::Slice<u8>"* %0 to i8*, !dbg !862
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %8, i8* %7, i32 8, i32 4, i1 false), !dbg !857
ret void, !dbg !856
}
; Function Attrs: inlinehint uwtable
define internal void @_ZN3mem13uninitialized20h5222657876657605956E(%"2.core::raw::Slice<u8>"* noalias nocapture sret dereferenceable(8)) unnamed_addr #4 !dbg !381 {
entry-block:
ret void, !dbg !863
}
; Function Attrs: inlinehint uwtable
define internal zeroext i1 @"_ZN3ptr14_$BP$mut$u20$T7is_null20h7642413959157819658E"(i8*) unnamed_addr #4 !dbg !384 {
entry-block:
%self = alloca i8*
store i8* %0, i8** %self, align 4
call void @llvm.dbg.declare(metadata i8** %self, metadata !864, metadata !697), !dbg !865
%1 = load i8*, i8** %self, align 4, !dbg !866
%2 = icmp eq i8* %1, null, !dbg !866
%3 = zext i1 %2 to i8, !dbg !866
%4 = trunc i8 %3 to i1, !dbg !866
ret i1 %4, !dbg !865
}
; Function Attrs: nounwind
declare void @llvm.assume(i1) #8
; Function Attrs: inlinehint uwtable
define internal i32 @"_ZN5slice21_$u5b$T$u5d$.SliceExt3len21h16633752308469926477E"(i8* noalias nonnull readonly, i32) unnamed_addr #4 !dbg !391 {
entry-block:
%self = alloca { i8*, i32 }
%2 = alloca %"2.core::raw::Slice<u8>"
%3 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %self, i32 0, i32 0
store i8* %0, i8** %3
%4 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %self, i32 0, i32 1
store i32 %1, i32* %4
call void @llvm.dbg.declare(metadata { i8*, i32 }* %self, metadata !868, metadata !697), !dbg !869
%5 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %self, i32 0, i32 0, !dbg !870
%6 = load i8*, i8** %5, !dbg !870
%7 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %self, i32 0, i32 1, !dbg !870
%8 = load i32, i32* %7, !dbg !870
call void @_ZN3raw4Repr4repr20h4935575796058035801E(%"2.core::raw::Slice<u8>"* noalias nocapture sret dereferenceable(8) %2, i8* noalias nonnull readonly %6, i32 %8), !dbg !870
%9 = getelementptr inbounds %"2.core::raw::Slice<u8>", %"2.core::raw::Slice<u8>"* %2, i32 0, i32 1, !dbg !870
%10 = load i32, i32* %9, align 4, !dbg !870
ret i32 %10, !dbg !869
}
; Function Attrs: inlinehint uwtable
define internal i8* @"_ZN3ptr14_$BP$mut$u20$T6offset21h15595328266238240414E"(i8*, i32) unnamed_addr #4 !dbg !394 {
entry-block:
%self = alloca i8*
%count = alloca i32
%2 = alloca i8*
store i8* %0, i8** %self, align 4
call void @llvm.dbg.declare(metadata i8** %self, metadata !872, metadata !697), !dbg !873
store i32 %1, i32* %count, align 4
call void @llvm.dbg.declare(metadata i32* %count, metadata !874, metadata !697), !dbg !873
%3 = load i8*, i8** %self, align 4, !dbg !875
%4 = load i32, i32* %count, align 4, !dbg !875
%5 = getelementptr inbounds i8, i8* %3, i32 %4, !dbg !875
store i8* %5, i8** %2, align 4, !dbg !875
%6 = load i8*, i8** %2, align 4, !dbg !875
ret i8* %6, !dbg !873
}
; Function Attrs: uwtable
define internal { i8*, i32 } @"_ZN3vec26Vec$LT$T$GT$.ops..DerefMut9deref_mut20h6139662808942499416E"(%"3.collections::vec::Vec<u8>"* noalias dereferenceable(12)) unnamed_addr #1 !dbg !398 {
entry-block:
%sret_slot = alloca { i8*, i32 }
%self = alloca %"3.collections::vec::Vec<u8>"*
%ptr = alloca i8*
%1 = alloca i8
store %"3.collections::vec::Vec<u8>"* %0, %"3.collections::vec::Vec<u8>"** %self, align 4
call void @llvm.dbg.declare(metadata %"3.collections::vec::Vec<u8>"** %self, metadata !877, metadata !697), !dbg !878
%2 = load %"3.collections::vec::Vec<u8>"*, %"3.collections::vec::Vec<u8>"** %self, align 4, !dbg !879, !nonnull !66
%3 = getelementptr inbounds %"3.collections::vec::Vec<u8>", %"3.collections::vec::Vec<u8>"* %2, i32 0, i32 0, !dbg !879
%4 = call i8* @"_ZN7raw_vec15RawVec$LT$T$GT$3ptr20h2379132537314846121E"(%"5.alloc::raw_vec::RawVec<u8>"* noalias readonly dereferenceable(8) %3), !dbg !879
store i8* %4, i8** %ptr, align 4, !dbg !879
call void @llvm.dbg.declare(metadata i8** %ptr, metadata !882, metadata !697), !dbg !879
%5 = load i8*, i8** %ptr, align 4, !dbg !883
%6 = call zeroext i1 @"_ZN3ptr14_$BP$mut$u20$T7is_null20h7642413959157819658E"(i8* %5), !dbg !883
%7 = zext i1 %6 to i8, !dbg !883
store i8 %7, i8* %1, align 1, !dbg !883
%8 = load i8, i8* %1, align 1, !dbg !883, !range !775
%9 = trunc i8 %8 to i1, !dbg !883
%10 = xor i1 %9, true, !dbg !883
call void @llvm.assume(i1 %10), !dbg !883
%11 = load i8*, i8** %ptr, align 4, !dbg !884
%12 = load %"3.collections::vec::Vec<u8>"*, %"3.collections::vec::Vec<u8>"** %self, align 4, !dbg !884, !nonnull !66
%13 = getelementptr inbounds %"3.collections::vec::Vec<u8>", %"3.collections::vec::Vec<u8>"* %12, i32 0, i32 1, !dbg !884
%14 = load i32, i32* %13, align 4, !dbg !884
%15 = call { i8*, i32 } @_ZN5slice18from_raw_parts_mut21h15245241293295955527E(i8* %11, i32 %14), !dbg !884
%16 = extractvalue { i8*, i32 } %15, 0, !dbg !884
%17 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %sret_slot, i32 0, i32 0, !dbg !884
store i8* %16, i8** %17, !dbg !884
%18 = extractvalue { i8*, i32 } %15, 1, !dbg !884
%19 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %sret_slot, i32 0, i32 1, !dbg !884
store i32 %18, i32* %19, !dbg !884
%20 = load { i8*, i32 }, { i8*, i32 }* %sret_slot, align 4, !dbg !885
ret { i8*, i32 } %20, !dbg !878
}
; Function Attrs: uwtable
define internal i8* @"_ZN7raw_vec15RawVec$LT$T$GT$3ptr20h2379132537314846121E"(%"5.alloc::raw_vec::RawVec<u8>"* noalias readonly dereferenceable(8)) unnamed_addr #1 !dbg !402 {
entry-block:
%self = alloca %"5.alloc::raw_vec::RawVec<u8>"*
%overloaded_deref = alloca i8**
store %"5.alloc::raw_vec::RawVec<u8>"* %0, %"5.alloc::raw_vec::RawVec<u8>"** %self, align 4
call void @llvm.dbg.declare(metadata %"5.alloc::raw_vec::RawVec<u8>"** %self, metadata !886, metadata !697), !dbg !887
%1 = load %"5.alloc::raw_vec::RawVec<u8>"*, %"5.alloc::raw_vec::RawVec<u8>"** %self, align 4, !dbg !888, !nonnull !66
%2 = getelementptr inbounds %"5.alloc::raw_vec::RawVec<u8>", %"5.alloc::raw_vec::RawVec<u8>"* %1, i32 0, i32 0, !dbg !888
%3 = call dereferenceable(4) i8** @"_ZN3ptr21Unique$LT$T$GT$.Deref5deref20h7549955927610200697E"(%"2.core::ptr::Unique<u8>"* noalias readonly dereferenceable(4) %2), !dbg !888
store i8** %3, i8*** %overloaded_deref, align 4, !dbg !888
%4 = load i8**, i8*** %overloaded_deref, align 4, !dbg !888, !nonnull !66
%5 = load i8*, i8** %4, align 4, !dbg !888
ret i8* %5, !dbg !887
}
; Function Attrs: inlinehint uwtable
define internal dereferenceable(4) i8** @"_ZN3ptr21Unique$LT$T$GT$.Deref5deref20h7549955927610200697E"(%"2.core::ptr::Unique<u8>"* noalias readonly dereferenceable(4)) unnamed_addr #4 !dbg !405 {
entry-block:
%self = alloca %"2.core::ptr::Unique<u8>"*
%overloaded_deref = alloca i8**
store %"2.core::ptr::Unique<u8>"* %0, %"2.core::ptr::Unique<u8>"** %self, align 4
call void @llvm.dbg.declare(metadata %"2.core::ptr::Unique<u8>"** %self, metadata !890, metadata !697), !dbg !891
%1 = load %"2.core::ptr::Unique<u8>"*, %"2.core::ptr::Unique<u8>"** %self, align 4, !dbg !892, !nonnull !66
%2 = getelementptr inbounds %"2.core::ptr::Unique<u8>", %"2.core::ptr::Unique<u8>"* %1, i32 0, i32 0, !dbg !892
%3 = call dereferenceable(4) i8** @"_ZN7nonzero22NonZero$LT$T$GT$.Deref5deref21h12526315938373541642E"(%"2.core::nonzero::NonZero<*const u8>"* noalias readonly dereferenceable(4) %2), !dbg !892
store i8** %3, i8*** %overloaded_deref, align 4, !dbg !892
%4 = load i8**, i8*** %overloaded_deref, align 4, !dbg !892, !nonnull !66
ret i8** %4, !dbg !891
}
; Function Attrs: inlinehint uwtable
define internal dereferenceable(4) i8** @"_ZN7nonzero22NonZero$LT$T$GT$.Deref5deref21h12526315938373541642E"(%"2.core::nonzero::NonZero<*const u8>"* noalias readonly dereferenceable(4)) unnamed_addr #4 !dbg !411 {
entry-block:
%self = alloca %"2.core::nonzero::NonZero<*const u8>"*
%inner = alloca i8**
store %"2.core::nonzero::NonZero<*const u8>"* %0, %"2.core::nonzero::NonZero<*const u8>"** %self, align 4
call void @llvm.dbg.declare(metadata %"2.core::nonzero::NonZero<*const u8>"** %self, metadata !895, metadata !697), !dbg !896
%1 = load %"2.core::nonzero::NonZero<*const u8>"*, %"2.core::nonzero::NonZero<*const u8>"** %self, align 4, !dbg !897, !nonnull !66
%2 = getelementptr inbounds %"2.core::nonzero::NonZero<*const u8>", %"2.core::nonzero::NonZero<*const u8>"* %1, i32 0, i32 0, !dbg !897
store i8** %2, i8*** %inner
call void @llvm.dbg.declare(metadata i8*** %inner, metadata !899, metadata !697), !dbg !897
%3 = load i8**, i8*** %inner, align 4, !dbg !900, !nonnull !66
ret i8** %3, !dbg !896
}
; Function Attrs: inlinehint uwtable
define internal { i8*, i32 } @_ZN5slice18from_raw_parts_mut21h15245241293295955527E(i8*, i32) unnamed_addr #4 !dbg !419 {
entry-block:
%sret_slot = alloca { i8*, i32 }
%p = alloca i8*
%len = alloca i32
store i8* %0, i8** %p, align 4
call void @llvm.dbg.declare(metadata i8** %p, metadata !901, metadata !697), !dbg !902
store i32 %1, i32* %len, align 4
call void @llvm.dbg.declare(metadata i32* %len, metadata !903, metadata !697), !dbg !902
%2 = bitcast { i8*, i32 }* %sret_slot to %"2.core::raw::Slice<u8>"*, !dbg !904
%3 = getelementptr inbounds %"2.core::raw::Slice<u8>", %"2.core::raw::Slice<u8>"* %2, i32 0, i32 0, !dbg !904
%4 = load i8*, i8** %p, align 4, !dbg !904
store i8* %4, i8** %3, align 4, !dbg !904
%5 = getelementptr inbounds %"2.core::raw::Slice<u8>", %"2.core::raw::Slice<u8>"* %2, i32 0, i32 1, !dbg !904
%6 = load i32, i32* %len, align 4, !dbg !904
store i32 %6, i32* %5, align 4, !dbg !904
%7 = load { i8*, i32 }, { i8*, i32 }* %sret_slot, align 4, !dbg !904
ret { i8*, i32 } %7, !dbg !902
}
; Function Attrs: inlinehint uwtable
define internal i8* @"_ZN5slice39IterMut$LT$$u27$a$C$$u20$T$GT$.Iterator4next21h10343915042040914799E"(%"2.core::slice::IterMut<u8>"* noalias dereferenceable(8)) unnamed_addr #4 !dbg !422 {
entry-block:
%1 = alloca i8*
%2 = alloca i8*
%sret_slot = alloca i8*
%self = alloca %"2.core::slice::IterMut<u8>"*
%3 = alloca i32
%4 = alloca i8
%5 = alloca i8
%old = alloca i8*
%6 = alloca i8*
%ptr = alloca i8*
%7 = alloca i32
%8 = alloca i8*
%ptr2 = alloca i8*
%9 = alloca i32
store %"2.core::slice::IterMut<u8>"* %0, %"2.core::slice::IterMut<u8>"** %self, align 4
call void @llvm.dbg.declare(metadata %"2.core::slice::IterMut<u8>"** %self, metadata !906, metadata !697), !dbg !907
%10 = call i32 @_ZN3mem7size_of20h4287011132594631077E(), !dbg !908
store i32 %10, i32* %3, align 4, !dbg !908
%11 = load i32, i32* %3, align 4, !dbg !908
%12 = icmp ne i32 %11, 0, !dbg !908
br i1 %12, label %then-block-8475-, label %next-block, !dbg !908
then-block-8475-: ; preds = %entry-block
%13 = load %"2.core::slice::IterMut<u8>"*, %"2.core::slice::IterMut<u8>"** %self, align 4, !dbg !911, !nonnull !66
%14 = getelementptr inbounds %"2.core::slice::IterMut<u8>", %"2.core::slice::IterMut<u8>"* %13, i32 0, i32 0, !dbg !911
%15 = load i8*, i8** %14, align 4, !dbg !911
%16 = call zeroext i1 @"_ZN3ptr14_$BP$mut$u20$T7is_null20h7642413959157819658E"(i8* %15), !dbg !911
%17 = zext i1 %16 to i8, !dbg !911
store i8 %17, i8* %4, align 1, !dbg !911
%18 = load i8, i8* %4, align 1, !dbg !911, !range !775
%19 = trunc i8 %18 to i1, !dbg !911
%20 = xor i1 %19, true, !dbg !911
call void @llvm.assume(i1 %20), !dbg !911
%21 = load %"2.core::slice::IterMut<u8>"*, %"2.core::slice::IterMut<u8>"** %self, align 4, !dbg !913, !nonnull !66
%22 = getelementptr inbounds %"2.core::slice::IterMut<u8>", %"2.core::slice::IterMut<u8>"* %21, i32 0, i32 1, !dbg !913
%23 = load i8*, i8** %22, align 4, !dbg !913
%24 = call zeroext i1 @"_ZN3ptr14_$BP$mut$u20$T7is_null20h7642413959157819658E"(i8* %23), !dbg !913
%25 = zext i1 %24 to i8, !dbg !913
store i8 %25, i8* %5, align 1, !dbg !913
%26 = load i8, i8* %5, align 1, !dbg !913, !range !775
%27 = trunc i8 %26 to i1, !dbg !913
%28 = xor i1 %27, true, !dbg !913
call void @llvm.assume(i1 %28), !dbg !913
br label %next-block
next-block: ; preds = %entry-block, %then-block-8475-
%29 = load %"2.core::slice::IterMut<u8>"*, %"2.core::slice::IterMut<u8>"** %self, align 4, !dbg !914, !nonnull !66
%30 = getelementptr inbounds %"2.core::slice::IterMut<u8>", %"2.core::slice::IterMut<u8>"* %29, i32 0, i32 0, !dbg !914
%31 = load i8*, i8** %30, align 4, !dbg !914
%32 = load %"2.core::slice::IterMut<u8>"*, %"2.core::slice::IterMut<u8>"** %self, align 4, !dbg !914, !nonnull !66
%33 = getelementptr inbounds %"2.core::slice::IterMut<u8>", %"2.core::slice::IterMut<u8>"* %32, i32 0, i32 1, !dbg !914
%34 = load i8*, i8** %33, align 4, !dbg !914
%35 = icmp eq i8* %31, %34, !dbg !914
br i1 %35, label %then-block-8496-, label %else-block, !dbg !914
then-block-8496-: ; preds = %next-block
%36 = bitcast i8** %sret_slot to i8*, !dbg !915
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %36, i8* bitcast (i8** @const4381 to i8*), i32 4, i32 4, i1 false)
br label %join5
else-block: ; preds = %next-block
%37 = load %"2.core::slice::IterMut<u8>"*, %"2.core::slice::IterMut<u8>"** %self, align 4, !dbg !917, !nonnull !66
%38 = getelementptr inbounds %"2.core::slice::IterMut<u8>", %"2.core::slice::IterMut<u8>"* %37, i32 0, i32 0, !dbg !917
%39 = load i8*, i8** %38, align 4, !dbg !917
store i8* %39, i8** %old, align 4, !dbg !917
call void @llvm.dbg.declare(metadata i8** %old, metadata !919, metadata !697), !dbg !917
%40 = load %"2.core::slice::IterMut<u8>"*, %"2.core::slice::IterMut<u8>"** %self, align 4, !dbg !920, !nonnull !66
%41 = getelementptr inbounds %"2.core::slice::IterMut<u8>", %"2.core::slice::IterMut<u8>"* %40, i32 0, i32 0, !dbg !920
%42 = load i8*, i8** %41, align 4, !dbg !920
store i8* %42, i8** %ptr, align 4, !dbg !920
call void @llvm.dbg.declare(metadata i8** %ptr, metadata !922, metadata !697), !dbg !923
%43 = load i8*, i8** %ptr, align 4, !dbg !924
store i8* %43, i8** %2, align 4, !dbg !924
%44 = call i32 @_ZN3mem7size_of20h4287011132594631077E(), !dbg !925
store i32 %44, i32* %7, align 4, !dbg !924
%45 = load i32, i32* %7, align 4, !dbg !924
%46 = icmp eq i32 %45, 0, !dbg !924
br i1 %46, label %then-block-8522-, label %else-block1, !dbg !924
then-block-8522-: ; preds = %else-block
%47 = load i8*, i8** %ptr, align 4, !dbg !927
%48 = getelementptr i8, i8* %47, i32 1, !dbg !927
store i8* %48, i8** %8, align 4, !dbg !927
%49 = load i8*, i8** %8, align 4, !dbg !927
store i8* %49, i8** %6, align 4, !dbg !927
br label %join
else-block1: ; preds = %else-block
%50 = load i8*, i8** %ptr, align 4, !dbg !929
%51 = call i8* @"_ZN3ptr14_$BP$mut$u20$T6offset21h15595328266238240414E"(i8* %50, i32 1), !dbg !929
store i8* %51, i8** %6, align 4, !dbg !929
br label %join
join: ; preds = %else-block1, %then-block-8522-
%52 = load i8*, i8** %6, align 4, !dbg !931
%53 = load %"2.core::slice::IterMut<u8>"*, %"2.core::slice::IterMut<u8>"** %self, align 4, !dbg !932, !nonnull !66
%54 = getelementptr inbounds %"2.core::slice::IterMut<u8>", %"2.core::slice::IterMut<u8>"* %53, i32 0, i32 0, !dbg !932
store i8* %52, i8** %54, align 4, !dbg !932
%55 = load i8*, i8** %old, align 4, !dbg !933
store i8* %55, i8** %ptr2, align 4, !dbg !933
call void @llvm.dbg.declare(metadata i8** %ptr2, metadata !935, metadata !697), !dbg !936
%56 = load i8*, i8** %ptr2, align 4, !dbg !937
store i8* %56, i8** %1, align 4, !dbg !937
%57 = call i32 @_ZN3mem7size_of20h4287011132594631077E(), !dbg !938
store i32 %57, i32* %9, align 4, !dbg !937
%58 = load i32, i32* %9, align 4, !dbg !937
%59 = icmp eq i32 %58, 0, !dbg !937
br i1 %59, label %then-block-8552-, label %else-block3, !dbg !937
then-block-8552-: ; preds = %join
store i8* inttoptr (i32 1 to i8*), i8** %sret_slot, align 4, !dbg !940
br label %join4
else-block3: ; preds = %join
%60 = load i8*, i8** %ptr2, align 4, !dbg !942
store i8* %60, i8** %sret_slot, !dbg !942
br label %join4
join4: ; preds = %else-block3, %then-block-8552-
br label %join5
join5: ; preds = %join4, %then-block-8496-
%61 = load i8*, i8** %sret_slot, align 4
ret i8* %61, !dbg !907
}
define internal void @"_ZN31collections..vec..Vec$LT$u8$GT$9drop.442917h20f7c96de665dbf6E"(%"3.collections::vec::Vec<u8>"*) unnamed_addr {
entry-block:
%1 = getelementptr inbounds %"3.collections::vec::Vec<u8>", %"3.collections::vec::Vec<u8>"* %0, i32 0, i32 0
call void @"_ZN32alloc..raw_vec..RawVec$LT$u8$GT$9drop.443217hb927a3f2979b0f32E"(%"5.alloc::raw_vec::RawVec<u8>"* %1)
%2 = getelementptr inbounds %"3.collections::vec::Vec<u8>", %"3.collections::vec::Vec<u8>"* %0, i32 0, i32 1
ret void
}
define internal void @"_ZN32alloc..raw_vec..RawVec$LT$u8$GT$9drop.443217hb927a3f2979b0f32E"(%"5.alloc::raw_vec::RawVec<u8>"*) unnamed_addr personality i32 (i32, i32, i64, %"1.std::sys_common::libunwind::_Unwind_Exception"*, %"1.std::sys_common::libunwind::_Unwind_Context"*)* @rust_eh_personality {
entry-block:
%1 = alloca { i8*, i32 }
invoke void @"_ZN7raw_vec20RawVec$LT$T$GT$.Drop4drop21h14020649664141940285E"(%"5.alloc::raw_vec::RawVec<u8>"* noalias dereferenceable(8) %0)
to label %normal-return unwind label %unwind_custom_
normal-return: ; preds = %entry-block
call void @"_ZN32alloc..raw_vec..RawVec$LT$u8$GT$9drop.444417hb927a3f2979b0f32E"(%"5.alloc::raw_vec::RawVec<u8>"* %0)
ret void
unwind_custom_: ; preds = %entry-block
%2 = landingpad { i8*, i32 }
cleanup
store { i8*, i32 } %2, { i8*, i32 }* %1
br label %clean_custom_
resume: ; preds = %clean_custom_
%3 = load { i8*, i32 }, { i8*, i32 }* %1
resume { i8*, i32 } %3
clean_custom_: ; preds = %unwind_custom_
call void @"_ZN32alloc..raw_vec..RawVec$LT$u8$GT$9drop.444417hb927a3f2979b0f32E"(%"5.alloc::raw_vec::RawVec<u8>"* %0)
br label %resume
}
; Function Attrs: uwtable
define internal void @"_ZN7raw_vec20RawVec$LT$T$GT$.Drop4drop21h14020649664141940285E"(%"5.alloc::raw_vec::RawVec<u8>"* noalias dereferenceable(8)) unnamed_addr #1 !dbg !427 {
entry-block:
%self = alloca %"5.alloc::raw_vec::RawVec<u8>"*
%elem_size = alloca i32
%1 = alloca i8
%align = alloca i32
%num_bytes = alloca i32
%overloaded_deref = alloca i8**
store %"5.alloc::raw_vec::RawVec<u8>"* %0, %"5.alloc::raw_vec::RawVec<u8>"** %self, align 4
call void @llvm.dbg.declare(metadata %"5.alloc::raw_vec::RawVec<u8>"** %self, metadata !944, metadata !697), !dbg !945
%2 = call i32 @_ZN3mem7size_of20h4287011132594631077E(), !dbg !946
store i32 %2, i32* %elem_size, align 4, !dbg !946
call void @llvm.dbg.declare(metadata i32* %elem_size, metadata !948, metadata !697), !dbg !946
%3 = load i32, i32* %elem_size, align 4, !dbg !949
%4 = icmp ne i32 %3, 0, !dbg !949
br i1 %4, label %before_rhs, label %join
join: ; preds = %before_rhs, %entry-block
%5 = phi i1 [ %4, %entry-block ], [ %9, %before_rhs ]
br i1 %5, label %before_rhs2, label %join1
before_rhs: ; preds = %entry-block
%6 = load %"5.alloc::raw_vec::RawVec<u8>"*, %"5.alloc::raw_vec::RawVec<u8>"** %self, align 4, !dbg !949, !nonnull !66
%7 = getelementptr inbounds %"5.alloc::raw_vec::RawVec<u8>", %"5.alloc::raw_vec::RawVec<u8>"* %6, i32 0, i32 1, !dbg !949
%8 = load i32, i32* %7, align 4, !dbg !949
%9 = icmp ne i32 %8, 0, !dbg !949
br label %join
join1: ; preds = %before_rhs2, %join
%10 = phi i1 [ %5, %join ], [ %15, %before_rhs2 ]
br i1 %10, label %then-block-8598-, label %next-block, !dbg !949
before_rhs2: ; preds = %join
%11 = load %"5.alloc::raw_vec::RawVec<u8>"*, %"5.alloc::raw_vec::RawVec<u8>"** %self, align 4, !dbg !949, !nonnull !66
%12 = call zeroext i1 @"_ZN7raw_vec15RawVec$LT$T$GT$30unsafe_no_drop_flag_needs_drop20h9289972274511091259E"(%"5.alloc::raw_vec::RawVec<u8>"* noalias readonly dereferenceable(8) %11), !dbg !949
%13 = zext i1 %12 to i8, !dbg !949
store i8 %13, i8* %1, align 1, !dbg !949
%14 = load i8, i8* %1, align 1, !dbg !949, !range !775
%15 = trunc i8 %14 to i1, !dbg !949
br label %join1
then-block-8598-: ; preds = %join1
%16 = call i32 @_ZN3mem8align_of18h73107983397076033E(), !dbg !950
store i32 %16, i32* %align, align 4, !dbg !950
call void @llvm.dbg.declare(metadata i32* %align, metadata !952, metadata !697), !dbg !950
%17 = load i32, i32* %elem_size, align 4, !dbg !953
%18 = load %"5.alloc::raw_vec::RawVec<u8>"*, %"5.alloc::raw_vec::RawVec<u8>"** %self, align 4, !dbg !953, !nonnull !66
%19 = getelementptr inbounds %"5.alloc::raw_vec::RawVec<u8>", %"5.alloc::raw_vec::RawVec<u8>"* %18, i32 0, i32 1, !dbg !953
%20 = load i32, i32* %19, align 4, !dbg !953
%21 = call { i32, i1 } @llvm.umul.with.overflow.i32(i32 %17, i32 %20), !dbg !953
%22 = extractvalue { i32, i1 } %21, 0, !dbg !953
%23 = extractvalue { i32, i1 } %21, 1, !dbg !953
%24 = icmp eq i1 %23, true, !dbg !953
%25 = call i1 @llvm.expect.i1(i1 %24, i1 false), !dbg !953
br i1 %24, label %cond, label %next
next: ; preds = %then-block-8598-
store i32 %22, i32* %num_bytes, align 4, !dbg !953
call void @llvm.dbg.declare(metadata i32* %num_bytes, metadata !954, metadata !697), !dbg !953
%26 = load %"5.alloc::raw_vec::RawVec<u8>"*, %"5.alloc::raw_vec::RawVec<u8>"** %self, align 4, !dbg !955, !nonnull !66
%27 = getelementptr inbounds %"5.alloc::raw_vec::RawVec<u8>", %"5.alloc::raw_vec::RawVec<u8>"* %26, i32 0, i32 0, !dbg !955
%28 = call dereferenceable(4) i8** @"_ZN3ptr21Unique$LT$T$GT$.Deref5deref20h7549955927610200697E"(%"2.core::ptr::Unique<u8>"* noalias readonly dereferenceable(4) %27), !dbg !955
store i8** %28, i8*** %overloaded_deref, align 4, !dbg !955
%29 = load i8**, i8*** %overloaded_deref, align 4, !dbg !955, !nonnull !66
%30 = load i8*, i8** %29, align 4, !dbg !955
%31 = load i32, i32* %num_bytes, align 4, !dbg !955
%32 = load i32, i32* %align, align 4, !dbg !955
call void @_ZN4heap10deallocate20h3b1abef5836d863a7eaE(i8* %30, i32 %31, i32 %32), !dbg !955
br label %next-block
cond: ; preds = %then-block-8598-
call void @_ZN9panicking5panic20ha43e303ff6444f51DXLE({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(20) @panic_loc4443), !dbg !953
unreachable, !dbg !953
next-block: ; preds = %join1, %next
ret void, !dbg !945
}
; Function Attrs: inlinehint uwtable
define internal i32 @_ZN3mem8align_of18h73107983397076033E() unnamed_addr #4 !dbg !432 {
entry-block:
ret i32 1, !dbg !957
}
; Function Attrs: nounwind readnone
declare { i32, i1 } @llvm.umul.with.overflow.i32(i32, i32) #3
; Function Attrs: nounwind readnone
declare i1 @llvm.expect.i1(i1, i1) #3
; Function Attrs: cold noinline noreturn
declare void @_ZN9panicking5panic20ha43e303ff6444f51DXLE({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(20)) unnamed_addr #6
define internal void @"_ZN32alloc..raw_vec..RawVec$LT$u8$GT$9drop.444417hb927a3f2979b0f32E"(%"5.alloc::raw_vec::RawVec<u8>"*) unnamed_addr {
entry-block:
%1 = getelementptr inbounds %"5.alloc::raw_vec::RawVec<u8>", %"5.alloc::raw_vec::RawVec<u8>"* %0, i32 0, i32 0
%2 = getelementptr inbounds %"5.alloc::raw_vec::RawVec<u8>", %"5.alloc::raw_vec::RawVec<u8>"* %0, i32 0, i32 1
ret void
}
; Function Attrs: uwtable
define internal void @"_ZN3fmt24ArgumentV1$LT$$u27$a$GT$3new21h14217864512667652860E"(%"2.core::fmt::ArgumentV1"* noalias nocapture sret dereferenceable(8), %"1.std::ffi::c_str::NulError"* noalias readonly dereferenceable(16), i8 (%"1.std::ffi::c_str::NulError"*, %"2.core::fmt::Formatter"*)*) unnamed_addr #1 !dbg !433 {
entry-block:
%x = alloca %"1.std::ffi::c_str::NulError"*
%f = alloca i8 (%"1.std::ffi::c_str::NulError"*, %"2.core::fmt::Formatter"*)*
store %"1.std::ffi::c_str::NulError"* %1, %"1.std::ffi::c_str::NulError"** %x, align 4
call void @llvm.dbg.declare(metadata %"1.std::ffi::c_str::NulError"** %x, metadata !958, metadata !697), !dbg !959
store i8 (%"1.std::ffi::c_str::NulError"*, %"2.core::fmt::Formatter"*)* %2, i8 (%"1.std::ffi::c_str::NulError"*, %"2.core::fmt::Formatter"*)** %f, align 4
call void @llvm.dbg.declare(metadata i8 (%"1.std::ffi::c_str::NulError"*, %"2.core::fmt::Formatter"*)** %f, metadata !960, metadata !697), !dbg !961
%3 = getelementptr inbounds %"2.core::fmt::ArgumentV1", %"2.core::fmt::ArgumentV1"* %0, i32 0, i32 1, !dbg !962
%4 = load i8 (%"1.std::ffi::c_str::NulError"*, %"2.core::fmt::Formatter"*)*, i8 (%"1.std::ffi::c_str::NulError"*, %"2.core::fmt::Formatter"*)** %f, align 4, !dbg !965
%5 = bitcast i8 (%"1.std::ffi::c_str::NulError"*, %"2.core::fmt::Formatter"*)* %4 to i8 (%"2.core::fmt::Void"*, %"2.core::fmt::Formatter"*)*, !dbg !965
store i8 (%"2.core::fmt::Void"*, %"2.core::fmt::Formatter"*)* %5, i8 (%"2.core::fmt::Void"*, %"2.core::fmt::Formatter"*)** %3, !dbg !965
%6 = getelementptr inbounds %"2.core::fmt::ArgumentV1", %"2.core::fmt::ArgumentV1"* %0, i32 0, i32 0, !dbg !965
%7 = load %"1.std::ffi::c_str::NulError"*, %"1.std::ffi::c_str::NulError"** %x, align 4, !dbg !966, !nonnull !66
%8 = bitcast %"1.std::ffi::c_str::NulError"* %7 to %"2.core::fmt::Void"*, !dbg !966
store %"2.core::fmt::Void"* %8, %"2.core::fmt::Void"** %6, !dbg !966
ret void, !dbg !961
}
declare i8 @_ZN3ffi5c_str27NulError...core..fmt..Debug3fmt20hb134d53edb24185a0yeE(%"1.std::ffi::c_str::NulError"* noalias readonly dereferenceable(16), %"2.core::fmt::Formatter"* noalias dereferenceable(52)) unnamed_addr #7
define internal void @"_ZN85core..result..Result$LT$std..ffi..c_str..CString$C$$u20$std..ffi..c_str..NulError$GT$9drop.445117h3e005fc2b8707174E"(%"2.core::result::Result<std::ffi::c_str::CString, std::ffi::c_str::NulError>"*) unnamed_addr {
entry-block:
%1 = getelementptr inbounds %"2.core::result::Result<std::ffi::c_str::CString, std::ffi::c_str::NulError>", %"2.core::result::Result<std::ffi::c_str::CString, std::ffi::c_str::NulError>"* %0, i32 0, i32 0
%2 = load i32, i32* %1
switch i32 %2, label %enum-iter-ret-void [
i32 0, label %enum-iter-variant-0
i32 1, label %enum-iter-variant-1
]
enum-iter-ret-void: ; preds = %entry-block
ret void
enum-iter-next: ; preds = %enum-iter-variant-1, %enum-iter-variant-0
ret void
enum-iter-variant-0: ; preds = %entry-block
%3 = bitcast %"2.core::result::Result<std::ffi::c_str::CString, std::ffi::c_str::NulError>"* %0 to { i32, %"1.std::ffi::c_str::CString" }*
%4 = getelementptr inbounds { i32, %"1.std::ffi::c_str::CString" }, { i32, %"1.std::ffi::c_str::CString" }* %3, i32 0, i32 1
call void @_ZN24std..ffi..c_str..CString9drop.416717h08cdfb41b28bfd8dE(%"1.std::ffi::c_str::CString"* %4)
br label %enum-iter-next
enum-iter-variant-1: ; preds = %entry-block
%5 = bitcast %"2.core::result::Result<std::ffi::c_str::CString, std::ffi::c_str::NulError>"* %0 to { i32, %"1.std::ffi::c_str::NulError" }*
%6 = getelementptr inbounds { i32, %"1.std::ffi::c_str::NulError" }, { i32, %"1.std::ffi::c_str::NulError" }* %5, i32 0, i32 1
call void @_ZN25std..ffi..c_str..NulError9drop.421317h9615176818444b33E(%"1.std::ffi::c_str::NulError"* %6)
br label %enum-iter-next
}
; Function Attrs: uwtable
define internal void @_ZN3ffi5c_str7CString3new21h15855948418616721144E(%"2.core::result::Result<std::ffi::c_str::CString, std::ffi::c_str::NulError>"* noalias nocapture sret dereferenceable(20), %"3.collections::string::String"* noalias nocapture dereferenceable(12)) unnamed_addr #1 personality i32 (i32, i32, i64, %"1.std::sys_common::libunwind::_Unwind_Exception"*, %"1.std::sys_common::libunwind::_Unwind_Context"*)* @rust_eh_personality !dbg !442 {
entry-block:
%t = alloca %"3.collections::string::String"
%2 = alloca %"3.collections::vec::Vec<u8>"
%arg = alloca %"3.collections::string::String"
%3 = alloca { i8*, i32 }
%4 = bitcast %"3.collections::string::String"* %1 to i8*
%5 = bitcast %"3.collections::string::String"* %t to i8*
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %5, i8* %4, i32 12, i32 4, i1 false)
call void @llvm.dbg.declare(metadata %"3.collections::string::String"* %t, metadata !967, metadata !697), !dbg !968
%6 = bitcast %"3.collections::string::String"* %t to i8*
%7 = bitcast %"3.collections::string::String"* %arg to i8*
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %7, i8* %6, i32 12, i32 4, i1 false)
%8 = bitcast %"3.collections::string::String"* %t to i8*
call void @llvm.memset.p0i8.i32(i8* %8, i8 29, i32 12, i32 4, i1 false)
invoke void @"_ZN6string32String.Into$LT$Vec$LT$u8$GT$$GT$4into20h5561ddfd294324d9kZfE"(%"3.collections::vec::Vec<u8>"* noalias nocapture sret dereferenceable(12) %2, %"3.collections::string::String"* noalias nocapture dereferenceable(12) %arg)
to label %normal-return unwind label %unwind_custom_, !dbg !969
normal-return: ; preds = %entry-block
invoke void @_ZN3ffi5c_str7CString4_new20h14fc098f20fae8ffLEeE(%"2.core::result::Result<std::ffi::c_str::CString, std::ffi::c_str::NulError>"* noalias nocapture sret dereferenceable(20) %0, %"3.collections::vec::Vec<u8>"* noalias nocapture dereferenceable(12) %2)
to label %normal-return1 unwind label %unwind_custom_, !dbg !969
unwind_custom_: ; preds = %normal-return, %entry-block
%9 = landingpad { i8*, i32 }
cleanup
store { i8*, i32 } %9, { i8*, i32 }* %3
br label %clean_custom_
resume: ; preds = %clean_custom_
%10 = load { i8*, i32 }, { i8*, i32 }* %3
resume { i8*, i32 } %10
clean_custom_: ; preds = %unwind_custom_
call void @_ZN27collections..string..String9drop.446417hd99796de187a6992E(%"3.collections::string::String"* %t), !dbg !968
br label %resume
normal-return1: ; preds = %normal-return
call void @_ZN27collections..string..String9drop.446417hd99796de187a6992E(%"3.collections::string::String"* %t), !dbg !968
ret void, !dbg !968
}
declare void @_ZN3ffi5c_str7CString4_new20h14fc098f20fae8ffLEeE(%"2.core::result::Result<std::ffi::c_str::CString, std::ffi::c_str::NulError>"* noalias nocapture sret dereferenceable(20), %"3.collections::vec::Vec<u8>"* noalias nocapture dereferenceable(12)) unnamed_addr #7
declare void @"_ZN6string32String.Into$LT$Vec$LT$u8$GT$$GT$4into20h5561ddfd294324d9kZfE"(%"3.collections::vec::Vec<u8>"* noalias nocapture sret dereferenceable(12), %"3.collections::string::String"* noalias nocapture dereferenceable(12)) unnamed_addr #7
define internal void @_ZN27collections..string..String9drop.446417hd99796de187a6992E(%"3.collections::string::String"*) unnamed_addr {
entry-block:
%1 = getelementptr inbounds %"3.collections::string::String", %"3.collections::string::String"* %0, i32 0, i32 0
call void @"_ZN31collections..vec..Vec$LT$u8$GT$9drop.421617h20f7c96de665dbf6E"(%"3.collections::vec::Vec<u8>"* %1)
ret void
}
declare i8* @_ZN3ffi5c_str4CStr6as_ptr20h657d885273054583bPeE(%"1.std::ffi::c_str::CStr"* noalias nonnull readonly, i32) unnamed_addr #7
declare { %"1.std::ffi::c_str::CStr"*, i32 } @_ZN3ffi5c_str18CString.ops..Deref5deref20h35d9edf2de6efa929IeE(%"1.std::ffi::c_str::CString"* noalias readonly dereferenceable(8)) unnamed_addr #7
; Function Attrs: uwtable
define void @_ZN4main20h36c8d57047a06aa2KaaE() unnamed_addr #1 !dbg !451 {
entry-block:
%len = alloca i32
%0 = alloca %"3.collections::string::String"
%1 = alloca { i32*, i32* }
%__llmatch = alloca i32**
%left_val = alloca i32*
%__llmatch1 = alloca i32**
%right_val = alloca i32*
%2 = alloca %"2.core::fmt::Arguments"
%3 = alloca { %str_slice*, i32 }
%4 = alloca [2 x %"2.core::fmt::ArgumentV1"]
%5 = alloca { i32**, i32** }
%__llmatch3 = alloca i32***
%__arg0 = alloca i32**
%__llmatch4 = alloca i32***
%__arg1 = alloca i32**
%__coerce_target = alloca { %"2.core::fmt::ArgumentV1"*, i32 }
%6 = alloca { %str_slice, i32 }*
%7 = load i8*, i8** getelementptr inbounds (%str_slice, %str_slice* @const4896, i32 0, i32 0)
%8 = load i32, i32* getelementptr inbounds (%str_slice, %str_slice* @const4896, i32 0, i32 1)
call void @_ZN6string10T.ToString9to_string20h6108517317650251893E(%"3.collections::string::String"* noalias nocapture sret dereferenceable(12) %0, i8* noalias nonnull readonly %7, i32 %8), !dbg !971
%9 = call i32 @_ZN6strlen20h14ec33f35cf8736eoaaE(%"3.collections::string::String"* noalias nocapture dereferenceable(12) %0), !dbg !971
store i32 %9, i32* %len, align 4, !dbg !971
call void @llvm.dbg.declare(metadata i32* %len, metadata !973, metadata !697), !dbg !971
%10 = getelementptr inbounds { i32*, i32* }, { i32*, i32* }* %1, i32 0, i32 0, !dbg !974
store i32* %len, i32** %10, align 4, !dbg !976
%11 = getelementptr inbounds { i32*, i32* }, { i32*, i32* }* %1, i32 0, i32 1, !dbg !976
store i32* @const4811, i32** %11, align 4, !dbg !974
%12 = getelementptr inbounds { i32*, i32* }, { i32*, i32* }* %1, i32 0, i32 0
%13 = getelementptr inbounds { i32*, i32* }, { i32*, i32* }* %1, i32 0, i32 1
store i32** %13, i32*** %__llmatch1
store i32** %12, i32*** %__llmatch
br label %case_body
case_body: ; preds = %entry-block
%14 = load i32**, i32*** %__llmatch
%15 = load i32*, i32** %14, align 4, !nonnull !66
store i32* %15, i32** %left_val, align 4
call void @llvm.dbg.declare(metadata i32** %left_val, metadata !977, metadata !697), !dbg !979
%16 = load i32**, i32*** %__llmatch1, !dbg !979
%17 = load i32*, i32** %16, align 4, !dbg !979, !nonnull !66
store i32* %17, i32** %right_val, align 4, !dbg !979
call void @llvm.dbg.declare(metadata i32** %right_val, metadata !980, metadata !697), !dbg !979
%18 = load i32*, i32** %left_val, align 4, !dbg !981, !nonnull !66
%19 = load i32, i32* %18, align 4, !dbg !981
%20 = load i32*, i32** %right_val, align 4, !dbg !981, !nonnull !66
%21 = load i32, i32* %20, align 4, !dbg !981
%22 = icmp eq i32 %19, %21, !dbg !981
%23 = xor i1 %22, true, !dbg !981
br i1 %23, label %then-block-70-, label %next-block, !dbg !981
then-block-70-: ; preds = %case_body
%24 = bitcast { %str_slice*, i32 }* %3 to i8*, !dbg !983
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %24, i8* bitcast ({ %str_slice*, i32 }* @_ZN4main15__STATIC_FMTSTR20h51f66707e8c9d584sbaE to i8*), i32 8, i32 4, i1 false)
%25 = getelementptr inbounds { %str_slice*, i32 }, { %str_slice*, i32 }* %3, i32 0, i32 0
%26 = load %str_slice*, %str_slice** %25
%27 = getelementptr inbounds { %str_slice*, i32 }, { %str_slice*, i32 }* %3, i32 0, i32 1
%28 = load i32, i32* %27
%29 = getelementptr inbounds { i32**, i32** }, { i32**, i32** }* %5, i32 0, i32 0, !dbg !987
store i32** %left_val, i32*** %29, align 4, !dbg !988
%30 = getelementptr inbounds { i32**, i32** }, { i32**, i32** }* %5, i32 0, i32 1, !dbg !988
store i32** %right_val, i32*** %30, align 4, !dbg !988
%31 = getelementptr inbounds { i32**, i32** }, { i32**, i32** }* %5, i32 0, i32 0
%32 = getelementptr inbounds { i32**, i32** }, { i32**, i32** }* %5, i32 0, i32 1
store i32*** %32, i32**** %__llmatch4
store i32*** %31, i32**** %__llmatch3
br label %case_body2
case_body2: ; preds = %then-block-70-
%33 = load i32***, i32**** %__llmatch3
%34 = load i32**, i32*** %33, align 4, !nonnull !66
store i32** %34, i32*** %__arg0, align 4
call void @llvm.dbg.declare(metadata i32*** %__arg0, metadata !989, metadata !697), !dbg !991
%35 = load i32***, i32**** %__llmatch4, !dbg !991
%36 = load i32**, i32*** %35, align 4, !dbg !991, !nonnull !66
store i32** %36, i32*** %__arg1, align 4, !dbg !991
call void @llvm.dbg.declare(metadata i32*** %__arg1, metadata !992, metadata !697), !dbg !991
%37 = getelementptr inbounds [2 x %"2.core::fmt::ArgumentV1"], [2 x %"2.core::fmt::ArgumentV1"]* %4, i32 0, i32 0, !dbg !993
%38 = getelementptr inbounds %"2.core::fmt::ArgumentV1", %"2.core::fmt::ArgumentV1"* %37, i32 0, !dbg !993
%39 = load i32**, i32*** %__arg0, align 4, !dbg !994, !nonnull !66
call void @"_ZN3fmt24ArgumentV1$LT$$u27$a$GT$3new21h14805110865135980057E"(%"2.core::fmt::ArgumentV1"* noalias nocapture sret dereferenceable(8) %38, i32** noalias readonly dereferenceable(4) %39, i8 (i32**, %"2.core::fmt::Formatter"*)* @"_ZN3fmt23_$RF$$u27$a$u20$T.Debug3fmt20h7567788178655488642E"), !dbg !994
%40 = getelementptr inbounds %"2.core::fmt::ArgumentV1", %"2.core::fmt::ArgumentV1"* %37, i32 1, !dbg !994
%41 = load i32**, i32*** %__arg1, align 4, !dbg !994, !nonnull !66
call void @"_ZN3fmt24ArgumentV1$LT$$u27$a$GT$3new21h14805110865135980057E"(%"2.core::fmt::ArgumentV1"* noalias nocapture sret dereferenceable(8) %40, i32** noalias readonly dereferenceable(4) %41, i8 (i32**, %"2.core::fmt::Formatter"*)* @"_ZN3fmt23_$RF$$u27$a$u20$T.Debug3fmt20h7567788178655488642E"), !dbg !994
br label %join
join: ; preds = %case_body2
%42 = bitcast [2 x %"2.core::fmt::ArgumentV1"]* %4 to %"2.core::fmt::ArgumentV1"*
%43 = getelementptr inbounds { %"2.core::fmt::ArgumentV1"*, i32 }, { %"2.core::fmt::ArgumentV1"*, i32 }* %__coerce_target, i32 0, i32 0
store %"2.core::fmt::ArgumentV1"* %42, %"2.core::fmt::ArgumentV1"** %43
%44 = getelementptr inbounds { %"2.core::fmt::ArgumentV1"*, i32 }, { %"2.core::fmt::ArgumentV1"*, i32 }* %__coerce_target, i32 0, i32 1
store i32 2, i32* %44
%45 = getelementptr inbounds { %"2.core::fmt::ArgumentV1"*, i32 }, { %"2.core::fmt::ArgumentV1"*, i32 }* %__coerce_target, i32 0, i32 0
%46 = load %"2.core::fmt::ArgumentV1"*, %"2.core::fmt::ArgumentV1"** %45
%47 = getelementptr inbounds { %"2.core::fmt::ArgumentV1"*, i32 }, { %"2.core::fmt::ArgumentV1"*, i32 }* %__coerce_target, i32 0, i32 1
%48 = load i32, i32* %47
call void @"_ZN3fmt23Arguments$LT$$u27$a$GT$6new_v120hac22e56c14d17949qIWE"(%"2.core::fmt::Arguments"* noalias nocapture sret dereferenceable(24) %2, %str_slice* noalias nonnull readonly %26, i32 %28, %"2.core::fmt::ArgumentV1"* noalias nonnull readonly %46, i32 %48), !dbg !988
store { %str_slice, i32 }* @_ZN4main10_FILE_LINE20h29fb8fa22348e8df1baE, { %str_slice, i32 }** %6, align 4, !dbg !995
%49 = load { %str_slice, i32 }*, { %str_slice, i32 }** %6, align 4, !dbg !995, !nonnull !66
call void @_ZN10sys_common6unwind16begin_unwind_fmt20h6215f9c309c38d00H6sE(%"2.core::fmt::Arguments"* noalias nocapture dereferenceable(24) %2, { %str_slice, i32 }* noalias readonly dereferenceable(12) %49), !dbg !997
unreachable, !dbg !997
next-block: ; preds = %case_body
br label %join5
join5: ; preds = %next-block
ret void, !dbg !998
}
; Function Attrs: inlinehint uwtable
define internal void @_ZN6string10T.ToString9to_string20h6108517317650251893E(%"3.collections::string::String"* noalias nocapture sret dereferenceable(12), i8* noalias nonnull readonly, i32) unnamed_addr #4 personality i32 (i32, i32, i64, %"1.std::sys_common::libunwind::_Unwind_Exception"*, %"1.std::sys_common::libunwind::_Unwind_Context"*)* @rust_eh_personality !dbg !454 {
entry-block:
%self = alloca %str_slice
%buf = alloca %"3.collections::string::String"
%3 = alloca %"2.core::result::Result<(), core::fmt::Error>"
%4 = alloca %"2.core::fmt::Arguments"
%5 = alloca { %str_slice*, i32 }
%6 = alloca [1 x %"2.core::fmt::ArgumentV1"]
%7 = alloca { %str_slice* }
%match = alloca { %str_slice* }
%8 = bitcast { %str_slice* }* %match to i8*
call void @llvm.memset.p0i8.i32(i8* %8, i8 29, i32 4, i32 4, i1 false)
%__llmatch = alloca %str_slice**
%__arg0 = alloca %str_slice*
%9 = alloca { i8*, i32 }
%__coerce_target = alloca { %"2.core::fmt::ArgumentV1"*, i32 }
%let = alloca %"2.core::result::Result<(), core::fmt::Error>"
%10 = bitcast %"2.core::result::Result<(), core::fmt::Error>"* %let to i8*
call void @llvm.memset.p0i8.i32(i8* %10, i8 29, i32 1, i32 1, i1 false)
%11 = getelementptr inbounds %str_slice, %str_slice* %self, i32 0, i32 0
store i8* %1, i8** %11
%12 = getelementptr inbounds %str_slice, %str_slice* %self, i32 0, i32 1
store i32 %2, i32* %12
call void @llvm.dbg.declare(metadata %str_slice* %self, metadata !999, metadata !697), !dbg !1000
call void @_ZN6string6String3new20h65f7ea92408d507eoffE(%"3.collections::string::String"* noalias nocapture sret dereferenceable(12) %buf), !dbg !1001
call void @llvm.dbg.declare(metadata %"3.collections::string::String"* %buf, metadata !1003, metadata !697), !dbg !1001
%13 = bitcast { %str_slice*, i32 }* %5 to i8*, !dbg !1004
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %13, i8* bitcast ({ %str_slice*, i32 }* @_ZN6string10T.ToString9to_string15__STATIC_FMTSTR20hf93ded18d9bdb8e0bXfE to i8*), i32 8, i32 4, i1 false)
%14 = getelementptr inbounds { %str_slice*, i32 }, { %str_slice*, i32 }* %5, i32 0, i32 0
%15 = load %str_slice*, %str_slice** %14
%16 = getelementptr inbounds { %str_slice*, i32 }, { %str_slice*, i32 }* %5, i32 0, i32 1
%17 = load i32, i32* %16
%18 = getelementptr inbounds { %str_slice* }, { %str_slice* }* %7, i32 0, i32 0, !dbg !1006
store %str_slice* %self, %str_slice** %18, align 4, !dbg !1006
%19 = bitcast { %str_slice* }* %7 to i32*, !dbg !1006
%20 = load i32, i32* %19, align 4, !dbg !1006
%21 = bitcast { %str_slice* }* %match to i32*
store i32 %20, i32* %21, align 4
%22 = getelementptr inbounds { %str_slice* }, { %str_slice* }* %match, i32 0, i32 0
store %str_slice** %22, %str_slice*** %__llmatch
br label %case_body
case_body: ; preds = %entry-block
%23 = load %str_slice**, %str_slice*** %__llmatch
%24 = load %str_slice*, %str_slice** %23, align 4, !nonnull !66
store %str_slice* %24, %str_slice** %__arg0, align 4
call void @llvm.dbg.declare(metadata %str_slice** %__arg0, metadata !1007, metadata !697), !dbg !1010
%25 = getelementptr inbounds [1 x %"2.core::fmt::ArgumentV1"], [1 x %"2.core::fmt::ArgumentV1"]* %6, i32 0, i32 0, !dbg !1011
%26 = getelementptr inbounds %"2.core::fmt::ArgumentV1", %"2.core::fmt::ArgumentV1"* %25, i32 0, !dbg !1011
%27 = load %str_slice*, %str_slice** %__arg0, align 4, !dbg !1011, !nonnull !66
invoke void @"_ZN3fmt24ArgumentV1$LT$$u27$a$GT$3new20h2241612989315311529E"(%"2.core::fmt::ArgumentV1"* noalias nocapture sret dereferenceable(8) %26, %str_slice* noalias readonly dereferenceable(8) %27, i8 (%str_slice*, %"2.core::fmt::Formatter"*)* @"_ZN3fmt25_$RF$$u27$a$u20$T.Display3fmt21h13787651012623919608E")
to label %normal-return unwind label %unwind_ast_8665_, !dbg !1011
normal-return: ; preds = %case_body
br label %join
unwind_ast_8665_: ; preds = %normal-return2, %normal-return1, %join, %case_body
%28 = landingpad { i8*, i32 }
cleanup, !dbg !1011
store { i8*, i32 } %28, { i8*, i32 }* %9
br label %clean_ast_8665_
resume: ; preds = %clean_ast_8665_
%29 = load { i8*, i32 }, { i8*, i32 }* %9
resume { i8*, i32 } %29
clean_ast_8665_: ; preds = %unwind_ast_8665_
call void @_ZN27collections..string..String9drop.446417hd99796de187a6992E(%"3.collections::string::String"* %buf), !dbg !1012
br label %resume
join: ; preds = %normal-return
%30 = bitcast [1 x %"2.core::fmt::ArgumentV1"]* %6 to %"2.core::fmt::ArgumentV1"*
%31 = getelementptr inbounds { %"2.core::fmt::ArgumentV1"*, i32 }, { %"2.core::fmt::ArgumentV1"*, i32 }* %__coerce_target, i32 0, i32 0
store %"2.core::fmt::ArgumentV1"* %30, %"2.core::fmt::ArgumentV1"** %31
%32 = getelementptr inbounds { %"2.core::fmt::ArgumentV1"*, i32 }, { %"2.core::fmt::ArgumentV1"*, i32 }* %__coerce_target, i32 0, i32 1
store i32 1, i32* %32
%33 = getelementptr inbounds { %"2.core::fmt::ArgumentV1"*, i32 }, { %"2.core::fmt::ArgumentV1"*, i32 }* %__coerce_target, i32 0, i32 0
%34 = load %"2.core::fmt::ArgumentV1"*, %"2.core::fmt::ArgumentV1"** %33
%35 = getelementptr inbounds { %"2.core::fmt::ArgumentV1"*, i32 }, { %"2.core::fmt::ArgumentV1"*, i32 }* %__coerce_target, i32 0, i32 1
%36 = load i32, i32* %35
invoke void @"_ZN3fmt23Arguments$LT$$u27$a$GT$6new_v120hac22e56c14d17949qIWE"(%"2.core::fmt::Arguments"* noalias nocapture sret dereferenceable(24) %4, %str_slice* noalias nonnull readonly %15, i32 %17, %"2.core::fmt::ArgumentV1"* noalias nonnull readonly %34, i32 %36)
to label %normal-return1 unwind label %unwind_ast_8665_, !dbg !1006
normal-return1: ; preds = %join
%37 = invoke i8 @_ZN3fmt5Write9write_fmt21h11464124867530320343E(%"3.collections::string::String"* noalias dereferenceable(12) %buf, %"2.core::fmt::Arguments"* noalias nocapture dereferenceable(24) %4)
to label %normal-return2 unwind label %unwind_ast_8665_, !dbg !1006
normal-return2: ; preds = %normal-return1
%38 = bitcast %"2.core::result::Result<(), core::fmt::Error>"* %3 to i8*, !dbg !1006
store i8 %37, i8* %38, align 1, !dbg !1006
%39 = bitcast %"2.core::result::Result<(), core::fmt::Error>"* %3 to i8*, !dbg !1006
%40 = load i8, i8* %39, align 1, !dbg !1006
%41 = bitcast %"2.core::result::Result<(), core::fmt::Error>"* %let to i8*
store i8 %40, i8* %41, align 1
invoke void @_ZN6string6String13shrink_to_fit20h537e9fc577baa2bcUrfE(%"3.collections::string::String"* noalias dereferenceable(12) %buf)
to label %normal-return3 unwind label %unwind_ast_8665_, !dbg !1013
normal-return3: ; preds = %normal-return2
%42 = bitcast %"3.collections::string::String"* %buf to i8*, !dbg !1014
%43 = bitcast %"3.collections::string::String"* %0 to i8*, !dbg !1014
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %43, i8* %42, i32 12, i32 4, i1 false)
%44 = bitcast %"3.collections::string::String"* %buf to i8*
call void @llvm.memset.p0i8.i32(i8* %44, i8 29, i32 12, i32 4, i1 false)
call void @_ZN27collections..string..String9drop.446417hd99796de187a6992E(%"3.collections::string::String"* %buf), !dbg !1012
ret void, !dbg !1000
}
; Function Attrs: inlinehint uwtable
define internal void @_ZN6string6String3new20h65f7ea92408d507eoffE(%"3.collections::string::String"* noalias nocapture sret dereferenceable(12)) unnamed_addr #4 !dbg !460 {
entry-block:
%1 = getelementptr inbounds %"3.collections::string::String", %"3.collections::string::String"* %0, i32 0, i32 0, !dbg !1015
call void @"_ZN3vec12Vec$LT$T$GT$3new20h7790610670036594336E"(%"3.collections::vec::Vec<u8>"* noalias nocapture sret dereferenceable(12) %1), !dbg !1015
ret void, !dbg !1017
}
; Function Attrs: inlinehint uwtable
define internal void @"_ZN3vec12Vec$LT$T$GT$3new20h7790610670036594336E"(%"3.collections::vec::Vec<u8>"* noalias nocapture sret dereferenceable(12)) unnamed_addr #4 !dbg !464 {
entry-block:
%1 = getelementptr inbounds %"3.collections::vec::Vec<u8>", %"3.collections::vec::Vec<u8>"* %0, i32 0, i32 0, !dbg !1018
call void @"_ZN7raw_vec15RawVec$LT$T$GT$3new20h8453505184764814838E"(%"5.alloc::raw_vec::RawVec<u8>"* noalias nocapture sret dereferenceable(8) %1), !dbg !1020
%2 = getelementptr inbounds %"3.collections::vec::Vec<u8>", %"3.collections::vec::Vec<u8>"* %0, i32 0, i32 1, !dbg !1020
store i32 0, i32* %2, align 4, !dbg !1021
ret void, !dbg !1022
}
; Function Attrs: uwtable
define internal void @"_ZN7raw_vec15RawVec$LT$T$GT$3new20h8453505184764814838E"(%"5.alloc::raw_vec::RawVec<u8>"* noalias nocapture sret dereferenceable(8)) unnamed_addr #1 !dbg !468 {
entry-block:
%cap = alloca i32
%1 = alloca i32
%2 = call i32 @_ZN3mem7size_of20h4287011132594631077E(), !dbg !1023
store i32 %2, i32* %1, align 4, !dbg !1023
%3 = load i32, i32* %1, align 4, !dbg !1023
%4 = icmp eq i32 %3, 0, !dbg !1023
br i1 %4, label %then-block-8744-, label %else-block, !dbg !1023
then-block-8744-: ; preds = %entry-block
store i32 -1, i32* %cap, align 4, !dbg !1026
br label %join
else-block: ; preds = %entry-block
store i32 0, i32* %cap, align 4, !dbg !1028
br label %join
join: ; preds = %else-block, %then-block-8744-
call void @llvm.dbg.declare(metadata i32* %cap, metadata !1029, metadata !697), !dbg !1023
%5 = getelementptr inbounds %"5.alloc::raw_vec::RawVec<u8>", %"5.alloc::raw_vec::RawVec<u8>"* %0, i32 0, i32 0, !dbg !1030
%6 = bitcast %"2.core::ptr::Unique<u8>"* %5 to { { i8* }, %"2.core::marker::PhantomData<u8>" }*, !dbg !1031
%7 = bitcast { { i8* }, %"2.core::marker::PhantomData<u8>" }* %6 to i8*, !dbg !1031
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %7, i8* bitcast ({ { i8* }, %"2.core::marker::PhantomData<u8>" }* @const4502 to i8*), i32 4, i32 4, i1 false)
%8 = getelementptr inbounds %"5.alloc::raw_vec::RawVec<u8>", %"5.alloc::raw_vec::RawVec<u8>"* %0, i32 0, i32 1
%9 = load i32, i32* %cap, align 4, !dbg !1032
store i32 %9, i32* %8, align 4, !dbg !1032
ret void, !dbg !1033
}
; Function Attrs: uwtable
define internal i8 @_ZN3fmt5Write9write_fmt21h11464124867530320343E(%"3.collections::string::String"* noalias dereferenceable(12), %"2.core::fmt::Arguments"* noalias nocapture dereferenceable(24)) unnamed_addr #1 !dbg !471 {
entry-block:
%sret_slot = alloca %"2.core::result::Result<(), core::fmt::Error>"
%self = alloca %"3.collections::string::String"*
%args = alloca %"2.core::fmt::Arguments"
%2 = alloca %"2.core::fmt::Write::write_fmt::Adapter<collections::string::String>"
%addr_of = alloca %"2.core::fmt::Write::write_fmt::Adapter<collections::string::String>"
%3 = bitcast %"2.core::fmt::Write::write_fmt::Adapter<collections::string::String>"* %addr_of to i8*
call void @llvm.memset.p0i8.i32(i8* %3, i8 29, i32 4, i32 4, i1 false)
%__coerce_target = alloca { i8*, void (i8*)** }
%arg = alloca %"2.core::fmt::Arguments"
store %"3.collections::string::String"* %0, %"3.collections::string::String"** %self, align 4
call void @llvm.dbg.declare(metadata %"3.collections::string::String"** %self, metadata !1034, metadata !697), !dbg !1035
%4 = bitcast %"2.core::fmt::Arguments"* %1 to i8*
%5 = bitcast %"2.core::fmt::Arguments"* %args to i8*
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %5, i8* %4, i32 24, i32 4, i1 false)
call void @llvm.dbg.declare(metadata %"2.core::fmt::Arguments"* %args, metadata !1036, metadata !697), !dbg !1035
%6 = getelementptr inbounds %"2.core::fmt::Write::write_fmt::Adapter<collections::string::String>", %"2.core::fmt::Write::write_fmt::Adapter<collections::string::String>"* %2, i32 0, i32 0, !dbg !1037
%7 = load %"3.collections::string::String"*, %"3.collections::string::String"** %self, align 4, !dbg !1037, !nonnull !66
store %"3.collections::string::String"* %7, %"3.collections::string::String"** %6, align 4, !dbg !1037
%8 = bitcast %"2.core::fmt::Write::write_fmt::Adapter<collections::string::String>"* %2 to i32*, !dbg !1037
%9 = load i32, i32* %8, align 4, !dbg !1037
%10 = bitcast %"2.core::fmt::Write::write_fmt::Adapter<collections::string::String>"* %addr_of to i32*
store i32 %9, i32* %10, align 4
%11 = bitcast %"2.core::fmt::Write::write_fmt::Adapter<collections::string::String>"* %addr_of to i8*
%12 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %__coerce_target, i32 0, i32 0
store i8* %11, i8** %12
%13 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %__coerce_target, i32 0, i32 1
store void (i8*)** getelementptr inbounds ({ void (i8*)*, i32, i32, i8 (%"2.core::fmt::Write::write_fmt::Adapter<collections::string::String>"*, i8*, i32)*, i8 (%"2.core::fmt::Write::write_fmt::Adapter<collections::string::String>"*, i32)*, i8 (%"2.core::fmt::Write::write_fmt::Adapter<collections::string::String>"*, %"2.core::fmt::Arguments"*)* }, { void (i8*)*, i32, i32, i8 (%"2.core::fmt::Write::write_fmt::Adapter<collections::string::String>"*, i8*, i32)*, i8 (%"2.core::fmt::Write::write_fmt::Adapter<collections::string::String>"*, i32)*, i8 (%"2.core::fmt::Write::write_fmt::Adapter<collections::string::String>"*, %"2.core::fmt::Arguments"*)* }* @vtable4855, i32 0, i32 0), void (i8*)*** %13
%14 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %__coerce_target, i32 0, i32 0
%15 = load i8*, i8** %14
%16 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %__coerce_target, i32 0, i32 1
%17 = load void (i8*)**, void (i8*)*** %16
%18 = bitcast %"2.core::fmt::Arguments"* %args to i8*
%19 = bitcast %"2.core::fmt::Arguments"* %arg to i8*
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %19, i8* %18, i32 24, i32 4, i1 false)
%20 = call i8 @_ZN3fmt5write20h09e4f9c97b710191XMWE(i8* noalias nonnull %15, void (i8*)** nonnull %17, %"2.core::fmt::Arguments"* noalias nocapture dereferenceable(24) %arg), !dbg !1037
%21 = bitcast %"2.core::result::Result<(), core::fmt::Error>"* %sret_slot to i8*, !dbg !1037
store i8 %20, i8* %21, align 1, !dbg !1037
%22 = bitcast %"2.core::result::Result<(), core::fmt::Error>"* %sret_slot to i8*, !dbg !1039
%23 = load i8, i8* %22, align 1, !dbg !1039
ret i8 %23, !dbg !1035
}
declare i8 @_ZN3fmt5write20h09e4f9c97b710191XMWE(i8* noalias nonnull, void (i8*)** nonnull, %"2.core::fmt::Arguments"* noalias nocapture dereferenceable(24)) unnamed_addr #7
define internal void @_ZN2i89drop.451217h3995b712e15faffeE(i8*) unnamed_addr {
entry-block:
ret void
}
; Function Attrs: uwtable
define internal i8 @"_ZN3fmt5Write9write_fmt36Adapter$LT$$u27$a$C$$u20$T$GT$.Write9write_str21h12733192102844262257E"(%"2.core::fmt::Write::write_fmt::Adapter<collections::string::String>"* noalias dereferenceable(4), i8* noalias nonnull readonly, i32) unnamed_addr #1 !dbg !477 {
entry-block:
%sret_slot = alloca %"2.core::result::Result<(), core::fmt::Error>"
%self = alloca %"2.core::fmt::Write::write_fmt::Adapter<collections::string::String>"*
%s = alloca %str_slice
store %"2.core::fmt::Write::write_fmt::Adapter<collections::string::String>"* %0, %"2.core::fmt::Write::write_fmt::Adapter<collections::string::String>"** %self, align 4
call void @llvm.dbg.declare(metadata %"2.core::fmt::Write::write_fmt::Adapter<collections::string::String>"** %self, metadata !1040, metadata !697), !dbg !1041
%3 = getelementptr inbounds %str_slice, %str_slice* %s, i32 0, i32 0
store i8* %1, i8** %3
%4 = getelementptr inbounds %str_slice, %str_slice* %s, i32 0, i32 1
store i32 %2, i32* %4
call void @llvm.dbg.declare(metadata %str_slice* %s, metadata !1042, metadata !697), !dbg !1041
%5 = load %"2.core::fmt::Write::write_fmt::Adapter<collections::string::String>"*, %"2.core::fmt::Write::write_fmt::Adapter<collections::string::String>"** %self, align 4, !dbg !1043, !nonnull !66
%6 = getelementptr inbounds %"2.core::fmt::Write::write_fmt::Adapter<collections::string::String>", %"2.core::fmt::Write::write_fmt::Adapter<collections::string::String>"* %5, i32 0, i32 0, !dbg !1043
%7 = load %"3.collections::string::String"*, %"3.collections::string::String"** %6, align 4, !dbg !1043, !nonnull !66
%8 = getelementptr inbounds %str_slice, %str_slice* %s, i32 0, i32 0, !dbg !1043
%9 = load i8*, i8** %8, !dbg !1043
%10 = getelementptr inbounds %str_slice, %str_slice* %s, i32 0, i32 1, !dbg !1043
%11 = load i32, i32* %10, !dbg !1043
%12 = call i8 @_ZN6string17String.fmt..Write9write_str20hc79367b8c49737ced0fE(%"3.collections::string::String"* noalias dereferenceable(12) %7, i8* noalias nonnull readonly %9, i32 %11), !dbg !1043
%13 = bitcast %"2.core::result::Result<(), core::fmt::Error>"* %sret_slot to i8*, !dbg !1043
store i8 %12, i8* %13, align 1, !dbg !1043
%14 = bitcast %"2.core::result::Result<(), core::fmt::Error>"* %sret_slot to i8*, !dbg !1043
%15 = load i8, i8* %14, align 1, !dbg !1043
ret i8 %15, !dbg !1041
}
; Function Attrs: inlinehint uwtable
define internal i8 @_ZN6string17String.fmt..Write9write_str20hc79367b8c49737ced0fE(%"3.collections::string::String"* noalias dereferenceable(12), i8* noalias nonnull readonly, i32) unnamed_addr #4 !dbg !483 {
entry-block:
%sret_slot = alloca %"2.core::result::Result<(), core::fmt::Error>"
%self = alloca %"3.collections::string::String"*
%s = alloca %str_slice
store %"3.collections::string::String"* %0, %"3.collections::string::String"** %self, align 4
call void @llvm.dbg.declare(metadata %"3.collections::string::String"** %self, metadata !1045, metadata !697), !dbg !1046
%3 = getelementptr inbounds %str_slice, %str_slice* %s, i32 0, i32 0
store i8* %1, i8** %3
%4 = getelementptr inbounds %str_slice, %str_slice* %s, i32 0, i32 1
store i32 %2, i32* %4
call void @llvm.dbg.declare(metadata %str_slice* %s, metadata !1047, metadata !697), !dbg !1046
%5 = load %"3.collections::string::String"*, %"3.collections::string::String"** %self, align 4, !dbg !1048, !nonnull !66
%6 = getelementptr inbounds %str_slice, %str_slice* %s, i32 0, i32 0, !dbg !1048
%7 = load i8*, i8** %6, !dbg !1048
%8 = getelementptr inbounds %str_slice, %str_slice* %s, i32 0, i32 1, !dbg !1048
%9 = load i32, i32* %8, !dbg !1048
call void @_ZN6string6String8push_str20h18c1794a501053795qfE(%"3.collections::string::String"* noalias dereferenceable(12) %5, i8* noalias nonnull readonly %7, i32 %9), !dbg !1048
%10 = bitcast %"2.core::result::Result<(), core::fmt::Error>"* %sret_slot to { i8, {}, [0 x i8] }*, !dbg !1050
%11 = bitcast { i8, {}, [0 x i8] }* %10 to i8*, !dbg !1050
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %11, i8* getelementptr inbounds ({ i8, {}, [0 x i8] }, { i8, {}, [0 x i8] }* @const4762, i32 0, i32 0), i32 1, i32 1, i1 false)
%12 = bitcast %"2.core::result::Result<(), core::fmt::Error>"* %sret_slot to i8*
%13 = load i8, i8* %12, align 1
ret i8 %13, !dbg !1046
}
; Function Attrs: inlinehint uwtable
define internal void @_ZN6string6String8push_str20h18c1794a501053795qfE(%"3.collections::string::String"* noalias dereferenceable(12), i8* noalias nonnull readonly, i32) unnamed_addr #4 !dbg !487 {
entry-block:
%sret_slot.i = alloca { i8*, i32 }
%self.i = alloca %str_slice
call void @llvm.dbg.declare(metadata %str_slice* %self.i, metadata !1051, metadata !697), !dbg !1052
%self = alloca %"3.collections::string::String"*
%string = alloca %str_slice
%3 = alloca { i8*, i32 }
store %"3.collections::string::String"* %0, %"3.collections::string::String"** %self, align 4
call void @llvm.dbg.declare(metadata %"3.collections::string::String"** %self, metadata !1055, metadata !697), !dbg !1056
%4 = getelementptr inbounds %str_slice, %str_slice* %string, i32 0, i32 0
store i8* %1, i8** %4
%5 = getelementptr inbounds %str_slice, %str_slice* %string, i32 0, i32 1
store i32 %2, i32* %5
call void @llvm.dbg.declare(metadata %str_slice* %string, metadata !1057, metadata !697), !dbg !1056
%6 = load %"3.collections::string::String"*, %"3.collections::string::String"** %self, align 4, !dbg !1058, !nonnull !66
%7 = getelementptr inbounds %"3.collections::string::String", %"3.collections::string::String"* %6, i32 0, i32 0, !dbg !1058
%8 = getelementptr inbounds %str_slice, %str_slice* %string, i32 0, i32 0, !dbg !1058
%9 = load i8*, i8** %8, !dbg !1058
%10 = getelementptr inbounds %str_slice, %str_slice* %string, i32 0, i32 1, !dbg !1058
%11 = load i32, i32* %10, !dbg !1058
%12 = getelementptr inbounds %str_slice, %str_slice* %self.i, i32 0, i32 0, !dbg !1058
store i8* %9, i8** %12, !dbg !1058, !noalias !1059
%13 = getelementptr inbounds %str_slice, %str_slice* %self.i, i32 0, i32 1, !dbg !1058
store i32 %11, i32* %13, !dbg !1058, !noalias !1059
%14 = getelementptr inbounds %str_slice, %str_slice* %self.i, i32 0, i32 0, !dbg !1062
%15 = load i8*, i8** %14, !dbg !1062, !noalias !1059
%16 = getelementptr inbounds %str_slice, %str_slice* %self.i, i32 0, i32 1, !dbg !1062
%17 = load i32, i32* %16, !dbg !1062, !noalias !1059
%18 = call { i8*, i32 } @_ZN3str10str.StrExt8as_bytes20hcb663ad99b67b00a2kTE(i8* noalias nonnull readonly %15, i32 %17), !dbg !1062
%19 = extractvalue { i8*, i32 } %18, 0, !dbg !1062
%20 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %sret_slot.i, i32 0, i32 0, !dbg !1062
store i8* %19, i8** %20, !dbg !1062, !noalias !1059
%21 = extractvalue { i8*, i32 } %18, 1, !dbg !1062
%22 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %sret_slot.i, i32 0, i32 1, !dbg !1062
store i32 %21, i32* %22, !dbg !1062, !noalias !1059
%23 = load { i8*, i32 }, { i8*, i32 }* %sret_slot.i, align 4, !dbg !1062, !noalias !1059
%24 = extractvalue { i8*, i32 } %23, 0, !dbg !1058
%25 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %3, i32 0, i32 0, !dbg !1058
store i8* %24, i8** %25, !dbg !1058
%26 = extractvalue { i8*, i32 } %23, 1, !dbg !1058
%27 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %3, i32 0, i32 1, !dbg !1058
store i32 %26, i32* %27, !dbg !1058
%28 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %3, i32 0, i32 0, !dbg !1058
%29 = load i8*, i8** %28, !dbg !1058
%30 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %3, i32 0, i32 1, !dbg !1058
%31 = load i32, i32* %30, !dbg !1058
call void @"_ZN3vec12Vec$LT$T$GT$17extend_from_slice20h3019170071912719838E"(%"3.collections::vec::Vec<u8>"* noalias dereferenceable(12) %7, i8* noalias nonnull readonly %29, i32 %31), !dbg !1058
ret void, !dbg !1056
}
; Function Attrs: uwtable
define internal void @"_ZN3vec12Vec$LT$T$GT$17extend_from_slice20h3019170071912719838E"(%"3.collections::vec::Vec<u8>"* noalias dereferenceable(12), i8* noalias nonnull readonly, i32) unnamed_addr #1 !dbg !490 {
entry-block:
%self = alloca %"3.collections::vec::Vec<u8>"*
%other = alloca { i8*, i32 }
%3 = alloca i32
%_result = alloca {}
%4 = alloca %"2.core::ops::Range<usize>"
%5 = alloca %"2.core::ops::Range<usize>"
%iter = alloca %"2.core::ops::Range<usize>"*
%6 = alloca %"2.core::option::Option<usize>"
%__llmatch = alloca i32*
%i = alloca i32
%len = alloca i32
%7 = alloca i8*
%overloaded_deref = alloca { i8*, i32 }
%8 = alloca i8
%9 = alloca i8*
store %"3.collections::vec::Vec<u8>"* %0, %"3.collections::vec::Vec<u8>"** %self, align 4
call void @llvm.dbg.declare(metadata %"3.collections::vec::Vec<u8>"** %self, metadata !1064, metadata !697), !dbg !1065
%10 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %other, i32 0, i32 0
store i8* %1, i8** %10
%11 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %other, i32 0, i32 1
store i32 %2, i32* %11
call void @llvm.dbg.declare(metadata { i8*, i32 }* %other, metadata !1066, metadata !697), !dbg !1065
%12 = load %"3.collections::vec::Vec<u8>"*, %"3.collections::vec::Vec<u8>"** %self, align 4, !dbg !1067, !nonnull !66
%13 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %other, i32 0, i32 0, !dbg !1067
%14 = load i8*, i8** %13, !dbg !1067
%15 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %other, i32 0, i32 1, !dbg !1067
%16 = load i32, i32* %15, !dbg !1067
%17 = call i32 @"_ZN5slice12_$u5b$T$u5d$3len21h10050574856846055417E"(i8* noalias nonnull readonly %14, i32 %16), !dbg !1067
store i32 %17, i32* %3, align 4, !dbg !1067
%18 = load i32, i32* %3, align 4, !dbg !1067
call void @"_ZN3vec12Vec$LT$T$GT$7reserve20h9462944863515675413E"(%"3.collections::vec::Vec<u8>"* noalias dereferenceable(12) %12, i32 %18), !dbg !1067
%19 = getelementptr inbounds %"2.core::ops::Range<usize>", %"2.core::ops::Range<usize>"* %5, i32 0, i32 0, !dbg !1069
store i32 0, i32* %19, align 4, !dbg !1069
%20 = getelementptr inbounds %"2.core::ops::Range<usize>", %"2.core::ops::Range<usize>"* %5, i32 0, i32 1, !dbg !1069
%21 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %other, i32 0, i32 0, !dbg !1069
%22 = load i8*, i8** %21, !dbg !1069
%23 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %other, i32 0, i32 1, !dbg !1069
%24 = load i32, i32* %23, !dbg !1069
%25 = call i32 @"_ZN5slice12_$u5b$T$u5d$3len21h10050574856846055417E"(i8* noalias nonnull readonly %22, i32 %24), !dbg !1069
store i32 %25, i32* %20, align 4, !dbg !1069
call void @_ZN4iter14I.IntoIterator9into_iter20h7677069187897034443E(%"2.core::ops::Range<usize>"* noalias nocapture sret dereferenceable(8) %4, %"2.core::ops::Range<usize>"* noalias nocapture dereferenceable(8) %5), !dbg !1069
store %"2.core::ops::Range<usize>"* %4, %"2.core::ops::Range<usize>"** %iter
br label %case_body
case_body: ; preds = %entry-block
%26 = load %"2.core::ops::Range<usize>"*, %"2.core::ops::Range<usize>"** %iter
call void @llvm.dbg.declare(metadata %"2.core::ops::Range<usize>"** %iter, metadata !1071, metadata !712), !dbg !1073
br label %loop_body, !dbg !1073
loop_exit: ; preds = %clean_ast_21796_
br label %join4
loop_body: ; preds = %join, %case_body
call void @"_ZN4iter28ops..Range$LT$A$GT$.Iterator4next21h10318208846236652384E"(%"2.core::option::Option<usize>"* noalias nocapture sret dereferenceable(8) %6, %"2.core::ops::Range<usize>"* noalias dereferenceable(8) %26), !dbg !1074
%27 = getelementptr inbounds %"2.core::option::Option<usize>", %"2.core::option::Option<usize>"* %6, i32 0, i32 0
%28 = load i32, i32* %27, !range !708
switch i32 %28, label %match_else [
i32 1, label %match_case
i32 0, label %match_case3
]
case_body1: ; preds = %match_case
%29 = load i32*, i32** %__llmatch
%30 = load i32, i32* %29, align 4
store i32 %30, i32* %i, align 4
call void @llvm.dbg.declare(metadata i32* %i, metadata !1076, metadata !697), !dbg !1078
%31 = load %"3.collections::vec::Vec<u8>"*, %"3.collections::vec::Vec<u8>"** %self, align 4, !dbg !1079, !nonnull !66
%32 = call i32 @"_ZN3vec12Vec$LT$T$GT$3len21h15813106576946594911E"(%"3.collections::vec::Vec<u8>"* noalias readonly dereferenceable(12) %31), !dbg !1079
store i32 %32, i32* %len, align 4, !dbg !1079
call void @llvm.dbg.declare(metadata i32* %len, metadata !1081, metadata !697), !dbg !1079
%33 = load %"3.collections::vec::Vec<u8>"*, %"3.collections::vec::Vec<u8>"** %self, align 4, !dbg !1082, !nonnull !66
%34 = call { i8*, i32 } @"_ZN3vec26Vec$LT$T$GT$.ops..DerefMut9deref_mut20h6139662808942499416E"(%"3.collections::vec::Vec<u8>"* noalias dereferenceable(12) %33), !dbg !1082
%35 = extractvalue { i8*, i32 } %34, 0, !dbg !1082
%36 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %overloaded_deref, i32 0, i32 0, !dbg !1082
store i8* %35, i8** %36, !dbg !1082
%37 = extractvalue { i8*, i32 } %34, 1, !dbg !1082
%38 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %overloaded_deref, i32 0, i32 1, !dbg !1082
store i32 %37, i32* %38, !dbg !1082
%39 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %overloaded_deref, i32 0, i32 0, !dbg !1082
%40 = load i8*, i8** %39, !dbg !1082
%41 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %overloaded_deref, i32 0, i32 1, !dbg !1082
%42 = load i32, i32* %41, !dbg !1082
%43 = load i32, i32* %len, align 4, !dbg !1082
%44 = call dereferenceable(1) i8* @"_ZN5slice12_$u5b$T$u5d$17get_unchecked_mut21h15089414117303700188E"(i8* noalias nonnull %40, i32 %42, i32 %43), !dbg !1082
store i8* %44, i8** %7, align 4, !dbg !1082
%45 = load i8*, i8** %7, align 4, !dbg !1082, !nonnull !66
%46 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %other, i32 0, i32 0, !dbg !1082
%47 = load i8*, i8** %46, !dbg !1082
%48 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %other, i32 0, i32 1, !dbg !1082
%49 = load i32, i32* %48, !dbg !1082
%50 = load i32, i32* %i, align 4, !dbg !1082
%51 = call dereferenceable(1) i8* @"_ZN5slice12_$u5b$T$u5d$13get_unchecked20h6084609100436049174E"(i8* noalias nonnull readonly %47, i32 %49, i32 %50), !dbg !1082
store i8* %51, i8** %9, align 4, !dbg !1082
%52 = load i8*, i8** %9, align 4, !dbg !1082, !nonnull !66
%53 = call i8 @_ZN5clone8u8.Clone5clone20h2db0526879e200ffmvCE(i8* noalias readonly dereferenceable(1) %52), !dbg !1082
store i8 %53, i8* %8, align 1, !dbg !1082
%54 = load i8, i8* %8, align 1, !dbg !1082
call void @_ZN3ptr5write21h14887600312958928695E(i8* %45, i8 %54), !dbg !1082
%55 = load %"3.collections::vec::Vec<u8>"*, %"3.collections::vec::Vec<u8>"** %self, align 4, !dbg !1084, !nonnull !66
%56 = load i32, i32* %len, align 4, !dbg !1084
%57 = call { i32, i1 } @llvm.uadd.with.overflow.i32(i32 %56, i32 1), !dbg !1084
%58 = extractvalue { i32, i1 } %57, 0, !dbg !1084
%59 = extractvalue { i32, i1 } %57, 1, !dbg !1084
%60 = icmp eq i1 %59, true, !dbg !1084
%61 = call i1 @llvm.expect.i1(i1 %60, i1 false), !dbg !1084
br i1 %60, label %cond, label %next
case_body2: ; preds = %match_case3
br label %clean_ast_21796_, !dbg !1085
match_else: ; preds = %loop_body
unreachable
match_case: ; preds = %loop_body
%62 = bitcast %"2.core::option::Option<usize>"* %6 to { i32, i32 }*
%63 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %62, i32 0, i32 1
store i32* %63, i32** %__llmatch
br label %case_body1
match_case3: ; preds = %loop_body
br label %case_body2
next: ; preds = %case_body1
call void @"_ZN3vec12Vec$LT$T$GT$7set_len21h13138265932041583276E"(%"3.collections::vec::Vec<u8>"* noalias dereferenceable(12) %55, i32 %58), !dbg !1084
br label %join
cond: ; preds = %case_body1
call void @_ZN9panicking5panic20ha43e303ff6444f51DXLE({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(20) @panic_loc4755), !dbg !1084
unreachable, !dbg !1084
clean_ast_21796_: ; preds = %case_body2
br label %loop_exit
join: ; preds = %next
br label %loop_body
join4: ; preds = %loop_exit
call void @llvm.dbg.declare(metadata {}* %_result, metadata !1087, metadata !697), !dbg !1069
ret void, !dbg !1065
}
; Function Attrs: uwtable
define internal void @"_ZN3vec12Vec$LT$T$GT$7reserve20h9462944863515675413E"(%"3.collections::vec::Vec<u8>"* noalias dereferenceable(12), i32) unnamed_addr #1 !dbg !493 {
entry-block:
%self = alloca %"3.collections::vec::Vec<u8>"*
%additional = alloca i32
store %"3.collections::vec::Vec<u8>"* %0, %"3.collections::vec::Vec<u8>"** %self, align 4
call void @llvm.dbg.declare(metadata %"3.collections::vec::Vec<u8>"** %self, metadata !1088, metadata !697), !dbg !1089
store i32 %1, i32* %additional, align 4
call void @llvm.dbg.declare(metadata i32* %additional, metadata !1090, metadata !697), !dbg !1089
%2 = load %"3.collections::vec::Vec<u8>"*, %"3.collections::vec::Vec<u8>"** %self, align 4, !dbg !1091, !nonnull !66
%3 = getelementptr inbounds %"3.collections::vec::Vec<u8>", %"3.collections::vec::Vec<u8>"* %2, i32 0, i32 0, !dbg !1091
%4 = load %"3.collections::vec::Vec<u8>"*, %"3.collections::vec::Vec<u8>"** %self, align 4, !dbg !1091, !nonnull !66
%5 = getelementptr inbounds %"3.collections::vec::Vec<u8>", %"3.collections::vec::Vec<u8>"* %4, i32 0, i32 1, !dbg !1091
%6 = load i32, i32* %5, align 4, !dbg !1091
%7 = load i32, i32* %additional, align 4, !dbg !1091
call void @"_ZN7raw_vec15RawVec$LT$T$GT$7reserve21h16130229802627260800E"(%"5.alloc::raw_vec::RawVec<u8>"* noalias dereferenceable(8) %3, i32 %6, i32 %7), !dbg !1091
ret void, !dbg !1089
}
; Function Attrs: uwtable
define internal void @"_ZN7raw_vec15RawVec$LT$T$GT$7reserve21h16130229802627260800E"(%"5.alloc::raw_vec::RawVec<u8>"* noalias dereferenceable(8), i32, i32) unnamed_addr #1 !dbg !496 {
entry-block:
%self = alloca %"5.alloc::raw_vec::RawVec<u8>"*
%used_cap = alloca i32
%needed_extra_cap = alloca i32
%elem_size = alloca i32
%align = alloca i32
%3 = alloca i32
%4 = alloca i32
%5 = alloca { i32, i32 }
%new_cap = alloca i32
%new_alloc_size = alloca i32
%ptr = alloca i8*
%6 = alloca i8*
%7 = alloca i8
%8 = alloca %"2.core::ptr::Unique<u8>"
store %"5.alloc::raw_vec::RawVec<u8>"* %0, %"5.alloc::raw_vec::RawVec<u8>"** %self, align 4
call void @llvm.dbg.declare(metadata %"5.alloc::raw_vec::RawVec<u8>"** %self, metadata !1093, metadata !697), !dbg !1094
store i32 %1, i32* %used_cap, align 4
call void @llvm.dbg.declare(metadata i32* %used_cap, metadata !1095, metadata !697), !dbg !1094
store i32 %2, i32* %needed_extra_cap, align 4
call void @llvm.dbg.declare(metadata i32* %needed_extra_cap, metadata !1096, metadata !697), !dbg !1094
%9 = call i32 @_ZN3mem7size_of20h4287011132594631077E(), !dbg !1097
store i32 %9, i32* %elem_size, align 4, !dbg !1097
call void @llvm.dbg.declare(metadata i32* %elem_size, metadata !1100, metadata !697), !dbg !1097
%10 = call i32 @_ZN3mem8align_of18h73107983397076033E(), !dbg !1101
store i32 %10, i32* %align, align 4, !dbg !1101
call void @llvm.dbg.declare(metadata i32* %align, metadata !1102, metadata !697), !dbg !1101
%11 = load %"5.alloc::raw_vec::RawVec<u8>"*, %"5.alloc::raw_vec::RawVec<u8>"** %self, align 4, !dbg !1103, !nonnull !66
%12 = call i32 @"_ZN7raw_vec15RawVec$LT$T$GT$3cap20h3798043322790332647E"(%"5.alloc::raw_vec::RawVec<u8>"* noalias readonly dereferenceable(8) %11), !dbg !1103
store i32 %12, i32* %4, align 4, !dbg !1103
%13 = load i32, i32* %4, align 4, !dbg !1103
%14 = load i32, i32* %used_cap, align 4, !dbg !1103
%15 = call i32 @_ZN3num5usize12wrapping_sub20hdd6b67bbc51874c2w6jE(i32 %13, i32 %14), !dbg !1103
store i32 %15, i32* %3, align 4, !dbg !1103
%16 = load i32, i32* %3, align 4, !dbg !1103
%17 = load i32, i32* %needed_extra_cap, align 4, !dbg !1103
%18 = icmp uge i32 %16, %17, !dbg !1103
br i1 %18, label %then-block-21860-, label %next-block, !dbg !1103
then-block-21860-: ; preds = %entry-block
br label %clean_ast_21839_, !dbg !1104
clean_ast_21839_: ; preds = %then-block-21860-
br label %return
next-block: ; preds = %entry-block
%19 = load %"5.alloc::raw_vec::RawVec<u8>"*, %"5.alloc::raw_vec::RawVec<u8>"** %self, align 4, !dbg !1106, !nonnull !66
%20 = load i32, i32* %used_cap, align 4, !dbg !1106
%21 = load i32, i32* %needed_extra_cap, align 4, !dbg !1106
call void @"_ZN7raw_vec15RawVec$LT$T$GT$18amortized_new_size20h8376514053077710954E"({ i32, i32 }* noalias nocapture sret dereferenceable(8) %5, %"5.alloc::raw_vec::RawVec<u8>"* noalias readonly dereferenceable(8) %19, i32 %20, i32 %21), !dbg !1106
%22 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %5, i32 0, i32 0, !dbg !1106
%23 = load i32, i32* %22, align 4
store i32 %23, i32* %new_cap, align 4
%24 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %5, i32 0, i32 1
%25 = load i32, i32* %24, align 4
store i32 %25, i32* %new_alloc_size, align 4
call void @llvm.dbg.declare(metadata i32* %new_cap, metadata !1107, metadata !697), !dbg !1106
call void @llvm.dbg.declare(metadata i32* %new_alloc_size, metadata !1108, metadata !697), !dbg !1106
%26 = load i32, i32* %new_alloc_size, align 4, !dbg !1109
call void @_ZN7raw_vec11alloc_guard20ha81e6ada230ab1e4MybE(i32 %26), !dbg !1109
%27 = load %"5.alloc::raw_vec::RawVec<u8>"*, %"5.alloc::raw_vec::RawVec<u8>"** %self, align 4, !dbg !1110, !nonnull !66
%28 = getelementptr inbounds %"5.alloc::raw_vec::RawVec<u8>", %"5.alloc::raw_vec::RawVec<u8>"* %27, i32 0, i32 1, !dbg !1110
%29 = load i32, i32* %28, align 4, !dbg !1110
%30 = icmp eq i32 %29, 0, !dbg !1110
br i1 %30, label %then-block-21884-, label %else-block, !dbg !1110
then-block-21884-: ; preds = %next-block
%31 = load i32, i32* %new_alloc_size, align 4, !dbg !1111
%32 = load i32, i32* %align, align 4, !dbg !1111
%33 = call i8* @_ZN4heap8allocate20h5d1306f43b595c17SdaE(i32 %31, i32 %32), !dbg !1111
store i8* %33, i8** %ptr, align 4, !dbg !1111
br label %join
else-block: ; preds = %next-block
%34 = load %"5.alloc::raw_vec::RawVec<u8>"*, %"5.alloc::raw_vec::RawVec<u8>"** %self, align 4, !dbg !1113, !nonnull !66
%35 = call i8* @"_ZN7raw_vec15RawVec$LT$T$GT$3ptr20h2379132537314846121E"(%"5.alloc::raw_vec::RawVec<u8>"* noalias readonly dereferenceable(8) %34), !dbg !1113
store i8* %35, i8** %6, align 4, !dbg !1113
%36 = load i8*, i8** %6, align 4, !dbg !1113
%37 = load %"5.alloc::raw_vec::RawVec<u8>"*, %"5.alloc::raw_vec::RawVec<u8>"** %self, align 4, !dbg !1115, !nonnull !66
%38 = getelementptr inbounds %"5.alloc::raw_vec::RawVec<u8>", %"5.alloc::raw_vec::RawVec<u8>"* %37, i32 0, i32 1, !dbg !1115
%39 = load i32, i32* %38, align 4, !dbg !1115
%40 = load i32, i32* %elem_size, align 4, !dbg !1115
%41 = call { i32, i1 } @llvm.umul.with.overflow.i32(i32 %39, i32 %40), !dbg !1115
%42 = extractvalue { i32, i1 } %41, 0, !dbg !1115
%43 = extractvalue { i32, i1 } %41, 1, !dbg !1115
%44 = icmp eq i1 %43, true, !dbg !1115
%45 = call i1 @llvm.expect.i1(i1 %44, i1 false), !dbg !1115
br i1 %44, label %cond, label %next
next: ; preds = %else-block
%46 = load i32, i32* %new_alloc_size, align 4, !dbg !1116
%47 = load i32, i32* %align, align 4, !dbg !1117
%48 = call i8* @_ZN4heap10reallocate20h9836efcd8034d293ceaE(i8* %36, i32 %42, i32 %46, i32 %47), !dbg !1113
store i8* %48, i8** %ptr, align 4, !dbg !1113
br label %join
cond: ; preds = %else-block
call void @_ZN9panicking5panic20ha43e303ff6444f51DXLE({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(20) @panic_loc4656), !dbg !1115
unreachable, !dbg !1115
join: ; preds = %next, %then-block-21884-
call void @llvm.dbg.declare(metadata i8** %ptr, metadata !1118, metadata !697), !dbg !1110
%49 = load i8*, i8** %ptr, align 4, !dbg !1119
%50 = call zeroext i1 @"_ZN3ptr14_$BP$mut$u20$T7is_null20h7642413959157819658E"(i8* %49), !dbg !1119
%51 = zext i1 %50 to i8, !dbg !1119
store i8 %51, i8* %7, align 1, !dbg !1119
%52 = load i8, i8* %7, align 1, !dbg !1119, !range !775
%53 = trunc i8 %52 to i1, !dbg !1119
br i1 %53, label %then-block-21908-, label %next-block1, !dbg !1119
then-block-21908-: ; preds = %join
call void @_ZN3oom3oom20hc9548a4043ae6aa0PzbE(), !dbg !1120
unreachable, !dbg !1120
next-block1: ; preds = %join
%54 = load i8*, i8** %ptr, align 4, !dbg !1122
%55 = call i32 @"_ZN3ptr15Unique$LT$T$GT$3new20h2274235128004638462E"(i8* %54), !dbg !1122
%56 = bitcast %"2.core::ptr::Unique<u8>"* %8 to i32*, !dbg !1122
store i32 %55, i32* %56, align 4, !dbg !1122
%57 = bitcast %"2.core::ptr::Unique<u8>"* %8 to i32*, !dbg !1122
%58 = load i32, i32* %57, align 4, !dbg !1122
%59 = load %"5.alloc::raw_vec::RawVec<u8>"*, %"5.alloc::raw_vec::RawVec<u8>"** %self, align 4, !dbg !1122, !nonnull !66
%60 = getelementptr inbounds %"5.alloc::raw_vec::RawVec<u8>", %"5.alloc::raw_vec::RawVec<u8>"* %59, i32 0, i32 0, !dbg !1122
%61 = bitcast %"2.core::ptr::Unique<u8>"* %60 to i32*, !dbg !1122
store i32 %58, i32* %61, align 4, !dbg !1122
%62 = load %"5.alloc::raw_vec::RawVec<u8>"*, %"5.alloc::raw_vec::RawVec<u8>"** %self, align 4, !dbg !1123, !nonnull !66
%63 = getelementptr inbounds %"5.alloc::raw_vec::RawVec<u8>", %"5.alloc::raw_vec::RawVec<u8>"* %62, i32 0, i32 1, !dbg !1123
%64 = load i32, i32* %new_cap, align 4, !dbg !1123
store i32 %64, i32* %63, align 4, !dbg !1123
br label %return
return: ; preds = %next-block1, %clean_ast_21839_
ret void, !dbg !1094
}
; Function Attrs: inlinehint uwtable
define internal i32 @_ZN3num5usize12wrapping_sub20hdd6b67bbc51874c2w6jE(i32, i32) unnamed_addr #4 !dbg !499 {
entry-block:
%self = alloca i32
%rhs = alloca i32
store i32 %0, i32* %self, align 4
call void @llvm.dbg.declare(metadata i32* %self, metadata !1124, metadata !697), !dbg !1125
store i32 %1, i32* %rhs, align 4
call void @llvm.dbg.declare(metadata i32* %rhs, metadata !1126, metadata !697), !dbg !1125
%2 = load i32, i32* %self, align 4, !dbg !1127
%3 = load i32, i32* %rhs, align 4, !dbg !1127
%4 = sub i32 %2, %3, !dbg !1127
ret i32 %4, !dbg !1125
}
; Function Attrs: uwtable
define internal i32 @"_ZN7raw_vec15RawVec$LT$T$GT$3cap20h3798043322790332647E"(%"5.alloc::raw_vec::RawVec<u8>"* noalias readonly dereferenceable(8)) unnamed_addr #1 !dbg !505 {
entry-block:
%sret_slot = alloca i32
%self = alloca %"5.alloc::raw_vec::RawVec<u8>"*
%1 = alloca i32
store %"5.alloc::raw_vec::RawVec<u8>"* %0, %"5.alloc::raw_vec::RawVec<u8>"** %self, align 4
call void @llvm.dbg.declare(metadata %"5.alloc::raw_vec::RawVec<u8>"** %self, metadata !1130, metadata !697), !dbg !1131
%2 = call i32 @_ZN3mem7size_of20h4287011132594631077E(), !dbg !1132
store i32 %2, i32* %1, align 4, !dbg !1132
%3 = load i32, i32* %1, align 4, !dbg !1132
%4 = icmp eq i32 %3, 0, !dbg !1132
br i1 %4, label %then-block-21967-, label %else-block, !dbg !1132
then-block-21967-: ; preds = %entry-block
store i32 -1, i32* %sret_slot, align 4, !dbg !1134
br label %join
else-block: ; preds = %entry-block
%5 = load %"5.alloc::raw_vec::RawVec<u8>"*, %"5.alloc::raw_vec::RawVec<u8>"** %self, align 4, !dbg !1136, !nonnull !66
%6 = getelementptr inbounds %"5.alloc::raw_vec::RawVec<u8>", %"5.alloc::raw_vec::RawVec<u8>"* %5, i32 0, i32 1, !dbg !1136
%7 = load i32, i32* %6, align 4, !dbg !1136
store i32 %7, i32* %sret_slot, align 4, !dbg !1136
br label %join
join: ; preds = %else-block, %then-block-21967-
%8 = load i32, i32* %sret_slot, align 4
ret i32 %8, !dbg !1131
}
; Function Attrs: uwtable
define internal void @"_ZN7raw_vec15RawVec$LT$T$GT$18amortized_new_size20h8376514053077710954E"({ i32, i32 }* noalias nocapture sret dereferenceable(8), %"5.alloc::raw_vec::RawVec<u8>"* noalias readonly dereferenceable(8), i32, i32) unnamed_addr #1 !dbg !508 {
entry-block:
%self = alloca %"5.alloc::raw_vec::RawVec<u8>"*
%used_cap = alloca i32
%needed_extra_cap = alloca i32
%elem_size = alloca i32
%required_cap = alloca i32
%4 = alloca %"2.core::option::Option<usize>"
%double_cap = alloca i32
%new_cap = alloca i32
%new_alloc_size = alloca i32
%5 = alloca %"2.core::option::Option<usize>"
store %"5.alloc::raw_vec::RawVec<u8>"* %1, %"5.alloc::raw_vec::RawVec<u8>"** %self, align 4
call void @llvm.dbg.declare(metadata %"5.alloc::raw_vec::RawVec<u8>"** %self, metadata !1138, metadata !697), !dbg !1139
store i32 %2, i32* %used_cap, align 4
call void @llvm.dbg.declare(metadata i32* %used_cap, metadata !1140, metadata !697), !dbg !1139
store i32 %3, i32* %needed_extra_cap, align 4
call void @llvm.dbg.declare(metadata i32* %needed_extra_cap, metadata !1141, metadata !697), !dbg !1139
%6 = call i32 @_ZN3mem7size_of20h4287011132594631077E(), !dbg !1142
store i32 %6, i32* %elem_size, align 4, !dbg !1142
call void @llvm.dbg.declare(metadata i32* %elem_size, metadata !1144, metadata !697), !dbg !1142
%7 = load i32, i32* %used_cap, align 4, !dbg !1145
%8 = load i32, i32* %needed_extra_cap, align 4, !dbg !1145
call void @_ZN3num5usize11checked_add20hb5ea02adcdf5a897Y1jE(%"2.core::option::Option<usize>"* noalias nocapture sret dereferenceable(8) %4, i32 %7, i32 %8), !dbg !1145
%9 = load i8*, i8** getelementptr inbounds (%str_slice, %str_slice* @const4613, i32 0, i32 0), !dbg !1145
%10 = load i32, i32* getelementptr inbounds (%str_slice, %str_slice* @const4613, i32 0, i32 1), !dbg !1145
%11 = call i32 @"_ZN6option15Option$LT$T$GT$6expect20h5004362819255220580E"(%"2.core::option::Option<usize>"* noalias nocapture dereferenceable(8) %4, i8* noalias nonnull readonly %9, i32 %10), !dbg !1145
store i32 %11, i32* %required_cap, align 4, !dbg !1145
call void @llvm.dbg.declare(metadata i32* %required_cap, metadata !1146, metadata !697), !dbg !1145
%12 = load %"5.alloc::raw_vec::RawVec<u8>"*, %"5.alloc::raw_vec::RawVec<u8>"** %self, align 4, !dbg !1147, !nonnull !66
%13 = getelementptr inbounds %"5.alloc::raw_vec::RawVec<u8>", %"5.alloc::raw_vec::RawVec<u8>"* %12, i32 0, i32 1, !dbg !1147
%14 = load i32, i32* %13, align 4, !dbg !1147
%15 = call { i32, i1 } @llvm.umul.with.overflow.i32(i32 %14, i32 2), !dbg !1147
%16 = extractvalue { i32, i1 } %15, 0, !dbg !1147
%17 = extractvalue { i32, i1 } %15, 1, !dbg !1147
%18 = icmp eq i1 %17, true, !dbg !1147
%19 = call i1 @llvm.expect.i1(i1 %18, i1 false), !dbg !1147
br i1 %18, label %cond, label %next
next: ; preds = %entry-block
store i32 %16, i32* %double_cap, align 4, !dbg !1147
call void @llvm.dbg.declare(metadata i32* %double_cap, metadata !1148, metadata !697), !dbg !1147
%20 = load i32, i32* %double_cap, align 4, !dbg !1149
%21 = load i32, i32* %required_cap, align 4, !dbg !1149
%22 = call i32 @_ZN3cmp3max21h14191312270105261114E(i32 %20, i32 %21), !dbg !1149
store i32 %22, i32* %new_cap, align 4, !dbg !1149
call void @llvm.dbg.declare(metadata i32* %new_cap, metadata !1150, metadata !697), !dbg !1149
%23 = load i32, i32* %new_cap, align 4, !dbg !1151
%24 = load i32, i32* %elem_size, align 4, !dbg !1151
call void @_ZN3num5usize11checked_mul20h7c85a5242f18f5ebS2jE(%"2.core::option::Option<usize>"* noalias nocapture sret dereferenceable(8) %5, i32 %23, i32 %24), !dbg !1151
%25 = load i8*, i8** getelementptr inbounds (%str_slice, %str_slice* @const4613, i32 0, i32 0), !dbg !1151
%26 = load i32, i32* getelementptr inbounds (%str_slice, %str_slice* @const4613, i32 0, i32 1), !dbg !1151
%27 = call i32 @"_ZN6option15Option$LT$T$GT$6expect20h5004362819255220580E"(%"2.core::option::Option<usize>"* noalias nocapture dereferenceable(8) %5, i8* noalias nonnull readonly %25, i32 %26), !dbg !1151
store i32 %27, i32* %new_alloc_size, align 4, !dbg !1151
call void @llvm.dbg.declare(metadata i32* %new_alloc_size, metadata !1152, metadata !697), !dbg !1151
%28 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %0, i32 0, i32 0, !dbg !1153
%29 = load i32, i32* %new_cap, align 4, !dbg !1153
store i32 %29, i32* %28, align 4, !dbg !1153
%30 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %0, i32 0, i32 1, !dbg !1153
%31 = load i32, i32* %new_alloc_size, align 4, !dbg !1153
store i32 %31, i32* %30, align 4, !dbg !1153
ret void, !dbg !1139
cond: ; preds = %entry-block
call void @_ZN9panicking5panic20ha43e303ff6444f51DXLE({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(20) @panic_loc4615), !dbg !1147
unreachable, !dbg !1147
}
; Function Attrs: inlinehint uwtable
define internal i32 @"_ZN6option15Option$LT$T$GT$6expect20h5004362819255220580E"(%"2.core::option::Option<usize>"* noalias nocapture dereferenceable(8), i8* noalias nonnull readonly, i32) unnamed_addr #4 !dbg !511 {
entry-block:
%self = alloca %"2.core::option::Option<usize>"
%msg = alloca %str_slice
%__llmatch = alloca i32*
%val = alloca i32
%3 = bitcast %"2.core::option::Option<usize>"* %0 to i8*
%4 = bitcast %"2.core::option::Option<usize>"* %self to i8*
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %4, i8* %3, i32 8, i32 4, i1 false)
call void @llvm.dbg.declare(metadata %"2.core::option::Option<usize>"* %self, metadata !1154, metadata !697), !dbg !1155
%5 = getelementptr inbounds %str_slice, %str_slice* %msg, i32 0, i32 0
store i8* %1, i8** %5
%6 = getelementptr inbounds %str_slice, %str_slice* %msg, i32 0, i32 1
store i32 %2, i32* %6
call void @llvm.dbg.declare(metadata %str_slice* %msg, metadata !1156, metadata !697), !dbg !1155
%7 = getelementptr inbounds %"2.core::option::Option<usize>", %"2.core::option::Option<usize>"* %self, i32 0, i32 0
%8 = load i32, i32* %7, !range !708
switch i32 %8, label %match_else [
i32 1, label %match_case
i32 0, label %match_case2
]
case_body: ; preds = %match_case
%9 = load i32*, i32** %__llmatch
%10 = load i32, i32* %9, align 4
store i32 %10, i32* %val, align 4
call void @llvm.dbg.declare(metadata i32* %val, metadata !1157, metadata !697), !dbg !1160
%11 = load i32, i32* %val, align 4, !dbg !1160
br label %join
case_body1: ; preds = %match_case2
%12 = getelementptr inbounds %str_slice, %str_slice* %msg, i32 0, i32 0, !dbg !1161
%13 = load i8*, i8** %12, !dbg !1161
%14 = getelementptr inbounds %str_slice, %str_slice* %msg, i32 0, i32 1, !dbg !1161
%15 = load i32, i32* %14, !dbg !1161
call void @_ZN6option13expect_failed20h39dc6c123aa21242iqOE(i8* noalias nonnull readonly %13, i32 %15), !dbg !1161
unreachable, !dbg !1161
match_else: ; preds = %entry-block
unreachable
match_case: ; preds = %entry-block
%16 = bitcast %"2.core::option::Option<usize>"* %self to { i32, i32 }*
%17 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %16, i32 0, i32 1
store i32* %17, i32** %__llmatch
br label %case_body
match_case2: ; preds = %entry-block
br label %case_body1
join: ; preds = %case_body
ret i32 %11, !dbg !1155
}
; Function Attrs: cold noinline noreturn
declare void @_ZN6option13expect_failed20h39dc6c123aa21242iqOE(i8* noalias nonnull readonly, i32) unnamed_addr #6
; Function Attrs: inlinehint uwtable
define internal void @_ZN3num5usize11checked_add20hb5ea02adcdf5a897Y1jE(%"2.core::option::Option<usize>"* noalias nocapture sret dereferenceable(8), i32, i32) unnamed_addr #4 !dbg !517 {
entry-block:
%self = alloca i32
%other = alloca i32
%3 = alloca { i32, i8 }
%a = alloca i32
%b = alloca i8
store i32 %1, i32* %self, align 4
call void @llvm.dbg.declare(metadata i32* %self, metadata !1163, metadata !697), !dbg !1164
store i32 %2, i32* %other, align 4
call void @llvm.dbg.declare(metadata i32* %other, metadata !1165, metadata !697), !dbg !1164
%4 = load i32, i32* %self, align 4, !dbg !1166
%5 = load i32, i32* %other, align 4, !dbg !1166
call void @_ZN3num5usize15overflowing_add20hcc5bb4d1e796f78847jE({ i32, i8 }* noalias nocapture sret dereferenceable(8) %3, i32 %4, i32 %5), !dbg !1166
%6 = getelementptr inbounds { i32, i8 }, { i32, i8 }* %3, i32 0, i32 0, !dbg !1166
%7 = load i32, i32* %6, align 4
store i32 %7, i32* %a, align 4
%8 = getelementptr inbounds { i32, i8 }, { i32, i8 }* %3, i32 0, i32 1
%9 = load i8, i8* %8, align 1, !range !775
%10 = trunc i8 %9 to i1
%11 = zext i1 %10 to i8
store i8 %11, i8* %b, align 1
call void @llvm.dbg.declare(metadata i32* %a, metadata !1168, metadata !697), !dbg !1166
call void @llvm.dbg.declare(metadata i8* %b, metadata !1169, metadata !697), !dbg !1166
%12 = load i8, i8* %b, align 1, !dbg !1170, !range !775
%13 = trunc i8 %12 to i1, !dbg !1170
br i1 %13, label %then-block-22072-, label %else-block, !dbg !1170
then-block-22072-: ; preds = %entry-block
%14 = bitcast %"2.core::option::Option<usize>"* %0 to { i32, [4 x i8] }*, !dbg !1171
%15 = bitcast { i32, [4 x i8] }* %14 to i8*, !dbg !1171
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %15, i8* bitcast ({ i32, [4 x i8] }* @const4611 to i8*), i32 8, i32 4, i1 false)
br label %join
else-block: ; preds = %entry-block
%16 = bitcast %"2.core::option::Option<usize>"* %0 to { i32, i32 }*, !dbg !1173
%17 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %16, i32 0, i32 1, !dbg !1173
%18 = load i32, i32* %a, align 4, !dbg !1173
store i32 %18, i32* %17, align 4, !dbg !1173
%19 = getelementptr inbounds %"2.core::option::Option<usize>", %"2.core::option::Option<usize>"* %0, i32 0, i32 0, !dbg !1173
store i32 1, i32* %19, !dbg !1173
br label %join
join: ; preds = %else-block, %then-block-22072-
ret void, !dbg !1164
}
; Function Attrs: inlinehint uwtable
define internal void @_ZN3num5usize15overflowing_add20hcc5bb4d1e796f78847jE({ i32, i8 }* noalias nocapture sret dereferenceable(8), i32, i32) unnamed_addr #4 !dbg !520 {
entry-block:
%self = alloca i32
%rhs = alloca i32
%3 = alloca { i32, i8 }
%a = alloca i32
%b = alloca i8
store i32 %1, i32* %self, align 4
call void @llvm.dbg.declare(metadata i32* %self, metadata !1175, metadata !697), !dbg !1176
store i32 %2, i32* %rhs, align 4
call void @llvm.dbg.declare(metadata i32* %rhs, metadata !1177, metadata !697), !dbg !1176
%4 = load i32, i32* %self, align 4, !dbg !1178
%5 = load i32, i32* %rhs, align 4, !dbg !1181
%6 = call { i32, i1 } @llvm.uadd.with.overflow.i32(i32 %4, i32 %5), !dbg !1178
%7 = extractvalue { i32, i1 } %6, 0, !dbg !1178
%8 = extractvalue { i32, i1 } %6, 1, !dbg !1178
%9 = zext i1 %8 to i8, !dbg !1178
%10 = getelementptr inbounds { i32, i8 }, { i32, i8 }* %3, i32 0, i32 0, !dbg !1178
store i32 %7, i32* %10, !dbg !1178
%11 = getelementptr inbounds { i32, i8 }, { i32, i8 }* %3, i32 0, i32 1, !dbg !1178
store i8 %9, i8* %11, !dbg !1178
%12 = getelementptr inbounds { i32, i8 }, { i32, i8 }* %3, i32 0, i32 0, !dbg !1178
%13 = load i32, i32* %12, align 4
store i32 %13, i32* %a, align 4
%14 = getelementptr inbounds { i32, i8 }, { i32, i8 }* %3, i32 0, i32 1
%15 = load i8, i8* %14, align 1, !range !775
%16 = trunc i8 %15 to i1
%17 = zext i1 %16 to i8
store i8 %17, i8* %b, align 1
call void @llvm.dbg.declare(metadata i32* %a, metadata !1182, metadata !697), !dbg !1178
call void @llvm.dbg.declare(metadata i8* %b, metadata !1183, metadata !697), !dbg !1178
%18 = getelementptr inbounds { i32, i8 }, { i32, i8 }* %0, i32 0, i32 0, !dbg !1184
%19 = load i32, i32* %a, align 4, !dbg !1184
store i32 %19, i32* %18, align 4, !dbg !1184
%20 = getelementptr inbounds { i32, i8 }, { i32, i8 }* %0, i32 0, i32 1, !dbg !1184
%21 = load i8, i8* %b, align 1, !dbg !1184, !range !775
%22 = trunc i8 %21 to i1, !dbg !1184
%23 = zext i1 %22 to i8, !dbg !1184
store i8 %23, i8* %20, align 1, !dbg !1184
ret void, !dbg !1176
}
; Function Attrs: nounwind readnone
declare { i32, i1 } @llvm.uadd.with.overflow.i32(i32, i32) #3
; Function Attrs: inlinehint uwtable
define internal i32 @_ZN3cmp3max21h14191312270105261114E(i32, i32) unnamed_addr #4 !dbg !523 {
entry-block:
%sret_slot = alloca i32
%v1 = alloca i32
%v2 = alloca i32
%2 = alloca i8
store i32 %0, i32* %v1, align 4
call void @llvm.dbg.declare(metadata i32* %v1, metadata !1185, metadata !697), !dbg !1186
store i32 %1, i32* %v2, align 4
call void @llvm.dbg.declare(metadata i32* %v2, metadata !1187, metadata !697), !dbg !1186
%3 = call zeroext i1 @_ZN3cmp5impls16usize.PartialOrd2ge20he308c4deeffc8f6170BE(i32* noalias readonly dereferenceable(4) %v2, i32* noalias readonly dereferenceable(4) %v1), !dbg !1188
%4 = zext i1 %3 to i8, !dbg !1188
store i8 %4, i8* %2, align 1, !dbg !1188
%5 = load i8, i8* %2, align 1, !dbg !1188, !range !775
%6 = trunc i8 %5 to i1, !dbg !1188
br i1 %6, label %then-block-22141-, label %else-block, !dbg !1188
then-block-22141-: ; preds = %entry-block
%7 = load i32, i32* %v2, align 4, !dbg !1190
store i32 %7, i32* %sret_slot, align 4, !dbg !1190
br label %join
else-block: ; preds = %entry-block
%8 = load i32, i32* %v1, align 4, !dbg !1192
store i32 %8, i32* %sret_slot, align 4, !dbg !1192
br label %join
join: ; preds = %else-block, %then-block-22141-
%9 = load i32, i32* %sret_slot, align 4
ret i32 %9, !dbg !1186
}
; Function Attrs: inlinehint uwtable
define internal zeroext i1 @_ZN3cmp5impls16usize.PartialOrd2ge20he308c4deeffc8f6170BE(i32* noalias readonly dereferenceable(4), i32* noalias readonly dereferenceable(4)) unnamed_addr #4 !dbg !528 {
entry-block:
%self = alloca i32*
%other = alloca i32*
store i32* %0, i32** %self, align 4
call void @llvm.dbg.declare(metadata i32** %self, metadata !1194, metadata !697), !dbg !1195
store i32* %1, i32** %other, align 4
call void @llvm.dbg.declare(metadata i32** %other, metadata !1196, metadata !697), !dbg !1195
%2 = load i32*, i32** %self, align 4, !dbg !1197, !nonnull !66
%3 = load i32, i32* %2, align 4, !dbg !1197
%4 = load i32*, i32** %other, align 4, !dbg !1197, !nonnull !66
%5 = load i32, i32* %4, align 4, !dbg !1197
%6 = icmp uge i32 %3, %5, !dbg !1197
%7 = zext i1 %6 to i8, !dbg !1197
%8 = trunc i8 %7 to i1, !dbg !1197
ret i1 %8, !dbg !1195
}
; Function Attrs: inlinehint uwtable
define internal void @_ZN3num5usize11checked_mul20h7c85a5242f18f5ebS2jE(%"2.core::option::Option<usize>"* noalias nocapture sret dereferenceable(8), i32, i32) unnamed_addr #4 !dbg !534 {
entry-block:
%self = alloca i32
%other = alloca i32
%3 = alloca { i32, i8 }
%a = alloca i32
%b = alloca i8
store i32 %1, i32* %self, align 4
call void @llvm.dbg.declare(metadata i32* %self, metadata !1199, metadata !697), !dbg !1200
store i32 %2, i32* %other, align 4
call void @llvm.dbg.declare(metadata i32* %other, metadata !1201, metadata !697), !dbg !1200
%4 = load i32, i32* %self, align 4, !dbg !1202
%5 = load i32, i32* %other, align 4, !dbg !1202
call void @_ZN3num5usize15overflowing_mul20hf99ce5693a5da38a68jE({ i32, i8 }* noalias nocapture sret dereferenceable(8) %3, i32 %4, i32 %5), !dbg !1202
%6 = getelementptr inbounds { i32, i8 }, { i32, i8 }* %3, i32 0, i32 0, !dbg !1202
%7 = load i32, i32* %6, align 4
store i32 %7, i32* %a, align 4
%8 = getelementptr inbounds { i32, i8 }, { i32, i8 }* %3, i32 0, i32 1
%9 = load i8, i8* %8, align 1, !range !775
%10 = trunc i8 %9 to i1
%11 = zext i1 %10 to i8
store i8 %11, i8* %b, align 1
call void @llvm.dbg.declare(metadata i32* %a, metadata !1204, metadata !697), !dbg !1202
call void @llvm.dbg.declare(metadata i8* %b, metadata !1205, metadata !697), !dbg !1202
%12 = load i8, i8* %b, align 1, !dbg !1206, !range !775
%13 = trunc i8 %12 to i1, !dbg !1206
br i1 %13, label %then-block-22187-, label %else-block, !dbg !1206
then-block-22187-: ; preds = %entry-block
%14 = bitcast %"2.core::option::Option<usize>"* %0 to { i32, [4 x i8] }*, !dbg !1207
%15 = bitcast { i32, [4 x i8] }* %14 to i8*, !dbg !1207
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %15, i8* bitcast ({ i32, [4 x i8] }* @const4611 to i8*), i32 8, i32 4, i1 false)
br label %join
else-block: ; preds = %entry-block
%16 = bitcast %"2.core::option::Option<usize>"* %0 to { i32, i32 }*, !dbg !1209
%17 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %16, i32 0, i32 1, !dbg !1209
%18 = load i32, i32* %a, align 4, !dbg !1209
store i32 %18, i32* %17, align 4, !dbg !1209
%19 = getelementptr inbounds %"2.core::option::Option<usize>", %"2.core::option::Option<usize>"* %0, i32 0, i32 0, !dbg !1209
store i32 1, i32* %19, !dbg !1209
br label %join
join: ; preds = %else-block, %then-block-22187-
ret void, !dbg !1200
}
; Function Attrs: inlinehint uwtable
define internal void @_ZN3num5usize15overflowing_mul20hf99ce5693a5da38a68jE({ i32, i8 }* noalias nocapture sret dereferenceable(8), i32, i32) unnamed_addr #4 !dbg !535 {
entry-block:
%self = alloca i32
%rhs = alloca i32
%3 = alloca { i32, i8 }
%a = alloca i32
%b = alloca i8
store i32 %1, i32* %self, align 4
call void @llvm.dbg.declare(metadata i32* %self, metadata !1211, metadata !697), !dbg !1212
store i32 %2, i32* %rhs, align 4
call void @llvm.dbg.declare(metadata i32* %rhs, metadata !1213, metadata !697), !dbg !1212
%4 = load i32, i32* %self, align 4, !dbg !1214
%5 = load i32, i32* %rhs, align 4, !dbg !1217
%6 = call { i32, i1 } @llvm.umul.with.overflow.i32(i32 %4, i32 %5), !dbg !1214
%7 = extractvalue { i32, i1 } %6, 0, !dbg !1214
%8 = extractvalue { i32, i1 } %6, 1, !dbg !1214
%9 = zext i1 %8 to i8, !dbg !1214
%10 = getelementptr inbounds { i32, i8 }, { i32, i8 }* %3, i32 0, i32 0, !dbg !1214
store i32 %7, i32* %10, !dbg !1214
%11 = getelementptr inbounds { i32, i8 }, { i32, i8 }* %3, i32 0, i32 1, !dbg !1214
store i8 %9, i8* %11, !dbg !1214
%12 = getelementptr inbounds { i32, i8 }, { i32, i8 }* %3, i32 0, i32 0, !dbg !1214
%13 = load i32, i32* %12, align 4
store i32 %13, i32* %a, align 4
%14 = getelementptr inbounds { i32, i8 }, { i32, i8 }* %3, i32 0, i32 1
%15 = load i8, i8* %14, align 1, !range !775
%16 = trunc i8 %15 to i1
%17 = zext i1 %16 to i8
store i8 %17, i8* %b, align 1
call void @llvm.dbg.declare(metadata i32* %a, metadata !1218, metadata !697), !dbg !1214
call void @llvm.dbg.declare(metadata i8* %b, metadata !1219, metadata !697), !dbg !1214
%18 = getelementptr inbounds { i32, i8 }, { i32, i8 }* %0, i32 0, i32 0, !dbg !1220
%19 = load i32, i32* %a, align 4, !dbg !1220
store i32 %19, i32* %18, align 4, !dbg !1220
%20 = getelementptr inbounds { i32, i8 }, { i32, i8 }* %0, i32 0, i32 1, !dbg !1220
%21 = load i8, i8* %b, align 1, !dbg !1220, !range !775
%22 = trunc i8 %21 to i1, !dbg !1220
%23 = zext i1 %22 to i8, !dbg !1220
store i8 %23, i8* %20, align 1, !dbg !1220
ret void, !dbg !1212
}
; Function Attrs: inlinehint uwtable
define internal void @_ZN7raw_vec11alloc_guard20ha81e6ada230ab1e4MybE(i32) unnamed_addr #4 !dbg !536 {
entry-block:
%alloc_size = alloca i32
%1 = alloca i32
store i32 %0, i32* %alloc_size, align 4
call void @llvm.dbg.declare(metadata i32* %alloc_size, metadata !1221, metadata !697), !dbg !1222
%2 = call i32 @_ZN3mem7size_of20h7170273355092534403E(), !dbg !1223
store i32 %2, i32* %1, align 4, !dbg !1223
%3 = load i32, i32* %1, align 4, !dbg !1223
%4 = icmp ult i32 %3, 8, !dbg !1223
br i1 %4, label %then-block-22252-, label %next-block1, !dbg !1223
then-block-22252-: ; preds = %entry-block
%5 = load i32, i32* %alloc_size, align 4, !dbg !1225
%6 = icmp ule i32 %5, 2147483647, !dbg !1225
%7 = xor i1 %6, true, !dbg !1227
br i1 %7, label %then-block-22261-, label %next-block, !dbg !1227
then-block-22261-: ; preds = %then-block-22252-
call void @_ZN9panicking5panic20ha43e303ff6444f51DXLE({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(20) @_ZN7raw_vec11alloc_guard14_MSG_FILE_LINE20h274bf01c755e7ebebzbE), !dbg !1228
unreachable, !dbg !1228
next-block: ; preds = %then-block-22252-
br label %next-block1
next-block1: ; preds = %entry-block, %next-block
ret void, !dbg !1222
}
; Function Attrs: inlinehint uwtable
define internal i32 @_ZN3mem7size_of20h7170273355092534403E() unnamed_addr #4 !dbg !539 {
entry-block:
ret i32 4, !dbg !1232
}
; Function Attrs: inlinehint uwtable
define internal i8* @_ZN4heap8allocate20h5d1306f43b595c17SdaE(i32, i32) unnamed_addr #4 !dbg !540 {
entry-block:
%size.i = alloca i32
call void @llvm.dbg.declare(metadata i32* %size.i, metadata !1233, metadata !697), !dbg !1234
%align.i = alloca i32
call void @llvm.dbg.declare(metadata i32* %align.i, metadata !1237, metadata !697), !dbg !1234
%size = alloca i32
%align = alloca i32
%__arg = alloca i32
%__arg1 = alloca i32
store i32 %0, i32* %size, align 4
call void @llvm.dbg.declare(metadata i32* %size, metadata !1238, metadata !697), !dbg !1239
store i32 %1, i32* %align, align 4
call void @llvm.dbg.declare(metadata i32* %align, metadata !1240, metadata !697), !dbg !1239
%2 = load i32, i32* %size, align 4, !dbg !1241
%3 = load i32, i32* %align, align 4, !dbg !1241
store i32 %2, i32* %size.i, align 4, !dbg !1241
store i32 %3, i32* %align.i, align 4, !dbg !1241
%4 = load i32, i32* %size, align 4, !dbg !1242
%5 = load i32, i32* %align, align 4, !dbg !1242
store i32 %4, i32* %__arg, align 4
%6 = load i32, i32* %__arg
store i32 %5, i32* %__arg1, align 4
%7 = load i32, i32* %__arg1
%8 = call i8* @__rust_allocate(i32 %6, i32 %7), !dbg !1242
ret i8* %8, !dbg !1239
}
; Function Attrs: nounwind
declare noalias i8* @__rust_allocate(i32, i32) unnamed_addr #0
; Function Attrs: inlinehint uwtable
define internal i8* @_ZN4heap10reallocate20h9836efcd8034d293ceaE(i8*, i32, i32, i32) unnamed_addr #4 !dbg !546 {
entry-block:
%size.i = alloca i32
call void @llvm.dbg.declare(metadata i32* %size.i, metadata !1233, metadata !697), !dbg !1243
%align.i = alloca i32
call void @llvm.dbg.declare(metadata i32* %align.i, metadata !1237, metadata !697), !dbg !1243
%ptr = alloca i8*
%old_size = alloca i32
%size = alloca i32
%align = alloca i32
%__arg = alloca i8*
%__arg1 = alloca i32
%__arg2 = alloca i32
%__arg3 = alloca i32
store i8* %0, i8** %ptr, align 4
call void @llvm.dbg.declare(metadata i8** %ptr, metadata !1246, metadata !697), !dbg !1247
store i32 %1, i32* %old_size, align 4
call void @llvm.dbg.declare(metadata i32* %old_size, metadata !1248, metadata !697), !dbg !1247
store i32 %2, i32* %size, align 4
call void @llvm.dbg.declare(metadata i32* %size, metadata !1249, metadata !697), !dbg !1247
store i32 %3, i32* %align, align 4
call void @llvm.dbg.declare(metadata i32* %align, metadata !1250, metadata !697), !dbg !1247
%4 = load i32, i32* %size, align 4, !dbg !1251
%5 = load i32, i32* %align, align 4, !dbg !1251
store i32 %4, i32* %size.i, align 4, !dbg !1251
store i32 %5, i32* %align.i, align 4, !dbg !1251
%6 = load i8*, i8** %ptr, align 4, !dbg !1252
%7 = load i32, i32* %old_size, align 4, !dbg !1252
%8 = load i32, i32* %size, align 4, !dbg !1252
%9 = load i32, i32* %align, align 4, !dbg !1252
store i8* %6, i8** %__arg, align 4
%10 = load i8*, i8** %__arg
store i32 %7, i32* %__arg1, align 4
%11 = load i32, i32* %__arg1
store i32 %8, i32* %__arg2, align 4
%12 = load i32, i32* %__arg2
store i32 %9, i32* %__arg3, align 4
%13 = load i32, i32* %__arg3
%14 = call i8* @__rust_reallocate(i8* %10, i32 %11, i32 %12, i32 %13), !dbg !1252
ret i8* %14, !dbg !1247
}
; Function Attrs: nounwind
declare i8* @__rust_reallocate(i8*, i32, i32, i32) unnamed_addr #0
; Function Attrs: cold noinline noreturn
declare void @_ZN3oom3oom20hc9548a4043ae6aa0PzbE() unnamed_addr #6
; Function Attrs: uwtable
define internal i32 @"_ZN3ptr15Unique$LT$T$GT$3new20h2274235128004638462E"(i8*) unnamed_addr #1 !dbg !549 {
entry-block:
%sret_slot.i = alloca %"2.core::nonzero::NonZero<*const u8>"
%inner.i = alloca i8*
call void @llvm.dbg.declare(metadata i8** %inner.i, metadata !1253, metadata !697), !dbg !1254
%sret_slot = alloca %"2.core::ptr::Unique<u8>"
%ptr = alloca i8*
store i8* %0, i8** %ptr, align 4
call void @llvm.dbg.declare(metadata i8** %ptr, metadata !1257, metadata !697), !dbg !1258
%1 = getelementptr inbounds %"2.core::ptr::Unique<u8>", %"2.core::ptr::Unique<u8>"* %sret_slot, i32 0, i32 0, !dbg !1259
%2 = load i8*, i8** %ptr, align 4, !dbg !1259
store i8* %2, i8** %inner.i, align 4, !dbg !1259
%3 = getelementptr inbounds %"2.core::nonzero::NonZero<*const u8>", %"2.core::nonzero::NonZero<*const u8>"* %sret_slot.i, i32 0, i32 0, !dbg !1260
%4 = load i8*, i8** %inner.i, align 4, !dbg !1260
store i8* %4, i8** %3, align 4, !dbg !1260
%5 = bitcast %"2.core::nonzero::NonZero<*const u8>"* %sret_slot.i to i32*, !dbg !1260
%6 = load i32, i32* %5, align 4, !dbg !1260
%7 = bitcast %"2.core::nonzero::NonZero<*const u8>"* %1 to i32*, !dbg !1259
store i32 %6, i32* %7, align 4, !dbg !1259
%8 = getelementptr inbounds %"2.core::ptr::Unique<u8>", %"2.core::ptr::Unique<u8>"* %sret_slot, i32 0, i32 1, !dbg !1259
%9 = bitcast %"2.core::ptr::Unique<u8>"* %sret_slot to i32*, !dbg !1259
%10 = load i32, i32* %9, align 4, !dbg !1259
ret i32 %10, !dbg !1258
}
; Function Attrs: inlinehint uwtable
define internal i32 @"_ZN5slice12_$u5b$T$u5d$3len21h10050574856846055417E"(i8* noalias nonnull readonly, i32) unnamed_addr #4 !dbg !557 {
entry-block:
%self = alloca { i8*, i32 }
%2 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %self, i32 0, i32 0
store i8* %0, i8** %2
%3 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %self, i32 0, i32 1
store i32 %1, i32* %3
call void @llvm.dbg.declare(metadata { i8*, i32 }* %self, metadata !1262, metadata !697), !dbg !1263
%4 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %self, i32 0, i32 0, !dbg !1264
%5 = load i8*, i8** %4, !dbg !1264
%6 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %self, i32 0, i32 1, !dbg !1264
%7 = load i32, i32* %6, !dbg !1264
%8 = call i32 @"_ZN5slice21_$u5b$T$u5d$.SliceExt3len21h16633752308469926477E"(i8* noalias nonnull readonly %5, i32 %7), !dbg !1264
ret i32 %8, !dbg !1263
}
; Function Attrs: uwtable
define internal void @_ZN4iter14I.IntoIterator9into_iter20h7677069187897034443E(%"2.core::ops::Range<usize>"* noalias nocapture sret dereferenceable(8), %"2.core::ops::Range<usize>"* noalias nocapture dereferenceable(8)) unnamed_addr #1 !dbg !558 {
entry-block:
%self = alloca %"2.core::ops::Range<usize>"
%2 = bitcast %"2.core::ops::Range<usize>"* %1 to i8*
%3 = bitcast %"2.core::ops::Range<usize>"* %self to i8*
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %3, i8* %2, i32 8, i32 4, i1 false)
call void @llvm.dbg.declare(metadata %"2.core::ops::Range<usize>"* %self, metadata !1266, metadata !697), !dbg !1267
%4 = bitcast %"2.core::ops::Range<usize>"* %self to i8*, !dbg !1268
%5 = bitcast %"2.core::ops::Range<usize>"* %0 to i8*, !dbg !1268
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %5, i8* %4, i32 8, i32 4, i1 false)
ret void, !dbg !1267
}
; Function Attrs: inlinehint uwtable
define internal void @"_ZN4iter28ops..Range$LT$A$GT$.Iterator4next21h10318208846236652384E"(%"2.core::option::Option<usize>"* noalias nocapture sret dereferenceable(8), %"2.core::ops::Range<usize>"* noalias dereferenceable(8)) unnamed_addr #4 !dbg !561 {
entry-block:
%self = alloca %"2.core::ops::Range<usize>"*
%2 = alloca i8
%n = alloca i32
%3 = alloca i32
%addr_of = alloca i32
%4 = bitcast i32* %addr_of to i8*
call void @llvm.memset.p0i8.i32(i8* %4, i8 29, i32 4, i32 4, i1 false)
store %"2.core::ops::Range<usize>"* %1, %"2.core::ops::Range<usize>"** %self, align 4
call void @llvm.dbg.declare(metadata %"2.core::ops::Range<usize>"** %self, metadata !1270, metadata !697), !dbg !1271
%5 = load %"2.core::ops::Range<usize>"*, %"2.core::ops::Range<usize>"** %self, align 4, !dbg !1272, !nonnull !66
%6 = getelementptr inbounds %"2.core::ops::Range<usize>", %"2.core::ops::Range<usize>"* %5, i32 0, i32 0, !dbg !1272
%7 = load %"2.core::ops::Range<usize>"*, %"2.core::ops::Range<usize>"** %self, align 4, !dbg !1272, !nonnull !66
%8 = getelementptr inbounds %"2.core::ops::Range<usize>", %"2.core::ops::Range<usize>"* %7, i32 0, i32 1, !dbg !1272
%9 = call zeroext i1 @_ZN3cmp5impls16usize.PartialOrd2lt20hfce7af36b02ba1e6x0BE(i32* noalias readonly dereferenceable(4) %6, i32* noalias readonly dereferenceable(4) %8), !dbg !1272
%10 = zext i1 %9 to i8, !dbg !1272
store i8 %10, i8* %2, align 1, !dbg !1272
%11 = load i8, i8* %2, align 1, !dbg !1272, !range !775
%12 = trunc i8 %11 to i1, !dbg !1272
br i1 %12, label %then-block-22558-, label %else-block, !dbg !1272
then-block-22558-: ; preds = %entry-block
%13 = load %"2.core::ops::Range<usize>"*, %"2.core::ops::Range<usize>"** %self, align 4, !dbg !1274, !nonnull !66
%14 = getelementptr inbounds %"2.core::ops::Range<usize>", %"2.core::ops::Range<usize>"* %13, i32 0, i32 0, !dbg !1274
%15 = call i32 @_ZN3num9usize.One3one20hea7d6b0678fe9fc2jAhE(), !dbg !1274
store i32 %15, i32* %3, align 4, !dbg !1274
%16 = load i32, i32* %3, align 4, !dbg !1274
store i32 %16, i32* %addr_of, align 4
%17 = call i32 @"_ZN3ops53_$RF$$u27$b$u20$usize.Add$LT$$RF$$u27$a$u20$usize$GT$3add20hf2995a092b2b6e3fbWqE"(i32* noalias readonly dereferenceable(4) %14, i32* noalias readonly dereferenceable(4) %addr_of), !dbg !1274
store i32 %17, i32* %n, align 4, !dbg !1274
call void @llvm.dbg.declare(metadata i32* %n, metadata !1276, metadata !697), !dbg !1274
%18 = load %"2.core::ops::Range<usize>"*, %"2.core::ops::Range<usize>"** %self, align 4, !dbg !1277, !nonnull !66
%19 = getelementptr inbounds %"2.core::ops::Range<usize>", %"2.core::ops::Range<usize>"* %18, i32 0, i32 0, !dbg !1277
call void @_ZN3mem4swap20h8217013351403529420E(i32* noalias dereferenceable(4) %n, i32* noalias dereferenceable(4) %19), !dbg !1277
%20 = bitcast %"2.core::option::Option<usize>"* %0 to { i32, i32 }*, !dbg !1278
%21 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %20, i32 0, i32 1, !dbg !1278
%22 = load i32, i32* %n, align 4, !dbg !1278
store i32 %22, i32* %21, align 4, !dbg !1278
%23 = getelementptr inbounds %"2.core::option::Option<usize>", %"2.core::option::Option<usize>"* %0, i32 0, i32 0, !dbg !1278
store i32 1, i32* %23, !dbg !1278
br label %join
else-block: ; preds = %entry-block
%24 = bitcast %"2.core::option::Option<usize>"* %0 to { i32, [4 x i8] }*, !dbg !1279
%25 = bitcast { i32, [4 x i8] }* %24 to i8*, !dbg !1279
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %25, i8* bitcast ({ i32, [4 x i8] }* @const4611 to i8*), i32 8, i32 4, i1 false)
br label %join
join: ; preds = %else-block, %then-block-22558-
ret void, !dbg !1271
}
; Function Attrs: inlinehint uwtable
define internal zeroext i1 @_ZN3cmp5impls16usize.PartialOrd2lt20hfce7af36b02ba1e6x0BE(i32* noalias readonly dereferenceable(4), i32* noalias readonly dereferenceable(4)) unnamed_addr #4 !dbg !566 {
entry-block:
%self = alloca i32*
%other = alloca i32*
store i32* %0, i32** %self, align 4
call void @llvm.dbg.declare(metadata i32** %self, metadata !1280, metadata !697), !dbg !1281
store i32* %1, i32** %other, align 4
call void @llvm.dbg.declare(metadata i32** %other, metadata !1282, metadata !697), !dbg !1281
%2 = load i32*, i32** %self, align 4, !dbg !1283, !nonnull !66
%3 = load i32, i32* %2, align 4, !dbg !1283
%4 = load i32*, i32** %other, align 4, !dbg !1283, !nonnull !66
%5 = load i32, i32* %4, align 4, !dbg !1283
%6 = icmp ult i32 %3, %5, !dbg !1283
%7 = zext i1 %6 to i8, !dbg !1283
%8 = trunc i8 %7 to i1, !dbg !1283
ret i1 %8, !dbg !1281
}
; Function Attrs: inlinehint uwtable
define internal i32 @_ZN3num9usize.One3one20hea7d6b0678fe9fc2jAhE() unnamed_addr #4 !dbg !567 {
entry-block:
ret i32 1, !dbg !1285
}
; Function Attrs: inlinehint uwtable
define internal i32 @"_ZN3ops53_$RF$$u27$b$u20$usize.Add$LT$$RF$$u27$a$u20$usize$GT$3add20hf2995a092b2b6e3fbWqE"(i32* noalias readonly dereferenceable(4), i32* noalias readonly dereferenceable(4)) unnamed_addr #4 !dbg !569 {
entry-block:
%self = alloca i32*
%other = alloca i32*
store i32* %0, i32** %self, align 4
call void @llvm.dbg.declare(metadata i32** %self, metadata !1286, metadata !697), !dbg !1287
store i32* %1, i32** %other, align 4
call void @llvm.dbg.declare(metadata i32** %other, metadata !1288, metadata !697), !dbg !1287
%2 = load i32*, i32** %self, align 4, !dbg !1289, !nonnull !66
%3 = load i32, i32* %2, align 4, !dbg !1289
%4 = load i32*, i32** %other, align 4, !dbg !1289, !nonnull !66
%5 = load i32, i32* %4, align 4, !dbg !1289
%6 = call i32 @_ZN3ops9usize.Add3add20h79a0cee6dfe5ffe0SUqE(i32 %3, i32 %5), !dbg !1291
ret i32 %6, !dbg !1287
}
; Function Attrs: inlinehint uwtable
define internal i32 @_ZN3ops9usize.Add3add20h79a0cee6dfe5ffe0SUqE(i32, i32) unnamed_addr #4 !dbg !575 {
entry-block:
%self = alloca i32
%other = alloca i32
store i32 %0, i32* %self, align 4
call void @llvm.dbg.declare(metadata i32* %self, metadata !1292, metadata !697), !dbg !1293
store i32 %1, i32* %other, align 4
call void @llvm.dbg.declare(metadata i32* %other, metadata !1294, metadata !697), !dbg !1293
%2 = load i32, i32* %self, align 4, !dbg !1295
%3 = load i32, i32* %other, align 4, !dbg !1295
%4 = call { i32, i1 } @llvm.uadd.with.overflow.i32(i32 %2, i32 %3), !dbg !1295
%5 = extractvalue { i32, i1 } %4, 0, !dbg !1295
%6 = extractvalue { i32, i1 } %4, 1, !dbg !1295
%7 = icmp eq i1 %6, true, !dbg !1295
%8 = call i1 @llvm.expect.i1(i1 %7, i1 false), !dbg !1295
br i1 %7, label %cond, label %next
next: ; preds = %entry-block
ret i32 %5, !dbg !1293
cond: ; preds = %entry-block
call void @_ZN9panicking5panic20ha43e303ff6444f51DXLE({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(20) @panic_loc4672), !dbg !1295
unreachable, !dbg !1295
}
; Function Attrs: inlinehint uwtable
define internal void @_ZN3mem4swap20h8217013351403529420E(i32* noalias dereferenceable(4), i32* noalias dereferenceable(4)) unnamed_addr #4 !dbg !577 {
entry-block:
%x = alloca i32*
%y = alloca i32*
%t = alloca i32
store i32* %0, i32** %x, align 4
call void @llvm.dbg.declare(metadata i32** %x, metadata !1297, metadata !697), !dbg !1298
store i32* %1, i32** %y, align 4
call void @llvm.dbg.declare(metadata i32** %y, metadata !1299, metadata !697), !dbg !1298
%2 = call i32 @_ZN3mem13uninitialized20h2584263038340175182E(), !dbg !1300
store i32 %2, i32* %t, align 4, !dbg !1300
call void @llvm.dbg.declare(metadata i32* %t, metadata !1303, metadata !697), !dbg !1300
%3 = load i32*, i32** %x, align 4, !dbg !1304, !nonnull !66
%4 = bitcast i32* %t to i8*, !dbg !1304
%5 = bitcast i32* %3 to i8*, !dbg !1304
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %4, i8* %5, i32 4, i32 4, i1 false), !dbg !1304
%6 = load i32*, i32** %y, align 4, !dbg !1305, !nonnull !66
%7 = load i32*, i32** %x, align 4, !dbg !1305, !nonnull !66
%8 = bitcast i32* %7 to i8*, !dbg !1305
%9 = bitcast i32* %6 to i8*, !dbg !1305
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %8, i8* %9, i32 4, i32 4, i1 false), !dbg !1305
%10 = load i32*, i32** %y, align 4, !dbg !1306, !nonnull !66
%11 = bitcast i32* %10 to i8*, !dbg !1306
%12 = bitcast i32* %t to i8*, !dbg !1306
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %11, i8* %12, i32 4, i32 4, i1 false), !dbg !1306
%13 = load i32, i32* %t, align 4, !dbg !1307
call void @_ZN3mem6forget20h7461283300550713263E(i32 %13), !dbg !1307
ret void, !dbg !1298
}
; Function Attrs: inlinehint uwtable
define internal i32 @_ZN3mem13uninitialized20h2584263038340175182E() unnamed_addr #4 !dbg !581 {
entry-block:
%sret_slot = alloca i32
%0 = load i32, i32* %sret_slot, align 4, !dbg !1308
ret i32 %0, !dbg !1310
}
; Function Attrs: uwtable
define internal void @_ZN3mem6forget20h7461283300550713263E(i32) unnamed_addr #1 !dbg !582 {
entry-block:
%t = alloca i32
store i32 %0, i32* %t, align 4
call void @llvm.dbg.declare(metadata i32* %t, metadata !1311, metadata !697), !dbg !1312
%1 = load i32, i32* %t, align 4, !dbg !1313
ret void, !dbg !1312
}
; Function Attrs: inlinehint uwtable
define internal i32 @"_ZN3vec12Vec$LT$T$GT$3len21h15813106576946594911E"(%"3.collections::vec::Vec<u8>"* noalias readonly dereferenceable(12)) unnamed_addr #4 !dbg !583 {
entry-block:
%self = alloca %"3.collections::vec::Vec<u8>"*
store %"3.collections::vec::Vec<u8>"* %0, %"3.collections::vec::Vec<u8>"** %self, align 4
call void @llvm.dbg.declare(metadata %"3.collections::vec::Vec<u8>"** %self, metadata !1316, metadata !697), !dbg !1317
%1 = load %"3.collections::vec::Vec<u8>"*, %"3.collections::vec::Vec<u8>"** %self, align 4, !dbg !1318, !nonnull !66
%2 = getelementptr inbounds %"3.collections::vec::Vec<u8>", %"3.collections::vec::Vec<u8>"* %1, i32 0, i32 1, !dbg !1318
%3 = load i32, i32* %2, align 4, !dbg !1318
ret i32 %3, !dbg !1317
}
; Function Attrs: inlinehint uwtable
define internal void @_ZN3ptr5write21h14887600312958928695E(i8*, i8) unnamed_addr #4 !dbg !587 {
entry-block:
%dst = alloca i8*
%src = alloca i8
store i8* %0, i8** %dst, align 4
call void @llvm.dbg.declare(metadata i8** %dst, metadata !1320, metadata !697), !dbg !1321
store i8 %1, i8* %src, align 1
call void @llvm.dbg.declare(metadata i8* %src, metadata !1322, metadata !697), !dbg !1321
%2 = load i8*, i8** %dst, align 4, !dbg !1323
%3 = load i8, i8* %src, align 1, !dbg !1323
store i8 %3, i8* %2, align 1, !dbg !1323
ret void, !dbg !1321
}
; Function Attrs: inlinehint uwtable
define internal dereferenceable(1) i8* @"_ZN5slice12_$u5b$T$u5d$17get_unchecked_mut21h15089414117303700188E"(i8* noalias nonnull, i32, i32) unnamed_addr #4 !dbg !590 {
entry-block:
%self = alloca { i8*, i32 }
%index = alloca i32
%3 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %self, i32 0, i32 0
store i8* %0, i8** %3
%4 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %self, i32 0, i32 1
store i32 %1, i32* %4
call void @llvm.dbg.declare(metadata { i8*, i32 }* %self, metadata !1325, metadata !697), !dbg !1326
store i32 %2, i32* %index, align 4
call void @llvm.dbg.declare(metadata i32* %index, metadata !1327, metadata !697), !dbg !1326
%5 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %self, i32 0, i32 0, !dbg !1328
%6 = load i8*, i8** %5, !dbg !1328
%7 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %self, i32 0, i32 1, !dbg !1328
%8 = load i32, i32* %7, !dbg !1328
%9 = load i32, i32* %index, align 4, !dbg !1328
%10 = call dereferenceable(1) i8* @"_ZN5slice21_$u5b$T$u5d$.SliceExt17get_unchecked_mut20h7309439159474005341E"(i8* noalias nonnull %6, i32 %8, i32 %9), !dbg !1328
ret i8* %10, !dbg !1326
}
; Function Attrs: inlinehint uwtable
define internal dereferenceable(1) i8* @"_ZN5slice21_$u5b$T$u5d$.SliceExt17get_unchecked_mut20h7309439159474005341E"(i8* noalias nonnull, i32, i32) unnamed_addr #4 !dbg !593 {
entry-block:
%self = alloca { i8*, i32 }
%index = alloca i32
%3 = alloca i8*
%4 = alloca %"2.core::raw::Slice<u8>"
%5 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %self, i32 0, i32 0
store i8* %0, i8** %5
%6 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %self, i32 0, i32 1
store i32 %1, i32* %6
call void @llvm.dbg.declare(metadata { i8*, i32 }* %self, metadata !1330, metadata !697), !dbg !1331
store i32 %2, i32* %index, align 4
call void @llvm.dbg.declare(metadata i32* %index, metadata !1332, metadata !697), !dbg !1331
%7 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %self, i32 0, i32 0, !dbg !1333
%8 = load i8*, i8** %7, !dbg !1333
%9 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %self, i32 0, i32 1, !dbg !1333
%10 = load i32, i32* %9, !dbg !1333
call void @_ZN3raw4Repr4repr20h4935575796058035801E(%"2.core::raw::Slice<u8>"* noalias nocapture sret dereferenceable(8) %4, i8* noalias nonnull readonly %8, i32 %10), !dbg !1333
%11 = getelementptr inbounds %"2.core::raw::Slice<u8>", %"2.core::raw::Slice<u8>"* %4, i32 0, i32 0, !dbg !1333
%12 = load i8*, i8** %11, align 4, !dbg !1333
%13 = load i32, i32* %index, align 4, !dbg !1333
%14 = call i8* @"_ZN3ptr14_$BP$mut$u20$T6offset21h15595328266238240414E"(i8* %12, i32 %13), !dbg !1333
store i8* %14, i8** %3, align 4, !dbg !1333
%15 = load i8*, i8** %3, align 4, !dbg !1333
ret i8* %15, !dbg !1331
}
; Function Attrs: inlinehint uwtable
define internal i8 @_ZN5clone8u8.Clone5clone20h2db0526879e200ffmvCE(i8* noalias readonly dereferenceable(1)) unnamed_addr #4 !dbg !594 {
entry-block:
%self = alloca i8*
store i8* %0, i8** %self, align 4
call void @llvm.dbg.declare(metadata i8** %self, metadata !1335, metadata !697), !dbg !1336
%1 = load i8*, i8** %self, align 4, !dbg !1337, !nonnull !66
%2 = load i8, i8* %1, align 1, !dbg !1337
ret i8 %2, !dbg !1336
}
; Function Attrs: inlinehint uwtable
define internal dereferenceable(1) i8* @"_ZN5slice12_$u5b$T$u5d$13get_unchecked20h6084609100436049174E"(i8* noalias nonnull readonly, i32, i32) unnamed_addr #4 !dbg !601 {
entry-block:
%self = alloca { i8*, i32 }
%index = alloca i32
%3 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %self, i32 0, i32 0
store i8* %0, i8** %3
%4 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %self, i32 0, i32 1
store i32 %1, i32* %4
call void @llvm.dbg.declare(metadata { i8*, i32 }* %self, metadata !1339, metadata !697), !dbg !1340
store i32 %2, i32* %index, align 4
call void @llvm.dbg.declare(metadata i32* %index, metadata !1341, metadata !697), !dbg !1340
%5 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %self, i32 0, i32 0, !dbg !1342
%6 = load i8*, i8** %5, !dbg !1342
%7 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %self, i32 0, i32 1, !dbg !1342
%8 = load i32, i32* %7, !dbg !1342
%9 = load i32, i32* %index, align 4, !dbg !1342
%10 = call dereferenceable(1) i8* @"_ZN5slice21_$u5b$T$u5d$.SliceExt13get_unchecked19h562704173503775114E"(i8* noalias nonnull readonly %6, i32 %8, i32 %9), !dbg !1342
ret i8* %10, !dbg !1340
}
; Function Attrs: inlinehint uwtable
define internal dereferenceable(1) i8* @"_ZN5slice21_$u5b$T$u5d$.SliceExt13get_unchecked19h562704173503775114E"(i8* noalias nonnull readonly, i32, i32) unnamed_addr #4 !dbg !604 {
entry-block:
%self = alloca { i8*, i32 }
%index = alloca i32
%3 = alloca i8*
%4 = alloca %"2.core::raw::Slice<u8>"
%5 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %self, i32 0, i32 0
store i8* %0, i8** %5
%6 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %self, i32 0, i32 1
store i32 %1, i32* %6
call void @llvm.dbg.declare(metadata { i8*, i32 }* %self, metadata !1344, metadata !697), !dbg !1345
store i32 %2, i32* %index, align 4
call void @llvm.dbg.declare(metadata i32* %index, metadata !1346, metadata !697), !dbg !1345
%7 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %self, i32 0, i32 0, !dbg !1347
%8 = load i8*, i8** %7, !dbg !1347
%9 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %self, i32 0, i32 1, !dbg !1347
%10 = load i32, i32* %9, !dbg !1347
call void @_ZN3raw4Repr4repr20h4935575796058035801E(%"2.core::raw::Slice<u8>"* noalias nocapture sret dereferenceable(8) %4, i8* noalias nonnull readonly %8, i32 %10), !dbg !1347
%11 = getelementptr inbounds %"2.core::raw::Slice<u8>", %"2.core::raw::Slice<u8>"* %4, i32 0, i32 0, !dbg !1347
%12 = load i8*, i8** %11, align 4, !dbg !1347
%13 = load i32, i32* %index, align 4, !dbg !1347
%14 = call i8* @"_ZN3ptr16_$BP$const$u20$T6offset21h10339832903721798422E"(i8* %12, i32 %13), !dbg !1347
store i8* %14, i8** %3, align 4, !dbg !1347
%15 = load i8*, i8** %3, align 4, !dbg !1347
ret i8* %15, !dbg !1345
}
; Function Attrs: inlinehint uwtable
define internal i8* @"_ZN3ptr16_$BP$const$u20$T6offset21h10339832903721798422E"(i8*, i32) unnamed_addr #4 !dbg !605 {
entry-block:
%self = alloca i8*
%count = alloca i32
store i8* %0, i8** %self, align 4
call void @llvm.dbg.declare(metadata i8** %self, metadata !1349, metadata !697), !dbg !1350
store i32 %1, i32* %count, align 4
call void @llvm.dbg.declare(metadata i32* %count, metadata !1351, metadata !697), !dbg !1350
%2 = load i8*, i8** %self, align 4, !dbg !1352
%3 = load i32, i32* %count, align 4, !dbg !1352
%4 = getelementptr inbounds i8, i8* %2, i32 %3, !dbg !1352
ret i8* %4, !dbg !1350
}
; Function Attrs: inlinehint uwtable
define internal void @"_ZN3vec12Vec$LT$T$GT$7set_len21h13138265932041583276E"(%"3.collections::vec::Vec<u8>"* noalias dereferenceable(12), i32) unnamed_addr #4 !dbg !609 {
entry-block:
%self = alloca %"3.collections::vec::Vec<u8>"*
%len = alloca i32
store %"3.collections::vec::Vec<u8>"* %0, %"3.collections::vec::Vec<u8>"** %self, align 4
call void @llvm.dbg.declare(metadata %"3.collections::vec::Vec<u8>"** %self, metadata !1354, metadata !697), !dbg !1355
store i32 %1, i32* %len, align 4
call void @llvm.dbg.declare(metadata i32* %len, metadata !1356, metadata !697), !dbg !1355
%2 = load %"3.collections::vec::Vec<u8>"*, %"3.collections::vec::Vec<u8>"** %self, align 4, !dbg !1357, !nonnull !66
%3 = getelementptr inbounds %"3.collections::vec::Vec<u8>", %"3.collections::vec::Vec<u8>"* %2, i32 0, i32 1, !dbg !1357
%4 = load i32, i32* %len, align 4, !dbg !1357
store i32 %4, i32* %3, align 4, !dbg !1357
ret void, !dbg !1355
}
; Function Attrs: inlinehint uwtable
define internal { i8*, i32 } @_ZN3str10str.StrExt8as_bytes20hcb663ad99b67b00a2kTE(i8* noalias nonnull readonly, i32) unnamed_addr #4 !dbg !616 {
entry-block:
%sret_slot = alloca { i8*, i32 }
%self = alloca %str_slice
%2 = getelementptr inbounds %str_slice, %str_slice* %self, i32 0, i32 0
store i8* %0, i8** %2
%3 = getelementptr inbounds %str_slice, %str_slice* %self, i32 0, i32 1
store i32 %1, i32* %3
call void @llvm.dbg.declare(metadata %str_slice* %self, metadata !1359, metadata !697), !dbg !1360
%4 = bitcast { i8*, i32 }* %sret_slot to %str_slice*, !dbg !1361
%5 = bitcast %str_slice* %self to i8*, !dbg !1361
%6 = bitcast %str_slice* %4 to i8*, !dbg !1361
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %6, i8* %5, i32 8, i32 4, i1 false)
%7 = load { i8*, i32 }, { i8*, i32 }* %sret_slot, align 4
ret { i8*, i32 } %7, !dbg !1360
}
; Function Attrs: uwtable
define internal i8 @_ZN3fmt5Write10write_char20h5878443123188893383E(%"2.core::fmt::Write::write_fmt::Adapter<collections::string::String>"* noalias dereferenceable(4), i32) unnamed_addr #1 !dbg !619 {
entry-block:
%sret_slot.i = alloca %str_slice
%v.i = alloca { i8*, i32 }
call void @llvm.dbg.declare(metadata { i8*, i32 }* %v.i, metadata !1364, metadata !697), !dbg !1365
%sret_slot = alloca %"2.core::result::Result<(), core::fmt::Error>"
%self = alloca %"2.core::fmt::Write::write_fmt::Adapter<collections::string::String>"*
%c = alloca i32
%utf_8 = alloca [4 x i8]
%bytes_written = alloca i32
%2 = alloca %"2.core::option::Option<usize>"
%__coerce_target = alloca { i8*, i32 }
%3 = alloca %str_slice
%__coerce_target1 = alloca { i8*, i32 }
%4 = alloca %"2.core::ops::RangeTo<usize>"
%overloaded_index_elt = alloca { i8*, i32 }
store %"2.core::fmt::Write::write_fmt::Adapter<collections::string::String>"* %0, %"2.core::fmt::Write::write_fmt::Adapter<collections::string::String>"** %self, align 4
call void @llvm.dbg.declare(metadata %"2.core::fmt::Write::write_fmt::Adapter<collections::string::String>"** %self, metadata !1369, metadata !697), !dbg !1370
store i32 %1, i32* %c, align 4
call void @llvm.dbg.declare(metadata i32* %c, metadata !1371, metadata !697), !dbg !1370
%5 = getelementptr inbounds [4 x i8], [4 x i8]* %utf_8, i32 0, i32 0, !dbg !1372
br label %expr_repeat
expr_repeat: ; preds = %expr_repeat, %entry-block
%6 = phi i32 [ 0, %entry-block ], [ %8, %expr_repeat ]
%7 = getelementptr inbounds i8, i8* %5, i32 %6
store i8 0, i8* %7, align 1
%8 = add i32 %6, 1
%9 = icmp ult i32 %8, 4
br i1 %9, label %expr_repeat, label %"expr_repeat: next"
"expr_repeat: next": ; preds = %expr_repeat
call void @llvm.dbg.declare(metadata [4 x i8]* %utf_8, metadata !1373, metadata !697), !dbg !1372
%10 = load i32, i32* %c, align 4, !dbg !1377, !range !1378
%11 = bitcast [4 x i8]* %utf_8 to i8*
%12 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %__coerce_target, i32 0, i32 0
store i8* %11, i8** %12
%13 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %__coerce_target, i32 0, i32 1
store i32 4, i32* %13
%14 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %__coerce_target, i32 0, i32 0
%15 = load i8*, i8** %14
%16 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %__coerce_target, i32 0, i32 1
%17 = load i32, i32* %16
call void @_ZN4char12char.CharExt11encode_utf820h06c49ae681e3aa92uILE(%"2.core::option::Option<usize>"* noalias nocapture sret dereferenceable(8) %2, i32 %10, i8* noalias nonnull %15, i32 %17), !dbg !1377
%18 = call i32 @"_ZN6option15Option$LT$T$GT$9unwrap_or20h8530833250851131527E"(%"2.core::option::Option<usize>"* noalias nocapture dereferenceable(8) %2, i32 0), !dbg !1377
store i32 %18, i32* %bytes_written, align 4, !dbg !1377
call void @llvm.dbg.declare(metadata i32* %bytes_written, metadata !1379, metadata !697), !dbg !1377
%19 = load %"2.core::fmt::Write::write_fmt::Adapter<collections::string::String>"*, %"2.core::fmt::Write::write_fmt::Adapter<collections::string::String>"** %self, align 4, !dbg !1380, !nonnull !66
%20 = bitcast [4 x i8]* %utf_8 to i8*
%21 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %__coerce_target1, i32 0, i32 0
store i8* %20, i8** %21
%22 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %__coerce_target1, i32 0, i32 1
store i32 4, i32* %22
%23 = getelementptr inbounds %"2.core::ops::RangeTo<usize>", %"2.core::ops::RangeTo<usize>"* %4, i32 0, i32 0, !dbg !1381
%24 = load i32, i32* %bytes_written, align 4, !dbg !1381
store i32 %24, i32* %23, align 4, !dbg !1381
%25 = bitcast %"2.core::ops::RangeTo<usize>"* %4 to i32*, !dbg !1381
%26 = load i32, i32* %25, align 4, !dbg !1381
%27 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %__coerce_target1, i32 0, i32 0
%28 = load i8*, i8** %27
%29 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %__coerce_target1, i32 0, i32 1
%30 = load i32, i32* %29
%31 = call { i8*, i32 } @"_ZN5slice56_$u5b$T$u5d$.ops..Index$LT$ops..RangeTo$LT$usize$GT$$GT$5index20h4544449988696687175E"(i8* noalias nonnull readonly %28, i32 %30, i32 %26), !dbg !1381
%32 = extractvalue { i8*, i32 } %31, 0, !dbg !1381
%33 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %overloaded_index_elt, i32 0, i32 0, !dbg !1381
store i8* %32, i8** %33, !dbg !1381
%34 = extractvalue { i8*, i32 } %31, 1, !dbg !1381
%35 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %overloaded_index_elt, i32 0, i32 1, !dbg !1381
store i32 %34, i32* %35, !dbg !1381
%36 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %overloaded_index_elt, i32 0, i32 0, !dbg !1381
%37 = load i8*, i8** %36, !dbg !1381
%38 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %overloaded_index_elt, i32 0, i32 1, !dbg !1381
%39 = load i32, i32* %38, !dbg !1381
%40 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %v.i, i32 0, i32 0, !dbg !1381
store i8* %37, i8** %40, !dbg !1381, !noalias !1382
%41 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %v.i, i32 0, i32 1, !dbg !1381
store i32 %39, i32* %41, !dbg !1381, !noalias !1382
%42 = bitcast %str_slice* %sret_slot.i to { i8*, i32 }*, !dbg !1385
%43 = bitcast { i8*, i32 }* %v.i to i8*, !dbg !1385
%44 = bitcast { i8*, i32 }* %42 to i8*, !dbg !1385
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %44, i8* %43, i32 8, i32 4, i1 false), !dbg !1381, !noalias !1382
%45 = load %str_slice, %str_slice* %sret_slot.i, align 4, !dbg !1381, !noalias !1382
%46 = extractvalue %str_slice %45, 0, !dbg !1381
%47 = getelementptr inbounds %str_slice, %str_slice* %3, i32 0, i32 0, !dbg !1381
store i8* %46, i8** %47, !dbg !1381
%48 = extractvalue %str_slice %45, 1, !dbg !1381
%49 = getelementptr inbounds %str_slice, %str_slice* %3, i32 0, i32 1, !dbg !1381
store i32 %48, i32* %49, !dbg !1381
%50 = getelementptr inbounds %str_slice, %str_slice* %3, i32 0, i32 0, !dbg !1381
%51 = load i8*, i8** %50, !dbg !1381
%52 = getelementptr inbounds %str_slice, %str_slice* %3, i32 0, i32 1, !dbg !1381
%53 = load i32, i32* %52, !dbg !1381
%54 = call i8 @"_ZN3fmt5Write9write_fmt36Adapter$LT$$u27$a$C$$u20$T$GT$.Write9write_str21h12733192102844262257E"(%"2.core::fmt::Write::write_fmt::Adapter<collections::string::String>"* noalias dereferenceable(4) %19, i8* noalias nonnull readonly %51, i32 %53), !dbg !1380
%55 = bitcast %"2.core::result::Result<(), core::fmt::Error>"* %sret_slot to i8*, !dbg !1380
store i8 %54, i8* %55, align 1, !dbg !1380
%56 = bitcast %"2.core::result::Result<(), core::fmt::Error>"* %sret_slot to i8*, !dbg !1387
%57 = load i8, i8* %56, align 1, !dbg !1387
ret i8 %57, !dbg !1370
}
; Function Attrs: inlinehint uwtable
define internal i32 @"_ZN6option15Option$LT$T$GT$9unwrap_or20h8530833250851131527E"(%"2.core::option::Option<usize>"* noalias nocapture dereferenceable(8), i32) unnamed_addr #4 !dbg !624 {
entry-block:
%sret_slot = alloca i32
%self = alloca %"2.core::option::Option<usize>"
%def = alloca i32
%__llmatch = alloca i32*
%x = alloca i32
%2 = bitcast %"2.core::option::Option<usize>"* %0 to i8*
%3 = bitcast %"2.core::option::Option<usize>"* %self to i8*
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %3, i8* %2, i32 8, i32 4, i1 false)
call void @llvm.dbg.declare(metadata %"2.core::option::Option<usize>"* %self, metadata !1388, metadata !697), !dbg !1389
store i32 %1, i32* %def, align 4
call void @llvm.dbg.declare(metadata i32* %def, metadata !1390, metadata !697), !dbg !1389
%4 = getelementptr inbounds %"2.core::option::Option<usize>", %"2.core::option::Option<usize>"* %self, i32 0, i32 0
%5 = load i32, i32* %4, !range !708
switch i32 %5, label %match_else [
i32 1, label %match_case
i32 0, label %match_case2
]
case_body: ; preds = %match_case
%6 = load i32*, i32** %__llmatch
%7 = load i32, i32* %6, align 4
store i32 %7, i32* %x, align 4
call void @llvm.dbg.declare(metadata i32* %x, metadata !1391, metadata !697), !dbg !1394
%8 = load i32, i32* %x, align 4, !dbg !1394
store i32 %8, i32* %sret_slot, align 4, !dbg !1394
br label %join
case_body1: ; preds = %match_case2
%9 = load i32, i32* %def, align 4, !dbg !1395
store i32 %9, i32* %sret_slot, align 4, !dbg !1395
br label %join
match_else: ; preds = %entry-block
unreachable
match_case: ; preds = %entry-block
%10 = bitcast %"2.core::option::Option<usize>"* %self to { i32, i32 }*
%11 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %10, i32 0, i32 1
store i32* %11, i32** %__llmatch
br label %case_body
match_case2: ; preds = %entry-block
br label %case_body1
join: ; preds = %case_body1, %case_body
%12 = load i32, i32* %sret_slot, align 4
ret i32 %12, !dbg !1389
}
; Function Attrs: inlinehint uwtable
define internal void @_ZN4char12char.CharExt11encode_utf820h06c49ae681e3aa92uILE(%"2.core::option::Option<usize>"* noalias nocapture sret dereferenceable(8), i32, i8* noalias nonnull, i32) unnamed_addr #4 !dbg !627 {
entry-block:
%self = alloca i32
%dst = alloca { i8*, i32 }
store i32 %1, i32* %self, align 4
call void @llvm.dbg.declare(metadata i32* %self, metadata !1397, metadata !697), !dbg !1398
%4 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %dst, i32 0, i32 0
store i8* %2, i8** %4
%5 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %dst, i32 0, i32 1
store i32 %3, i32* %5
call void @llvm.dbg.declare(metadata { i8*, i32 }* %dst, metadata !1399, metadata !697), !dbg !1398
%6 = load i32, i32* %self, align 4, !dbg !1400, !range !1378
%7 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %dst, i32 0, i32 0, !dbg !1400
%8 = load i8*, i8** %7, !dbg !1400
%9 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %dst, i32 0, i32 1, !dbg !1400
%10 = load i32, i32* %9, !dbg !1400
call void @_ZN4char15encode_utf8_raw20h3e64ad80527e0f049ILE(%"2.core::option::Option<usize>"* noalias nocapture sret dereferenceable(8) %0, i32 %6, i8* noalias nonnull %8, i32 %10), !dbg !1400
ret void, !dbg !1398
}
; Function Attrs: inlinehint uwtable
define internal void @_ZN4char15encode_utf8_raw20h3e64ad80527e0f049ILE(%"2.core::option::Option<usize>"* noalias nocapture sret dereferenceable(8), i32, i8* noalias nonnull, i32) unnamed_addr #4 !dbg !633 {
entry-block:
%code = alloca i32
%dst = alloca { i8*, i32 }
%4 = alloca i8
%5 = alloca i32
%6 = alloca i32
%7 = alloca i32
store i32 %1, i32* %code, align 4
call void @llvm.dbg.declare(metadata i32* %code, metadata !1402, metadata !697), !dbg !1403
%8 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %dst, i32 0, i32 0
store i8* %2, i8** %8
%9 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %dst, i32 0, i32 1
store i32 %3, i32* %9
call void @llvm.dbg.declare(metadata { i8*, i32 }* %dst, metadata !1404, metadata !697), !dbg !1403
%10 = load i32, i32* %code, align 4, !dbg !1405
%11 = icmp ult i32 %10, 128, !dbg !1405
br i1 %11, label %before_rhs, label %join
join: ; preds = %before_rhs, %entry-block
%12 = phi i1 [ %11, %entry-block ], [ %21, %before_rhs ]
br i1 %12, label %then-block-22997-, label %else-block, !dbg !1405
before_rhs: ; preds = %entry-block
%13 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %dst, i32 0, i32 0, !dbg !1405
%14 = load i8*, i8** %13, !dbg !1405
%15 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %dst, i32 0, i32 1, !dbg !1405
%16 = load i32, i32* %15, !dbg !1405
%17 = call zeroext i1 @_ZN5slice8SliceExt8is_empty20h6582451840677550639E(i8* noalias nonnull readonly %14, i32 %16), !dbg !1405
%18 = zext i1 %17 to i8, !dbg !1405
store i8 %18, i8* %4, align 1, !dbg !1405
%19 = load i8, i8* %4, align 1, !dbg !1405, !range !775
%20 = trunc i8 %19 to i1, !dbg !1405
%21 = xor i1 %20, true, !dbg !1405
br label %join
then-block-22997-: ; preds = %join
%22 = load i32, i32* %code, align 4, !dbg !1407
%23 = trunc i32 %22 to i8, !dbg !1407
%24 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %dst, i32 0, i32 0, !dbg !1407
%25 = load i8*, i8** %24, !dbg !1407
%26 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %dst, i32 0, i32 1, !dbg !1407
%27 = load i32, i32* %26, !dbg !1407
%28 = icmp uge i32 0, %27, !dbg !1407
%29 = call i1 @llvm.expect.i1(i1 %28, i1 false), !dbg !1407
br i1 %29, label %cond, label %next
next: ; preds = %then-block-22997-
%30 = getelementptr inbounds i8, i8* %25, i32 0, !dbg !1407
store i8 %23, i8* %30, align 1, !dbg !1407
%31 = bitcast %"2.core::option::Option<usize>"* %0 to { i32, i32, [0 x i8] }*, !dbg !1409
%32 = bitcast { i32, i32, [0 x i8] }* %31 to i8*, !dbg !1409
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %32, i8* bitcast ({ i32, i32, [0 x i8] }* @const4792 to i8*), i32 8, i32 4, i1 false)
br label %join29
cond: ; preds = %then-block-22997-
call void @_ZN9panicking18panic_bounds_check20hb2449bafd7df92e7cYLE({ %str_slice, i32 }* noalias readonly dereferenceable(12) @panic_bounds_check_loc4790, i32 0, i32 %27), !dbg !1407
unreachable, !dbg !1407
else-block: ; preds = %join
%33 = load i32, i32* %code, align 4, !dbg !1410
%34 = icmp ult i32 %33, 2048, !dbg !1410
br i1 %34, label %before_rhs2, label %join1
join1: ; preds = %before_rhs2, %else-block
%35 = phi i1 [ %34, %else-block ], [ %42, %before_rhs2 ]
br i1 %35, label %then-block-23018-, label %else-block7, !dbg !1410
before_rhs2: ; preds = %else-block
%36 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %dst, i32 0, i32 0, !dbg !1410
%37 = load i8*, i8** %36, !dbg !1410
%38 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %dst, i32 0, i32 1, !dbg !1410
%39 = load i32, i32* %38, !dbg !1410
%40 = call i32 @"_ZN5slice21_$u5b$T$u5d$.SliceExt3len21h16633752308469926477E"(i8* noalias nonnull readonly %37, i32 %39), !dbg !1410
store i32 %40, i32* %5, align 4, !dbg !1410
%41 = load i32, i32* %5, align 4, !dbg !1410
%42 = icmp uge i32 %41, 2, !dbg !1410
br label %join1
then-block-23018-: ; preds = %join1
%43 = load i32, i32* %code, align 4, !dbg !1411
%44 = lshr i32 %43, 6, !dbg !1411
%45 = and i32 %44, 31, !dbg !1411
%46 = trunc i32 %45 to i8, !dbg !1411
%47 = or i8 %46, -64, !dbg !1411
%48 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %dst, i32 0, i32 0, !dbg !1411
%49 = load i8*, i8** %48, !dbg !1411
%50 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %dst, i32 0, i32 1, !dbg !1411
%51 = load i32, i32* %50, !dbg !1411
%52 = icmp uge i32 0, %51, !dbg !1411
%53 = call i1 @llvm.expect.i1(i1 %52, i1 false), !dbg !1411
br i1 %53, label %cond4, label %next3
next3: ; preds = %then-block-23018-
%54 = getelementptr inbounds i8, i8* %49, i32 0, !dbg !1411
store i8 %47, i8* %54, align 1, !dbg !1411
%55 = load i32, i32* %code, align 4, !dbg !1413
%56 = and i32 %55, 63, !dbg !1413
%57 = trunc i32 %56 to i8, !dbg !1413
%58 = or i8 %57, -128, !dbg !1413
%59 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %dst, i32 0, i32 0, !dbg !1413
%60 = load i8*, i8** %59, !dbg !1413
%61 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %dst, i32 0, i32 1, !dbg !1413
%62 = load i32, i32* %61, !dbg !1413
%63 = icmp uge i32 1, %62, !dbg !1413
%64 = call i1 @llvm.expect.i1(i1 %63, i1 false), !dbg !1413
br i1 %64, label %cond6, label %next5
cond4: ; preds = %then-block-23018-
call void @_ZN9panicking18panic_bounds_check20hb2449bafd7df92e7cYLE({ %str_slice, i32 }* noalias readonly dereferenceable(12) @panic_bounds_check_loc4797, i32 0, i32 %51), !dbg !1411
unreachable, !dbg !1411
next5: ; preds = %next3
%65 = getelementptr inbounds i8, i8* %60, i32 1, !dbg !1413
store i8 %58, i8* %65, align 1, !dbg !1413
%66 = bitcast %"2.core::option::Option<usize>"* %0 to { i32, i32, [0 x i8] }*, !dbg !1414
%67 = bitcast { i32, i32, [0 x i8] }* %66 to i8*, !dbg !1414
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %67, i8* bitcast ({ i32, i32, [0 x i8] }* @const4801 to i8*), i32 8, i32 4, i1 false)
br label %join28
cond6: ; preds = %next3
call void @_ZN9panicking18panic_bounds_check20hb2449bafd7df92e7cYLE({ %str_slice, i32 }* noalias readonly dereferenceable(12) @panic_bounds_check_loc4800, i32 1, i32 %62), !dbg !1413
unreachable, !dbg !1413
else-block7: ; preds = %join1
%68 = load i32, i32* %code, align 4, !dbg !1415
%69 = icmp ult i32 %68, 65536, !dbg !1415
br i1 %69, label %before_rhs9, label %join8
join8: ; preds = %before_rhs9, %else-block7
%70 = phi i1 [ %69, %else-block7 ], [ %77, %before_rhs9 ]
br i1 %70, label %then-block-23059-, label %else-block16, !dbg !1415
before_rhs9: ; preds = %else-block7
%71 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %dst, i32 0, i32 0, !dbg !1415
%72 = load i8*, i8** %71, !dbg !1415
%73 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %dst, i32 0, i32 1, !dbg !1415
%74 = load i32, i32* %73, !dbg !1415
%75 = call i32 @"_ZN5slice21_$u5b$T$u5d$.SliceExt3len21h16633752308469926477E"(i8* noalias nonnull readonly %72, i32 %74), !dbg !1415
store i32 %75, i32* %6, align 4, !dbg !1415
%76 = load i32, i32* %6, align 4, !dbg !1415
%77 = icmp uge i32 %76, 3, !dbg !1415
br label %join8
then-block-23059-: ; preds = %join8
%78 = load i32, i32* %code, align 4, !dbg !1416
%79 = lshr i32 %78, 12, !dbg !1416
%80 = and i32 %79, 15, !dbg !1416
%81 = trunc i32 %80 to i8, !dbg !1416
%82 = or i8 %81, -32, !dbg !1416
%83 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %dst, i32 0, i32 0, !dbg !1416
%84 = load i8*, i8** %83, !dbg !1416
%85 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %dst, i32 0, i32 1, !dbg !1416
%86 = load i32, i32* %85, !dbg !1416
%87 = icmp uge i32 0, %86, !dbg !1416
%88 = call i1 @llvm.expect.i1(i1 %87, i1 false), !dbg !1416
br i1 %88, label %cond11, label %next10
next10: ; preds = %then-block-23059-
%89 = getelementptr inbounds i8, i8* %84, i32 0, !dbg !1416
store i8 %82, i8* %89, align 1, !dbg !1416
%90 = load i32, i32* %code, align 4, !dbg !1418
%91 = lshr i32 %90, 6, !dbg !1418
%92 = and i32 %91, 63, !dbg !1418
%93 = trunc i32 %92 to i8, !dbg !1418
%94 = or i8 %93, -128, !dbg !1418
%95 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %dst, i32 0, i32 0, !dbg !1418
%96 = load i8*, i8** %95, !dbg !1418
%97 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %dst, i32 0, i32 1, !dbg !1418
%98 = load i32, i32* %97, !dbg !1418
%99 = icmp uge i32 1, %98, !dbg !1418
%100 = call i1 @llvm.expect.i1(i1 %99, i1 false), !dbg !1418
br i1 %100, label %cond13, label %next12
cond11: ; preds = %then-block-23059-
call void @_ZN9panicking18panic_bounds_check20hb2449bafd7df92e7cYLE({ %str_slice, i32 }* noalias readonly dereferenceable(12) @panic_bounds_check_loc4807, i32 0, i32 %86), !dbg !1416
unreachable, !dbg !1416
next12: ; preds = %next10
%101 = getelementptr inbounds i8, i8* %96, i32 1, !dbg !1418
store i8 %94, i8* %101, align 1, !dbg !1418
%102 = load i32, i32* %code, align 4, !dbg !1419
%103 = and i32 %102, 63, !dbg !1419
%104 = trunc i32 %103 to i8, !dbg !1419
%105 = or i8 %104, -128, !dbg !1419
%106 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %dst, i32 0, i32 0, !dbg !1419
%107 = load i8*, i8** %106, !dbg !1419
%108 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %dst, i32 0, i32 1, !dbg !1419
%109 = load i32, i32* %108, !dbg !1419
%110 = icmp uge i32 2, %109, !dbg !1419
%111 = call i1 @llvm.expect.i1(i1 %110, i1 false), !dbg !1419
br i1 %111, label %cond15, label %next14
cond13: ; preds = %next10
call void @_ZN9panicking18panic_bounds_check20hb2449bafd7df92e7cYLE({ %str_slice, i32 }* noalias readonly dereferenceable(12) @panic_bounds_check_loc4808, i32 1, i32 %98), !dbg !1418
unreachable, !dbg !1418
next14: ; preds = %next12
%112 = getelementptr inbounds i8, i8* %107, i32 2, !dbg !1419
store i8 %105, i8* %112, align 1, !dbg !1419
%113 = bitcast %"2.core::option::Option<usize>"* %0 to { i32, i32, [0 x i8] }*, !dbg !1420
%114 = bitcast { i32, i32, [0 x i8] }* %113 to i8*, !dbg !1420
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %114, i8* bitcast ({ i32, i32, [0 x i8] }* @const4810 to i8*), i32 8, i32 4, i1 false)
br label %join27
cond15: ; preds = %next12
call void @_ZN9panicking18panic_bounds_check20hb2449bafd7df92e7cYLE({ %str_slice, i32 }* noalias readonly dereferenceable(12) @panic_bounds_check_loc4809, i32 2, i32 %109), !dbg !1419
unreachable, !dbg !1419
else-block16: ; preds = %join8
%115 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %dst, i32 0, i32 0, !dbg !1421
%116 = load i8*, i8** %115, !dbg !1421
%117 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %dst, i32 0, i32 1, !dbg !1421
%118 = load i32, i32* %117, !dbg !1421
%119 = call i32 @"_ZN5slice21_$u5b$T$u5d$.SliceExt3len21h16633752308469926477E"(i8* noalias nonnull readonly %116, i32 %118), !dbg !1421
store i32 %119, i32* %7, align 4, !dbg !1421
%120 = load i32, i32* %7, align 4, !dbg !1421
%121 = icmp uge i32 %120, 4, !dbg !1421
br i1 %121, label %then-block-23111-, label %else-block25, !dbg !1421
then-block-23111-: ; preds = %else-block16
%122 = load i32, i32* %code, align 4, !dbg !1422
%123 = lshr i32 %122, 18, !dbg !1422
%124 = and i32 %123, 7, !dbg !1422
%125 = trunc i32 %124 to i8, !dbg !1422
%126 = or i8 %125, -16, !dbg !1422
%127 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %dst, i32 0, i32 0, !dbg !1422
%128 = load i8*, i8** %127, !dbg !1422
%129 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %dst, i32 0, i32 1, !dbg !1422
%130 = load i32, i32* %129, !dbg !1422
%131 = icmp uge i32 0, %130, !dbg !1422
%132 = call i1 @llvm.expect.i1(i1 %131, i1 false), !dbg !1422
br i1 %132, label %cond18, label %next17
next17: ; preds = %then-block-23111-
%133 = getelementptr inbounds i8, i8* %128, i32 0, !dbg !1422
store i8 %126, i8* %133, align 1, !dbg !1422
%134 = load i32, i32* %code, align 4, !dbg !1424
%135 = lshr i32 %134, 12, !dbg !1424
%136 = and i32 %135, 63, !dbg !1424
%137 = trunc i32 %136 to i8, !dbg !1424
%138 = or i8 %137, -128, !dbg !1424
%139 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %dst, i32 0, i32 0, !dbg !1424
%140 = load i8*, i8** %139, !dbg !1424
%141 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %dst, i32 0, i32 1, !dbg !1424
%142 = load i32, i32* %141, !dbg !1424
%143 = icmp uge i32 1, %142, !dbg !1424
%144 = call i1 @llvm.expect.i1(i1 %143, i1 false), !dbg !1424
br i1 %144, label %cond20, label %next19
cond18: ; preds = %then-block-23111-
call void @_ZN9panicking18panic_bounds_check20hb2449bafd7df92e7cYLE({ %str_slice, i32 }* noalias readonly dereferenceable(12) @panic_bounds_check_loc4815, i32 0, i32 %130), !dbg !1422
unreachable, !dbg !1422
next19: ; preds = %next17
%145 = getelementptr inbounds i8, i8* %140, i32 1, !dbg !1424
store i8 %138, i8* %145, align 1, !dbg !1424
%146 = load i32, i32* %code, align 4, !dbg !1425
%147 = lshr i32 %146, 6, !dbg !1425
%148 = and i32 %147, 63, !dbg !1425
%149 = trunc i32 %148 to i8, !dbg !1425
%150 = or i8 %149, -128, !dbg !1425
%151 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %dst, i32 0, i32 0, !dbg !1425
%152 = load i8*, i8** %151, !dbg !1425
%153 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %dst, i32 0, i32 1, !dbg !1425
%154 = load i32, i32* %153, !dbg !1425
%155 = icmp uge i32 2, %154, !dbg !1425
%156 = call i1 @llvm.expect.i1(i1 %155, i1 false), !dbg !1425
br i1 %156, label %cond22, label %next21
cond20: ; preds = %next17
call void @_ZN9panicking18panic_bounds_check20hb2449bafd7df92e7cYLE({ %str_slice, i32 }* noalias readonly dereferenceable(12) @panic_bounds_check_loc4816, i32 1, i32 %142), !dbg !1424
unreachable, !dbg !1424
next21: ; preds = %next19
%157 = getelementptr inbounds i8, i8* %152, i32 2, !dbg !1425
store i8 %150, i8* %157, align 1, !dbg !1425
%158 = load i32, i32* %code, align 4, !dbg !1426
%159 = and i32 %158, 63, !dbg !1426
%160 = trunc i32 %159 to i8, !dbg !1426
%161 = or i8 %160, -128, !dbg !1426
%162 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %dst, i32 0, i32 0, !dbg !1426
%163 = load i8*, i8** %162, !dbg !1426
%164 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %dst, i32 0, i32 1, !dbg !1426
%165 = load i32, i32* %164, !dbg !1426
%166 = icmp uge i32 3, %165, !dbg !1426
%167 = call i1 @llvm.expect.i1(i1 %166, i1 false), !dbg !1426
br i1 %167, label %cond24, label %next23
cond22: ; preds = %next19
call void @_ZN9panicking18panic_bounds_check20hb2449bafd7df92e7cYLE({ %str_slice, i32 }* noalias readonly dereferenceable(12) @panic_bounds_check_loc4817, i32 2, i32 %154), !dbg !1425
unreachable, !dbg !1425
next23: ; preds = %next21
%168 = getelementptr inbounds i8, i8* %163, i32 3, !dbg !1426
store i8 %161, i8* %168, align 1, !dbg !1426
%169 = bitcast %"2.core::option::Option<usize>"* %0 to { i32, i32, [0 x i8] }*, !dbg !1427
%170 = bitcast { i32, i32, [0 x i8] }* %169 to i8*, !dbg !1427
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %170, i8* bitcast ({ i32, i32, [0 x i8] }* @const4819 to i8*), i32 8, i32 4, i1 false)
br label %join26
cond24: ; preds = %next21
call void @_ZN9panicking18panic_bounds_check20hb2449bafd7df92e7cYLE({ %str_slice, i32 }* noalias readonly dereferenceable(12) @panic_bounds_check_loc4818, i32 3, i32 %165), !dbg !1426
unreachable, !dbg !1426
else-block25: ; preds = %else-block16
%171 = bitcast %"2.core::option::Option<usize>"* %0 to { i32, [4 x i8] }*, !dbg !1428
%172 = bitcast { i32, [4 x i8] }* %171 to i8*, !dbg !1428
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %172, i8* bitcast ({ i32, [4 x i8] }* @const4611 to i8*), i32 8, i32 4, i1 false)
br label %join26
join26: ; preds = %else-block25, %next23
br label %join27
join27: ; preds = %join26, %next14
br label %join28
join28: ; preds = %join27, %next5
br label %join29
join29: ; preds = %join28, %next
ret void, !dbg !1403
}
; Function Attrs: uwtable
define internal zeroext i1 @_ZN5slice8SliceExt8is_empty20h6582451840677550639E(i8* noalias nonnull readonly, i32) unnamed_addr #1 !dbg !636 {
entry-block:
%self = alloca { i8*, i32 }
%2 = alloca i32
%3 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %self, i32 0, i32 0
store i8* %0, i8** %3
%4 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %self, i32 0, i32 1
store i32 %1, i32* %4
call void @llvm.dbg.declare(metadata { i8*, i32 }* %self, metadata !1429, metadata !697), !dbg !1430
%5 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %self, i32 0, i32 0, !dbg !1431
%6 = load i8*, i8** %5, !dbg !1431
%7 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %self, i32 0, i32 1, !dbg !1431
%8 = load i32, i32* %7, !dbg !1431
%9 = call i32 @"_ZN5slice21_$u5b$T$u5d$.SliceExt3len21h16633752308469926477E"(i8* noalias nonnull readonly %6, i32 %8), !dbg !1431
store i32 %9, i32* %2, align 4, !dbg !1431
%10 = load i32, i32* %2, align 4, !dbg !1431
%11 = icmp eq i32 %10, 0, !dbg !1431
%12 = zext i1 %11 to i8, !dbg !1431
%13 = trunc i8 %12 to i1, !dbg !1431
ret i1 %13, !dbg !1430
}
; Function Attrs: cold noinline noreturn
declare void @_ZN9panicking18panic_bounds_check20hb2449bafd7df92e7cYLE({ %str_slice, i32 }* noalias readonly dereferenceable(12), i32, i32) unnamed_addr #6
; Function Attrs: inlinehint uwtable
define internal { i8*, i32 } @"_ZN5slice56_$u5b$T$u5d$.ops..Index$LT$ops..RangeTo$LT$usize$GT$$GT$5index20h4544449988696687175E"(i8* noalias nonnull readonly, i32, i32) unnamed_addr #4 !dbg !643 {
entry-block:
%sret_slot = alloca { i8*, i32 }
%self = alloca { i8*, i32 }
%index = alloca %"2.core::ops::RangeTo<usize>"
%3 = alloca %"2.core::ops::Range<usize>"
%4 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %self, i32 0, i32 0
store i8* %0, i8** %4
%5 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %self, i32 0, i32 1
store i32 %1, i32* %5
call void @llvm.dbg.declare(metadata { i8*, i32 }* %self, metadata !1433, metadata !697), !dbg !1434
%6 = bitcast %"2.core::ops::RangeTo<usize>"* %index to i32*
store i32 %2, i32* %6, align 4
call void @llvm.dbg.declare(metadata %"2.core::ops::RangeTo<usize>"* %index, metadata !1435, metadata !697), !dbg !1434
%7 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %self, i32 0, i32 0, !dbg !1436
%8 = load i8*, i8** %7, !dbg !1436
%9 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %self, i32 0, i32 1, !dbg !1436
%10 = load i32, i32* %9, !dbg !1436
%11 = getelementptr inbounds %"2.core::ops::Range<usize>", %"2.core::ops::Range<usize>"* %3, i32 0, i32 0, !dbg !1436
store i32 0, i32* %11, align 4, !dbg !1436
%12 = getelementptr inbounds %"2.core::ops::Range<usize>", %"2.core::ops::Range<usize>"* %3, i32 0, i32 1, !dbg !1436
%13 = getelementptr inbounds %"2.core::ops::RangeTo<usize>", %"2.core::ops::RangeTo<usize>"* %index, i32 0, i32 0, !dbg !1436
%14 = load i32, i32* %13, align 4, !dbg !1436
store i32 %14, i32* %12, align 4, !dbg !1436
%15 = call { i8*, i32 } @"_ZN5slice54_$u5b$T$u5d$.ops..Index$LT$ops..Range$LT$usize$GT$$GT$5index21h14253781914068754663E"(i8* noalias nonnull readonly %8, i32 %10, %"2.core::ops::Range<usize>"* noalias nocapture dereferenceable(8) %3), !dbg !1436
%16 = extractvalue { i8*, i32 } %15, 0, !dbg !1436
%17 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %sret_slot, i32 0, i32 0, !dbg !1436
store i8* %16, i8** %17, !dbg !1436
%18 = extractvalue { i8*, i32 } %15, 1, !dbg !1436
%19 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %sret_slot, i32 0, i32 1, !dbg !1436
store i32 %18, i32* %19, !dbg !1436
%20 = load { i8*, i32 }, { i8*, i32 }* %sret_slot, align 4, !dbg !1436
ret { i8*, i32 } %20, !dbg !1434
}
; Function Attrs: inlinehint uwtable
define internal { i8*, i32 } @"_ZN5slice54_$u5b$T$u5d$.ops..Index$LT$ops..Range$LT$usize$GT$$GT$5index21h14253781914068754663E"(i8* noalias nonnull readonly, i32, %"2.core::ops::Range<usize>"* noalias nocapture dereferenceable(8)) unnamed_addr #4 !dbg !647 {
entry-block:
%sret_slot = alloca { i8*, i32 }
%self = alloca { i8*, i32 }
%index = alloca %"2.core::ops::Range<usize>"
%3 = alloca i32
%4 = alloca i32
%5 = alloca i8*
%6 = alloca i8*
%7 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %self, i32 0, i32 0
store i8* %0, i8** %7
%8 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %self, i32 0, i32 1
store i32 %1, i32* %8
call void @llvm.dbg.declare(metadata { i8*, i32 }* %self, metadata !1438, metadata !697), !dbg !1439
%9 = bitcast %"2.core::ops::Range<usize>"* %2 to i8*
%10 = bitcast %"2.core::ops::Range<usize>"* %index to i8*
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %10, i8* %9, i32 8, i32 4, i1 false)
call void @llvm.dbg.declare(metadata %"2.core::ops::Range<usize>"* %index, metadata !1440, metadata !697), !dbg !1439
%11 = getelementptr inbounds %"2.core::ops::Range<usize>", %"2.core::ops::Range<usize>"* %index, i32 0, i32 0, !dbg !1441
%12 = load i32, i32* %11, align 4, !dbg !1441
%13 = getelementptr inbounds %"2.core::ops::Range<usize>", %"2.core::ops::Range<usize>"* %index, i32 0, i32 1, !dbg !1441
%14 = load i32, i32* %13, align 4, !dbg !1441
%15 = icmp ugt i32 %12, %14, !dbg !1441
br i1 %15, label %then-block-23271-, label %else-block, !dbg !1441
then-block-23271-: ; preds = %entry-block
%16 = getelementptr inbounds %"2.core::ops::Range<usize>", %"2.core::ops::Range<usize>"* %index, i32 0, i32 0, !dbg !1443
%17 = load i32, i32* %16, align 4, !dbg !1443
%18 = getelementptr inbounds %"2.core::ops::Range<usize>", %"2.core::ops::Range<usize>"* %index, i32 0, i32 1, !dbg !1443
%19 = load i32, i32* %18, align 4, !dbg !1443
call void @_ZN5slice22slice_index_order_fail20h8433852ab9430022mGPE(i32 %17, i32 %19), !dbg !1443
unreachable, !dbg !1443
else-block: ; preds = %entry-block
%20 = getelementptr inbounds %"2.core::ops::Range<usize>", %"2.core::ops::Range<usize>"* %index, i32 0, i32 1, !dbg !1445
%21 = load i32, i32* %20, align 4, !dbg !1445
%22 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %self, i32 0, i32 0, !dbg !1445
%23 = load i8*, i8** %22, !dbg !1445
%24 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %self, i32 0, i32 1, !dbg !1445
%25 = load i32, i32* %24, !dbg !1445
%26 = call i32 @"_ZN5slice21_$u5b$T$u5d$.SliceExt3len21h16633752308469926477E"(i8* noalias nonnull readonly %23, i32 %25), !dbg !1445
store i32 %26, i32* %3, align 4, !dbg !1445
%27 = load i32, i32* %3, align 4, !dbg !1445
%28 = icmp ugt i32 %21, %27, !dbg !1445
br i1 %28, label %then-block-23285-, label %next-block, !dbg !1445
then-block-23285-: ; preds = %else-block
%29 = getelementptr inbounds %"2.core::ops::Range<usize>", %"2.core::ops::Range<usize>"* %index, i32 0, i32 1, !dbg !1446
%30 = load i32, i32* %29, align 4, !dbg !1446
%31 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %self, i32 0, i32 0, !dbg !1446
%32 = load i8*, i8** %31, !dbg !1446
%33 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %self, i32 0, i32 1, !dbg !1446
%34 = load i32, i32* %33, !dbg !1446
%35 = call i32 @"_ZN5slice21_$u5b$T$u5d$.SliceExt3len21h16633752308469926477E"(i8* noalias nonnull readonly %32, i32 %34), !dbg !1446
store i32 %35, i32* %4, align 4, !dbg !1446
%36 = load i32, i32* %4, align 4, !dbg !1446
call void @_ZN5slice20slice_index_len_fail20h336680cbaa3241b9mFPE(i32 %30, i32 %36), !dbg !1446
unreachable, !dbg !1446
next-block: ; preds = %else-block
br label %join
join: ; preds = %next-block
%37 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %self, i32 0, i32 0, !dbg !1448
%38 = load i8*, i8** %37, !dbg !1448
%39 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %self, i32 0, i32 1, !dbg !1448
%40 = load i32, i32* %39, !dbg !1448
%41 = call i8* @"_ZN5slice21_$u5b$T$u5d$.SliceExt6as_ptr21h10651534113978103158E"(i8* noalias nonnull readonly %38, i32 %40), !dbg !1448
store i8* %41, i8** %6, align 4, !dbg !1448
%42 = load i8*, i8** %6, align 4, !dbg !1448
%43 = getelementptr inbounds %"2.core::ops::Range<usize>", %"2.core::ops::Range<usize>"* %index, i32 0, i32 0, !dbg !1448
%44 = load i32, i32* %43, align 4, !dbg !1448
%45 = call i8* @"_ZN3ptr16_$BP$const$u20$T6offset21h10339832903721798422E"(i8* %42, i32 %44), !dbg !1448
store i8* %45, i8** %5, align 4, !dbg !1448
%46 = load i8*, i8** %5, align 4, !dbg !1448
%47 = getelementptr inbounds %"2.core::ops::Range<usize>", %"2.core::ops::Range<usize>"* %index, i32 0, i32 1, !dbg !1450
%48 = load i32, i32* %47, align 4, !dbg !1450
%49 = getelementptr inbounds %"2.core::ops::Range<usize>", %"2.core::ops::Range<usize>"* %index, i32 0, i32 0, !dbg !1450
%50 = load i32, i32* %49, align 4, !dbg !1450
%51 = call { i32, i1 } @llvm.usub.with.overflow.i32(i32 %48, i32 %50), !dbg !1450
%52 = extractvalue { i32, i1 } %51, 0, !dbg !1450
%53 = extractvalue { i32, i1 } %51, 1, !dbg !1450
%54 = icmp eq i1 %53, true, !dbg !1450
%55 = call i1 @llvm.expect.i1(i1 %54, i1 false), !dbg !1450
br i1 %54, label %cond, label %next
next: ; preds = %join
%56 = call { i8*, i32 } @_ZN5slice14from_raw_parts21h18206183642262789258E(i8* %46, i32 %52), !dbg !1451
%57 = extractvalue { i8*, i32 } %56, 0, !dbg !1451
%58 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %sret_slot, i32 0, i32 0, !dbg !1451
store i8* %57, i8** %58, !dbg !1451
%59 = extractvalue { i8*, i32 } %56, 1, !dbg !1451
%60 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %sret_slot, i32 0, i32 1, !dbg !1451
store i32 %59, i32* %60, !dbg !1451
%61 = load { i8*, i32 }, { i8*, i32 }* %sret_slot, align 4, !dbg !1451
ret { i8*, i32 } %61, !dbg !1439
cond: ; preds = %join
call void @_ZN9panicking5panic20ha43e303ff6444f51DXLE({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(20) @panic_loc4854), !dbg !1450
unreachable, !dbg !1450
}
; Function Attrs: cold noinline noreturn
declare void @_ZN5slice22slice_index_order_fail20h8433852ab9430022mGPE(i32, i32) unnamed_addr #6
; Function Attrs: cold noinline noreturn
declare void @_ZN5slice20slice_index_len_fail20h336680cbaa3241b9mFPE(i32, i32) unnamed_addr #6
; Function Attrs: inlinehint uwtable
define internal { i8*, i32 } @_ZN5slice14from_raw_parts21h18206183642262789258E(i8*, i32) unnamed_addr #4 !dbg !651 {
entry-block:
%sret_slot = alloca { i8*, i32 }
%p = alloca i8*
%len = alloca i32
store i8* %0, i8** %p, align 4
call void @llvm.dbg.declare(metadata i8** %p, metadata !1452, metadata !697), !dbg !1453
store i32 %1, i32* %len, align 4
call void @llvm.dbg.declare(metadata i32* %len, metadata !1454, metadata !697), !dbg !1453
%2 = bitcast { i8*, i32 }* %sret_slot to %"2.core::raw::Slice<u8>"*, !dbg !1455
%3 = getelementptr inbounds %"2.core::raw::Slice<u8>", %"2.core::raw::Slice<u8>"* %2, i32 0, i32 0, !dbg !1455
%4 = load i8*, i8** %p, align 4, !dbg !1455
store i8* %4, i8** %3, align 4, !dbg !1455
%5 = getelementptr inbounds %"2.core::raw::Slice<u8>", %"2.core::raw::Slice<u8>"* %2, i32 0, i32 1, !dbg !1455
%6 = load i32, i32* %len, align 4, !dbg !1455
store i32 %6, i32* %5, align 4, !dbg !1455
%7 = load { i8*, i32 }, { i8*, i32 }* %sret_slot, align 4, !dbg !1455
ret { i8*, i32 } %7, !dbg !1453
}
; Function Attrs: inlinehint uwtable
define internal i8* @"_ZN5slice21_$u5b$T$u5d$.SliceExt6as_ptr21h10651534113978103158E"(i8* noalias nonnull readonly, i32) unnamed_addr #4 !dbg !654 {
entry-block:
%self = alloca { i8*, i32 }
%2 = alloca %"2.core::raw::Slice<u8>"
%3 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %self, i32 0, i32 0
store i8* %0, i8** %3
%4 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %self, i32 0, i32 1
store i32 %1, i32* %4
call void @llvm.dbg.declare(metadata { i8*, i32 }* %self, metadata !1457, metadata !697), !dbg !1458
%5 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %self, i32 0, i32 0, !dbg !1459
%6 = load i8*, i8** %5, !dbg !1459
%7 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %self, i32 0, i32 1, !dbg !1459
%8 = load i32, i32* %7, !dbg !1459
call void @_ZN3raw4Repr4repr20h4935575796058035801E(%"2.core::raw::Slice<u8>"* noalias nocapture sret dereferenceable(8) %2, i8* noalias nonnull readonly %6, i32 %8), !dbg !1459
%9 = getelementptr inbounds %"2.core::raw::Slice<u8>", %"2.core::raw::Slice<u8>"* %2, i32 0, i32 0, !dbg !1459
%10 = load i8*, i8** %9, align 4, !dbg !1459
ret i8* %10, !dbg !1458
}
; Function Attrs: nounwind readnone
declare { i32, i1 } @llvm.usub.with.overflow.i32(i32, i32) #3
; Function Attrs: uwtable
define internal i8 @"_ZN3fmt5Write9write_fmt36Adapter$LT$$u27$a$C$$u20$T$GT$.Write9write_fmt21h10470642070619943704E"(%"2.core::fmt::Write::write_fmt::Adapter<collections::string::String>"* noalias dereferenceable(4), %"2.core::fmt::Arguments"* noalias nocapture dereferenceable(24)) unnamed_addr #1 !dbg !657 {
entry-block:
%sret_slot = alloca %"2.core::result::Result<(), core::fmt::Error>"
%self = alloca %"2.core::fmt::Write::write_fmt::Adapter<collections::string::String>"*
%args = alloca %"2.core::fmt::Arguments"
%arg = alloca %"2.core::fmt::Arguments"
store %"2.core::fmt::Write::write_fmt::Adapter<collections::string::String>"* %0, %"2.core::fmt::Write::write_fmt::Adapter<collections::string::String>"** %self, align 4
call void @llvm.dbg.declare(metadata %"2.core::fmt::Write::write_fmt::Adapter<collections::string::String>"** %self, metadata !1461, metadata !697), !dbg !1462
%2 = bitcast %"2.core::fmt::Arguments"* %1 to i8*
%3 = bitcast %"2.core::fmt::Arguments"* %args to i8*
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %3, i8* %2, i32 24, i32 4, i1 false)
call void @llvm.dbg.declare(metadata %"2.core::fmt::Arguments"* %args, metadata !1463, metadata !697), !dbg !1462
%4 = load %"2.core::fmt::Write::write_fmt::Adapter<collections::string::String>"*, %"2.core::fmt::Write::write_fmt::Adapter<collections::string::String>"** %self, align 4, !dbg !1464, !nonnull !66
%5 = getelementptr inbounds %"2.core::fmt::Write::write_fmt::Adapter<collections::string::String>", %"2.core::fmt::Write::write_fmt::Adapter<collections::string::String>"* %4, i32 0, i32 0, !dbg !1464
%6 = load %"3.collections::string::String"*, %"3.collections::string::String"** %5, align 4, !dbg !1464, !nonnull !66
%7 = bitcast %"2.core::fmt::Arguments"* %args to i8*
%8 = bitcast %"2.core::fmt::Arguments"* %arg to i8*
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %8, i8* %7, i32 24, i32 4, i1 false)
%9 = call i8 @_ZN3fmt5Write9write_fmt21h11464124867530320343E(%"3.collections::string::String"* noalias dereferenceable(12) %6, %"2.core::fmt::Arguments"* noalias nocapture dereferenceable(24) %arg), !dbg !1464
%10 = bitcast %"2.core::result::Result<(), core::fmt::Error>"* %sret_slot to i8*, !dbg !1464
store i8 %9, i8* %10, align 1, !dbg !1464
%11 = bitcast %"2.core::result::Result<(), core::fmt::Error>"* %sret_slot to i8*, !dbg !1464
%12 = load i8, i8* %11, align 1, !dbg !1464
ret i8 %12, !dbg !1462
}
; Function Attrs: inlinehint uwtable
define internal void @_ZN6string6String13shrink_to_fit20h537e9fc577baa2bcUrfE(%"3.collections::string::String"* noalias dereferenceable(12)) unnamed_addr #4 !dbg !660 {
entry-block:
%self = alloca %"3.collections::string::String"*
store %"3.collections::string::String"* %0, %"3.collections::string::String"** %self, align 4
call void @llvm.dbg.declare(metadata %"3.collections::string::String"** %self, metadata !1466, metadata !697), !dbg !1467
%1 = load %"3.collections::string::String"*, %"3.collections::string::String"** %self, align 4, !dbg !1468, !nonnull !66
%2 = getelementptr inbounds %"3.collections::string::String", %"3.collections::string::String"* %1, i32 0, i32 0, !dbg !1468
call void @"_ZN3vec12Vec$LT$T$GT$13shrink_to_fit20h9839907658178120552E"(%"3.collections::vec::Vec<u8>"* noalias dereferenceable(12) %2), !dbg !1468
ret void, !dbg !1467
}
; Function Attrs: uwtable
define internal void @"_ZN3vec12Vec$LT$T$GT$13shrink_to_fit20h9839907658178120552E"(%"3.collections::vec::Vec<u8>"* noalias dereferenceable(12)) unnamed_addr #1 !dbg !663 {
entry-block:
%self = alloca %"3.collections::vec::Vec<u8>"*
store %"3.collections::vec::Vec<u8>"* %0, %"3.collections::vec::Vec<u8>"** %self, align 4
call void @llvm.dbg.declare(metadata %"3.collections::vec::Vec<u8>"** %self, metadata !1470, metadata !697), !dbg !1471
%1 = load %"3.collections::vec::Vec<u8>"*, %"3.collections::vec::Vec<u8>"** %self, align 4, !dbg !1472, !nonnull !66
%2 = getelementptr inbounds %"3.collections::vec::Vec<u8>", %"3.collections::vec::Vec<u8>"* %1, i32 0, i32 0, !dbg !1472
%3 = load %"3.collections::vec::Vec<u8>"*, %"3.collections::vec::Vec<u8>"** %self, align 4, !dbg !1472, !nonnull !66
%4 = getelementptr inbounds %"3.collections::vec::Vec<u8>", %"3.collections::vec::Vec<u8>"* %3, i32 0, i32 1, !dbg !1472
%5 = load i32, i32* %4, align 4, !dbg !1472
call void @"_ZN7raw_vec15RawVec$LT$T$GT$13shrink_to_fit20h6317100302587755077E"(%"5.alloc::raw_vec::RawVec<u8>"* noalias dereferenceable(8) %2, i32 %5), !dbg !1472
ret void, !dbg !1471
}
; Function Attrs: uwtable
define internal void @"_ZN7raw_vec15RawVec$LT$T$GT$13shrink_to_fit20h6317100302587755077E"(%"5.alloc::raw_vec::RawVec<u8>"* noalias dereferenceable(8), i32) unnamed_addr #1 !dbg !664 {
entry-block:
%self = alloca %"5.alloc::raw_vec::RawVec<u8>"*
%amount = alloca i32
%elem_size = alloca i32
%align = alloca i32
%2 = alloca %"5.alloc::raw_vec::RawVec<u8>"
%3 = alloca %"5.alloc::raw_vec::RawVec<u8>"
%ptr = alloca i8*
%4 = alloca i8*
%5 = alloca i8
%6 = alloca %"2.core::ptr::Unique<u8>"
store %"5.alloc::raw_vec::RawVec<u8>"* %0, %"5.alloc::raw_vec::RawVec<u8>"** %self, align 4
call void @llvm.dbg.declare(metadata %"5.alloc::raw_vec::RawVec<u8>"** %self, metadata !1474, metadata !697), !dbg !1475
store i32 %1, i32* %amount, align 4
call void @llvm.dbg.declare(metadata i32* %amount, metadata !1476, metadata !697), !dbg !1475
%7 = call i32 @_ZN3mem7size_of20h4287011132594631077E(), !dbg !1477
store i32 %7, i32* %elem_size, align 4, !dbg !1477
call void @llvm.dbg.declare(metadata i32* %elem_size, metadata !1479, metadata !697), !dbg !1477
%8 = call i32 @_ZN3mem8align_of18h73107983397076033E(), !dbg !1480
store i32 %8, i32* %align, align 4, !dbg !1480
call void @llvm.dbg.declare(metadata i32* %align, metadata !1481, metadata !697), !dbg !1480
%9 = load i32, i32* %elem_size, align 4, !dbg !1482
%10 = icmp eq i32 %9, 0, !dbg !1482
br i1 %10, label %then-block-23408-, label %next-block, !dbg !1482
then-block-23408-: ; preds = %entry-block
%11 = load %"5.alloc::raw_vec::RawVec<u8>"*, %"5.alloc::raw_vec::RawVec<u8>"** %self, align 4, !dbg !1483, !nonnull !66
%12 = getelementptr inbounds %"5.alloc::raw_vec::RawVec<u8>", %"5.alloc::raw_vec::RawVec<u8>"* %11, i32 0, i32 1, !dbg !1483
%13 = load i32, i32* %amount, align 4, !dbg !1483
store i32 %13, i32* %12, align 4, !dbg !1483
br label %clean_ast_23390_, !dbg !1485
clean_ast_23390_: ; preds = %then-block-23408-
br label %return
next-block: ; preds = %entry-block
%14 = load %"5.alloc::raw_vec::RawVec<u8>"*, %"5.alloc::raw_vec::RawVec<u8>"** %self, align 4, !dbg !1486, !nonnull !66
%15 = getelementptr inbounds %"5.alloc::raw_vec::RawVec<u8>", %"5.alloc::raw_vec::RawVec<u8>"* %14, i32 0, i32 1, !dbg !1486
%16 = load i32, i32* %15, align 4, !dbg !1486
%17 = load i32, i32* %amount, align 4, !dbg !1486
%18 = icmp uge i32 %16, %17, !dbg !1486
%19 = xor i1 %18, true, !dbg !1487
br i1 %19, label %then-block-23423-, label %next-block1, !dbg !1487
then-block-23423-: ; preds = %next-block
call void @_ZN9panicking5panic20ha43e303ff6444f51DXLE({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(20) @"_ZN7raw_vec15RawVec$LT$T$GT$13shrink_to_fit14_MSG_FILE_LINE20h274bf01c755e7ebeRvbE"), !dbg !1488
unreachable, !dbg !1488
next-block1: ; preds = %next-block
%20 = load i32, i32* %amount, align 4, !dbg !1491
%21 = icmp eq i32 %20, 0, !dbg !1491
br i1 %21, label %then-block-23448-, label %else-block, !dbg !1491
then-block-23448-: ; preds = %next-block1
%22 = load %"5.alloc::raw_vec::RawVec<u8>"*, %"5.alloc::raw_vec::RawVec<u8>"** %self, align 4, !dbg !1492, !nonnull !66
call void @"_ZN7raw_vec15RawVec$LT$T$GT$3new20h8453505184764814838E"(%"5.alloc::raw_vec::RawVec<u8>"* noalias nocapture sret dereferenceable(8) %3), !dbg !1492
call void @_ZN3mem7replace20h6290037125517577719E(%"5.alloc::raw_vec::RawVec<u8>"* noalias nocapture sret dereferenceable(8) %2, %"5.alloc::raw_vec::RawVec<u8>"* noalias dereferenceable(8) %22, %"5.alloc::raw_vec::RawVec<u8>"* noalias nocapture dereferenceable(8) %3), !dbg !1492
call void @"_ZN32alloc..raw_vec..RawVec$LT$u8$GT$9drop.443217hb927a3f2979b0f32E"(%"5.alloc::raw_vec::RawVec<u8>"* %2), !dbg !1492
br label %join
else-block: ; preds = %next-block1
%23 = load %"5.alloc::raw_vec::RawVec<u8>"*, %"5.alloc::raw_vec::RawVec<u8>"** %self, align 4, !dbg !1494, !nonnull !66
%24 = getelementptr inbounds %"5.alloc::raw_vec::RawVec<u8>", %"5.alloc::raw_vec::RawVec<u8>"* %23, i32 0, i32 1, !dbg !1494
%25 = load i32, i32* %24, align 4, !dbg !1494
%26 = load i32, i32* %amount, align 4, !dbg !1494
%27 = icmp ne i32 %25, %26, !dbg !1494
br i1 %27, label %then-block-23460-, label %next-block5, !dbg !1494
then-block-23460-: ; preds = %else-block
%28 = load %"5.alloc::raw_vec::RawVec<u8>"*, %"5.alloc::raw_vec::RawVec<u8>"** %self, align 4, !dbg !1495, !nonnull !66
%29 = call i8* @"_ZN7raw_vec15RawVec$LT$T$GT$3ptr20h2379132537314846121E"(%"5.alloc::raw_vec::RawVec<u8>"* noalias readonly dereferenceable(8) %28), !dbg !1495
store i8* %29, i8** %4, align 4, !dbg !1495
%30 = load i8*, i8** %4, align 4, !dbg !1495
%31 = load %"5.alloc::raw_vec::RawVec<u8>"*, %"5.alloc::raw_vec::RawVec<u8>"** %self, align 4, !dbg !1498, !nonnull !66
%32 = getelementptr inbounds %"5.alloc::raw_vec::RawVec<u8>", %"5.alloc::raw_vec::RawVec<u8>"* %31, i32 0, i32 1, !dbg !1498
%33 = load i32, i32* %32, align 4, !dbg !1498
%34 = load i32, i32* %elem_size, align 4, !dbg !1498
%35 = call { i32, i1 } @llvm.umul.with.overflow.i32(i32 %33, i32 %34), !dbg !1498
%36 = extractvalue { i32, i1 } %35, 0, !dbg !1498
%37 = extractvalue { i32, i1 } %35, 1, !dbg !1498
%38 = icmp eq i1 %37, true, !dbg !1498
%39 = call i1 @llvm.expect.i1(i1 %38, i1 false), !dbg !1498
br i1 %38, label %cond, label %next
next: ; preds = %then-block-23460-
%40 = load i32, i32* %amount, align 4, !dbg !1499
%41 = load i32, i32* %elem_size, align 4, !dbg !1499
%42 = call { i32, i1 } @llvm.umul.with.overflow.i32(i32 %40, i32 %41), !dbg !1499
%43 = extractvalue { i32, i1 } %42, 0, !dbg !1499
%44 = extractvalue { i32, i1 } %42, 1, !dbg !1499
%45 = icmp eq i1 %44, true, !dbg !1499
%46 = call i1 @llvm.expect.i1(i1 %45, i1 false), !dbg !1499
br i1 %45, label %cond3, label %next2
cond: ; preds = %then-block-23460-
call void @_ZN9panicking5panic20ha43e303ff6444f51DXLE({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(20) @panic_loc4893), !dbg !1498
unreachable, !dbg !1498
next2: ; preds = %next
%47 = load i32, i32* %align, align 4, !dbg !1500
%48 = call i8* @_ZN4heap10reallocate20h9836efcd8034d293ceaE(i8* %30, i32 %36, i32 %43, i32 %47), !dbg !1495
store i8* %48, i8** %ptr, align 4, !dbg !1495
call void @llvm.dbg.declare(metadata i8** %ptr, metadata !1501, metadata !697), !dbg !1495
%49 = load i8*, i8** %ptr, align 4, !dbg !1502
%50 = call zeroext i1 @"_ZN3ptr14_$BP$mut$u20$T7is_null20h7642413959157819658E"(i8* %49), !dbg !1502
%51 = zext i1 %50 to i8, !dbg !1502
store i8 %51, i8* %5, align 1, !dbg !1502
%52 = load i8, i8* %5, align 1, !dbg !1502, !range !775
%53 = trunc i8 %52 to i1, !dbg !1502
br i1 %53, label %then-block-23486-, label %next-block4, !dbg !1502
cond3: ; preds = %next
call void @_ZN9panicking5panic20ha43e303ff6444f51DXLE({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(20) @panic_loc4894), !dbg !1499
unreachable, !dbg !1499
then-block-23486-: ; preds = %next2
call void @_ZN3oom3oom20hc9548a4043ae6aa0PzbE(), !dbg !1503
unreachable, !dbg !1503
next-block4: ; preds = %next2
%54 = load i8*, i8** %ptr, align 4, !dbg !1505
%55 = call i32 @"_ZN3ptr15Unique$LT$T$GT$3new20h2274235128004638462E"(i8* %54), !dbg !1505
%56 = bitcast %"2.core::ptr::Unique<u8>"* %6 to i32*, !dbg !1505
store i32 %55, i32* %56, align 4, !dbg !1505
%57 = bitcast %"2.core::ptr::Unique<u8>"* %6 to i32*, !dbg !1505
%58 = load i32, i32* %57, align 4, !dbg !1505
%59 = load %"5.alloc::raw_vec::RawVec<u8>"*, %"5.alloc::raw_vec::RawVec<u8>"** %self, align 4, !dbg !1505, !nonnull !66
%60 = getelementptr inbounds %"5.alloc::raw_vec::RawVec<u8>", %"5.alloc::raw_vec::RawVec<u8>"* %59, i32 0, i32 0, !dbg !1505
%61 = bitcast %"2.core::ptr::Unique<u8>"* %60 to i32*, !dbg !1505
store i32 %58, i32* %61, align 4, !dbg !1505
%62 = load %"5.alloc::raw_vec::RawVec<u8>"*, %"5.alloc::raw_vec::RawVec<u8>"** %self, align 4, !dbg !1506, !nonnull !66
%63 = getelementptr inbounds %"5.alloc::raw_vec::RawVec<u8>", %"5.alloc::raw_vec::RawVec<u8>"* %62, i32 0, i32 1, !dbg !1506
%64 = load i32, i32* %amount, align 4, !dbg !1506
store i32 %64, i32* %63, align 4, !dbg !1506
br label %next-block5
next-block5: ; preds = %else-block, %next-block4
br label %join
join: ; preds = %next-block5, %then-block-23448-
br label %return
return: ; preds = %join, %clean_ast_23390_
ret void, !dbg !1475
}
; Function Attrs: inlinehint uwtable
define internal void @_ZN3mem7replace20h6290037125517577719E(%"5.alloc::raw_vec::RawVec<u8>"* noalias nocapture sret dereferenceable(8), %"5.alloc::raw_vec::RawVec<u8>"* noalias dereferenceable(8), %"5.alloc::raw_vec::RawVec<u8>"* noalias nocapture dereferenceable(8)) unnamed_addr #4 personality i32 (i32, i32, i64, %"1.std::sys_common::libunwind::_Unwind_Exception"*, %"1.std::sys_common::libunwind::_Unwind_Context"*)* @rust_eh_personality !dbg !667 {
entry-block:
%dest = alloca %"5.alloc::raw_vec::RawVec<u8>"*
%src = alloca %"5.alloc::raw_vec::RawVec<u8>"
%3 = alloca { i8*, i32 }
store %"5.alloc::raw_vec::RawVec<u8>"* %1, %"5.alloc::raw_vec::RawVec<u8>"** %dest, align 4
call void @llvm.dbg.declare(metadata %"5.alloc::raw_vec::RawVec<u8>"** %dest, metadata !1507, metadata !697), !dbg !1508
%4 = bitcast %"5.alloc::raw_vec::RawVec<u8>"* %2 to i8*
%5 = bitcast %"5.alloc::raw_vec::RawVec<u8>"* %src to i8*
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %5, i8* %4, i32 8, i32 4, i1 false)
call void @llvm.dbg.declare(metadata %"5.alloc::raw_vec::RawVec<u8>"* %src, metadata !1509, metadata !697), !dbg !1508
%6 = load %"5.alloc::raw_vec::RawVec<u8>"*, %"5.alloc::raw_vec::RawVec<u8>"** %dest, align 4, !dbg !1510, !nonnull !66
invoke void @_ZN3mem4swap21h16102375906446366078E(%"5.alloc::raw_vec::RawVec<u8>"* noalias dereferenceable(8) %6, %"5.alloc::raw_vec::RawVec<u8>"* noalias dereferenceable(8) %src)
to label %normal-return unwind label %unwind_custom_, !dbg !1510
normal-return: ; preds = %entry-block
%7 = bitcast %"5.alloc::raw_vec::RawVec<u8>"* %src to i8*, !dbg !1512
%8 = bitcast %"5.alloc::raw_vec::RawVec<u8>"* %0 to i8*, !dbg !1512
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %8, i8* %7, i32 8, i32 4, i1 false)
%9 = bitcast %"5.alloc::raw_vec::RawVec<u8>"* %src to i8*
call void @llvm.memset.p0i8.i32(i8* %9, i8 29, i32 8, i32 4, i1 false)
call void @"_ZN32alloc..raw_vec..RawVec$LT$u8$GT$9drop.443217hb927a3f2979b0f32E"(%"5.alloc::raw_vec::RawVec<u8>"* %src), !dbg !1508
ret void, !dbg !1508
unwind_custom_: ; preds = %entry-block
%10 = landingpad { i8*, i32 }
cleanup, !dbg !1510
store { i8*, i32 } %10, { i8*, i32 }* %3
br label %clean_custom_
resume: ; preds = %clean_custom_
%11 = load { i8*, i32 }, { i8*, i32 }* %3
resume { i8*, i32 } %11
clean_custom_: ; preds = %unwind_custom_
call void @"_ZN32alloc..raw_vec..RawVec$LT$u8$GT$9drop.443217hb927a3f2979b0f32E"(%"5.alloc::raw_vec::RawVec<u8>"* %src), !dbg !1508
br label %resume
}
; Function Attrs: inlinehint uwtable
define internal void @_ZN3mem4swap21h16102375906446366078E(%"5.alloc::raw_vec::RawVec<u8>"* noalias dereferenceable(8), %"5.alloc::raw_vec::RawVec<u8>"* noalias dereferenceable(8)) unnamed_addr #4 personality i32 (i32, i32, i64, %"1.std::sys_common::libunwind::_Unwind_Exception"*, %"1.std::sys_common::libunwind::_Unwind_Context"*)* @rust_eh_personality !dbg !672 {
entry-block:
%x = alloca %"5.alloc::raw_vec::RawVec<u8>"*
%y = alloca %"5.alloc::raw_vec::RawVec<u8>"*
%t = alloca %"5.alloc::raw_vec::RawVec<u8>"
%arg = alloca %"5.alloc::raw_vec::RawVec<u8>"
%2 = alloca { i8*, i32 }
store %"5.alloc::raw_vec::RawVec<u8>"* %0, %"5.alloc::raw_vec::RawVec<u8>"** %x, align 4
call void @llvm.dbg.declare(metadata %"5.alloc::raw_vec::RawVec<u8>"** %x, metadata !1513, metadata !697), !dbg !1514
store %"5.alloc::raw_vec::RawVec<u8>"* %1, %"5.alloc::raw_vec::RawVec<u8>"** %y, align 4
call void @llvm.dbg.declare(metadata %"5.alloc::raw_vec::RawVec<u8>"** %y, metadata !1515, metadata !697), !dbg !1514
call void @_ZN3mem13uninitialized21h11503879511785288093E(%"5.alloc::raw_vec::RawVec<u8>"* noalias nocapture sret dereferenceable(8) %t), !dbg !1516
call void @llvm.dbg.declare(metadata %"5.alloc::raw_vec::RawVec<u8>"* %t, metadata !1519, metadata !697), !dbg !1516
%3 = load %"5.alloc::raw_vec::RawVec<u8>"*, %"5.alloc::raw_vec::RawVec<u8>"** %x, align 4, !dbg !1520, !nonnull !66
%4 = bitcast %"5.alloc::raw_vec::RawVec<u8>"* %t to i8*, !dbg !1520
%5 = bitcast %"5.alloc::raw_vec::RawVec<u8>"* %3 to i8*, !dbg !1520
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %4, i8* %5, i32 8, i32 4, i1 false), !dbg !1520
%6 = load %"5.alloc::raw_vec::RawVec<u8>"*, %"5.alloc::raw_vec::RawVec<u8>"** %y, align 4, !dbg !1521, !nonnull !66
%7 = load %"5.alloc::raw_vec::RawVec<u8>"*, %"5.alloc::raw_vec::RawVec<u8>"** %x, align 4, !dbg !1521, !nonnull !66
%8 = bitcast %"5.alloc::raw_vec::RawVec<u8>"* %7 to i8*, !dbg !1521
%9 = bitcast %"5.alloc::raw_vec::RawVec<u8>"* %6 to i8*, !dbg !1521
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %8, i8* %9, i32 8, i32 4, i1 false), !dbg !1521
%10 = load %"5.alloc::raw_vec::RawVec<u8>"*, %"5.alloc::raw_vec::RawVec<u8>"** %y, align 4, !dbg !1522, !nonnull !66
%11 = bitcast %"5.alloc::raw_vec::RawVec<u8>"* %10 to i8*, !dbg !1522
%12 = bitcast %"5.alloc::raw_vec::RawVec<u8>"* %t to i8*, !dbg !1522
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %11, i8* %12, i32 8, i32 4, i1 false), !dbg !1522
%13 = bitcast %"5.alloc::raw_vec::RawVec<u8>"* %t to i8*
%14 = bitcast %"5.alloc::raw_vec::RawVec<u8>"* %arg to i8*
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %14, i8* %13, i32 8, i32 4, i1 false)
%15 = bitcast %"5.alloc::raw_vec::RawVec<u8>"* %t to i8*
call void @llvm.memset.p0i8.i32(i8* %15, i8 29, i32 8, i32 4, i1 false)
invoke void @_ZN3mem6forget21h10036187836307923697E(%"5.alloc::raw_vec::RawVec<u8>"* noalias nocapture dereferenceable(8) %arg)
to label %normal-return unwind label %unwind_ast_22657_, !dbg !1523
normal-return: ; preds = %entry-block
call void @"_ZN32alloc..raw_vec..RawVec$LT$u8$GT$9drop.443217hb927a3f2979b0f32E"(%"5.alloc::raw_vec::RawVec<u8>"* %t), !dbg !1524
ret void, !dbg !1514
unwind_ast_22657_: ; preds = %entry-block
%16 = landingpad { i8*, i32 }
cleanup
store { i8*, i32 } %16, { i8*, i32 }* %2
br label %clean_ast_22657_
resume: ; preds = %clean_ast_22657_
%17 = load { i8*, i32 }, { i8*, i32 }* %2
resume { i8*, i32 } %17
clean_ast_22657_: ; preds = %unwind_ast_22657_
call void @"_ZN32alloc..raw_vec..RawVec$LT$u8$GT$9drop.443217hb927a3f2979b0f32E"(%"5.alloc::raw_vec::RawVec<u8>"* %t), !dbg !1524
br label %resume
}
; Function Attrs: inlinehint uwtable
define internal void @_ZN3mem13uninitialized21h11503879511785288093E(%"5.alloc::raw_vec::RawVec<u8>"* noalias nocapture sret dereferenceable(8)) unnamed_addr #4 !dbg !675 {
entry-block:
ret void, !dbg !1525
}
; Function Attrs: uwtable
define internal void @_ZN3mem6forget21h10036187836307923697E(%"5.alloc::raw_vec::RawVec<u8>"* noalias nocapture dereferenceable(8)) unnamed_addr #1 !dbg !676 {
entry-block:
%t = alloca %"5.alloc::raw_vec::RawVec<u8>"
%arg = alloca %"5.alloc::raw_vec::RawVec<u8>"
%1 = bitcast %"5.alloc::raw_vec::RawVec<u8>"* %0 to i8*
%2 = bitcast %"5.alloc::raw_vec::RawVec<u8>"* %t to i8*
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %2, i8* %1, i32 8, i32 4, i1 false)
call void @llvm.dbg.declare(metadata %"5.alloc::raw_vec::RawVec<u8>"* %t, metadata !1526, metadata !697), !dbg !1527
%3 = bitcast %"5.alloc::raw_vec::RawVec<u8>"* %t to i8*
%4 = bitcast %"5.alloc::raw_vec::RawVec<u8>"* %arg to i8*
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %4, i8* %3, i32 8, i32 4, i1 false)
%5 = bitcast %"5.alloc::raw_vec::RawVec<u8>"* %t to i8*
call void @llvm.memset.p0i8.i32(i8* %5, i8 29, i32 8, i32 4, i1 false)
call void @"_ZN32alloc..raw_vec..RawVec$LT$u8$GT$9drop.443217hb927a3f2979b0f32E"(%"5.alloc::raw_vec::RawVec<u8>"* %t), !dbg !1527
ret void, !dbg !1527
}
; Function Attrs: cold noinline noreturn
declare void @_ZN10sys_common6unwind16begin_unwind_fmt20h6215f9c309c38d00H6sE(%"2.core::fmt::Arguments"* noalias nocapture dereferenceable(24), { %str_slice, i32 }* noalias readonly dereferenceable(12)) unnamed_addr #6
; Function Attrs: uwtable
define internal void @"_ZN3fmt24ArgumentV1$LT$$u27$a$GT$3new21h14805110865135980057E"(%"2.core::fmt::ArgumentV1"* noalias nocapture sret dereferenceable(8), i32** noalias readonly dereferenceable(4), i8 (i32**, %"2.core::fmt::Formatter"*)*) unnamed_addr #1 !dbg !679 {
entry-block:
%x = alloca i32**
%f = alloca i8 (i32**, %"2.core::fmt::Formatter"*)*
store i32** %1, i32*** %x, align 4
call void @llvm.dbg.declare(metadata i32*** %x, metadata !1528, metadata !697), !dbg !1529
store i8 (i32**, %"2.core::fmt::Formatter"*)* %2, i8 (i32**, %"2.core::fmt::Formatter"*)** %f, align 4
call void @llvm.dbg.declare(metadata i8 (i32**, %"2.core::fmt::Formatter"*)** %f, metadata !1530, metadata !697), !dbg !1531
%3 = getelementptr inbounds %"2.core::fmt::ArgumentV1", %"2.core::fmt::ArgumentV1"* %0, i32 0, i32 1, !dbg !1532
%4 = load i8 (i32**, %"2.core::fmt::Formatter"*)*, i8 (i32**, %"2.core::fmt::Formatter"*)** %f, align 4, !dbg !1535
%5 = bitcast i8 (i32**, %"2.core::fmt::Formatter"*)* %4 to i8 (%"2.core::fmt::Void"*, %"2.core::fmt::Formatter"*)*, !dbg !1535
store i8 (%"2.core::fmt::Void"*, %"2.core::fmt::Formatter"*)* %5, i8 (%"2.core::fmt::Void"*, %"2.core::fmt::Formatter"*)** %3, !dbg !1535
%6 = getelementptr inbounds %"2.core::fmt::ArgumentV1", %"2.core::fmt::ArgumentV1"* %0, i32 0, i32 0, !dbg !1535
%7 = load i32**, i32*** %x, align 4, !dbg !1536, !nonnull !66
%8 = bitcast i32** %7 to %"2.core::fmt::Void"*, !dbg !1536
store %"2.core::fmt::Void"* %8, %"2.core::fmt::Void"** %6, !dbg !1536
ret void, !dbg !1531
}
; Function Attrs: uwtable
define internal i8 @"_ZN3fmt23_$RF$$u27$a$u20$T.Debug3fmt20h7567788178655488642E"(i32** noalias readonly dereferenceable(4), %"2.core::fmt::Formatter"* noalias dereferenceable(52)) unnamed_addr #1 !dbg !688 {
entry-block:
%sret_slot = alloca %"2.core::result::Result<(), core::fmt::Error>"
%self = alloca i32**
%f = alloca %"2.core::fmt::Formatter"*
store i32** %0, i32*** %self, align 4
call void @llvm.dbg.declare(metadata i32*** %self, metadata !1537, metadata !697), !dbg !1538
store %"2.core::fmt::Formatter"* %1, %"2.core::fmt::Formatter"** %f, align 4
call void @llvm.dbg.declare(metadata %"2.core::fmt::Formatter"** %f, metadata !1539, metadata !697), !dbg !1538
%2 = load i32**, i32*** %self, align 4, !dbg !1540, !nonnull !66
%3 = load i32*, i32** %2, align 4, !dbg !1540, !nonnull !66
%4 = load %"2.core::fmt::Formatter"*, %"2.core::fmt::Formatter"** %f, align 4, !dbg !1540, !nonnull !66
%5 = call i8 @_ZN3fmt3num16usize.fmt..Debug3fmt20hba0f09b094161cefI4UE(i32* noalias readonly dereferenceable(4) %3, %"2.core::fmt::Formatter"* noalias dereferenceable(52) %4), !dbg !1542
%6 = bitcast %"2.core::result::Result<(), core::fmt::Error>"* %sret_slot to i8*, !dbg !1542
store i8 %5, i8* %6, align 1, !dbg !1542
%7 = bitcast %"2.core::result::Result<(), core::fmt::Error>"* %sret_slot to i8*, !dbg !1542
%8 = load i8, i8* %7, align 1, !dbg !1542
ret i8 %8, !dbg !1538
}
declare i8 @_ZN3fmt3num16usize.fmt..Debug3fmt20hba0f09b094161cefI4UE(i32* noalias readonly dereferenceable(4), %"2.core::fmt::Formatter"* noalias dereferenceable(52)) unnamed_addr #7
attributes #0 = { nounwind "no-frame-pointer-elim"="true" }
attributes #1 = { uwtable "no-frame-pointer-elim"="true" }
attributes #2 = { argmemonly nounwind }
attributes #3 = { nounwind readnone }
attributes #4 = { inlinehint uwtable "no-frame-pointer-elim"="true" }
attributes #5 = { cold noinline noreturn uwtable "no-frame-pointer-elim"="true" }
attributes #6 = { cold noinline noreturn "no-frame-pointer-elim"="true" }
attributes #7 = { "no-frame-pointer-elim"="true" }
attributes #8 = { nounwind }
!llvm.dbg.cu = !{!0}
!llvm.module.flags = !{!695}
!0 = distinct !DICompileUnit(language: 36864, file: !1, producer: "rustc version 1.8.0-dev (b741e51d1 2016-02-14)", isOptimized: false, runtimeVersion: 0, emissionKind: 1, enums: !2, retainedTypes: !36, subprograms: !274, globals: !690)
!1 = !DIFile(filename: "./src/lib.rs", directory: "/home/pierre/Projets/test")
!2 = !{!3, !10, !17, !24, !30, !31}
!3 = !DICompositeType(tag: DW_TAG_enumeration_type, name: "Result", scope: !4, baseType: !6, size: 32, align: 32, elements: !7)
!4 = !DINamespace(name: "result", scope: !5)
!5 = !DINamespace(name: "core", scope: null)
!6 = !DIBasicType(name: "u32", size: 32, align: 32, encoding: DW_ATE_unsigned)
!7 = !{!8, !9}
!8 = !DIEnumerator(name: "Ok", value: 0)
!9 = !DIEnumerator(name: "Err", value: 1)
!10 = !DICompositeType(tag: DW_TAG_enumeration_type, name: "Position", scope: !11, baseType: !6, size: 32, align: 32, elements: !14)
!11 = !DINamespace(name: "v1", scope: !12)
!12 = !DINamespace(name: "rt", scope: !13)
!13 = !DINamespace(name: "fmt", scope: !5)
!14 = !{!15, !16}
!15 = !DIEnumerator(name: "Next", value: 0)
!16 = !DIEnumerator(name: "At", value: 1)
!17 = !DICompositeType(tag: DW_TAG_enumeration_type, name: "Alignment", scope: !11, baseType: !18, size: 8, align: 8, elements: !19)
!18 = !DIBasicType(name: "u8", size: 8, align: 8, encoding: DW_ATE_unsigned)
!19 = !{!20, !21, !22, !23}
!20 = !DIEnumerator(name: "Left", value: 0)
!21 = !DIEnumerator(name: "Right", value: 1)
!22 = !DIEnumerator(name: "Center", value: 2)
!23 = !DIEnumerator(name: "Unknown", value: 3)
!24 = !DICompositeType(tag: DW_TAG_enumeration_type, name: "Count", scope: !11, baseType: !6, size: 32, align: 32, elements: !25)
!25 = !{!26, !27, !28, !29}
!26 = !DIEnumerator(name: "Is", value: 0)
!27 = !DIEnumerator(name: "Param", value: 1)
!28 = !DIEnumerator(name: "NextParam", value: 2)
!29 = !DIEnumerator(name: "Implied", value: 3)
!30 = !DICompositeType(tag: DW_TAG_enumeration_type, name: "Result", scope: !4, baseType: !18, size: 8, align: 8, elements: !7)
!31 = !DICompositeType(tag: DW_TAG_enumeration_type, name: "Option", scope: !32, baseType: !6, size: 32, align: 32, elements: !33)
!32 = !DINamespace(name: "option", scope: !5)
!33 = !{!34, !35}
!34 = !DIEnumerator(name: "None", value: 0)
!35 = !DIEnumerator(name: "Some", value: 1)
!36 = !{!37, !42, !48, !54, !59, !64, !67, !73, !77, !82, !86, !90, !94, !98, !103, !108, !111, !114, !118, !122, !125, !129, !137, !143, !147, !151, !154, !157, !162, !175, !170, !176, !181, !185, !186, !196, !200, !203, !207, !208, !215, !216, !220, !226, !227, !231, !236, !240, !243, !247, !253, !257, !262, !267, !270}
!37 = !DICompositeType(tag: DW_TAG_structure_type, name: "String", scope: !38, size: 96, align: 32, elements: !40, identifier: "{struct 427b5c52d4066ae4/d01}")
!38 = !DINamespace(name: "string", scope: !39)
!39 = !DINamespace(name: "collections", scope: null)
!40 = !{!41}
!41 = !DIDerivedType(tag: DW_TAG_member, name: "vec", scope: !"{struct 427b5c52d4066ae4/d01}", baseType: !"{struct 427b5c52d4066ae4/f0b<{u8},>}", size: 96, align: 32)
!42 = !DICompositeType(tag: DW_TAG_structure_type, name: "Vec<u8>", scope: !43, size: 96, align: 32, elements: !44, identifier: "{struct 427b5c52d4066ae4/f0b<{u8},>}")
!43 = !DINamespace(name: "vec", scope: !39)
!44 = !{!45, !46}
!45 = !DIDerivedType(tag: DW_TAG_member, name: "buf", scope: !"{struct 427b5c52d4066ae4/f0b<{u8},>}", baseType: !"{struct 9ecd5042c323c91a/2ee<{u8},>}", size: 64, align: 32)
!46 = !DIDerivedType(tag: DW_TAG_member, name: "len", scope: !"{struct 427b5c52d4066ae4/f0b<{u8},>}", baseType: !47, size: 32, align: 32, offset: 64)
!47 = !DIBasicType(name: "usize", size: 32, align: 32, encoding: DW_ATE_unsigned)
!48 = !DICompositeType(tag: DW_TAG_structure_type, name: "RawVec<u8>", scope: !49, size: 64, align: 32, elements: !51, identifier: "{struct 9ecd5042c323c91a/2ee<{u8},>}")
!49 = !DINamespace(name: "raw_vec", scope: !50)
!50 = !DINamespace(name: "alloc", scope: null)
!51 = !{!52, !53}
!52 = !DIDerivedType(tag: DW_TAG_member, name: "ptr", scope: !"{struct 9ecd5042c323c91a/2ee<{u8},>}", baseType: !"{struct 64fff32a80fc4e5e/331b<{u8},>}", size: 32, align: 32)
!53 = !DIDerivedType(tag: DW_TAG_member, name: "cap", scope: !"{struct 9ecd5042c323c91a/2ee<{u8},>}", baseType: !47, size: 32, align: 32, offset: 32)
!54 = !DICompositeType(tag: DW_TAG_structure_type, name: "Unique<u8>", scope: !55, size: 32, align: 32, elements: !56, identifier: "{struct 64fff32a80fc4e5e/331b<{u8},>}")
!55 = !DINamespace(name: "ptr", scope: !5)
!56 = !{!57, !58}
!57 = !DIDerivedType(tag: DW_TAG_member, name: "pointer", scope: !"{struct 64fff32a80fc4e5e/331b<{u8},>}", baseType: !"{struct 64fff32a80fc4e5e/173a<{*{u8}},>}", size: 32, align: 32)
!58 = !DIDerivedType(tag: DW_TAG_member, name: "_marker", scope: !"{struct 64fff32a80fc4e5e/331b<{u8},>}", baseType: !"{struct 64fff32a80fc4e5e/336e<{u8},>}", align: 8, offset: 32)
!59 = !DICompositeType(tag: DW_TAG_structure_type, name: "NonZero<*const u8>", scope: !60, size: 32, align: 32, elements: !61, identifier: "{struct 64fff32a80fc4e5e/173a<{*{u8}},>}")
!60 = !DINamespace(name: "nonzero", scope: !5)
!61 = !{!62}
!62 = !DIDerivedType(tag: DW_TAG_member, name: "__0", scope: !"{struct 64fff32a80fc4e5e/173a<{*{u8}},>}", baseType: !63, size: 32, align: 32)
!63 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "*const u8", baseType: !18, size: 32, align: 32)
!64 = !DICompositeType(tag: DW_TAG_structure_type, name: "PhantomData<u8>", scope: !65, align: 8, elements: !66, identifier: "{struct 64fff32a80fc4e5e/336e<{u8},>}")
!65 = !DINamespace(name: "marker", scope: !5)
!66 = !{}
!67 = !DICompositeType(tag: DW_TAG_structure_type, name: "CString", scope: !68, size: 64, align: 32, elements: !71, identifier: "{struct 406c24d45eb804fd/bd6}")
!68 = !DINamespace(name: "c_str", scope: !69)
!69 = !DINamespace(name: "ffi", scope: !70)
!70 = !DINamespace(name: "std", scope: null)
!71 = !{!72}
!72 = !DIDerivedType(tag: DW_TAG_member, name: "inner", scope: !"{struct 406c24d45eb804fd/bd6}", baseType: !"{box {[]{u8}}}", size: 64, align: 32)
!73 = !DICompositeType(tag: DW_TAG_structure_type, name: "Box<[u8]>", size: 64, align: 32, elements: !74, identifier: "{box {[]{u8}}}")
!74 = !{!75, !76}
!75 = !DIDerivedType(tag: DW_TAG_member, name: "data_ptr", scope: !"{box {[]{u8}}}", baseType: !63, size: 32, align: 32)
!76 = !DIDerivedType(tag: DW_TAG_member, name: "length", scope: !"{box {[]{u8}}}", baseType: !47, size: 32, align: 32, offset: 32)
!77 = !DICompositeType(tag: DW_TAG_union_type, name: "Result<std::ffi::c_str::CString, std::ffi::c_str::NulError>", scope: !4, file: !78, size: 160, align: 32, elements: !79, identifier: "{enum 64fff32a80fc4e5e/7609<{struct 406c24d45eb804fd/bd6},{struct 406c24d45eb804fd/c1b},>}")
!78 = !DIFile(filename: "<unknown>", directory: "")
!79 = !{!80, !81}
!80 = !DIDerivedType(tag: DW_TAG_member, scope: !"{enum 64fff32a80fc4e5e/7609<{struct 406c24d45eb804fd/bd6},{struct 406c24d45eb804fd/c1b},>}", baseType: !"{enum 64fff32a80fc4e5e/7609<{struct 406c24d45eb804fd/bd6},{struct 406c24d45eb804fd/c1b},>}::Ok", size: 96, align: 32)
!81 = !DIDerivedType(tag: DW_TAG_member, scope: !"{enum 64fff32a80fc4e5e/7609<{struct 406c24d45eb804fd/bd6},{struct 406c24d45eb804fd/c1b},>}", baseType: !"{enum 64fff32a80fc4e5e/7609<{struct 406c24d45eb804fd/bd6},{struct 406c24d45eb804fd/c1b},>}::Err", size: 160, align: 32)
!82 = !DICompositeType(tag: DW_TAG_structure_type, name: "Ok", scope: !4, size: 96, align: 32, elements: !83, identifier: "{enum 64fff32a80fc4e5e/7609<{struct 406c24d45eb804fd/bd6},{struct 406c24d45eb804fd/c1b},>}::Ok")
!83 = !{!84, !85}
!84 = !DIDerivedType(tag: DW_TAG_member, name: "RUST$ENUM$DISR", scope: !"{enum 64fff32a80fc4e5e/7609<{struct 406c24d45eb804fd/bd6},{struct 406c24d45eb804fd/c1b},>}::Ok", baseType: !3, size: 32, align: 32)
!85 = !DIDerivedType(tag: DW_TAG_member, name: "__0", scope: !"{enum 64fff32a80fc4e5e/7609<{struct 406c24d45eb804fd/bd6},{struct 406c24d45eb804fd/c1b},>}::Ok", baseType: !"{struct 406c24d45eb804fd/bd6}", size: 64, align: 32, offset: 32)
!86 = !DICompositeType(tag: DW_TAG_structure_type, name: "Err", scope: !4, size: 160, align: 32, elements: !87, identifier: "{enum 64fff32a80fc4e5e/7609<{struct 406c24d45eb804fd/bd6},{struct 406c24d45eb804fd/c1b},>}::Err")
!87 = !{!88, !89}
!88 = !DIDerivedType(tag: DW_TAG_member, name: "RUST$ENUM$DISR", scope: !"{enum 64fff32a80fc4e5e/7609<{struct 406c24d45eb804fd/bd6},{struct 406c24d45eb804fd/c1b},>}::Err", baseType: !3, size: 32, align: 32)
!89 = !DIDerivedType(tag: DW_TAG_member, name: "__0", scope: !"{enum 64fff32a80fc4e5e/7609<{struct 406c24d45eb804fd/bd6},{struct 406c24d45eb804fd/c1b},>}::Err", baseType: !"{struct 406c24d45eb804fd/c1b}", size: 128, align: 32, offset: 32)
!90 = !DICompositeType(tag: DW_TAG_structure_type, name: "NulError", scope: !68, size: 128, align: 32, elements: !91, identifier: "{struct 406c24d45eb804fd/c1b}")
!91 = !{!92, !93}
!92 = !DIDerivedType(tag: DW_TAG_member, name: "__0", scope: !"{struct 406c24d45eb804fd/c1b}", baseType: !47, size: 32, align: 32)
!93 = !DIDerivedType(tag: DW_TAG_member, name: "__1", scope: !"{struct 406c24d45eb804fd/c1b}", baseType: !"{struct 427b5c52d4066ae4/f0b<{u8},>}", size: 96, align: 32, offset: 32)
!94 = !DICompositeType(tag: DW_TAG_structure_type, name: "&str", size: 64, align: 32, elements: !95, identifier: "{&{str}}")
!95 = !{!96, !97}
!96 = !DIDerivedType(tag: DW_TAG_member, name: "data_ptr", scope: !"{&{str}}", baseType: !63, size: 32, align: 32)
!97 = !DIDerivedType(tag: DW_TAG_member, name: "length", scope: !"{&{str}}", baseType: !47, size: 32, align: 32, offset: 32)
!98 = !DICompositeType(tag: DW_TAG_structure_type, name: "Arguments", scope: !13, size: 192, align: 32, elements: !99, identifier: "{struct 64fff32a80fc4e5e/8830}")
!99 = !{!100, !101, !102}
!100 = !DIDerivedType(tag: DW_TAG_member, name: "pieces", scope: !"{struct 64fff32a80fc4e5e/8830}", baseType: !"{&{[]{&{str}}}}", size: 64, align: 32)
!101 = !DIDerivedType(tag: DW_TAG_member, name: "fmt", scope: !"{struct 64fff32a80fc4e5e/8830}", baseType: !"{enum 64fff32a80fc4e5e/748a<{&{[]{struct 64fff32a80fc4e5e/8783}}},>}", size: 64, align: 32, offset: 64)
!102 = !DIDerivedType(tag: DW_TAG_member, name: "args", scope: !"{struct 64fff32a80fc4e5e/8830}", baseType: !"{&{[]{struct 64fff32a80fc4e5e/8802}}}", size: 64, align: 32, offset: 128)
!103 = !DICompositeType(tag: DW_TAG_structure_type, name: "&[&str]", size: 64, align: 32, elements: !104, identifier: "{&{[]{&{str}}}}")
!104 = !{!105, !107}
!105 = !DIDerivedType(tag: DW_TAG_member, name: "data_ptr", scope: !"{&{[]{&{str}}}}", baseType: !106, size: 32, align: 32)
!106 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "*const &str", baseType: !"{&{str}}", size: 32, align: 32)
!107 = !DIDerivedType(tag: DW_TAG_member, name: "length", scope: !"{&{[]{&{str}}}}", baseType: !47, size: 32, align: 32, offset: 32)
!108 = !DICompositeType(tag: DW_TAG_union_type, name: "Option<&[core::fmt::rt::v1::Argument]>", scope: !32, file: !78, size: 64, align: 32, elements: !109, identifier: "{enum 64fff32a80fc4e5e/748a<{&{[]{struct 64fff32a80fc4e5e/8783}}},>}")
!109 = !{!110}
!110 = !DIDerivedType(tag: DW_TAG_member, name: "RUST$ENCODED$ENUM$0$0$None", scope: !"{enum 64fff32a80fc4e5e/748a<{&{[]{struct 64fff32a80fc4e5e/8783}}},>}", baseType: !"{enum 64fff32a80fc4e5e/748a<{&{[]{struct 64fff32a80fc4e5e/8783}}},>}::Some", size: 64, align: 32)
!111 = !DICompositeType(tag: DW_TAG_structure_type, name: "Some", scope: !32, size: 64, align: 32, elements: !112, identifier: "{enum 64fff32a80fc4e5e/748a<{&{[]{struct 64fff32a80fc4e5e/8783}}},>}::Some")
!112 = !{!113}
!113 = !DIDerivedType(tag: DW_TAG_member, name: "__0", scope: !"{enum 64fff32a80fc4e5e/748a<{&{[]{struct 64fff32a80fc4e5e/8783}}},>}::Some", baseType: !"{&{[]{struct 64fff32a80fc4e5e/8783}}}", size: 64, align: 32)
!114 = !DICompositeType(tag: DW_TAG_structure_type, name: "Argument", scope: !11, size: 288, align: 32, elements: !115, identifier: "{struct 64fff32a80fc4e5e/8783}")
!115 = !{!116, !117}
!116 = !DIDerivedType(tag: DW_TAG_member, name: "position", scope: !"{struct 64fff32a80fc4e5e/8783}", baseType: !"{enum 64fff32a80fc4e5e/87bc}", size: 64, align: 32)
!117 = !DIDerivedType(tag: DW_TAG_member, name: "format", scope: !"{struct 64fff32a80fc4e5e/8783}", baseType: !"{struct 64fff32a80fc4e5e/878c}", size: 224, align: 32, offset: 64)
!118 = !DICompositeType(tag: DW_TAG_union_type, name: "Position", scope: !11, file: !78, size: 64, align: 32, elements: !119, identifier: "{enum 64fff32a80fc4e5e/87bc}")
!119 = !{!120, !121}
!120 = !DIDerivedType(tag: DW_TAG_member, scope: !"{enum 64fff32a80fc4e5e/87bc}", baseType: !"{enum 64fff32a80fc4e5e/87bc}::Next", size: 32, align: 32)
!121 = !DIDerivedType(tag: DW_TAG_member, scope: !"{enum 64fff32a80fc4e5e/87bc}", baseType: !"{enum 64fff32a80fc4e5e/87bc}::At", size: 64, align: 32)
!122 = !DICompositeType(tag: DW_TAG_structure_type, name: "Next", scope: !11, size: 32, align: 32, elements: !123, identifier: "{enum 64fff32a80fc4e5e/87bc}::Next")
!123 = !{!124}
!124 = !DIDerivedType(tag: DW_TAG_member, name: "RUST$ENUM$DISR", scope: !"{enum 64fff32a80fc4e5e/87bc}::Next", baseType: !10, size: 32, align: 32)
!125 = !DICompositeType(tag: DW_TAG_structure_type, name: "At", scope: !11, size: 64, align: 32, elements: !126, identifier: "{enum 64fff32a80fc4e5e/87bc}::At")
!126 = !{!127, !128}
!127 = !DIDerivedType(tag: DW_TAG_member, name: "RUST$ENUM$DISR", scope: !"{enum 64fff32a80fc4e5e/87bc}::At", baseType: !10, size: 32, align: 32)
!128 = !DIDerivedType(tag: DW_TAG_member, name: "__0", scope: !"{enum 64fff32a80fc4e5e/87bc}::At", baseType: !47, size: 32, align: 32, offset: 32)
!129 = !DICompositeType(tag: DW_TAG_structure_type, name: "FormatSpec", scope: !11, size: 224, align: 32, elements: !130, identifier: "{struct 64fff32a80fc4e5e/878c}")
!130 = !{!131, !133, !134, !135, !136}
!131 = !DIDerivedType(tag: DW_TAG_member, name: "fill", scope: !"{struct 64fff32a80fc4e5e/878c}", baseType: !132, size: 32, align: 32)
!132 = !DIBasicType(name: "char", size: 32, align: 32, encoding: DW_ATE_unsigned_char)
!133 = !DIDerivedType(tag: DW_TAG_member, name: "align", scope: !"{struct 64fff32a80fc4e5e/878c}", baseType: !17, size: 8, align: 8, offset: 32)
!134 = !DIDerivedType(tag: DW_TAG_member, name: "flags", scope: !"{struct 64fff32a80fc4e5e/878c}", baseType: !6, size: 32, align: 32, offset: 64)
!135 = !DIDerivedType(tag: DW_TAG_member, name: "precision", scope: !"{struct 64fff32a80fc4e5e/878c}", baseType: !"{enum 64fff32a80fc4e5e/87af}", size: 64, align: 32, offset: 96)
!136 = !DIDerivedType(tag: DW_TAG_member, name: "width", scope: !"{struct 64fff32a80fc4e5e/878c}", baseType: !"{enum 64fff32a80fc4e5e/87af}", size: 64, align: 32, offset: 160)
!137 = !DICompositeType(tag: DW_TAG_union_type, name: "Count", scope: !11, file: !78, size: 64, align: 32, elements: !138, identifier: "{enum 64fff32a80fc4e5e/87af}")
!138 = !{!139, !140, !141, !142}
!139 = !DIDerivedType(tag: DW_TAG_member, scope: !"{enum 64fff32a80fc4e5e/87af}", baseType: !"{enum 64fff32a80fc4e5e/87af}::Is", size: 64, align: 32)
!140 = !DIDerivedType(tag: DW_TAG_member, scope: !"{enum 64fff32a80fc4e5e/87af}", baseType: !"{enum 64fff32a80fc4e5e/87af}::Param", size: 64, align: 32)
!141 = !DIDerivedType(tag: DW_TAG_member, scope: !"{enum 64fff32a80fc4e5e/87af}", baseType: !"{enum 64fff32a80fc4e5e/87af}::NextParam", size: 32, align: 32)
!142 = !DIDerivedType(tag: DW_TAG_member, scope: !"{enum 64fff32a80fc4e5e/87af}", baseType: !"{enum 64fff32a80fc4e5e/87af}::Implied", size: 32, align: 32)
!143 = !DICompositeType(tag: DW_TAG_structure_type, name: "Is", scope: !11, size: 64, align: 32, elements: !144, identifier: "{enum 64fff32a80fc4e5e/87af}::Is")
!144 = !{!145, !146}
!145 = !DIDerivedType(tag: DW_TAG_member, name: "RUST$ENUM$DISR", scope: !"{enum 64fff32a80fc4e5e/87af}::Is", baseType: !24, size: 32, align: 32)
!146 = !DIDerivedType(tag: DW_TAG_member, name: "__0", scope: !"{enum 64fff32a80fc4e5e/87af}::Is", baseType: !47, size: 32, align: 32, offset: 32)
!147 = !DICompositeType(tag: DW_TAG_structure_type, name: "Param", scope: !11, size: 64, align: 32, elements: !148, identifier: "{enum 64fff32a80fc4e5e/87af}::Param")
!148 = !{!149, !150}
!149 = !DIDerivedType(tag: DW_TAG_member, name: "RUST$ENUM$DISR", scope: !"{enum 64fff32a80fc4e5e/87af}::Param", baseType: !24, size: 32, align: 32)
!150 = !DIDerivedType(tag: DW_TAG_member, name: "__0", scope: !"{enum 64fff32a80fc4e5e/87af}::Param", baseType: !47, size: 32, align: 32, offset: 32)
!151 = !DICompositeType(tag: DW_TAG_structure_type, name: "NextParam", scope: !11, size: 32, align: 32, elements: !152, identifier: "{enum 64fff32a80fc4e5e/87af}::NextParam")
!152 = !{!153}
!153 = !DIDerivedType(tag: DW_TAG_member, name: "RUST$ENUM$DISR", scope: !"{enum 64fff32a80fc4e5e/87af}::NextParam", baseType: !24, size: 32, align: 32)
!154 = !DICompositeType(tag: DW_TAG_structure_type, name: "Implied", scope: !11, size: 32, align: 32, elements: !155, identifier: "{enum 64fff32a80fc4e5e/87af}::Implied")
!155 = !{!156}
!156 = !DIDerivedType(tag: DW_TAG_member, name: "RUST$ENUM$DISR", scope: !"{enum 64fff32a80fc4e5e/87af}::Implied", baseType: !24, size: 32, align: 32)
!157 = !DICompositeType(tag: DW_TAG_structure_type, name: "&[core::fmt::rt::v1::Argument]", size: 64, align: 32, elements: !158, identifier: "{&{[]{struct 64fff32a80fc4e5e/8783}}}")
!158 = !{!159, !161}
!159 = !DIDerivedType(tag: DW_TAG_member, name: "data_ptr", scope: !"{&{[]{struct 64fff32a80fc4e5e/8783}}}", baseType: !160, size: 32, align: 32)
!160 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "*const core::fmt::rt::v1::Argument", baseType: !"{struct 64fff32a80fc4e5e/8783}", size: 32, align: 32)
!161 = !DIDerivedType(tag: DW_TAG_member, name: "length", scope: !"{&{[]{struct 64fff32a80fc4e5e/8783}}}", baseType: !47, size: 32, align: 32, offset: 32)
!162 = !DICompositeType(tag: DW_TAG_structure_type, name: "ArgumentV1", scope: !13, size: 64, align: 32, elements: !163, identifier: "{struct 64fff32a80fc4e5e/8802}")
!163 = !{!164, !166}
!164 = !DIDerivedType(tag: DW_TAG_member, name: "value", scope: !"{struct 64fff32a80fc4e5e/8802}", baseType: !165, size: 32, align: 32)
!165 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "&core::fmt::Void", baseType: !"{enum 64fff32a80fc4e5e/8801}", size: 32, align: 32)
!166 = !DIDerivedType(tag: DW_TAG_member, name: "formatter", scope: !"{struct 64fff32a80fc4e5e/8802}", baseType: !167, size: 32, align: 32, offset: 32)
!167 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "fn(&core::fmt::Void, &mut core::fmt::Formatter) -> core::result::Result<(), core::fmt::Error>", baseType: !168, size: 32, align: 32)
!168 = !DISubroutineType(types: !169)
!169 = !{!170, !165, !174}
!170 = !DICompositeType(tag: DW_TAG_union_type, name: "Result<(), core::fmt::Error>", scope: !4, file: !78, size: 8, align: 8, elements: !171, identifier: "{enum 64fff32a80fc4e5e/7609<{()},{struct 64fff32a80fc4e5e/87c6},>}")
!171 = !{!172, !173}
!172 = !DIDerivedType(tag: DW_TAG_member, scope: !"{enum 64fff32a80fc4e5e/7609<{()},{struct 64fff32a80fc4e5e/87c6},>}", baseType: !"{enum 64fff32a80fc4e5e/7609<{()},{struct 64fff32a80fc4e5e/87c6},>}::Ok", size: 8, align: 8)
!173 = !DIDerivedType(tag: DW_TAG_member, scope: !"{enum 64fff32a80fc4e5e/7609<{()},{struct 64fff32a80fc4e5e/87c6},>}", baseType: !"{enum 64fff32a80fc4e5e/7609<{()},{struct 64fff32a80fc4e5e/87c6},>}::Err", size: 8, align: 8)
!174 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "&mut core::fmt::Formatter", baseType: !"{struct 64fff32a80fc4e5e/87f7}", size: 32, align: 32)
!175 = !DICompositeType(tag: DW_TAG_union_type, name: "Void", scope: !13, file: !78, align: 8, elements: !66, identifier: "{enum 64fff32a80fc4e5e/8801}")
!176 = !DICompositeType(tag: DW_TAG_structure_type, name: "Ok", scope: !4, size: 8, align: 8, elements: !177, identifier: "{enum 64fff32a80fc4e5e/7609<{()},{struct 64fff32a80fc4e5e/87c6},>}::Ok")
!177 = !{!178, !179}
!178 = !DIDerivedType(tag: DW_TAG_member, name: "RUST$ENUM$DISR", scope: !"{enum 64fff32a80fc4e5e/7609<{()},{struct 64fff32a80fc4e5e/87c6},>}::Ok", baseType: !30, size: 8, align: 8)
!179 = !DIDerivedType(tag: DW_TAG_member, name: "__0", scope: !"{enum 64fff32a80fc4e5e/7609<{()},{struct 64fff32a80fc4e5e/87c6},>}::Ok", baseType: !180, align: 8, offset: 8)
!180 = !DIBasicType(name: "()", align: 8, encoding: DW_ATE_unsigned)
!181 = !DICompositeType(tag: DW_TAG_structure_type, name: "Err", scope: !4, size: 8, align: 8, elements: !182, identifier: "{enum 64fff32a80fc4e5e/7609<{()},{struct 64fff32a80fc4e5e/87c6},>}::Err")
!182 = !{!183, !184}
!183 = !DIDerivedType(tag: DW_TAG_member, name: "RUST$ENUM$DISR", scope: !"{enum 64fff32a80fc4e5e/7609<{()},{struct 64fff32a80fc4e5e/87c6},>}::Err", baseType: !30, size: 8, align: 8)
!184 = !DIDerivedType(tag: DW_TAG_member, name: "__0", scope: !"{enum 64fff32a80fc4e5e/7609<{()},{struct 64fff32a80fc4e5e/87c6},>}::Err", baseType: !"{struct 64fff32a80fc4e5e/87c6}", align: 8, offset: 8)
!185 = !DICompositeType(tag: DW_TAG_structure_type, name: "Error", scope: !13, align: 8, elements: !66, identifier: "{struct 64fff32a80fc4e5e/87c6}")
!186 = !DICompositeType(tag: DW_TAG_structure_type, name: "Formatter", scope: !13, size: 416, align: 32, elements: !187, identifier: "{struct 64fff32a80fc4e5e/87f7}")
!187 = !{!188, !189, !190, !191, !192, !193, !194, !195}
!188 = !DIDerivedType(tag: DW_TAG_member, name: "flags", scope: !"{struct 64fff32a80fc4e5e/87f7}", baseType: !6, size: 32, align: 32)
!189 = !DIDerivedType(tag: DW_TAG_member, name: "fill", scope: !"{struct 64fff32a80fc4e5e/87f7}", baseType: !132, size: 32, align: 32, offset: 32)
!190 = !DIDerivedType(tag: DW_TAG_member, name: "align", scope: !"{struct 64fff32a80fc4e5e/87f7}", baseType: !17, size: 8, align: 8, offset: 64)
!191 = !DIDerivedType(tag: DW_TAG_member, name: "width", scope: !"{struct 64fff32a80fc4e5e/87f7}", baseType: !"{enum 64fff32a80fc4e5e/748a<{usize},>}", size: 64, align: 32, offset: 96)
!192 = !DIDerivedType(tag: DW_TAG_member, name: "precision", scope: !"{struct 64fff32a80fc4e5e/87f7}", baseType: !"{enum 64fff32a80fc4e5e/748a<{usize},>}", size: 64, align: 32, offset: 160)
!193 = !DIDerivedType(tag: DW_TAG_member, name: "buf", scope: !"{struct 64fff32a80fc4e5e/87f7}", baseType: !"{&mut{trait 64fff32a80fc4e5e/87d1}}", size: 64, align: 32, offset: 224)
!194 = !DIDerivedType(tag: DW_TAG_member, name: "curarg", scope: !"{struct 64fff32a80fc4e5e/87f7}", baseType: !"{struct 64fff32a80fc4e5e/78d7<{struct 64fff32a80fc4e5e/8802},>}", size: 64, align: 32, offset: 288)
!195 = !DIDerivedType(tag: DW_TAG_member, name: "args", scope: !"{struct 64fff32a80fc4e5e/87f7}", baseType: !"{&{[]{struct 64fff32a80fc4e5e/8802}}}", size: 64, align: 32, offset: 352)
!196 = !DICompositeType(tag: DW_TAG_union_type, name: "Option<usize>", scope: !32, file: !78, size: 64, align: 32, elements: !197, identifier: "{enum 64fff32a80fc4e5e/748a<{usize},>}")
!197 = !{!198, !199}
!198 = !DIDerivedType(tag: DW_TAG_member, scope: !"{enum 64fff32a80fc4e5e/748a<{usize},>}", baseType: !"{enum 64fff32a80fc4e5e/748a<{usize},>}::None", size: 32, align: 32)
!199 = !DIDerivedType(tag: DW_TAG_member, scope: !"{enum 64fff32a80fc4e5e/748a<{usize},>}", baseType: !"{enum 64fff32a80fc4e5e/748a<{usize},>}::Some", size: 64, align: 32)
!200 = !DICompositeType(tag: DW_TAG_structure_type, name: "None", scope: !32, size: 32, align: 32, elements: !201, identifier: "{enum 64fff32a80fc4e5e/748a<{usize},>}::None")
!201 = !{!202}
!202 = !DIDerivedType(tag: DW_TAG_member, name: "RUST$ENUM$DISR", scope: !"{enum 64fff32a80fc4e5e/748a<{usize},>}::None", baseType: !31, size: 32, align: 32)
!203 = !DICompositeType(tag: DW_TAG_structure_type, name: "Some", scope: !32, size: 64, align: 32, elements: !204, identifier: "{enum 64fff32a80fc4e5e/748a<{usize},>}::Some")
!204 = !{!205, !206}
!205 = !DIDerivedType(tag: DW_TAG_member, name: "RUST$ENUM$DISR", scope: !"{enum 64fff32a80fc4e5e/748a<{usize},>}::Some", baseType: !31, size: 32, align: 32)
!206 = !DIDerivedType(tag: DW_TAG_member, name: "__0", scope: !"{enum 64fff32a80fc4e5e/748a<{usize},>}::Some", baseType: !47, size: 32, align: 32, offset: 32)
!207 = !DICompositeType(tag: DW_TAG_structure_type, name: "&mut Write", scope: !13, size: 64, align: 32, elements: !66, identifier: "{&mut{trait 64fff32a80fc4e5e/87d1}}")
!208 = !DICompositeType(tag: DW_TAG_structure_type, name: "Iter<core::fmt::ArgumentV1>", scope: !209, size: 64, align: 32, elements: !210, identifier: "{struct 64fff32a80fc4e5e/78d7<{struct 64fff32a80fc4e5e/8802},>}")
!209 = !DINamespace(name: "slice", scope: !5)
!210 = !{!211, !213, !214}
!211 = !DIDerivedType(tag: DW_TAG_member, name: "ptr", scope: !"{struct 64fff32a80fc4e5e/78d7<{struct 64fff32a80fc4e5e/8802},>}", baseType: !212, size: 32, align: 32)
!212 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "*const core::fmt::ArgumentV1", baseType: !"{struct 64fff32a80fc4e5e/8802}", size: 32, align: 32)
!213 = !DIDerivedType(tag: DW_TAG_member, name: "end", scope: !"{struct 64fff32a80fc4e5e/78d7<{struct 64fff32a80fc4e5e/8802},>}", baseType: !212, size: 32, align: 32, offset: 32)
!214 = !DIDerivedType(tag: DW_TAG_member, name: "_marker", scope: !"{struct 64fff32a80fc4e5e/78d7<{struct 64fff32a80fc4e5e/8802},>}", baseType: !"{struct 64fff32a80fc4e5e/336e<{&{struct 64fff32a80fc4e5e/8802}},>}", align: 8, offset: 64)
!215 = !DICompositeType(tag: DW_TAG_structure_type, name: "PhantomData<&core::fmt::ArgumentV1>", scope: !65, align: 8, elements: !66, identifier: "{struct 64fff32a80fc4e5e/336e<{&{struct 64fff32a80fc4e5e/8802}},>}")
!216 = !DICompositeType(tag: DW_TAG_structure_type, name: "&[core::fmt::ArgumentV1]", size: 64, align: 32, elements: !217, identifier: "{&{[]{struct 64fff32a80fc4e5e/8802}}}")
!217 = !{!218, !219}
!218 = !DIDerivedType(tag: DW_TAG_member, name: "data_ptr", scope: !"{&{[]{struct 64fff32a80fc4e5e/8802}}}", baseType: !212, size: 32, align: 32)
!219 = !DIDerivedType(tag: DW_TAG_member, name: "length", scope: !"{&{[]{struct 64fff32a80fc4e5e/8802}}}", baseType: !47, size: 32, align: 32, offset: 32)
!220 = !DICompositeType(tag: DW_TAG_structure_type, name: "IterMut<u8>", scope: !209, size: 64, align: 32, elements: !221, identifier: "{struct 64fff32a80fc4e5e/7915<{u8},>}")
!221 = !{!222, !224, !225}
!222 = !DIDerivedType(tag: DW_TAG_member, name: "ptr", scope: !"{struct 64fff32a80fc4e5e/7915<{u8},>}", baseType: !223, size: 32, align: 32)
!223 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "*mut u8", baseType: !18, size: 32, align: 32)
!224 = !DIDerivedType(tag: DW_TAG_member, name: "end", scope: !"{struct 64fff32a80fc4e5e/7915<{u8},>}", baseType: !223, size: 32, align: 32, offset: 32)
!225 = !DIDerivedType(tag: DW_TAG_member, name: "_marker", scope: !"{struct 64fff32a80fc4e5e/7915<{u8},>}", baseType: !"{struct 64fff32a80fc4e5e/336e<{&mut{u8}},>}", align: 8, offset: 64)
!226 = !DICompositeType(tag: DW_TAG_structure_type, name: "PhantomData<&mut u8>", scope: !65, align: 8, elements: !66, identifier: "{struct 64fff32a80fc4e5e/336e<{&mut{u8}},>}")
!227 = !DICompositeType(tag: DW_TAG_structure_type, name: "&mut [u8]", size: 64, align: 32, elements: !228, identifier: "{&mut{[]{u8}}}")
!228 = !{!229, !230}
!229 = !DIDerivedType(tag: DW_TAG_member, name: "data_ptr", scope: !"{&mut{[]{u8}}}", baseType: !63, size: 32, align: 32)
!230 = !DIDerivedType(tag: DW_TAG_member, name: "length", scope: !"{&mut{[]{u8}}}", baseType: !47, size: 32, align: 32, offset: 32)
!231 = !DICompositeType(tag: DW_TAG_structure_type, name: "Slice<u8>", scope: !232, size: 64, align: 32, elements: !233, identifier: "{struct 64fff32a80fc4e5e/75e8<{u8},>}")
!232 = !DINamespace(name: "raw", scope: !5)
!233 = !{!234, !235}
!234 = !DIDerivedType(tag: DW_TAG_member, name: "data", scope: !"{struct 64fff32a80fc4e5e/75e8<{u8},>}", baseType: !63, size: 32, align: 32)
!235 = !DIDerivedType(tag: DW_TAG_member, name: "len", scope: !"{struct 64fff32a80fc4e5e/75e8<{u8},>}", baseType: !47, size: 32, align: 32, offset: 32)
!236 = !DICompositeType(tag: DW_TAG_structure_type, name: "&[u8]", size: 64, align: 32, elements: !237, identifier: "{&{[]{u8}}}")
!237 = !{!238, !239}
!238 = !DIDerivedType(tag: DW_TAG_member, name: "data_ptr", scope: !"{&{[]{u8}}}", baseType: !63, size: 32, align: 32)
!239 = !DIDerivedType(tag: DW_TAG_member, name: "length", scope: !"{&{[]{u8}}}", baseType: !47, size: 32, align: 32, offset: 32)
!240 = !DICompositeType(tag: DW_TAG_union_type, name: "Option<&mut u8>", scope: !32, file: !78, size: 32, align: 32, elements: !241, identifier: "{enum 64fff32a80fc4e5e/748a<{&mut{u8}},>}")
!241 = !{!242}
!242 = !DIDerivedType(tag: DW_TAG_member, name: "RUST$ENCODED$ENUM$0$None", scope: !"{enum 64fff32a80fc4e5e/748a<{&mut{u8}},>}", baseType: !"{enum 64fff32a80fc4e5e/748a<{&mut{u8}},>}::Some", size: 32, align: 32)
!243 = !DICompositeType(tag: DW_TAG_structure_type, name: "Some", scope: !32, size: 32, align: 32, elements: !244, identifier: "{enum 64fff32a80fc4e5e/748a<{&mut{u8}},>}::Some")
!244 = !{!245}
!245 = !DIDerivedType(tag: DW_TAG_member, name: "__0", scope: !"{enum 64fff32a80fc4e5e/748a<{&mut{u8}},>}::Some", baseType: !246, size: 32, align: 32)
!246 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "&mut u8", baseType: !18, size: 32, align: 32)
!247 = !DICompositeType(tag: DW_TAG_structure_type, name: "Adapter<collections::string::String>", scope: !248, size: 32, align: 32, elements: !250, identifier: "{struct 64fff32a80fc4e5e/87dd<{struct 427b5c52d4066ae4/d01},>}")
!248 = !DINamespace(name: "write_fmt", scope: !249)
!249 = !DINamespace(name: "Write", scope: !13)
!250 = !{!251}
!251 = !DIDerivedType(tag: DW_TAG_member, name: "__0", scope: !"{struct 64fff32a80fc4e5e/87dd<{struct 427b5c52d4066ae4/d01},>}", baseType: !252, size: 32, align: 32)
!252 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "&mut collections::string::String", baseType: !"{struct 427b5c52d4066ae4/d01}", size: 32, align: 32)
!253 = !DICompositeType(tag: DW_TAG_structure_type, name: "(usize, usize)", size: 64, align: 32, elements: !254, identifier: "{tuple {usize}{usize}}")
!254 = !{!255, !256}
!255 = !DIDerivedType(tag: DW_TAG_member, name: "__0", scope: !"{tuple {usize}{usize}}", baseType: !47, size: 32, align: 32)
!256 = !DIDerivedType(tag: DW_TAG_member, name: "__1", scope: !"{tuple {usize}{usize}}", baseType: !47, size: 32, align: 32, offset: 32)
!257 = !DICompositeType(tag: DW_TAG_structure_type, name: "(usize, bool)", size: 64, align: 32, elements: !258, identifier: "{tuple {usize}{bool}}")
!258 = !{!259, !260}
!259 = !DIDerivedType(tag: DW_TAG_member, name: "__0", scope: !"{tuple {usize}{bool}}", baseType: !47, size: 32, align: 32)
!260 = !DIDerivedType(tag: DW_TAG_member, name: "__1", scope: !"{tuple {usize}{bool}}", baseType: !261, size: 8, align: 8, offset: 32)
!261 = !DIBasicType(name: "bool", size: 8, align: 8, encoding: DW_ATE_boolean)
!262 = !DICompositeType(tag: DW_TAG_structure_type, name: "Range<usize>", scope: !263, size: 64, align: 32, elements: !264, identifier: "{struct 64fff32a80fc4e5e/54eb<{usize},>}")
!263 = !DINamespace(name: "ops", scope: !5)
!264 = !{!265, !266}
!265 = !DIDerivedType(tag: DW_TAG_member, name: "start", scope: !"{struct 64fff32a80fc4e5e/54eb<{usize},>}", baseType: !47, size: 32, align: 32)
!266 = !DIDerivedType(tag: DW_TAG_member, name: "end", scope: !"{struct 64fff32a80fc4e5e/54eb<{usize},>}", baseType: !47, size: 32, align: 32, offset: 32)
!267 = !DICompositeType(tag: DW_TAG_structure_type, name: "RangeTo<usize>", scope: !263, size: 32, align: 32, elements: !268, identifier: "{struct 64fff32a80fc4e5e/5533<{usize},>}")
!268 = !{!269}
!269 = !DIDerivedType(tag: DW_TAG_member, name: "end", scope: !"{struct 64fff32a80fc4e5e/5533<{usize},>}", baseType: !47, size: 32, align: 32)
!270 = !DICompositeType(tag: DW_TAG_structure_type, name: "(&str, u32)", size: 96, align: 32, elements: !271, identifier: "{tuple {&{str}}{u32}}")
!271 = !{!272, !273}
!272 = !DIDerivedType(tag: DW_TAG_member, name: "__0", scope: !"{tuple {&{str}}{u32}}", baseType: !"{&{str}}", size: 64, align: 32)
!273 = !DIDerivedType(tag: DW_TAG_member, name: "__1", scope: !"{tuple {&{str}}{u32}}", baseType: !6, size: 32, align: 32, offset: 64)
!274 = !{!275, !280, !286, !291, !292, !298, !304, !314, !316, !323, !330, !336, !342, !345, !352, !355, !366, !373, !381, !384, !388, !391, !394, !398, !402, !405, !411, !419, !422, !427, !432, !433, !442, !451, !454, !460, !464, !468, !471, !477, !483, !487, !490, !493, !496, !499, !505, !508, !511, !517, !520, !523, !528, !534, !535, !536, !539, !540, !543, !546, !549, !553, !557, !558, !561, !566, !567, !569, !575, !577, !581, !582, !583, !587, !590, !593, !594, !601, !604, !605, !609, !610, !616, !619, !624, !627, !633, !636, !640, !643, !647, !651, !654, !657, !660, !663, !664, !667, !672, !675, !676, !679, !688}
!275 = distinct !DISubprogram(name: "strlen", linkageName: "_ZN4test6strlenE", scope: !277, file: !276, line: 8, type: !278, isLocal: true, isDefinition: true, scopeLine: 8, flags: DIFlagPrototyped, isOptimized: false, templateParams: !66, variables: !66)
!276 = !DIFile(filename: "src/lib.rs", directory: "/home/pierre/Projets/test")
!277 = !DINamespace(name: "test", scope: null)
!278 = !DISubroutineType(types: !279)
!279 = !{!47, !37}
!280 = distinct !DISubprogram(name: "unwrap", linkageName: "_ZN4test6result12Result<T, E>6unwrapE", scope: !282, file: !281, line: 684, type: !284, isLocal: true, isDefinition: true, scopeLine: 684, flags: DIFlagPrototyped, isOptimized: false, templateParams: !66, variables: !66)
!281 = !DIFile(filename: "../src/libcore/result.rs", directory: "/home/pierre/Projets/test")
!282 = !DINamespace(name: "Result<T, E>", scope: !283)
!283 = !DINamespace(name: "result", scope: !277)
!284 = !DISubroutineType(types: !285)
!285 = !{!67, !77}
!286 = distinct !DISubprogram(name: "exchange_free", linkageName: "_ZN4test4heap13exchange_freeE", scope: !288, file: !287, line: 148, type: !289, isLocal: true, isDefinition: true, scopeLine: 148, flags: DIFlagPrototyped, isOptimized: false, templateParams: !66, variables: !66)
!287 = !DIFile(filename: "../src/liballoc/heap.rs", directory: "/home/pierre/Projets/test")
!288 = !DINamespace(name: "heap", scope: !277)
!289 = !DISubroutineType(types: !290)
!290 = !{null, !223, !47, !47}
!291 = distinct !DISubprogram(name: "deallocate", linkageName: "_ZN4test4heap10deallocateE", scope: !288, file: !287, line: 112, type: !289, isLocal: true, isDefinition: true, scopeLine: 112, flags: DIFlagPrototyped, isOptimized: false, templateParams: !66, variables: !66)
!292 = distinct !DISubprogram(name: "unwrap_failed<std::ffi::c_str::NulError>", linkageName: "_ZN4test6result40unwrap_failed<std::ffi::c_str::NulError>E", scope: !283, file: !281, line: 745, type: !293, isLocal: true, isDefinition: true, scopeLine: 745, flags: DIFlagPrototyped, isOptimized: false, templateParams: !296, variables: !66)
!293 = !DISubroutineType(types: !294)
!294 = !{!295, !94, !90}
!295 = !DIBasicType(name: "!", encoding: DW_ATE_unsigned)
!296 = !{!297}
!297 = !DITemplateTypeParameter(name: "E", type: !"{struct 406c24d45eb804fd/c1b}")
!298 = distinct !DISubprogram(name: "new_v1", linkageName: "_ZN4test3fmt13Arguments<'a>6new_v1E", scope: !300, file: !299, line: 236, type: !302, isLocal: true, isDefinition: true, scopeLine: 237, flags: DIFlagPrototyped, isOptimized: false, templateParams: !66, variables: !66)
!299 = !DIFile(filename: "../src/libcore/fmt/mod.rs", directory: "/home/pierre/Projets/test")
!300 = !DINamespace(name: "Arguments<'a>", scope: !301)
!301 = !DINamespace(name: "fmt", scope: !277)
!302 = !DISubroutineType(types: !303)
!303 = !{!98, !103, !216}
!304 = distinct !DISubprogram(name: "new<&str>", linkageName: "_ZN4test3fmt14ArgumentV1<'a>9new<&str>E", scope: !305, file: !299, line: 199, type: !306, isLocal: true, isDefinition: true, scopeLine: 200, flags: DIFlagPrototyped, isOptimized: false, templateParams: !312, variables: !66)
!305 = !DINamespace(name: "ArgumentV1<'a>", scope: !301)
!306 = !DISubroutineType(types: !307)
!307 = !{!162, !308, !309}
!308 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "&&str", baseType: !"{&{str}}", size: 32, align: 32)
!309 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "fn(&&str, &mut core::fmt::Formatter) -> core::result::Result<(), core::fmt::Error>", baseType: !310, size: 32, align: 32)
!310 = !DISubroutineType(types: !311)
!311 = !{!170, !308, !174}
!312 = !{!313}
!313 = !DITemplateTypeParameter(name: "T", type: !"{&{str}}")
!314 = distinct !DISubprogram(name: "fmt", linkageName: "_ZN4test3fmt13&'a T.Display3fmtE", scope: !315, file: !299, line: 1307, type: !310, isLocal: true, isDefinition: true, scopeLine: 1307, flags: DIFlagPrototyped, isOptimized: false, templateParams: !66, variables: !66)
!315 = !DINamespace(name: "&'a T.Display", scope: !301)
!316 = distinct !DISubprogram(name: "drop", linkageName: "_ZN4test3vec11Vec<T>.Drop4dropE", scope: !318, file: !317, line: 1427, type: !320, isLocal: true, isDefinition: true, scopeLine: 1427, flags: DIFlagPrototyped, isOptimized: false, templateParams: !66, variables: !66)
!317 = !DIFile(filename: "../src/libcollections/vec.rs", directory: "/home/pierre/Projets/test")
!318 = !DINamespace(name: "Vec<T>.Drop", scope: !319)
!319 = !DINamespace(name: "vec", scope: !277)
!320 = !DISubroutineType(types: !321)
!321 = !{null, !322}
!322 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "&mut collections::vec::Vec<u8>", baseType: !"{struct 427b5c52d4066ae4/f0b<{u8},>}", size: 32, align: 32)
!323 = distinct !DISubprogram(name: "unsafe_no_drop_flag_needs_drop", linkageName: "_ZN4test7raw_vec9RawVec<T>30unsafe_no_drop_flag_needs_dropE", scope: !325, file: !324, line: 552, type: !327, isLocal: true, isDefinition: true, scopeLine: 552, flags: DIFlagPrototyped, isOptimized: false, templateParams: !66, variables: !66)
!324 = !DIFile(filename: "../src/liballoc/raw_vec.rs", directory: "/home/pierre/Projets/test")
!325 = !DINamespace(name: "RawVec<T>", scope: !326)
!326 = !DINamespace(name: "raw_vec", scope: !277)
!327 = !DISubroutineType(types: !328)
!328 = !{!261, !329}
!329 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "&alloc::raw_vec::RawVec<u8>", baseType: !"{struct 9ecd5042c323c91a/2ee<{u8},>}", size: 32, align: 32)
!330 = distinct !DISubprogram(name: "into_iter", linkageName: "_ZN4test4iter14I.IntoIterator9into_iterE", scope: !332, file: !331, line: 2662, type: !334, isLocal: true, isDefinition: true, scopeLine: 2662, flags: DIFlagPrototyped, isOptimized: false, templateParams: !66, variables: !66)
!331 = !DIFile(filename: "../src/libcore/iter.rs", directory: "/home/pierre/Projets/test")
!332 = !DINamespace(name: "I.IntoIterator", scope: !333)
!333 = !DINamespace(name: "iter", scope: !277)
!334 = !DISubroutineType(types: !335)
!335 = !{!220, !220}
!336 = distinct !DISubprogram(name: "iter_mut", linkageName: "_ZN4test5slice3[T]8iter_mutE", scope: !338, file: !337, line: 380, type: !340, isLocal: true, isDefinition: true, scopeLine: 380, flags: DIFlagPrototyped, isOptimized: false, templateParams: !66, variables: !66)
!337 = !DIFile(filename: "../src/libcollections/slice.rs", directory: "/home/pierre/Projets/test")
!338 = !DINamespace(name: "[T]", scope: !339)
!339 = !DINamespace(name: "slice", scope: !277)
!340 = !DISubroutineType(types: !341)
!341 = !{!220, !227}
!342 = distinct !DISubprogram(name: "iter_mut", linkageName: "_ZN4test5slice12[T].SliceExt8iter_mutE", scope: !344, file: !343, line: 338, type: !340, isLocal: true, isDefinition: true, scopeLine: 338, flags: DIFlagPrototyped, isOptimized: false, templateParams: !66, variables: !66)
!343 = !DIFile(filename: "../src/libcore/slice.rs", directory: "/home/pierre/Projets/test")
!344 = !DINamespace(name: "[T].SliceExt", scope: !339)
!345 = distinct !DISubprogram(name: "size_of<u8>", linkageName: "_ZN4test3mem11size_of<u8>E", scope: !347, file: !346, line: 129, type: !348, isLocal: true, isDefinition: true, scopeLine: 129, flags: DIFlagPrototyped, isOptimized: false, templateParams: !350, variables: !66)
!346 = !DIFile(filename: "../src/libcore/mem.rs", directory: "/home/pierre/Projets/test")
!347 = !DINamespace(name: "mem", scope: !277)
!348 = !DISubroutineType(types: !349)
!349 = !{!47}
!350 = !{!351}
!351 = !DITemplateTypeParameter(name: "T", type: !18)
!352 = distinct !DISubprogram(name: "as_mut_ptr", linkageName: "_ZN4test5slice12[T].SliceExt10as_mut_ptrE", scope: !344, file: !343, line: 453, type: !353, isLocal: true, isDefinition: true, scopeLine: 453, flags: DIFlagPrototyped, isOptimized: false, templateParams: !66, variables: !66)
!353 = !DISubroutineType(types: !354)
!354 = !{!223, !227}
!355 = distinct !DISubprogram(name: "repr<[u8]>", linkageName: "_ZN4test3raw4Repr10repr<[u8]>E", scope: !357, file: !356, line: 159, type: !359, isLocal: true, isDefinition: true, scopeLine: 159, flags: DIFlagPrototyped, isOptimized: false, templateParams: !361, variables: !66)
!356 = !DIFile(filename: "../src/libcore/raw.rs", directory: "/home/pierre/Projets/test")
!357 = !DINamespace(name: "Repr", scope: !358)
!358 = !DINamespace(name: "raw", scope: !277)
!359 = !DISubroutineType(types: !360)
!360 = !{!231, !236}
!361 = !{!362}
!362 = !DITemplateTypeParameter(name: "Self", type: !363)
!363 = !DICompositeType(tag: DW_TAG_array_type, baseType: !18, align: 8, elements: !364)
!364 = !{!365}
!365 = !DISubrange(count: -1)
!366 = distinct !DISubprogram(name: "transmute_copy<&[u8],core::raw::Slice<u8>>", linkageName: "_ZN4test3mem42transmute_copy<&[u8],core::raw::Slice<u8>>E", scope: !347, file: !346, line: 580, type: !367, isLocal: true, isDefinition: true, scopeLine: 580, flags: DIFlagPrototyped, isOptimized: false, templateParams: !370, variables: !66)
!367 = !DISubroutineType(types: !368)
!368 = !{!231, !369}
!369 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "&&[u8]", baseType: !"{&{[]{u8}}}", size: 32, align: 32)
!370 = !{!371, !372}
!371 = !DITemplateTypeParameter(name: "T", type: !"{&{[]{u8}}}")
!372 = !DITemplateTypeParameter(name: "U", type: !"{struct 64fff32a80fc4e5e/75e8<{u8},>}")
!373 = distinct !DISubprogram(name: "read<core::raw::Slice<u8>>", linkageName: "_ZN4test3ptr26read<core::raw::Slice<u8>>E", scope: !375, file: !374, line: 124, type: !376, isLocal: true, isDefinition: true, scopeLine: 124, flags: DIFlagPrototyped, isOptimized: false, templateParams: !379, variables: !66)
!374 = !DIFile(filename: "../src/libcore/ptr.rs", directory: "/home/pierre/Projets/test")
!375 = !DINamespace(name: "ptr", scope: !277)
!376 = !DISubroutineType(types: !377)
!377 = !{!231, !378}
!378 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "*const core::raw::Slice<u8>", baseType: !"{struct 64fff32a80fc4e5e/75e8<{u8},>}", size: 32, align: 32)
!379 = !{!380}
!380 = !DITemplateTypeParameter(name: "T", type: !"{struct 64fff32a80fc4e5e/75e8<{u8},>}")
!381 = distinct !DISubprogram(name: "uninitialized<core::raw::Slice<u8>>", linkageName: "_ZN4test3mem35uninitialized<core::raw::Slice<u8>>E", scope: !347, file: !346, line: 342, type: !382, isLocal: true, isDefinition: true, scopeLine: 342, flags: DIFlagPrototyped, isOptimized: false, templateParams: !379, variables: !66)
!382 = !DISubroutineType(types: !383)
!383 = !{!231}
!384 = distinct !DISubprogram(name: "is_null", linkageName: "_ZN4test3ptr6*mut T7is_nullE", scope: !385, file: !374, line: 218, type: !386, isLocal: true, isDefinition: true, scopeLine: 218, flags: DIFlagPrototyped, isOptimized: false, templateParams: !66, variables: !66)
!385 = !DINamespace(name: "*mut T", scope: !375)
!386 = !DISubroutineType(types: !387)
!387 = !{!261, !223}
!388 = distinct !DISubprogram(name: "size_from_ptr<u8>", linkageName: "_ZN4test5slice17size_from_ptr<u8>E", scope: !339, file: !343, line: 651, type: !389, isLocal: true, isDefinition: true, scopeLine: 651, flags: DIFlagPrototyped, isOptimized: false, templateParams: !350, variables: !66)
!389 = !DISubroutineType(types: !390)
!390 = !{!47, !63}
!391 = distinct !DISubprogram(name: "len", linkageName: "_ZN4test5slice12[T].SliceExt3lenE", scope: !344, file: !343, line: 317, type: !392, isLocal: true, isDefinition: true, scopeLine: 317, flags: DIFlagPrototyped, isOptimized: false, templateParams: !66, variables: !66)
!392 = !DISubroutineType(types: !393)
!393 = !{!47, !236}
!394 = distinct !DISubprogram(name: "offset", linkageName: "_ZN4test3ptr6*mut T6offsetE", scope: !385, file: !374, line: 255, type: !395, isLocal: true, isDefinition: true, scopeLine: 255, flags: DIFlagPrototyped, isOptimized: false, templateParams: !66, variables: !66)
!395 = !DISubroutineType(types: !396)
!396 = !{!223, !223, !397}
!397 = !DIBasicType(name: "isize", size: 32, align: 32, encoding: DW_ATE_signed)
!398 = distinct !DISubprogram(name: "deref_mut", linkageName: "_ZN4test3vec20Vec<T>.ops::DerefMut9deref_mutE", scope: !399, file: !317, line: 1229, type: !400, isLocal: true, isDefinition: true, scopeLine: 1229, flags: DIFlagPrototyped, isOptimized: false, templateParams: !66, variables: !66)
!399 = !DINamespace(name: "Vec<T>.ops::DerefMut", scope: !319)
!400 = !DISubroutineType(types: !401)
!401 = !{!227, !322}
!402 = distinct !DISubprogram(name: "ptr", linkageName: "_ZN4test7raw_vec9RawVec<T>3ptrE", scope: !325, file: !324, line: 143, type: !403, isLocal: true, isDefinition: true, scopeLine: 143, flags: DIFlagPrototyped, isOptimized: false, templateParams: !66, variables: !66)
!403 = !DISubroutineType(types: !404)
!404 = !{!223, !329}
!405 = distinct !DISubprogram(name: "deref", linkageName: "_ZN4test3ptr15Unique<T>.Deref5derefE", scope: !406, file: !374, line: 532, type: !407, isLocal: true, isDefinition: true, scopeLine: 532, flags: DIFlagPrototyped, isOptimized: false, templateParams: !66, variables: !66)
!406 = !DINamespace(name: "Unique<T>.Deref", scope: !375)
!407 = !DISubroutineType(types: !408)
!408 = !{!409, !410}
!409 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "&*mut u8", baseType: !223, size: 32, align: 32)
!410 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "&core::ptr::Unique<u8>", baseType: !"{struct 64fff32a80fc4e5e/331b<{u8},>}", size: 32, align: 32)
!411 = distinct !DISubprogram(name: "deref", linkageName: "_ZN4test7nonzero16NonZero<T>.Deref5derefE", scope: !413, file: !412, line: 54, type: !415, isLocal: true, isDefinition: true, scopeLine: 54, flags: DIFlagPrototyped, isOptimized: false, templateParams: !66, variables: !66)
!412 = !DIFile(filename: "../src/libcore/nonzero.rs", directory: "/home/pierre/Projets/test")
!413 = !DINamespace(name: "NonZero<T>.Deref", scope: !414)
!414 = !DINamespace(name: "nonzero", scope: !277)
!415 = !DISubroutineType(types: !416)
!416 = !{!417, !418}
!417 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "&*const u8", baseType: !63, size: 32, align: 32)
!418 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "&core::nonzero::NonZero<*const u8>", baseType: !"{struct 64fff32a80fc4e5e/173a<{*{u8}},>}", size: 32, align: 32)
!419 = distinct !DISubprogram(name: "from_raw_parts_mut<u8>", linkageName: "_ZN4test5slice22from_raw_parts_mut<u8>E", scope: !339, file: !343, line: 1431, type: !420, isLocal: true, isDefinition: true, scopeLine: 1431, flags: DIFlagPrototyped, isOptimized: false, templateParams: !350, variables: !66)
!420 = !DISubroutineType(types: !421)
!421 = !{!227, !223, !47}
!422 = distinct !DISubprogram(name: "next", linkageName: "_ZN4test5slice23IterMut<'a, T>.Iterator4nextE", scope: !423, file: !343, line: 663, type: !424, isLocal: true, isDefinition: true, scopeLine: 663, flags: DIFlagPrototyped, isOptimized: false, templateParams: !66, variables: !66)
!423 = !DINamespace(name: "IterMut<'a, T>.Iterator", scope: !339)
!424 = !DISubroutineType(types: !425)
!425 = !{!240, !426}
!426 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "&mut core::slice::IterMut<u8>", baseType: !"{struct 64fff32a80fc4e5e/7915<{u8},>}", size: 32, align: 32)
!427 = distinct !DISubprogram(name: "drop", linkageName: "_ZN4test7raw_vec14RawVec<T>.Drop4dropE", scope: !428, file: !324, line: 560, type: !429, isLocal: true, isDefinition: true, scopeLine: 560, flags: DIFlagPrototyped, isOptimized: false, templateParams: !66, variables: !66)
!428 = !DINamespace(name: "RawVec<T>.Drop", scope: !326)
!429 = !DISubroutineType(types: !430)
!430 = !{null, !431}
!431 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "&mut alloc::raw_vec::RawVec<u8>", baseType: !"{struct 9ecd5042c323c91a/2ee<{u8},>}", size: 32, align: 32)
!432 = distinct !DISubprogram(name: "align_of<u8>", linkageName: "_ZN4test3mem12align_of<u8>E", scope: !347, file: !346, line: 197, type: !348, isLocal: true, isDefinition: true, scopeLine: 197, flags: DIFlagPrototyped, isOptimized: false, templateParams: !350, variables: !66)
!433 = distinct !DISubprogram(name: "new<std::ffi::c_str::NulError>", linkageName: "_ZN4test3fmt14ArgumentV1<'a>30new<std::ffi::c_str::NulError>E", scope: !305, file: !299, line: 199, type: !434, isLocal: true, isDefinition: true, scopeLine: 200, flags: DIFlagPrototyped, isOptimized: false, templateParams: !440, variables: !66)
!434 = !DISubroutineType(types: !435)
!435 = !{!162, !436, !437}
!436 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "&std::ffi::c_str::NulError", baseType: !"{struct 406c24d45eb804fd/c1b}", size: 32, align: 32)
!437 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "fn(&std::ffi::c_str::NulError, &mut core::fmt::Formatter) -> core::result::Result<(), core::fmt::Error>", baseType: !438, size: 32, align: 32)
!438 = !DISubroutineType(types: !439)
!439 = !{!170, !436, !174}
!440 = !{!441}
!441 = !DITemplateTypeParameter(name: "T", type: !"{struct 406c24d45eb804fd/c1b}")
!442 = distinct !DISubprogram(name: "new<collections::string::String>", linkageName: "_ZN4test3ffi5c_str7CString32new<collections::string::String>E", scope: !444, file: !443, line: 199, type: !447, isLocal: true, isDefinition: true, scopeLine: 199, flags: DIFlagPrototyped, isOptimized: false, templateParams: !449, variables: !66)
!443 = !DIFile(filename: "../src/libstd/ffi/c_str.rs", directory: "/home/pierre/Projets/test")
!444 = !DINamespace(name: "CString", scope: !445)
!445 = !DINamespace(name: "c_str", scope: !446)
!446 = !DINamespace(name: "ffi", scope: !277)
!447 = !DISubroutineType(types: !448)
!448 = !{!77, !37}
!449 = !{!450}
!450 = !DITemplateTypeParameter(name: "T", type: !"{struct 427b5c52d4066ae4/d01}")
!451 = distinct !DISubprogram(name: "main", linkageName: "_ZN4test4mainE", scope: !277, file: !276, line: 16, type: !452, isLocal: false, isDefinition: true, scopeLine: 16, flags: DIFlagPrototyped, isOptimized: false, templateParams: !66, variables: !66)
!452 = !DISubroutineType(types: !453)
!453 = !{null}
!454 = distinct !DISubprogram(name: "to_string", linkageName: "_ZN4test6string10T.ToString9to_stringE", scope: !456, file: !455, line: 1742, type: !458, isLocal: true, isDefinition: true, scopeLine: 1742, flags: DIFlagPrototyped, isOptimized: false, templateParams: !66, variables: !66)
!455 = !DIFile(filename: "../src/libcollections/string.rs", directory: "/home/pierre/Projets/test")
!456 = !DINamespace(name: "T.ToString", scope: !457)
!457 = !DINamespace(name: "string", scope: !277)
!458 = !DISubroutineType(types: !459)
!459 = !{!37, !94}
!460 = distinct !DISubprogram(name: "new", linkageName: "_ZN4test6string6String3newE", scope: !461, file: !455, line: 352, type: !462, isLocal: true, isDefinition: true, scopeLine: 352, flags: DIFlagPrototyped, isOptimized: false, templateParams: !66, variables: !66)
!461 = !DINamespace(name: "String", scope: !457)
!462 = !DISubroutineType(types: !463)
!463 = !{!37}
!464 = distinct !DISubprogram(name: "new", linkageName: "_ZN4test3vec6Vec<T>3newE", scope: !465, file: !317, line: 251, type: !466, isLocal: true, isDefinition: true, scopeLine: 251, flags: DIFlagPrototyped, isOptimized: false, templateParams: !66, variables: !66)
!465 = !DINamespace(name: "Vec<T>", scope: !319)
!466 = !DISubroutineType(types: !467)
!467 = !{!42}
!468 = distinct !DISubprogram(name: "new", linkageName: "_ZN4test7raw_vec9RawVec<T>3newE", scope: !325, file: !324, line: 58, type: !469, isLocal: true, isDefinition: true, scopeLine: 58, flags: DIFlagPrototyped, isOptimized: false, templateParams: !66, variables: !66)
!469 = !DISubroutineType(types: !470)
!470 = !{!48}
!471 = distinct !DISubprogram(name: "write_fmt<collections::string::String>", linkageName: "_ZN4test3fmt5Write38write_fmt<collections::string::String>E", scope: !472, file: !299, line: 111, type: !473, isLocal: true, isDefinition: true, scopeLine: 111, flags: DIFlagPrototyped, isOptimized: false, templateParams: !475, variables: !66)
!472 = !DINamespace(name: "Write", scope: !301)
!473 = !DISubroutineType(types: !474)
!474 = !{!170, !252, !98}
!475 = !{!476}
!476 = !DITemplateTypeParameter(name: "Self", type: !"{struct 427b5c52d4066ae4/d01}")
!477 = distinct !DISubprogram(name: "write_str", linkageName: "_ZN4test3fmt5Write9write_fmt20Adapter<'a, T>.Write9write_strE", scope: !478, file: !299, line: 120, type: !480, isLocal: true, isDefinition: true, scopeLine: 120, flags: DIFlagPrototyped, isOptimized: false, templateParams: !66, variables: !66)
!478 = !DINamespace(name: "Adapter<'a, T>.Write", scope: !479)
!479 = !DINamespace(name: "write_fmt", scope: !472)
!480 = !DISubroutineType(types: !481)
!481 = !{!170, !482, !94}
!482 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "&mut core::fmt::Write::write_fmt::Adapter<collections::string::String>", baseType: !"{struct 64fff32a80fc4e5e/87dd<{struct 427b5c52d4066ae4/d01},>}", size: 32, align: 32)
!483 = distinct !DISubprogram(name: "write_str", linkageName: "_ZN4test6string17String.fmt::Write9write_strE", scope: !484, file: !455, line: 1832, type: !485, isLocal: true, isDefinition: true, scopeLine: 1832, flags: DIFlagPrototyped, isOptimized: false, templateParams: !66, variables: !66)
!484 = !DINamespace(name: "String.fmt::Write", scope: !457)
!485 = !DISubroutineType(types: !486)
!486 = !{!170, !252, !94}
!487 = distinct !DISubprogram(name: "push_str", linkageName: "_ZN4test6string6String8push_strE", scope: !461, file: !455, line: 815, type: !488, isLocal: true, isDefinition: true, scopeLine: 815, flags: DIFlagPrototyped, isOptimized: false, templateParams: !66, variables: !66)
!488 = !DISubroutineType(types: !489)
!489 = !{null, !252, !94}
!490 = distinct !DISubprogram(name: "extend_from_slice", linkageName: "_ZN4test3vec6Vec<T>17extend_from_sliceE", scope: !465, file: !317, line: 954, type: !491, isLocal: true, isDefinition: true, scopeLine: 954, flags: DIFlagPrototyped, isOptimized: false, templateParams: !66, variables: !66)
!491 = !DISubroutineType(types: !492)
!492 = !{null, !322, !236}
!493 = distinct !DISubprogram(name: "reserve", linkageName: "_ZN4test3vec6Vec<T>7reserveE", scope: !465, file: !317, line: 377, type: !494, isLocal: true, isDefinition: true, scopeLine: 377, flags: DIFlagPrototyped, isOptimized: false, templateParams: !66, variables: !66)
!494 = !DISubroutineType(types: !495)
!495 = !{null, !322, !47}
!496 = distinct !DISubprogram(name: "reserve", linkageName: "_ZN4test7raw_vec9RawVec<T>7reserveE", scope: !325, file: !324, line: 403, type: !497, isLocal: true, isDefinition: true, scopeLine: 403, flags: DIFlagPrototyped, isOptimized: false, templateParams: !66, variables: !66)
!497 = !DISubroutineType(types: !498)
!498 = !{null, !431, !47, !47}
!499 = distinct !DISubprogram(name: "wrapping_sub", linkageName: "_ZN4test3num5usize12wrapping_subE", scope: !501, file: !500, line: 1676, type: !503, isLocal: true, isDefinition: true, scopeLine: 1676, flags: DIFlagPrototyped, isOptimized: false, templateParams: !66, variables: !66)
!500 = !DIFile(filename: "../src/libcore/num/mod.rs", directory: "/home/pierre/Projets/test")
!501 = !DINamespace(name: "usize", scope: !502)
!502 = !DINamespace(name: "num", scope: !277)
!503 = !DISubroutineType(types: !504)
!504 = !{!47, !47, !47}
!505 = distinct !DISubprogram(name: "cap", linkageName: "_ZN4test7raw_vec9RawVec<T>3capE", scope: !325, file: !324, line: 150, type: !506, isLocal: true, isDefinition: true, scopeLine: 150, flags: DIFlagPrototyped, isOptimized: false, templateParams: !66, variables: !66)
!506 = !DISubroutineType(types: !507)
!507 = !{!47, !329}
!508 = distinct !DISubprogram(name: "amortized_new_size", linkageName: "_ZN4test7raw_vec9RawVec<T>18amortized_new_sizeE", scope: !325, file: !324, line: 346, type: !509, isLocal: true, isDefinition: true, scopeLine: 346, flags: DIFlagPrototyped, isOptimized: false, templateParams: !66, variables: !66)
!509 = !DISubroutineType(types: !510)
!510 = !{!253, !329, !47, !47}
!511 = distinct !DISubprogram(name: "expect", linkageName: "_ZN4test6option9Option<T>6expectE", scope: !513, file: !512, line: 295, type: !515, isLocal: true, isDefinition: true, scopeLine: 295, flags: DIFlagPrototyped, isOptimized: false, templateParams: !66, variables: !66)
!512 = !DIFile(filename: "../src/libcore/option.rs", directory: "/home/pierre/Projets/test")
!513 = !DINamespace(name: "Option<T>", scope: !514)
!514 = !DINamespace(name: "option", scope: !277)
!515 = !DISubroutineType(types: !516)
!516 = !{!47, !196, !94}
!517 = distinct !DISubprogram(name: "checked_add", linkageName: "_ZN4test3num5usize11checked_addE", scope: !501, file: !500, line: 1447, type: !518, isLocal: true, isDefinition: true, scopeLine: 1447, flags: DIFlagPrototyped, isOptimized: false, templateParams: !66, variables: !66)
!518 = !DISubroutineType(types: !519)
!519 = !{!196, !47, !47}
!520 = distinct !DISubprogram(name: "overflowing_add", linkageName: "_ZN4test3num5usize15overflowing_addE", scope: !501, file: !500, line: 1820, type: !521, isLocal: true, isDefinition: true, scopeLine: 1820, flags: DIFlagPrototyped, isOptimized: false, templateParams: !66, variables: !66)
!521 = !DISubroutineType(types: !522)
!522 = !{!257, !47, !47}
!523 = distinct !DISubprogram(name: "max<usize>", linkageName: "_ZN4test3cmp10max<usize>E", scope: !525, file: !524, line: 373, type: !503, isLocal: true, isDefinition: true, scopeLine: 373, flags: DIFlagPrototyped, isOptimized: false, templateParams: !526, variables: !66)
!524 = !DIFile(filename: "../src/libcore/cmp.rs", directory: "/home/pierre/Projets/test")
!525 = !DINamespace(name: "cmp", scope: !277)
!526 = !{!527}
!527 = !DITemplateTypeParameter(name: "T", type: !47)
!528 = distinct !DISubprogram(name: "ge", linkageName: "_ZN4test3cmp5impls16usize.PartialOrd2geE", scope: !529, file: !524, line: 474, type: !531, isLocal: true, isDefinition: true, scopeLine: 474, flags: DIFlagPrototyped, isOptimized: false, templateParams: !66, variables: !66)
!529 = !DINamespace(name: "usize.PartialOrd", scope: !530)
!530 = !DINamespace(name: "impls", scope: !525)
!531 = !DISubroutineType(types: !532)
!532 = !{!261, !533, !533}
!533 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "&usize", baseType: !47, size: 32, align: 32)
!534 = distinct !DISubprogram(name: "checked_mul", linkageName: "_ZN4test3num5usize11checked_mulE", scope: !501, file: !500, line: 1483, type: !518, isLocal: true, isDefinition: true, scopeLine: 1483, flags: DIFlagPrototyped, isOptimized: false, templateParams: !66, variables: !66)
!535 = distinct !DISubprogram(name: "overflowing_mul", linkageName: "_ZN4test3num5usize15overflowing_mulE", scope: !501, file: !500, line: 1870, type: !521, isLocal: true, isDefinition: true, scopeLine: 1870, flags: DIFlagPrototyped, isOptimized: false, templateParams: !66, variables: !66)
!536 = distinct !DISubprogram(name: "alloc_guard", linkageName: "_ZN4test7raw_vec11alloc_guardE", scope: !326, file: !324, line: 585, type: !537, isLocal: true, isDefinition: true, scopeLine: 585, flags: DIFlagPrototyped, isOptimized: false, templateParams: !66, variables: !66)
!537 = !DISubroutineType(types: !538)
!538 = !{null, !47}
!539 = distinct !DISubprogram(name: "size_of<usize>", linkageName: "_ZN4test3mem14size_of<usize>E", scope: !347, file: !346, line: 129, type: !348, isLocal: true, isDefinition: true, scopeLine: 129, flags: DIFlagPrototyped, isOptimized: false, templateParams: !526, variables: !66)
!540 = distinct !DISubprogram(name: "allocate", linkageName: "_ZN4test4heap8allocateE", scope: !288, file: !287, line: 57, type: !541, isLocal: true, isDefinition: true, scopeLine: 57, flags: DIFlagPrototyped, isOptimized: false, templateParams: !66, variables: !66)
!541 = !DISubroutineType(types: !542)
!542 = !{!223, !47, !47}
!543 = distinct !DISubprogram(name: "check_size_and_alignment", linkageName: "_ZN4test4heap24check_size_and_alignmentE", scope: !288, file: !287, line: 37, type: !544, isLocal: true, isDefinition: true, scopeLine: 37, flags: DIFlagPrototyped, isOptimized: false, templateParams: !66, variables: !66)
!544 = !DISubroutineType(types: !545)
!545 = !{null, !47, !47}
!546 = distinct !DISubprogram(name: "reallocate", linkageName: "_ZN4test4heap10reallocateE", scope: !288, file: !287, line: 77, type: !547, isLocal: true, isDefinition: true, scopeLine: 77, flags: DIFlagPrototyped, isOptimized: false, templateParams: !66, variables: !66)
!547 = !DISubroutineType(types: !548)
!548 = !{!223, !223, !47, !47, !47}
!549 = distinct !DISubprogram(name: "new", linkageName: "_ZN4test3ptr9Unique<T>3newE", scope: !550, file: !374, line: 509, type: !551, isLocal: true, isDefinition: true, scopeLine: 509, flags: DIFlagPrototyped, isOptimized: false, templateParams: !66, variables: !66)
!550 = !DINamespace(name: "Unique<T>", scope: !375)
!551 = !DISubroutineType(types: !552)
!552 = !{!54, !223}
!553 = distinct !DISubprogram(name: "new", linkageName: "_ZN4test7nonzero10NonZero<T>3newE", scope: !554, file: !412, line: 45, type: !555, isLocal: true, isDefinition: true, scopeLine: 45, flags: DIFlagPrototyped, isOptimized: false, templateParams: !66, variables: !66)
!554 = !DINamespace(name: "NonZero<T>", scope: !414)
!555 = !DISubroutineType(types: !556)
!556 = !{!59, !63}
!557 = distinct !DISubprogram(name: "len", linkageName: "_ZN4test5slice3[T]3lenE", scope: !338, file: !337, line: 171, type: !392, isLocal: true, isDefinition: true, scopeLine: 171, flags: DIFlagPrototyped, isOptimized: false, templateParams: !66, variables: !66)
!558 = distinct !DISubprogram(name: "into_iter", linkageName: "_ZN4test4iter14I.IntoIterator9into_iterE", scope: !332, file: !331, line: 2662, type: !559, isLocal: true, isDefinition: true, scopeLine: 2662, flags: DIFlagPrototyped, isOptimized: false, templateParams: !66, variables: !66)
!559 = !DISubroutineType(types: !560)
!560 = !{!262, !262}
!561 = distinct !DISubprogram(name: "next", linkageName: "_ZN4test4iter22ops::Range<A>.Iterator4nextE", scope: !562, file: !331, line: 4518, type: !563, isLocal: true, isDefinition: true, scopeLine: 4518, flags: DIFlagPrototyped, isOptimized: false, templateParams: !66, variables: !66)
!562 = !DINamespace(name: "ops::Range<A>.Iterator", scope: !333)
!563 = !DISubroutineType(types: !564)
!564 = !{!196, !565}
!565 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "&mut core::ops::Range<usize>", baseType: !"{struct 64fff32a80fc4e5e/54eb<{usize},>}", size: 32, align: 32)
!566 = distinct !DISubprogram(name: "lt", linkageName: "_ZN4test3cmp5impls16usize.PartialOrd2ltE", scope: !529, file: !524, line: 470, type: !531, isLocal: true, isDefinition: true, scopeLine: 470, flags: DIFlagPrototyped, isOptimized: false, templateParams: !66, variables: !66)
!567 = distinct !DISubprogram(name: "one", linkageName: "_ZN4test3num9usize.One3oneE", scope: !568, file: !500, line: 90, type: !348, isLocal: true, isDefinition: true, scopeLine: 90, flags: DIFlagPrototyped, isOptimized: false, templateParams: !66, variables: !66)
!568 = !DINamespace(name: "usize.One", scope: !502)
!569 = distinct !DISubprogram(name: "add", linkageName: "_ZN4test3ops24&'b usize.Add<&'a usize>3addE", scope: !571, file: !570, line: 157, type: !573, isLocal: true, isDefinition: true, scopeLine: 157, flags: DIFlagPrototyped, isOptimized: false, templateParams: !66, variables: !66)
!570 = !DIFile(filename: "../src/libcore/ops.rs", directory: "/home/pierre/Projets/test")
!571 = !DINamespace(name: "&'b usize.Add<&'a usize>", scope: !572)
!572 = !DINamespace(name: "ops", scope: !277)
!573 = !DISubroutineType(types: !574)
!574 = !{!47, !533, !533}
!575 = distinct !DISubprogram(name: "add", linkageName: "_ZN4test3ops9usize.Add3addE", scope: !576, file: !570, line: 208, type: !503, isLocal: true, isDefinition: true, scopeLine: 208, flags: DIFlagPrototyped, isOptimized: false, templateParams: !66, variables: !66)
!576 = !DINamespace(name: "usize.Add", scope: !572)
!577 = distinct !DISubprogram(name: "swap<usize>", linkageName: "_ZN4test3mem11swap<usize>E", scope: !347, file: !346, line: 364, type: !578, isLocal: true, isDefinition: true, scopeLine: 364, flags: DIFlagPrototyped, isOptimized: false, templateParams: !526, variables: !66)
!578 = !DISubroutineType(types: !579)
!579 = !{null, !580, !580}
!580 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "&mut usize", baseType: !47, size: 32, align: 32)
!581 = distinct !DISubprogram(name: "uninitialized<usize>", linkageName: "_ZN4test3mem20uninitialized<usize>E", scope: !347, file: !346, line: 342, type: !348, isLocal: true, isDefinition: true, scopeLine: 342, flags: DIFlagPrototyped, isOptimized: false, templateParams: !526, variables: !66)
!582 = distinct !DISubprogram(name: "forget<usize>", linkageName: "_ZN4test3mem13forget<usize>E", scope: !347, file: !346, line: 114, type: !537, isLocal: true, isDefinition: true, scopeLine: 114, flags: DIFlagPrototyped, isOptimized: false, templateParams: !526, variables: !66)
!583 = distinct !DISubprogram(name: "len", linkageName: "_ZN4test3vec6Vec<T>3lenE", scope: !465, file: !317, line: 813, type: !584, isLocal: true, isDefinition: true, scopeLine: 813, flags: DIFlagPrototyped, isOptimized: false, templateParams: !66, variables: !66)
!584 = !DISubroutineType(types: !585)
!585 = !{!47, !586}
!586 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "&collections::vec::Vec<u8>", baseType: !"{struct 427b5c52d4066ae4/f0b<{u8},>}", size: 32, align: 32)
!587 = distinct !DISubprogram(name: "write<u8>", linkageName: "_ZN4test3ptr9write<u8>E", scope: !375, file: !374, line: 161, type: !588, isLocal: true, isDefinition: true, scopeLine: 161, flags: DIFlagPrototyped, isOptimized: false, templateParams: !350, variables: !66)
!588 = !DISubroutineType(types: !589)
!589 = !{null, !223, !18}
!590 = distinct !DISubprogram(name: "get_unchecked_mut", linkageName: "_ZN4test5slice3[T]17get_unchecked_mutE", scope: !338, file: !337, line: 301, type: !591, isLocal: true, isDefinition: true, scopeLine: 301, flags: DIFlagPrototyped, isOptimized: false, templateParams: !66, variables: !66)
!591 = !DISubroutineType(types: !592)
!592 = !{!246, !227, !47}
!593 = distinct !DISubprogram(name: "get_unchecked_mut", linkageName: "_ZN4test5slice12[T].SliceExt17get_unchecked_mutE", scope: !344, file: !343, line: 448, type: !591, isLocal: true, isDefinition: true, scopeLine: 448, flags: DIFlagPrototyped, isOptimized: false, templateParams: !66, variables: !66)
!594 = distinct !DISubprogram(name: "clone", linkageName: "_ZN4test5clone8u8.Clone5cloneE", scope: !596, file: !595, line: 68, type: !598, isLocal: true, isDefinition: true, scopeLine: 68, flags: DIFlagPrototyped, isOptimized: false, templateParams: !66, variables: !66)
!595 = !DIFile(filename: "../src/libcore/clone.rs", directory: "/home/pierre/Projets/test")
!596 = !DINamespace(name: "u8.Clone", scope: !597)
!597 = !DINamespace(name: "clone", scope: !277)
!598 = !DISubroutineType(types: !599)
!599 = !{!18, !600}
!600 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "&u8", baseType: !18, size: 32, align: 32)
!601 = distinct !DISubprogram(name: "get_unchecked", linkageName: "_ZN4test5slice3[T]13get_uncheckedE", scope: !338, file: !337, line: 294, type: !602, isLocal: true, isDefinition: true, scopeLine: 294, flags: DIFlagPrototyped, isOptimized: false, templateParams: !66, variables: !66)
!602 = !DISubroutineType(types: !603)
!603 = !{!600, !236, !47}
!604 = distinct !DISubprogram(name: "get_unchecked", linkageName: "_ZN4test5slice12[T].SliceExt13get_uncheckedE", scope: !344, file: !343, line: 285, type: !602, isLocal: true, isDefinition: true, scopeLine: 285, flags: DIFlagPrototyped, isOptimized: false, templateParams: !66, variables: !66)
!605 = distinct !DISubprogram(name: "offset", linkageName: "_ZN4test3ptr8*const T6offsetE", scope: !606, file: !374, line: 208, type: !607, isLocal: true, isDefinition: true, scopeLine: 208, flags: DIFlagPrototyped, isOptimized: false, templateParams: !66, variables: !66)
!606 = !DINamespace(name: "*const T", scope: !375)
!607 = !DISubroutineType(types: !608)
!608 = !{!63, !63, !397}
!609 = distinct !DISubprogram(name: "set_len", linkageName: "_ZN4test3vec6Vec<T>7set_lenE", scope: !465, file: !317, line: 498, type: !494, isLocal: true, isDefinition: true, scopeLine: 498, flags: DIFlagPrototyped, isOptimized: false, templateParams: !66, variables: !66)
!610 = distinct !DISubprogram(name: "as_bytes", linkageName: "_ZN4test3str3str8as_bytesE", scope: !612, file: !611, line: 263, type: !614, isLocal: true, isDefinition: true, scopeLine: 263, flags: DIFlagPrototyped, isOptimized: false, templateParams: !66, variables: !66)
!611 = !DIFile(filename: "../src/libcollections/str.rs", directory: "/home/pierre/Projets/test")
!612 = !DINamespace(name: "str", scope: !613)
!613 = !DINamespace(name: "str", scope: !277)
!614 = !DISubroutineType(types: !615)
!615 = !{!236, !94}
!616 = distinct !DISubprogram(name: "as_bytes", linkageName: "_ZN4test3str10str.StrExt8as_bytesE", scope: !618, file: !617, line: 1840, type: !614, isLocal: true, isDefinition: true, scopeLine: 1840, flags: DIFlagPrototyped, isOptimized: false, templateParams: !66, variables: !66)
!617 = !DIFile(filename: "../src/libcore/str/mod.rs", directory: "/home/pierre/Projets/test")
!618 = !DINamespace(name: "str.StrExt", scope: !613)
!619 = distinct !DISubprogram(name: "write_char<core::fmt::Write::write_fmt::Adapter<collections::string::String>>", linkageName: "_ZN4test3fmt5Write77write_char<core::fmt::Write::write_fmt::Adapter<collections::string::String>>E", scope: !472, file: !299, line: 100, type: !620, isLocal: true, isDefinition: true, scopeLine: 100, flags: DIFlagPrototyped, isOptimized: false, templateParams: !622, variables: !66)
!620 = !DISubroutineType(types: !621)
!621 = !{!170, !482, !132}
!622 = !{!623}
!623 = !DITemplateTypeParameter(name: "Self", type: !"{struct 64fff32a80fc4e5e/87dd<{struct 427b5c52d4066ae4/d01},>}")
!624 = distinct !DISubprogram(name: "unwrap_or", linkageName: "_ZN4test6option9Option<T>9unwrap_orE", scope: !513, file: !512, line: 344, type: !625, isLocal: true, isDefinition: true, scopeLine: 344, flags: DIFlagPrototyped, isOptimized: false, templateParams: !66, variables: !66)
!625 = !DISubroutineType(types: !626)
!626 = !{!47, !196, !47}
!627 = distinct !DISubprogram(name: "encode_utf8", linkageName: "_ZN4test4char12char.CharExt11encode_utf8E", scope: !629, file: !628, line: 339, type: !631, isLocal: true, isDefinition: true, scopeLine: 339, flags: DIFlagPrototyped, isOptimized: false, templateParams: !66, variables: !66)
!628 = !DIFile(filename: "../src/libcore/char.rs", directory: "/home/pierre/Projets/test")
!629 = !DINamespace(name: "char.CharExt", scope: !630)
!630 = !DINamespace(name: "char", scope: !277)
!631 = !DISubroutineType(types: !632)
!632 = !{!196, !132, !227}
!633 = distinct !DISubprogram(name: "encode_utf8_raw", linkageName: "_ZN4test4char15encode_utf8_rawE", scope: !630, file: !628, line: 359, type: !634, isLocal: true, isDefinition: true, scopeLine: 359, flags: DIFlagPrototyped, isOptimized: false, templateParams: !66, variables: !66)
!634 = !DISubroutineType(types: !635)
!635 = !{!196, !6, !227}
!636 = distinct !DISubprogram(name: "is_empty<[u8]>", linkageName: "_ZN4test5slice8SliceExt14is_empty<[u8]>E", scope: !637, file: !343, line: 109, type: !638, isLocal: true, isDefinition: true, scopeLine: 109, flags: DIFlagPrototyped, isOptimized: false, templateParams: !361, variables: !66)
!637 = !DINamespace(name: "SliceExt", scope: !339)
!638 = !DISubroutineType(types: !639)
!639 = !{!261, !236}
!640 = distinct !DISubprogram(name: "from_utf8_unchecked", linkageName: "_ZN4test3str19from_utf8_uncheckedE", scope: !613, file: !617, line: 306, type: !641, isLocal: true, isDefinition: true, scopeLine: 306, flags: DIFlagPrototyped, isOptimized: false, templateParams: !66, variables: !66)
!641 = !DISubroutineType(types: !642)
!642 = !{!94, !236}
!643 = distinct !DISubprogram(name: "index", linkageName: "_ZN4test5slice35[T].ops::Index<ops::RangeTo<usize>>5indexE", scope: !644, file: !343, line: 548, type: !645, isLocal: true, isDefinition: true, scopeLine: 548, flags: DIFlagPrototyped, isOptimized: false, templateParams: !66, variables: !66)
!644 = !DINamespace(name: "[T].ops::Index<ops::RangeTo<usize>>", scope: !339)
!645 = !DISubroutineType(types: !646)
!646 = !{!236, !236, !267}
!647 = distinct !DISubprogram(name: "index", linkageName: "_ZN4test5slice33[T].ops::Index<ops::Range<usize>>5indexE", scope: !648, file: !343, line: 529, type: !649, isLocal: true, isDefinition: true, scopeLine: 529, flags: DIFlagPrototyped, isOptimized: false, templateParams: !66, variables: !66)
!648 = !DINamespace(name: "[T].ops::Index<ops::Range<usize>>", scope: !339)
!649 = !DISubroutineType(types: !650)
!650 = !{!236, !236, !262}
!651 = distinct !DISubprogram(name: "from_raw_parts<u8>", linkageName: "_ZN4test5slice18from_raw_parts<u8>E", scope: !339, file: !343, line: 1419, type: !652, isLocal: true, isDefinition: true, scopeLine: 1419, flags: DIFlagPrototyped, isOptimized: false, templateParams: !350, variables: !66)
!652 = !DISubroutineType(types: !653)
!653 = !{!236, !63, !47}
!654 = distinct !DISubprogram(name: "as_ptr", linkageName: "_ZN4test5slice12[T].SliceExt6as_ptrE", scope: !344, file: !343, line: 290, type: !655, isLocal: true, isDefinition: true, scopeLine: 290, flags: DIFlagPrototyped, isOptimized: false, templateParams: !66, variables: !66)
!655 = !DISubroutineType(types: !656)
!656 = !{!63, !236}
!657 = distinct !DISubprogram(name: "write_fmt", linkageName: "_ZN4test3fmt5Write9write_fmt20Adapter<'a, T>.Write9write_fmtE", scope: !478, file: !299, line: 124, type: !658, isLocal: true, isDefinition: true, scopeLine: 124, flags: DIFlagPrototyped, isOptimized: false, templateParams: !66, variables: !66)
!658 = !DISubroutineType(types: !659)
!659 = !{!170, !482, !98}
!660 = distinct !DISubprogram(name: "shrink_to_fit", linkageName: "_ZN4test6string6String13shrink_to_fitE", scope: !461, file: !455, line: 950, type: !661, isLocal: true, isDefinition: true, scopeLine: 950, flags: DIFlagPrototyped, isOptimized: false, templateParams: !66, variables: !66)
!661 = !DISubroutineType(types: !662)
!662 = !{null, !252}
!663 = distinct !DISubprogram(name: "shrink_to_fit", linkageName: "_ZN4test3vec6Vec<T>13shrink_to_fitE", scope: !465, file: !317, line: 420, type: !320, isLocal: true, isDefinition: true, scopeLine: 420, flags: DIFlagPrototyped, isOptimized: false, templateParams: !66, variables: !66)
!664 = distinct !DISubprogram(name: "shrink_to_fit", linkageName: "_ZN4test7raw_vec9RawVec<T>13shrink_to_fitE", scope: !325, file: !324, line: 501, type: !665, isLocal: true, isDefinition: true, scopeLine: 501, flags: DIFlagPrototyped, isOptimized: false, templateParams: !66, variables: !66)
!665 = !DISubroutineType(types: !666)
!666 = !{null, !431, !47}
!667 = distinct !DISubprogram(name: "replace<alloc::raw_vec::RawVec<u8>>", linkageName: "_ZN4test3mem35replace<alloc::raw_vec::RawVec<u8>>E", scope: !347, file: !346, line: 431, type: !668, isLocal: true, isDefinition: true, scopeLine: 431, flags: DIFlagPrototyped, isOptimized: false, templateParams: !670, variables: !66)
!668 = !DISubroutineType(types: !669)
!669 = !{!48, !431, !48}
!670 = !{!671}
!671 = !DITemplateTypeParameter(name: "T", type: !"{struct 9ecd5042c323c91a/2ee<{u8},>}")
!672 = distinct !DISubprogram(name: "swap<alloc::raw_vec::RawVec<u8>>", linkageName: "_ZN4test3mem32swap<alloc::raw_vec::RawVec<u8>>E", scope: !347, file: !346, line: 364, type: !673, isLocal: true, isDefinition: true, scopeLine: 364, flags: DIFlagPrototyped, isOptimized: false, templateParams: !670, variables: !66)
!673 = !DISubroutineType(types: !674)
!674 = !{null, !431, !431}
!675 = distinct !DISubprogram(name: "uninitialized<alloc::raw_vec::RawVec<u8>>", linkageName: "_ZN4test3mem41uninitialized<alloc::raw_vec::RawVec<u8>>E", scope: !347, file: !346, line: 342, type: !469, isLocal: true, isDefinition: true, scopeLine: 342, flags: DIFlagPrototyped, isOptimized: false, templateParams: !670, variables: !66)
!676 = distinct !DISubprogram(name: "forget<alloc::raw_vec::RawVec<u8>>", linkageName: "_ZN4test3mem34forget<alloc::raw_vec::RawVec<u8>>E", scope: !347, file: !346, line: 114, type: !677, isLocal: true, isDefinition: true, scopeLine: 114, flags: DIFlagPrototyped, isOptimized: false, templateParams: !670, variables: !66)
!677 = !DISubroutineType(types: !678)
!678 = !{null, !48}
!679 = distinct !DISubprogram(name: "new<&usize>", linkageName: "_ZN4test3fmt14ArgumentV1<'a>11new<&usize>E", scope: !305, file: !299, line: 199, type: !680, isLocal: true, isDefinition: true, scopeLine: 200, flags: DIFlagPrototyped, isOptimized: false, templateParams: !686, variables: !66)
!680 = !DISubroutineType(types: !681)
!681 = !{!162, !682, !683}
!682 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "&&usize", baseType: !533, size: 32, align: 32)
!683 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "fn(&&usize, &mut core::fmt::Formatter) -> core::result::Result<(), core::fmt::Error>", baseType: !684, size: 32, align: 32)
!684 = !DISubroutineType(types: !685)
!685 = !{!170, !682, !174}
!686 = !{!687}
!687 = !DITemplateTypeParameter(name: "T", type: !533)
!688 = distinct !DISubprogram(name: "fmt", linkageName: "_ZN4test3fmt11&'a T.Debug3fmtE", scope: !689, file: !299, line: 1307, type: !684, isLocal: true, isDefinition: true, scopeLine: 1307, flags: DIFlagPrototyped, isOptimized: false, templateParams: !66, variables: !66)
!689 = !DINamespace(name: "&'a T.Debug", scope: !301)
!690 = !{!691, !694}
!691 = !DIGlobalVariable(name: "__STATIC_FMTSTR", linkageName: "_ZN4test4main15__STATIC_FMTSTRE", scope: !692, file: !693, line: 7, type: !"{&{[]{&{str}}}}", isLocal: true, isDefinition: true, variable: { %str_slice*, i32 }* @_ZN4main15__STATIC_FMTSTR20h51f66707e8c9d584sbaE)
!692 = !DINamespace(name: "main", scope: !277)
!693 = !DIFile(filename: "<std macros>", directory: "/home/pierre/Projets/test")
!694 = !DIGlobalVariable(name: "_FILE_LINE", linkageName: "_ZN4test4main10_FILE_LINEE", scope: !692, file: !693, line: 10, type: !"{tuple {&{str}}{u32}}", isLocal: true, isDefinition: true, variable: { %str_slice, i32 }* @_ZN4main10_FILE_LINE20h29fb8fa22348e8df1baE)
!695 = !{i32 2, !"Debug Info Version", i32 3}
!696 = !DILocalVariable(name: "str", arg: 1, scope: !275, file: !276, line: 8, type: !"{struct 427b5c52d4066ae4/d01}")
!697 = !DIExpression()
!698 = !DILocation(line: 8, scope: !275)
!699 = !DILocation(line: 10, scope: !700)
!700 = distinct !DILexicalBlock(scope: !275, file: !276, line: 8, column: 32)
!701 = !DILocation(line: 14, scope: !275)
!702 = !DILocalVariable(name: "s", scope: !700, file: !276, line: 10, type: !"{struct 406c24d45eb804fd/bd6}")
!703 = !DILocation(line: 12, scope: !704)
!704 = distinct !DILexicalBlock(scope: !700, file: !276, line: 11, column: 4)
!705 = !DILocation(line: 14, scope: !700)
!706 = !DILocalVariable(name: "self", arg: 1, scope: !280, file: !281, line: 684, type: !"{enum 64fff32a80fc4e5e/7609<{struct 406c24d45eb804fd/bd6},{struct 406c24d45eb804fd/c1b},>}")
!707 = !DILocation(line: 684, scope: !280)
!708 = !{i32 0, i32 2}
!709 = !DILocalVariable(name: "t", scope: !710, file: !281, line: 686, type: !"{struct 406c24d45eb804fd/bd6}")
!710 = distinct !DILexicalBlock(scope: !711, file: !281, line: 686, column: 12)
!711 = distinct !DILexicalBlock(scope: !280, file: !281, line: 684, column: 29)
!712 = !DIExpression(DW_OP_deref)
!713 = !DILocation(line: 686, scope: !710)
!714 = !DILocation(line: 685, scope: !711)
!715 = !DILocalVariable(name: "e", scope: !716, file: !281, line: 687, type: !"{struct 406c24d45eb804fd/c1b}")
!716 = distinct !DILexicalBlock(scope: !711, file: !281, line: 687, column: 12)
!717 = !DILocation(line: 687, scope: !716)
!718 = !DILocalVariable(name: "ptr", arg: 1, scope: !286, file: !287, line: 148, type: !223)
!719 = !DILocation(line: 148, scope: !286)
!720 = !DILocalVariable(name: "old_size", arg: 2, scope: !286, file: !287, line: 148, type: !47)
!721 = !DILocalVariable(name: "align", arg: 3, scope: !286, file: !287, line: 148, type: !47)
!722 = !DILocation(line: 149, scope: !723)
!723 = distinct !DILexicalBlock(scope: !286, file: !287, line: 148, column: 69)
!724 = !DILocalVariable(name: "ptr", arg: 1, scope: !291, file: !287, line: 112, type: !223)
!725 = !DILocation(line: 112, scope: !291)
!726 = !DILocalVariable(name: "old_size", arg: 2, scope: !291, file: !287, line: 112, type: !47)
!727 = !DILocalVariable(name: "align", arg: 3, scope: !291, file: !287, line: 112, type: !47)
!728 = !DILocation(line: 113, scope: !729)
!729 = distinct !DILexicalBlock(scope: !291, file: !287, line: 112, column: 70)
!730 = !DILocalVariable(name: "msg", arg: 1, scope: !292, file: !281, line: 745, type: !"{&{str}}")
!731 = !DILocation(line: 745, scope: !292)
!732 = !DILocalVariable(name: "error", arg: 2, scope: !292, file: !281, line: 745, type: !"{struct 406c24d45eb804fd/c1b}")
!733 = !DILocation(line: 746, scope: !734)
!734 = distinct !DILexicalBlock(scope: !735, file: !281, line: 746, column: 11)
!735 = distinct !DILexicalBlock(scope: !737, file: !736, line: 23, column: 33)
!736 = !DIFile(filename: "../src/libcore/macros.rs", directory: "/home/pierre/Projets/test")
!737 = distinct !DILexicalBlock(scope: !292, file: !281, line: 745, column: 58)
!738 = !DILocation(line: 746, scope: !735)
!739 = !DILocalVariable(name: "__arg1", scope: !740, file: !741, line: 1, type: !436)
!740 = distinct !DILexicalBlock(scope: !735, file: !281, line: 746, column: 11)
!741 = !DIFile(filename: "../src/libcore/lib.rs", directory: "/home/pierre/Projets/test")
!742 = !DILocation(line: 1, scope: !740)
!743 = !DILocalVariable(name: "__arg0", scope: !740, file: !741, line: 1, type: !308)
!744 = !DILocation(line: 746, scope: !740)
!745 = !DILocation(line: 29, scope: !740)
!746 = !DILocation(line: 29, scope: !735)
!747 = !DILocalVariable(name: "pieces", arg: 1, scope: !298, file: !299, line: 236, type: !"{&{[]{&{str}}}}")
!748 = !DILocation(line: 236, scope: !298)
!749 = !DILocalVariable(name: "args", arg: 2, scope: !298, file: !299, line: 237, type: !"{&{[]{struct 64fff32a80fc4e5e/8802}}}")
!750 = !DILocation(line: 237, scope: !298)
!751 = !DILocation(line: 238, scope: !752)
!752 = distinct !DILexicalBlock(scope: !298, file: !299, line: 237, column: 63)
!753 = !DILocation(line: 239, scope: !752)
!754 = !DILocation(line: 240, scope: !752)
!755 = !DILocation(line: 241, scope: !752)
!756 = !DILocalVariable(name: "x", arg: 1, scope: !304, file: !299, line: 199, type: !308)
!757 = !DILocation(line: 199, scope: !304)
!758 = !DILocalVariable(name: "f", arg: 2, scope: !304, file: !299, line: 200, type: !309)
!759 = !DILocation(line: 200, scope: !304)
!760 = !DILocation(line: 202, scope: !761)
!761 = distinct !DILexicalBlock(scope: !762, file: !299, line: 201, column: 8)
!762 = distinct !DILexicalBlock(scope: !304, file: !299, line: 200, column: 77)
!763 = !DILocation(line: 203, scope: !761)
!764 = !DILocation(line: 204, scope: !761)
!765 = !DILocalVariable(name: "self", arg: 1, scope: !314, file: !299, line: 1307, type: !308)
!766 = !DILocation(line: 1307, scope: !314)
!767 = !DILocalVariable(name: "f", arg: 2, scope: !314, file: !299, line: 1307, type: !174)
!768 = !DILocation(line: 1307, scope: !769)
!769 = distinct !DILexicalBlock(scope: !314, file: !299, line: 1307, column: 55)
!770 = !DILocation(line: 1317, scope: !769)
!771 = !DILocalVariable(name: "self", arg: 1, scope: !316, file: !317, line: 1427, type: !322)
!772 = !DILocation(line: 1427, scope: !316)
!773 = !DILocation(line: 1428, scope: !774)
!774 = distinct !DILexicalBlock(scope: !316, file: !317, line: 1427, column: 23)
!775 = !{i8 0, i8 2}
!776 = !DILocation(line: 1432, scope: !777)
!777 = distinct !DILexicalBlock(scope: !778, file: !317, line: 1429, column: 12)
!778 = distinct !DILexicalBlock(scope: !774, file: !317, line: 1428, column: 53)
!779 = !DILocation(line: 1433, scope: !780)
!780 = distinct !DILexicalBlock(scope: !781, file: !317, line: 1433, column: 20)
!781 = distinct !DILexicalBlock(scope: !777, file: !317, line: 1432, column: 37)
!782 = !DILocalVariable(name: "iter", scope: !783, file: !317, line: 1433, type: !"{struct 64fff32a80fc4e5e/7915<{u8},>}")
!783 = distinct !DILexicalBlock(scope: !780, file: !317, line: 1433, column: 20)
!784 = !DILocation(line: 1433, scope: !783)
!785 = !DILocation(line: 1433, scope: !786)
!786 = distinct !DILexicalBlock(scope: !783, file: !317, line: 1433, column: 20)
!787 = !DILocalVariable(name: "x", scope: !788, file: !317, line: 1433, type: !246)
!788 = distinct !DILexicalBlock(scope: !786, file: !317, line: 1433, column: 20)
!789 = !DILocation(line: 1433, scope: !788)
!790 = !DILocation(line: 1434, scope: !791)
!791 = distinct !DILexicalBlock(scope: !788, file: !317, line: 1433, column: 45)
!792 = !DILocation(line: 1433, scope: !793)
!793 = distinct !DILexicalBlock(scope: !786, file: !317, line: 1433, column: 20)
!794 = !DILocalVariable(name: "_result", scope: !780, file: !317, line: 1433, type: !180)
!795 = !DILocalVariable(name: "self", arg: 1, scope: !323, file: !324, line: 552, type: !329)
!796 = !DILocation(line: 552, scope: !323)
!797 = !DILocation(line: 553, scope: !798)
!798 = distinct !DILexicalBlock(scope: !323, file: !324, line: 552, column: 57)
!799 = !DILocalVariable(name: "self", arg: 1, scope: !330, file: !331, line: 2662, type: !"{struct 64fff32a80fc4e5e/7915<{u8},>}")
!800 = !DILocation(line: 2662, scope: !330)
!801 = !DILocation(line: 2663, scope: !802)
!802 = distinct !DILexicalBlock(scope: !330, file: !331, line: 2662, column: 28)
!803 = !DILocalVariable(name: "self", arg: 1, scope: !336, file: !337, line: 380, type: !"{&mut{[]{u8}}}")
!804 = !DILocation(line: 380, scope: !336)
!805 = !DILocation(line: 381, scope: !806)
!806 = distinct !DILexicalBlock(scope: !336, file: !337, line: 380, column: 45)
!807 = !DILocalVariable(name: "self", arg: 1, scope: !342, file: !343, line: 338, type: !"{&mut{[]{u8}}}")
!808 = !DILocation(line: 338, scope: !342)
!809 = !DILocation(line: 340, scope: !810)
!810 = distinct !DILexicalBlock(scope: !811, file: !343, line: 339, column: 8)
!811 = distinct !DILexicalBlock(scope: !342, file: !343, line: 338, column: 41)
!812 = !DILocation(line: 341, scope: !813)
!813 = distinct !DILexicalBlock(scope: !810, file: !343, line: 340, column: 48)
!814 = !DILocation(line: 343, scope: !815)
!815 = distinct !DILexicalBlock(scope: !816, file: !343, line: 343, column: 20)
!816 = distinct !DILexicalBlock(scope: !810, file: !343, line: 342, column: 19)
!817 = !DILocalVariable(name: "p", scope: !815, file: !343, line: 343, type: !223)
!818 = !DILocation(line: 344, scope: !815)
!819 = !DILocation(line: 345, scope: !815)
!820 = !DILocalVariable(name: "p", scope: !810, file: !343, line: 340, type: !223)
!821 = !DILocation(line: 348, scope: !810)
!822 = !DILocation(line: 349, scope: !810)
!823 = !DILocation(line: 350, scope: !824)
!824 = distinct !DILexicalBlock(scope: !810, file: !343, line: 159, column: 30)
!825 = !DILocalVariable(name: "ptr", scope: !824, file: !343, line: 160, type: !223)
!826 = !DILocation(line: 160, scope: !824)
!827 = !DILocation(line: 161, scope: !824)
!828 = !DILocation(line: 652, scope: !829, inlinedAt: !830)
!829 = distinct !DILexicalBlock(scope: !388, file: !343, line: 651, column: 42)
!830 = distinct !DILocation(line: 161, scope: !824)
!831 = !DILocation(line: 162, scope: !832)
!832 = distinct !DILexicalBlock(scope: !824, file: !343, line: 161, column: 35)
!833 = !DILocation(line: 350, scope: !832)
!834 = !DILocation(line: 164, scope: !835)
!835 = distinct !DILexicalBlock(scope: !824, file: !343, line: 163, column: 15)
!836 = !DILocation(line: 350, scope: !835)
!837 = !DILocation(line: 159, scope: !824)
!838 = !DILocation(line: 129, scope: !345)
!839 = !DILocalVariable(name: "self", arg: 1, scope: !352, file: !343, line: 453, type: !"{&mut{[]{u8}}}")
!840 = !DILocation(line: 453, scope: !352)
!841 = !DILocation(line: 454, scope: !842)
!842 = distinct !DILexicalBlock(scope: !352, file: !343, line: 453, column: 39)
!843 = !DILocalVariable(name: "self", arg: 1, scope: !355, file: !356, line: 159, type: !"{&{[]{u8}}}")
!844 = !DILocation(line: 159, scope: !355)
!845 = !DILocation(line: 159, scope: !846)
!846 = distinct !DILexicalBlock(scope: !847, file: !356, line: 159, column: 26)
!847 = distinct !DILexicalBlock(scope: !355, file: !356, line: 159, column: 24)
!848 = !DILocalVariable(name: "src", arg: 1, scope: !373, file: !374, line: 124, type: !378)
!849 = !DILocation(line: 124, scope: !373, inlinedAt: !850)
!850 = distinct !DILocation(line: 581, scope: !851)
!851 = distinct !DILexicalBlock(scope: !366, file: !346, line: 580, column: 49)
!852 = !DILocalVariable(name: "tmp", scope: !853, file: !374, line: 125, type: !"{struct 64fff32a80fc4e5e/75e8<{u8},>}")
!853 = distinct !DILexicalBlock(scope: !373, file: !374, line: 124, column: 42)
!854 = !DILocation(line: 125, scope: !853, inlinedAt: !850)
!855 = !DILocalVariable(name: "src", arg: 1, scope: !366, file: !346, line: 580, type: !369)
!856 = !DILocation(line: 580, scope: !366)
!857 = !DILocation(line: 581, scope: !851)
!858 = !{!859}
!859 = distinct !{!859, !860, !"_ZN3ptr4read21h11208617273953391409E: argument 0"}
!860 = distinct !{!860, !"_ZN3ptr4read21h11208617273953391409E"}
!861 = !DILocation(line: 126, scope: !853, inlinedAt: !850)
!862 = !DILocation(line: 127, scope: !853, inlinedAt: !850)
!863 = !DILocation(line: 342, scope: !381)
!864 = !DILocalVariable(name: "self", arg: 1, scope: !384, file: !374, line: 218, type: !223)
!865 = !DILocation(line: 218, scope: !384)
!866 = !DILocation(line: 219, scope: !867)
!867 = distinct !DILexicalBlock(scope: !384, file: !374, line: 218, column: 48)
!868 = !DILocalVariable(name: "self", arg: 1, scope: !391, file: !343, line: 317, type: !"{&{[]{u8}}}")
!869 = !DILocation(line: 317, scope: !391)
!870 = !DILocation(line: 317, scope: !871)
!871 = distinct !DILexicalBlock(scope: !391, file: !343, line: 317, column: 27)
!872 = !DILocalVariable(name: "self", arg: 1, scope: !394, file: !374, line: 255, type: !223)
!873 = !DILocation(line: 255, scope: !394)
!874 = !DILocalVariable(name: "count", arg: 2, scope: !394, file: !374, line: 255, type: !397)
!875 = !DILocation(line: 256, scope: !876)
!876 = distinct !DILexicalBlock(scope: !394, file: !374, line: 255, column: 70)
!877 = !DILocalVariable(name: "self", arg: 1, scope: !398, file: !317, line: 1229, type: !322)
!878 = !DILocation(line: 1229, scope: !398)
!879 = !DILocation(line: 1231, scope: !880)
!880 = distinct !DILexicalBlock(scope: !881, file: !317, line: 1230, column: 8)
!881 = distinct !DILexicalBlock(scope: !398, file: !317, line: 1229, column: 40)
!882 = !DILocalVariable(name: "ptr", scope: !880, file: !317, line: 1231, type: !223)
!883 = !DILocation(line: 1232, scope: !880)
!884 = !DILocation(line: 1233, scope: !880)
!885 = !DILocation(line: 1230, scope: !880)
!886 = !DILocalVariable(name: "self", arg: 1, scope: !402, file: !324, line: 143, type: !329)
!887 = !DILocation(line: 143, scope: !402)
!888 = !DILocation(line: 144, scope: !889)
!889 = distinct !DILexicalBlock(scope: !402, file: !324, line: 143, column: 32)
!890 = !DILocalVariable(name: "self", arg: 1, scope: !405, file: !374, line: 532, type: !410)
!891 = !DILocation(line: 532, scope: !405)
!892 = !DILocation(line: 533, scope: !893)
!893 = distinct !DILexicalBlock(scope: !894, file: !374, line: 533, column: 8)
!894 = distinct !DILexicalBlock(scope: !405, file: !374, line: 532, column: 31)
!895 = !DILocalVariable(name: "self", arg: 1, scope: !411, file: !412, line: 54, type: !418)
!896 = !DILocation(line: 54, scope: !411)
!897 = !DILocation(line: 55, scope: !898)
!898 = distinct !DILexicalBlock(scope: !411, file: !412, line: 54, column: 26)
!899 = !DILocalVariable(name: "inner", scope: !898, file: !412, line: 55, type: !417)
!900 = !DILocation(line: 56, scope: !898)
!901 = !DILocalVariable(name: "p", arg: 1, scope: !419, file: !343, line: 1431, type: !223)
!902 = !DILocation(line: 1431, scope: !419)
!903 = !DILocalVariable(name: "len", arg: 2, scope: !419, file: !343, line: 1431, type: !47)
!904 = !DILocation(line: 1432, scope: !905)
!905 = distinct !DILexicalBlock(scope: !419, file: !343, line: 1431, column: 78)
!906 = !DILocalVariable(name: "self", arg: 1, scope: !422, file: !343, line: 663, type: !426)
!907 = !DILocation(line: 663, scope: !422)
!908 = !DILocation(line: 666, scope: !909)
!909 = distinct !DILexicalBlock(scope: !910, file: !343, line: 665, column: 16)
!910 = distinct !DILexicalBlock(scope: !422, file: !343, line: 663, column: 48)
!911 = !DILocation(line: 667, scope: !912)
!912 = distinct !DILexicalBlock(scope: !909, file: !343, line: 666, column: 48)
!913 = !DILocation(line: 668, scope: !912)
!914 = !DILocation(line: 670, scope: !909)
!915 = !DILocation(line: 671, scope: !916)
!916 = distinct !DILexicalBlock(scope: !909, file: !343, line: 670, column: 44)
!917 = !DILocation(line: 673, scope: !918)
!918 = distinct !DILexicalBlock(scope: !909, file: !343, line: 672, column: 27)
!919 = !DILocalVariable(name: "old", scope: !918, file: !343, line: 673, type: !223)
!920 = !DILocation(line: 674, scope: !921)
!921 = distinct !DILexicalBlock(scope: !918, file: !343, line: 159, column: 30)
!922 = !DILocalVariable(name: "ptr", scope: !921, file: !343, line: 160, type: !223)
!923 = !DILocation(line: 160, scope: !921)
!924 = !DILocation(line: 161, scope: !921)
!925 = !DILocation(line: 652, scope: !829, inlinedAt: !926)
!926 = distinct !DILocation(line: 161, scope: !921)
!927 = !DILocation(line: 162, scope: !928)
!928 = distinct !DILexicalBlock(scope: !921, file: !343, line: 161, column: 35)
!929 = !DILocation(line: 164, scope: !930)
!930 = distinct !DILexicalBlock(scope: !921, file: !343, line: 163, column: 15)
!931 = !DILocation(line: 159, scope: !921)
!932 = !DILocation(line: 674, scope: !918)
!933 = !DILocation(line: 675, scope: !934)
!934 = distinct !DILexicalBlock(scope: !918, file: !343, line: 170, column: 20)
!935 = !DILocalVariable(name: "ptr", scope: !934, file: !343, line: 171, type: !223)
!936 = !DILocation(line: 171, scope: !934)
!937 = !DILocation(line: 172, scope: !934)
!938 = !DILocation(line: 652, scope: !829, inlinedAt: !939)
!939 = distinct !DILocation(line: 172, scope: !934)
!940 = !DILocation(line: 174, scope: !941)
!941 = distinct !DILexicalBlock(scope: !934, file: !343, line: 172, column: 35)
!942 = !DILocation(line: 176, scope: !943)
!943 = distinct !DILexicalBlock(scope: !934, file: !343, line: 175, column: 15)
!944 = !DILocalVariable(name: "self", arg: 1, scope: !427, file: !324, line: 560, type: !431)
!945 = !DILocation(line: 560, scope: !427)
!946 = !DILocation(line: 561, scope: !947)
!947 = distinct !DILexicalBlock(scope: !427, file: !324, line: 560, column: 23)
!948 = !DILocalVariable(name: "elem_size", scope: !947, file: !324, line: 561, type: !47)
!949 = !DILocation(line: 562, scope: !947)
!950 = !DILocation(line: 563, scope: !951)
!951 = distinct !DILexicalBlock(scope: !947, file: !324, line: 562, column: 84)
!952 = !DILocalVariable(name: "align", scope: !951, file: !324, line: 563, type: !47)
!953 = !DILocation(line: 565, scope: !951)
!954 = !DILocalVariable(name: "num_bytes", scope: !951, file: !324, line: 565, type: !47)
!955 = !DILocation(line: 567, scope: !956)
!956 = distinct !DILexicalBlock(scope: !951, file: !324, line: 566, column: 12)
!957 = !DILocation(line: 197, scope: !432)
!958 = !DILocalVariable(name: "x", arg: 1, scope: !433, file: !299, line: 199, type: !436)
!959 = !DILocation(line: 199, scope: !433)
!960 = !DILocalVariable(name: "f", arg: 2, scope: !433, file: !299, line: 200, type: !437)
!961 = !DILocation(line: 200, scope: !433)
!962 = !DILocation(line: 202, scope: !963)
!963 = distinct !DILexicalBlock(scope: !964, file: !299, line: 201, column: 8)
!964 = distinct !DILexicalBlock(scope: !433, file: !299, line: 200, column: 77)
!965 = !DILocation(line: 203, scope: !963)
!966 = !DILocation(line: 204, scope: !963)
!967 = !DILocalVariable(name: "t", arg: 1, scope: !442, file: !443, line: 199, type: !"{struct 427b5c52d4066ae4/d01}")
!968 = !DILocation(line: 199, scope: !442)
!969 = !DILocation(line: 200, scope: !970)
!970 = distinct !DILexicalBlock(scope: !442, file: !443, line: 199, column: 68)
!971 = !DILocation(line: 17, scope: !972)
!972 = distinct !DILexicalBlock(scope: !451, file: !276, line: 16, column: 14)
!973 = !DILocalVariable(name: "len", scope: !972, file: !276, line: 17, type: !47)
!974 = !DILocation(line: 3, scope: !975)
!975 = distinct !DILexicalBlock(scope: !972, file: !693, line: 2)
!976 = !DILocation(line: 18, scope: !975)
!977 = !DILocalVariable(name: "left_val", scope: !978, file: !693, line: 4, type: !533)
!978 = distinct !DILexicalBlock(scope: !975, file: !693, line: 4)
!979 = !DILocation(line: 4, scope: !978)
!980 = !DILocalVariable(name: "right_val", scope: !978, file: !693, line: 4, type: !533)
!981 = !DILocation(line: 5, scope: !982)
!982 = distinct !DILexicalBlock(scope: !978, file: !693, line: 4, column: 28)
!983 = !DILocation(line: 7, scope: !984)
!984 = distinct !DILexicalBlock(scope: !985, file: !693, line: 7)
!985 = distinct !DILexicalBlock(scope: !986, file: !693, line: 7)
!986 = distinct !DILexicalBlock(scope: !982, file: !693, line: 5, column: 35)
!987 = !DILocation(line: 7, scope: !985)
!988 = !DILocation(line: 9, scope: !985)
!989 = !DILocalVariable(name: "__arg0", scope: !990, file: !276, line: 1, type: !682)
!990 = distinct !DILexicalBlock(scope: !985, file: !693, line: 7)
!991 = !DILocation(line: 1, scope: !990)
!992 = !DILocalVariable(name: "__arg1", scope: !990, file: !276, line: 1, type: !682)
!993 = !DILocation(line: 7, scope: !990)
!994 = !DILocation(line: 9, scope: !990)
!995 = !DILocation(line: 11, scope: !996)
!996 = distinct !DILexicalBlock(scope: !985, file: !693, line: 9, column: 42)
!997 = !DILocation(line: 8, scope: !985)
!998 = !DILocation(line: 19, scope: !451)
!999 = !DILocalVariable(name: "self", arg: 1, scope: !454, file: !455, line: 1742, type: !"{&{str}}")
!1000 = !DILocation(line: 1742, scope: !454)
!1001 = !DILocation(line: 1744, scope: !1002)
!1002 = distinct !DILexicalBlock(scope: !454, file: !455, line: 1742, column: 34)
!1003 = !DILocalVariable(name: "buf", scope: !1002, file: !455, line: 1744, type: !"{struct 427b5c52d4066ae4/d01}")
!1004 = !DILocation(line: 1745, scope: !1005)
!1005 = distinct !DILexicalBlock(scope: !1002, file: !455, line: 1745, column: 43)
!1006 = !DILocation(line: 1745, scope: !1002)
!1007 = !DILocalVariable(name: "__arg0", scope: !1008, file: !1009, line: 1, type: !308)
!1008 = distinct !DILexicalBlock(scope: !1002, file: !455, line: 1745, column: 43)
!1009 = !DIFile(filename: "../src/libcollections/lib.rs", directory: "/home/pierre/Projets/test")
!1010 = !DILocation(line: 1, scope: !1008)
!1011 = !DILocation(line: 1745, scope: !1008)
!1012 = !DILocation(line: 1742, scope: !1002)
!1013 = !DILocation(line: 1746, scope: !1002)
!1014 = !DILocation(line: 1747, scope: !1002)
!1015 = !DILocation(line: 353, scope: !1016)
!1016 = distinct !DILexicalBlock(scope: !460, file: !455, line: 352, column: 27)
!1017 = !DILocation(line: 352, scope: !460)
!1018 = !DILocation(line: 252, scope: !1019)
!1019 = distinct !DILexicalBlock(scope: !464, file: !317, line: 251, column: 27)
!1020 = !DILocation(line: 253, scope: !1019)
!1021 = !DILocation(line: 254, scope: !1019)
!1022 = !DILocation(line: 251, scope: !464)
!1023 = !DILocation(line: 61, scope: !1024)
!1024 = distinct !DILexicalBlock(scope: !1025, file: !324, line: 59, column: 8)
!1025 = distinct !DILexicalBlock(scope: !468, file: !324, line: 58, column: 25)
!1026 = !DILocation(line: 62, scope: !1027)
!1027 = distinct !DILexicalBlock(scope: !1024, file: !324, line: 61, column: 50)
!1028 = !DILocation(line: 63, scope: !1024)
!1029 = !DILocalVariable(name: "cap", scope: !1024, file: !324, line: 61, type: !47)
!1030 = !DILocation(line: 68, scope: !1024)
!1031 = !DILocation(line: 69, scope: !1024)
!1032 = !DILocation(line: 70, scope: !1024)
!1033 = !DILocation(line: 58, scope: !468)
!1034 = !DILocalVariable(name: "self", arg: 1, scope: !471, file: !299, line: 111, type: !252)
!1035 = !DILocation(line: 111, scope: !471)
!1036 = !DILocalVariable(name: "args", arg: 2, scope: !471, file: !299, line: 111, type: !"{struct 64fff32a80fc4e5e/8830}")
!1037 = !DILocation(line: 129, scope: !1038)
!1038 = distinct !DILexicalBlock(scope: !471, file: !299, line: 111, column: 55)
!1039 = !DILocation(line: 111, scope: !1038)
!1040 = !DILocalVariable(name: "self", arg: 1, scope: !477, file: !299, line: 120, type: !482)
!1041 = !DILocation(line: 120, scope: !477)
!1042 = !DILocalVariable(name: "s", arg: 2, scope: !477, file: !299, line: 120, type: !"{&{str}}")
!1043 = !DILocation(line: 121, scope: !1044)
!1044 = distinct !DILexicalBlock(scope: !477, file: !299, line: 120, column: 55)
!1045 = !DILocalVariable(name: "self", arg: 1, scope: !483, file: !455, line: 1832, type: !252)
!1046 = !DILocation(line: 1832, scope: !483)
!1047 = !DILocalVariable(name: "s", arg: 2, scope: !483, file: !455, line: 1832, type: !"{&{str}}")
!1048 = !DILocation(line: 1833, scope: !1049)
!1049 = distinct !DILexicalBlock(scope: !483, file: !455, line: 1832, column: 52)
!1050 = !DILocation(line: 1834, scope: !1049)
!1051 = !DILocalVariable(name: "self", arg: 1, scope: !610, file: !611, line: 263, type: !"{&{str}}")
!1052 = !DILocation(line: 263, scope: !610, inlinedAt: !1053)
!1053 = distinct !DILocation(line: 816, scope: !1054)
!1054 = distinct !DILexicalBlock(scope: !487, file: !455, line: 815, column: 45)
!1055 = !DILocalVariable(name: "self", arg: 1, scope: !487, file: !455, line: 815, type: !252)
!1056 = !DILocation(line: 815, scope: !487)
!1057 = !DILocalVariable(name: "string", arg: 2, scope: !487, file: !455, line: 815, type: !"{&{str}}")
!1058 = !DILocation(line: 816, scope: !1054)
!1059 = !{!1060}
!1060 = distinct !{!1060, !1061, !"_ZN3str3str8as_bytes20h132a95d9a9683711dSeE: argument 0"}
!1061 = distinct !{!1061, !"_ZN3str3str8as_bytes20h132a95d9a9683711dSeE"}
!1062 = !DILocation(line: 264, scope: !1063, inlinedAt: !1053)
!1063 = distinct !DILexicalBlock(scope: !610, file: !611, line: 263, column: 36)
!1064 = !DILocalVariable(name: "self", arg: 1, scope: !490, file: !317, line: 954, type: !322)
!1065 = !DILocation(line: 954, scope: !490)
!1066 = !DILocalVariable(name: "other", arg: 2, scope: !490, file: !317, line: 954, type: !"{&{[]{u8}}}")
!1067 = !DILocation(line: 955, scope: !1068)
!1068 = distinct !DILexicalBlock(scope: !490, file: !317, line: 954, column: 53)
!1069 = !DILocation(line: 957, scope: !1070)
!1070 = distinct !DILexicalBlock(scope: !1068, file: !317, line: 957, column: 8)
!1071 = !DILocalVariable(name: "iter", scope: !1072, file: !317, line: 957, type: !"{struct 64fff32a80fc4e5e/54eb<{usize},>}")
!1072 = distinct !DILexicalBlock(scope: !1070, file: !317, line: 957, column: 8)
!1073 = !DILocation(line: 957, scope: !1072)
!1074 = !DILocation(line: 957, scope: !1075)
!1075 = distinct !DILexicalBlock(scope: !1072, file: !317, line: 957, column: 8)
!1076 = !DILocalVariable(name: "i", scope: !1077, file: !317, line: 957, type: !47)
!1077 = distinct !DILexicalBlock(scope: !1075, file: !317, line: 957, column: 8)
!1078 = !DILocation(line: 957, scope: !1077)
!1079 = !DILocation(line: 958, scope: !1080)
!1080 = distinct !DILexicalBlock(scope: !1077, file: !317, line: 957, column: 32)
!1081 = !DILocalVariable(name: "len", scope: !1080, file: !317, line: 958, type: !47)
!1082 = !DILocation(line: 964, scope: !1083)
!1083 = distinct !DILexicalBlock(scope: !1080, file: !317, line: 963, column: 12)
!1084 = !DILocation(line: 965, scope: !1083)
!1085 = !DILocation(line: 957, scope: !1086)
!1086 = distinct !DILexicalBlock(scope: !1075, file: !317, line: 957, column: 8)
!1087 = !DILocalVariable(name: "_result", scope: !1070, file: !317, line: 957, type: !180)
!1088 = !DILocalVariable(name: "self", arg: 1, scope: !493, file: !317, line: 377, type: !322)
!1089 = !DILocation(line: 377, scope: !493)
!1090 = !DILocalVariable(name: "additional", arg: 2, scope: !493, file: !317, line: 377, type: !47)
!1091 = !DILocation(line: 378, scope: !1092)
!1092 = distinct !DILexicalBlock(scope: !493, file: !317, line: 377, column: 49)
!1093 = !DILocalVariable(name: "self", arg: 1, scope: !496, file: !324, line: 403, type: !431)
!1094 = !DILocation(line: 403, scope: !496)
!1095 = !DILocalVariable(name: "used_cap", arg: 2, scope: !496, file: !324, line: 403, type: !47)
!1096 = !DILocalVariable(name: "needed_extra_cap", arg: 3, scope: !496, file: !324, line: 403, type: !47)
!1097 = !DILocation(line: 405, scope: !1098)
!1098 = distinct !DILexicalBlock(scope: !1099, file: !324, line: 404, column: 8)
!1099 = distinct !DILexicalBlock(scope: !496, file: !324, line: 403, column: 72)
!1100 = !DILocalVariable(name: "elem_size", scope: !1098, file: !324, line: 405, type: !47)
!1101 = !DILocation(line: 406, scope: !1098)
!1102 = !DILocalVariable(name: "align", scope: !1098, file: !324, line: 406, type: !47)
!1103 = !DILocation(line: 415, scope: !1098)
!1104 = !DILocation(line: 416, scope: !1105)
!1105 = distinct !DILexicalBlock(scope: !1098, file: !324, line: 415, column: 69)
!1106 = !DILocation(line: 419, scope: !1098)
!1107 = !DILocalVariable(name: "new_cap", scope: !1098, file: !324, line: 419, type: !47)
!1108 = !DILocalVariable(name: "new_alloc_size", scope: !1098, file: !324, line: 419, type: !47)
!1109 = !DILocation(line: 421, scope: !1098)
!1110 = !DILocation(line: 423, scope: !1098)
!1111 = !DILocation(line: 424, scope: !1112)
!1112 = distinct !DILexicalBlock(scope: !1098, file: !324, line: 423, column: 39)
!1113 = !DILocation(line: 426, scope: !1114)
!1114 = distinct !DILexicalBlock(scope: !1098, file: !324, line: 425, column: 19)
!1115 = !DILocation(line: 427, scope: !1114)
!1116 = !DILocation(line: 428, scope: !1114)
!1117 = !DILocation(line: 429, scope: !1114)
!1118 = !DILocalVariable(name: "ptr", scope: !1098, file: !324, line: 423, type: !223)
!1119 = !DILocation(line: 433, scope: !1098)
!1120 = !DILocation(line: 434, scope: !1121)
!1121 = distinct !DILexicalBlock(scope: !1098, file: !324, line: 433, column: 29)
!1122 = !DILocation(line: 437, scope: !1098)
!1123 = !DILocation(line: 438, scope: !1098)
!1124 = !DILocalVariable(name: "self", arg: 1, scope: !499, file: !500, line: 1676, type: !47)
!1125 = !DILocation(line: 1676, scope: !499)
!1126 = !DILocalVariable(name: "rhs", arg: 2, scope: !499, file: !500, line: 1676, type: !47)
!1127 = !DILocation(line: 1678, scope: !1128)
!1128 = distinct !DILexicalBlock(scope: !1129, file: !500, line: 1677, column: 12)
!1129 = distinct !DILexicalBlock(scope: !499, file: !500, line: 1676, column: 53)
!1130 = !DILocalVariable(name: "self", arg: 1, scope: !505, file: !324, line: 150, type: !329)
!1131 = !DILocation(line: 150, scope: !505)
!1132 = !DILocation(line: 151, scope: !1133)
!1133 = distinct !DILexicalBlock(scope: !505, file: !324, line: 150, column: 31)
!1134 = !DILocation(line: 152, scope: !1135)
!1135 = distinct !DILexicalBlock(scope: !1133, file: !324, line: 151, column: 36)
!1136 = !DILocation(line: 154, scope: !1137)
!1137 = distinct !DILexicalBlock(scope: !1133, file: !324, line: 153, column: 15)
!1138 = !DILocalVariable(name: "self", arg: 1, scope: !508, file: !324, line: 346, type: !329)
!1139 = !DILocation(line: 346, scope: !508)
!1140 = !DILocalVariable(name: "used_cap", arg: 2, scope: !508, file: !324, line: 346, type: !47)
!1141 = !DILocalVariable(name: "needed_extra_cap", arg: 3, scope: !508, file: !324, line: 346, type: !47)
!1142 = !DILocation(line: 347, scope: !1143)
!1143 = distinct !DILexicalBlock(scope: !508, file: !324, line: 346, column: 93)
!1144 = !DILocalVariable(name: "elem_size", scope: !1143, file: !324, line: 347, type: !47)
!1145 = !DILocation(line: 349, scope: !1143)
!1146 = !DILocalVariable(name: "required_cap", scope: !1143, file: !324, line: 349, type: !47)
!1147 = !DILocation(line: 352, scope: !1143)
!1148 = !DILocalVariable(name: "double_cap", scope: !1143, file: !324, line: 352, type: !47)
!1149 = !DILocation(line: 354, scope: !1143)
!1150 = !DILocalVariable(name: "new_cap", scope: !1143, file: !324, line: 354, type: !47)
!1151 = !DILocation(line: 355, scope: !1143)
!1152 = !DILocalVariable(name: "new_alloc_size", scope: !1143, file: !324, line: 355, type: !47)
!1153 = !DILocation(line: 356, scope: !1143)
!1154 = !DILocalVariable(name: "self", arg: 1, scope: !511, file: !512, line: 295, type: !"{enum 64fff32a80fc4e5e/748a<{usize},>}")
!1155 = !DILocation(line: 295, scope: !511)
!1156 = !DILocalVariable(name: "msg", arg: 2, scope: !511, file: !512, line: 295, type: !"{&{str}}")
!1157 = !DILocalVariable(name: "val", scope: !1158, file: !512, line: 297, type: !47)
!1158 = distinct !DILexicalBlock(scope: !1159, file: !512, line: 297, column: 12)
!1159 = distinct !DILexicalBlock(scope: !511, file: !512, line: 295, column: 40)
!1160 = !DILocation(line: 297, scope: !1158)
!1161 = !DILocation(line: 298, scope: !1162)
!1162 = distinct !DILexicalBlock(scope: !1159, file: !512, line: 298, column: 12)
!1163 = !DILocalVariable(name: "self", arg: 1, scope: !517, file: !500, line: 1447, type: !47)
!1164 = !DILocation(line: 1447, scope: !517)
!1165 = !DILocalVariable(name: "other", arg: 2, scope: !517, file: !500, line: 1447, type: !47)
!1166 = !DILocation(line: 1448, scope: !1167)
!1167 = distinct !DILexicalBlock(scope: !517, file: !500, line: 1447, column: 62)
!1168 = !DILocalVariable(name: "a", scope: !1167, file: !500, line: 1448, type: !47)
!1169 = !DILocalVariable(name: "b", scope: !1167, file: !500, line: 1448, type: !261)
!1170 = !DILocation(line: 1449, scope: !1167)
!1171 = !DILocation(line: 1449, scope: !1172)
!1172 = distinct !DILexicalBlock(scope: !1167, file: !500, line: 1449, column: 17)
!1173 = !DILocation(line: 1449, scope: !1174)
!1174 = distinct !DILexicalBlock(scope: !1167, file: !500, line: 1449, column: 29)
!1175 = !DILocalVariable(name: "self", arg: 1, scope: !520, file: !500, line: 1820, type: !47)
!1176 = !DILocation(line: 1820, scope: !520)
!1177 = !DILocalVariable(name: "rhs", arg: 2, scope: !520, file: !500, line: 1820, type: !47)
!1178 = !DILocation(line: 1822, scope: !1179)
!1179 = distinct !DILexicalBlock(scope: !1180, file: !500, line: 1821, column: 12)
!1180 = distinct !DILexicalBlock(scope: !520, file: !500, line: 1820, column: 64)
!1181 = !DILocation(line: 1823, scope: !1179)
!1182 = !DILocalVariable(name: "a", scope: !1179, file: !500, line: 1822, type: !6)
!1183 = !DILocalVariable(name: "b", scope: !1179, file: !500, line: 1822, type: !261)
!1184 = !DILocation(line: 1824, scope: !1179)
!1185 = !DILocalVariable(name: "v1", arg: 1, scope: !523, file: !524, line: 373, type: !47)
!1186 = !DILocation(line: 373, scope: !523)
!1187 = !DILocalVariable(name: "v2", arg: 2, scope: !523, file: !524, line: 373, type: !47)
!1188 = !DILocation(line: 374, scope: !1189)
!1189 = distinct !DILexicalBlock(scope: !523, file: !524, line: 373, column: 38)
!1190 = !DILocation(line: 374, scope: !1191)
!1191 = distinct !DILexicalBlock(scope: !1189, file: !524, line: 374, column: 16)
!1192 = !DILocation(line: 374, scope: !1193)
!1193 = distinct !DILexicalBlock(scope: !1189, file: !524, line: 374, column: 28)
!1194 = !DILocalVariable(name: "self", arg: 1, scope: !528, file: !524, line: 474, type: !533)
!1195 = !DILocation(line: 474, scope: !528)
!1196 = !DILocalVariable(name: "other", arg: 2, scope: !528, file: !524, line: 474, type: !533)
!1197 = !DILocation(line: 474, scope: !1198)
!1198 = distinct !DILexicalBlock(scope: !528, file: !524, line: 474, column: 49)
!1199 = !DILocalVariable(name: "self", arg: 1, scope: !534, file: !500, line: 1483, type: !47)
!1200 = !DILocation(line: 1483, scope: !534)
!1201 = !DILocalVariable(name: "other", arg: 2, scope: !534, file: !500, line: 1483, type: !47)
!1202 = !DILocation(line: 1484, scope: !1203)
!1203 = distinct !DILexicalBlock(scope: !534, file: !500, line: 1483, column: 62)
!1204 = !DILocalVariable(name: "a", scope: !1203, file: !500, line: 1484, type: !47)
!1205 = !DILocalVariable(name: "b", scope: !1203, file: !500, line: 1484, type: !261)
!1206 = !DILocation(line: 1485, scope: !1203)
!1207 = !DILocation(line: 1485, scope: !1208)
!1208 = distinct !DILexicalBlock(scope: !1203, file: !500, line: 1485, column: 17)
!1209 = !DILocation(line: 1485, scope: !1210)
!1210 = distinct !DILexicalBlock(scope: !1203, file: !500, line: 1485, column: 29)
!1211 = !DILocalVariable(name: "self", arg: 1, scope: !535, file: !500, line: 1870, type: !47)
!1212 = !DILocation(line: 1870, scope: !535)
!1213 = !DILocalVariable(name: "rhs", arg: 2, scope: !535, file: !500, line: 1870, type: !47)
!1214 = !DILocation(line: 1872, scope: !1215)
!1215 = distinct !DILexicalBlock(scope: !1216, file: !500, line: 1871, column: 12)
!1216 = distinct !DILexicalBlock(scope: !535, file: !500, line: 1870, column: 64)
!1217 = !DILocation(line: 1873, scope: !1215)
!1218 = !DILocalVariable(name: "a", scope: !1215, file: !500, line: 1872, type: !6)
!1219 = !DILocalVariable(name: "b", scope: !1215, file: !500, line: 1872, type: !261)
!1220 = !DILocation(line: 1874, scope: !1215)
!1221 = !DILocalVariable(name: "alloc_size", arg: 1, scope: !536, file: !324, line: 585, type: !47)
!1222 = !DILocation(line: 585, scope: !536)
!1223 = !DILocation(line: 586, scope: !1224)
!1224 = distinct !DILexicalBlock(scope: !536, file: !324, line: 585, column: 34)
!1225 = !DILocation(line: 587, scope: !1226)
!1226 = distinct !DILexicalBlock(scope: !1224, file: !324, line: 586, column: 35)
!1227 = !DILocation(line: 5, scope: !1226)
!1228 = !DILocation(line: 4, scope: !1229)
!1229 = distinct !DILexicalBlock(scope: !1231, file: !1230, line: 2)
!1230 = !DIFile(filename: "<core macros>", directory: "/home/pierre/Projets/test")
!1231 = distinct !DILexicalBlock(scope: !1226, file: !1230, line: 5, column: 12)
!1232 = !DILocation(line: 129, scope: !539)
!1233 = !DILocalVariable(name: "size", arg: 1, scope: !543, file: !287, line: 37, type: !47)
!1234 = !DILocation(line: 37, scope: !543, inlinedAt: !1235)
!1235 = distinct !DILocation(line: 58, scope: !1236)
!1236 = distinct !DILexicalBlock(scope: !540, file: !287, line: 57, column: 61)
!1237 = !DILocalVariable(name: "align", arg: 2, scope: !543, file: !287, line: 37, type: !47)
!1238 = !DILocalVariable(name: "size", arg: 1, scope: !540, file: !287, line: 57, type: !47)
!1239 = !DILocation(line: 57, scope: !540)
!1240 = !DILocalVariable(name: "align", arg: 2, scope: !540, file: !287, line: 57, type: !47)
!1241 = !DILocation(line: 58, scope: !1236)
!1242 = !DILocation(line: 59, scope: !1236)
!1243 = !DILocation(line: 37, scope: !543, inlinedAt: !1244)
!1244 = distinct !DILocation(line: 78, scope: !1245)
!1245 = distinct !DILexicalBlock(scope: !546, file: !287, line: 77, column: 94)
!1246 = !DILocalVariable(name: "ptr", arg: 1, scope: !546, file: !287, line: 77, type: !223)
!1247 = !DILocation(line: 77, scope: !546)
!1248 = !DILocalVariable(name: "old_size", arg: 2, scope: !546, file: !287, line: 77, type: !47)
!1249 = !DILocalVariable(name: "size", arg: 3, scope: !546, file: !287, line: 77, type: !47)
!1250 = !DILocalVariable(name: "align", arg: 4, scope: !546, file: !287, line: 77, type: !47)
!1251 = !DILocation(line: 78, scope: !1245)
!1252 = !DILocation(line: 79, scope: !1245)
!1253 = !DILocalVariable(name: "inner", arg: 1, scope: !553, file: !412, line: 45, type: !63)
!1254 = !DILocation(line: 45, scope: !553, inlinedAt: !1255)
!1255 = distinct !DILocation(line: 510, scope: !1256)
!1256 = distinct !DILexicalBlock(scope: !549, file: !374, line: 509, column: 54)
!1257 = !DILocalVariable(name: "ptr", arg: 1, scope: !549, file: !374, line: 509, type: !223)
!1258 = !DILocation(line: 509, scope: !549)
!1259 = !DILocation(line: 510, scope: !1256)
!1260 = !DILocation(line: 46, scope: !1261, inlinedAt: !1255)
!1261 = distinct !DILexicalBlock(scope: !553, file: !412, line: 45, column: 52)
!1262 = !DILocalVariable(name: "self", arg: 1, scope: !557, file: !337, line: 171, type: !"{&{[]{u8}}}")
!1263 = !DILocation(line: 171, scope: !557)
!1264 = !DILocation(line: 172, scope: !1265)
!1265 = distinct !DILexicalBlock(scope: !557, file: !337, line: 171, column: 31)
!1266 = !DILocalVariable(name: "self", arg: 1, scope: !558, file: !331, line: 2662, type: !"{struct 64fff32a80fc4e5e/54eb<{usize},>}")
!1267 = !DILocation(line: 2662, scope: !558)
!1268 = !DILocation(line: 2663, scope: !1269)
!1269 = distinct !DILexicalBlock(scope: !558, file: !331, line: 2662, column: 28)
!1270 = !DILocalVariable(name: "self", arg: 1, scope: !561, file: !331, line: 4518, type: !565)
!1271 = !DILocation(line: 4518, scope: !561)
!1272 = !DILocation(line: 4519, scope: !1273)
!1273 = distinct !DILexicalBlock(scope: !561, file: !331, line: 4518, column: 36)
!1274 = !DILocation(line: 4520, scope: !1275)
!1275 = distinct !DILexicalBlock(scope: !1273, file: !331, line: 4519, column: 33)
!1276 = !DILocalVariable(name: "n", scope: !1275, file: !331, line: 4520, type: !47)
!1277 = !DILocation(line: 4521, scope: !1275)
!1278 = !DILocation(line: 4522, scope: !1275)
!1279 = !DILocation(line: 4523, scope: !1273)
!1280 = !DILocalVariable(name: "self", arg: 1, scope: !566, file: !524, line: 470, type: !533)
!1281 = !DILocation(line: 470, scope: !566)
!1282 = !DILocalVariable(name: "other", arg: 2, scope: !566, file: !524, line: 470, type: !533)
!1283 = !DILocation(line: 470, scope: !1284)
!1284 = distinct !DILexicalBlock(scope: !566, file: !524, line: 470, column: 49)
!1285 = !DILocation(line: 90, scope: !567)
!1286 = !DILocalVariable(name: "self", arg: 1, scope: !569, file: !570, line: 157, type: !533)
!1287 = !DILocation(line: 157, scope: !569)
!1288 = !DILocalVariable(name: "other", arg: 2, scope: !569, file: !570, line: 157, type: !533)
!1289 = !DILocation(line: 158, scope: !1290)
!1290 = distinct !DILexicalBlock(scope: !569, file: !570, line: 157, column: 72)
!1291 = !DILocation(line: 211, scope: !1290)
!1292 = !DILocalVariable(name: "self", arg: 1, scope: !575, file: !570, line: 208, type: !47)
!1293 = !DILocation(line: 208, scope: !575)
!1294 = !DILocalVariable(name: "other", arg: 2, scope: !575, file: !570, line: 208, type: !47)
!1295 = !DILocation(line: 208, scope: !1296)
!1296 = distinct !DILexicalBlock(scope: !575, file: !570, line: 208, column: 42)
!1297 = !DILocalVariable(name: "x", arg: 1, scope: !577, file: !346, line: 364, type: !580)
!1298 = !DILocation(line: 364, scope: !577)
!1299 = !DILocalVariable(name: "y", arg: 2, scope: !577, file: !346, line: 364, type: !580)
!1300 = !DILocation(line: 367, scope: !1301)
!1301 = distinct !DILexicalBlock(scope: !1302, file: !346, line: 365, column: 4)
!1302 = distinct !DILexicalBlock(scope: !577, file: !346, line: 364, column: 37)
!1303 = !DILocalVariable(name: "t", scope: !1301, file: !346, line: 367, type: !47)
!1304 = !DILocation(line: 370, scope: !1301)
!1305 = !DILocation(line: 371, scope: !1301)
!1306 = !DILocation(line: 372, scope: !1301)
!1307 = !DILocation(line: 377, scope: !1301)
!1308 = !DILocation(line: 343, scope: !1309)
!1309 = distinct !DILexicalBlock(scope: !581, file: !346, line: 342, column: 38)
!1310 = !DILocation(line: 342, scope: !581)
!1311 = !DILocalVariable(name: "t", arg: 1, scope: !582, file: !346, line: 114, type: !47)
!1312 = !DILocation(line: 114, scope: !582)
!1313 = !DILocation(line: 115, scope: !1314)
!1314 = distinct !DILexicalBlock(scope: !1315, file: !346, line: 115, column: 4)
!1315 = distinct !DILexicalBlock(scope: !582, file: !346, line: 114, column: 23)
!1316 = !DILocalVariable(name: "self", arg: 1, scope: !583, file: !317, line: 813, type: !586)
!1317 = !DILocation(line: 813, scope: !583)
!1318 = !DILocation(line: 814, scope: !1319)
!1319 = distinct !DILexicalBlock(scope: !583, file: !317, line: 813, column: 31)
!1320 = !DILocalVariable(name: "dst", arg: 1, scope: !587, file: !374, line: 161, type: !223)
!1321 = !DILocation(line: 161, scope: !587)
!1322 = !DILocalVariable(name: "src", arg: 2, scope: !587, file: !374, line: 161, type: !18)
!1323 = !DILocation(line: 162, scope: !1324)
!1324 = distinct !DILexicalBlock(scope: !587, file: !374, line: 161, column: 44)
!1325 = !DILocalVariable(name: "self", arg: 1, scope: !590, file: !337, line: 301, type: !"{&mut{[]{u8}}}")
!1326 = !DILocation(line: 301, scope: !590)
!1327 = !DILocalVariable(name: "index", arg: 2, scope: !590, file: !337, line: 301, type: !47)
!1328 = !DILocation(line: 302, scope: !1329)
!1329 = distinct !DILexicalBlock(scope: !590, file: !337, line: 301, column: 71)
!1330 = !DILocalVariable(name: "self", arg: 1, scope: !593, file: !343, line: 448, type: !"{&mut{[]{u8}}}")
!1331 = !DILocation(line: 448, scope: !593)
!1332 = !DILocalVariable(name: "index", arg: 2, scope: !593, file: !343, line: 448, type: !47)
!1333 = !DILocation(line: 449, scope: !1334)
!1334 = distinct !DILexicalBlock(scope: !593, file: !343, line: 448, column: 67)
!1335 = !DILocalVariable(name: "self", arg: 1, scope: !594, file: !595, line: 68, type: !600)
!1336 = !DILocation(line: 68, scope: !594)
!1337 = !DILocation(line: 68, scope: !1338)
!1338 = distinct !DILexicalBlock(scope: !594, file: !595, line: 68, column: 34)
!1339 = !DILocalVariable(name: "self", arg: 1, scope: !601, file: !337, line: 294, type: !"{&{[]{u8}}}")
!1340 = !DILocation(line: 294, scope: !601)
!1341 = !DILocalVariable(name: "index", arg: 2, scope: !601, file: !337, line: 294, type: !47)
!1342 = !DILocation(line: 295, scope: !1343)
!1343 = distinct !DILexicalBlock(scope: !601, file: !337, line: 294, column: 59)
!1344 = !DILocalVariable(name: "self", arg: 1, scope: !604, file: !343, line: 285, type: !"{&{[]{u8}}}")
!1345 = !DILocation(line: 285, scope: !604)
!1346 = !DILocalVariable(name: "index", arg: 2, scope: !604, file: !343, line: 285, type: !47)
!1347 = !DILocation(line: 286, scope: !1348)
!1348 = distinct !DILexicalBlock(scope: !604, file: !343, line: 285, column: 55)
!1349 = !DILocalVariable(name: "self", arg: 1, scope: !605, file: !374, line: 208, type: !63)
!1350 = !DILocation(line: 208, scope: !605)
!1351 = !DILocalVariable(name: "count", arg: 2, scope: !605, file: !374, line: 208, type: !397)
!1352 = !DILocation(line: 209, scope: !1353)
!1353 = distinct !DILexicalBlock(scope: !605, file: !374, line: 208, column: 72)
!1354 = !DILocalVariable(name: "self", arg: 1, scope: !609, file: !317, line: 498, type: !322)
!1355 = !DILocation(line: 498, scope: !609)
!1356 = !DILocalVariable(name: "len", arg: 2, scope: !609, file: !317, line: 498, type: !47)
!1357 = !DILocation(line: 499, scope: !1358)
!1358 = distinct !DILexicalBlock(scope: !609, file: !317, line: 498, column: 49)
!1359 = !DILocalVariable(name: "self", arg: 1, scope: !616, file: !617, line: 1840, type: !"{&{str}}")
!1360 = !DILocation(line: 1840, scope: !616)
!1361 = !DILocation(line: 1841, scope: !1362)
!1362 = distinct !DILexicalBlock(scope: !1363, file: !617, line: 1841, column: 8)
!1363 = distinct !DILexicalBlock(scope: !616, file: !617, line: 1840, column: 32)
!1364 = !DILocalVariable(name: "v", arg: 1, scope: !640, file: !617, line: 306, type: !"{&{[]{u8}}}")
!1365 = !DILocation(line: 306, scope: !640, inlinedAt: !1366)
!1366 = distinct !DILocation(line: 103, scope: !1367)
!1367 = distinct !DILexicalBlock(scope: !1368, file: !299, line: 103, column: 23)
!1368 = distinct !DILexicalBlock(scope: !619, file: !299, line: 100, column: 48)
!1369 = !DILocalVariable(name: "self", arg: 1, scope: !619, file: !299, line: 100, type: !482)
!1370 = !DILocation(line: 100, scope: !619)
!1371 = !DILocalVariable(name: "c", arg: 2, scope: !619, file: !299, line: 100, type: !132)
!1372 = !DILocation(line: 101, scope: !1368)
!1373 = !DILocalVariable(name: "utf_8", scope: !1368, file: !299, line: 101, type: !1374)
!1374 = !DICompositeType(tag: DW_TAG_array_type, baseType: !18, size: 32, align: 8, elements: !1375)
!1375 = !{!1376}
!1376 = !DISubrange(count: 4)
!1377 = !DILocation(line: 102, scope: !1368)
!1378 = !{i32 0, i32 1114112}
!1379 = !DILocalVariable(name: "bytes_written", scope: !1368, file: !299, line: 102, type: !47)
!1380 = !DILocation(line: 103, scope: !1368)
!1381 = !DILocation(line: 103, scope: !1367)
!1382 = !{!1383}
!1383 = distinct !{!1383, !1384, !"_ZN3str19from_utf8_unchecked20hdeb38e9f2f0a5f26WWRE: argument 0"}
!1384 = distinct !{!1384, !"_ZN3str19from_utf8_unchecked20hdeb38e9f2f0a5f26WWRE"}
!1385 = !DILocation(line: 307, scope: !1386, inlinedAt: !1366)
!1386 = distinct !DILexicalBlock(scope: !640, file: !617, line: 306, column: 52)
!1387 = !DILocation(line: 100, scope: !1368)
!1388 = !DILocalVariable(name: "self", arg: 1, scope: !624, file: !512, line: 344, type: !"{enum 64fff32a80fc4e5e/748a<{usize},>}")
!1389 = !DILocation(line: 344, scope: !624)
!1390 = !DILocalVariable(name: "def", arg: 2, scope: !624, file: !512, line: 344, type: !47)
!1391 = !DILocalVariable(name: "x", scope: !1392, file: !512, line: 346, type: !47)
!1392 = distinct !DILexicalBlock(scope: !1393, file: !512, line: 346, column: 12)
!1393 = distinct !DILexicalBlock(scope: !624, file: !512, line: 344, column: 40)
!1394 = !DILocation(line: 346, scope: !1392)
!1395 = !DILocation(line: 347, scope: !1396)
!1396 = distinct !DILexicalBlock(scope: !1393, file: !512, line: 347, column: 12)
!1397 = !DILocalVariable(name: "self", arg: 1, scope: !627, file: !628, line: 339, type: !132)
!1398 = !DILocation(line: 339, scope: !627)
!1399 = !DILocalVariable(name: "dst", arg: 2, scope: !627, file: !628, line: 339, type: !"{&mut{[]{u8}}}")
!1400 = !DILocation(line: 340, scope: !1401)
!1401 = distinct !DILexicalBlock(scope: !627, file: !628, line: 339, column: 58)
!1402 = !DILocalVariable(name: "code", arg: 1, scope: !633, file: !628, line: 359, type: !6)
!1403 = !DILocation(line: 359, scope: !633)
!1404 = !DILocalVariable(name: "dst", arg: 2, scope: !633, file: !628, line: 359, type: !"{&mut{[]{u8}}}")
!1405 = !DILocation(line: 361, scope: !1406)
!1406 = distinct !DILexicalBlock(scope: !633, file: !628, line: 359, column: 67)
!1407 = !DILocation(line: 362, scope: !1408)
!1408 = distinct !DILexicalBlock(scope: !1406, file: !628, line: 361, column: 43)
!1409 = !DILocation(line: 363, scope: !1408)
!1410 = !DILocation(line: 364, scope: !1406)
!1411 = !DILocation(line: 365, scope: !1412)
!1412 = distinct !DILexicalBlock(scope: !1406, file: !628, line: 364, column: 49)
!1413 = !DILocation(line: 366, scope: !1412)
!1414 = !DILocation(line: 367, scope: !1412)
!1415 = !DILocation(line: 368, scope: !1406)
!1416 = !DILocation(line: 369, scope: !1417)
!1417 = distinct !DILexicalBlock(scope: !1406, file: !628, line: 368, column: 52)
!1418 = !DILocation(line: 370, scope: !1417)
!1419 = !DILocation(line: 371, scope: !1417)
!1420 = !DILocation(line: 372, scope: !1417)
!1421 = !DILocation(line: 373, scope: !1406)
!1422 = !DILocation(line: 374, scope: !1423)
!1423 = distinct !DILexicalBlock(scope: !1406, file: !628, line: 373, column: 29)
!1424 = !DILocation(line: 375, scope: !1423)
!1425 = !DILocation(line: 376, scope: !1423)
!1426 = !DILocation(line: 377, scope: !1423)
!1427 = !DILocation(line: 378, scope: !1423)
!1428 = !DILocation(line: 379, scope: !1406)
!1429 = !DILocalVariable(name: "self", arg: 1, scope: !636, file: !343, line: 109, type: !"{&{[]{u8}}}")
!1430 = !DILocation(line: 109, scope: !636)
!1431 = !DILocation(line: 109, scope: !1432)
!1432 = distinct !DILexicalBlock(scope: !636, file: !343, line: 109, column: 31)
!1433 = !DILocalVariable(name: "self", arg: 1, scope: !643, file: !343, line: 548, type: !"{&{[]{u8}}}")
!1434 = !DILocation(line: 548, scope: !643)
!1435 = !DILocalVariable(name: "index", arg: 2, scope: !643, file: !343, line: 548, type: !"{struct 64fff32a80fc4e5e/5533<{usize},>}")
!1436 = !DILocation(line: 549, scope: !1437)
!1437 = distinct !DILexicalBlock(scope: !643, file: !343, line: 548, column: 56)
!1438 = !DILocalVariable(name: "self", arg: 1, scope: !647, file: !343, line: 529, type: !"{&{[]{u8}}}")
!1439 = !DILocation(line: 529, scope: !647)
!1440 = !DILocalVariable(name: "index", arg: 2, scope: !647, file: !343, line: 529, type: !"{struct 64fff32a80fc4e5e/54eb<{usize},>}")
!1441 = !DILocation(line: 530, scope: !1442)
!1442 = distinct !DILexicalBlock(scope: !647, file: !343, line: 529, column: 54)
!1443 = !DILocation(line: 531, scope: !1444)
!1444 = distinct !DILexicalBlock(scope: !1442, file: !343, line: 530, column: 35)
!1445 = !DILocation(line: 532, scope: !1442)
!1446 = !DILocation(line: 533, scope: !1447)
!1447 = distinct !DILexicalBlock(scope: !1442, file: !343, line: 532, column: 41)
!1448 = !DILocation(line: 537, scope: !1449)
!1449 = distinct !DILexicalBlock(scope: !1442, file: !343, line: 535, column: 8)
!1450 = !DILocation(line: 538, scope: !1449)
!1451 = !DILocation(line: 536, scope: !1449)
!1452 = !DILocalVariable(name: "p", arg: 1, scope: !651, file: !343, line: 1419, type: !63)
!1453 = !DILocation(line: 1419, scope: !651)
!1454 = !DILocalVariable(name: "len", arg: 2, scope: !651, file: !343, line: 1419, type: !47)
!1455 = !DILocation(line: 1420, scope: !1456)
!1456 = distinct !DILexicalBlock(scope: !651, file: !343, line: 1419, column: 72)
!1457 = !DILocalVariable(name: "self", arg: 1, scope: !654, file: !343, line: 290, type: !"{&{[]{u8}}}")
!1458 = !DILocation(line: 290, scope: !654)
!1459 = !DILocation(line: 291, scope: !1460)
!1460 = distinct !DILexicalBlock(scope: !654, file: !343, line: 290, column: 33)
!1461 = !DILocalVariable(name: "self", arg: 1, scope: !657, file: !299, line: 124, type: !482)
!1462 = !DILocation(line: 124, scope: !657)
!1463 = !DILocalVariable(name: "args", arg: 2, scope: !657, file: !299, line: 124, type: !"{struct 64fff32a80fc4e5e/8830}")
!1464 = !DILocation(line: 125, scope: !1465)
!1465 = distinct !DILexicalBlock(scope: !657, file: !299, line: 124, column: 63)
!1466 = !DILocalVariable(name: "self", arg: 1, scope: !660, file: !455, line: 950, type: !252)
!1467 = !DILocation(line: 950, scope: !660)
!1468 = !DILocation(line: 951, scope: !1469)
!1469 = distinct !DILexicalBlock(scope: !660, file: !455, line: 950, column: 36)
!1470 = !DILocalVariable(name: "self", arg: 1, scope: !663, file: !317, line: 420, type: !322)
!1471 = !DILocation(line: 420, scope: !663)
!1472 = !DILocation(line: 421, scope: !1473)
!1473 = distinct !DILexicalBlock(scope: !663, file: !317, line: 420, column: 36)
!1474 = !DILocalVariable(name: "self", arg: 1, scope: !664, file: !324, line: 501, type: !431)
!1475 = !DILocation(line: 501, scope: !664)
!1476 = !DILocalVariable(name: "amount", arg: 2, scope: !664, file: !324, line: 501, type: !47)
!1477 = !DILocation(line: 502, scope: !1478)
!1478 = distinct !DILexicalBlock(scope: !664, file: !324, line: 501, column: 51)
!1479 = !DILocalVariable(name: "elem_size", scope: !1478, file: !324, line: 502, type: !47)
!1480 = !DILocation(line: 503, scope: !1478)
!1481 = !DILocalVariable(name: "align", scope: !1478, file: !324, line: 503, type: !47)
!1482 = !DILocation(line: 506, scope: !1478)
!1483 = !DILocation(line: 507, scope: !1484)
!1484 = distinct !DILexicalBlock(scope: !1478, file: !324, line: 506, column: 26)
!1485 = !DILocation(line: 508, scope: !1484)
!1486 = !DILocation(line: 512, scope: !1478)
!1487 = !DILocation(line: 5, scope: !1478)
!1488 = !DILocation(line: 4, scope: !1489)
!1489 = distinct !DILexicalBlock(scope: !1490, file: !1230, line: 2)
!1490 = distinct !DILexicalBlock(scope: !1478, file: !1230, line: 5, column: 12)
!1491 = !DILocation(line: 514, scope: !1478)
!1492 = !DILocation(line: 515, scope: !1493)
!1493 = distinct !DILexicalBlock(scope: !1478, file: !324, line: 514, column: 23)
!1494 = !DILocation(line: 516, scope: !1478)
!1495 = !DILocation(line: 520, scope: !1496)
!1496 = distinct !DILexicalBlock(scope: !1497, file: !324, line: 517, column: 12)
!1497 = distinct !DILexicalBlock(scope: !1478, file: !324, line: 516, column: 37)
!1498 = !DILocation(line: 521, scope: !1496)
!1499 = !DILocation(line: 522, scope: !1496)
!1500 = !DILocation(line: 523, scope: !1496)
!1501 = !DILocalVariable(name: "ptr", scope: !1496, file: !324, line: 520, type: !223)
!1502 = !DILocation(line: 524, scope: !1496)
!1503 = !DILocation(line: 525, scope: !1504)
!1504 = distinct !DILexicalBlock(scope: !1496, file: !324, line: 524, column: 33)
!1505 = !DILocation(line: 527, scope: !1496)
!1506 = !DILocation(line: 529, scope: !1497)
!1507 = !DILocalVariable(name: "dest", arg: 1, scope: !667, file: !346, line: 431, type: !431)
!1508 = !DILocation(line: 431, scope: !667)
!1509 = !DILocalVariable(name: "src", arg: 2, scope: !667, file: !346, line: 431, type: !"{struct 9ecd5042c323c91a/2ee<{u8},>}")
!1510 = !DILocation(line: 432, scope: !1511)
!1511 = distinct !DILexicalBlock(scope: !667, file: !346, line: 431, column: 49)
!1512 = !DILocation(line: 433, scope: !1511)
!1513 = !DILocalVariable(name: "x", arg: 1, scope: !672, file: !346, line: 364, type: !431)
!1514 = !DILocation(line: 364, scope: !672)
!1515 = !DILocalVariable(name: "y", arg: 2, scope: !672, file: !346, line: 364, type: !431)
!1516 = !DILocation(line: 367, scope: !1517)
!1517 = distinct !DILexicalBlock(scope: !1518, file: !346, line: 365, column: 4)
!1518 = distinct !DILexicalBlock(scope: !672, file: !346, line: 364, column: 37)
!1519 = !DILocalVariable(name: "t", scope: !1517, file: !346, line: 367, type: !"{struct 9ecd5042c323c91a/2ee<{u8},>}")
!1520 = !DILocation(line: 370, scope: !1517)
!1521 = !DILocation(line: 371, scope: !1517)
!1522 = !DILocation(line: 372, scope: !1517)
!1523 = !DILocation(line: 377, scope: !1517)
!1524 = !DILocation(line: 365, scope: !1517)
!1525 = !DILocation(line: 342, scope: !675)
!1526 = !DILocalVariable(name: "t", arg: 1, scope: !676, file: !346, line: 114, type: !"{struct 9ecd5042c323c91a/2ee<{u8},>}")
!1527 = !DILocation(line: 114, scope: !676)
!1528 = !DILocalVariable(name: "x", arg: 1, scope: !679, file: !299, line: 199, type: !682)
!1529 = !DILocation(line: 199, scope: !679)
!1530 = !DILocalVariable(name: "f", arg: 2, scope: !679, file: !299, line: 200, type: !683)
!1531 = !DILocation(line: 200, scope: !679)
!1532 = !DILocation(line: 202, scope: !1533)
!1533 = distinct !DILexicalBlock(scope: !1534, file: !299, line: 201, column: 8)
!1534 = distinct !DILexicalBlock(scope: !679, file: !299, line: 200, column: 77)
!1535 = !DILocation(line: 203, scope: !1533)
!1536 = !DILocation(line: 204, scope: !1533)
!1537 = !DILocalVariable(name: "self", arg: 1, scope: !688, file: !299, line: 1307, type: !682)
!1538 = !DILocation(line: 1307, scope: !688)
!1539 = !DILocalVariable(name: "f", arg: 2, scope: !688, file: !299, line: 1307, type: !174)
!1540 = !DILocation(line: 1307, scope: !1541)
!1541 = distinct !DILexicalBlock(scope: !688, file: !299, line: 1307, column: 55)
!1542 = !DILocation(line: 1317, scope: !1541)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment