Skip to content

Instantly share code, notes, and snippets.

@bluss
Last active November 10, 2016 12:12
Show Gist options
  • Save bluss/38790b80c4e5dc417e3489e7700e5008 to your computer and use it in GitHub Desktop.
Save bluss/38790b80c4e5dc417e3489e7700e5008 to your computer and use it in GitHub Desktop.
; ModuleID = 'countbytes.cgu-0.rs'
source_filename = "countbytes.cgu-0.rs"
target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"
%str_slice = type { i8*, i64 }
%"3.std::string::String" = type { %"3.std::vec::Vec<u8>" }
%"3.std::vec::Vec<u8>" = type { %"5.alloc::raw_vec::RawVec<u8>", i64 }
%"5.alloc::raw_vec::RawVec<u8>" = type { %"2.std::ptr::Unique<u8>", i64 }
%"2.std::ptr::Unique<u8>" = type { %"2.core::nonzero::NonZero<*const u8>", %"2.std::marker::PhantomData<u8>" }
%"2.core::nonzero::NonZero<*const u8>" = type { i8* }
%"2.std::marker::PhantomData<u8>" = type {}
%"2.std::fmt::Formatter" = type { i32, i32, i8, %"2.std::option::Option<usize>", %"2.std::option::Option<usize>", { i8*, void (i8*)** }, %"2.std::slice::Iter<std::fmt::ArgumentV1>", { %"2.std::fmt::ArgumentV1"*, i64 } }
%"2.std::option::Option<usize>" = type { i64, [0 x i64], [1 x i64] }
%"2.std::slice::Iter<std::fmt::ArgumentV1>" = type { %"2.std::fmt::ArgumentV1"*, %"2.std::fmt::ArgumentV1"*, %"2.std::marker::PhantomData<&std::fmt::ArgumentV1>" }
%"2.std::fmt::ArgumentV1" = type { %"2.core::fmt::Void"*, i8 (%"2.core::fmt::Void"*, %"2.std::fmt::Formatter"*)* }
%"2.core::fmt::Void" = type {}
%"2.std::marker::PhantomData<&std::fmt::ArgumentV1>" = type {}
%"2.std::result::Result<usize, std::io::Error>" = type { i64, [0 x i64], [2 x i64] }
%"1.std::fs::File" = type { %"1.std::sys::imp::fs::File" }
%"1.std::sys::imp::fs::File" = type { %"1.std::sys::imp::fd::FileDesc" }
%"1.std::sys::imp::fd::FileDesc" = type { i32 }
%"1.std::fs::OpenOptions" = type { %"1.std::sys::imp::fs::OpenOptions" }
%"1.std::sys::imp::fs::OpenOptions" = type { i8, i8, i8, i8, i8, i8, i32, i32 }
%"1.std::io::BufReader<std::fs::File>" = type { %"1.std::fs::File", { i8*, i64 }, i64, i64 }
%"2.std::result::Result<std::fs::File, std::io::Error>" = type { i32, [1 x i32], [2 x i64] }
%"2.std::option::Option<std::string::String>" = type { %"3.std::string::String" }
%"3.std::vec::IntoIter<std::ffi::OsString>" = type { %"2.std::ptr::Shared<std::ffi::OsString>", i64, %"1.std::ffi::OsString"*, %"1.std::ffi::OsString"* }
%"2.std::ptr::Shared<std::ffi::OsString>" = type { %"2.core::nonzero::NonZero<*const std::ffi::OsString>", %"2.std::marker::PhantomData<std::ffi::OsString>" }
%"2.core::nonzero::NonZero<*const std::ffi::OsString>" = type { %"1.std::ffi::OsString"* }
%"2.std::marker::PhantomData<std::ffi::OsString>" = type {}
%"1.std::ffi::OsString" = type { %"1.std::sys::imp::os_str::Buf" }
%"1.std::sys::imp::os_str::Buf" = type { %"3.std::vec::Vec<u8>" }
%"2.std::iter::Skip<std::env::Args>" = type { %"1.std::env::Args", i64 }
%"1.std::env::Args" = type { %"1.std::env::ArgsOs" }
%"1.std::env::ArgsOs" = type { %"1.std::sys::imp::args::Args" }
%"1.std::sys::imp::args::Args" = type { %"3.std::vec::IntoIter<std::ffi::OsString>", %"2.std::marker::PhantomData<*mut ()>" }
%"2.std::marker::PhantomData<*mut ()>" = type {}
%"1.std::io::Error" = type { %"1.std::io::error::Repr" }
%"1.std::io::error::Repr" = type { i8, [7 x i8], [1 x i64] }
%"2.std::fmt::Arguments" = type { { %str_slice*, i64 }, %"2.std::option::Option<&[std::fmt::rt::v1::Argument]>", { %"2.std::fmt::ArgumentV1"*, i64 } }
%"2.std::option::Option<&[std::fmt::rt::v1::Argument]>" = type { { %"2.std::fmt::rt::v1::Argument"*, i64 } }
%"2.std::fmt::rt::v1::Argument" = type { %"2.std::fmt::rt::v1::Position", %"2.std::fmt::rt::v1::FormatSpec" }
%"2.std::fmt::rt::v1::Position" = type { i64, [0 x i64], [1 x i64] }
%"2.std::fmt::rt::v1::FormatSpec" = type { i32, i8, i32, %"2.std::fmt::rt::v1::Count", %"2.std::fmt::rt::v1::Count" }
%"2.std::fmt::rt::v1::Count" = type { i64, [0 x i64], [1 x i64] }
%"1.std::io::error::Custom" = type { i8, { i8*, void (i8*)** } }
%"5.alloc::raw_vec::RawVec<std::ffi::OsString>" = type { %"2.std::ptr::Unique<std::ffi::OsString>", i64 }
%"2.std::ptr::Unique<std::ffi::OsString>" = type { %"2.core::nonzero::NonZero<*const std::ffi::OsString>", %"2.std::marker::PhantomData<std::ffi::OsString>" }
%"1.std::path::Path" = type { %"1.std::ffi::OsStr" }
%"1.std::ffi::OsStr" = type { %"1.std::sys::imp::os_str::Slice" }
%"1.std::sys::imp::os_str::Slice" = type { i8 }
%"8.unwind::libunwind::_Unwind_Exception" = type { i64, void (i32, %"8.unwind::libunwind::_Unwind_Exception"*)*, [6 x i64] }
%"8.unwind::libunwind::_Unwind_Context" = type {}
@str.1 = internal constant [0 x i8] zeroinitializer
@str.2 = internal constant [2 x i8] c": "
@str.3 = internal constant [19 x i8] c" non-comment bytes\0A"
@ref.4 = internal unnamed_addr constant [3 x %str_slice] [%str_slice { i8* getelementptr inbounds ([0 x i8], [0 x i8]* @str.1, i32 0, i32 0), i64 0 }, %str_slice { i8* getelementptr inbounds ([2 x i8], [2 x i8]* @str.2, i32 0, i32 0), i64 2 }, %str_slice { i8* getelementptr inbounds ([19 x i8], [19 x i8]* @str.3, i32 0, i32 0), i64 19 }], align 8
@str.5 = internal constant [23 x i8] c"error while processing "
@str.6 = internal constant [1 x i8] c"\0A"
@ref.7 = internal unnamed_addr constant [3 x %str_slice] [%str_slice { i8* getelementptr inbounds ([23 x i8], [23 x i8]* @str.5, i32 0, i32 0), i64 23 }, %str_slice { i8* getelementptr inbounds ([2 x i8], [2 x i8]* @str.2, i32 0, i32 0), i64 2 }, %str_slice { i8* getelementptr inbounds ([1 x i8], [1 x i8]* @str.6, i32 0, i32 0), i64 1 }], align 8
@__rustc_debug_gdb_scripts_section__ = internal unnamed_addr constant [34 x i8] c"\01gdb_load_rust_pretty_printers.py\00", section ".debug_gdb_scripts", align 1
; Function Attrs: inlinehint uwtable
define internal i8 @"_ZN66_$LT$collections..string..String$u20$as$u20$core..fmt..Display$GT$3fmt17h67a3d61659ff752cE"(%"3.std::string::String"* noalias nocapture readonly dereferenceable(24), %"2.std::fmt::Formatter"* dereferenceable(96)) unnamed_addr #0 !dbg !94 {
entry-block:
tail call void @llvm.dbg.value(metadata %"3.std::string::String"* %0, i64 0, metadata !188, metadata !193), !dbg !194
tail call void @llvm.dbg.value(metadata %"2.std::fmt::Formatter"* %1, i64 0, metadata !189, metadata !193), !dbg !194
tail call void @llvm.dbg.value(metadata %"3.std::string::String"* %0, i64 0, metadata !190, metadata !193), !dbg !195
tail call void @llvm.dbg.value(metadata %"2.std::fmt::Formatter"* %1, i64 0, metadata !192, metadata !193), !dbg !195
%2 = getelementptr inbounds %"3.std::string::String", %"3.std::string::String"* %0, i64 0, i32 0, i32 0, i32 0, i32 0, i32 0, !dbg !196
%3 = load i8*, i8** %2, align 8, !dbg !263, !alias.scope !264, !nonnull !115
tail call void @llvm.dbg.value(metadata i8* %3, i64 0, metadata !252, metadata !193), !dbg !271
%4 = getelementptr inbounds %"3.std::string::String", %"3.std::string::String"* %0, i64 0, i32 0, i32 1, !dbg !272
%5 = load i64, i64* %4, align 8, !dbg !272, !alias.scope !273
%6 = tail call i8 @"_ZN42_$LT$str$u20$as$u20$core..fmt..Display$GT$3fmt17he18d68d6495a2048E"(i8* noalias nonnull readonly %3, i64 %5, %"2.std::fmt::Formatter"* nonnull dereferenceable(96) %1), !dbg !274
ret i8 %6, !dbg !275
}
; Function Attrs: uwtable
define internal void @_ZN10countbytes4main17h94fe39377ac73574E() unnamed_addr #1 personality i32 (i32, i32, i64, %"8.unwind::libunwind::_Unwind_Exception"*, %"8.unwind::libunwind::_Unwind_Context"*)* @rust_eh_personality !dbg !276 {
bb4:
%_9.i.i.i = alloca %"2.std::result::Result<usize, std::io::Error>", align 8
%_5.i.i.i = alloca %"1.std::fs::File", align 8
%_6.i.i = alloca %"1.std::fs::OpenOptions", align 8
%input.i = alloca %"1.std::io::BufReader<std::fs::File>", align 8
%_7.i = alloca %"2.std::result::Result<std::fs::File, std::io::Error>", align 8
%buffer.i = alloca [1 x i8], align 1
tail call void @llvm.dbg.declare(metadata [1 x i8]* %buffer.i, metadata !374, metadata !193), !dbg !435
%_21.i = alloca %"2.std::result::Result<usize, std::io::Error>", align 8
%_11.i.i = alloca %"2.std::option::Option<std::string::String>", align 8
%_2.sroa.0 = alloca %"3.std::vec::IntoIter<std::ffi::OsString>", align 8
%iter = alloca %"2.std::iter::Skip<std::env::Args>", align 8
%_7 = alloca %"2.std::option::Option<std::string::String>", align 8
%fname = alloca %"3.std::string::String", align 8
%n = alloca i32, align 4
%err = alloca %"1.std::io::Error", align 8
%_18 = alloca %"2.std::fmt::Arguments", align 8
%_23 = alloca [2 x %"2.std::fmt::ArgumentV1"], align 8
%_35 = alloca %"2.std::fmt::Arguments", align 8
%_40 = alloca [2 x %"2.std::fmt::ArgumentV1"], align 8
%_2.sroa.0.0.sroa_cast170 = bitcast %"3.std::vec::IntoIter<std::ffi::OsString>"* %_2.sroa.0 to i8*, !dbg !437
call void @llvm.lifetime.start(i64 32, i8* %_2.sroa.0.0.sroa_cast170), !dbg !437
%_2.sroa.0324 = bitcast %"3.std::vec::IntoIter<std::ffi::OsString>"* %_2.sroa.0 to %"1.std::env::Args"*
call void @_ZN3std3env4args17h56691da1c51ab4b9E(%"1.std::env::Args"* noalias nocapture nonnull sret dereferenceable(32) %_2.sroa.0324), !dbg !437
%0 = bitcast %"2.std::iter::Skip<std::env::Args>"* %iter to i8*, !dbg !437
call void @llvm.lifetime.start(i64 40, i8* %0), !dbg !437
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %0, i8* %_2.sroa.0.0.sroa_cast170, i64 32, i32 8, i1 false), !dbg !437
%_2.sroa.4.0..sroa_idx168 = getelementptr inbounds %"2.std::iter::Skip<std::env::Args>", %"2.std::iter::Skip<std::env::Args>"* %iter, i64 0, i32 1, !dbg !437
store i64 1, i64* %_2.sroa.4.0..sroa_idx168, align 8, !dbg !437
%1 = bitcast %"2.std::option::Option<std::string::String>"* %_7 to i8*, !dbg !438
%2 = getelementptr inbounds %"2.std::iter::Skip<std::env::Args>", %"2.std::iter::Skip<std::env::Args>"* %iter, i64 0, i32 0, !dbg !439
%3 = getelementptr inbounds %"2.std::option::Option<std::string::String>", %"2.std::option::Option<std::string::String>"* %_7, i64 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, !dbg !438
%4 = bitcast %"3.std::string::String"* %fname to i8*, !dbg !461
%5 = getelementptr inbounds %"3.std::string::String", %"3.std::string::String"* %fname, i64 0, i32 0, i32 0, i32 0, i32 0, i32 0, !dbg !462
%6 = getelementptr inbounds %"3.std::string::String", %"3.std::string::String"* %fname, i64 0, i32 0, i32 1, !dbg !468
%7 = bitcast %"1.std::io::BufReader<std::fs::File>"* %input.i to i8*, !dbg !469
%8 = bitcast %"2.std::result::Result<std::fs::File, std::io::Error>"* %_7.i to i8*, !dbg !469
%9 = getelementptr inbounds %"1.std::fs::OpenOptions", %"1.std::fs::OpenOptions"* %_6.i.i, i64 0, i32 0, i32 0, !dbg !470
%self.i.sroa.0.0..sroa_cast.i = bitcast %"2.std::result::Result<std::fs::File, std::io::Error>"* %_7.i to i64*, !dbg !494
%self.i.sroa.4.i.sroa.0.0.self.i.sroa.4.0..sroa_cast.i.sroa_idx = getelementptr inbounds %"2.std::result::Result<std::fs::File, std::io::Error>", %"2.std::result::Result<std::fs::File, std::io::Error>"* %_7.i, i64 0, i32 2, i64 0, !dbg !494
%self.i.sroa.4.i.sroa.5.0.self.i.sroa.4.0..sroa_cast.i.sroa_idx184 = getelementptr inbounds %"2.std::result::Result<std::fs::File, std::io::Error>", %"2.std::result::Result<std::fs::File, std::io::Error>"* %_7.i, i64 0, i32 2, i64 1, !dbg !494
%10 = getelementptr inbounds %"1.std::io::Error", %"1.std::io::Error"* %err, i64 0, i32 0, i32 0, !dbg !514
%_11.sroa.12.8..sroa_cast = bitcast %"1.std::io::Error"* %err to i64*, !dbg !514
%_11.sroa.19.8..sroa_idx = getelementptr inbounds %"1.std::io::Error", %"1.std::io::Error"* %err, i64 0, i32 0, i32 2, i64 0, !dbg !514
%11 = bitcast %"2.std::fmt::Arguments"* %_35 to i8*, !dbg !515
%12 = bitcast [2 x %"2.std::fmt::ArgumentV1"]* %_40 to i8*, !dbg !515
%13 = ptrtoint %"3.std::string::String"* %fname to i64, !dbg !516
%14 = ptrtoint %"1.std::io::Error"* %err to i64, !dbg !531
%15 = bitcast [2 x %"2.std::fmt::ArgumentV1"]* %_40 to i64*, !dbg !547
%16 = getelementptr inbounds [2 x %"2.std::fmt::ArgumentV1"], [2 x %"2.std::fmt::ArgumentV1"]* %_40, i64 0, i64 0, i32 1, !dbg !547
%17 = bitcast i8 (%"2.core::fmt::Void"*, %"2.std::fmt::Formatter"*)** %16 to i64*, !dbg !547
%18 = getelementptr inbounds [2 x %"2.std::fmt::ArgumentV1"], [2 x %"2.std::fmt::ArgumentV1"]* %_40, i64 0, i64 1, !dbg !547
%19 = bitcast %"2.std::fmt::ArgumentV1"* %18 to i64*, !dbg !547
%20 = getelementptr inbounds [2 x %"2.std::fmt::ArgumentV1"], [2 x %"2.std::fmt::ArgumentV1"]* %_40, i64 0, i64 1, i32 1, !dbg !547
%21 = bitcast i8 (%"2.core::fmt::Void"*, %"2.std::fmt::Formatter"*)** %20 to i64*, !dbg !547
%22 = getelementptr inbounds [2 x %"2.std::fmt::ArgumentV1"], [2 x %"2.std::fmt::ArgumentV1"]* %_40, i64 0, i64 0, !dbg !515
%23 = getelementptr inbounds %"2.std::fmt::Arguments", %"2.std::fmt::Arguments"* %_35, i64 0, i32 0, i32 0, !dbg !548
%24 = getelementptr inbounds %"2.std::fmt::Arguments", %"2.std::fmt::Arguments"* %_35, i64 0, i32 0, i32 1, !dbg !548
%_6.sroa.0.0..sroa_idx.i65 = getelementptr inbounds %"2.std::fmt::Arguments", %"2.std::fmt::Arguments"* %_35, i64 0, i32 1, i32 0, i32 0, !dbg !548
%25 = getelementptr inbounds %"2.std::fmt::Arguments", %"2.std::fmt::Arguments"* %_35, i64 0, i32 2, i32 0, !dbg !548
%26 = getelementptr inbounds %"2.std::fmt::Arguments", %"2.std::fmt::Arguments"* %_35, i64 0, i32 2, i32 1, !dbg !548
%27 = getelementptr inbounds %"1.std::io::Error", %"1.std::io::Error"* %err, i64 0, i32 0, i32 2, !dbg !617
%28 = bitcast [1 x i64]* %27 to %"1.std::io::error::Custom"**, !dbg !617
%29 = bitcast i32* %n to i8*, !dbg !617
%30 = getelementptr inbounds %"3.std::string::String", %"3.std::string::String"* %fname, i64 0, i32 0, i32 0, i32 1, !dbg !618
%31 = bitcast %"1.std::fs::File"* %_5.i.i.i to i8*, !dbg !635
%.fca.0.0.0.gep.i.i.i = getelementptr inbounds %"1.std::fs::File", %"1.std::fs::File"* %_5.i.i.i, i64 0, i32 0, i32 0, i32 0, !dbg !635
%32 = getelementptr inbounds %"1.std::io::BufReader<std::fs::File>", %"1.std::io::BufReader<std::fs::File>"* %input.i, i64 0, i32 0, i32 0, i32 0, i32 0, !dbg !657
%33 = getelementptr inbounds %"1.std::io::BufReader<std::fs::File>", %"1.std::io::BufReader<std::fs::File>"* %input.i, i64 0, i32 1, i32 0, !dbg !657
%34 = getelementptr inbounds %"1.std::io::BufReader<std::fs::File>", %"1.std::io::BufReader<std::fs::File>"* %input.i, i64 0, i32 1, i32 1, !dbg !657
%35 = getelementptr inbounds %"1.std::io::BufReader<std::fs::File>", %"1.std::io::BufReader<std::fs::File>"* %input.i, i64 0, i32 2, !dbg !657
%36 = bitcast i64* %35 to i8*, !dbg !658
%37 = getelementptr inbounds [1 x i8], [1 x i8]* %buffer.i, i64 0, i64 0, !dbg !659
%38 = bitcast %"2.std::result::Result<usize, std::io::Error>"* %_21.i to i8*, !dbg !660
%39 = getelementptr inbounds %"1.std::io::BufReader<std::fs::File>", %"1.std::io::BufReader<std::fs::File>"* %input.i, i64 0, i32 3, !dbg !661
%40 = bitcast %"2.std::result::Result<usize, std::io::Error>"* %_9.i.i.i to i8*, !dbg !702
%41 = getelementptr inbounds %"1.std::io::BufReader<std::fs::File>", %"1.std::io::BufReader<std::fs::File>"* %input.i, i64 0, i32 0, !dbg !702
%arg0.sroa.0.0..sroa_idx.i.i.i.i = getelementptr inbounds %"2.std::result::Result<usize, std::io::Error>", %"2.std::result::Result<usize, std::io::Error>"* %_9.i.i.i, i64 0, i32 0, !dbg !702
%arg0.sroa.2.0..sroa_idx64.i.i.i.i = getelementptr inbounds %"2.std::result::Result<usize, std::io::Error>", %"2.std::result::Result<usize, std::io::Error>"* %_9.i.i.i, i64 0, i32 2, i64 0, !dbg !702
%arg0.sroa.3.0..sroa_idx65.i.i.i.i = getelementptr inbounds %"2.std::result::Result<usize, std::io::Error>", %"2.std::result::Result<usize, std::io::Error>"* %_9.i.i.i, i64 0, i32 2, i64 1, !dbg !702
%42 = getelementptr inbounds %"2.std::result::Result<usize, std::io::Error>", %"2.std::result::Result<usize, std::io::Error>"* %_21.i, i64 0, i32 0, !dbg !729
%_24.sroa.0.sroa.0.0._24.sroa.0.0..sroa_cast.sroa_idx.i.i = getelementptr inbounds %"2.std::result::Result<usize, std::io::Error>", %"2.std::result::Result<usize, std::io::Error>"* %_21.i, i64 0, i32 2, i64 0, !dbg !729
%_24.sroa.0.sroa.4.0._24.sroa.0.0..sroa_cast.sroa_idx181.i.i = getelementptr inbounds %"2.std::result::Result<usize, std::io::Error>", %"2.std::result::Result<usize, std::io::Error>"* %_21.i, i64 0, i32 2, i64 1, !dbg !729
%43 = getelementptr inbounds %"1.std::io::BufReader<std::fs::File>", %"1.std::io::BufReader<std::fs::File>"* %input.i, i64 0, i32 0, i32 0, i32 0, !dbg !740
%44 = bitcast %"2.std::fmt::Arguments"* %_18 to i8*, !dbg !741
%45 = bitcast [2 x %"2.std::fmt::ArgumentV1"]* %_23 to i8*, !dbg !741
%46 = ptrtoint i32* %n to i64, !dbg !742
%47 = bitcast [2 x %"2.std::fmt::ArgumentV1"]* %_23 to i64*, !dbg !758
%48 = getelementptr inbounds [2 x %"2.std::fmt::ArgumentV1"], [2 x %"2.std::fmt::ArgumentV1"]* %_23, i64 0, i64 0, i32 1, !dbg !758
%49 = bitcast i8 (%"2.core::fmt::Void"*, %"2.std::fmt::Formatter"*)** %48 to i64*, !dbg !758
%50 = getelementptr inbounds [2 x %"2.std::fmt::ArgumentV1"], [2 x %"2.std::fmt::ArgumentV1"]* %_23, i64 0, i64 1, !dbg !758
%51 = bitcast %"2.std::fmt::ArgumentV1"* %50 to i64*, !dbg !758
%52 = getelementptr inbounds [2 x %"2.std::fmt::ArgumentV1"], [2 x %"2.std::fmt::ArgumentV1"]* %_23, i64 0, i64 1, i32 1, !dbg !758
%53 = bitcast i8 (%"2.core::fmt::Void"*, %"2.std::fmt::Formatter"*)** %52 to i64*, !dbg !758
%54 = getelementptr inbounds [2 x %"2.std::fmt::ArgumentV1"], [2 x %"2.std::fmt::ArgumentV1"]* %_23, i64 0, i64 0, !dbg !741
%55 = getelementptr inbounds %"2.std::fmt::Arguments", %"2.std::fmt::Arguments"* %_18, i64 0, i32 0, i32 0, !dbg !759
%56 = getelementptr inbounds %"2.std::fmt::Arguments", %"2.std::fmt::Arguments"* %_18, i64 0, i32 0, i32 1, !dbg !759
%_6.sroa.0.0..sroa_idx.i = getelementptr inbounds %"2.std::fmt::Arguments", %"2.std::fmt::Arguments"* %_18, i64 0, i32 1, i32 0, i32 0, !dbg !759
%57 = getelementptr inbounds %"2.std::fmt::Arguments", %"2.std::fmt::Arguments"* %_18, i64 0, i32 2, i32 0, !dbg !759
%58 = getelementptr inbounds %"2.std::fmt::Arguments", %"2.std::fmt::Arguments"* %_18, i64 0, i32 2, i32 1, !dbg !759
%59 = bitcast %"2.std::option::Option<std::string::String>"* %_11.i.i to i8*, !dbg !761
%60 = getelementptr inbounds %"2.std::option::Option<std::string::String>", %"2.std::option::Option<std::string::String>"* %_11.i.i, i64 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, !dbg !761
%x.sroa.7.0..sroa_idx46.i.i = getelementptr inbounds %"2.std::option::Option<std::string::String>", %"2.std::option::Option<std::string::String>"* %_11.i.i, i64 0, i32 0, i32 0, i32 0, i32 1, !dbg !761
%x.sroa.8.0..sroa_idx52.i.i = getelementptr inbounds %"2.std::option::Option<std::string::String>", %"2.std::option::Option<std::string::String>"* %_11.i.i, i64 0, i32 0, i32 0, i32 1, !dbg !761
%_18.sroa.0.sroa.4.0._18.sroa.0.0..sroa_cast15.sroa_idx58.i.i = getelementptr inbounds %"2.std::option::Option<std::string::String>", %"2.std::option::Option<std::string::String>"* %_7, i64 0, i32 0, i32 0, i32 0, i32 1, !dbg !784
%_18.sroa.0.sroa.5.0._18.sroa.0.0..sroa_cast15.sroa_idx60.i.i = getelementptr inbounds %"2.std::option::Option<std::string::String>", %"2.std::option::Option<std::string::String>"* %_7, i64 0, i32 0, i32 0, i32 1, !dbg !784
br label %bb5, !dbg !437
bb2: ; preds = %bb6.i.i.i.i.i.i.i.i, %bb9.i.i.i.i.i.i
%.fca.0.insert = insertvalue { i8*, i32 } undef, i8* %personalityslot.sroa.0.1, 0, !dbg !785
%.fca.1.insert = insertvalue { i8*, i32 } %.fca.0.insert, i32 %personalityslot.sroa.9.1, 1, !dbg !785
resume { i8*, i32 } %.fca.1.insert, !dbg !785
bb5: ; preds = %bb29, %bb4
%61 = phi i64 [ %.pre, %bb29 ], [ 1, %bb4 ], !dbg !786
call void @llvm.lifetime.start(i64 24, i8* %1), !dbg !438
call void @llvm.dbg.value(metadata %"2.std::iter::Skip<std::env::Args>"* %iter, i64 0, metadata !456, metadata !193), !dbg !787
call void @llvm.dbg.value(metadata %"2.std::iter::Skip<std::env::Args>"* %iter, i64 0, metadata !457, metadata !193), !dbg !788
%62 = icmp eq i64 %61, 0, !dbg !786
br i1 %62, label %bb1.i, label %bb2.i, !dbg !786
bb1.i: ; preds = %bb5
invoke void @"_ZN65_$LT$std..env..Args$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h4a2f0a847c18b680E"(%"2.std::option::Option<std::string::String>"* noalias nocapture nonnull sret dereferenceable(24) %_7, %"1.std::env::Args"* dereferenceable(32) %2)
to label %bb7 unwind label %cleanup3.loopexit.split-lp, !dbg !439
bb2.i: ; preds = %bb5
call void @llvm.dbg.value(metadata i64 %61, i64 0, metadata !458, metadata !193), !dbg !789
store i64 0, i64* %_2.sroa.4.0..sroa_idx168, align 8, !dbg !790, !noalias !791
call void @llvm.dbg.value(metadata %"1.std::env::Args"* %2, i64 0, metadata !774, metadata !193), !dbg !794
call void @llvm.dbg.value(metadata i64 %61, i64 0, metadata !775, metadata !193), !dbg !794
call void @llvm.dbg.value(metadata %"1.std::env::Args"* %2, i64 0, metadata !776, metadata !193), !dbg !795
call void @llvm.dbg.value(metadata i64 %61, i64 0, metadata !777, metadata !193), !dbg !795
call void @llvm.dbg.value(metadata %"1.std::env::Args"* %2, i64 0, metadata !780, metadata !193), !dbg !761
call void @llvm.lifetime.start(i64 24, i8* %59), !dbg !761, !noalias !796
invoke void @"_ZN65_$LT$std..env..Args$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h4a2f0a847c18b680E"(%"2.std::option::Option<std::string::String>"* noalias nocapture nonnull sret dereferenceable(24) %_11.i.i, %"1.std::env::Args"* nonnull dereferenceable(32) %2)
to label %.noexc54 unwind label %cleanup3.loopexit.split-lp, !dbg !799
.noexc54: ; preds = %bb2.i
%63 = load i8*, i8** %60, align 8, !dbg !761, !noalias !796
%switch4tmp67.i.i = icmp eq i8* %63, null, !dbg !761
br i1 %switch4tmp67.i.i, label %bb7.thread.loopexit352, label %bb7.i.i.preheader, !dbg !761
bb7.i.i.preheader: ; preds = %.noexc54
br label %bb7.i.i, !dbg !761
bb7.i.i: ; preds = %bb7.i.i.preheader, %.noexc55
%64 = phi i8* [ %67, %.noexc55 ], [ %63, %bb7.i.i.preheader ], !dbg !810
%n.068.i.i = phi i64 [ %66, %.noexc55 ], [ %61, %bb7.i.i.preheader ], !dbg !810
%x.sroa.7.0.copyload.i.i = load i64, i64* %x.sroa.7.0..sroa_idx46.i.i, align 8, !dbg !761, !noalias !796
%65 = icmp eq i64 %n.068.i.i, 0, !dbg !784
br i1 %65, label %bb7.thread326, label %bb9.i.i, !dbg !784
bb7.thread326: ; preds = %bb7.i.i
%x.sroa.8.0.copyload.i.i = load i64, i64* %x.sroa.8.0..sroa_idx52.i.i, align 8, !dbg !761, !noalias !796
store i8* %64, i8** %3, align 8, !dbg !784, !alias.scope !796
store i64 %x.sroa.7.0.copyload.i.i, i64* %_18.sroa.0.sroa.4.0._18.sroa.0.0..sroa_cast15.sroa_idx58.i.i, align 8, !dbg !784, !alias.scope !796
store i64 %x.sroa.8.0.copyload.i.i, i64* %_18.sroa.0.sroa.5.0._18.sroa.0.0..sroa_cast15.sroa_idx60.i.i, align 8, !dbg !784, !alias.scope !796
call void @llvm.lifetime.end(i64 24, i8* nonnull %59), !dbg !811, !noalias !796
br label %bb12, !dbg !438
bb9.i.i: ; preds = %bb7.i.i
%66 = add i64 %n.068.i.i, -1, !dbg !812
call void @llvm.dbg.value(metadata i64 %66, i64 0, metadata !777, metadata !193), !dbg !795
call void @llvm.dbg.value(metadata i64 1, i64 0, metadata !629, metadata !193) #7, !dbg !813
%not..i.i.i.i.i.i.i = icmp eq i64 %x.sroa.7.0.copyload.i.i, 0, !dbg !815
br i1 %not..i.i.i.i.i.i.i, label %bb14.i.i, label %bb6.i.i.i.i.i.i.i, !dbg !815
bb6.i.i.i.i.i.i.i: ; preds = %bb9.i.i
call void @llvm.dbg.value(metadata i64 1, i64 0, metadata !630, metadata !193) #7, !dbg !816
call void @llvm.dbg.value(metadata i64 %x.sroa.7.0.copyload.i.i, i64 0, metadata !632, metadata !193) #7, !dbg !817
call void @llvm.dbg.value(metadata i8* %64, i64 0, metadata !818, metadata !193) #7, !dbg !831
call void @llvm.dbg.value(metadata i64 %x.sroa.7.0.copyload.i.i, i64 0, metadata !825, metadata !193) #7, !dbg !831
call void @llvm.dbg.value(metadata i64 1, i64 0, metadata !826, metadata !193) #7, !dbg !831
call void @llvm.dbg.value(metadata i8* %64, i64 0, metadata !827, metadata !193) #7, !dbg !833
call void @llvm.dbg.value(metadata i64 %x.sroa.7.0.copyload.i.i, i64 0, metadata !829, metadata !193) #7, !dbg !833
call void @llvm.dbg.value(metadata i64 1, i64 0, metadata !830, metadata !193) #7, !dbg !833
call void @__rust_deallocate(i8* nonnull %64, i64 %x.sroa.7.0.copyload.i.i, i64 1) #7, !dbg !834, !noalias !796
br label %bb14.i.i, !dbg !815
bb7.thread.loopexit: ; preds = %.noexc55
br label %bb7.thread, !dbg !811
bb7.thread.loopexit352: ; preds = %.noexc54
br label %bb7.thread, !dbg !811
bb7.thread: ; preds = %bb7.thread.loopexit352, %bb7.thread.loopexit
call void @llvm.lifetime.end(i64 24, i8* nonnull %59), !dbg !811, !noalias !796
store i8* null, i8** %3, align 8, !dbg !835, !alias.scope !796
br label %bb28, !dbg !438
bb14.i.i: ; preds = %bb6.i.i.i.i.i.i.i, %bb9.i.i
call void @llvm.lifetime.end(i64 24, i8* nonnull %59), !dbg !811, !noalias !796
call void @llvm.lifetime.start(i64 24, i8* nonnull %59), !dbg !761, !noalias !796
invoke void @"_ZN65_$LT$std..env..Args$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h4a2f0a847c18b680E"(%"2.std::option::Option<std::string::String>"* noalias nocapture nonnull sret dereferenceable(24) %_11.i.i, %"1.std::env::Args"* nonnull dereferenceable(32) %2)
to label %.noexc55 unwind label %cleanup3.loopexit, !dbg !799
.noexc55: ; preds = %bb14.i.i
%67 = load i8*, i8** %60, align 8, !dbg !761, !noalias !796
%switch4tmp.i.i = icmp eq i8* %67, null, !dbg !761
br i1 %switch4tmp.i.i, label %bb7.thread.loopexit, label %bb7.i.i, !dbg !761
bb6: ; preds = %bb11, %bb6.i.i.i.i.i, %cleanup3
%personalityslot.sroa.9.1 = phi i32 [ %.fca.1.extract18, %cleanup3 ], [ %personalityslot.sroa.9.3, %bb6.i.i.i.i.i ], [ %personalityslot.sroa.9.3, %bb11 ]
%personalityslot.sroa.0.1 = phi i8* [ %.fca.0.extract16, %cleanup3 ], [ %personalityslot.sroa.0.3, %bb6.i.i.i.i.i ], [ %personalityslot.sroa.0.3, %bb11 ]
call void @llvm.dbg.value(metadata %"2.std::iter::Skip<std::env::Args>"* %iter, i64 0, metadata !282, metadata !836), !dbg !438
%68 = getelementptr inbounds %"2.std::iter::Skip<std::env::Args>", %"2.std::iter::Skip<std::env::Args>"* %iter, i64 0, i32 0, i32 0, i32 0, i32 0, i32 2, !dbg !837
%69 = load %"1.std::ffi::OsString"*, %"1.std::ffi::OsString"** %68, align 8, !dbg !837, !noalias !882
%70 = getelementptr inbounds %"2.std::iter::Skip<std::env::Args>", %"2.std::iter::Skip<std::env::Args>"* %iter, i64 0, i32 0, i32 0, i32 0, i32 0, i32 3, !dbg !837
%71 = load %"1.std::ffi::OsString"*, %"1.std::ffi::OsString"** %70, align 8, !dbg !837, !noalias !882
%72 = icmp eq %"1.std::ffi::OsString"* %69, %71, !dbg !837
br i1 %72, label %bb9.i.i.i.i.i.i, label %"_ZN75_$LT$$RF$$u27$a$u20$mut$u20$I$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hca3cd9d7681f1316E.exit.i.i.i.i.i.i.preheader", !dbg !837
"_ZN75_$LT$$RF$$u27$a$u20$mut$u20$I$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hca3cd9d7681f1316E.exit.i.i.i.i.i.i.preheader": ; preds = %bb6
br label %"_ZN75_$LT$$RF$$u27$a$u20$mut$u20$I$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hca3cd9d7681f1316E.exit.i.i.i.i.i.i", !dbg !887
"_ZN75_$LT$$RF$$u27$a$u20$mut$u20$I$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hca3cd9d7681f1316E.exit.i.i.i.i.i.i": ; preds = %"_ZN75_$LT$$RF$$u27$a$u20$mut$u20$I$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hca3cd9d7681f1316E.exit.i.i.i.i.i.i.preheader", %bb3.backedge.i.i.i.i.i.i
%73 = phi %"1.std::ffi::OsString"* [ %76, %bb3.backedge.i.i.i.i.i.i ], [ %71, %"_ZN75_$LT$$RF$$u27$a$u20$mut$u20$I$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hca3cd9d7681f1316E.exit.i.i.i.i.i.i.preheader" ], !dbg !888
%74 = phi %"1.std::ffi::OsString"* [ %77, %bb3.backedge.i.i.i.i.i.i ], [ %69, %"_ZN75_$LT$$RF$$u27$a$u20$mut$u20$I$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hca3cd9d7681f1316E.exit.i.i.i.i.i.i.preheader" ], !dbg !888
call void @llvm.dbg.value(metadata %"1.std::ffi::OsString"* %74, i64 0, metadata !854, metadata !193) #7, !dbg !887
%75 = getelementptr inbounds %"1.std::ffi::OsString", %"1.std::ffi::OsString"* %74, i64 1, !dbg !889
store %"1.std::ffi::OsString"* %75, %"1.std::ffi::OsString"** %68, align 8, !dbg !889, !noalias !882
call void @llvm.dbg.value(metadata %"1.std::ffi::OsString"* %74, i64 0, metadata !890, metadata !193) #7, !dbg !899
call void @llvm.dbg.value(metadata %"1.std::ffi::OsString"* %74, i64 0, metadata !895, metadata !193) #7, !dbg !901
%_10.sroa.0.0._20.sroa.0.0.tmp.sroa.0.0..sroa_cast.i.sroa_cast.i.i.sroa_idx.i.i.i.i.i.i = getelementptr inbounds %"1.std::ffi::OsString", %"1.std::ffi::OsString"* %74, i64 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, !dbg !902
%_10.sroa.0.0.copyload.i.i.i.i.i.i = load i8*, i8** %_10.sroa.0.0._20.sroa.0.0.tmp.sroa.0.0..sroa_cast.i.sroa_cast.i.i.sroa_idx.i.i.i.i.i.i, align 8, !dbg !902
%_10.sroa.11.0._20.sroa.0.0.tmp.sroa.0.0..sroa_cast.i.sroa_cast.i.i.sroa_idx44.i.i.i.i.i.i = getelementptr inbounds %"1.std::ffi::OsString", %"1.std::ffi::OsString"* %74, i64 0, i32 0, i32 0, i32 0, i32 1, !dbg !902
%_10.sroa.11.0.copyload.i.i.i.i.i.i = load i64, i64* %_10.sroa.11.0._20.sroa.0.0.tmp.sroa.0.0..sroa_cast.i.sroa_cast.i.i.sroa_idx44.i.i.i.i.i.i, align 8, !dbg !902
%switch3tmp.i.i.i.i.i.i = icmp eq i8* %_10.sroa.0.0.copyload.i.i.i.i.i.i, null, !dbg !903
br i1 %switch3tmp.i.i.i.i.i.i, label %bb9.i.i.i.i.i.i.loopexit, label %bb8.i.i.i.i.i.i, !dbg !903
bb8.i.i.i.i.i.i: ; preds = %"_ZN75_$LT$$RF$$u27$a$u20$mut$u20$I$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hca3cd9d7681f1316E.exit.i.i.i.i.i.i"
call void @llvm.dbg.value(metadata i64 1, i64 0, metadata !629, metadata !193) #7, !dbg !904
%not..i.i.i.i.i.i.i.i.i.i.i.i = icmp eq i64 %_10.sroa.11.0.copyload.i.i.i.i.i.i, 0, !dbg !906
br i1 %not..i.i.i.i.i.i.i.i.i.i.i.i, label %bb3.backedge.i.i.i.i.i.i, label %bb6.i.i.i.i.i.i.i.i.i.i.i.i, !dbg !906
bb3.backedge.i.i.i.i.i.i: ; preds = %bb6.i.i.i.i.i.i.i.i.i.i.i.i, %bb8.i.i.i.i.i.i
%76 = phi %"1.std::ffi::OsString"* [ %73, %bb8.i.i.i.i.i.i ], [ %.pre52.i.i.i.i.i.i, %bb6.i.i.i.i.i.i.i.i.i.i.i.i ], !dbg !837
%77 = phi %"1.std::ffi::OsString"* [ %75, %bb8.i.i.i.i.i.i ], [ %.pre.i.i.i.i.i.i, %bb6.i.i.i.i.i.i.i.i.i.i.i.i ], !dbg !837
%78 = icmp eq %"1.std::ffi::OsString"* %77, %76, !dbg !837
br i1 %78, label %bb9.i.i.i.i.i.i.loopexit, label %"_ZN75_$LT$$RF$$u27$a$u20$mut$u20$I$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hca3cd9d7681f1316E.exit.i.i.i.i.i.i", !dbg !837
bb6.i.i.i.i.i.i.i.i.i.i.i.i: ; preds = %bb8.i.i.i.i.i.i
call void @llvm.dbg.value(metadata i64 1, i64 0, metadata !630, metadata !193) #7, !dbg !907
call void @llvm.dbg.value(metadata i64 %_10.sroa.11.0.copyload.i.i.i.i.i.i, i64 0, metadata !632, metadata !193) #7, !dbg !908
call void @llvm.dbg.value(metadata i8* %_10.sroa.0.0.copyload.i.i.i.i.i.i, i64 0, metadata !818, metadata !193) #7, !dbg !909
call void @llvm.dbg.value(metadata i64 %_10.sroa.11.0.copyload.i.i.i.i.i.i, i64 0, metadata !825, metadata !193) #7, !dbg !909
call void @llvm.dbg.value(metadata i64 1, i64 0, metadata !826, metadata !193) #7, !dbg !909
call void @llvm.dbg.value(metadata i8* %_10.sroa.0.0.copyload.i.i.i.i.i.i, i64 0, metadata !827, metadata !193) #7, !dbg !911
call void @llvm.dbg.value(metadata i64 %_10.sroa.11.0.copyload.i.i.i.i.i.i, i64 0, metadata !829, metadata !193) #7, !dbg !911
call void @llvm.dbg.value(metadata i64 1, i64 0, metadata !830, metadata !193) #7, !dbg !911
call void @__rust_deallocate(i8* nonnull %_10.sroa.0.0.copyload.i.i.i.i.i.i, i64 %_10.sroa.11.0.copyload.i.i.i.i.i.i, i64 1) #7, !dbg !912
%.pre.i.i.i.i.i.i = load %"1.std::ffi::OsString"*, %"1.std::ffi::OsString"** %68, align 8, !dbg !837, !noalias !882
%.pre52.i.i.i.i.i.i = load %"1.std::ffi::OsString"*, %"1.std::ffi::OsString"** %70, align 8, !dbg !837, !noalias !882
br label %bb3.backedge.i.i.i.i.i.i, !dbg !906
bb9.i.i.i.i.i.i.loopexit: ; preds = %"_ZN75_$LT$$RF$$u27$a$u20$mut$u20$I$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hca3cd9d7681f1316E.exit.i.i.i.i.i.i", %bb3.backedge.i.i.i.i.i.i
br label %bb9.i.i.i.i.i.i, !dbg !913
bb9.i.i.i.i.i.i: ; preds = %bb9.i.i.i.i.i.i.loopexit, %bb6
%79 = getelementptr inbounds %"2.std::iter::Skip<std::env::Args>", %"2.std::iter::Skip<std::env::Args>"* %iter, i64 0, i32 0, i32 0, i32 0, i32 0, i32 1, !dbg !913
%80 = load i64, i64* %79, align 8, !dbg !913
call void @llvm.dbg.value(metadata %"5.alloc::raw_vec::RawVec<std::ffi::OsString>"* undef, i64 0, metadata !914, metadata !193) #7, !dbg !936
call void @llvm.dbg.value(metadata %"5.alloc::raw_vec::RawVec<std::ffi::OsString>"* undef, i64 0, metadata !928, metadata !193) #7, !dbg !938
call void @llvm.dbg.value(metadata i64 24, i64 0, metadata !930, metadata !193) #7, !dbg !939
%not..i.i.i.i.i.i.i.i = icmp eq i64 %80, 0, !dbg !940
br i1 %not..i.i.i.i.i.i.i.i, label %bb2, label %bb6.i.i.i.i.i.i.i.i, !dbg !940
bb6.i.i.i.i.i.i.i.i: ; preds = %bb9.i.i.i.i.i.i
%81 = bitcast %"2.std::iter::Skip<std::env::Args>"* %iter to i8**, !dbg !913
%82 = load i8*, i8** %81, align 8, !dbg !913
call void @llvm.dbg.value(metadata i64 8, i64 0, metadata !932, metadata !193) #7, !dbg !941
%83 = mul i64 %80, 24, !dbg !942
call void @llvm.dbg.value(metadata i64 %83, i64 0, metadata !934, metadata !193) #7, !dbg !943
call void @llvm.dbg.value(metadata i8* %82, i64 0, metadata !818, metadata !193) #7, !dbg !944
call void @llvm.dbg.value(metadata i64 %83, i64 0, metadata !825, metadata !193) #7, !dbg !944
call void @llvm.dbg.value(metadata i64 8, i64 0, metadata !826, metadata !193) #7, !dbg !944
call void @llvm.dbg.value(metadata i8* %82, i64 0, metadata !827, metadata !193) #7, !dbg !946
call void @llvm.dbg.value(metadata i64 %83, i64 0, metadata !829, metadata !193) #7, !dbg !946
call void @llvm.dbg.value(metadata i64 8, i64 0, metadata !830, metadata !193) #7, !dbg !946
call void @__rust_deallocate(i8* %82, i64 %83, i64 8) #7, !dbg !947
br label %bb2, !dbg !940
bb7: ; preds = %bb1.i
%.pre321 = load i8*, i8** %3, align 8, !dbg !438
%switchtmp = icmp eq i8* %.pre321, null, !dbg !438
br i1 %switchtmp, label %bb28.loopexit, label %bb12, !dbg !438
bb11: ; preds = %cleanup9, %cleanup5.thread, %_ZN4drop17h1d7a138af75562cbE.exit.i.i120, %cleanup5, %cleanup4.body
%personalityslot.sroa.9.3 = phi i32 [ %.fca.1.extract22, %cleanup4.body ], [ %.fca.1.extract26, %cleanup5 ], [ %.fca.1.extract30, %cleanup9 ], [ %.fca.1.extract26234, %cleanup5.thread ], [ %.fca.1.extract26234, %_ZN4drop17h1d7a138af75562cbE.exit.i.i120 ]
%personalityslot.sroa.0.3 = phi i8* [ %.fca.0.extract20, %cleanup4.body ], [ %.fca.0.extract24, %cleanup5 ], [ %.fca.0.extract28, %cleanup9 ], [ %.fca.0.extract24233, %cleanup5.thread ], [ %.fca.0.extract24233, %_ZN4drop17h1d7a138af75562cbE.exit.i.i120 ]
call void @llvm.dbg.value(metadata %"3.std::string::String"* %fname, i64 0, metadata !328, metadata !836), !dbg !948
call void @llvm.dbg.value(metadata i64 1, i64 0, metadata !629, metadata !193) #7, !dbg !949
%84 = load i64, i64* %30, align 8, !dbg !951
%not..i.i.i.i.i = icmp eq i64 %84, 0, !dbg !951
br i1 %not..i.i.i.i.i, label %bb6, label %bb6.i.i.i.i.i, !dbg !951
bb6.i.i.i.i.i: ; preds = %bb11
call void @llvm.dbg.value(metadata i64 1, i64 0, metadata !630, metadata !193) #7, !dbg !952
call void @llvm.dbg.value(metadata i64 %84, i64 0, metadata !632, metadata !193) #7, !dbg !953
%85 = load i8*, i8** %5, align 8, !dbg !954
call void @llvm.dbg.value(metadata i8* %85, i64 0, metadata !818, metadata !193) #7, !dbg !955
call void @llvm.dbg.value(metadata i64 %84, i64 0, metadata !825, metadata !193) #7, !dbg !955
call void @llvm.dbg.value(metadata i64 1, i64 0, metadata !826, metadata !193) #7, !dbg !955
call void @llvm.dbg.value(metadata i8* %85, i64 0, metadata !827, metadata !193) #7, !dbg !957
call void @llvm.dbg.value(metadata i64 %84, i64 0, metadata !829, metadata !193) #7, !dbg !957
call void @llvm.dbg.value(metadata i64 1, i64 0, metadata !830, metadata !193) #7, !dbg !957
call void @__rust_deallocate(i8* %85, i64 %84, i64 1) #7, !dbg !958
br label %bb6, !dbg !951
bb12: ; preds = %bb7.thread326, %bb7
call void @llvm.lifetime.start(i64 24, i8* %4), !dbg !438
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %4, i8* nonnull %1, i64 24, i32 8, i1 false), !dbg !438
%86 = load i8*, i8** %5, align 8, !dbg !959, !alias.scope !960, !nonnull !115
tail call void @llvm.dbg.value(metadata i8* %86, i64 0, metadata !252, metadata !193), !dbg !967
%87 = load i64, i64* %6, align 8, !dbg !468, !alias.scope !968
call void @llvm.dbg.value(metadata i8* %86, i64 0, metadata !395, metadata !969), !dbg !970
call void @llvm.dbg.value(metadata i64 %87, i64 0, metadata !395, metadata !971), !dbg !970
call void @llvm.dbg.declare(metadata %str_slice* undef, metadata !395, metadata !193), !dbg !970
call void @llvm.dbg.declare(metadata %str_slice* undef, metadata !396, metadata !193), !dbg !972
call void @llvm.dbg.declare(metadata %"1.std::io::Error"* undef, metadata !421, metadata !193), !dbg !973
call void @llvm.dbg.declare(metadata %"1.std::io::Error"* undef, metadata !428, metadata !193), !dbg !974
call void @llvm.dbg.value(metadata i8* %86, i64 0, metadata !396, metadata !969), !dbg !972
call void @llvm.dbg.value(metadata i64 %87, i64 0, metadata !396, metadata !971), !dbg !972
call void @llvm.lifetime.start(i64 40, i8* %7), !dbg !469, !noalias !975
call void @llvm.lifetime.start(i64 24, i8* %8), !dbg !469, !noalias !975
call void @llvm.dbg.value(metadata i8* %86, i64 0, metadata !491, metadata !969), !dbg !979
call void @llvm.dbg.value(metadata i64 %87, i64 0, metadata !491, metadata !971), !dbg !979
call void @llvm.dbg.declare(metadata %str_slice* undef, metadata !491, metadata !193), !dbg !979
call void @llvm.lifetime.start(i64 16, i8* %9), !dbg !470, !noalias !980
invoke void @_ZN3std2fs11OpenOptions3new17hab5f4e67b20633ceE(%"1.std::fs::OpenOptions"* noalias nocapture nonnull sret dereferenceable(16) %_6.i.i)
to label %.noexc.i unwind label %bb44.thread218.i, !dbg !470, !noalias !975
.noexc.i: ; preds = %bb12
%88 = invoke dereferenceable(16) %"1.std::fs::OpenOptions"* @_ZN3std2fs11OpenOptions4read17h707a1e8d168c884eE(%"1.std::fs::OpenOptions"* nonnull dereferenceable(16) %_6.i.i, i1 zeroext true)
to label %.noexc82.i unwind label %bb44.thread218.i, !dbg !470, !noalias !984
.noexc82.i: ; preds = %.noexc.i
%89 = invoke { %"1.std::path::Path"*, i64 } @"_ZN3std4path77_$LT$impl$u20$core..convert..AsRef$LT$std..path..Path$GT$$u20$for$u20$str$GT$6as_ref17hd791577420faace7E"(i8* noalias nonnull readonly %86, i64 %87)
to label %.noexc83.i unwind label %bb44.thread218.i, !dbg !985, !noalias !984
.noexc83.i: ; preds = %.noexc82.i
%90 = extractvalue { %"1.std::path::Path"*, i64 } %89, 0, !dbg !470
%91 = extractvalue { %"1.std::path::Path"*, i64 } %89, 1, !dbg !470
call void @llvm.dbg.value(metadata %"1.std::fs::OpenOptions"* %88, i64 0, metadata !1017, metadata !193), !dbg !1043
call void @llvm.dbg.value(metadata %"1.std::path::Path"* %90, i64 0, metadata !1039, metadata !969), !dbg !1043
call void @llvm.dbg.value(metadata i64 %91, i64 0, metadata !1039, metadata !971), !dbg !1043
call void @llvm.dbg.declare(metadata { %"1.std::path::Path"*, i64 }* undef, metadata !1039, metadata !193), !dbg !1043
call void @llvm.dbg.value(metadata %"1.std::fs::OpenOptions"* %88, i64 0, metadata !1040, metadata !193), !dbg !1045
%92 = invoke { %"1.std::path::Path"*, i64 } @"_ZN79_$LT$std..path..Path$u20$as$u20$core..convert..AsRef$LT$std..path..Path$GT$$GT$6as_ref17h463c4b2c637c9ef7E"(%"1.std::path::Path"* noalias nonnull readonly %90, i64 %91)
to label %.noexc84.i unwind label %bb44.thread218.i, !dbg !1046, !noalias !984
.noexc84.i: ; preds = %.noexc83.i
%93 = extractvalue { %"1.std::path::Path"*, i64 } %92, 0, !dbg !1058
%94 = extractvalue { %"1.std::path::Path"*, i64 } %92, 1, !dbg !1058
invoke void @_ZN3std2fs11OpenOptions5_open17he892a919561b0fd4E(%"2.std::result::Result<std::fs::File, std::io::Error>"* noalias nocapture nonnull sret dereferenceable(24) %_7.i, %"1.std::fs::OpenOptions"* noalias nonnull readonly dereferenceable(16) %88, %"1.std::path::Path"* noalias nonnull readonly %93, i64 %94)
to label %bb2.i62 unwind label %bb44.thread218.i, !dbg !1058, !noalias !984
bb1.i61: ; preds = %cleanup6.i, %bb44.thread218.i, %cond.i.i102.i, %.noexc64, %bb4.i
%personalityslot.sroa.8.0.i = phi i32 [ %.fca.1.extract30.i, %cleanup6.i ], [ %.fca.1.extract225.i, %.noexc64 ], [ %.fca.1.extract225.i, %cond.i.i102.i ], [ %.fca.1.extract220.i, %bb44.thread218.i ], [ %.fca.1.extract18.i, %bb4.i ], !dbg !1059
%personalityslot.sroa.0.0.i = phi i8* [ %.fca.0.extract28.i, %cleanup6.i ], [ %.fca.0.extract224.i, %.noexc64 ], [ %.fca.0.extract224.i, %cond.i.i102.i ], [ %.fca.0.extract219.i, %bb44.thread218.i ], [ %.fca.0.extract16.i, %bb4.i ], !dbg !1059
%.fca.0.insert.i = insertvalue { i8*, i32 } undef, i8* %personalityslot.sroa.0.0.i, 0, !dbg !1060
%.fca.1.insert.i = insertvalue { i8*, i32 } %.fca.0.insert.i, i32 %personalityslot.sroa.8.0.i, 1, !dbg !1060
br label %cleanup4.body
bb2.i62: ; preds = %.noexc84.i
call void @llvm.lifetime.end(i64 16, i8* %9), !dbg !1061, !noalias !980
%self.i.sroa.0.0.copyload.i = load i64, i64* %self.i.sroa.0.0..sroa_cast.i, align 8, !dbg !494, !noalias !975
%self.i.sroa.4.i.sroa.0.0.copyload = load i64, i64* %self.i.sroa.4.i.sroa.0.0.self.i.sroa.4.0..sroa_cast.i.sroa_idx, align 8, !dbg !494
%95 = trunc i64 %self.i.sroa.0.0.copyload.i to i32, !dbg !1062
%switch3.i.i = icmp eq i32 %95, 1, !dbg !1062
br i1 %switch3.i.i, label %bb10.i, label %bb5.i, !dbg !1062
bb4.i: ; preds = %cleanup4.i, %cleanup.body.i.i.i
%eh.lpad-body.i = phi { i8*, i32 } [ %129, %cleanup4.i ], [ %100, %cleanup.body.i.i.i ], !dbg !1059
%.fca.0.extract16.i = extractvalue { i8*, i32 } %eh.lpad-body.i, 0, !dbg !1059
%.fca.1.extract18.i = extractvalue { i8*, i32 } %eh.lpad-body.i, 1, !dbg !1059
br label %bb1.i61, !dbg !469
bb5.i: ; preds = %bb2.i62
%96 = lshr i64 %self.i.sroa.0.0.copyload.i, 32, !dbg !1062
%97 = trunc i64 %96 to i32, !dbg !1062
call void @llvm.dbg.value(metadata i32 %97, i64 0, metadata !654, metadata !193), !dbg !1063
call void @llvm.dbg.declare(metadata %"1.std::fs::File"* undef, metadata !654, metadata !193), !dbg !1063
call void @llvm.dbg.declare(metadata %"1.std::fs::File"* undef, metadata !655, metadata !193), !dbg !1064
call void @llvm.dbg.value(metadata i32 %97, i64 0, metadata !655, metadata !193), !dbg !1064
call void @llvm.dbg.value(metadata i64 8192, i64 0, metadata !644, metadata !193), !dbg !1065
call void @llvm.dbg.declare(metadata %"1.std::fs::File"* undef, metadata !645, metadata !193), !dbg !1065
call void @llvm.dbg.declare(metadata %"1.std::fs::File"* undef, metadata !647, metadata !193), !dbg !1066
call void @llvm.dbg.value(metadata i64 8192, i64 0, metadata !646, metadata !193), !dbg !1066
call void @llvm.lifetime.start(i64 4, i8* %31), !dbg !635, !noalias !1067
store i32 %97, i32* %.fca.0.0.0.gep.i.i.i, align 8, !dbg !635, !noalias !1067
call void @llvm.dbg.value(metadata i8 0, i64 0, metadata !1072, metadata !193), !dbg !1083
call void @llvm.dbg.value(metadata i64 8192, i64 0, metadata !1077, metadata !193), !dbg !1083
call void @llvm.dbg.value(metadata i8 0, i64 0, metadata !1078, metadata !193), !dbg !1087
call void @llvm.dbg.value(metadata i64 8192, i64 0, metadata !1080, metadata !193), !dbg !1087
call void @llvm.dbg.value(metadata i64 8192, i64 0, metadata !1088, metadata !193), !dbg !1095
call void @llvm.dbg.value(metadata i64 8192, i64 0, metadata !1093, metadata !193), !dbg !1097
call void @llvm.dbg.value(metadata i64 8192, i64 0, metadata !1098, metadata !193), !dbg !1115
call void @llvm.dbg.value(metadata i64 8192, i64 0, metadata !1103, metadata !193), !dbg !1117
call void @llvm.dbg.value(metadata i64 1, i64 0, metadata !1105, metadata !193), !dbg !1118
call void @llvm.dbg.value(metadata i64 8192, i64 0, metadata !1107, metadata !193), !dbg !1119
call void @llvm.dbg.value(metadata i64 1, i64 0, metadata !1111, metadata !193), !dbg !1120
call void @llvm.dbg.value(metadata i64 1, i64 0, metadata !1121, metadata !193) #7, !dbg !1130
call void @llvm.dbg.value(metadata i64 1, i64 0, metadata !1129, metadata !193) #7, !dbg !1132
%98 = call i8* @__rust_allocate(i64 8192, i64 1) #7, !dbg !1133, !noalias !1134
call void @llvm.dbg.value(metadata i8* %98, i64 0, metadata !1113, metadata !193), !dbg !1141
call void @llvm.dbg.value(metadata i8* %98, i64 0, metadata !1142, metadata !193), !dbg !1149
call void @llvm.dbg.value(metadata i8* %98, i64 0, metadata !1147, metadata !193), !dbg !1151
%99 = icmp eq i8* %98, null, !dbg !1152
br i1 %99, label %bb10.i.i.i.i.i.i, label %bb15.i, !dbg !1153
bb10.i.i.i.i.i.i: ; preds = %bb5.i
invoke void @_ZN5alloc3oom3oom17h1b5d51bf37591d9bE()
to label %.noexc.i.i.i unwind label %cleanup.body.i.i.i, !dbg !1154, !noalias !1155
.noexc.i.i.i: ; preds = %bb10.i.i.i.i.i.i
unreachable, !dbg !1154
cleanup.body.i.i.i: ; preds = %bb10.i.i.i.i.i.i
%100 = landingpad { i8*, i32 }
cleanup, !dbg !1156
%101 = getelementptr inbounds %"1.std::fs::File", %"1.std::fs::File"* %_5.i.i.i, i64 0, i32 0, i32 0, !dbg !658
invoke void @"_ZN63_$LT$std..sys..imp..fd..FileDesc$u20$as$u20$core..ops..Drop$GT$4drop17hc69eb55fbc21c6ecE"(%"1.std::sys::imp::fd::FileDesc"* dereferenceable(4) %101)
to label %bb4.i unwind label %cleanup4.i, !dbg !658, !noalias !984
bb10.i: ; preds = %bb2.i62
%self.i.sroa.4.i.sroa.5.0.copyload = load i64, i64* %self.i.sroa.4.i.sroa.5.0.self.i.sroa.4.0..sroa_cast.i.sroa_idx184, align 8, !dbg !494
call void @llvm.dbg.declare(metadata %"1.std::io::Error"* undef, metadata !1157, metadata !193) #7, !dbg !1166
call void @llvm.dbg.declare(metadata %"1.std::io::Error"* undef, metadata !1164, metadata !193) #7, !dbg !1168
%_11.sroa.12.sroa.9.0.extract.shift153 = lshr i64 %self.i.sroa.4.i.sroa.0.0.copyload, 8, !dbg !1169
call void @llvm.lifetime.end(i64 24, i8* nonnull %8), !dbg !469, !noalias !975
br label %bb24, !dbg !740
bb15.i: ; preds = %bb5.i
call void @llvm.dbg.value(metadata i64 8192, i64 0, metadata !1170, metadata !193), !dbg !1199
call void @llvm.dbg.value(metadata i8 0, i64 0, metadata !1177, metadata !193), !dbg !1199
call void @llvm.dbg.value(metadata i64 8192, i64 0, metadata !1180, metadata !193), !dbg !1201
call void @llvm.dbg.value(metadata i8 0, i64 0, metadata !1181, metadata !193), !dbg !1201
call void @llvm.dbg.value(metadata i8* %98, i64 0, metadata !1182, metadata !193), !dbg !1202
call void @llvm.dbg.value(metadata i8 0, i64 0, metadata !1181, metadata !193), !dbg !1201
call void @llvm.dbg.value(metadata i8* undef, i64 0, metadata !1203, metadata !193), !dbg !1212
call void @llvm.dbg.value(metadata i8 0, i64 0, metadata !1208, metadata !193), !dbg !1212
call void @llvm.dbg.value(metadata i8* undef, i64 0, metadata !1209, metadata !193), !dbg !1214
call void @llvm.dbg.value(metadata i8 0, i64 0, metadata !1211, metadata !193), !dbg !1214
call void @llvm.memset.p0i8.i64(i8* nonnull %98, i8 0, i64 8192, i32 1, i1 false), !dbg !1215, !noalias !1216
store i32 %97, i32* %32, align 8, !dbg !657, !alias.scope !1217, !noalias !975
store i8* %98, i8** %33, align 8, !dbg !657, !alias.scope !1217, !noalias !975
store i64 8192, i64* %34, align 8, !dbg !657, !alias.scope !1217, !noalias !975
call void @llvm.memset.p0i8.i64(i8* %36, i8 0, i64 16, i32 8, i1 false), !dbg !657, !alias.scope !1217, !noalias !975
call void @llvm.lifetime.end(i64 4, i8* nonnull %31), !dbg !658, !noalias !1067
call void @llvm.lifetime.end(i64 24, i8* nonnull %8), !dbg !469, !noalias !975
call void @llvm.dbg.value(metadata i8 0, i64 0, metadata !425, metadata !193), !dbg !1218
call void @llvm.lifetime.start(i64 1, i8* %37), !dbg !659, !noalias !975
store i8 0, i8* %37, align 1, !dbg !659, !noalias !975
call void @llvm.dbg.value(metadata i32 0, i64 0, metadata !426, metadata !193), !dbg !1219
br label %bb16.outer.i, !dbg !660
bb16.outer.i: ; preds = %bb16.outer.i.backedge, %bb15.i
%non_comment_count.0.ph.i = phi i32 [ 0, %bb15.i ], [ %non_comment_count.0.ph.i.be, %bb16.outer.i.backedge ], !dbg !1059
%state.0.ph.i = phi i8 [ 0, %bb15.i ], [ %state.0.ph.i.be, %bb16.outer.i.backedge ], !dbg !1059
br label %bb16.i, !dbg !660
bb16.i: ; preds = %bb16.i.backedge, %bb16.outer.i
%state.0.i = phi i8 [ %state.0.ph.i, %bb16.outer.i ], [ %state.0.i.be, %bb16.i.backedge ], !dbg !1059
call void @llvm.lifetime.start(i64 24, i8* %38), !dbg !660, !noalias !975
call void @llvm.dbg.value(metadata i64 1, i64 0, metadata !686, metadata !971), !dbg !1220
call void @llvm.dbg.declare(metadata { i8*, i64 }* undef, metadata !686, metadata !193), !dbg !1220
call void @llvm.dbg.declare(metadata { i8*, i64 }* undef, metadata !688, metadata !193), !dbg !1221
call void @llvm.dbg.declare(metadata %"1.std::io::Error"* undef, metadata !693, metadata !193), !dbg !1222
call void @llvm.dbg.value(metadata i64 1, i64 0, metadata !688, metadata !971), !dbg !1221
%102 = load i64, i64* %35, align 8, !dbg !1223, !noalias !1224
%103 = load i64, i64* %39, align 8, !dbg !1223, !noalias !1224
%104 = icmp eq i64 %102, %103, !dbg !661
br i1 %104, label %bb3.i.i, label %bb18.thread269.i, !dbg !661
bb1.i.i.i: ; preds = %bb3.i.i
call void @llvm.dbg.value(metadata %"1.std::io::BufReader<std::fs::File>"* %input.i, i64 0, metadata !720, metadata !193), !dbg !1227
call void @llvm.dbg.value(metadata %"1.std::io::BufReader<std::fs::File>"* %input.i, i64 0, metadata !721, metadata !193), !dbg !1228
call void @llvm.lifetime.start(i64 24, i8* %40), !dbg !702, !noalias !1229
%105 = load i8*, i8** %33, align 8, !dbg !702, !noalias !1229, !nonnull !115
invoke void @"_ZN47_$LT$std..fs..File$u20$as$u20$std..io..Read$GT$4read17habeb1d7a1449fe37E"(%"2.std::result::Result<usize, std::io::Error>"* noalias nocapture nonnull sret dereferenceable(24) %_9.i.i.i, %"1.std::fs::File"* nonnull dereferenceable(4) %41, i8* nonnull %105, i64 %106)
to label %.noexc88.i unwind label %bb43.i, !dbg !702, !noalias !984
.noexc88.i: ; preds = %bb1.i.i.i
%arg0.sroa.0.0.copyload.i.i.i.i = load i64, i64* %arg0.sroa.0.0..sroa_idx.i.i.i.i, align 8, !dbg !702, !alias.scope !1232, !noalias !1235
%arg0.sroa.2.0.copyload.i.i.i.i = load i64, i64* %arg0.sroa.2.0..sroa_idx64.i.i.i.i, align 8, !dbg !702, !alias.scope !1232, !noalias !1235
%switch3.i.i.i.i = icmp eq i64 %arg0.sroa.0.0.copyload.i.i.i.i, 1, !dbg !1237
br i1 %switch3.i.i.i.i, label %bb18.thread.i, label %bb13.i.i.i, !dbg !1237
bb13.i.i.i: ; preds = %.noexc88.i
store i64 %arg0.sroa.2.0.copyload.i.i.i.i, i64* %39, align 8, !dbg !702, !noalias !1229
call void @llvm.lifetime.end(i64 24, i8* nonnull %40), !dbg !702, !noalias !1229
store i64 0, i64* %35, align 8, !dbg !1252, !noalias !1229
br label %bb18.thread269.i, !dbg !1223
bb3.i.i: ; preds = %bb16.i
%106 = load i64, i64* %34, align 8, !dbg !702, !noalias !1224
%107 = icmp ugt i64 %106, 1, !dbg !661
br i1 %107, label %bb1.i.i.i, label %bb7.i.i63, !dbg !661
bb7.i.i63: ; preds = %bb3.i.i
invoke void @"_ZN47_$LT$std..fs..File$u20$as$u20$std..io..Read$GT$4read17habeb1d7a1449fe37E"(%"2.std::result::Result<usize, std::io::Error>"* noalias nocapture nonnull sret dereferenceable(24) %_21.i, %"1.std::fs::File"* nonnull dereferenceable(4) %41, i8* nonnull %37, i64 1)
to label %bb18.i unwind label %bb43.i, !dbg !1253, !noalias !984
bb18.thread.i: ; preds = %.noexc88.i
%arg0.sroa.3.0.copyload69.i.i.i.i = load i64, i64* %arg0.sroa.3.0..sroa_idx65.i.i.i.i, align 8, !dbg !702, !alias.scope !1232, !noalias !1235
call void @llvm.lifetime.end(i64 24, i8* nonnull %40), !dbg !702, !noalias !1229
call void @llvm.dbg.declare(metadata %"1.std::io::Error"* undef, metadata !737, metadata !193) #7, !dbg !1254
call void @llvm.dbg.declare(metadata %"1.std::io::Error"* undef, metadata !738, metadata !193) #7, !dbg !1255
store i64 1, i64* %42, align 8, !dbg !729, !alias.scope !1256, !noalias !1259
store i64 %arg0.sroa.2.0.copyload.i.i.i.i, i64* %_24.sroa.0.sroa.0.0._24.sroa.0.0..sroa_cast.sroa_idx.i.i, align 8, !dbg !729, !alias.scope !1261, !noalias !975
store i64 %arg0.sroa.3.0.copyload69.i.i.i.i, i64* %_24.sroa.0.sroa.4.0._24.sroa.0.0..sroa_cast.sroa_idx181.i.i, align 8, !dbg !729, !alias.scope !1261, !noalias !975
br label %bb25.i, !dbg !1262
bb18.thread269.i: ; preds = %bb13.i.i.i, %bb16.i
%108 = phi i64 [ %arg0.sroa.2.0.copyload.i.i.i.i, %bb13.i.i.i ], [ %103, %bb16.i ], !dbg !1264
%109 = phi i64 [ 0, %bb13.i.i.i ], [ %102, %bb16.i ], !dbg !1264
%110 = load i8*, i8** %33, align 8, !dbg !1275, !noalias !1229, !nonnull !115
call void @llvm.dbg.value(metadata i8* %110, i64 0, metadata !726, metadata !193), !dbg !1276
%111 = getelementptr inbounds i8, i8* %110, i64 %109, !dbg !1277
call void @llvm.dbg.value(metadata { i8*, i64 }* undef, i64 0, metadata !691, metadata !836), !dbg !1278
call void @llvm.dbg.value(metadata i64 1, i64 0, metadata !1279, metadata !971), !dbg !1297
call void @llvm.dbg.declare(metadata { i8*, i64 }* undef, metadata !1279, metadata !193), !dbg !1297
call void @llvm.dbg.declare(metadata { i8*, i64 }* undef, metadata !1291, metadata !193), !dbg !1299
call void @llvm.dbg.declare(metadata { i8*, i64 }* undef, metadata !1294, metadata !193), !dbg !1300
call void @llvm.dbg.declare(metadata { i8*, i64 }* undef, metadata !1296, metadata !193), !dbg !1300
call void @llvm.dbg.value(metadata i64 1, i64 0, metadata !1291, metadata !971), !dbg !1299
call void @llvm.dbg.value(metadata i64 1, i64 0, metadata !1301, metadata !193), !dbg !1314
call void @llvm.dbg.value(metadata i64 1, i64 0, metadata !1311, metadata !193), !dbg !1316
%112 = icmp ne i64 %108, %109, !dbg !1317
%_0.0.sroa.speculated.i.i.i.i = zext i1 %112 to i64, !dbg !1331
call void @llvm.dbg.value(metadata i64 %_0.0.sroa.speculated.i.i.i.i, i64 0, metadata !1292, metadata !193), !dbg !1332
call void @llvm.dbg.value(metadata i8* %111, i64 0, metadata !1294, metadata !969), !dbg !1300
call void @llvm.dbg.value(metadata i64 %_0.0.sroa.speculated.i.i.i.i, i64 0, metadata !1294, metadata !971), !dbg !1300
call void @llvm.dbg.value(metadata i8* %37, i64 0, metadata !1333, metadata !969), !dbg !1345
call void @llvm.dbg.value(metadata i64 %_0.0.sroa.speculated.i.i.i.i, i64 0, metadata !1333, metadata !971), !dbg !1345
call void @llvm.dbg.declare(metadata { i8*, i64 }* undef, metadata !1333, metadata !193), !dbg !1345
call void @llvm.dbg.value(metadata i8* %111, i64 0, metadata !1341, metadata !969), !dbg !1345
call void @llvm.dbg.value(metadata i64 %_0.0.sroa.speculated.i.i.i.i, i64 0, metadata !1341, metadata !971), !dbg !1345
call void @llvm.dbg.declare(metadata { i8*, i64 }* undef, metadata !1341, metadata !193), !dbg !1345
call void @llvm.dbg.declare(metadata { i8*, i64 }* undef, metadata !1342, metadata !193), !dbg !1347
call void @llvm.dbg.declare(metadata { i8*, i64 }* undef, metadata !1344, metadata !193), !dbg !1347
call void @llvm.dbg.value(metadata i8* %37, i64 0, metadata !1342, metadata !969), !dbg !1347
call void @llvm.dbg.value(metadata i64 %_0.0.sroa.speculated.i.i.i.i, i64 0, metadata !1342, metadata !971), !dbg !1347
call void @llvm.dbg.value(metadata i8* %111, i64 0, metadata !1344, metadata !969), !dbg !1347
call void @llvm.dbg.value(metadata i64 %_0.0.sroa.speculated.i.i.i.i, i64 0, metadata !1344, metadata !971), !dbg !1347
call void @llvm.dbg.value(metadata i8* %37, i64 0, metadata !1348, metadata !969), !dbg !1357
call void @llvm.dbg.value(metadata i64 %_0.0.sroa.speculated.i.i.i.i, i64 0, metadata !1348, metadata !971), !dbg !1357
call void @llvm.dbg.declare(metadata { i8*, i64 }* undef, metadata !1348, metadata !193), !dbg !1357
call void @llvm.dbg.value(metadata i8* %111, i64 0, metadata !1353, metadata !969), !dbg !1357
call void @llvm.dbg.value(metadata i64 %_0.0.sroa.speculated.i.i.i.i, i64 0, metadata !1353, metadata !971), !dbg !1357
call void @llvm.dbg.declare(metadata { i8*, i64 }* undef, metadata !1353, metadata !193), !dbg !1357
call void @llvm.dbg.declare(metadata { i8*, i64 }* undef, metadata !1354, metadata !193), !dbg !1359
call void @llvm.dbg.declare(metadata { i8*, i64 }* undef, metadata !1356, metadata !193), !dbg !1359
call void @llvm.dbg.value(metadata i8* %37, i64 0, metadata !1354, metadata !969), !dbg !1359
call void @llvm.dbg.value(metadata i64 %_0.0.sroa.speculated.i.i.i.i, i64 0, metadata !1354, metadata !971), !dbg !1359
call void @llvm.dbg.value(metadata i8* %111, i64 0, metadata !1356, metadata !969), !dbg !1359
call void @llvm.dbg.value(metadata i64 %_0.0.sroa.speculated.i.i.i.i, i64 0, metadata !1356, metadata !971), !dbg !1359
call void @llvm.memcpy.p0i8.p0i8.i64(i8* nonnull %37, i8* nonnull %111, i64 %_0.0.sroa.speculated.i.i.i.i, i32 1, i1 false), !dbg !1360, !noalias !1361
call void @llvm.dbg.value(metadata i64 %_0.0.sroa.speculated.i.i.i.i, i64 0, metadata !689, metadata !193), !dbg !1364
call void @llvm.dbg.value(metadata %"1.std::io::BufReader<std::fs::File>"* %input.i, i64 0, metadata !1270, metadata !193), !dbg !1365
call void @llvm.dbg.value(metadata i64 %_0.0.sroa.speculated.i.i.i.i, i64 0, metadata !1271, metadata !193), !dbg !1365
call void @llvm.dbg.value(metadata %"1.std::io::BufReader<std::fs::File>"* %input.i, i64 0, metadata !1272, metadata !193), !dbg !1366
call void @llvm.dbg.value(metadata i64 %_0.0.sroa.speculated.i.i.i.i, i64 0, metadata !1273, metadata !193), !dbg !1366
%113 = add i64 %_0.0.sroa.speculated.i.i.i.i, %109, !dbg !1264
call void @llvm.dbg.value(metadata i64 %113, i64 0, metadata !1301, metadata !193), !dbg !1367
call void @llvm.dbg.value(metadata i64 %108, i64 0, metadata !1310, metadata !193), !dbg !1367
call void @llvm.dbg.value(metadata i64 %113, i64 0, metadata !1311, metadata !193), !dbg !1369
call void @llvm.dbg.value(metadata i64 %108, i64 0, metadata !1313, metadata !193), !dbg !1369
%114 = icmp ule i64 %113, %108, !dbg !1370
%_0.0.sroa.speculated.i.i43.i.i = select i1 %114, i64 %113, i64 %108, !dbg !1372
store i64 %_0.0.sroa.speculated.i.i43.i.i, i64* %35, align 8, !dbg !1264, !noalias !1224
store i64 0, i64* %42, align 8, !dbg !1373, !alias.scope !1261, !noalias !975
store i64 %_0.0.sroa.speculated.i.i.i.i, i64* %_24.sroa.0.sroa.0.0._24.sroa.0.0..sroa_cast.sroa_idx.i.i, align 8, !dbg !1373, !alias.scope !1261, !noalias !975
br label %bb26.i, !dbg !1262
bb17.i: ; preds = %bb26.i
call void @llvm.lifetime.end(i64 1, i8* nonnull %37), !dbg !1374, !noalias !975
invoke void @"_ZN63_$LT$std..sys..imp..fd..FileDesc$u20$as$u20$core..ops..Drop$GT$4drop17hc69eb55fbc21c6ecE"(%"1.std::sys::imp::fd::FileDesc"* nonnull dereferenceable(4) %43)
to label %.noexc90.i unwind label %cleanup6.i, !dbg !740, !noalias !984
.noexc90.i: ; preds = %bb17.i
%115 = load i64, i64* %34, align 8, !dbg !740, !noalias !975
%116 = icmp eq i64 %115, 0, !dbg !740
br i1 %116, label %bb20, label %cond.i.i.i, !dbg !740
cond.i.i.i: ; preds = %.noexc90.i
%117 = load i8*, i8** %33, align 8, !dbg !740, !noalias !975
call void @llvm.dbg.value(metadata i8* %117, i64 0, metadata !1375, metadata !193) #7, !dbg !1384
call void @llvm.dbg.value(metadata i64 %115, i64 0, metadata !1378, metadata !193) #7, !dbg !1384
call void @llvm.dbg.value(metadata i64 1, i64 0, metadata !1379, metadata !193) #7, !dbg !1384
call void @llvm.dbg.value(metadata i8* %117, i64 0, metadata !1380, metadata !193) #7, !dbg !1386
call void @llvm.dbg.value(metadata i64 %115, i64 0, metadata !1382, metadata !193) #7, !dbg !1386
call void @llvm.dbg.value(metadata i64 1, i64 0, metadata !1383, metadata !193) #7, !dbg !1386
call void @llvm.dbg.value(metadata i8* %117, i64 0, metadata !818, metadata !193) #7, !dbg !1387
call void @llvm.dbg.value(metadata i64 %115, i64 0, metadata !825, metadata !193) #7, !dbg !1387
call void @llvm.dbg.value(metadata i64 1, i64 0, metadata !826, metadata !193) #7, !dbg !1387
call void @llvm.dbg.value(metadata i8* %117, i64 0, metadata !827, metadata !193) #7, !dbg !1389
call void @llvm.dbg.value(metadata i64 %115, i64 0, metadata !829, metadata !193) #7, !dbg !1389
call void @llvm.dbg.value(metadata i64 1, i64 0, metadata !830, metadata !193) #7, !dbg !1389
call void @__rust_deallocate(i8* %117, i64 %115, i64 1) #7, !dbg !1390, !noalias !984
br label %bb20, !dbg !740
bb18.i: ; preds = %bb7.i.i63
%arg0.sroa.0.0.copyload.i.pre.i = load i64, i64* %42, align 8, !dbg !660, !alias.scope !1391, !noalias !1394
%arg0.sroa.2.0.copyload.i.pre.i = load i64, i64* %_24.sroa.0.sroa.0.0._24.sroa.0.0..sroa_cast.sroa_idx.i.i, align 8, !dbg !660, !alias.scope !1391, !noalias !1394
%switch3.i92.i = icmp eq i64 %arg0.sroa.0.0.copyload.i.pre.i, 1, !dbg !1262
br i1 %switch3.i92.i, label %bb25.i.loopexit, label %bb26.i, !dbg !1262
bb25.i.loopexit: ; preds = %bb18.i
%arg0.sroa.3.0.copyload69.i.i.pre = load i64, i64* %_24.sroa.0.sroa.4.0._24.sroa.0.0..sroa_cast.sroa_idx181.i.i, align 8, !dbg !660, !alias.scope !1391, !noalias !1394
br label %bb25.i, !dbg !660
bb25.i: ; preds = %bb25.i.loopexit, %bb18.thread.i
%arg0.sroa.3.0.copyload69.i.i = phi i64 [ %arg0.sroa.3.0.copyload69.i.i.i.i, %bb18.thread.i ], [ %arg0.sroa.3.0.copyload69.i.i.pre, %bb25.i.loopexit ], !dbg !660
%arg0.sroa.2.0.copyload.i268.i = phi i64 [ %arg0.sroa.2.0.copyload.i.i.i.i, %bb18.thread.i ], [ %arg0.sroa.2.0.copyload.i.pre.i, %bb25.i.loopexit ], !dbg !1059
call void @llvm.dbg.declare(metadata %"1.std::io::Error"* undef, metadata !737, metadata !193) #7, !dbg !1396
call void @llvm.dbg.declare(metadata %"1.std::io::Error"* undef, metadata !738, metadata !193) #7, !dbg !1398
call void @llvm.dbg.declare(metadata %"1.std::io::Error"* undef, metadata !1157, metadata !193) #7, !dbg !1399
call void @llvm.dbg.declare(metadata %"1.std::io::Error"* undef, metadata !1164, metadata !193) #7, !dbg !1401
%_11.sroa.12.sroa.9.0.extract.shift = lshr i64 %arg0.sroa.2.0.copyload.i268.i, 8, !dbg !1402
call void @llvm.lifetime.end(i64 24, i8* nonnull %38), !dbg !660, !noalias !975
call void @llvm.lifetime.end(i64 1, i8* nonnull %37), !dbg !1374, !noalias !975
invoke void @"_ZN63_$LT$std..sys..imp..fd..FileDesc$u20$as$u20$core..ops..Drop$GT$4drop17hc69eb55fbc21c6ecE"(%"1.std::sys::imp::fd::FileDesc"* dereferenceable(4) %43)
to label %.noexc100.i unwind label %cleanup6.i, !dbg !740, !noalias !984
.noexc100.i: ; preds = %bb25.i
%118 = load i64, i64* %34, align 8, !dbg !740, !noalias !975
%119 = icmp eq i64 %118, 0, !dbg !740
br i1 %119, label %bb24, label %cond.i.i99.i, !dbg !740
cond.i.i99.i: ; preds = %.noexc100.i
%120 = load i8*, i8** %33, align 8, !dbg !740, !noalias !975
call void @llvm.dbg.value(metadata i8* %120, i64 0, metadata !1375, metadata !193) #7, !dbg !1403
call void @llvm.dbg.value(metadata i64 %118, i64 0, metadata !1378, metadata !193) #7, !dbg !1403
call void @llvm.dbg.value(metadata i64 1, i64 0, metadata !1379, metadata !193) #7, !dbg !1403
call void @llvm.dbg.value(metadata i8* %120, i64 0, metadata !1380, metadata !193) #7, !dbg !1405
call void @llvm.dbg.value(metadata i64 %118, i64 0, metadata !1382, metadata !193) #7, !dbg !1405
call void @llvm.dbg.value(metadata i64 1, i64 0, metadata !1383, metadata !193) #7, !dbg !1405
call void @llvm.dbg.value(metadata i8* %120, i64 0, metadata !818, metadata !193) #7, !dbg !1406
call void @llvm.dbg.value(metadata i64 %118, i64 0, metadata !825, metadata !193) #7, !dbg !1406
call void @llvm.dbg.value(metadata i64 1, i64 0, metadata !826, metadata !193) #7, !dbg !1406
call void @llvm.dbg.value(metadata i8* %120, i64 0, metadata !827, metadata !193) #7, !dbg !1408
call void @llvm.dbg.value(metadata i64 %118, i64 0, metadata !829, metadata !193) #7, !dbg !1408
call void @llvm.dbg.value(metadata i64 1, i64 0, metadata !830, metadata !193) #7, !dbg !1408
call void @__rust_deallocate(i8* %120, i64 %118, i64 1) #7, !dbg !1409, !noalias !984
br label %bb24, !dbg !740
bb26.i: ; preds = %bb18.i, %bb18.thread269.i
%arg0.sroa.2.0.copyload.i271.i = phi i64 [ %_0.0.sroa.speculated.i.i.i.i, %bb18.thread269.i ], [ %arg0.sroa.2.0.copyload.i.pre.i, %bb18.i ], !dbg !1059
%121 = icmp eq i64 %arg0.sroa.2.0.copyload.i271.i, 0, !dbg !660
call void @llvm.lifetime.end(i64 24, i8* nonnull %38), !dbg !660, !noalias !975
br i1 %121, label %bb17.i, label %bb27.i, !dbg !660
bb27.i: ; preds = %bb26.i
%122 = load i8, i8* %37, align 1, !dbg !1410, !noalias !975
switch i8 %state.0.i, label %unreachable.i [
i8 0, label %bb37.i
i8 1, label %bb38.i
i8 2, label %bb39.i
i8 3, label %bb40.i
], !dbg !1411
bb37.i: ; preds = %bb27.i
%cond9.i = icmp eq i8 %122, 47, !dbg !1411
%123 = zext i1 %cond9.i to i32, !dbg !1411
%124 = xor i32 %123, 1, !dbg !1411
%non_comment_count.0..i = add i32 %124, %non_comment_count.0.ph.i, !dbg !1411
%.state.0.i = zext i1 %cond9.i to i8, !dbg !1411
br label %bb16.outer.i.backedge, !dbg !1411
bb16.outer.i.backedge: ; preds = %bb37.i, %bb38.i
%non_comment_count.0.ph.i.be = phi i32 [ %non_comment_count.0.79.i, %bb38.i ], [ %non_comment_count.0..i, %bb37.i ]
%state.0.ph.i.be = phi i8 [ %..i, %bb38.i ], [ %.state.0.i, %bb37.i ]
br label %bb16.outer.i, !dbg !660
bb38.i: ; preds = %bb27.i
%cond8.i = icmp eq i8 %122, 42, !dbg !1412
call void @llvm.dbg.value(metadata i8 0, i64 0, metadata !425, metadata !193), !dbg !1218
%125 = add i32 %non_comment_count.0.ph.i, 2, !dbg !1413
call void @llvm.dbg.value(metadata i32 %125, i64 0, metadata !426, metadata !193), !dbg !1219
%non_comment_count.0.79.i = select i1 %cond8.i, i32 %non_comment_count.0.ph.i, i32 %125, !dbg !1412
%..i = select i1 %cond8.i, i8 2, i8 0, !dbg !1412
br label %bb16.outer.i.backedge, !dbg !1412
bb39.i: ; preds = %bb27.i
%cond7.i = icmp eq i8 %122, 42, !dbg !1414
call void @llvm.dbg.value(metadata i8 3, i64 0, metadata !425, metadata !193), !dbg !1218
%.state.080.i = select i1 %cond7.i, i8 3, i8 2, !dbg !1414
br label %bb16.i.backedge, !dbg !1414
bb16.i.backedge: ; preds = %bb39.i, %bb40.i
%state.0.i.be = phi i8 [ %.state.080.i, %bb39.i ], [ %.81.i, %bb40.i ]
br label %bb16.i, !dbg !660
bb40.i: ; preds = %bb27.i
%cond.i = icmp eq i8 %122, 47, !dbg !1415
call void @llvm.dbg.value(metadata i8 2, i64 0, metadata !425, metadata !193), !dbg !1218
%.81.i = select i1 %cond.i, i8 0, i8 2, !dbg !1415
br label %bb16.i.backedge, !dbg !1415
bb43.i: ; preds = %bb7.i.i63, %bb1.i.i.i
%lpad.loopexit.i = landingpad { i8*, i32 }
cleanup, !dbg !1059
%.fca.0.extract224.i = extractvalue { i8*, i32 } %lpad.loopexit.i, 0, !dbg !1059
%.fca.1.extract225.i = extractvalue { i8*, i32 } %lpad.loopexit.i, 1, !dbg !1059
call void @llvm.dbg.value(metadata %"1.std::io::BufReader<std::fs::File>"* %input.i, i64 0, metadata !397, metadata !836), !dbg !1416
invoke void @"_ZN63_$LT$std..sys..imp..fd..FileDesc$u20$as$u20$core..ops..Drop$GT$4drop17hc69eb55fbc21c6ecE"(%"1.std::sys::imp::fd::FileDesc"* nonnull dereferenceable(4) %43)
to label %.noexc64 unwind label %cleanup4.loopexit.split-lp, !dbg !740
.noexc64: ; preds = %bb43.i
%126 = load i64, i64* %34, align 8, !dbg !740, !noalias !975
%127 = icmp eq i64 %126, 0, !dbg !740
br i1 %127, label %bb1.i61, label %cond.i.i102.i, !dbg !740
cond.i.i102.i: ; preds = %.noexc64
%128 = load i8*, i8** %33, align 8, !dbg !740, !noalias !975
call void @llvm.dbg.value(metadata i8* %128, i64 0, metadata !1375, metadata !193) #7, !dbg !1417
call void @llvm.dbg.value(metadata i64 %126, i64 0, metadata !1378, metadata !193) #7, !dbg !1417
call void @llvm.dbg.value(metadata i64 1, i64 0, metadata !1379, metadata !193) #7, !dbg !1417
call void @llvm.dbg.value(metadata i8* %128, i64 0, metadata !1380, metadata !193) #7, !dbg !1419
call void @llvm.dbg.value(metadata i64 %126, i64 0, metadata !1382, metadata !193) #7, !dbg !1419
call void @llvm.dbg.value(metadata i64 1, i64 0, metadata !1383, metadata !193) #7, !dbg !1419
call void @llvm.dbg.value(metadata i8* %128, i64 0, metadata !818, metadata !193) #7, !dbg !1420
call void @llvm.dbg.value(metadata i64 %126, i64 0, metadata !825, metadata !193) #7, !dbg !1420
call void @llvm.dbg.value(metadata i64 1, i64 0, metadata !826, metadata !193) #7, !dbg !1420
call void @llvm.dbg.value(metadata i8* %128, i64 0, metadata !827, metadata !193) #7, !dbg !1422
call void @llvm.dbg.value(metadata i64 %126, i64 0, metadata !829, metadata !193) #7, !dbg !1422
call void @llvm.dbg.value(metadata i64 1, i64 0, metadata !830, metadata !193) #7, !dbg !1422
call void @__rust_deallocate(i8* %128, i64 %126, i64 1) #7, !dbg !1423, !noalias !984
br label %bb1.i61, !dbg !740
bb44.thread218.i: ; preds = %.noexc84.i, %.noexc83.i, %.noexc82.i, %.noexc.i, %bb12
%lpad.thr_comm.i = landingpad { i8*, i32 }
cleanup, !dbg !1059
%.fca.0.extract219.i = extractvalue { i8*, i32 } %lpad.thr_comm.i, 0, !dbg !1059
%.fca.1.extract220.i = extractvalue { i8*, i32 } %lpad.thr_comm.i, 1, !dbg !1059
br label %bb1.i61, !dbg !740
unreachable.i: ; preds = %bb27.i
unreachable, !dbg !1059
cleanup4.i: ; preds = %cleanup.body.i.i.i
%129 = landingpad { i8*, i32 }
cleanup, !dbg !1059
br label %bb4.i, !dbg !469
cleanup6.i: ; preds = %bb25.i, %bb17.i
%130 = landingpad { i8*, i32 }
cleanup, !dbg !1059
%.fca.0.extract28.i = extractvalue { i8*, i32 } %130, 0, !dbg !1059
%.fca.1.extract30.i = extractvalue { i8*, i32 } %130, 1, !dbg !1059
br label %bb1.i61, !dbg !1059
bb17: ; preds = %bb20
call void @llvm.lifetime.end(i64 48, i8* nonnull %44), !dbg !741
call void @llvm.lifetime.end(i64 32, i8* nonnull %45), !dbg !741
call void @llvm.lifetime.end(i64 16, i8* %10), !dbg !617
call void @llvm.lifetime.end(i64 4, i8* nonnull %29), !dbg !617
br label %bb27, !dbg !1424
bb20: ; preds = %.noexc90.i, %cond.i.i.i
call void @llvm.lifetime.end(i64 40, i8* nonnull %7), !dbg !740, !noalias !975
call void @llvm.lifetime.start(i64 4, i8* %29), !dbg !1425
call void @llvm.dbg.value(metadata i32 %non_comment_count.0.ph.i, i64 0, metadata !330, metadata !193), !dbg !741
store i32 %non_comment_count.0.ph.i, i32* %n, align 4, !dbg !1425
call void @llvm.lifetime.start(i64 48, i8* %44), !dbg !741
call void @llvm.lifetime.start(i64 32, i8* %45), !dbg !741
call void @llvm.dbg.value(metadata %"3.std::string::String"* %fname, i64 0, metadata !364, metadata !193), !dbg !758
call void @llvm.dbg.value(metadata i32* %n, i64 0, metadata !367, metadata !193), !dbg !758
tail call void @llvm.dbg.value(metadata i8 (%"3.std::string::String"*, %"2.std::fmt::Formatter"*)* @"_ZN66_$LT$collections..string..String$u20$as$u20$core..fmt..Display$GT$3fmt17h67a3d61659ff752cE", i64 0, metadata !527, metadata !193), !dbg !1426
tail call void @llvm.dbg.value(metadata i8 (%"3.std::string::String"*, %"2.std::fmt::Formatter"*)* @"_ZN66_$LT$collections..string..String$u20$as$u20$core..fmt..Display$GT$3fmt17h67a3d61659ff752cE", i64 0, metadata !529, metadata !193), !dbg !1428
tail call void @llvm.dbg.value(metadata i8 (i32*, %"2.std::fmt::Formatter"*)* @"_ZN4core3fmt3num52_$LT$impl$u20$core..fmt..Display$u20$for$u20$u32$GT$3fmt17hc2893eb73c20a6c7E", i64 0, metadata !754, metadata !193), !dbg !1429
tail call void @llvm.dbg.value(metadata i8 (i32*, %"2.std::fmt::Formatter"*)* @"_ZN4core3fmt3num52_$LT$impl$u20$core..fmt..Display$u20$for$u20$u32$GT$3fmt17hc2893eb73c20a6c7E", i64 0, metadata !756, metadata !193), !dbg !1430
store i64 %13, i64* %47, align 8, !dbg !758
store i64 ptrtoint (i8 (%"3.std::string::String"*, %"2.std::fmt::Formatter"*)* @"_ZN66_$LT$collections..string..String$u20$as$u20$core..fmt..Display$GT$3fmt17h67a3d61659ff752cE" to i64), i64* %49, align 8, !dbg !758
store i64 %46, i64* %51, align 8, !dbg !758
store i64 ptrtoint (i8 (i32*, %"2.std::fmt::Formatter"*)* @"_ZN4core3fmt3num52_$LT$impl$u20$core..fmt..Display$u20$for$u20$u32$GT$3fmt17hc2893eb73c20a6c7E" to i64), i64* %53, align 8, !dbg !758
tail call void @llvm.dbg.value(metadata i64 3, i64 0, metadata !612, metadata !971), !dbg !1431
tail call void @llvm.dbg.declare(metadata { %str_slice*, i64 }* undef, metadata !612, metadata !193), !dbg !1431
tail call void @llvm.dbg.value(metadata i64 2, i64 0, metadata !613, metadata !971), !dbg !1431
tail call void @llvm.dbg.declare(metadata { %"2.std::fmt::ArgumentV1"*, i64 }* undef, metadata !613, metadata !193), !dbg !1431
tail call void @llvm.dbg.declare(metadata { %str_slice*, i64 }* undef, metadata !614, metadata !193), !dbg !1432
tail call void @llvm.dbg.declare(metadata { %"2.std::fmt::ArgumentV1"*, i64 }* undef, metadata !615, metadata !193), !dbg !1433
tail call void @llvm.dbg.value(metadata i64 3, i64 0, metadata !614, metadata !971), !dbg !1432
tail call void @llvm.dbg.value(metadata i64 2, i64 0, metadata !615, metadata !971), !dbg !1433
store %str_slice* getelementptr inbounds ([3 x %str_slice], [3 x %str_slice]* @ref.4, i64 0, i64 0), %str_slice** %55, align 8, !dbg !759, !alias.scope !1434, !noalias !1437
store i64 3, i64* %56, align 8, !dbg !759, !alias.scope !1434, !noalias !1437
store %"2.std::fmt::rt::v1::Argument"* null, %"2.std::fmt::rt::v1::Argument"** %_6.sroa.0.0..sroa_idx.i, align 8, !dbg !759, !alias.scope !1434, !noalias !1437
store %"2.std::fmt::ArgumentV1"* %54, %"2.std::fmt::ArgumentV1"** %57, align 8, !dbg !759, !alias.scope !1434, !noalias !1437
store i64 2, i64* %58, align 8, !dbg !759, !alias.scope !1434, !noalias !1437
invoke void @_ZN3std2io5stdio6_print17hd57c10b39ee632f3E(%"2.std::fmt::Arguments"* noalias nocapture nonnull dereferenceable(48) %_18)
to label %bb17 unwind label %cleanup5, !dbg !741
bb24: ; preds = %cond.i.i99.i, %.noexc100.i, %bb10.i
%_11.sroa.19.1 = phi i64 [ %self.i.sroa.4.i.sroa.5.0.copyload, %bb10.i ], [ %arg0.sroa.3.0.copyload69.i.i, %.noexc100.i ], [ %arg0.sroa.3.0.copyload69.i.i, %cond.i.i99.i ]
%_11.sroa.12.sroa.0.1 = phi i64 [ %self.i.sroa.4.i.sroa.0.0.copyload, %bb10.i ], [ %arg0.sroa.2.0.copyload.i268.i, %.noexc100.i ], [ %arg0.sroa.2.0.copyload.i268.i, %cond.i.i99.i ]
%_11.sroa.12.sroa.9.sroa.0.1 = phi i64 [ %_11.sroa.12.sroa.9.0.extract.shift153, %bb10.i ], [ %_11.sroa.12.sroa.9.0.extract.shift, %.noexc100.i ], [ %_11.sroa.12.sroa.9.0.extract.shift, %cond.i.i99.i ]
call void @llvm.lifetime.end(i64 40, i8* %7), !dbg !740, !noalias !975
call void @llvm.lifetime.start(i64 16, i8* %10), !dbg !514
%_11.sroa.12.sroa.9.0.insert.shift = shl nuw i64 %_11.sroa.12.sroa.9.sroa.0.1, 8, !dbg !514
%_11.sroa.12.sroa.0.0.insert.ext = and i64 %_11.sroa.12.sroa.0.1, 255, !dbg !514
%_11.sroa.12.sroa.0.0.insert.insert = or i64 %_11.sroa.12.sroa.9.0.insert.shift, %_11.sroa.12.sroa.0.0.insert.ext, !dbg !514
store i64 %_11.sroa.12.sroa.0.0.insert.insert, i64* %_11.sroa.12.8..sroa_cast, align 8, !dbg !514
store i64 %_11.sroa.19.1, i64* %_11.sroa.19.8..sroa_idx, align 8, !dbg !514
call void @llvm.lifetime.start(i64 48, i8* %11), !dbg !515
call void @llvm.lifetime.start(i64 32, i8* %12), !dbg !515
call void @llvm.dbg.value(metadata %"3.std::string::String"* %fname, i64 0, metadata !369, metadata !193), !dbg !547
call void @llvm.dbg.value(metadata %"1.std::io::Error"* %err, i64 0, metadata !372, metadata !193), !dbg !547
tail call void @llvm.dbg.value(metadata i8 (%"3.std::string::String"*, %"2.std::fmt::Formatter"*)* @"_ZN66_$LT$collections..string..String$u20$as$u20$core..fmt..Display$GT$3fmt17h67a3d61659ff752cE", i64 0, metadata !527, metadata !193), !dbg !1440
tail call void @llvm.dbg.value(metadata i8 (%"3.std::string::String"*, %"2.std::fmt::Formatter"*)* @"_ZN66_$LT$collections..string..String$u20$as$u20$core..fmt..Display$GT$3fmt17h67a3d61659ff752cE", i64 0, metadata !529, metadata !193), !dbg !1441
tail call void @llvm.dbg.value(metadata i8 (%"1.std::io::Error"*, %"2.std::fmt::Formatter"*)* @"_ZN58_$LT$std..io..error..Error$u20$as$u20$core..fmt..Debug$GT$3fmt17h91d65077f7b82e12E", i64 0, metadata !543, metadata !193), !dbg !1442
tail call void @llvm.dbg.value(metadata i8 (%"1.std::io::Error"*, %"2.std::fmt::Formatter"*)* @"_ZN58_$LT$std..io..error..Error$u20$as$u20$core..fmt..Debug$GT$3fmt17h91d65077f7b82e12E", i64 0, metadata !545, metadata !193), !dbg !1443
store i64 %13, i64* %15, align 8, !dbg !547
store i64 ptrtoint (i8 (%"3.std::string::String"*, %"2.std::fmt::Formatter"*)* @"_ZN66_$LT$collections..string..String$u20$as$u20$core..fmt..Display$GT$3fmt17h67a3d61659ff752cE" to i64), i64* %17, align 8, !dbg !547
store i64 %14, i64* %19, align 8, !dbg !547
store i64 ptrtoint (i8 (%"1.std::io::Error"*, %"2.std::fmt::Formatter"*)* @"_ZN58_$LT$std..io..error..Error$u20$as$u20$core..fmt..Debug$GT$3fmt17h91d65077f7b82e12E" to i64), i64* %21, align 8, !dbg !547
tail call void @llvm.dbg.value(metadata i64 3, i64 0, metadata !612, metadata !971), !dbg !1444
tail call void @llvm.dbg.declare(metadata { %str_slice*, i64 }* undef, metadata !612, metadata !193), !dbg !1444
tail call void @llvm.dbg.value(metadata i64 2, i64 0, metadata !613, metadata !971), !dbg !1444
tail call void @llvm.dbg.declare(metadata { %"2.std::fmt::ArgumentV1"*, i64 }* undef, metadata !613, metadata !193), !dbg !1444
tail call void @llvm.dbg.declare(metadata { %str_slice*, i64 }* undef, metadata !614, metadata !193), !dbg !1445
tail call void @llvm.dbg.declare(metadata { %"2.std::fmt::ArgumentV1"*, i64 }* undef, metadata !615, metadata !193), !dbg !1446
tail call void @llvm.dbg.value(metadata i64 3, i64 0, metadata !614, metadata !971), !dbg !1445
tail call void @llvm.dbg.value(metadata i64 2, i64 0, metadata !615, metadata !971), !dbg !1446
store %str_slice* getelementptr inbounds ([3 x %str_slice], [3 x %str_slice]* @ref.7, i64 0, i64 0), %str_slice** %23, align 8, !dbg !548, !alias.scope !1447, !noalias !1450
store i64 3, i64* %24, align 8, !dbg !548, !alias.scope !1447, !noalias !1450
store %"2.std::fmt::rt::v1::Argument"* null, %"2.std::fmt::rt::v1::Argument"** %_6.sroa.0.0..sroa_idx.i65, align 8, !dbg !548, !alias.scope !1447, !noalias !1450
store %"2.std::fmt::ArgumentV1"* %22, %"2.std::fmt::ArgumentV1"** %25, align 8, !dbg !548, !alias.scope !1447, !noalias !1450
store i64 2, i64* %26, align 8, !dbg !548, !alias.scope !1447, !noalias !1450
invoke void @_ZN3std2io5stdio6_print17hd57c10b39ee632f3E(%"2.std::fmt::Arguments"* noalias nocapture nonnull dereferenceable(48) %_35)
to label %bb17.thread unwind label %cleanup5.thread, !dbg !515
cleanup5.thread: ; preds = %bb24
%131 = landingpad { i8*, i32 }
cleanup
%.fca.0.extract24233 = extractvalue { i8*, i32 } %131, 0
%.fca.1.extract26234 = extractvalue { i8*, i32 } %131, 1
call void @llvm.dbg.value(metadata %"1.std::io::Error"* %err, i64 0, metadata !333, metadata !836), !dbg !515
%132 = load i8, i8* %10, align 8, !dbg !617
%cond.i.i113 = icmp eq i8 %132, 2, !dbg !617
br i1 %cond.i.i113, label %enum-iter-variant-2.i.i118, label %bb11, !dbg !617
bb17.thread: ; preds = %bb24
call void @llvm.lifetime.end(i64 48, i8* nonnull %11), !dbg !515
call void @llvm.lifetime.end(i64 32, i8* nonnull %12), !dbg !515
%133 = load i8, i8* %10, align 8, !dbg !617
%cond.i.i103 = icmp eq i8 %133, 2, !dbg !617
br i1 %cond.i.i103, label %enum-iter-variant-2.i.i108, label %bb26, !dbg !617
bb26: ; preds = %_ZN4drop17h1d7a138af75562cbE.exit.i.i110, %bb17.thread
call void @llvm.lifetime.end(i64 16, i8* nonnull %10), !dbg !617
call void @llvm.lifetime.end(i64 4, i8* %29), !dbg !617
br label %bb27, !dbg !1424
bb27: ; preds = %bb26, %bb17
call void @llvm.dbg.value(metadata i64 1, i64 0, metadata !629, metadata !193) #7, !dbg !1453
%134 = load i64, i64* %30, align 8, !dbg !618
%not..i.i.i.i.i66 = icmp eq i64 %134, 0, !dbg !618
br i1 %not..i.i.i.i.i66, label %bb29, label %bb6.i.i.i.i.i68, !dbg !618
bb6.i.i.i.i.i68: ; preds = %bb27
call void @llvm.dbg.value(metadata i64 1, i64 0, metadata !630, metadata !193) #7, !dbg !1454
call void @llvm.dbg.value(metadata i64 %134, i64 0, metadata !632, metadata !193) #7, !dbg !1455
%135 = load i8*, i8** %5, align 8, !dbg !1456
call void @llvm.dbg.value(metadata i8* %135, i64 0, metadata !818, metadata !193) #7, !dbg !1457
call void @llvm.dbg.value(metadata i64 %134, i64 0, metadata !825, metadata !193) #7, !dbg !1457
call void @llvm.dbg.value(metadata i64 1, i64 0, metadata !826, metadata !193) #7, !dbg !1457
call void @llvm.dbg.value(metadata i8* %135, i64 0, metadata !827, metadata !193) #7, !dbg !1459
call void @llvm.dbg.value(metadata i64 %134, i64 0, metadata !829, metadata !193) #7, !dbg !1459
call void @llvm.dbg.value(metadata i64 1, i64 0, metadata !830, metadata !193) #7, !dbg !1459
call void @__rust_deallocate(i8* %135, i64 %134, i64 1) #7, !dbg !1460
br label %bb29, !dbg !618
bb28.loopexit: ; preds = %bb7
br label %bb28, !dbg !461
bb28: ; preds = %bb28.loopexit, %bb7.thread
call void @llvm.lifetime.end(i64 24, i8* %4), !dbg !461
call void @llvm.lifetime.end(i64 24, i8* nonnull %1), !dbg !461
%136 = getelementptr inbounds %"2.std::iter::Skip<std::env::Args>", %"2.std::iter::Skip<std::env::Args>"* %iter, i64 0, i32 0, i32 0, i32 0, i32 0, i32 2, !dbg !1461
%137 = load %"1.std::ffi::OsString"*, %"1.std::ffi::OsString"** %136, align 8, !dbg !1461, !noalias !1465
%138 = getelementptr inbounds %"2.std::iter::Skip<std::env::Args>", %"2.std::iter::Skip<std::env::Args>"* %iter, i64 0, i32 0, i32 0, i32 0, i32 0, i32 3, !dbg !1461
%139 = load %"1.std::ffi::OsString"*, %"1.std::ffi::OsString"** %138, align 8, !dbg !1461, !noalias !1465
%140 = icmp eq %"1.std::ffi::OsString"* %137, %139, !dbg !1461
br i1 %140, label %bb9.i.i.i.i.i.i83, label %"_ZN75_$LT$$RF$$u27$a$u20$mut$u20$I$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hca3cd9d7681f1316E.exit.i.i.i.i.i.i75.preheader", !dbg !1461
"_ZN75_$LT$$RF$$u27$a$u20$mut$u20$I$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hca3cd9d7681f1316E.exit.i.i.i.i.i.i75.preheader": ; preds = %bb28
br label %"_ZN75_$LT$$RF$$u27$a$u20$mut$u20$I$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hca3cd9d7681f1316E.exit.i.i.i.i.i.i75", !dbg !1470
"_ZN75_$LT$$RF$$u27$a$u20$mut$u20$I$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hca3cd9d7681f1316E.exit.i.i.i.i.i.i75": ; preds = %"_ZN75_$LT$$RF$$u27$a$u20$mut$u20$I$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hca3cd9d7681f1316E.exit.i.i.i.i.i.i75.preheader", %bb3.backedge.i.i.i.i.i.i78
%141 = phi %"1.std::ffi::OsString"* [ %144, %bb3.backedge.i.i.i.i.i.i78 ], [ %139, %"_ZN75_$LT$$RF$$u27$a$u20$mut$u20$I$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hca3cd9d7681f1316E.exit.i.i.i.i.i.i75.preheader" ], !dbg !888
%142 = phi %"1.std::ffi::OsString"* [ %145, %bb3.backedge.i.i.i.i.i.i78 ], [ %137, %"_ZN75_$LT$$RF$$u27$a$u20$mut$u20$I$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hca3cd9d7681f1316E.exit.i.i.i.i.i.i75.preheader" ], !dbg !888
call void @llvm.dbg.value(metadata %"1.std::ffi::OsString"* %142, i64 0, metadata !854, metadata !193) #7, !dbg !1470
%143 = getelementptr inbounds %"1.std::ffi::OsString", %"1.std::ffi::OsString"* %142, i64 1, !dbg !1471
store %"1.std::ffi::OsString"* %143, %"1.std::ffi::OsString"** %136, align 8, !dbg !1471, !noalias !1465
call void @llvm.dbg.value(metadata %"1.std::ffi::OsString"* %142, i64 0, metadata !890, metadata !193) #7, !dbg !1472
call void @llvm.dbg.value(metadata %"1.std::ffi::OsString"* %142, i64 0, metadata !895, metadata !193) #7, !dbg !1474
%_10.sroa.0.0._20.sroa.0.0.tmp.sroa.0.0..sroa_cast.i.sroa_cast.i.i.sroa_idx.i.i.i.i.i.i70 = getelementptr inbounds %"1.std::ffi::OsString", %"1.std::ffi::OsString"* %142, i64 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, !dbg !1475
%_10.sroa.0.0.copyload.i.i.i.i.i.i71 = load i8*, i8** %_10.sroa.0.0._20.sroa.0.0.tmp.sroa.0.0..sroa_cast.i.sroa_cast.i.i.sroa_idx.i.i.i.i.i.i70, align 8, !dbg !1475
%_10.sroa.11.0._20.sroa.0.0.tmp.sroa.0.0..sroa_cast.i.sroa_cast.i.i.sroa_idx44.i.i.i.i.i.i72 = getelementptr inbounds %"1.std::ffi::OsString", %"1.std::ffi::OsString"* %142, i64 0, i32 0, i32 0, i32 0, i32 1, !dbg !1475
%_10.sroa.11.0.copyload.i.i.i.i.i.i73 = load i64, i64* %_10.sroa.11.0._20.sroa.0.0.tmp.sroa.0.0..sroa_cast.i.sroa_cast.i.i.sroa_idx44.i.i.i.i.i.i72, align 8, !dbg !1475
%switch3tmp.i.i.i.i.i.i74 = icmp eq i8* %_10.sroa.0.0.copyload.i.i.i.i.i.i71, null, !dbg !1476
br i1 %switch3tmp.i.i.i.i.i.i74, label %bb9.i.i.i.i.i.i83.loopexit, label %bb8.i.i.i.i.i.i77, !dbg !1476
bb8.i.i.i.i.i.i77: ; preds = %"_ZN75_$LT$$RF$$u27$a$u20$mut$u20$I$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hca3cd9d7681f1316E.exit.i.i.i.i.i.i75"
call void @llvm.dbg.value(metadata i64 1, i64 0, metadata !629, metadata !193) #7, !dbg !1477
%not..i.i.i.i.i.i.i.i.i.i.i.i76 = icmp eq i64 %_10.sroa.11.0.copyload.i.i.i.i.i.i73, 0, !dbg !1479
br i1 %not..i.i.i.i.i.i.i.i.i.i.i.i76, label %bb3.backedge.i.i.i.i.i.i78, label %bb6.i.i.i.i.i.i.i.i.i.i.i.i81, !dbg !1479
bb3.backedge.i.i.i.i.i.i78: ; preds = %bb6.i.i.i.i.i.i.i.i.i.i.i.i81, %bb8.i.i.i.i.i.i77
%144 = phi %"1.std::ffi::OsString"* [ %141, %bb8.i.i.i.i.i.i77 ], [ %.pre52.i.i.i.i.i.i80, %bb6.i.i.i.i.i.i.i.i.i.i.i.i81 ], !dbg !1461
%145 = phi %"1.std::ffi::OsString"* [ %143, %bb8.i.i.i.i.i.i77 ], [ %.pre.i.i.i.i.i.i79, %bb6.i.i.i.i.i.i.i.i.i.i.i.i81 ], !dbg !1461
%146 = icmp eq %"1.std::ffi::OsString"* %145, %144, !dbg !1461
br i1 %146, label %bb9.i.i.i.i.i.i83.loopexit, label %"_ZN75_$LT$$RF$$u27$a$u20$mut$u20$I$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hca3cd9d7681f1316E.exit.i.i.i.i.i.i75", !dbg !1461
bb6.i.i.i.i.i.i.i.i.i.i.i.i81: ; preds = %bb8.i.i.i.i.i.i77
call void @llvm.dbg.value(metadata i64 1, i64 0, metadata !630, metadata !193) #7, !dbg !1480
call void @llvm.dbg.value(metadata i64 %_10.sroa.11.0.copyload.i.i.i.i.i.i73, i64 0, metadata !632, metadata !193) #7, !dbg !1481
call void @llvm.dbg.value(metadata i8* %_10.sroa.0.0.copyload.i.i.i.i.i.i71, i64 0, metadata !818, metadata !193) #7, !dbg !1482
call void @llvm.dbg.value(metadata i64 %_10.sroa.11.0.copyload.i.i.i.i.i.i73, i64 0, metadata !825, metadata !193) #7, !dbg !1482
call void @llvm.dbg.value(metadata i64 1, i64 0, metadata !826, metadata !193) #7, !dbg !1482
call void @llvm.dbg.value(metadata i8* %_10.sroa.0.0.copyload.i.i.i.i.i.i71, i64 0, metadata !827, metadata !193) #7, !dbg !1484
call void @llvm.dbg.value(metadata i64 %_10.sroa.11.0.copyload.i.i.i.i.i.i73, i64 0, metadata !829, metadata !193) #7, !dbg !1484
call void @llvm.dbg.value(metadata i64 1, i64 0, metadata !830, metadata !193) #7, !dbg !1484
call void @__rust_deallocate(i8* nonnull %_10.sroa.0.0.copyload.i.i.i.i.i.i71, i64 %_10.sroa.11.0.copyload.i.i.i.i.i.i73, i64 1) #7, !dbg !1485
%.pre.i.i.i.i.i.i79 = load %"1.std::ffi::OsString"*, %"1.std::ffi::OsString"** %136, align 8, !dbg !1461, !noalias !1465
%.pre52.i.i.i.i.i.i80 = load %"1.std::ffi::OsString"*, %"1.std::ffi::OsString"** %138, align 8, !dbg !1461, !noalias !1465
br label %bb3.backedge.i.i.i.i.i.i78, !dbg !1479
bb9.i.i.i.i.i.i83.loopexit: ; preds = %"_ZN75_$LT$$RF$$u27$a$u20$mut$u20$I$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hca3cd9d7681f1316E.exit.i.i.i.i.i.i75", %bb3.backedge.i.i.i.i.i.i78
br label %bb9.i.i.i.i.i.i83, !dbg !1486
bb9.i.i.i.i.i.i83: ; preds = %bb9.i.i.i.i.i.i83.loopexit, %bb28
%147 = getelementptr inbounds %"2.std::iter::Skip<std::env::Args>", %"2.std::iter::Skip<std::env::Args>"* %iter, i64 0, i32 0, i32 0, i32 0, i32 0, i32 1, !dbg !1486
%148 = load i64, i64* %147, align 8, !dbg !1486
call void @llvm.dbg.value(metadata %"5.alloc::raw_vec::RawVec<std::ffi::OsString>"* undef, i64 0, metadata !914, metadata !193) #7, !dbg !1487
call void @llvm.dbg.value(metadata %"5.alloc::raw_vec::RawVec<std::ffi::OsString>"* undef, i64 0, metadata !928, metadata !193) #7, !dbg !1489
call void @llvm.dbg.value(metadata i64 24, i64 0, metadata !930, metadata !193) #7, !dbg !1490
%not..i.i.i.i.i.i.i.i82 = icmp eq i64 %148, 0, !dbg !1491
br i1 %not..i.i.i.i.i.i.i.i82, label %bb31, label %bb6.i.i.i.i.i.i.i.i84, !dbg !1491
bb6.i.i.i.i.i.i.i.i84: ; preds = %bb9.i.i.i.i.i.i83
%149 = bitcast %"2.std::iter::Skip<std::env::Args>"* %iter to i8**, !dbg !1486
%150 = load i8*, i8** %149, align 8, !dbg !1486
call void @llvm.dbg.value(metadata i64 8, i64 0, metadata !932, metadata !193) #7, !dbg !1492
%151 = mul i64 %148, 24, !dbg !1493
call void @llvm.dbg.value(metadata i64 %151, i64 0, metadata !934, metadata !193) #7, !dbg !1494
call void @llvm.dbg.value(metadata i8* %150, i64 0, metadata !818, metadata !193) #7, !dbg !1495
call void @llvm.dbg.value(metadata i64 %151, i64 0, metadata !825, metadata !193) #7, !dbg !1495
call void @llvm.dbg.value(metadata i64 8, i64 0, metadata !826, metadata !193) #7, !dbg !1495
call void @llvm.dbg.value(metadata i8* %150, i64 0, metadata !827, metadata !193) #7, !dbg !1497
call void @llvm.dbg.value(metadata i64 %151, i64 0, metadata !829, metadata !193) #7, !dbg !1497
call void @llvm.dbg.value(metadata i64 8, i64 0, metadata !830, metadata !193) #7, !dbg !1497
call void @__rust_deallocate(i8* %150, i64 %151, i64 8) #7, !dbg !1498
br label %bb31, !dbg !1491
bb29: ; preds = %bb6.i.i.i.i.i68, %bb27
call void @llvm.lifetime.end(i64 24, i8* nonnull %4), !dbg !461
call void @llvm.lifetime.end(i64 24, i8* nonnull %1), !dbg !461
%.pre = load i64, i64* %_2.sroa.4.0..sroa_idx168, align 8, !dbg !786, !noalias !791
br label %bb5, !dbg !438
bb31: ; preds = %bb6.i.i.i.i.i.i.i.i84, %bb9.i.i.i.i.i.i83
call void @llvm.lifetime.end(i64 40, i8* nonnull %0), !dbg !888
call void @llvm.lifetime.end(i64 32, i8* %_2.sroa.0.0.sroa_cast170), !dbg !888
ret void, !dbg !1499
enum-iter-variant-2.i.i108: ; preds = %bb17.thread
%.val.i.i104 = load %"1.std::io::error::Custom"*, %"1.std::io::error::Custom"** %28, align 8, !dbg !617
%152 = getelementptr %"1.std::io::error::Custom", %"1.std::io::error::Custom"* %.val.i.i104, i64 0, i32 1, i32 0, !dbg !617
%153 = load i8*, i8** %152, align 8, !dbg !617
%.idx1.i.i.i.i.i105 = getelementptr %"1.std::io::error::Custom", %"1.std::io::error::Custom"* %.val.i.i104, i64 0, i32 1, i32 1, !dbg !617
%.idx1.val.i.i.i.i.i106 = load void (i8*)**, void (i8*)*** %.idx1.i.i.i.i.i105, align 8, !dbg !617
%.idx1.val.val.i.i.i.i.i107 = load void (i8*)*, void (i8*)** %.idx1.val.i.i.i.i.i106, align 8, !dbg !617
invoke void %.idx1.val.val.i.i.i.i.i107(i8* %153)
to label %.noexc111 unwind label %cleanup9, !dbg !617
.noexc111: ; preds = %enum-iter-variant-2.i.i108
%154 = bitcast void (i8*)*** %.idx1.i.i.i.i.i105 to i64**, !dbg !617
%155 = load i64*, i64** %154, align 8, !dbg !617
%156 = getelementptr inbounds i64, i64* %155, i64 1, !dbg !617
%157 = load i64, i64* %156, align 8, !dbg !617
%158 = icmp eq i64 %157, 0, !dbg !617
br i1 %158, label %_ZN4drop17h1d7a138af75562cbE.exit.i.i110, label %cond.i.i.i.i.i109, !dbg !617
cond.i.i.i.i.i109: ; preds = %.noexc111
%159 = getelementptr inbounds i64, i64* %155, i64 2, !dbg !617
%160 = load i64, i64* %159, align 8, !dbg !617
call void @llvm.dbg.value(metadata i8* %153, i64 0, metadata !1375, metadata !193) #7, !dbg !1500
call void @llvm.dbg.value(metadata i64 %157, i64 0, metadata !1378, metadata !193) #7, !dbg !1500
call void @llvm.dbg.value(metadata i64 %160, i64 0, metadata !1379, metadata !193) #7, !dbg !1500
call void @llvm.dbg.value(metadata i8* %153, i64 0, metadata !1380, metadata !193) #7, !dbg !1502
call void @llvm.dbg.value(metadata i64 %157, i64 0, metadata !1382, metadata !193) #7, !dbg !1502
call void @llvm.dbg.value(metadata i64 %160, i64 0, metadata !1383, metadata !193) #7, !dbg !1502
call void @llvm.dbg.value(metadata i8* %153, i64 0, metadata !818, metadata !193) #7, !dbg !1503
call void @llvm.dbg.value(metadata i64 %157, i64 0, metadata !825, metadata !193) #7, !dbg !1503
call void @llvm.dbg.value(metadata i64 %160, i64 0, metadata !826, metadata !193) #7, !dbg !1503
call void @llvm.dbg.value(metadata i8* %153, i64 0, metadata !827, metadata !193) #7, !dbg !1505
call void @llvm.dbg.value(metadata i64 %157, i64 0, metadata !829, metadata !193) #7, !dbg !1505
call void @llvm.dbg.value(metadata i64 %160, i64 0, metadata !830, metadata !193) #7, !dbg !1505
call void @__rust_deallocate(i8* %153, i64 %157, i64 %160) #7, !dbg !1506
br label %_ZN4drop17h1d7a138af75562cbE.exit.i.i110, !dbg !617
_ZN4drop17h1d7a138af75562cbE.exit.i.i110: ; preds = %cond.i.i.i.i.i109, %.noexc111
%161 = getelementptr inbounds %"1.std::io::error::Custom", %"1.std::io::error::Custom"* %.val.i.i104, i64 0, i32 0, !dbg !617
call void @llvm.dbg.value(metadata i8* %161, i64 0, metadata !1375, metadata !193) #7, !dbg !1500
call void @llvm.dbg.value(metadata i64 24, i64 0, metadata !1378, metadata !193) #7, !dbg !1500
call void @llvm.dbg.value(metadata i64 8, i64 0, metadata !1379, metadata !193) #7, !dbg !1500
call void @llvm.dbg.value(metadata i8* %161, i64 0, metadata !1380, metadata !193) #7, !dbg !1502
call void @llvm.dbg.value(metadata i64 24, i64 0, metadata !1382, metadata !193) #7, !dbg !1502
call void @llvm.dbg.value(metadata i64 8, i64 0, metadata !1383, metadata !193) #7, !dbg !1502
call void @llvm.dbg.value(metadata i8* %161, i64 0, metadata !818, metadata !193) #7, !dbg !1503
call void @llvm.dbg.value(metadata i64 24, i64 0, metadata !825, metadata !193) #7, !dbg !1503
call void @llvm.dbg.value(metadata i64 8, i64 0, metadata !826, metadata !193) #7, !dbg !1503
call void @llvm.dbg.value(metadata i8* %161, i64 0, metadata !827, metadata !193) #7, !dbg !1505
call void @llvm.dbg.value(metadata i64 24, i64 0, metadata !829, metadata !193) #7, !dbg !1505
call void @llvm.dbg.value(metadata i64 8, i64 0, metadata !830, metadata !193) #7, !dbg !1505
call void @__rust_deallocate(i8* %161, i64 24, i64 8) #7, !dbg !1506
br label %bb26, !dbg !617
enum-iter-variant-2.i.i118: ; preds = %cleanup5.thread
%.val.i.i114 = load %"1.std::io::error::Custom"*, %"1.std::io::error::Custom"** %28, align 8, !dbg !617
%162 = getelementptr %"1.std::io::error::Custom", %"1.std::io::error::Custom"* %.val.i.i114, i64 0, i32 1, i32 0, !dbg !617
%163 = load i8*, i8** %162, align 8, !dbg !617
%.idx1.i.i.i.i.i115 = getelementptr %"1.std::io::error::Custom", %"1.std::io::error::Custom"* %.val.i.i114, i64 0, i32 1, i32 1, !dbg !617
%.idx1.val.i.i.i.i.i116 = load void (i8*)**, void (i8*)*** %.idx1.i.i.i.i.i115, align 8, !dbg !617
%.idx1.val.val.i.i.i.i.i117 = load void (i8*)*, void (i8*)** %.idx1.val.i.i.i.i.i116, align 8, !dbg !617
call void %.idx1.val.val.i.i.i.i.i117(i8* %163), !dbg !617
%164 = bitcast void (i8*)*** %.idx1.i.i.i.i.i115 to i64**, !dbg !617
%165 = load i64*, i64** %164, align 8, !dbg !617
%166 = getelementptr inbounds i64, i64* %165, i64 1, !dbg !617
%167 = load i64, i64* %166, align 8, !dbg !617
%168 = icmp eq i64 %167, 0, !dbg !617
br i1 %168, label %_ZN4drop17h1d7a138af75562cbE.exit.i.i120, label %cond.i.i.i.i.i119, !dbg !617
cond.i.i.i.i.i119: ; preds = %enum-iter-variant-2.i.i118
%169 = getelementptr inbounds i64, i64* %165, i64 2, !dbg !617
%170 = load i64, i64* %169, align 8, !dbg !617
call void @llvm.dbg.value(metadata i8* %163, i64 0, metadata !1375, metadata !193) #7, !dbg !1507
call void @llvm.dbg.value(metadata i64 %167, i64 0, metadata !1378, metadata !193) #7, !dbg !1507
call void @llvm.dbg.value(metadata i64 %170, i64 0, metadata !1379, metadata !193) #7, !dbg !1507
call void @llvm.dbg.value(metadata i8* %163, i64 0, metadata !1380, metadata !193) #7, !dbg !1509
call void @llvm.dbg.value(metadata i64 %167, i64 0, metadata !1382, metadata !193) #7, !dbg !1509
call void @llvm.dbg.value(metadata i64 %170, i64 0, metadata !1383, metadata !193) #7, !dbg !1509
call void @llvm.dbg.value(metadata i8* %163, i64 0, metadata !818, metadata !193) #7, !dbg !1510
call void @llvm.dbg.value(metadata i64 %167, i64 0, metadata !825, metadata !193) #7, !dbg !1510
call void @llvm.dbg.value(metadata i64 %170, i64 0, metadata !826, metadata !193) #7, !dbg !1510
call void @llvm.dbg.value(metadata i8* %163, i64 0, metadata !827, metadata !193) #7, !dbg !1512
call void @llvm.dbg.value(metadata i64 %167, i64 0, metadata !829, metadata !193) #7, !dbg !1512
call void @llvm.dbg.value(metadata i64 %170, i64 0, metadata !830, metadata !193) #7, !dbg !1512
call void @__rust_deallocate(i8* %163, i64 %167, i64 %170) #7, !dbg !1513
br label %_ZN4drop17h1d7a138af75562cbE.exit.i.i120, !dbg !617
_ZN4drop17h1d7a138af75562cbE.exit.i.i120: ; preds = %cond.i.i.i.i.i119, %enum-iter-variant-2.i.i118
%171 = getelementptr inbounds %"1.std::io::error::Custom", %"1.std::io::error::Custom"* %.val.i.i114, i64 0, i32 0, !dbg !617
call void @llvm.dbg.value(metadata i8* %171, i64 0, metadata !1375, metadata !193) #7, !dbg !1507
call void @llvm.dbg.value(metadata i64 24, i64 0, metadata !1378, metadata !193) #7, !dbg !1507
call void @llvm.dbg.value(metadata i64 8, i64 0, metadata !1379, metadata !193) #7, !dbg !1507
call void @llvm.dbg.value(metadata i8* %171, i64 0, metadata !1380, metadata !193) #7, !dbg !1509
call void @llvm.dbg.value(metadata i64 24, i64 0, metadata !1382, metadata !193) #7, !dbg !1509
call void @llvm.dbg.value(metadata i64 8, i64 0, metadata !1383, metadata !193) #7, !dbg !1509
call void @llvm.dbg.value(metadata i8* %171, i64 0, metadata !818, metadata !193) #7, !dbg !1510
call void @llvm.dbg.value(metadata i64 24, i64 0, metadata !825, metadata !193) #7, !dbg !1510
call void @llvm.dbg.value(metadata i64 8, i64 0, metadata !826, metadata !193) #7, !dbg !1510
call void @llvm.dbg.value(metadata i8* %171, i64 0, metadata !827, metadata !193) #7, !dbg !1512
call void @llvm.dbg.value(metadata i64 24, i64 0, metadata !829, metadata !193) #7, !dbg !1512
call void @llvm.dbg.value(metadata i64 8, i64 0, metadata !830, metadata !193) #7, !dbg !1512
call void @__rust_deallocate(i8* %171, i64 24, i64 8) #7, !dbg !1513
br label %bb11, !dbg !617
cleanup3.loopexit: ; preds = %bb14.i.i
%lpad.loopexit = landingpad { i8*, i32 }
cleanup
br label %cleanup3
cleanup3.loopexit.split-lp: ; preds = %bb1.i, %bb2.i
%lpad.loopexit.split-lp = landingpad { i8*, i32 }
cleanup
br label %cleanup3
cleanup3: ; preds = %cleanup3.loopexit.split-lp, %cleanup3.loopexit
%lpad.phi = phi { i8*, i32 } [ %lpad.loopexit, %cleanup3.loopexit ], [ %lpad.loopexit.split-lp, %cleanup3.loopexit.split-lp ]
%.fca.0.extract16 = extractvalue { i8*, i32 } %lpad.phi, 0
%.fca.1.extract18 = extractvalue { i8*, i32 } %lpad.phi, 1
br label %bb6
cleanup4.loopexit.split-lp: ; preds = %bb43.i
%lpad.loopexit.split-lp244 = landingpad { i8*, i32 }
cleanup
br label %cleanup4.body
cleanup4.body: ; preds = %cleanup4.loopexit.split-lp, %bb1.i61
%eh.lpad-body = phi { i8*, i32 } [ %.fca.1.insert.i, %bb1.i61 ], [ %lpad.loopexit.split-lp244, %cleanup4.loopexit.split-lp ]
%.fca.0.extract20 = extractvalue { i8*, i32 } %eh.lpad-body, 0
%.fca.1.extract22 = extractvalue { i8*, i32 } %eh.lpad-body, 1
br label %bb11
cleanup5: ; preds = %bb20
%172 = landingpad { i8*, i32 }
cleanup
%.fca.0.extract24 = extractvalue { i8*, i32 } %172, 0
%.fca.1.extract26 = extractvalue { i8*, i32 } %172, 1
br label %bb11, !dbg !617
cleanup9: ; preds = %enum-iter-variant-2.i.i108
%173 = landingpad { i8*, i32 }
cleanup
%.fca.0.extract28 = extractvalue { i8*, i32 } %173, 0
%.fca.1.extract30 = extractvalue { i8*, i32 } %173, 1
br label %bb11, !dbg !1424
}
; Function Attrs: nounwind readnone
declare void @llvm.dbg.declare(metadata, metadata, metadata) #2
; Function Attrs: argmemonly nounwind
declare void @llvm.lifetime.start(i64, i8* nocapture) #3
; Function Attrs: argmemonly nounwind
declare void @llvm.lifetime.end(i64, i8* nocapture) #3
; Function Attrs: nounwind
declare i32 @rust_eh_personality(i32, i32, i64, %"8.unwind::libunwind::_Unwind_Exception"*, %"8.unwind::libunwind::_Unwind_Context"*) unnamed_addr #4
; Function Attrs: argmemonly nounwind
declare void @llvm.memcpy.p0i8.p0i8.i64(i8* nocapture writeonly, i8* nocapture readonly, i64, i32, i1) #3
declare void @_ZN3std2fs11OpenOptions5_open17he892a919561b0fd4E(%"2.std::result::Result<std::fs::File, std::io::Error>"* noalias nocapture sret dereferenceable(24), %"1.std::fs::OpenOptions"* noalias readonly dereferenceable(16), %"1.std::path::Path"* noalias nonnull readonly, i64) unnamed_addr #5
declare void @_ZN3std2fs11OpenOptions3new17hab5f4e67b20633ceE(%"1.std::fs::OpenOptions"* noalias nocapture sret dereferenceable(16)) unnamed_addr #5
declare dereferenceable(16) %"1.std::fs::OpenOptions"* @_ZN3std2fs11OpenOptions4read17h707a1e8d168c884eE(%"1.std::fs::OpenOptions"* dereferenceable(16), i1 zeroext) unnamed_addr #5
; Function Attrs: cold noinline noreturn
declare void @_ZN5alloc3oom3oom17h1b5d51bf37591d9bE() unnamed_addr #6
declare void @"_ZN63_$LT$std..sys..imp..fd..FileDesc$u20$as$u20$core..ops..Drop$GT$4drop17hc69eb55fbc21c6ecE"(%"1.std::sys::imp::fd::FileDesc"* dereferenceable(4)) unnamed_addr #5
; Function Attrs: nounwind
declare void @__rust_deallocate(i8*, i64, i64) unnamed_addr #4
; Function Attrs: nounwind
declare noalias i8* @__rust_allocate(i64, i64) unnamed_addr #4
declare { %"1.std::path::Path"*, i64 } @"_ZN3std4path77_$LT$impl$u20$core..convert..AsRef$LT$std..path..Path$GT$$u20$for$u20$str$GT$6as_ref17hd791577420faace7E"(i8* noalias nonnull readonly, i64) unnamed_addr #5
declare { %"1.std::path::Path"*, i64 } @"_ZN79_$LT$std..path..Path$u20$as$u20$core..convert..AsRef$LT$std..path..Path$GT$$GT$6as_ref17h463c4b2c637c9ef7E"(%"1.std::path::Path"* noalias nonnull readonly, i64) unnamed_addr #5
declare i8 @"_ZN42_$LT$str$u20$as$u20$core..fmt..Display$GT$3fmt17he18d68d6495a2048E"(i8* noalias nonnull readonly, i64, %"2.std::fmt::Formatter"* dereferenceable(96)) unnamed_addr #5
declare void @"_ZN47_$LT$std..fs..File$u20$as$u20$std..io..Read$GT$4read17habeb1d7a1449fe37E"(%"2.std::result::Result<usize, std::io::Error>"* noalias nocapture sret dereferenceable(24), %"1.std::fs::File"* dereferenceable(4), i8* nonnull, i64) unnamed_addr #5
declare void @"_ZN65_$LT$std..env..Args$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h4a2f0a847c18b680E"(%"2.std::option::Option<std::string::String>"* noalias nocapture sret dereferenceable(24), %"1.std::env::Args"* dereferenceable(32)) unnamed_addr #5
declare void @_ZN3std3env4args17h56691da1c51ab4b9E(%"1.std::env::Args"* noalias nocapture sret dereferenceable(32)) unnamed_addr #5
declare i8 @"_ZN58_$LT$std..io..error..Error$u20$as$u20$core..fmt..Debug$GT$3fmt17h91d65077f7b82e12E"(%"1.std::io::Error"* noalias readonly dereferenceable(16), %"2.std::fmt::Formatter"* dereferenceable(96)) unnamed_addr #5
declare void @_ZN3std2io5stdio6_print17hd57c10b39ee632f3E(%"2.std::fmt::Arguments"* noalias nocapture dereferenceable(48)) unnamed_addr #5
declare i8 @"_ZN4core3fmt3num52_$LT$impl$u20$core..fmt..Display$u20$for$u20$u32$GT$3fmt17hc2893eb73c20a6c7E"(i32* noalias readonly dereferenceable(4), %"2.std::fmt::Formatter"* dereferenceable(96)) unnamed_addr #5
define i64 @main(i64, i8**) unnamed_addr #5 {
top:
%2 = load volatile i8, i8* getelementptr inbounds ([34 x i8], [34 x i8]* @__rustc_debug_gdb_scripts_section__, i64 0, i64 0), align 1
%3 = tail call i64 @_ZN3std2rt10lang_start17h6940d7f630930324E(i8* bitcast (void ()* @_ZN10countbytes4main17h94fe39377ac73574E to i8*), i64 %0, i8** %1)
ret i64 %3
}
declare i64 @_ZN3std2rt10lang_start17h6940d7f630930324E(i8*, i64, i8**) unnamed_addr #5
; Function Attrs: nounwind readnone
declare void @llvm.dbg.value(metadata, i64, metadata, metadata) #2
; Function Attrs: argmemonly nounwind
declare void @llvm.memset.p0i8.i64(i8* nocapture writeonly, i8, i64, i32, i1) #3
attributes #0 = { inlinehint uwtable "no-frame-pointer-elim"="true" }
attributes #1 = { uwtable "no-frame-pointer-elim"="true" }
attributes #2 = { nounwind readnone }
attributes #3 = { argmemonly nounwind }
attributes #4 = { nounwind "no-frame-pointer-elim"="true" }
attributes #5 = { "no-frame-pointer-elim"="true" }
attributes #6 = { cold noinline noreturn "no-frame-pointer-elim"="true" }
attributes #7 = { nounwind }
!llvm.module.flags = !{!0, !1}
!llvm.dbg.cu = !{!2}
!0 = !{i32 1, !"PIE Level", i32 2}
!1 = !{i32 2, !"Debug Info Version", i32 3}
!2 = distinct !DICompileUnit(language: DW_LANG_Rust, file: !3, producer: "rustc version 1.14.0-dev (c9f16bbc4 2016-11-07)", isOptimized: true, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !77)
!3 = !DIFile(filename: "./countbytes.rs", directory: "/home/ulrik/pt/rust")
!4 = !{!5, !13, !19, !28, !49, !50, !51, !60, !64, !70}
!5 = !DICompositeType(tag: DW_TAG_enumeration_type, name: "Option", scope: !7, file: !6, baseType: !9, size: 64, align: 64, elements: !10)
!6 = !DIFile(filename: "<unknown>", directory: "")
!7 = !DINamespace(name: "option", scope: !8, file: !6)
!8 = !DINamespace(name: "core", scope: null, file: !6)
!9 = !DIBasicType(name: "u64", size: 64, align: 64, encoding: DW_ATE_unsigned)
!10 = !{!11, !12}
!11 = !DIEnumerator(name: "None", value: 0)
!12 = !DIEnumerator(name: "Some", value: 1)
!13 = !DICompositeType(tag: DW_TAG_enumeration_type, name: "Result", scope: !14, file: !6, baseType: !15, size: 32, align: 32, elements: !16)
!14 = !DINamespace(name: "result", scope: !8, file: !6)
!15 = !DIBasicType(name: "u32", size: 32, align: 32, encoding: DW_ATE_unsigned)
!16 = !{!17, !18}
!17 = !DIEnumerator(name: "Ok", value: 0)
!18 = !DIEnumerator(name: "Err", value: 1)
!19 = !DICompositeType(tag: DW_TAG_enumeration_type, name: "Repr", scope: !20, file: !6, baseType: !23, size: 8, align: 8, elements: !24)
!20 = !DINamespace(name: "error", scope: !21, file: !6)
!21 = !DINamespace(name: "io", scope: !22, file: !6)
!22 = !DINamespace(name: "std", scope: null, file: !6)
!23 = !DIBasicType(name: "u8", size: 8, align: 8, encoding: DW_ATE_unsigned)
!24 = !{!25, !26, !27}
!25 = !DIEnumerator(name: "Os", value: 0)
!26 = !DIEnumerator(name: "Simple", value: 1)
!27 = !DIEnumerator(name: "Custom", value: 2)
!28 = !DICompositeType(tag: DW_TAG_enumeration_type, name: "ErrorKind", scope: !20, file: !6, baseType: !23, size: 8, align: 8, elements: !29)
!29 = !{!30, !31, !32, !33, !34, !35, !36, !37, !38, !39, !40, !41, !42, !43, !44, !45, !46, !47, !48}
!30 = !DIEnumerator(name: "NotFound", value: 0)
!31 = !DIEnumerator(name: "PermissionDenied", value: 1)
!32 = !DIEnumerator(name: "ConnectionRefused", value: 2)
!33 = !DIEnumerator(name: "ConnectionReset", value: 3)
!34 = !DIEnumerator(name: "ConnectionAborted", value: 4)
!35 = !DIEnumerator(name: "NotConnected", value: 5)
!36 = !DIEnumerator(name: "AddrInUse", value: 6)
!37 = !DIEnumerator(name: "AddrNotAvailable", value: 7)
!38 = !DIEnumerator(name: "BrokenPipe", value: 8)
!39 = !DIEnumerator(name: "AlreadyExists", value: 9)
!40 = !DIEnumerator(name: "WouldBlock", value: 10)
!41 = !DIEnumerator(name: "InvalidInput", value: 11)
!42 = !DIEnumerator(name: "InvalidData", value: 12)
!43 = !DIEnumerator(name: "TimedOut", value: 13)
!44 = !DIEnumerator(name: "WriteZero", value: 14)
!45 = !DIEnumerator(name: "Interrupted", value: 15)
!46 = !DIEnumerator(name: "Other", value: 16)
!47 = !DIEnumerator(name: "UnexpectedEof", value: 17)
!48 = !DIEnumerator(name: "__Nonexhaustive", value: 18)
!49 = !DICompositeType(tag: DW_TAG_enumeration_type, name: "Result", scope: !14, file: !6, baseType: !9, size: 64, align: 64, elements: !16)
!50 = !DICompositeType(tag: DW_TAG_enumeration_type, name: "Result", scope: !14, file: !6, baseType: !23, size: 8, align: 8, elements: !16)
!51 = !DICompositeType(tag: DW_TAG_enumeration_type, name: "Alignment", scope: !52, file: !6, baseType: !23, size: 8, align: 8, elements: !55)
!52 = !DINamespace(name: "v1", scope: !53, file: !6)
!53 = !DINamespace(name: "rt", scope: !54, file: !6)
!54 = !DINamespace(name: "fmt", scope: !8, file: !6)
!55 = !{!56, !57, !58, !59}
!56 = !DIEnumerator(name: "Left", value: 0)
!57 = !DIEnumerator(name: "Right", value: 1)
!58 = !DIEnumerator(name: "Center", value: 2)
!59 = !DIEnumerator(name: "Unknown", value: 3)
!60 = !DICompositeType(tag: DW_TAG_enumeration_type, name: "Position", scope: !52, file: !6, baseType: !9, size: 64, align: 64, elements: !61)
!61 = !{!62, !63}
!62 = !DIEnumerator(name: "Next", value: 0)
!63 = !DIEnumerator(name: "At", value: 1)
!64 = !DICompositeType(tag: DW_TAG_enumeration_type, name: "Count", scope: !52, file: !6, baseType: !9, size: 64, align: 64, elements: !65)
!65 = !{!66, !67, !68, !69}
!66 = !DIEnumerator(name: "Is", value: 0)
!67 = !DIEnumerator(name: "Param", value: 1)
!68 = !DIEnumerator(name: "NextParam", value: 2)
!69 = !DIEnumerator(name: "Implied", value: 3)
!70 = !DICompositeType(tag: DW_TAG_enumeration_type, name: "State", scope: !71, file: !6, baseType: !23, size: 8, align: 8, elements: !72)
!71 = !DINamespace(name: "countbytes", scope: null, file: !6)
!72 = !{!73, !74, !75, !76}
!73 = !DIEnumerator(name: "Outside", value: 0)
!74 = !DIEnumerator(name: "BeginSlash", value: 1)
!75 = !DIEnumerator(name: "Inside", value: 2)
!76 = !DIEnumerator(name: "EndAsterisk", value: 3)
!77 = !{!78, !93}
!78 = distinct !DIGlobalVariable(name: "__STATIC_FMTSTR", linkageName: "_ZN10countbytes4main15__STATIC_FMTSTRE", scope: !79, file: !81, line: 3, type: !82, isLocal: true, isDefinition: true)
!79 = !DINamespace(name: "main", scope: !71, file: !80, line: 35)
!80 = !DIFile(filename: "/home/ulrik/pt/rust/countbytes.rs", directory: "/home/ulrik/pt/rust")
!81 = !DIFile(filename: "<std macros>", directory: "/home/ulrik/pt/rust")
!82 = !DICompositeType(tag: DW_TAG_structure_type, name: "&[&str]", file: !6, size: 128, align: 64, elements: !83, identifier: "feaae0c54c7c7da1c9df23d36eb11d9c3735aa")
!83 = !{!84, !92}
!84 = !DIDerivedType(tag: DW_TAG_member, name: "data_ptr", scope: !82, file: !6, baseType: !85, size: 64, align: 64)
!85 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "*const &str", baseType: !86, size: 64, align: 64)
!86 = !DICompositeType(tag: DW_TAG_structure_type, name: "&str", file: !6, size: 128, align: 64, elements: !87, identifier: "ba943fec7ffec6f5b5383b3687bffbb545ec77f")
!87 = !{!88, !90}
!88 = !DIDerivedType(tag: DW_TAG_member, name: "data_ptr", scope: !86, file: !6, baseType: !89, size: 64, align: 64)
!89 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "*const u8", baseType: !23, size: 64, align: 64)
!90 = !DIDerivedType(tag: DW_TAG_member, name: "length", scope: !86, file: !6, baseType: !91, size: 64, align: 64, offset: 64)
!91 = !DIBasicType(name: "usize", size: 64, align: 64, encoding: DW_ATE_unsigned)
!92 = !DIDerivedType(tag: DW_TAG_member, name: "length", scope: !82, file: !6, baseType: !91, size: 64, align: 64, offset: 64)
!93 = distinct !DIGlobalVariable(name: "__STATIC_FMTSTR", linkageName: "_ZN10countbytes4main15__STATIC_FMTSTRE", scope: !79, file: !81, line: 3, type: !82, isLocal: true, isDefinition: true)
!94 = distinct !DISubprogram(name: "fmt", linkageName: "_ZN11collections6string8{{impl}}3fmtE", scope: !96, file: !95, line: 1582, type: !99, isLocal: false, isDefinition: true, scopeLine: 1582, flags: DIFlagPrototyped, isOptimized: true, unit: !2, templateParams: !115, variables: !187)
!95 = !DIFile(filename: "/home/ulrik/src/rust/src/libcollections/string.rs", directory: "/home/ulrik/pt/rust")
!96 = !DINamespace(name: "{{impl}}", scope: !97, file: !6)
!97 = !DINamespace(name: "string", scope: !98, file: !6)
!98 = !DINamespace(name: "collections", scope: null, file: !6)
!99 = !DISubroutineType(types: !100)
!100 = !{!101, !116, !142}
!101 = !DICompositeType(tag: DW_TAG_union_type, name: "Result<(), core::fmt::Error>", scope: !14, file: !6, size: 8, align: 8, elements: !102, identifier: "9a2489a0d09c2323c9c6587738392c6b3577c992")
!102 = !{!103, !109}
!103 = !DIDerivedType(tag: DW_TAG_member, scope: !101, file: !6, baseType: !104, size: 8, align: 8)
!104 = !DICompositeType(tag: DW_TAG_structure_type, name: "Ok", scope: !14, file: !6, size: 8, align: 8, elements: !105, identifier: "9a2489a0d09c2323c9c6587738392c6b3577c992::Ok")
!105 = !{!106, !107}
!106 = !DIDerivedType(tag: DW_TAG_member, name: "RUST$ENUM$DISR", scope: !104, file: !6, baseType: !50, size: 8, align: 8)
!107 = !DIDerivedType(tag: DW_TAG_member, name: "__0", scope: !104, file: !6, baseType: !108, align: 8, offset: 8)
!108 = !DIBasicType(name: "()", align: 8, encoding: DW_ATE_unsigned)
!109 = !DIDerivedType(tag: DW_TAG_member, scope: !101, file: !6, baseType: !110, size: 8, align: 8)
!110 = !DICompositeType(tag: DW_TAG_structure_type, name: "Err", scope: !14, file: !6, size: 8, align: 8, elements: !111, identifier: "9a2489a0d09c2323c9c6587738392c6b3577c992::Err")
!111 = !{!112, !113}
!112 = !DIDerivedType(tag: DW_TAG_member, name: "RUST$ENUM$DISR", scope: !110, file: !6, baseType: !50, size: 8, align: 8)
!113 = !DIDerivedType(tag: DW_TAG_member, name: "__0", scope: !110, file: !6, baseType: !114, align: 8, offset: 8)
!114 = !DICompositeType(tag: DW_TAG_structure_type, name: "Error", scope: !54, file: !6, align: 8, elements: !115, identifier: "645e32b2a6599d1344a644e82d4ca7699542f39")
!115 = !{}
!116 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "&collections::string::String", baseType: !117, size: 64, align: 64)
!117 = !DICompositeType(tag: DW_TAG_structure_type, name: "String", scope: !97, file: !6, size: 192, align: 64, elements: !118, identifier: "692b8bef653c4ed82c34ba11c21bf9b5df7d54fd")
!118 = !{!119}
!119 = !DIDerivedType(tag: DW_TAG_member, name: "vec", scope: !117, file: !6, baseType: !120, size: 192, align: 64)
!120 = !DICompositeType(tag: DW_TAG_structure_type, name: "Vec<u8>", scope: !121, file: !6, size: 192, align: 64, elements: !122, identifier: "241cc5d5480b6385fa573caf5f42358670b8ba")
!121 = !DINamespace(name: "vec", scope: !98, file: !6)
!122 = !{!123, !141}
!123 = !DIDerivedType(tag: DW_TAG_member, name: "buf", scope: !120, file: !6, baseType: !124, size: 128, align: 64)
!124 = !DICompositeType(tag: DW_TAG_structure_type, name: "RawVec<u8>", scope: !125, file: !6, size: 128, align: 64, elements: !127, identifier: "14bf7d97f43ab245cf633af896a2da1da1ba4a")
!125 = !DINamespace(name: "raw_vec", scope: !126, file: !6)
!126 = !DINamespace(name: "alloc", scope: null, file: !6)
!127 = !{!128, !140}
!128 = !DIDerivedType(tag: DW_TAG_member, name: "ptr", scope: !124, file: !6, baseType: !129, size: 64, align: 64)
!129 = !DICompositeType(tag: DW_TAG_structure_type, name: "Unique<u8>", scope: !130, file: !6, size: 64, align: 64, elements: !131, identifier: "e1fa23e67da1e64e7e69563bd479ba9ad3cf2")
!130 = !DINamespace(name: "ptr", scope: !8, file: !6)
!131 = !{!132, !137}
!132 = !DIDerivedType(tag: DW_TAG_member, name: "pointer", scope: !129, file: !6, baseType: !133, size: 64, align: 64)
!133 = !DICompositeType(tag: DW_TAG_structure_type, name: "NonZero<*const u8>", scope: !134, file: !6, size: 64, align: 64, elements: !135, identifier: "668384c2674a5a261583ba9162d584d459ad5af")
!134 = !DINamespace(name: "nonzero", scope: !8, file: !6)
!135 = !{!136}
!136 = !DIDerivedType(tag: DW_TAG_member, name: "__0", scope: !133, file: !6, baseType: !89, size: 64, align: 64)
!137 = !DIDerivedType(tag: DW_TAG_member, name: "_marker", scope: !129, file: !6, baseType: !138, align: 8, offset: 64)
!138 = !DICompositeType(tag: DW_TAG_structure_type, name: "PhantomData<u8>", scope: !139, file: !6, align: 8, elements: !115, identifier: "c29af88dc43d6e5f6f662aee1d31adf4516dbe")
!139 = !DINamespace(name: "marker", scope: !8, file: !6)
!140 = !DIDerivedType(tag: DW_TAG_member, name: "cap", scope: !124, file: !6, baseType: !91, size: 64, align: 64, offset: 64)
!141 = !DIDerivedType(tag: DW_TAG_member, name: "len", scope: !120, file: !6, baseType: !91, size: 64, align: 64, offset: 128)
!142 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "&mut core::fmt::Formatter", baseType: !143, size: 64, align: 64)
!143 = !DICompositeType(tag: DW_TAG_structure_type, name: "Formatter", scope: !54, file: !6, size: 768, align: 64, elements: !144, identifier: "cae94115bc83831da72ce48e5f5c660e34e6117")
!144 = !{!145, !146, !148, !149, !161, !162, !164, !182}
!145 = !DIDerivedType(tag: DW_TAG_member, name: "flags", scope: !143, file: !6, baseType: !15, size: 32, align: 32)
!146 = !DIDerivedType(tag: DW_TAG_member, name: "fill", scope: !143, file: !6, baseType: !147, size: 32, align: 32, offset: 32)
!147 = !DIBasicType(name: "char", size: 32, align: 32, encoding: DW_ATE_unsigned_char)
!148 = !DIDerivedType(tag: DW_TAG_member, name: "align", scope: !143, file: !6, baseType: !51, size: 8, align: 8, offset: 64)
!149 = !DIDerivedType(tag: DW_TAG_member, name: "width", scope: !143, file: !6, baseType: !150, size: 128, align: 64, offset: 128)
!150 = !DICompositeType(tag: DW_TAG_union_type, name: "Option<usize>", scope: !7, file: !6, size: 128, align: 64, elements: !151, identifier: "4f62995e81264307af569565e7e21365af316f")
!151 = !{!152, !156}
!152 = !DIDerivedType(tag: DW_TAG_member, scope: !150, file: !6, baseType: !153, size: 64, align: 64)
!153 = !DICompositeType(tag: DW_TAG_structure_type, name: "None", scope: !7, file: !6, size: 64, align: 64, elements: !154, identifier: "4f62995e81264307af569565e7e21365af316f::None")
!154 = !{!155}
!155 = !DIDerivedType(tag: DW_TAG_member, name: "RUST$ENUM$DISR", scope: !153, file: !6, baseType: !5, size: 64, align: 64)
!156 = !DIDerivedType(tag: DW_TAG_member, scope: !150, file: !6, baseType: !157, size: 128, align: 64)
!157 = !DICompositeType(tag: DW_TAG_structure_type, name: "Some", scope: !7, file: !6, size: 128, align: 64, elements: !158, identifier: "4f62995e81264307af569565e7e21365af316f::Some")
!158 = !{!159, !160}
!159 = !DIDerivedType(tag: DW_TAG_member, name: "RUST$ENUM$DISR", scope: !157, file: !6, baseType: !5, size: 64, align: 64)
!160 = !DIDerivedType(tag: DW_TAG_member, name: "__0", scope: !157, file: !6, baseType: !91, size: 64, align: 64, offset: 64)
!161 = !DIDerivedType(tag: DW_TAG_member, name: "precision", scope: !143, file: !6, baseType: !150, size: 128, align: 64, offset: 256)
!162 = !DIDerivedType(tag: DW_TAG_member, name: "buf", scope: !143, file: !6, baseType: !163, size: 128, align: 64, offset: 384)
!163 = !DICompositeType(tag: DW_TAG_structure_type, name: "&mut Write", scope: !54, file: !6, size: 128, align: 64, elements: !115, identifier: "167c8a6330fdffdaaa4110773b15f6b99f194432")
!164 = !DIDerivedType(tag: DW_TAG_member, name: "curarg", scope: !143, file: !6, baseType: !165, size: 128, align: 64, offset: 512)
!165 = !DICompositeType(tag: DW_TAG_structure_type, name: "Iter<core::fmt::ArgumentV1>", scope: !166, file: !6, size: 128, align: 64, elements: !167, identifier: "534536d5f79682224c57ae687daefe993df3026")
!166 = !DINamespace(name: "slice", scope: !8, file: !6)
!167 = !{!168, !179, !180}
!168 = !DIDerivedType(tag: DW_TAG_member, name: "ptr", scope: !165, file: !6, baseType: !169, size: 64, align: 64)
!169 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "*const core::fmt::ArgumentV1", baseType: !170, size: 64, align: 64)
!170 = !DICompositeType(tag: DW_TAG_structure_type, name: "ArgumentV1", scope: !54, file: !6, size: 128, align: 64, elements: !171, identifier: "7c614acbb93797c7ab60bf9d2856d336f261a")
!171 = !{!172, !175}
!172 = !DIDerivedType(tag: DW_TAG_member, name: "value", scope: !170, file: !6, baseType: !173, size: 64, align: 64)
!173 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "&core::fmt::Void", baseType: !174, size: 64, align: 64)
!174 = !DICompositeType(tag: DW_TAG_union_type, name: "Void", scope: !54, file: !6, align: 8, elements: !115, identifier: "cad79ae584c840279d89c0189e61b2ee4e7737df")
!175 = !DIDerivedType(tag: DW_TAG_member, name: "formatter", scope: !170, file: !6, baseType: !176, size: 64, align: 64, offset: 64)
!176 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "fn(&core::fmt::Void, &mut core::fmt::Formatter) -> core::result::Result<(), core::fmt::Error>", baseType: !177, size: 64, align: 64)
!177 = !DISubroutineType(types: !178)
!178 = !{!101, !173, !142}
!179 = !DIDerivedType(tag: DW_TAG_member, name: "end", scope: !165, file: !6, baseType: !169, size: 64, align: 64, offset: 64)
!180 = !DIDerivedType(tag: DW_TAG_member, name: "_marker", scope: !165, file: !6, baseType: !181, align: 8, offset: 128)
!181 = !DICompositeType(tag: DW_TAG_structure_type, name: "PhantomData<&core::fmt::ArgumentV1>", scope: !139, file: !6, align: 8, elements: !115, identifier: "d799efb9d02a399677cc7eeefffd814243def")
!182 = !DIDerivedType(tag: DW_TAG_member, name: "args", scope: !143, file: !6, baseType: !183, size: 128, align: 64, offset: 640)
!183 = !DICompositeType(tag: DW_TAG_structure_type, name: "&[core::fmt::ArgumentV1]", file: !6, size: 128, align: 64, elements: !184, identifier: "d564818bfc1114d520f8b6ab5858cf57d7b2d370")
!184 = !{!185, !186}
!185 = !DIDerivedType(tag: DW_TAG_member, name: "data_ptr", scope: !183, file: !6, baseType: !169, size: 64, align: 64)
!186 = !DIDerivedType(tag: DW_TAG_member, name: "length", scope: !183, file: !6, baseType: !91, size: 64, align: 64, offset: 64)
!187 = !{!188, !189, !190, !192}
!188 = !DILocalVariable(name: "self", arg: 1, scope: !94, file: !80, line: 1, type: !116)
!189 = !DILocalVariable(name: "f", arg: 2, scope: !94, file: !80, line: 1, type: !142)
!190 = !DILocalVariable(name: "self", scope: !191, file: !95, line: 1582, type: !116)
!191 = distinct !DILexicalBlock(scope: !94, file: !95, line: 1582, column: 57)
!192 = !DILocalVariable(name: "f", scope: !191, file: !95, line: 1582, type: !142)
!193 = !DIExpression()
!194 = !DILocation(line: 1, scope: !94)
!195 = !DILocation(line: 1582, scope: !191)
!196 = !DILocation(line: 54, scope: !197, inlinedAt: !212)
!197 = distinct !DILexicalBlock(scope: !199, file: !198, line: 53, column: 26)
!198 = !DIFile(filename: "/home/ulrik/src/rust/src/libcore/nonzero.rs", directory: "/home/ulrik/pt/rust")
!199 = distinct !DISubprogram(name: "deref<*const u8>", linkageName: "_ZN4core7nonzero8{{impl}}16deref<*const u8>E", scope: !200, file: !198, line: 53, type: !201, isLocal: false, isDefinition: true, scopeLine: 53, flags: DIFlagPrototyped, isOptimized: true, unit: !2, templateParams: !205, variables: !207)
!200 = !DINamespace(name: "{{impl}}", scope: !134, file: !6)
!201 = !DISubroutineType(types: !202)
!202 = !{!203, !204}
!203 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "&*const u8", baseType: !89, size: 64, align: 64)
!204 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "&core::nonzero::NonZero<*const u8>", baseType: !133, size: 64, align: 64)
!205 = !{!206}
!206 = !DITemplateTypeParameter(name: "T", type: !89)
!207 = !{!208, !209, !210}
!208 = !DILocalVariable(name: "self", arg: 1, scope: !199, file: !80, line: 1, type: !204)
!209 = !DILocalVariable(name: "self", scope: !197, file: !198, line: 53, type: !204)
!210 = !DILocalVariable(name: "inner", scope: !211, file: !198, line: 54, type: !203)
!211 = distinct !DILexicalBlock(scope: !197, file: !198, line: 54, column: 39)
!212 = distinct !DILocation(line: 840, scope: !213, inlinedAt: !227)
!213 = distinct !DILexicalBlock(scope: !215, file: !214, line: 839, column: 31)
!214 = !DIFile(filename: "/home/ulrik/src/rust/src/libcore/ptr.rs", directory: "/home/ulrik/pt/rust")
!215 = distinct !DISubprogram(name: "deref<u8>", linkageName: "_ZN4core3ptr8{{impl}}9deref<u8>E", scope: !216, file: !214, line: 839, type: !217, isLocal: false, isDefinition: true, scopeLine: 839, flags: DIFlagPrototyped, isOptimized: true, unit: !2, templateParams: !222, variables: !224)
!216 = !DINamespace(name: "{{impl}}", scope: !130, file: !6)
!217 = !DISubroutineType(types: !218)
!218 = !{!219, !221}
!219 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "&*mut u8", baseType: !220, size: 64, align: 64)
!220 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "*mut u8", baseType: !23, size: 64, align: 64)
!221 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "&core::ptr::Unique<u8>", baseType: !129, size: 64, align: 64)
!222 = !{!223}
!223 = !DITemplateTypeParameter(name: "T", type: !23)
!224 = !{!225, !226}
!225 = !DILocalVariable(name: "self", arg: 1, scope: !215, file: !80, line: 1, type: !221)
!226 = !DILocalVariable(name: "self", scope: !213, file: !214, line: 839, type: !221)
!227 = distinct !DILocation(line: 139, scope: !228, inlinedAt: !237)
!228 = distinct !DILexicalBlock(scope: !230, file: !229, line: 138, column: 32)
!229 = !DIFile(filename: "/home/ulrik/src/rust/src/liballoc/raw_vec.rs", directory: "/home/ulrik/pt/rust")
!230 = distinct !DISubprogram(name: "ptr<u8>", linkageName: "_ZN5alloc7raw_vec8{{impl}}7ptr<u8>E", scope: !124, file: !229, line: 138, type: !231, isLocal: false, isDefinition: true, scopeLine: 138, flags: DIFlagPrototyped, isOptimized: true, unit: !2, templateParams: !222, variables: !234)
!231 = !DISubroutineType(types: !232)
!232 = !{!220, !233}
!233 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "&alloc::raw_vec::RawVec<u8>", baseType: !124, size: 64, align: 64)
!234 = !{!235, !236}
!235 = !DILocalVariable(name: "self", arg: 1, scope: !230, file: !80, line: 1, type: !233)
!236 = !DILocalVariable(name: "self", scope: !228, file: !229, line: 138, type: !233)
!237 = distinct !DILocation(line: 1480, scope: !238, inlinedAt: !254)
!238 = distinct !DILexicalBlock(scope: !240, file: !239, line: 1478, column: 28)
!239 = !DIFile(filename: "/home/ulrik/src/rust/src/libcollections/vec.rs", directory: "/home/ulrik/pt/rust")
!240 = distinct !DISubprogram(name: "deref<u8>", linkageName: "_ZN11collections3vec8{{impl}}9deref<u8>E", scope: !241, file: !239, line: 1478, type: !242, isLocal: false, isDefinition: true, scopeLine: 1478, flags: DIFlagPrototyped, isOptimized: true, unit: !2, templateParams: !222, variables: !249)
!241 = !DINamespace(name: "{{impl}}", scope: !121, file: !6)
!242 = !DISubroutineType(types: !243)
!243 = !{!244, !248}
!244 = !DICompositeType(tag: DW_TAG_structure_type, name: "&[u8]", file: !6, size: 128, align: 64, elements: !245, identifier: "50ce52a9f31cc16141ef7160ff486c8ab5bdac4")
!245 = !{!246, !247}
!246 = !DIDerivedType(tag: DW_TAG_member, name: "data_ptr", scope: !244, file: !6, baseType: !89, size: 64, align: 64)
!247 = !DIDerivedType(tag: DW_TAG_member, name: "length", scope: !244, file: !6, baseType: !91, size: 64, align: 64, offset: 64)
!248 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "&collections::vec::Vec<u8>", baseType: !120, size: 64, align: 64)
!249 = !{!250, !251, !252}
!250 = !DILocalVariable(name: "self", arg: 1, scope: !240, file: !80, line: 1, type: !248)
!251 = !DILocalVariable(name: "self", scope: !238, file: !239, line: 1478, type: !248)
!252 = !DILocalVariable(name: "p", scope: !253, file: !239, line: 1480, type: !220)
!253 = distinct !DILexicalBlock(scope: !238, file: !239, line: 1480, column: 35)
!254 = distinct !DILocation(line: 1726, scope: !255, inlinedAt: !262)
!255 = distinct !DILexicalBlock(scope: !256, file: !95, line: 1725, column: 28)
!256 = distinct !DISubprogram(name: "deref", linkageName: "_ZN11collections6string8{{impl}}5derefE", scope: !96, file: !95, line: 1725, type: !257, isLocal: false, isDefinition: true, scopeLine: 1725, flags: DIFlagPrototyped, isOptimized: true, unit: !2, templateParams: !115, variables: !259)
!257 = !DISubroutineType(types: !258)
!258 = !{!86, !116}
!259 = !{!260, !261}
!260 = !DILocalVariable(name: "self", arg: 1, scope: !256, file: !80, line: 1, type: !116)
!261 = !DILocalVariable(name: "self", scope: !255, file: !95, line: 1725, type: !116)
!262 = distinct !DILocation(line: 1583, scope: !191)
!263 = !DILocation(line: 139, scope: !228, inlinedAt: !237)
!264 = !{!265, !267, !269}
!265 = distinct !{!265, !266, !"_ZN40_$LT$alloc..raw_vec..RawVec$LT$T$GT$$GT$3ptr17h5ce1a90cfdc2346dE: argument 0"}
!266 = distinct !{!266, !"_ZN40_$LT$alloc..raw_vec..RawVec$LT$T$GT$$GT$3ptr17h5ce1a90cfdc2346dE"}
!267 = distinct !{!267, !268, !"_ZN67_$LT$collections..vec..Vec$LT$T$GT$$u20$as$u20$core..ops..Deref$GT$5deref17h174ef3d4688329b3E: argument 0"}
!268 = distinct !{!268, !"_ZN67_$LT$collections..vec..Vec$LT$T$GT$$u20$as$u20$core..ops..Deref$GT$5deref17h174ef3d4688329b3E"}
!269 = distinct !{!269, !270, !"_ZN64_$LT$collections..string..String$u20$as$u20$core..ops..Deref$GT$5deref17hf5737d653da2a953E: argument 0"}
!270 = distinct !{!270, !"_ZN64_$LT$collections..string..String$u20$as$u20$core..ops..Deref$GT$5deref17hf5737d653da2a953E"}
!271 = !DILocation(line: 1480, scope: !253, inlinedAt: !254)
!272 = !DILocation(line: 1482, scope: !253, inlinedAt: !254)
!273 = !{!267, !269}
!274 = !DILocation(line: 1583, scope: !191)
!275 = !DILocation(line: 1584, scope: !191)
!276 = distinct !DISubprogram(name: "main", linkageName: "_ZN10countbytes4mainE", scope: !71, file: !80, line: 35, type: !277, isLocal: true, isDefinition: true, scopeLine: 35, flags: DIFlagPrototyped, isOptimized: true, unit: !2, templateParams: !115, variables: !279)
!277 = !DISubroutineType(types: !278)
!278 = !{null}
!279 = !{!280, !282, !328, !330, !333, !364, !367, !369, !372}
!280 = !DILocalVariable(name: "_result", scope: !281, file: !80, line: 36, type: !108)
!281 = distinct !DILexicalBlock(scope: !276, file: !80, line: 41, column: 5)
!282 = !DILocalVariable(name: "iter", scope: !283, file: !80, line: 36, type: !284)
!283 = distinct !DILexicalBlock(scope: !276, file: !80, line: 36, column: 4)
!284 = !DICompositeType(tag: DW_TAG_structure_type, name: "Skip<std::env::Args>", scope: !285, file: !6, size: 320, align: 64, elements: !286, identifier: "71f1529ca5694ae41e91987ffd233606aee5dd1")
!285 = !DINamespace(name: "iter", scope: !8, file: !6)
!286 = !{!287, !327}
!287 = !DIDerivedType(tag: DW_TAG_member, name: "iter", scope: !284, file: !6, baseType: !288, size: 256, align: 64)
!288 = !DICompositeType(tag: DW_TAG_structure_type, name: "Args", scope: !289, file: !6, size: 256, align: 64, elements: !290, identifier: "771156514699a8be7ab9c49a2ae7665bd0a13072")
!289 = !DINamespace(name: "env", scope: !22, file: !6)
!290 = !{!291}
!291 = !DIDerivedType(tag: DW_TAG_member, name: "inner", scope: !288, file: !6, baseType: !292, size: 256, align: 64)
!292 = !DICompositeType(tag: DW_TAG_structure_type, name: "ArgsOs", scope: !289, file: !6, size: 256, align: 64, elements: !293, identifier: "2ca41f86c0ae343453b5b1aeaa2e2afca01975a9")
!293 = !{!294}
!294 = !DIDerivedType(tag: DW_TAG_member, name: "inner", scope: !292, file: !6, baseType: !295, size: 256, align: 64)
!295 = !DICompositeType(tag: DW_TAG_structure_type, name: "Args", scope: !296, file: !6, size: 256, align: 64, elements: !299, identifier: "a445fae01e8ae64b7abf5458be736668ec26ad")
!296 = !DINamespace(name: "args", scope: !297, file: !6)
!297 = !DINamespace(name: "imp", scope: !298, file: !6)
!298 = !DINamespace(name: "sys", scope: !22, file: !6)
!299 = !{!300, !325}
!300 = !DIDerivedType(tag: DW_TAG_member, name: "iter", scope: !295, file: !6, baseType: !301, size: 256, align: 64)
!301 = !DICompositeType(tag: DW_TAG_structure_type, name: "IntoIter<std::ffi::os_str::OsString>", scope: !121, file: !6, size: 256, align: 64, elements: !302, identifier: "285e509bf4db60979c5b330a57a1c1343250c6")
!302 = !{!303, !322, !323, !324}
!303 = !DIDerivedType(tag: DW_TAG_member, name: "buf", scope: !301, file: !6, baseType: !304, size: 64, align: 64)
!304 = !DICompositeType(tag: DW_TAG_structure_type, name: "Shared<std::ffi::os_str::OsString>", scope: !130, file: !6, size: 64, align: 64, elements: !305, identifier: "bd481c8aa38212b53bd8a2e5e58c70affff16cbc")
!305 = !{!306, !320}
!306 = !DIDerivedType(tag: DW_TAG_member, name: "pointer", scope: !304, file: !6, baseType: !307, size: 64, align: 64)
!307 = !DICompositeType(tag: DW_TAG_structure_type, name: "NonZero<*const std::ffi::os_str::OsString>", scope: !134, file: !6, size: 64, align: 64, elements: !308, identifier: "86f9615da43020a09ab540a781492ceeaec3f675")
!308 = !{!309}
!309 = !DIDerivedType(tag: DW_TAG_member, name: "__0", scope: !307, file: !6, baseType: !310, size: 64, align: 64)
!310 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "*const std::ffi::os_str::OsString", baseType: !311, size: 64, align: 64)
!311 = !DICompositeType(tag: DW_TAG_structure_type, name: "OsString", scope: !312, file: !6, size: 192, align: 64, elements: !314, identifier: "c4ffc8739ee1afeb9b482727a4e365fd31fffaf")
!312 = !DINamespace(name: "os_str", scope: !313, file: !6)
!313 = !DINamespace(name: "ffi", scope: !22, file: !6)
!314 = !{!315}
!315 = !DIDerivedType(tag: DW_TAG_member, name: "inner", scope: !311, file: !6, baseType: !316, size: 192, align: 64)
!316 = !DICompositeType(tag: DW_TAG_structure_type, name: "Buf", scope: !317, file: !6, size: 192, align: 64, elements: !318, identifier: "529739f1b6f08ef159ff69322dd265d5acef598")
!317 = !DINamespace(name: "os_str", scope: !297, file: !6)
!318 = !{!319}
!319 = !DIDerivedType(tag: DW_TAG_member, name: "inner", scope: !316, file: !6, baseType: !120, size: 192, align: 64)
!320 = !DIDerivedType(tag: DW_TAG_member, name: "_marker", scope: !304, file: !6, baseType: !321, align: 8, offset: 64)
!321 = !DICompositeType(tag: DW_TAG_structure_type, name: "PhantomData<std::ffi::os_str::OsString>", scope: !139, file: !6, align: 8, elements: !115, identifier: "0b16737a1a078c2f4d1ece5cd2a3bd4304b33")
!322 = !DIDerivedType(tag: DW_TAG_member, name: "cap", scope: !301, file: !6, baseType: !91, size: 64, align: 64, offset: 64)
!323 = !DIDerivedType(tag: DW_TAG_member, name: "ptr", scope: !301, file: !6, baseType: !310, size: 64, align: 64, offset: 128)
!324 = !DIDerivedType(tag: DW_TAG_member, name: "end", scope: !301, file: !6, baseType: !310, size: 64, align: 64, offset: 192)
!325 = !DIDerivedType(tag: DW_TAG_member, name: "_dont_send_or_sync_me", scope: !295, file: !6, baseType: !326, align: 8, offset: 256)
!326 = !DICompositeType(tag: DW_TAG_structure_type, name: "PhantomData<*mut ()>", scope: !139, file: !6, align: 8, elements: !115, identifier: "da6d34a16a634730a7bbe4e3fb4627e506bc05a")
!327 = !DIDerivedType(tag: DW_TAG_member, name: "n", scope: !284, file: !6, baseType: !91, size: 64, align: 64, offset: 256)
!328 = !DILocalVariable(name: "fname", scope: !329, file: !80, line: 36, type: !117)
!329 = distinct !DILexicalBlock(scope: !283, file: !80, line: 36, column: 42)
!330 = !DILocalVariable(name: "n", scope: !331, file: !80, line: 38, type: !15)
!331 = !DILexicalBlockFile(scope: !332, file: !80, discriminator: 0)
!332 = distinct !DILexicalBlock(scope: !329, file: !81, line: 2)
!333 = !DILocalVariable(name: "err", scope: !334, file: !80, line: 39, type: !336)
!334 = !DILexicalBlockFile(scope: !335, file: !80, discriminator: 0)
!335 = distinct !DILexicalBlock(scope: !329, file: !81, line: 2)
!336 = !DICompositeType(tag: DW_TAG_structure_type, name: "Error", scope: !20, file: !6, size: 128, align: 64, elements: !337, identifier: "8883c2540a14a542a84e8ecd92cc57e665b81f")
!337 = !{!338}
!338 = !DIDerivedType(tag: DW_TAG_member, name: "repr", scope: !336, file: !6, baseType: !339, size: 128, align: 64)
!339 = !DICompositeType(tag: DW_TAG_union_type, name: "Repr", scope: !20, file: !6, size: 128, align: 64, elements: !340, identifier: "75bac3605280f4a35c942db5a5ee734ffbad5b2")
!340 = !{!341, !347, !352}
!341 = !DIDerivedType(tag: DW_TAG_member, scope: !339, file: !6, baseType: !342, size: 64, align: 32)
!342 = !DICompositeType(tag: DW_TAG_structure_type, name: "Os", scope: !20, file: !6, size: 64, align: 32, elements: !343, identifier: "75bac3605280f4a35c942db5a5ee734ffbad5b2::Os")
!343 = !{!344, !345}
!344 = !DIDerivedType(tag: DW_TAG_member, name: "RUST$ENUM$DISR", scope: !342, file: !6, baseType: !19, size: 8, align: 8)
!345 = !DIDerivedType(tag: DW_TAG_member, name: "__0", scope: !342, file: !6, baseType: !346, size: 32, align: 32, offset: 32)
!346 = !DIBasicType(name: "i32", size: 32, align: 32, encoding: DW_ATE_signed)
!347 = !DIDerivedType(tag: DW_TAG_member, scope: !339, file: !6, baseType: !348, size: 16, align: 8)
!348 = !DICompositeType(tag: DW_TAG_structure_type, name: "Simple", scope: !20, file: !6, size: 16, align: 8, elements: !349, identifier: "75bac3605280f4a35c942db5a5ee734ffbad5b2::Simple")
!349 = !{!350, !351}
!350 = !DIDerivedType(tag: DW_TAG_member, name: "RUST$ENUM$DISR", scope: !348, file: !6, baseType: !19, size: 8, align: 8)
!351 = !DIDerivedType(tag: DW_TAG_member, name: "__0", scope: !348, file: !6, baseType: !28, size: 8, align: 8, offset: 8)
!352 = !DIDerivedType(tag: DW_TAG_member, scope: !339, file: !6, baseType: !353, size: 128, align: 64)
!353 = !DICompositeType(tag: DW_TAG_structure_type, name: "Custom", scope: !20, file: !6, size: 128, align: 64, elements: !354, identifier: "75bac3605280f4a35c942db5a5ee734ffbad5b2::Custom")
!354 = !{!355, !356}
!355 = !DIDerivedType(tag: DW_TAG_member, name: "RUST$ENUM$DISR", scope: !353, file: !6, baseType: !19, size: 8, align: 8)
!356 = !DIDerivedType(tag: DW_TAG_member, name: "__0", scope: !353, file: !6, baseType: !357, size: 64, align: 64, offset: 64)
!357 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "Box<std::io::error::Custom>", baseType: !358, size: 64, align: 64)
!358 = !DICompositeType(tag: DW_TAG_structure_type, name: "Custom", scope: !20, file: !6, size: 192, align: 64, elements: !359, identifier: "14b840f655c3d6e626a4284689c88a2b8dee1b9c")
!359 = !{!360, !361}
!360 = !DIDerivedType(tag: DW_TAG_member, name: "kind", scope: !358, file: !6, baseType: !28, size: 8, align: 8)
!361 = !DIDerivedType(tag: DW_TAG_member, name: "error", scope: !358, file: !6, baseType: !362, size: 128, align: 64, offset: 64)
!362 = !DICompositeType(tag: DW_TAG_structure_type, name: "Box<Error>", scope: !363, file: !6, size: 128, align: 64, elements: !115, identifier: "544239a1bc18f3e16e33d229b79d99249f7a45")
!363 = !DINamespace(name: "error", scope: !22, file: !6)
!364 = !DILocalVariable(name: "__arg0", scope: !365, file: !80, line: 38, type: !116)
!365 = !DILexicalBlockFile(scope: !366, file: !80, discriminator: 0)
!366 = distinct !DILexicalBlock(scope: !332, file: !81, line: 3, column: 17)
!367 = !DILocalVariable(name: "__arg1", scope: !365, file: !80, line: 38, type: !368)
!368 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "&u32", baseType: !15, size: 64, align: 64)
!369 = !DILocalVariable(name: "__arg0", scope: !370, file: !80, line: 39, type: !116)
!370 = !DILexicalBlockFile(scope: !371, file: !80, discriminator: 0)
!371 = distinct !DILexicalBlock(scope: !335, file: !81, line: 3, column: 17)
!372 = !DILocalVariable(name: "__arg1", scope: !370, file: !80, line: 39, type: !373)
!373 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "&std::io::error::Error", baseType: !336, size: 64, align: 64)
!374 = !DILocalVariable(name: "buffer", scope: !375, file: !80, line: 15, type: !432)
!375 = distinct !DILexicalBlock(scope: !376, file: !80, line: 15, column: 27)
!376 = distinct !DILexicalBlock(scope: !377, file: !80, line: 14, column: 35)
!377 = distinct !DILexicalBlock(scope: !378, file: !80, line: 13, column: 55)
!378 = distinct !DILexicalBlock(scope: !379, file: !80, line: 12, column: 64)
!379 = distinct !DISubprogram(name: "count_non_comment_bytes", linkageName: "_ZN10countbytes23count_non_comment_bytesE", scope: !71, file: !80, line: 12, type: !380, isLocal: true, isDefinition: true, scopeLine: 12, flags: DIFlagPrototyped, isOptimized: true, unit: !2, templateParams: !115, variables: !394)
!380 = !DISubroutineType(types: !381)
!381 = !{!382, !86}
!382 = !DICompositeType(tag: DW_TAG_union_type, name: "Result<u32, std::io::error::Error>", scope: !14, file: !6, size: 192, align: 64, elements: !383, identifier: "3edc738edd10fdc1156441a46c59b888588d969")
!383 = !{!384, !389}
!384 = !DIDerivedType(tag: DW_TAG_member, scope: !382, file: !6, baseType: !385, size: 64, align: 32)
!385 = !DICompositeType(tag: DW_TAG_structure_type, name: "Ok", scope: !14, file: !6, size: 64, align: 32, elements: !386, identifier: "3edc738edd10fdc1156441a46c59b888588d969::Ok")
!386 = !{!387, !388}
!387 = !DIDerivedType(tag: DW_TAG_member, name: "RUST$ENUM$DISR", scope: !385, file: !6, baseType: !13, size: 32, align: 32)
!388 = !DIDerivedType(tag: DW_TAG_member, name: "__0", scope: !385, file: !6, baseType: !15, size: 32, align: 32, offset: 32)
!389 = !DIDerivedType(tag: DW_TAG_member, scope: !382, file: !6, baseType: !390, size: 192, align: 64)
!390 = !DICompositeType(tag: DW_TAG_structure_type, name: "Err", scope: !14, file: !6, size: 192, align: 64, elements: !391, identifier: "3edc738edd10fdc1156441a46c59b888588d969::Err")
!391 = !{!392, !393}
!392 = !DIDerivedType(tag: DW_TAG_member, name: "RUST$ENUM$DISR", scope: !390, file: !6, baseType: !13, size: 32, align: 32)
!393 = !DIDerivedType(tag: DW_TAG_member, name: "__0", scope: !390, file: !6, baseType: !336, size: 128, align: 64, offset: 64)
!394 = !{!395, !396, !397, !421, !423, !425, !374, !426, !428, !430}
!395 = !DILocalVariable(name: "fname", arg: 1, scope: !379, file: !80, line: 1, type: !86)
!396 = !DILocalVariable(name: "fname", scope: !378, file: !80, line: 12, type: !86)
!397 = !DILocalVariable(name: "input", scope: !377, file: !80, line: 13, type: !398)
!398 = !DICompositeType(tag: DW_TAG_structure_type, name: "BufReader<std::fs::File>", scope: !399, file: !6, size: 320, align: 64, elements: !400, identifier: "2d397bdbefe2d3a48eba836f27f34d330428d")
!399 = !DINamespace(name: "buffered", scope: !21, file: !6)
!400 = !{!401, !414, !419, !420}
!401 = !DIDerivedType(tag: DW_TAG_member, name: "inner", scope: !398, file: !6, baseType: !402, size: 32, align: 32)
!402 = !DICompositeType(tag: DW_TAG_structure_type, name: "File", scope: !403, file: !6, size: 32, align: 32, elements: !404, identifier: "a5809f9ab8da25b965f67356eae05f5326f8581")
!403 = !DINamespace(name: "fs", scope: !22, file: !6)
!404 = !{!405}
!405 = !DIDerivedType(tag: DW_TAG_member, name: "inner", scope: !402, file: !6, baseType: !406, size: 32, align: 32)
!406 = !DICompositeType(tag: DW_TAG_structure_type, name: "File", scope: !407, file: !6, size: 32, align: 32, elements: !408, identifier: "ed9bb059d6f83941e593739784e397e31dcdfb")
!407 = !DINamespace(name: "fs", scope: !297, file: !6)
!408 = !{!409}
!409 = !DIDerivedType(tag: DW_TAG_member, name: "__0", scope: !406, file: !6, baseType: !410, size: 32, align: 32)
!410 = !DICompositeType(tag: DW_TAG_structure_type, name: "FileDesc", scope: !411, file: !6, size: 32, align: 32, elements: !412, identifier: "ff6e89546bed23de76429f7689bfde6f7b917f")
!411 = !DINamespace(name: "fd", scope: !297, file: !6)
!412 = !{!413}
!413 = !DIDerivedType(tag: DW_TAG_member, name: "fd", scope: !410, file: !6, baseType: !346, size: 32, align: 32)
!414 = !DIDerivedType(tag: DW_TAG_member, name: "buf", scope: !398, file: !6, baseType: !415, size: 128, align: 64, offset: 64)
!415 = !DICompositeType(tag: DW_TAG_structure_type, name: "Box<[u8]>", file: !6, size: 128, align: 64, elements: !416, identifier: "d3d3792f295a36ce69d0e0814388409dc544fd4a")
!416 = !{!417, !418}
!417 = !DIDerivedType(tag: DW_TAG_member, name: "data_ptr", scope: !415, file: !6, baseType: !89, size: 64, align: 64)
!418 = !DIDerivedType(tag: DW_TAG_member, name: "length", scope: !415, file: !6, baseType: !91, size: 64, align: 64, offset: 64)
!419 = !DIDerivedType(tag: DW_TAG_member, name: "pos", scope: !398, file: !6, baseType: !91, size: 64, align: 64, offset: 192)
!420 = !DIDerivedType(tag: DW_TAG_member, name: "cap", scope: !398, file: !6, baseType: !91, size: 64, align: 64, offset: 256)
!421 = !DILocalVariable(name: "err", scope: !422, file: !80, line: 13, type: !336)
!422 = distinct !DILexicalBlock(scope: !378, file: !80, line: 13, column: 35)
!423 = !DILocalVariable(name: "val", scope: !424, file: !80, line: 13, type: !402)
!424 = distinct !DILexicalBlock(scope: !378, file: !80, line: 13, column: 35)
!425 = !DILocalVariable(name: "state", scope: !376, file: !80, line: 14, type: !70)
!426 = !DILocalVariable(name: "non_comment_count", scope: !427, file: !80, line: 16, type: !15)
!427 = distinct !DILexicalBlock(scope: !375, file: !80, line: 16, column: 34)
!428 = !DILocalVariable(name: "err", scope: !429, file: !80, line: 17, type: !336)
!429 = distinct !DILexicalBlock(scope: !427, file: !80, line: 17, column: 10)
!430 = !DILocalVariable(name: "val", scope: !431, file: !80, line: 17, type: !91)
!431 = distinct !DILexicalBlock(scope: !427, file: !80, line: 17, column: 10)
!432 = !DICompositeType(tag: DW_TAG_array_type, baseType: !23, size: 8, align: 8, elements: !433)
!433 = !{!434}
!434 = !DISubrange(count: 1)
!435 = !DILocation(line: 15, scope: !375, inlinedAt: !436)
!436 = distinct !DILocation(line: 37, scope: !329)
!437 = !DILocation(line: 36, scope: !276)
!438 = !DILocation(line: 36, scope: !283)
!439 = !DILocation(line: 1516, scope: !440, inlinedAt: !460)
!440 = distinct !DILexicalBlock(scope: !442, file: !441, line: 1514, column: 42)
!441 = !DIFile(filename: "/home/ulrik/src/rust/src/libcore/iter/mod.rs", directory: "/home/ulrik/pt/rust")
!442 = distinct !DISubprogram(name: "next<std::env::Args>", linkageName: "_ZN4core4iter8{{impl}}20next<std::env::Args>E", scope: !443, file: !441, line: 1514, type: !444, isLocal: false, isDefinition: true, scopeLine: 1514, flags: DIFlagPrototyped, isOptimized: true, unit: !2, templateParams: !453, variables: !455)
!443 = !DINamespace(name: "{{impl}}", scope: !285, file: !6)
!444 = !DISubroutineType(types: !445)
!445 = !{!446, !452}
!446 = !DICompositeType(tag: DW_TAG_union_type, name: "Option<collections::string::String>", scope: !7, file: !6, size: 192, align: 64, elements: !447, identifier: "6de7e6fa1affb820949fddb7cadbb8db54e75259")
!447 = !{!448}
!448 = !DIDerivedType(tag: DW_TAG_member, name: "RUST$ENCODED$ENUM$0$0$0$0$0$0$None", scope: !446, file: !6, baseType: !449, size: 192, align: 64)
!449 = !DICompositeType(tag: DW_TAG_structure_type, name: "Some", scope: !7, file: !6, size: 192, align: 64, elements: !450, identifier: "6de7e6fa1affb820949fddb7cadbb8db54e75259::Some")
!450 = !{!451}
!451 = !DIDerivedType(tag: DW_TAG_member, name: "__0", scope: !449, file: !6, baseType: !117, size: 192, align: 64)
!452 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "&mut core::iter::Skip<std::env::Args>", baseType: !284, size: 64, align: 64)
!453 = !{!454}
!454 = !DITemplateTypeParameter(name: "I", type: !288)
!455 = !{!456, !457, !458}
!456 = !DILocalVariable(name: "self", arg: 1, scope: !442, file: !80, line: 1, type: !452)
!457 = !DILocalVariable(name: "self", scope: !440, file: !441, line: 1514, type: !452)
!458 = !DILocalVariable(name: "old_n", scope: !459, file: !441, line: 1518, type: !91)
!459 = distinct !DILexicalBlock(scope: !440, file: !441, line: 1518, column: 31)
!460 = distinct !DILocation(line: 36, scope: !283)
!461 = !DILocation(line: 41, scope: !283)
!462 = !DILocation(line: 54, scope: !197, inlinedAt: !463)
!463 = distinct !DILocation(line: 840, scope: !213, inlinedAt: !464)
!464 = distinct !DILocation(line: 139, scope: !228, inlinedAt: !465)
!465 = distinct !DILocation(line: 1480, scope: !238, inlinedAt: !466)
!466 = distinct !DILocation(line: 1726, scope: !255, inlinedAt: !467)
!467 = distinct !DILocation(line: 37, scope: !329)
!468 = !DILocation(line: 1482, scope: !253, inlinedAt: !466)
!469 = !DILocation(line: 13, scope: !378, inlinedAt: !436)
!470 = !DILocation(line: 200, scope: !471, inlinedAt: !493)
!471 = distinct !DILexicalBlock(scope: !473, file: !472, line: 199, column: 61)
!472 = !DIFile(filename: "/home/ulrik/src/rust/src/libstd/fs.rs", directory: "/home/ulrik/pt/rust")
!473 = distinct !DISubprogram(name: "open<&str>", linkageName: "_ZN3std2fs8{{impl}}10open<&str>E", scope: !402, file: !472, line: 199, type: !474, isLocal: false, isDefinition: true, scopeLine: 199, flags: DIFlagPrototyped, isOptimized: true, unit: !2, templateParams: !488, variables: !490)
!474 = !DISubroutineType(types: !475)
!475 = !{!476, !86}
!476 = !DICompositeType(tag: DW_TAG_union_type, name: "Result<std::fs::File, std::io::error::Error>", scope: !14, file: !6, size: 192, align: 64, elements: !477, identifier: "73ae89217c6d704c1437326b349dac5eb7a9b2e6")
!477 = !{!478, !483}
!478 = !DIDerivedType(tag: DW_TAG_member, scope: !476, file: !6, baseType: !479, size: 64, align: 32)
!479 = !DICompositeType(tag: DW_TAG_structure_type, name: "Ok", scope: !14, file: !6, size: 64, align: 32, elements: !480, identifier: "73ae89217c6d704c1437326b349dac5eb7a9b2e6::Ok")
!480 = !{!481, !482}
!481 = !DIDerivedType(tag: DW_TAG_member, name: "RUST$ENUM$DISR", scope: !479, file: !6, baseType: !13, size: 32, align: 32)
!482 = !DIDerivedType(tag: DW_TAG_member, name: "__0", scope: !479, file: !6, baseType: !402, size: 32, align: 32, offset: 32)
!483 = !DIDerivedType(tag: DW_TAG_member, scope: !476, file: !6, baseType: !484, size: 192, align: 64)
!484 = !DICompositeType(tag: DW_TAG_structure_type, name: "Err", scope: !14, file: !6, size: 192, align: 64, elements: !485, identifier: "73ae89217c6d704c1437326b349dac5eb7a9b2e6::Err")
!485 = !{!486, !487}
!486 = !DIDerivedType(tag: DW_TAG_member, name: "RUST$ENUM$DISR", scope: !484, file: !6, baseType: !13, size: 32, align: 32)
!487 = !DIDerivedType(tag: DW_TAG_member, name: "__0", scope: !484, file: !6, baseType: !336, size: 128, align: 64, offset: 64)
!488 = !{!489}
!489 = !DITemplateTypeParameter(name: "P", type: !86)
!490 = !{!491, !492}
!491 = !DILocalVariable(name: "path", arg: 1, scope: !473, file: !80, line: 1, type: !86)
!492 = !DILocalVariable(name: "path", scope: !471, file: !472, line: 199, type: !86)
!493 = distinct !DILocation(line: 13, scope: !378, inlinedAt: !436)
!494 = !DILocation(line: 2846, scope: !495, inlinedAt: !513)
!495 = distinct !DISubprogram(name: "translate<std::fs::File,std::io::error::Error,core::result::Result<std::fs::File, std::io::error::Error>>", linkageName: "_ZN4core3ops8{{impl}}105translate<std::fs::File,std::io::error::Error,core::result::Result<std::fs::File, std::io::error::Error>>E", scope: !497, file: !496, line: 2846, type: !499, isLocal: false, isDefinition: true, scopeLine: 2846, flags: DIFlagPrototyped, isOptimized: true, unit: !2, templateParams: !501, variables: !505)
!496 = !DIFile(filename: "/home/ulrik/src/rust/src/libcore/ops.rs", directory: "/home/ulrik/pt/rust")
!497 = !DINamespace(name: "{{impl}}", scope: !498, file: !6)
!498 = !DINamespace(name: "ops", scope: !8, file: !6)
!499 = !DISubroutineType(types: !500)
!500 = !{!476, !476}
!501 = !{!502, !503, !504}
!502 = !DITemplateTypeParameter(name: "U", type: !402)
!503 = !DITemplateTypeParameter(name: "V", type: !336)
!504 = !DITemplateTypeParameter(name: "T", type: !476)
!505 = !{!506, !507, !509, !511}
!506 = !DILocalVariable(name: "self", arg: 1, scope: !495, file: !80, line: 1, type: !476)
!507 = !DILocalVariable(name: "self", scope: !508, file: !496, line: 2846, type: !476)
!508 = distinct !DILexicalBlock(scope: !495, file: !496, line: 2848, column: 4)
!509 = !DILocalVariable(name: "u", scope: !510, file: !496, line: 2850, type: !402)
!510 = distinct !DILexicalBlock(scope: !508, file: !496, line: 2850, column: 21)
!511 = !DILocalVariable(name: "e", scope: !512, file: !496, line: 2851, type: !336)
!512 = distinct !DILexicalBlock(scope: !508, file: !496, line: 2851, column: 22)
!513 = distinct !DILocation(line: 13, scope: !378, inlinedAt: !436)
!514 = !DILocation(line: 39, scope: !329)
!515 = !DILocation(line: 39, scope: !334)
!516 = !DILocation(line: 205, scope: !517, inlinedAt: !530)
!517 = distinct !DILexicalBlock(scope: !519, file: !518, line: 203, column: 77)
!518 = !DIFile(filename: "/home/ulrik/src/rust/src/libcore/fmt/mod.rs", directory: "/home/ulrik/pt/rust")
!519 = distinct !DISubprogram(name: "new<collections::string::String>", linkageName: "_ZN4core3fmt8{{impl}}32new<collections::string::String>E", scope: !170, file: !518, line: 202, type: !520, isLocal: false, isDefinition: true, scopeLine: 202, flags: DIFlagPrototyped, isOptimized: true, unit: !2, templateParams: !523, variables: !525)
!520 = !DISubroutineType(types: !521)
!521 = !{!170, !116, !522}
!522 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "fn(&collections::string::String, &mut core::fmt::Formatter) -> core::result::Result<(), core::fmt::Error>", baseType: !99, size: 64, align: 64)
!523 = !{!524}
!524 = !DITemplateTypeParameter(name: "T", type: !117)
!525 = !{!526, !527, !528, !529}
!526 = !DILocalVariable(name: "x", arg: 1, scope: !519, file: !80, line: 1, type: !116)
!527 = !DILocalVariable(name: "f", arg: 2, scope: !519, file: !80, line: 1, type: !522)
!528 = !DILocalVariable(name: "x", scope: !517, file: !518, line: 202, type: !116)
!529 = !DILocalVariable(name: "f", scope: !517, file: !518, line: 203, type: !522)
!530 = distinct !DILocation(line: 39, scope: !370)
!531 = !DILocation(line: 205, scope: !532, inlinedAt: !546)
!532 = distinct !DILexicalBlock(scope: !533, file: !518, line: 203, column: 77)
!533 = distinct !DISubprogram(name: "new<std::io::error::Error>", linkageName: "_ZN4core3fmt8{{impl}}26new<std::io::error::Error>E", scope: !170, file: !518, line: 202, type: !534, isLocal: false, isDefinition: true, scopeLine: 202, flags: DIFlagPrototyped, isOptimized: true, unit: !2, templateParams: !539, variables: !541)
!534 = !DISubroutineType(types: !535)
!535 = !{!170, !373, !536}
!536 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "fn(&std::io::error::Error, &mut core::fmt::Formatter) -> core::result::Result<(), core::fmt::Error>", baseType: !537, size: 64, align: 64)
!537 = !DISubroutineType(types: !538)
!538 = !{!101, !373, !142}
!539 = !{!540}
!540 = !DITemplateTypeParameter(name: "T", type: !336)
!541 = !{!542, !543, !544, !545}
!542 = !DILocalVariable(name: "x", arg: 1, scope: !533, file: !80, line: 1, type: !373)
!543 = !DILocalVariable(name: "f", arg: 2, scope: !533, file: !80, line: 1, type: !536)
!544 = !DILocalVariable(name: "x", scope: !532, file: !518, line: 202, type: !373)
!545 = !DILocalVariable(name: "f", scope: !532, file: !518, line: 203, type: !536)
!546 = distinct !DILocation(line: 39, scope: !370)
!547 = !DILocation(line: 39, scope: !370)
!548 = !DILocation(line: 241, scope: !549, inlinedAt: !616)
!549 = distinct !DILexicalBlock(scope: !550, file: !518, line: 240, column: 63)
!550 = distinct !DISubprogram(name: "new_v1", linkageName: "_ZN4core3fmt8{{impl}}6new_v1E", scope: !551, file: !518, line: 239, type: !609, isLocal: false, isDefinition: true, scopeLine: 239, flags: DIFlagPrototyped, isOptimized: true, unit: !2, templateParams: !115, variables: !611)
!551 = !DICompositeType(tag: DW_TAG_structure_type, name: "Arguments", scope: !54, file: !6, size: 384, align: 64, elements: !552, identifier: "42ecb14b99ae646ff63f40bb3e2f05d60ae7a")
!552 = !{!553, !554, !608}
!553 = !DIDerivedType(tag: DW_TAG_member, name: "pieces", scope: !551, file: !6, baseType: !82, size: 128, align: 64)
!554 = !DIDerivedType(tag: DW_TAG_member, name: "fmt", scope: !551, file: !6, baseType: !555, size: 128, align: 64, offset: 128)
!555 = !DICompositeType(tag: DW_TAG_union_type, name: "Option<&[core::fmt::rt::v1::Argument]>", scope: !7, file: !6, size: 128, align: 64, elements: !556, identifier: "6b7becb1ce21befa2c95e75050f834aed1355525")
!556 = !{!557}
!557 = !DIDerivedType(tag: DW_TAG_member, name: "RUST$ENCODED$ENUM$0$0$None", scope: !555, file: !6, baseType: !558, size: 128, align: 64)
!558 = !DICompositeType(tag: DW_TAG_structure_type, name: "Some", scope: !7, file: !6, size: 128, align: 64, elements: !559, identifier: "6b7becb1ce21befa2c95e75050f834aed1355525::Some")
!559 = !{!560}
!560 = !DIDerivedType(tag: DW_TAG_member, name: "__0", scope: !558, file: !6, baseType: !561, size: 128, align: 64)
!561 = !DICompositeType(tag: DW_TAG_structure_type, name: "&[core::fmt::rt::v1::Argument]", file: !6, size: 128, align: 64, elements: !562, identifier: "7a547514f8c1476cf77a8d1e1e85e9278e522")
!562 = !{!563, !607}
!563 = !DIDerivedType(tag: DW_TAG_member, name: "data_ptr", scope: !561, file: !6, baseType: !564, size: 64, align: 64)
!564 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "*const core::fmt::rt::v1::Argument", baseType: !565, size: 64, align: 64)
!565 = !DICompositeType(tag: DW_TAG_structure_type, name: "Argument", scope: !52, file: !6, size: 512, align: 64, elements: !566, identifier: "40731ee2d39c90483412a69b7b38191fd2b4e2a7")
!566 = !{!567, !579}
!567 = !DIDerivedType(tag: DW_TAG_member, name: "position", scope: !565, file: !6, baseType: !568, size: 128, align: 64)
!568 = !DICompositeType(tag: DW_TAG_union_type, name: "Position", scope: !52, file: !6, size: 128, align: 64, elements: !569, identifier: "8888dc6f286718aee5fcb75f11507d4a2d288cfe")
!569 = !{!570, !574}
!570 = !DIDerivedType(tag: DW_TAG_member, scope: !568, file: !6, baseType: !571, size: 64, align: 64)
!571 = !DICompositeType(tag: DW_TAG_structure_type, name: "Next", scope: !52, file: !6, size: 64, align: 64, elements: !572, identifier: "8888dc6f286718aee5fcb75f11507d4a2d288cfe::Next")
!572 = !{!573}
!573 = !DIDerivedType(tag: DW_TAG_member, name: "RUST$ENUM$DISR", scope: !571, file: !6, baseType: !60, size: 64, align: 64)
!574 = !DIDerivedType(tag: DW_TAG_member, scope: !568, file: !6, baseType: !575, size: 128, align: 64)
!575 = !DICompositeType(tag: DW_TAG_structure_type, name: "At", scope: !52, file: !6, size: 128, align: 64, elements: !576, identifier: "8888dc6f286718aee5fcb75f11507d4a2d288cfe::At")
!576 = !{!577, !578}
!577 = !DIDerivedType(tag: DW_TAG_member, name: "RUST$ENUM$DISR", scope: !575, file: !6, baseType: !60, size: 64, align: 64)
!578 = !DIDerivedType(tag: DW_TAG_member, name: "__0", scope: !575, file: !6, baseType: !91, size: 64, align: 64, offset: 64)
!579 = !DIDerivedType(tag: DW_TAG_member, name: "format", scope: !565, file: !6, baseType: !580, size: 384, align: 64, offset: 128)
!580 = !DICompositeType(tag: DW_TAG_structure_type, name: "FormatSpec", scope: !52, file: !6, size: 384, align: 64, elements: !581, identifier: "31eb6a91693557c1970f7b9fac976417f9b59e")
!581 = !{!582, !583, !584, !585, !606}
!582 = !DIDerivedType(tag: DW_TAG_member, name: "fill", scope: !580, file: !6, baseType: !147, size: 32, align: 32)
!583 = !DIDerivedType(tag: DW_TAG_member, name: "align", scope: !580, file: !6, baseType: !51, size: 8, align: 8, offset: 32)
!584 = !DIDerivedType(tag: DW_TAG_member, name: "flags", scope: !580, file: !6, baseType: !15, size: 32, align: 32, offset: 64)
!585 = !DIDerivedType(tag: DW_TAG_member, name: "precision", scope: !580, file: !6, baseType: !586, size: 128, align: 64, offset: 128)
!586 = !DICompositeType(tag: DW_TAG_union_type, name: "Count", scope: !52, file: !6, size: 128, align: 64, elements: !587, identifier: "2f557d9c6b45bae4fb1eab1b6c63cfbcadc1a6a")
!587 = !{!588, !593, !598, !602}
!588 = !DIDerivedType(tag: DW_TAG_member, scope: !586, file: !6, baseType: !589, size: 128, align: 64)
!589 = !DICompositeType(tag: DW_TAG_structure_type, name: "Is", scope: !52, file: !6, size: 128, align: 64, elements: !590, identifier: "2f557d9c6b45bae4fb1eab1b6c63cfbcadc1a6a::Is")
!590 = !{!591, !592}
!591 = !DIDerivedType(tag: DW_TAG_member, name: "RUST$ENUM$DISR", scope: !589, file: !6, baseType: !64, size: 64, align: 64)
!592 = !DIDerivedType(tag: DW_TAG_member, name: "__0", scope: !589, file: !6, baseType: !91, size: 64, align: 64, offset: 64)
!593 = !DIDerivedType(tag: DW_TAG_member, scope: !586, file: !6, baseType: !594, size: 128, align: 64)
!594 = !DICompositeType(tag: DW_TAG_structure_type, name: "Param", scope: !52, file: !6, size: 128, align: 64, elements: !595, identifier: "2f557d9c6b45bae4fb1eab1b6c63cfbcadc1a6a::Param")
!595 = !{!596, !597}
!596 = !DIDerivedType(tag: DW_TAG_member, name: "RUST$ENUM$DISR", scope: !594, file: !6, baseType: !64, size: 64, align: 64)
!597 = !DIDerivedType(tag: DW_TAG_member, name: "__0", scope: !594, file: !6, baseType: !91, size: 64, align: 64, offset: 64)
!598 = !DIDerivedType(tag: DW_TAG_member, scope: !586, file: !6, baseType: !599, size: 64, align: 64)
!599 = !DICompositeType(tag: DW_TAG_structure_type, name: "NextParam", scope: !52, file: !6, size: 64, align: 64, elements: !600, identifier: "2f557d9c6b45bae4fb1eab1b6c63cfbcadc1a6a::NextParam")
!600 = !{!601}
!601 = !DIDerivedType(tag: DW_TAG_member, name: "RUST$ENUM$DISR", scope: !599, file: !6, baseType: !64, size: 64, align: 64)
!602 = !DIDerivedType(tag: DW_TAG_member, scope: !586, file: !6, baseType: !603, size: 64, align: 64)
!603 = !DICompositeType(tag: DW_TAG_structure_type, name: "Implied", scope: !52, file: !6, size: 64, align: 64, elements: !604, identifier: "2f557d9c6b45bae4fb1eab1b6c63cfbcadc1a6a::Implied")
!604 = !{!605}
!605 = !DIDerivedType(tag: DW_TAG_member, name: "RUST$ENUM$DISR", scope: !603, file: !6, baseType: !64, size: 64, align: 64)
!606 = !DIDerivedType(tag: DW_TAG_member, name: "width", scope: !580, file: !6, baseType: !586, size: 128, align: 64, offset: 256)
!607 = !DIDerivedType(tag: DW_TAG_member, name: "length", scope: !561, file: !6, baseType: !91, size: 64, align: 64, offset: 64)
!608 = !DIDerivedType(tag: DW_TAG_member, name: "args", scope: !551, file: !6, baseType: !183, size: 128, align: 64, offset: 256)
!609 = !DISubroutineType(types: !610)
!610 = !{!551, !82, !183}
!611 = !{!612, !613, !614, !615}
!612 = !DILocalVariable(name: "pieces", arg: 1, scope: !550, file: !80, line: 1, type: !82)
!613 = !DILocalVariable(name: "args", arg: 2, scope: !550, file: !80, line: 1, type: !183)
!614 = !DILocalVariable(name: "pieces", scope: !549, file: !518, line: 239, type: !82)
!615 = !DILocalVariable(name: "args", scope: !549, file: !518, line: 240, type: !183)
!616 = distinct !DILocation(line: 39, scope: !334)
!617 = !DILocation(line: 40, scope: !329)
!618 = !DILocation(line: 547, scope: !619, inlinedAt: !634)
!619 = distinct !DILexicalBlock(scope: !620, file: !229, line: 546, column: 44)
!620 = distinct !DILexicalBlock(scope: !621, file: !229, line: 545, column: 23)
!621 = distinct !DISubprogram(name: "drop<u8>", linkageName: "_ZN5alloc7raw_vec8{{impl}}8drop<u8>E", scope: !622, file: !229, line: 545, type: !623, isLocal: false, isDefinition: true, scopeLine: 545, flags: DIFlagPrototyped, isOptimized: true, unit: !2, templateParams: !222, variables: !626)
!622 = !DINamespace(name: "{{impl}}", scope: !125, file: !6)
!623 = !DISubroutineType(types: !624)
!624 = !{null, !625}
!625 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "&mut alloc::raw_vec::RawVec<u8>", baseType: !124, size: 64, align: 64)
!626 = !{!627, !628, !629, !630, !632}
!627 = !DILocalVariable(name: "self", arg: 1, scope: !621, file: !80, line: 1, type: !625)
!628 = !DILocalVariable(name: "self", scope: !620, file: !229, line: 545, type: !625)
!629 = !DILocalVariable(name: "elem_size", scope: !619, file: !229, line: 546, type: !91)
!630 = !DILocalVariable(name: "align", scope: !631, file: !229, line: 548, type: !91)
!631 = distinct !DILexicalBlock(scope: !619, file: !229, line: 548, column: 45)
!632 = !DILocalVariable(name: "num_bytes", scope: !633, file: !229, line: 550, type: !91)
!633 = distinct !DILexicalBlock(scope: !631, file: !229, line: 550, column: 49)
!634 = distinct !DILocation(line: 41, scope: !283)
!635 = !DILocation(line: 97, scope: !636, inlinedAt: !648)
!636 = distinct !DILexicalBlock(scope: !638, file: !637, line: 95, column: 63)
!637 = !DIFile(filename: "/home/ulrik/src/rust/src/libstd/io/buffered.rs", directory: "/home/ulrik/pt/rust")
!638 = distinct !DISubprogram(name: "with_capacity<std::fs::File>", linkageName: "_ZN3std2io8buffered8{{impl}}28with_capacity<std::fs::File>E", scope: !398, file: !637, line: 95, type: !639, isLocal: false, isDefinition: true, scopeLine: 95, flags: DIFlagPrototyped, isOptimized: true, unit: !2, templateParams: !641, variables: !643)
!639 = !DISubroutineType(types: !640)
!640 = !{!398, !91, !402}
!641 = !{!642}
!642 = !DITemplateTypeParameter(name: "R", type: !402)
!643 = !{!644, !645, !646, !647}
!644 = !DILocalVariable(name: "cap", arg: 1, scope: !638, file: !80, line: 1, type: !91)
!645 = !DILocalVariable(name: "inner", arg: 2, scope: !638, file: !80, line: 1, type: !402)
!646 = !DILocalVariable(name: "cap", scope: !636, file: !637, line: 95, type: !91)
!647 = !DILocalVariable(name: "inner", scope: !636, file: !637, line: 95, type: !402)
!648 = distinct !DILocation(line: 75, scope: !649, inlinedAt: !656)
!649 = distinct !DILexicalBlock(scope: !650, file: !637, line: 74, column: 41)
!650 = distinct !DISubprogram(name: "new<std::fs::File>", linkageName: "_ZN3std2io8buffered8{{impl}}18new<std::fs::File>E", scope: !398, file: !637, line: 74, type: !651, isLocal: false, isDefinition: true, scopeLine: 74, flags: DIFlagPrototyped, isOptimized: true, unit: !2, templateParams: !641, variables: !653)
!651 = !DISubroutineType(types: !652)
!652 = !{!398, !402}
!653 = !{!654, !655}
!654 = !DILocalVariable(name: "inner", arg: 1, scope: !650, file: !80, line: 1, type: !402)
!655 = !DILocalVariable(name: "inner", scope: !649, file: !637, line: 74, type: !402)
!656 = distinct !DILocation(line: 13, scope: !378, inlinedAt: !436)
!657 = !DILocation(line: 96, scope: !636, inlinedAt: !648)
!658 = !DILocation(line: 102, scope: !636, inlinedAt: !648)
!659 = !DILocation(line: 15, scope: !376, inlinedAt: !436)
!660 = !DILocation(line: 17, scope: !427, inlinedAt: !436)
!661 = !DILocation(line: 174, scope: !662, inlinedAt: !701)
!662 = distinct !DILexicalBlock(scope: !663, file: !637, line: 170, column: 60)
!663 = distinct !DISubprogram(name: "read<std::fs::File>", linkageName: "_ZN3std2io8buffered8{{impl}}19read<std::fs::File>E", scope: !664, file: !637, line: 170, type: !665, isLocal: false, isDefinition: true, scopeLine: 170, flags: DIFlagPrototyped, isOptimized: true, unit: !2, templateParams: !641, variables: !684)
!664 = !DINamespace(name: "{{impl}}", scope: !399, file: !6)
!665 = !DISubroutineType(types: !666)
!666 = !{!667, !679, !680}
!667 = !DICompositeType(tag: DW_TAG_union_type, name: "Result<usize, std::io::error::Error>", scope: !14, file: !6, size: 192, align: 64, elements: !668, identifier: "808c856cc4bdb147ecd8225db36e0955eb718")
!668 = !{!669, !674}
!669 = !DIDerivedType(tag: DW_TAG_member, scope: !667, file: !6, baseType: !670, size: 128, align: 64)
!670 = !DICompositeType(tag: DW_TAG_structure_type, name: "Ok", scope: !14, file: !6, size: 128, align: 64, elements: !671, identifier: "808c856cc4bdb147ecd8225db36e0955eb718::Ok")
!671 = !{!672, !673}
!672 = !DIDerivedType(tag: DW_TAG_member, name: "RUST$ENUM$DISR", scope: !670, file: !6, baseType: !49, size: 64, align: 64)
!673 = !DIDerivedType(tag: DW_TAG_member, name: "__0", scope: !670, file: !6, baseType: !91, size: 64, align: 64, offset: 64)
!674 = !DIDerivedType(tag: DW_TAG_member, scope: !667, file: !6, baseType: !675, size: 192, align: 64)
!675 = !DICompositeType(tag: DW_TAG_structure_type, name: "Err", scope: !14, file: !6, size: 192, align: 64, elements: !676, identifier: "808c856cc4bdb147ecd8225db36e0955eb718::Err")
!676 = !{!677, !678}
!677 = !DIDerivedType(tag: DW_TAG_member, name: "RUST$ENUM$DISR", scope: !675, file: !6, baseType: !49, size: 64, align: 64)
!678 = !DIDerivedType(tag: DW_TAG_member, name: "__0", scope: !675, file: !6, baseType: !336, size: 128, align: 64, offset: 64)
!679 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "&mut std::io::buffered::BufReader<std::fs::File>", baseType: !398, size: 64, align: 64)
!680 = !DICompositeType(tag: DW_TAG_structure_type, name: "&mut [u8]", file: !6, size: 128, align: 64, elements: !681, identifier: "99d430993812f1a5a0455b5b7686d757a3ef4c74")
!681 = !{!682, !683}
!682 = !DIDerivedType(tag: DW_TAG_member, name: "data_ptr", scope: !680, file: !6, baseType: !89, size: 64, align: 64)
!683 = !DIDerivedType(tag: DW_TAG_member, name: "length", scope: !680, file: !6, baseType: !91, size: 64, align: 64, offset: 64)
!684 = !{!685, !686, !687, !688, !689, !691, !693, !695, !697, !699}
!685 = !DILocalVariable(name: "self", arg: 1, scope: !663, file: !80, line: 1, type: !679)
!686 = !DILocalVariable(name: "buf", arg: 2, scope: !663, file: !80, line: 1, type: !680)
!687 = !DILocalVariable(name: "self", scope: !662, file: !637, line: 170, type: !679)
!688 = !DILocalVariable(name: "buf", scope: !662, file: !637, line: 170, type: !680)
!689 = !DILocalVariable(name: "nread", scope: !690, file: !637, line: 177, type: !91)
!690 = distinct !DILexicalBlock(scope: !662, file: !637, line: 180, column: 10)
!691 = !DILocalVariable(name: "rem", scope: !692, file: !637, line: 178, type: !244)
!692 = distinct !DILexicalBlock(scope: !662, file: !637, line: 178, column: 43)
!693 = !DILocalVariable(name: "err", scope: !694, file: !637, line: 178, type: !336)
!694 = distinct !DILexicalBlock(scope: !662, file: !637, line: 178, column: 26)
!695 = !DILocalVariable(name: "val", scope: !696, file: !637, line: 178, type: !244)
!696 = distinct !DILexicalBlock(scope: !662, file: !637, line: 178, column: 26)
!697 = !DILocalVariable(name: "err", scope: !698, file: !637, line: 179, type: !336)
!698 = distinct !DILexicalBlock(scope: !692, file: !637, line: 179, column: 12)
!699 = !DILocalVariable(name: "val", scope: !700, file: !637, line: 179, type: !91)
!700 = distinct !DILexicalBlock(scope: !692, file: !637, line: 179, column: 12)
!701 = distinct !DILocation(line: 17, scope: !427, inlinedAt: !436)
!702 = !DILocation(line: 192, scope: !703, inlinedAt: !728)
!703 = distinct !DILexicalBlock(scope: !704, file: !637, line: 188, column: 48)
!704 = distinct !DISubprogram(name: "fill_buf<std::fs::File>", linkageName: "_ZN3std2io8buffered8{{impl}}23fill_buf<std::fs::File>E", scope: !664, file: !637, line: 188, type: !705, isLocal: false, isDefinition: true, scopeLine: 188, flags: DIFlagPrototyped, isOptimized: true, unit: !2, templateParams: !641, variables: !719)
!705 = !DISubroutineType(types: !706)
!706 = !{!707, !679}
!707 = !DICompositeType(tag: DW_TAG_union_type, name: "Result<&[u8], std::io::error::Error>", scope: !14, file: !6, size: 192, align: 64, elements: !708, identifier: "1225446c2fd5ff406cc88f3db2f277dba78f9b6e")
!708 = !{!709, !714}
!709 = !DIDerivedType(tag: DW_TAG_member, scope: !707, file: !6, baseType: !710, size: 192, align: 64)
!710 = !DICompositeType(tag: DW_TAG_structure_type, name: "Ok", scope: !14, file: !6, size: 192, align: 64, elements: !711, identifier: "1225446c2fd5ff406cc88f3db2f277dba78f9b6e::Ok")
!711 = !{!712, !713}
!712 = !DIDerivedType(tag: DW_TAG_member, name: "RUST$ENUM$DISR", scope: !710, file: !6, baseType: !49, size: 64, align: 64)
!713 = !DIDerivedType(tag: DW_TAG_member, name: "__0", scope: !710, file: !6, baseType: !244, size: 128, align: 64, offset: 64)
!714 = !DIDerivedType(tag: DW_TAG_member, scope: !707, file: !6, baseType: !715, size: 192, align: 64)
!715 = !DICompositeType(tag: DW_TAG_structure_type, name: "Err", scope: !14, file: !6, size: 192, align: 64, elements: !716, identifier: "1225446c2fd5ff406cc88f3db2f277dba78f9b6e::Err")
!716 = !{!717, !718}
!717 = !DIDerivedType(tag: DW_TAG_member, name: "RUST$ENUM$DISR", scope: !715, file: !6, baseType: !49, size: 64, align: 64)
!718 = !DIDerivedType(tag: DW_TAG_member, name: "__0", scope: !715, file: !6, baseType: !336, size: 128, align: 64, offset: 64)
!719 = !{!720, !721, !722, !724, !726}
!720 = !DILocalVariable(name: "self", arg: 1, scope: !704, file: !80, line: 1, type: !679)
!721 = !DILocalVariable(name: "self", scope: !703, file: !637, line: 188, type: !679)
!722 = !DILocalVariable(name: "err", scope: !723, file: !637, line: 192, type: !336)
!723 = distinct !DILexicalBlock(scope: !703, file: !637, line: 192, column: 23)
!724 = !DILocalVariable(name: "val", scope: !725, file: !637, line: 192, type: !91)
!725 = distinct !DILexicalBlock(scope: !703, file: !637, line: 192, column: 23)
!726 = !DILocalVariable(name: "ptr", scope: !727, file: !637, line: 196, type: !89)
!727 = distinct !DILexicalBlock(scope: !703, file: !637, line: 196, column: 40)
!728 = distinct !DILocation(line: 178, scope: !662, inlinedAt: !701)
!729 = !DILocation(line: 2843, scope: !730, inlinedAt: !739)
!730 = distinct !DILexicalBlock(scope: !731, file: !496, line: 2842, column: 40)
!731 = distinct !DISubprogram(name: "from_error<usize,std::io::error::Error>", linkageName: "_ZN4core3ops8{{impl}}39from_error<usize,std::io::error::Error>E", scope: !497, file: !496, line: 2842, type: !732, isLocal: false, isDefinition: true, scopeLine: 2842, flags: DIFlagPrototyped, isOptimized: true, unit: !2, templateParams: !734, variables: !736)
!732 = !DISubroutineType(types: !733)
!733 = !{!667, !336}
!734 = !{!735, !503}
!735 = !DITemplateTypeParameter(name: "U", type: !91)
!736 = !{!737, !738}
!737 = !DILocalVariable(name: "e", arg: 1, scope: !731, file: !80, line: 1, type: !336)
!738 = !DILocalVariable(name: "e", scope: !730, file: !496, line: 2842, type: !336)
!739 = distinct !DILocation(line: 178, scope: !694, inlinedAt: !701)
!740 = !DILocation(line: 33, scope: !378, inlinedAt: !436)
!741 = !DILocation(line: 38, scope: !331)
!742 = !DILocation(line: 205, scope: !743, inlinedAt: !757)
!743 = distinct !DILexicalBlock(scope: !744, file: !518, line: 203, column: 77)
!744 = distinct !DISubprogram(name: "new<u32>", linkageName: "_ZN4core3fmt8{{impl}}8new<u32>E", scope: !170, file: !518, line: 202, type: !745, isLocal: false, isDefinition: true, scopeLine: 202, flags: DIFlagPrototyped, isOptimized: true, unit: !2, templateParams: !750, variables: !752)
!745 = !DISubroutineType(types: !746)
!746 = !{!170, !368, !747}
!747 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "fn(&u32, &mut core::fmt::Formatter) -> core::result::Result<(), core::fmt::Error>", baseType: !748, size: 64, align: 64)
!748 = !DISubroutineType(types: !749)
!749 = !{!101, !368, !142}
!750 = !{!751}
!751 = !DITemplateTypeParameter(name: "T", type: !15)
!752 = !{!753, !754, !755, !756}
!753 = !DILocalVariable(name: "x", arg: 1, scope: !744, file: !80, line: 1, type: !368)
!754 = !DILocalVariable(name: "f", arg: 2, scope: !744, file: !80, line: 1, type: !747)
!755 = !DILocalVariable(name: "x", scope: !743, file: !518, line: 202, type: !368)
!756 = !DILocalVariable(name: "f", scope: !743, file: !518, line: 203, type: !747)
!757 = distinct !DILocation(line: 38, scope: !365)
!758 = !DILocation(line: 38, scope: !365)
!759 = !DILocation(line: 241, scope: !549, inlinedAt: !760)
!760 = distinct !DILocation(line: 38, scope: !331)
!761 = !DILocation(line: 237, scope: !762, inlinedAt: !783)
!762 = distinct !DILexicalBlock(scope: !764, file: !763, line: 237, column: 8)
!763 = !DIFile(filename: "/home/ulrik/src/rust/src/libcore/iter/iterator.rs", directory: "/home/ulrik/pt/rust")
!764 = distinct !DILexicalBlock(scope: !765, file: !763, line: 236, column: 76)
!765 = distinct !DISubprogram(name: "nth<std::env::Args>", linkageName: "_ZN4core4iter8iterator8Iterator19nth<std::env::Args>E", scope: !766, file: !763, line: 236, type: !768, isLocal: false, isDefinition: true, scopeLine: 236, flags: DIFlagPrototyped, isOptimized: true, unit: !2, templateParams: !771, variables: !773)
!766 = !DINamespace(name: "Iterator", scope: !767, file: !6)
!767 = !DINamespace(name: "iterator", scope: !285, file: !6)
!768 = !DISubroutineType(types: !769)
!769 = !{!446, !770, !91}
!770 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "&mut std::env::Args", baseType: !288, size: 64, align: 64)
!771 = !{!772}
!772 = !DITemplateTypeParameter(name: "Self", type: !288)
!773 = !{!774, !775, !776, !777, !778, !780, !781}
!774 = !DILocalVariable(name: "self", arg: 1, scope: !765, file: !80, line: 1, type: !770)
!775 = !DILocalVariable(name: "n", arg: 2, scope: !765, file: !80, line: 1, type: !91)
!776 = !DILocalVariable(name: "self", scope: !764, file: !763, line: 236, type: !770)
!777 = !DILocalVariable(name: "n", scope: !764, file: !763, line: 236, type: !91)
!778 = !DILocalVariable(name: "_result", scope: !779, file: !763, line: 237, type: !108)
!779 = distinct !DILexicalBlock(scope: !764, file: !763, line: 240, column: 9)
!780 = !DILocalVariable(name: "iter", scope: !762, file: !763, line: 237, type: !770)
!781 = !DILocalVariable(name: "x", scope: !782, file: !763, line: 237, type: !117)
!782 = distinct !DILexicalBlock(scope: !762, file: !763, line: 237, column: 22)
!783 = distinct !DILocation(line: 1520, scope: !459, inlinedAt: !460)
!784 = !DILocation(line: 238, scope: !782, inlinedAt: !783)
!785 = !DILocation(line: 35, scope: !276)
!786 = !DILocation(line: 1515, scope: !440, inlinedAt: !460)
!787 = !DILocation(line: 1, scope: !442, inlinedAt: !460)
!788 = !DILocation(line: 1514, scope: !440, inlinedAt: !460)
!789 = !DILocation(line: 1518, scope: !459, inlinedAt: !460)
!790 = !DILocation(line: 1519, scope: !459, inlinedAt: !460)
!791 = !{!792}
!792 = distinct !{!792, !793, !"_ZN76_$LT$core..iter..Skip$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h2ecd72870d8f1bfeE: argument 0"}
!793 = distinct !{!793, !"_ZN76_$LT$core..iter..Skip$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h2ecd72870d8f1bfeE"}
!794 = !DILocation(line: 1, scope: !765, inlinedAt: !783)
!795 = !DILocation(line: 236, scope: !764, inlinedAt: !783)
!796 = !{!797, !792}
!797 = distinct !{!797, !798, !"_ZN4core4iter8iterator8Iterator3nth17h21fd69f2f9b7943bE: argument 0"}
!798 = distinct !{!798, !"_ZN4core4iter8iterator8Iterator3nth17h21fd69f2f9b7943bE"}
!799 = !DILocation(line: 2142, scope: !800, inlinedAt: !809)
!800 = distinct !DILexicalBlock(scope: !801, file: !763, line: 2142, column: 42)
!801 = distinct !DISubprogram(name: "next<std::env::Args>", linkageName: "_ZN4core4iter8iterator8{{impl}}20next<std::env::Args>E", scope: !802, file: !763, line: 2142, type: !803, isLocal: false, isDefinition: true, scopeLine: 2142, flags: DIFlagPrototyped, isOptimized: true, unit: !2, templateParams: !453, variables: !806)
!802 = !DINamespace(name: "{{impl}}", scope: !767, file: !6)
!803 = !DISubroutineType(types: !804)
!804 = !{!446, !805}
!805 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "&mut &mut std::env::Args", baseType: !770, size: 64, align: 64)
!806 = !{!807, !808}
!807 = !DILocalVariable(name: "self", arg: 1, scope: !801, file: !80, line: 1, type: !805)
!808 = !DILocalVariable(name: "self", scope: !800, file: !763, line: 2142, type: !805)
!809 = distinct !DILocation(line: 237, scope: !762, inlinedAt: !783)
!810 = !DILocation(line: 1520, scope: !459, inlinedAt: !460)
!811 = !DILocation(line: 240, scope: !762, inlinedAt: !783)
!812 = !DILocation(line: 239, scope: !782, inlinedAt: !783)
!813 = !DILocation(line: 546, scope: !619, inlinedAt: !814)
!814 = distinct !DILocation(line: 240, scope: !762, inlinedAt: !783)
!815 = !DILocation(line: 547, scope: !619, inlinedAt: !814)
!816 = !DILocation(line: 548, scope: !631, inlinedAt: !814)
!817 = !DILocation(line: 550, scope: !633, inlinedAt: !814)
!818 = !DILocalVariable(name: "ptr", arg: 1, scope: !819, file: !80, line: 1, type: !220)
!819 = distinct !DISubprogram(name: "deallocate", linkageName: "_ZN5alloc4heap10deallocateE", scope: !821, file: !820, line: 112, type: !822, isLocal: false, isDefinition: true, scopeLine: 112, flags: DIFlagPrototyped, isOptimized: true, unit: !2, templateParams: !115, variables: !824)
!820 = !DIFile(filename: "/home/ulrik/src/rust/src/liballoc/heap.rs", directory: "/home/ulrik/pt/rust")
!821 = !DINamespace(name: "heap", scope: !126, file: !6)
!822 = !DISubroutineType(types: !823)
!823 = !{null, !220, !91, !91}
!824 = !{!818, !825, !826, !827, !829, !830}
!825 = !DILocalVariable(name: "old_size", arg: 2, scope: !819, file: !80, line: 1, type: !91)
!826 = !DILocalVariable(name: "align", arg: 3, scope: !819, file: !80, line: 1, type: !91)
!827 = !DILocalVariable(name: "ptr", scope: !828, file: !820, line: 112, type: !220)
!828 = distinct !DILexicalBlock(scope: !819, file: !820, line: 112, column: 70)
!829 = !DILocalVariable(name: "old_size", scope: !828, file: !820, line: 112, type: !91)
!830 = !DILocalVariable(name: "align", scope: !828, file: !820, line: 112, type: !91)
!831 = !DILocation(line: 1, scope: !819, inlinedAt: !832)
!832 = distinct !DILocation(line: 552, scope: !633, inlinedAt: !814)
!833 = !DILocation(line: 112, scope: !828, inlinedAt: !832)
!834 = !DILocation(line: 113, scope: !828, inlinedAt: !832)
!835 = !DILocation(line: 241, scope: !764, inlinedAt: !783)
!836 = !DIExpression(DW_OP_deref)
!837 = !DILocation(line: 1904, scope: !838, inlinedAt: !856)
!838 = distinct !DILexicalBlock(scope: !839, file: !239, line: 1902, column: 36)
!839 = distinct !DISubprogram(name: "next<std::ffi::os_str::OsString>", linkageName: "_ZN11collections3vec8{{impl}}32next<std::ffi::os_str::OsString>E", scope: !241, file: !239, line: 1902, type: !840, isLocal: false, isDefinition: true, scopeLine: 1902, flags: DIFlagPrototyped, isOptimized: true, unit: !2, templateParams: !849, variables: !851)
!840 = !DISubroutineType(types: !841)
!841 = !{!842, !848}
!842 = !DICompositeType(tag: DW_TAG_union_type, name: "Option<std::ffi::os_str::OsString>", scope: !7, file: !6, size: 192, align: 64, elements: !843, identifier: "203e39d977eb25b25676420e29959fb50efc79c")
!843 = !{!844}
!844 = !DIDerivedType(tag: DW_TAG_member, name: "RUST$ENCODED$ENUM$0$0$0$0$0$0$0$None", scope: !842, file: !6, baseType: !845, size: 192, align: 64)
!845 = !DICompositeType(tag: DW_TAG_structure_type, name: "Some", scope: !7, file: !6, size: 192, align: 64, elements: !846, identifier: "203e39d977eb25b25676420e29959fb50efc79c::Some")
!846 = !{!847}
!847 = !DIDerivedType(tag: DW_TAG_member, name: "__0", scope: !845, file: !6, baseType: !311, size: 192, align: 64)
!848 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "&mut collections::vec::IntoIter<std::ffi::os_str::OsString>", baseType: !301, size: 64, align: 64)
!849 = !{!850}
!850 = !DITemplateTypeParameter(name: "T", type: !311)
!851 = !{!852, !853, !854}
!852 = !DILocalVariable(name: "self", arg: 1, scope: !839, file: !80, line: 1, type: !848)
!853 = !DILocalVariable(name: "self", scope: !838, file: !239, line: 1902, type: !848)
!854 = !DILocalVariable(name: "old", scope: !855, file: !239, line: 1916, type: !310)
!855 = distinct !DILexicalBlock(scope: !838, file: !239, line: 1916, column: 39)
!856 = distinct !DILocation(line: 2142, scope: !857, inlinedAt: !867)
!857 = distinct !DILexicalBlock(scope: !858, file: !763, line: 2142, column: 42)
!858 = distinct !DISubprogram(name: "next<collections::vec::IntoIter<std::ffi::os_str::OsString>>", linkageName: "_ZN4core4iter8iterator8{{impl}}60next<collections::vec::IntoIter<std::ffi::os_str::OsString>>E", scope: !802, file: !763, line: 2142, type: !859, isLocal: false, isDefinition: true, scopeLine: 2142, flags: DIFlagPrototyped, isOptimized: true, unit: !2, templateParams: !862, variables: !864)
!859 = !DISubroutineType(types: !860)
!860 = !{!842, !861}
!861 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "&mut &mut collections::vec::IntoIter<std::ffi::os_str::OsString>", baseType: !848, size: 64, align: 64)
!862 = !{!863}
!863 = !DITemplateTypeParameter(name: "I", type: !301)
!864 = !{!865, !866}
!865 = !DILocalVariable(name: "self", arg: 1, scope: !858, file: !80, line: 1, type: !861)
!866 = !DILocalVariable(name: "self", scope: !857, file: !763, line: 2142, type: !861)
!867 = distinct !DILocation(line: 1989, scope: !868, inlinedAt: !881)
!868 = distinct !DILexicalBlock(scope: !869, file: !239, line: 1989, column: 8)
!869 = distinct !DILexicalBlock(scope: !870, file: !239, line: 1987, column: 23)
!870 = distinct !DISubprogram(name: "drop<std::ffi::os_str::OsString>", linkageName: "_ZN11collections3vec8{{impl}}32drop<std::ffi::os_str::OsString>E", scope: !241, file: !239, line: 1987, type: !871, isLocal: false, isDefinition: true, scopeLine: 1987, flags: DIFlagPrototyped, isOptimized: true, unit: !2, templateParams: !849, variables: !873)
!871 = !DISubroutineType(types: !872)
!872 = !{null, !848}
!873 = !{!874, !875, !876, !878, !879}
!874 = !DILocalVariable(name: "self", arg: 1, scope: !870, file: !80, line: 1, type: !848)
!875 = !DILocalVariable(name: "self", scope: !869, file: !239, line: 1987, type: !848)
!876 = !DILocalVariable(name: "_result", scope: !877, file: !239, line: 1989, type: !108)
!877 = distinct !DILexicalBlock(scope: !869, file: !239, line: 1989, column: 34)
!878 = !DILocalVariable(name: "iter", scope: !868, file: !239, line: 1989, type: !848)
!879 = !DILocalVariable(name: "_x", scope: !880, file: !239, line: 1989, type: !311)
!880 = distinct !DILexicalBlock(scope: !868, file: !239, line: 1989, column: 32)
!881 = distinct !DILocation(line: 41, scope: !276)
!882 = !{!883, !885}
!883 = distinct !{!883, !884, !"_ZN86_$LT$collections..vec..IntoIter$LT$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hd2eb59440919d264E: argument 0"}
!884 = distinct !{!884, !"_ZN86_$LT$collections..vec..IntoIter$LT$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hd2eb59440919d264E"}
!885 = distinct !{!885, !886, !"_ZN75_$LT$$RF$$u27$a$u20$mut$u20$I$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hca3cd9d7681f1316E: argument 0"}
!886 = distinct !{!886, !"_ZN75_$LT$$RF$$u27$a$u20$mut$u20$I$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hca3cd9d7681f1316E"}
!887 = !DILocation(line: 1916, scope: !855, inlinedAt: !856)
!888 = !DILocation(line: 41, scope: !276)
!889 = !DILocation(line: 1917, scope: !855, inlinedAt: !856)
!890 = !DILocalVariable(name: "src", arg: 1, scope: !891, file: !80, line: 1, type: !310)
!891 = distinct !DISubprogram(name: "read<std::ffi::os_str::OsString>", linkageName: "_ZN4core3ptr32read<std::ffi::os_str::OsString>E", scope: !130, file: !214, line: 134, type: !892, isLocal: false, isDefinition: true, scopeLine: 134, flags: DIFlagPrototyped, isOptimized: true, unit: !2, templateParams: !849, variables: !894)
!892 = !DISubroutineType(types: !893)
!893 = !{!311, !310}
!894 = !{!890, !895, !897}
!895 = !DILocalVariable(name: "src", scope: !896, file: !214, line: 134, type: !310)
!896 = distinct !DILexicalBlock(scope: !891, file: !214, line: 134, column: 42)
!897 = !DILocalVariable(name: "tmp", scope: !898, file: !214, line: 135, type: !311)
!898 = distinct !DILexicalBlock(scope: !896, file: !214, line: 135, column: 42)
!899 = !DILocation(line: 1, scope: !891, inlinedAt: !900)
!900 = distinct !DILocation(line: 1919, scope: !855, inlinedAt: !856)
!901 = !DILocation(line: 134, scope: !896, inlinedAt: !900)
!902 = !DILocation(line: 137, scope: !898, inlinedAt: !900)
!903 = !DILocation(line: 1989, scope: !868, inlinedAt: !881)
!904 = !DILocation(line: 546, scope: !619, inlinedAt: !905)
!905 = distinct !DILocation(line: 1989, scope: !868, inlinedAt: !881)
!906 = !DILocation(line: 547, scope: !619, inlinedAt: !905)
!907 = !DILocation(line: 548, scope: !631, inlinedAt: !905)
!908 = !DILocation(line: 550, scope: !633, inlinedAt: !905)
!909 = !DILocation(line: 1, scope: !819, inlinedAt: !910)
!910 = distinct !DILocation(line: 552, scope: !633, inlinedAt: !905)
!911 = !DILocation(line: 112, scope: !828, inlinedAt: !910)
!912 = !DILocation(line: 113, scope: !828, inlinedAt: !910)
!913 = !DILocation(line: 1992, scope: !869, inlinedAt: !881)
!914 = !DILocalVariable(name: "self", arg: 1, scope: !915, file: !80, line: 1, type: !918)
!915 = distinct !DISubprogram(name: "drop<std::ffi::os_str::OsString>", linkageName: "_ZN5alloc7raw_vec8{{impl}}32drop<std::ffi::os_str::OsString>E", scope: !622, file: !229, line: 545, type: !916, isLocal: false, isDefinition: true, scopeLine: 545, flags: DIFlagPrototyped, isOptimized: true, unit: !2, templateParams: !849, variables: !927)
!916 = !DISubroutineType(types: !917)
!917 = !{null, !918}
!918 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "&mut alloc::raw_vec::RawVec<std::ffi::os_str::OsString>", baseType: !919, size: 64, align: 64)
!919 = !DICompositeType(tag: DW_TAG_structure_type, name: "RawVec<std::ffi::os_str::OsString>", scope: !125, file: !6, size: 128, align: 64, elements: !920, identifier: "9d39e34ab3f30d188339e3197bbaa20e9b9ee")
!920 = !{!921, !926}
!921 = !DIDerivedType(tag: DW_TAG_member, name: "ptr", scope: !919, file: !6, baseType: !922, size: 64, align: 64)
!922 = !DICompositeType(tag: DW_TAG_structure_type, name: "Unique<std::ffi::os_str::OsString>", scope: !130, file: !6, size: 64, align: 64, elements: !923, identifier: "e85c98b5b7e0fe1396ae46fa8be6d35c72b6f94")
!923 = !{!924, !925}
!924 = !DIDerivedType(tag: DW_TAG_member, name: "pointer", scope: !922, file: !6, baseType: !307, size: 64, align: 64)
!925 = !DIDerivedType(tag: DW_TAG_member, name: "_marker", scope: !922, file: !6, baseType: !321, align: 8, offset: 64)
!926 = !DIDerivedType(tag: DW_TAG_member, name: "cap", scope: !919, file: !6, baseType: !91, size: 64, align: 64, offset: 64)
!927 = !{!914, !928, !930, !932, !934}
!928 = !DILocalVariable(name: "self", scope: !929, file: !229, line: 545, type: !918)
!929 = distinct !DILexicalBlock(scope: !915, file: !229, line: 545, column: 23)
!930 = !DILocalVariable(name: "elem_size", scope: !931, file: !229, line: 546, type: !91)
!931 = distinct !DILexicalBlock(scope: !929, file: !229, line: 546, column: 44)
!932 = !DILocalVariable(name: "align", scope: !933, file: !229, line: 548, type: !91)
!933 = distinct !DILexicalBlock(scope: !931, file: !229, line: 548, column: 45)
!934 = !DILocalVariable(name: "num_bytes", scope: !935, file: !229, line: 550, type: !91)
!935 = distinct !DILexicalBlock(scope: !933, file: !229, line: 550, column: 49)
!936 = !DILocation(line: 1, scope: !915, inlinedAt: !937)
!937 = distinct !DILocation(line: 1992, scope: !869, inlinedAt: !881)
!938 = !DILocation(line: 545, scope: !929, inlinedAt: !937)
!939 = !DILocation(line: 546, scope: !931, inlinedAt: !937)
!940 = !DILocation(line: 547, scope: !931, inlinedAt: !937)
!941 = !DILocation(line: 548, scope: !933, inlinedAt: !937)
!942 = !DILocation(line: 550, scope: !933, inlinedAt: !937)
!943 = !DILocation(line: 550, scope: !935, inlinedAt: !937)
!944 = !DILocation(line: 1, scope: !819, inlinedAt: !945)
!945 = distinct !DILocation(line: 552, scope: !935, inlinedAt: !937)
!946 = !DILocation(line: 112, scope: !828, inlinedAt: !945)
!947 = !DILocation(line: 113, scope: !828, inlinedAt: !945)
!948 = !DILocation(line: 36, scope: !329)
!949 = !DILocation(line: 546, scope: !619, inlinedAt: !950)
!950 = distinct !DILocation(line: 41, scope: !283)
!951 = !DILocation(line: 547, scope: !619, inlinedAt: !950)
!952 = !DILocation(line: 548, scope: !631, inlinedAt: !950)
!953 = !DILocation(line: 550, scope: !633, inlinedAt: !950)
!954 = !DILocation(line: 552, scope: !633, inlinedAt: !950)
!955 = !DILocation(line: 1, scope: !819, inlinedAt: !956)
!956 = distinct !DILocation(line: 552, scope: !633, inlinedAt: !950)
!957 = !DILocation(line: 112, scope: !828, inlinedAt: !956)
!958 = !DILocation(line: 113, scope: !828, inlinedAt: !956)
!959 = !DILocation(line: 139, scope: !228, inlinedAt: !465)
!960 = !{!961, !963, !965}
!961 = distinct !{!961, !962, !"_ZN40_$LT$alloc..raw_vec..RawVec$LT$T$GT$$GT$3ptr17h5ce1a90cfdc2346dE: argument 0"}
!962 = distinct !{!962, !"_ZN40_$LT$alloc..raw_vec..RawVec$LT$T$GT$$GT$3ptr17h5ce1a90cfdc2346dE"}
!963 = distinct !{!963, !964, !"_ZN67_$LT$collections..vec..Vec$LT$T$GT$$u20$as$u20$core..ops..Deref$GT$5deref17h174ef3d4688329b3E: argument 0"}
!964 = distinct !{!964, !"_ZN67_$LT$collections..vec..Vec$LT$T$GT$$u20$as$u20$core..ops..Deref$GT$5deref17h174ef3d4688329b3E"}
!965 = distinct !{!965, !966, !"_ZN64_$LT$collections..string..String$u20$as$u20$core..ops..Deref$GT$5deref17hf5737d653da2a953E: argument 0"}
!966 = distinct !{!966, !"_ZN64_$LT$collections..string..String$u20$as$u20$core..ops..Deref$GT$5deref17hf5737d653da2a953E"}
!967 = !DILocation(line: 1480, scope: !253, inlinedAt: !466)
!968 = !{!963, !965}
!969 = !DIExpression(DW_OP_bit_piece, 0, 64)
!970 = !DILocation(line: 1, scope: !379, inlinedAt: !436)
!971 = !DIExpression(DW_OP_bit_piece, 64, 64)
!972 = !DILocation(line: 12, scope: !378, inlinedAt: !436)
!973 = !DILocation(line: 13, scope: !422, inlinedAt: !436)
!974 = !DILocation(line: 17, scope: !429, inlinedAt: !436)
!975 = !{!976, !978}
!976 = distinct !{!976, !977, !"_ZN10countbytes23count_non_comment_bytes17h7aed27b7229ddbfbE: argument 0"}
!977 = distinct !{!977, !"_ZN10countbytes23count_non_comment_bytes17h7aed27b7229ddbfbE"}
!978 = distinct !{!978, !977, !"_ZN10countbytes23count_non_comment_bytes17h7aed27b7229ddbfbE: argument 1"}
!979 = !DILocation(line: 1, scope: !473, inlinedAt: !493)
!980 = !{!981, !983, !976, !978}
!981 = distinct !{!981, !982, !"_ZN3std2fs4File4open17hfaa5278660bab606E: argument 0"}
!982 = distinct !{!982, !"_ZN3std2fs4File4open17hfaa5278660bab606E"}
!983 = distinct !{!983, !982, !"_ZN3std2fs4File4open17hfaa5278660bab606E: argument 1"}
!984 = !{!976}
!985 = !DILocation(line: 231, scope: !986, inlinedAt: !1016)
!986 = distinct !DILexicalBlock(scope: !988, file: !987, line: 230, column: 27)
!987 = !DIFile(filename: "/home/ulrik/src/rust/src/libcore/convert.rs", directory: "/home/ulrik/pt/rust")
!988 = distinct !DISubprogram(name: "as_ref<str,std::path::Path>", linkageName: "_ZN4core7convert8{{impl}}27as_ref<str,std::path::Path>E", scope: !989, file: !987, line: 230, type: !991, isLocal: false, isDefinition: true, scopeLine: 230, flags: DIFlagPrototyped, isOptimized: true, unit: !2, templateParams: !1008, variables: !1013)
!989 = !DINamespace(name: "{{impl}}", scope: !990, file: !6)
!990 = !DINamespace(name: "convert", scope: !8, file: !6)
!991 = !DISubroutineType(types: !992)
!992 = !{!993, !1007}
!993 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "&std::path::Path", baseType: !994, size: 128, align: 64)
!994 = !DICompositeType(tag: DW_TAG_structure_type, name: "Path", scope: !995, file: !6, size: 8, align: 8, elements: !996, identifier: "9ac58620fe69449842db870faf543213d2e65c0")
!995 = !DINamespace(name: "path", scope: !22, file: !6)
!996 = !{!997}
!997 = !DIDerivedType(tag: DW_TAG_member, name: "inner", scope: !994, file: !6, baseType: !998, size: 128, align: 64)
!998 = !DICompositeType(tag: DW_TAG_structure_type, name: "OsStr", scope: !312, file: !6, size: 8, align: 8, elements: !999, identifier: "51202bcf9b3d5c6640b92f57d95e168438ebf085")
!999 = !{!1000}
!1000 = !DIDerivedType(tag: DW_TAG_member, name: "inner", scope: !998, file: !6, baseType: !1001, size: 128, align: 64)
!1001 = !DICompositeType(tag: DW_TAG_structure_type, name: "Slice", scope: !317, file: !6, size: 8, align: 8, elements: !1002, identifier: "3631045f31279763bfe3295182177be414ea")
!1002 = !{!1003}
!1003 = !DIDerivedType(tag: DW_TAG_member, name: "inner", scope: !1001, file: !6, baseType: !1004, size: 128, align: 64)
!1004 = !DICompositeType(tag: DW_TAG_array_type, baseType: !23, align: 8, elements: !1005)
!1005 = !{!1006}
!1006 = !DISubrange(count: -1)
!1007 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "&&str", baseType: !86, size: 64, align: 64)
!1008 = !{!1009, !1012}
!1009 = !DITemplateTypeParameter(name: "T", type: !1010)
!1010 = !DICompositeType(tag: DW_TAG_array_type, baseType: !1011, align: 8, elements: !1005)
!1011 = !DIBasicType(name: "i8", size: 8, align: 8, encoding: DW_ATE_signed)
!1012 = !DITemplateTypeParameter(name: "U", type: !994)
!1013 = !{!1014, !1015}
!1014 = !DILocalVariable(name: "self", arg: 1, scope: !988, file: !80, line: 1, type: !1007)
!1015 = !DILocalVariable(name: "self", scope: !986, file: !987, line: 230, type: !1007)
!1016 = distinct !DILocation(line: 200, scope: !471, inlinedAt: !493)
!1017 = !DILocalVariable(name: "self", arg: 1, scope: !1018, file: !80, line: 1, type: !1035)
!1018 = distinct !DISubprogram(name: "open<&std::path::Path>", linkageName: "_ZN3std2fs8{{impl}}22open<&std::path::Path>E", scope: !1019, file: !472, line: 600, type: !1033, isLocal: false, isDefinition: true, scopeLine: 600, flags: DIFlagPrototyped, isOptimized: true, unit: !2, templateParams: !1036, variables: !1038)
!1019 = !DICompositeType(tag: DW_TAG_structure_type, name: "OpenOptions", scope: !403, file: !6, size: 128, align: 32, elements: !1020, identifier: "423f7b291aeaae127177fcf3af6c5036ce74dc1b")
!1020 = !{!1021}
!1021 = !DIDerivedType(tag: DW_TAG_member, name: "__0", scope: !1019, file: !6, baseType: !1022, size: 128, align: 32)
!1022 = !DICompositeType(tag: DW_TAG_structure_type, name: "OpenOptions", scope: !407, file: !6, size: 128, align: 32, elements: !1023, identifier: "c2de3493311f3d7dfe996d7a16fbae38fb597")
!1023 = !{!1024, !1026, !1027, !1028, !1029, !1030, !1031, !1032}
!1024 = !DIDerivedType(tag: DW_TAG_member, name: "read", scope: !1022, file: !6, baseType: !1025, size: 8, align: 8)
!1025 = !DIBasicType(name: "bool", size: 8, align: 8, encoding: DW_ATE_boolean)
!1026 = !DIDerivedType(tag: DW_TAG_member, name: "write", scope: !1022, file: !6, baseType: !1025, size: 8, align: 8, offset: 8)
!1027 = !DIDerivedType(tag: DW_TAG_member, name: "append", scope: !1022, file: !6, baseType: !1025, size: 8, align: 8, offset: 16)
!1028 = !DIDerivedType(tag: DW_TAG_member, name: "truncate", scope: !1022, file: !6, baseType: !1025, size: 8, align: 8, offset: 24)
!1029 = !DIDerivedType(tag: DW_TAG_member, name: "create", scope: !1022, file: !6, baseType: !1025, size: 8, align: 8, offset: 32)
!1030 = !DIDerivedType(tag: DW_TAG_member, name: "create_new", scope: !1022, file: !6, baseType: !1025, size: 8, align: 8, offset: 40)
!1031 = !DIDerivedType(tag: DW_TAG_member, name: "custom_flags", scope: !1022, file: !6, baseType: !346, size: 32, align: 32, offset: 64)
!1032 = !DIDerivedType(tag: DW_TAG_member, name: "mode", scope: !1022, file: !6, baseType: !15, size: 32, align: 32, offset: 96)
!1033 = !DISubroutineType(types: !1034)
!1034 = !{!476, !1035, !993}
!1035 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "&std::fs::OpenOptions", baseType: !1019, size: 64, align: 64)
!1036 = !{!1037}
!1037 = !DITemplateTypeParameter(name: "P", type: !993)
!1038 = !{!1017, !1039, !1040, !1042}
!1039 = !DILocalVariable(name: "path", arg: 2, scope: !1018, file: !80, line: 1, type: !993)
!1040 = !DILocalVariable(name: "self", scope: !1041, file: !472, line: 600, type: !1035)
!1041 = distinct !DILexicalBlock(scope: !1018, file: !472, line: 600, column: 68)
!1042 = !DILocalVariable(name: "path", scope: !1041, file: !472, line: 600, type: !993)
!1043 = !DILocation(line: 1, scope: !1018, inlinedAt: !1044)
!1044 = distinct !DILocation(line: 200, scope: !471, inlinedAt: !493)
!1045 = !DILocation(line: 600, scope: !1041, inlinedAt: !1044)
!1046 = !DILocation(line: 231, scope: !1047, inlinedAt: !1057)
!1047 = distinct !DILexicalBlock(scope: !1048, file: !987, line: 230, column: 27)
!1048 = distinct !DISubprogram(name: "as_ref<std::path::Path,std::path::Path>", linkageName: "_ZN4core7convert8{{impl}}39as_ref<std::path::Path,std::path::Path>E", scope: !989, file: !987, line: 230, type: !1049, isLocal: false, isDefinition: true, scopeLine: 230, flags: DIFlagPrototyped, isOptimized: true, unit: !2, templateParams: !1052, variables: !1054)
!1049 = !DISubroutineType(types: !1050)
!1050 = !{!993, !1051}
!1051 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "&&std::path::Path", baseType: !993, size: 64, align: 64)
!1052 = !{!1053, !1012}
!1053 = !DITemplateTypeParameter(name: "T", type: !994)
!1054 = !{!1055, !1056}
!1055 = !DILocalVariable(name: "self", arg: 1, scope: !1048, file: !80, line: 1, type: !1051)
!1056 = !DILocalVariable(name: "self", scope: !1047, file: !987, line: 230, type: !1051)
!1057 = distinct !DILocation(line: 601, scope: !1041, inlinedAt: !1044)
!1058 = !DILocation(line: 601, scope: !1041, inlinedAt: !1044)
!1059 = !DILocation(line: 37, scope: !329)
!1060 = !DILocation(line: 12, scope: !379, inlinedAt: !436)
!1061 = !DILocation(line: 201, scope: !471, inlinedAt: !493)
!1062 = !DILocation(line: 2850, scope: !508, inlinedAt: !513)
!1063 = !DILocation(line: 1, scope: !650, inlinedAt: !656)
!1064 = !DILocation(line: 74, scope: !649, inlinedAt: !656)
!1065 = !DILocation(line: 1, scope: !638, inlinedAt: !648)
!1066 = !DILocation(line: 95, scope: !636, inlinedAt: !648)
!1067 = !{!1068, !1070, !976, !978}
!1068 = distinct !{!1068, !1069, !"_ZN46_$LT$std..io..buffered..BufReader$LT$R$GT$$GT$13with_capacity17hb34262de99ce8bc2E: argument 0"}
!1069 = distinct !{!1069, !"_ZN46_$LT$std..io..buffered..BufReader$LT$R$GT$$GT$13with_capacity17hb34262de99ce8bc2E"}
!1070 = distinct !{!1070, !1071, !"_ZN46_$LT$std..io..buffered..BufReader$LT$R$GT$$GT$3new17h549efdb691676522E: argument 0"}
!1071 = distinct !{!1071, !"_ZN46_$LT$std..io..buffered..BufReader$LT$R$GT$$GT$3new17h549efdb691676522E"}
!1072 = !DILocalVariable(name: "elem", arg: 1, scope: !1073, file: !80, line: 1, type: !23)
!1073 = distinct !DISubprogram(name: "from_elem<u8>", linkageName: "_ZN11collections3vec13from_elem<u8>E", scope: !121, file: !239, line: 1307, type: !1074, isLocal: false, isDefinition: true, scopeLine: 1307, flags: DIFlagPrototyped, isOptimized: true, unit: !2, templateParams: !222, variables: !1076)
!1074 = !DISubroutineType(types: !1075)
!1075 = !{!120, !23, !91}
!1076 = !{!1072, !1077, !1078, !1080, !1081}
!1077 = !DILocalVariable(name: "n", arg: 2, scope: !1073, file: !80, line: 1, type: !91)
!1078 = !DILocalVariable(name: "elem", scope: !1079, file: !239, line: 1307, type: !23)
!1079 = distinct !DILexicalBlock(scope: !1073, file: !239, line: 1307, column: 56)
!1080 = !DILocalVariable(name: "n", scope: !1079, file: !239, line: 1307, type: !91)
!1081 = !DILocalVariable(name: "v", scope: !1082, file: !239, line: 1308, type: !120)
!1082 = distinct !DILexicalBlock(scope: !1079, file: !239, line: 1308, column: 38)
!1083 = !DILocation(line: 1, scope: !1073, inlinedAt: !1084)
!1084 = distinct !DILocation(line: 2, scope: !1085, inlinedAt: !648)
!1085 = !DILexicalBlockFile(scope: !636, file: !1086, discriminator: 0)
!1086 = !DIFile(filename: "<core_collections macros>", directory: "/home/ulrik/pt/rust")
!1087 = !DILocation(line: 1307, scope: !1079, inlinedAt: !1084)
!1088 = !DILocalVariable(name: "capacity", arg: 1, scope: !1089, file: !80, line: 1, type: !91)
!1089 = distinct !DISubprogram(name: "with_capacity<u8>", linkageName: "_ZN11collections3vec8{{impl}}17with_capacity<u8>E", scope: !120, file: !239, line: 353, type: !1090, isLocal: false, isDefinition: true, scopeLine: 353, flags: DIFlagPrototyped, isOptimized: true, unit: !2, templateParams: !222, variables: !1092)
!1090 = !DISubroutineType(types: !1091)
!1091 = !{!120, !91}
!1092 = !{!1088, !1093}
!1093 = !DILocalVariable(name: "capacity", scope: !1094, file: !239, line: 353, type: !91)
!1094 = distinct !DILexicalBlock(scope: !1089, file: !239, line: 353, column: 52)
!1095 = !DILocation(line: 1, scope: !1089, inlinedAt: !1096)
!1096 = distinct !DILocation(line: 1308, scope: !1079, inlinedAt: !1084)
!1097 = !DILocation(line: 353, scope: !1094, inlinedAt: !1096)
!1098 = !DILocalVariable(name: "cap", arg: 1, scope: !1099, file: !80, line: 1, type: !91)
!1099 = distinct !DISubprogram(name: "with_capacity<u8>", linkageName: "_ZN5alloc7raw_vec8{{impl}}17with_capacity<u8>E", scope: !124, file: !229, line: 84, type: !1100, isLocal: false, isDefinition: true, scopeLine: 84, flags: DIFlagPrototyped, isOptimized: true, unit: !2, templateParams: !222, variables: !1102)
!1100 = !DISubroutineType(types: !1101)
!1101 = !{!124, !91}
!1102 = !{!1098, !1103, !1105, !1107, !1109, !1111, !1113}
!1103 = !DILocalVariable(name: "cap", scope: !1104, file: !229, line: 84, type: !91)
!1104 = distinct !DILexicalBlock(scope: !1099, file: !229, line: 84, column: 45)
!1105 = !DILocalVariable(name: "elem_size", scope: !1106, file: !229, line: 86, type: !91)
!1106 = distinct !DILexicalBlock(scope: !1104, file: !229, line: 86, column: 48)
!1107 = !DILocalVariable(name: "alloc_size", scope: !1108, file: !229, line: 88, type: !91)
!1108 = distinct !DILexicalBlock(scope: !1106, file: !229, line: 88, column: 84)
!1109 = !DILocalVariable(name: "ptr", scope: !1110, file: !229, line: 92, type: !220)
!1110 = distinct !DILexicalBlock(scope: !1108, file: !229, line: 101, column: 14)
!1111 = !DILocalVariable(name: "align", scope: !1112, file: !229, line: 95, type: !91)
!1112 = distinct !DILexicalBlock(scope: !1108, file: !229, line: 95, column: 49)
!1113 = !DILocalVariable(name: "ptr", scope: !1114, file: !229, line: 96, type: !220)
!1114 = distinct !DILexicalBlock(scope: !1112, file: !229, line: 96, column: 60)
!1115 = !DILocation(line: 1, scope: !1099, inlinedAt: !1116)
!1116 = distinct !DILocation(line: 355, scope: !1094, inlinedAt: !1096)
!1117 = !DILocation(line: 84, scope: !1104, inlinedAt: !1116)
!1118 = !DILocation(line: 86, scope: !1106, inlinedAt: !1116)
!1119 = !DILocation(line: 88, scope: !1108, inlinedAt: !1116)
!1120 = !DILocation(line: 95, scope: !1112, inlinedAt: !1116)
!1121 = !DILocalVariable(name: "align", arg: 2, scope: !1122, file: !80, line: 1, type: !91)
!1122 = distinct !DISubprogram(name: "allocate", linkageName: "_ZN5alloc4heap8allocateE", scope: !821, file: !820, line: 57, type: !1123, isLocal: false, isDefinition: true, scopeLine: 57, flags: DIFlagPrototyped, isOptimized: true, unit: !2, templateParams: !115, variables: !1125)
!1123 = !DISubroutineType(types: !1124)
!1124 = !{!220, !91, !91}
!1125 = !{!1126, !1121, !1127, !1129}
!1126 = !DILocalVariable(name: "size", arg: 1, scope: !1122, file: !80, line: 1, type: !91)
!1127 = !DILocalVariable(name: "size", scope: !1128, file: !820, line: 57, type: !91)
!1128 = distinct !DILexicalBlock(scope: !1122, file: !820, line: 57, column: 61)
!1129 = !DILocalVariable(name: "align", scope: !1128, file: !820, line: 57, type: !91)
!1130 = !DILocation(line: 1, scope: !1122, inlinedAt: !1131)
!1131 = distinct !DILocation(line: 96, scope: !1112, inlinedAt: !1116)
!1132 = !DILocation(line: 57, scope: !1128, inlinedAt: !1131)
!1133 = !DILocation(line: 59, scope: !1128, inlinedAt: !1131)
!1134 = !{!1135, !1137, !1139, !1068, !1070, !976}
!1135 = distinct !{!1135, !1136, !"_ZN40_$LT$alloc..raw_vec..RawVec$LT$T$GT$$GT$13with_capacity17h520a67c826d78bb3E: argument 0"}
!1136 = distinct !{!1136, !"_ZN40_$LT$alloc..raw_vec..RawVec$LT$T$GT$$GT$13with_capacity17h520a67c826d78bb3E"}
!1137 = distinct !{!1137, !1138, !"_ZN39_$LT$collections..vec..Vec$LT$T$GT$$GT$13with_capacity17h2edb37300eb62694E: argument 0"}
!1138 = distinct !{!1138, !"_ZN39_$LT$collections..vec..Vec$LT$T$GT$$GT$13with_capacity17h2edb37300eb62694E"}
!1139 = distinct !{!1139, !1140, !"_ZN11collections3vec9from_elem17h53478b152330cbcaE: argument 0"}
!1140 = distinct !{!1140, !"_ZN11collections3vec9from_elem17h53478b152330cbcaE"}
!1141 = !DILocation(line: 96, scope: !1114, inlinedAt: !1116)
!1142 = !DILocalVariable(name: "self", arg: 1, scope: !1143, file: !80, line: 1, type: !220)
!1143 = distinct !DISubprogram(name: "is_null<u8>", linkageName: "_ZN4core3ptr8{{impl}}11is_null<u8>E", scope: !216, file: !214, line: 404, type: !1144, isLocal: false, isDefinition: true, scopeLine: 404, flags: DIFlagPrototyped, isOptimized: true, unit: !2, templateParams: !222, variables: !1146)
!1144 = !DISubroutineType(types: !1145)
!1145 = !{!1025, !220}
!1146 = !{!1142, !1147}
!1147 = !DILocalVariable(name: "self", scope: !1148, file: !214, line: 404, type: !220)
!1148 = distinct !DILexicalBlock(scope: !1143, file: !214, line: 404, column: 48)
!1149 = !DILocation(line: 1, scope: !1143, inlinedAt: !1150)
!1150 = distinct !DILocation(line: 97, scope: !1114, inlinedAt: !1116)
!1151 = !DILocation(line: 404, scope: !1148, inlinedAt: !1150)
!1152 = !DILocation(line: 405, scope: !1148, inlinedAt: !1150)
!1153 = !DILocation(line: 97, scope: !1114, inlinedAt: !1116)
!1154 = !DILocation(line: 98, scope: !1114, inlinedAt: !1116)
!1155 = !{!1068, !1070, !976}
!1156 = !DILocation(line: 75, scope: !649, inlinedAt: !656)
!1157 = !DILocalVariable(name: "e", arg: 1, scope: !1158, file: !80, line: 1, type: !336)
!1158 = distinct !DISubprogram(name: "from_error<u32,std::io::error::Error>", linkageName: "_ZN4core3ops8{{impl}}37from_error<u32,std::io::error::Error>E", scope: !497, file: !496, line: 2842, type: !1159, isLocal: false, isDefinition: true, scopeLine: 2842, flags: DIFlagPrototyped, isOptimized: true, unit: !2, templateParams: !1161, variables: !1163)
!1159 = !DISubroutineType(types: !1160)
!1160 = !{!382, !336}
!1161 = !{!1162, !503}
!1162 = !DITemplateTypeParameter(name: "U", type: !15)
!1163 = !{!1157, !1164}
!1164 = !DILocalVariable(name: "e", scope: !1165, file: !496, line: 2842, type: !336)
!1165 = distinct !DILexicalBlock(scope: !1158, file: !496, line: 2842, column: 40)
!1166 = !DILocation(line: 1, scope: !1158, inlinedAt: !1167)
!1167 = distinct !DILocation(line: 13, scope: !422, inlinedAt: !436)
!1168 = !DILocation(line: 2842, scope: !1165, inlinedAt: !1167)
!1169 = !DILocation(line: 2843, scope: !1165, inlinedAt: !1167)
!1170 = !DILocalVariable(name: "n", arg: 2, scope: !1171, file: !80, line: 1, type: !91)
!1171 = distinct !DISubprogram(name: "extend_with_element<u8>", linkageName: "_ZN11collections3vec8{{impl}}23extend_with_element<u8>E", scope: !120, file: !239, line: 1200, type: !1172, isLocal: false, isDefinition: true, scopeLine: 1200, flags: DIFlagPrototyped, isOptimized: true, unit: !2, templateParams: !222, variables: !1175)
!1172 = !DISubroutineType(types: !1173)
!1173 = !{null, !1174, !91, !23}
!1174 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "&mut collections::vec::Vec<u8>", baseType: !120, size: 64, align: 64)
!1175 = !{!1176, !1170, !1177, !1178, !1180, !1181, !1182, !1184, !1191, !1193}
!1176 = !DILocalVariable(name: "self", arg: 1, scope: !1171, file: !80, line: 1, type: !1174)
!1177 = !DILocalVariable(name: "value", arg: 3, scope: !1171, file: !80, line: 1, type: !23)
!1178 = !DILocalVariable(name: "self", scope: !1179, file: !239, line: 1200, type: !1174)
!1179 = distinct !DILexicalBlock(scope: !1171, file: !239, line: 1200, column: 58)
!1180 = !DILocalVariable(name: "n", scope: !1179, file: !239, line: 1200, type: !91)
!1181 = !DILocalVariable(name: "value", scope: !1179, file: !239, line: 1200, type: !23)
!1182 = !DILocalVariable(name: "ptr", scope: !1183, file: !239, line: 1204, type: !220)
!1183 = distinct !DILexicalBlock(scope: !1179, file: !239, line: 1204, column: 72)
!1184 = !DILocalVariable(name: "local_len", scope: !1185, file: !239, line: 1208, type: !1186)
!1185 = distinct !DILexicalBlock(scope: !1183, file: !239, line: 1208, column: 65)
!1186 = !DICompositeType(tag: DW_TAG_structure_type, name: "SetLenOnDrop", scope: !121, file: !6, size: 128, align: 64, elements: !1187, identifier: "9e213860fb57bbfb447142299cc2e487934bf7")
!1187 = !{!1188, !1190}
!1188 = !DIDerivedType(tag: DW_TAG_member, name: "len", scope: !1186, file: !6, baseType: !1189, size: 64, align: 64)
!1189 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "&mut usize", baseType: !91, size: 64, align: 64)
!1190 = !DIDerivedType(tag: DW_TAG_member, name: "local_len", scope: !1186, file: !6, baseType: !91, size: 64, align: 64, offset: 64)
!1191 = !DILocalVariable(name: "_result", scope: !1192, file: !239, line: 1211, type: !108)
!1192 = distinct !DILexicalBlock(scope: !1185, file: !239, line: 1216, column: 13)
!1193 = !DILocalVariable(name: "iter", scope: !1194, file: !239, line: 1211, type: !1195)
!1194 = distinct !DILexicalBlock(scope: !1185, file: !239, line: 1211, column: 12)
!1195 = !DICompositeType(tag: DW_TAG_structure_type, name: "Range<usize>", scope: !498, file: !6, size: 128, align: 64, elements: !1196, identifier: "4186f71ba3ab56e9fc81a536f0cde091f28860")
!1196 = !{!1197, !1198}
!1197 = !DIDerivedType(tag: DW_TAG_member, name: "start", scope: !1195, file: !6, baseType: !91, size: 64, align: 64)
!1198 = !DIDerivedType(tag: DW_TAG_member, name: "end", scope: !1195, file: !6, baseType: !91, size: 64, align: 64, offset: 64)
!1199 = !DILocation(line: 1, scope: !1171, inlinedAt: !1200)
!1200 = distinct !DILocation(line: 1309, scope: !1082, inlinedAt: !1084)
!1201 = !DILocation(line: 1200, scope: !1179, inlinedAt: !1200)
!1202 = !DILocation(line: 1204, scope: !1183, inlinedAt: !1200)
!1203 = !DILocalVariable(name: "dst", arg: 1, scope: !1204, file: !80, line: 1, type: !220)
!1204 = distinct !DISubprogram(name: "write<u8>", linkageName: "_ZN4core3ptr9write<u8>E", scope: !130, file: !214, line: 170, type: !1205, isLocal: false, isDefinition: true, scopeLine: 170, flags: DIFlagPrototyped, isOptimized: true, unit: !2, templateParams: !222, variables: !1207)
!1205 = !DISubroutineType(types: !1206)
!1206 = !{null, !220, !23}
!1207 = !{!1203, !1208, !1209, !1211}
!1208 = !DILocalVariable(name: "src", arg: 2, scope: !1204, file: !80, line: 1, type: !23)
!1209 = !DILocalVariable(name: "dst", scope: !1210, file: !214, line: 170, type: !220)
!1210 = distinct !DILexicalBlock(scope: !1204, file: !214, line: 170, column: 44)
!1211 = !DILocalVariable(name: "src", scope: !1210, file: !214, line: 170, type: !23)
!1212 = !DILocation(line: 1, scope: !1204, inlinedAt: !1213)
!1213 = distinct !DILocation(line: 1220, scope: !1185, inlinedAt: !1200)
!1214 = !DILocation(line: 170, scope: !1210, inlinedAt: !1213)
!1215 = !DILocation(line: 171, scope: !1210, inlinedAt: !1213)
!1216 = !{!1139, !1068, !1070, !976, !978}
!1217 = !{!1068, !1070}
!1218 = !DILocation(line: 14, scope: !376, inlinedAt: !436)
!1219 = !DILocation(line: 16, scope: !427, inlinedAt: !436)
!1220 = !DILocation(line: 1, scope: !663, inlinedAt: !701)
!1221 = !DILocation(line: 170, scope: !662, inlinedAt: !701)
!1222 = !DILocation(line: 178, scope: !694, inlinedAt: !701)
!1223 = !DILocation(line: 191, scope: !703, inlinedAt: !728)
!1224 = !{!1225, !976, !978}
!1225 = distinct !{!1225, !1226, !"_ZN71_$LT$std..io..buffered..BufReader$LT$R$GT$$u20$as$u20$std..io..Read$GT$4read17h7388e68f715bdeffE: argument 0"}
!1226 = distinct !{!1226, !"_ZN71_$LT$std..io..buffered..BufReader$LT$R$GT$$u20$as$u20$std..io..Read$GT$4read17h7388e68f715bdeffE"}
!1227 = !DILocation(line: 1, scope: !704, inlinedAt: !728)
!1228 = !DILocation(line: 188, scope: !703, inlinedAt: !728)
!1229 = !{!1230, !1225, !976, !978}
!1230 = distinct !{!1230, !1231, !"_ZN74_$LT$std..io..buffered..BufReader$LT$R$GT$$u20$as$u20$std..io..BufRead$GT$8fill_buf17h6dcfe65704a2b9ebE: argument 0"}
!1231 = distinct !{!1231, !"_ZN74_$LT$std..io..buffered..BufReader$LT$R$GT$$u20$as$u20$std..io..BufRead$GT$8fill_buf17h6dcfe65704a2b9ebE"}
!1232 = !{!1233}
!1233 = distinct !{!1233, !1234, !"_ZN77_$LT$core..result..Result$LT$U$C$$u20$V$GT$$u20$as$u20$core..ops..Carrier$GT$9translate17hb826a81b61b36af1E: argument 1"}
!1234 = distinct !{!1234, !"_ZN77_$LT$core..result..Result$LT$U$C$$u20$V$GT$$u20$as$u20$core..ops..Carrier$GT$9translate17hb826a81b61b36af1E"}
!1235 = !{!1236, !1230, !1225, !976, !978}
!1236 = distinct !{!1236, !1234, !"_ZN77_$LT$core..result..Result$LT$U$C$$u20$V$GT$$u20$as$u20$core..ops..Carrier$GT$9translate17hb826a81b61b36af1E: argument 0"}
!1237 = !DILocation(line: 2850, scope: !1238, inlinedAt: !1251)
!1238 = distinct !DILexicalBlock(scope: !1239, file: !496, line: 2848, column: 4)
!1239 = distinct !DISubprogram(name: "translate<usize,std::io::error::Error,core::result::Result<usize, std::io::error::Error>>", linkageName: "_ZN4core3ops8{{impl}}89translate<usize,std::io::error::Error,core::result::Result<usize, std::io::error::Error>>E", scope: !497, file: !496, line: 2846, type: !1240, isLocal: false, isDefinition: true, scopeLine: 2846, flags: DIFlagPrototyped, isOptimized: true, unit: !2, templateParams: !1242, variables: !1244)
!1240 = !DISubroutineType(types: !1241)
!1241 = !{!667, !667}
!1242 = !{!735, !503, !1243}
!1243 = !DITemplateTypeParameter(name: "T", type: !667)
!1244 = !{!1245, !1246, !1247, !1249}
!1245 = !DILocalVariable(name: "self", arg: 1, scope: !1239, file: !80, line: 1, type: !667)
!1246 = !DILocalVariable(name: "self", scope: !1238, file: !496, line: 2846, type: !667)
!1247 = !DILocalVariable(name: "u", scope: !1248, file: !496, line: 2850, type: !91)
!1248 = distinct !DILexicalBlock(scope: !1238, file: !496, line: 2850, column: 21)
!1249 = !DILocalVariable(name: "e", scope: !1250, file: !496, line: 2851, type: !336)
!1250 = distinct !DILexicalBlock(scope: !1238, file: !496, line: 2851, column: 22)
!1251 = distinct !DILocation(line: 192, scope: !703, inlinedAt: !728)
!1252 = !DILocation(line: 193, scope: !703, inlinedAt: !728)
!1253 = !DILocation(line: 175, scope: !662, inlinedAt: !701)
!1254 = !DILocation(line: 1, scope: !731, inlinedAt: !739)
!1255 = !DILocation(line: 2842, scope: !730, inlinedAt: !739)
!1256 = !{!1257, !1225}
!1257 = distinct !{!1257, !1258, !"_ZN77_$LT$core..result..Result$LT$U$C$$u20$V$GT$$u20$as$u20$core..ops..Carrier$GT$10from_error17h2cc04ba793d131a1E: argument 0"}
!1258 = distinct !{!1258, !"_ZN77_$LT$core..result..Result$LT$U$C$$u20$V$GT$$u20$as$u20$core..ops..Carrier$GT$10from_error17h2cc04ba793d131a1E"}
!1259 = !{!1260, !976, !978}
!1260 = distinct !{!1260, !1258, !"_ZN77_$LT$core..result..Result$LT$U$C$$u20$V$GT$$u20$as$u20$core..ops..Carrier$GT$10from_error17h2cc04ba793d131a1E: argument 1"}
!1261 = !{!1225}
!1262 = !DILocation(line: 2850, scope: !1238, inlinedAt: !1263)
!1263 = distinct !DILocation(line: 17, scope: !427, inlinedAt: !436)
!1264 = !DILocation(line: 204, scope: !1265, inlinedAt: !1274)
!1265 = distinct !DILexicalBlock(scope: !1266, file: !637, line: 203, column: 38)
!1266 = distinct !DISubprogram(name: "consume<std::fs::File>", linkageName: "_ZN3std2io8buffered8{{impl}}22consume<std::fs::File>E", scope: !664, file: !637, line: 203, type: !1267, isLocal: false, isDefinition: true, scopeLine: 203, flags: DIFlagPrototyped, isOptimized: true, unit: !2, templateParams: !641, variables: !1269)
!1267 = !DISubroutineType(types: !1268)
!1268 = !{null, !679, !91}
!1269 = !{!1270, !1271, !1272, !1273}
!1270 = !DILocalVariable(name: "self", arg: 1, scope: !1266, file: !80, line: 1, type: !679)
!1271 = !DILocalVariable(name: "amt", arg: 2, scope: !1266, file: !80, line: 1, type: !91)
!1272 = !DILocalVariable(name: "self", scope: !1265, file: !637, line: 203, type: !679)
!1273 = !DILocalVariable(name: "amt", scope: !1265, file: !637, line: 203, type: !91)
!1274 = distinct !DILocation(line: 181, scope: !690, inlinedAt: !701)
!1275 = !DILocation(line: 196, scope: !703, inlinedAt: !728)
!1276 = !DILocation(line: 196, scope: !727, inlinedAt: !728)
!1277 = !DILocation(line: 197, scope: !727, inlinedAt: !728)
!1278 = !DILocation(line: 178, scope: !692, inlinedAt: !701)
!1279 = !DILocalVariable(name: "buf", arg: 2, scope: !1280, file: !80, line: 1, type: !680)
!1280 = distinct !DISubprogram(name: "read", linkageName: "_ZN3std2io5impls8{{impl}}4readE", scope: !1282, file: !1281, line: 157, type: !1284, isLocal: false, isDefinition: true, scopeLine: 157, flags: DIFlagPrototyped, isOptimized: true, unit: !2, templateParams: !115, variables: !1287)
!1281 = !DIFile(filename: "/home/ulrik/src/rust/src/libstd/io/impls.rs", directory: "/home/ulrik/pt/rust")
!1282 = !DINamespace(name: "{{impl}}", scope: !1283, file: !6)
!1283 = !DINamespace(name: "impls", scope: !21, file: !6)
!1284 = !DISubroutineType(types: !1285)
!1285 = !{!667, !1286, !680}
!1286 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "&mut &[u8]", baseType: !244, size: 64, align: 64)
!1287 = !{!1288, !1279, !1289, !1291, !1292, !1294, !1296}
!1288 = !DILocalVariable(name: "self", arg: 1, scope: !1280, file: !80, line: 1, type: !1286)
!1289 = !DILocalVariable(name: "self", scope: !1290, file: !1281, line: 157, type: !1286)
!1290 = distinct !DILexicalBlock(scope: !1280, file: !1281, line: 157, column: 60)
!1291 = !DILocalVariable(name: "buf", scope: !1290, file: !1281, line: 157, type: !680)
!1292 = !DILocalVariable(name: "amt", scope: !1293, file: !1281, line: 158, type: !91)
!1293 = distinct !DILexicalBlock(scope: !1290, file: !1281, line: 158, column: 50)
!1294 = !DILocalVariable(name: "a", scope: !1295, file: !1281, line: 159, type: !244)
!1295 = distinct !DILexicalBlock(scope: !1293, file: !1281, line: 159, column: 40)
!1296 = !DILocalVariable(name: "b", scope: !1295, file: !1281, line: 159, type: !244)
!1297 = !DILocation(line: 1, scope: !1280, inlinedAt: !1298)
!1298 = distinct !DILocation(line: 179, scope: !692, inlinedAt: !701)
!1299 = !DILocation(line: 157, scope: !1290, inlinedAt: !1298)
!1300 = !DILocation(line: 159, scope: !1295, inlinedAt: !1298)
!1301 = !DILocalVariable(name: "v1", arg: 1, scope: !1302, file: !80, line: 1, type: !91)
!1302 = distinct !DISubprogram(name: "min<usize>", linkageName: "_ZN4core3cmp10min<usize>E", scope: !1304, file: !1303, line: 635, type: !1305, isLocal: false, isDefinition: true, scopeLine: 635, flags: DIFlagPrototyped, isOptimized: true, unit: !2, templateParams: !1307, variables: !1309)
!1303 = !DIFile(filename: "/home/ulrik/src/rust/src/libcore/cmp.rs", directory: "/home/ulrik/pt/rust")
!1304 = !DINamespace(name: "cmp", scope: !8, file: !6)
!1305 = !DISubroutineType(types: !1306)
!1306 = !{!91, !91, !91}
!1307 = !{!1308}
!1308 = !DITemplateTypeParameter(name: "T", type: !91)
!1309 = !{!1301, !1310, !1311, !1313}
!1310 = !DILocalVariable(name: "v2", arg: 2, scope: !1302, file: !80, line: 1, type: !91)
!1311 = !DILocalVariable(name: "v1", scope: !1312, file: !1303, line: 635, type: !91)
!1312 = distinct !DILexicalBlock(scope: !1302, file: !1303, line: 635, column: 38)
!1313 = !DILocalVariable(name: "v2", scope: !1312, file: !1303, line: 635, type: !91)
!1314 = !DILocation(line: 1, scope: !1302, inlinedAt: !1315)
!1315 = distinct !DILocation(line: 158, scope: !1290, inlinedAt: !1298)
!1316 = !DILocation(line: 635, scope: !1312, inlinedAt: !1315)
!1317 = !DILocation(line: 748, scope: !1318, inlinedAt: !1330)
!1318 = distinct !DILexicalBlock(scope: !1319, file: !1303, line: 748, column: 49)
!1319 = distinct !DISubprogram(name: "le", linkageName: "_ZN4core3cmp5impls8{{impl}}2leE", scope: !1320, file: !1303, line: 748, type: !1322, isLocal: false, isDefinition: true, scopeLine: 748, flags: DIFlagPrototyped, isOptimized: true, unit: !2, templateParams: !115, variables: !1325)
!1320 = !DINamespace(name: "{{impl}}", scope: !1321, file: !6)
!1321 = !DINamespace(name: "impls", scope: !1304, file: !6)
!1322 = !DISubroutineType(types: !1323)
!1323 = !{!1025, !1324, !1324}
!1324 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "&usize", baseType: !91, size: 64, align: 64)
!1325 = !{!1326, !1327, !1328, !1329}
!1326 = !DILocalVariable(name: "self", arg: 1, scope: !1319, file: !80, line: 1, type: !1324)
!1327 = !DILocalVariable(name: "other", arg: 2, scope: !1319, file: !80, line: 1, type: !1324)
!1328 = !DILocalVariable(name: "self", scope: !1318, file: !1303, line: 748, type: !1324)
!1329 = !DILocalVariable(name: "other", scope: !1318, file: !1303, line: 748, type: !1324)
!1330 = distinct !DILocation(line: 636, scope: !1312, inlinedAt: !1315)
!1331 = !DILocation(line: 636, scope: !1312, inlinedAt: !1315)
!1332 = !DILocation(line: 158, scope: !1293, inlinedAt: !1298)
!1333 = !DILocalVariable(name: "self", arg: 1, scope: !1334, file: !80, line: 1, type: !680)
!1334 = distinct !DISubprogram(name: "copy_from_slice<u8>", linkageName: "_ZN11collections5slice8{{impl}}19copy_from_slice<u8>E", scope: !1336, file: !1335, line: 1141, type: !1338, isLocal: false, isDefinition: true, scopeLine: 1141, flags: DIFlagPrototyped, isOptimized: true, unit: !2, templateParams: !222, variables: !1340)
!1335 = !DIFile(filename: "/home/ulrik/src/rust/src/libcollections/slice.rs", directory: "/home/ulrik/pt/rust")
!1336 = !DINamespace(name: "{{impl}}", scope: !1337, file: !6)
!1337 = !DINamespace(name: "slice", scope: !98, file: !6)
!1338 = !DISubroutineType(types: !1339)
!1339 = !{null, !680, !244}
!1340 = !{!1333, !1341, !1342, !1344}
!1341 = !DILocalVariable(name: "src", arg: 2, scope: !1334, file: !80, line: 1, type: !244)
!1342 = !DILocalVariable(name: "self", scope: !1343, file: !1335, line: 1141, type: !680)
!1343 = distinct !DILexicalBlock(scope: !1334, file: !1335, line: 1141, column: 63)
!1344 = !DILocalVariable(name: "src", scope: !1343, file: !1335, line: 1141, type: !244)
!1345 = !DILocation(line: 1, scope: !1334, inlinedAt: !1346)
!1346 = distinct !DILocation(line: 160, scope: !1295, inlinedAt: !1298)
!1347 = !DILocation(line: 1141, scope: !1343, inlinedAt: !1346)
!1348 = !DILocalVariable(name: "self", arg: 1, scope: !1349, file: !80, line: 1, type: !680)
!1349 = distinct !DISubprogram(name: "copy_from_slice<u8>", linkageName: "_ZN4core5slice8{{impl}}19copy_from_slice<u8>E", scope: !1351, file: !1350, line: 499, type: !1338, isLocal: false, isDefinition: true, scopeLine: 499, flags: DIFlagPrototyped, isOptimized: true, unit: !2, templateParams: !222, variables: !1352)
!1350 = !DIFile(filename: "/home/ulrik/src/rust/src/libcore/slice.rs", directory: "/home/ulrik/pt/rust")
!1351 = !DINamespace(name: "{{impl}}", scope: !166, file: !6)
!1352 = !{!1348, !1353, !1354, !1356}
!1353 = !DILocalVariable(name: "src", arg: 2, scope: !1349, file: !80, line: 1, type: !244)
!1354 = !DILocalVariable(name: "self", scope: !1355, file: !1350, line: 499, type: !680)
!1355 = distinct !DILexicalBlock(scope: !1349, file: !1350, line: 499, column: 59)
!1356 = !DILocalVariable(name: "src", scope: !1355, file: !1350, line: 499, type: !244)
!1357 = !DILocation(line: 1, scope: !1349, inlinedAt: !1358)
!1358 = distinct !DILocation(line: 1142, scope: !1343, inlinedAt: !1346)
!1359 = !DILocation(line: 499, scope: !1355, inlinedAt: !1358)
!1360 = !DILocation(line: 503, scope: !1355, inlinedAt: !1358)
!1361 = !{!1362, !1225, !976}
!1362 = distinct !{!1362, !1363, !"_ZN3std2io5impls71_$LT$impl$u20$std..io..Read$u20$for$u20$$RF$$u27$a$u20$$u5b$u8$u5d$$GT$4read17hbc82b151cc8f6677E: argument 0"}
!1363 = distinct !{!1363, !"_ZN3std2io5impls71_$LT$impl$u20$std..io..Read$u20$for$u20$$RF$$u27$a$u20$$u5b$u8$u5d$$GT$4read17hbc82b151cc8f6677E"}
!1364 = !DILocation(line: 177, scope: !690, inlinedAt: !701)
!1365 = !DILocation(line: 1, scope: !1266, inlinedAt: !1274)
!1366 = !DILocation(line: 203, scope: !1265, inlinedAt: !1274)
!1367 = !DILocation(line: 1, scope: !1302, inlinedAt: !1368)
!1368 = distinct !DILocation(line: 204, scope: !1265, inlinedAt: !1274)
!1369 = !DILocation(line: 635, scope: !1312, inlinedAt: !1368)
!1370 = !DILocation(line: 748, scope: !1318, inlinedAt: !1371)
!1371 = distinct !DILocation(line: 636, scope: !1312, inlinedAt: !1368)
!1372 = !DILocation(line: 636, scope: !1312, inlinedAt: !1368)
!1373 = !DILocation(line: 182, scope: !690, inlinedAt: !701)
!1374 = !DILocation(line: 33, scope: !376, inlinedAt: !436)
!1375 = !DILocalVariable(name: "ptr", arg: 1, scope: !1376, file: !80, line: 1, type: !220)
!1376 = distinct !DISubprogram(name: "exchange_free", linkageName: "_ZN5alloc4heap13exchange_freeE", scope: !821, file: !820, line: 148, type: !822, isLocal: false, isDefinition: true, scopeLine: 148, flags: DIFlagPrototyped, isOptimized: true, unit: !2, templateParams: !115, variables: !1377)
!1377 = !{!1375, !1378, !1379, !1380, !1382, !1383}
!1378 = !DILocalVariable(name: "old_size", arg: 2, scope: !1376, file: !80, line: 1, type: !91)
!1379 = !DILocalVariable(name: "align", arg: 3, scope: !1376, file: !80, line: 1, type: !91)
!1380 = !DILocalVariable(name: "ptr", scope: !1381, file: !820, line: 148, type: !220)
!1381 = distinct !DILexicalBlock(scope: !1376, file: !820, line: 148, column: 69)
!1382 = !DILocalVariable(name: "old_size", scope: !1381, file: !820, line: 148, type: !91)
!1383 = !DILocalVariable(name: "align", scope: !1381, file: !820, line: 148, type: !91)
!1384 = !DILocation(line: 1, scope: !1376, inlinedAt: !1385)
!1385 = distinct !DILocation(line: 33, scope: !378, inlinedAt: !436)
!1386 = !DILocation(line: 148, scope: !1381, inlinedAt: !1385)
!1387 = !DILocation(line: 1, scope: !819, inlinedAt: !1388)
!1388 = distinct !DILocation(line: 149, scope: !1381, inlinedAt: !1385)
!1389 = !DILocation(line: 112, scope: !828, inlinedAt: !1388)
!1390 = !DILocation(line: 113, scope: !828, inlinedAt: !1388)
!1391 = !{!1392}
!1392 = distinct !{!1392, !1393, !"_ZN77_$LT$core..result..Result$LT$U$C$$u20$V$GT$$u20$as$u20$core..ops..Carrier$GT$9translate17hb826a81b61b36af1E: argument 1"}
!1393 = distinct !{!1393, !"_ZN77_$LT$core..result..Result$LT$U$C$$u20$V$GT$$u20$as$u20$core..ops..Carrier$GT$9translate17hb826a81b61b36af1E"}
!1394 = !{!1395, !976, !978}
!1395 = distinct !{!1395, !1393, !"_ZN77_$LT$core..result..Result$LT$U$C$$u20$V$GT$$u20$as$u20$core..ops..Carrier$GT$9translate17hb826a81b61b36af1E: argument 0"}
!1396 = !DILocation(line: 1, scope: !731, inlinedAt: !1397)
!1397 = distinct !DILocation(line: 2851, scope: !1250, inlinedAt: !1263)
!1398 = !DILocation(line: 2842, scope: !730, inlinedAt: !1397)
!1399 = !DILocation(line: 1, scope: !1158, inlinedAt: !1400)
!1400 = distinct !DILocation(line: 17, scope: !429, inlinedAt: !436)
!1401 = !DILocation(line: 2842, scope: !1165, inlinedAt: !1400)
!1402 = !DILocation(line: 2843, scope: !1165, inlinedAt: !1400)
!1403 = !DILocation(line: 1, scope: !1376, inlinedAt: !1404)
!1404 = distinct !DILocation(line: 33, scope: !378, inlinedAt: !436)
!1405 = !DILocation(line: 148, scope: !1381, inlinedAt: !1404)
!1406 = !DILocation(line: 1, scope: !819, inlinedAt: !1407)
!1407 = distinct !DILocation(line: 149, scope: !1381, inlinedAt: !1404)
!1408 = !DILocation(line: 112, scope: !828, inlinedAt: !1407)
!1409 = !DILocation(line: 113, scope: !828, inlinedAt: !1407)
!1410 = !DILocation(line: 18, scope: !427, inlinedAt: !436)
!1411 = !DILocation(line: 19, scope: !427, inlinedAt: !436)
!1412 = !DILocation(line: 21, scope: !427, inlinedAt: !436)
!1413 = !DILocation(line: 24, scope: !427, inlinedAt: !436)
!1414 = !DILocation(line: 26, scope: !427, inlinedAt: !436)
!1415 = !DILocation(line: 28, scope: !427, inlinedAt: !436)
!1416 = !DILocation(line: 13, scope: !377, inlinedAt: !436)
!1417 = !DILocation(line: 1, scope: !1376, inlinedAt: !1418)
!1418 = distinct !DILocation(line: 33, scope: !378, inlinedAt: !436)
!1419 = !DILocation(line: 148, scope: !1381, inlinedAt: !1418)
!1420 = !DILocation(line: 1, scope: !819, inlinedAt: !1421)
!1421 = distinct !DILocation(line: 149, scope: !1381, inlinedAt: !1418)
!1422 = !DILocation(line: 112, scope: !828, inlinedAt: !1421)
!1423 = !DILocation(line: 113, scope: !828, inlinedAt: !1421)
!1424 = !DILocation(line: 41, scope: !329)
!1425 = !DILocation(line: 38, scope: !329)
!1426 = !DILocation(line: 1, scope: !519, inlinedAt: !1427)
!1427 = distinct !DILocation(line: 38, scope: !365)
!1428 = !DILocation(line: 203, scope: !517, inlinedAt: !1427)
!1429 = !DILocation(line: 1, scope: !744, inlinedAt: !757)
!1430 = !DILocation(line: 203, scope: !743, inlinedAt: !757)
!1431 = !DILocation(line: 1, scope: !550, inlinedAt: !760)
!1432 = !DILocation(line: 239, scope: !549, inlinedAt: !760)
!1433 = !DILocation(line: 240, scope: !549, inlinedAt: !760)
!1434 = !{!1435}
!1435 = distinct !{!1435, !1436, !"_ZN4core3fmt9Arguments6new_v117haff90408e2a843c7E: argument 0"}
!1436 = distinct !{!1436, !"_ZN4core3fmt9Arguments6new_v117haff90408e2a843c7E"}
!1437 = !{!1438, !1439}
!1438 = distinct !{!1438, !1436, !"_ZN4core3fmt9Arguments6new_v117haff90408e2a843c7E: argument 1"}
!1439 = distinct !{!1439, !1436, !"_ZN4core3fmt9Arguments6new_v117haff90408e2a843c7E: argument 2"}
!1440 = !DILocation(line: 1, scope: !519, inlinedAt: !530)
!1441 = !DILocation(line: 203, scope: !517, inlinedAt: !530)
!1442 = !DILocation(line: 1, scope: !533, inlinedAt: !546)
!1443 = !DILocation(line: 203, scope: !532, inlinedAt: !546)
!1444 = !DILocation(line: 1, scope: !550, inlinedAt: !616)
!1445 = !DILocation(line: 239, scope: !549, inlinedAt: !616)
!1446 = !DILocation(line: 240, scope: !549, inlinedAt: !616)
!1447 = !{!1448}
!1448 = distinct !{!1448, !1449, !"_ZN4core3fmt9Arguments6new_v117haff90408e2a843c7E: argument 0"}
!1449 = distinct !{!1449, !"_ZN4core3fmt9Arguments6new_v117haff90408e2a843c7E"}
!1450 = !{!1451, !1452}
!1451 = distinct !{!1451, !1449, !"_ZN4core3fmt9Arguments6new_v117haff90408e2a843c7E: argument 1"}
!1452 = distinct !{!1452, !1449, !"_ZN4core3fmt9Arguments6new_v117haff90408e2a843c7E: argument 2"}
!1453 = !DILocation(line: 546, scope: !619, inlinedAt: !634)
!1454 = !DILocation(line: 548, scope: !631, inlinedAt: !634)
!1455 = !DILocation(line: 550, scope: !633, inlinedAt: !634)
!1456 = !DILocation(line: 552, scope: !633, inlinedAt: !634)
!1457 = !DILocation(line: 1, scope: !819, inlinedAt: !1458)
!1458 = distinct !DILocation(line: 552, scope: !633, inlinedAt: !634)
!1459 = !DILocation(line: 112, scope: !828, inlinedAt: !1458)
!1460 = !DILocation(line: 113, scope: !828, inlinedAt: !1458)
!1461 = !DILocation(line: 1904, scope: !838, inlinedAt: !1462)
!1462 = distinct !DILocation(line: 2142, scope: !857, inlinedAt: !1463)
!1463 = distinct !DILocation(line: 1989, scope: !868, inlinedAt: !1464)
!1464 = distinct !DILocation(line: 41, scope: !276)
!1465 = !{!1466, !1468}
!1466 = distinct !{!1466, !1467, !"_ZN86_$LT$collections..vec..IntoIter$LT$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hd2eb59440919d264E: argument 0"}
!1467 = distinct !{!1467, !"_ZN86_$LT$collections..vec..IntoIter$LT$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hd2eb59440919d264E"}
!1468 = distinct !{!1468, !1469, !"_ZN75_$LT$$RF$$u27$a$u20$mut$u20$I$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hca3cd9d7681f1316E: argument 0"}
!1469 = distinct !{!1469, !"_ZN75_$LT$$RF$$u27$a$u20$mut$u20$I$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hca3cd9d7681f1316E"}
!1470 = !DILocation(line: 1916, scope: !855, inlinedAt: !1462)
!1471 = !DILocation(line: 1917, scope: !855, inlinedAt: !1462)
!1472 = !DILocation(line: 1, scope: !891, inlinedAt: !1473)
!1473 = distinct !DILocation(line: 1919, scope: !855, inlinedAt: !1462)
!1474 = !DILocation(line: 134, scope: !896, inlinedAt: !1473)
!1475 = !DILocation(line: 137, scope: !898, inlinedAt: !1473)
!1476 = !DILocation(line: 1989, scope: !868, inlinedAt: !1464)
!1477 = !DILocation(line: 546, scope: !619, inlinedAt: !1478)
!1478 = distinct !DILocation(line: 1989, scope: !868, inlinedAt: !1464)
!1479 = !DILocation(line: 547, scope: !619, inlinedAt: !1478)
!1480 = !DILocation(line: 548, scope: !631, inlinedAt: !1478)
!1481 = !DILocation(line: 550, scope: !633, inlinedAt: !1478)
!1482 = !DILocation(line: 1, scope: !819, inlinedAt: !1483)
!1483 = distinct !DILocation(line: 552, scope: !633, inlinedAt: !1478)
!1484 = !DILocation(line: 112, scope: !828, inlinedAt: !1483)
!1485 = !DILocation(line: 113, scope: !828, inlinedAt: !1483)
!1486 = !DILocation(line: 1992, scope: !869, inlinedAt: !1464)
!1487 = !DILocation(line: 1, scope: !915, inlinedAt: !1488)
!1488 = distinct !DILocation(line: 1992, scope: !869, inlinedAt: !1464)
!1489 = !DILocation(line: 545, scope: !929, inlinedAt: !1488)
!1490 = !DILocation(line: 546, scope: !931, inlinedAt: !1488)
!1491 = !DILocation(line: 547, scope: !931, inlinedAt: !1488)
!1492 = !DILocation(line: 548, scope: !933, inlinedAt: !1488)
!1493 = !DILocation(line: 550, scope: !933, inlinedAt: !1488)
!1494 = !DILocation(line: 550, scope: !935, inlinedAt: !1488)
!1495 = !DILocation(line: 1, scope: !819, inlinedAt: !1496)
!1496 = distinct !DILocation(line: 552, scope: !935, inlinedAt: !1488)
!1497 = !DILocation(line: 112, scope: !828, inlinedAt: !1496)
!1498 = !DILocation(line: 113, scope: !828, inlinedAt: !1496)
!1499 = !DILocation(line: 42, scope: !276)
!1500 = !DILocation(line: 1, scope: !1376, inlinedAt: !1501)
!1501 = distinct !DILocation(line: 40, scope: !329)
!1502 = !DILocation(line: 148, scope: !1381, inlinedAt: !1501)
!1503 = !DILocation(line: 1, scope: !819, inlinedAt: !1504)
!1504 = distinct !DILocation(line: 149, scope: !1381, inlinedAt: !1501)
!1505 = !DILocation(line: 112, scope: !828, inlinedAt: !1504)
!1506 = !DILocation(line: 113, scope: !828, inlinedAt: !1504)
!1507 = !DILocation(line: 1, scope: !1376, inlinedAt: !1508)
!1508 = distinct !DILocation(line: 40, scope: !329)
!1509 = !DILocation(line: 148, scope: !1381, inlinedAt: !1508)
!1510 = !DILocation(line: 1, scope: !819, inlinedAt: !1511)
!1511 = distinct !DILocation(line: 149, scope: !1381, inlinedAt: !1508)
!1512 = !DILocation(line: 112, scope: !828, inlinedAt: !1511)
!1513 = !DILocation(line: 113, scope: !828, inlinedAt: !1511)
use std::fs::File;
use std::io::{BufReader, Read};
#[derive(Copy, Clone)]
enum State {
Outside,
BeginSlash,
Inside,
EndAsterisk,
}
fn count_non_comment_bytes(fname: &str) -> std::io::Result<u32> {
let mut input = BufReader::new(File::open(fname)?);
let mut state = State::Outside;
let mut buffer = [0u8];
let mut non_comment_count = 0;
while input.read(&mut buffer)? > 0 {
match (state, buffer[0]) {
(State::Outside, b'/') => state = State::BeginSlash,
(State::Outside, _) => non_comment_count += 1,
(State::BeginSlash, b'*') => state = State::Inside,
(State::BeginSlash, _) => {
state = State::Outside;
non_comment_count += 2;
}
(State::Inside, b'*') => state = State::EndAsterisk,
(State::Inside, _) => {},
(State::EndAsterisk, b'/') => state = State::Outside,
(State::EndAsterisk, _) => state = State::Inside,
}
}
Ok(non_comment_count)
}
fn main() {
for fname in std::env::args().skip(1) {
match count_non_comment_bytes(&fname) {
Ok(n) => println!("{}: {} non-comment bytes", fname, n),
Err(err) => println!("error while processing {}: {:?}", fname, err),
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment