diff --git a/Makefile b/Makefile index 44c6e76..65ced1a 100644 --- a/Makefile +++ b/Makefile @@ -85,6 +85,30 @@ generate_ui_tests: -cd "${RUST_SRC}"; ./ui_compiletest.sh "${RUST_SRC}" "${RUST_DIR}"/tests/ui/upstream "${RUST_DIR}"/tests_ui_sources --pass check --force-rerun 2>&1 > "${RUST_DIR}"/tests_ui_upstream.log -cd "${RUST_SRC}"; RUST_BIN="${PWD}"/run.sh ./ui_compiletest.sh "${RUST_SRC}" "${RUST_DIR}"/tests/ui/smir "${RUST_DIR}"/tests_ui_sources --pass check --force-rerun 2>&1 > "${RUST_DIR}"/tests_ui_smir.log +TESTDIR=$(CURDIR)/tests/integration/programs + .PHONY: integration-test -integration-test: - @echo "Implement me!" +integration-test: TESTS ?= $(shell find $(TESTDIR) -type f -name "*.rs") +integration-test: SMIR ?= $(CURDIR)/run.sh -Z no-codegen +# override this to tweak how expectations are formatted +integration-test: NORMALIZE ?= jq -S -e -f $(TESTDIR)/../normalise-filter.jq +# override this to re-make golden files +integration-test: DIFF ?= | diff - +integration-test: build + errors=""; \ + report() { echo "$$1: $$2"; errors="$$errors\n$$1: $$2"; }; \ + for rust in ${TESTS}; do \ + target=$${rust%.rs}.smir.json; \ + dir=$$(dirname $${rust}); \ + echo "$$rust"; \ + ${SMIR} --out-dir $${dir} $${rust} || report "$$rust" "Conversion failed"; \ + [ -f $${target} ] \ + && ${NORMALIZE} $${target} ${DIFF} $${target}.expected \ + && rm $${target} \ + || report "$$rust" "Unexpected json output"; \ + done; \ + [ -z "$$errors" ] || (echo "===============\nFAILING TESTS:$$errors"; exit 1) + + +golden: + make integration-test DIFF=">" diff --git a/panic_example.rs b/panic_example.rs deleted file mode 100644 index c307e16..0000000 --- a/panic_example.rs +++ /dev/null @@ -1,3 +0,0 @@ -fn main() { - panic!() -} \ No newline at end of file diff --git a/panic_example.rs b/panic_example.rs new file mode 120000 index 0000000..aeac1bb --- /dev/null +++ b/panic_example.rs @@ -0,0 +1 @@ +tests/integration/programs/panic_example.rs \ No newline at end of file diff --git a/panic_example.smir.json b/panic_example.smir.json deleted file mode 100644 index 9ae1248..0000000 --- a/panic_example.smir.json +++ /dev/null @@ -1 +0,0 @@ -{"name": "panic_example", "crate_id": 3804531016856674905, "allocs": [[0,{"Memory":{"bytes":[117,110,115,97,102,101,32,112,114,101,99,111,110,100,105,116,105,111,110,40,115,41,32,118,105,111,108,97,116,101,100,58,32,112,116,114,58,58,114,101,97,100,95,118,111,108,97,116,105,108,101,32,114,101,113,117,105,114,101,115,32,116,104,97,116,32,116,104,101,32,112,111,105,110,116,101,114,32,97,114,103,117,109,101,110,116,32,105,115,32,97,108,105,103,110,101,100,32,97,110,100,32,110,111,110,45,110,117,108,108],"provenance":{"ptrs":[]},"align":1,"mutability":"Not"}}],[1,{"Memory":{"bytes":[0,0,0,0,0,0,0,0,42,0,0,0,0,0,0,0],"provenance":{"ptrs":[[0,12]]},"align":8,"mutability":"Not"}}],[2,{"Memory":{"bytes":[],"provenance":{"ptrs":[]},"align":8,"mutability":"Not"}}],[3,{"Memory":{"bytes":[0,0,0,0,0,0,0,0,42,0,0,0,0,0,0,0],"provenance":{"ptrs":[[0,13]]},"align":8,"mutability":"Not"}}],[4,{"Memory":{"bytes":[117,110,115,97,102,101,32,112,114,101,99,111,110,100,105,116,105,111,110,40,115,41,32,118,105,111,108,97,116,101,100,58,32,78,111,110,78,117,108,108,58,58,110,101,119,95,117,110,99,104,101,99,107,101,100,32,114,101,113,117,105,114,101,115,32,116,104,97,116,32,116,104,101,32,112,111,105,110,116,101,114,32,105,115,32,110,111,110,45,110,117,108,108],"provenance":{"ptrs":[]},"align":1,"mutability":"Not"}}],[5,{"Memory":{"bytes":[],"provenance":{"ptrs":[]},"align":1,"mutability":"Not"}}],[6,{"Memory":{"bytes":[],"provenance":{"ptrs":[]},"align":1,"mutability":"Not"}}],[7,{"Static":100}],[8,{"Memory":{"bytes":[101,120,112,108,105,99,105,116,32,112,97,110,105,99],"provenance":{"ptrs":[]},"align":1,"mutability":"Not"}}],[12,{"Memory":{"bytes":[105,115,95,97,108,105,103,110,101,100,95,116,111,58,32,97,108,105,103,110,32,105,115,32,110,111,116,32,97,32,112,111,119,101,114,45,111,102,45,116,119,111],"provenance":{"ptrs":[]},"align":1,"mutability":"Not"}}],[13,{"Memory":{"bytes":[105,115,95,97,108,105,103,110,101,100,95,116,111,58,32,97,108,105,103,110,32,105,115,32,110,111,116,32,97,32,112,111,119,101,114,45,111,102,45,116,119,111],"provenance":{"ptrs":[]},"align":1,"mutability":"Not"}}]], "functions": [[7,{"NormalSym":"_ZN3std2rt19lang_start_internal17h51b943990c0e2c96E"}],[80,{"NormalSym":"_ZN4core3ptr8non_null16NonNull$LT$T$GT$13new_unchecked18precondition_check17h180abd43edd08785E"}],[20,{"NormalSym":"_ZN3std3sys9backtrace28__rust_begin_short_backtrace17h163f76a593f9a61dE"}],[36,{"NormalSym":"_ZN3std9panicking20rust_panic_with_hook17he6fc28793b894d73E"}],[101,{"NormalSym":"_ZN5alloc5boxed12Box$LT$T$GT$3new17hfb7bad2afdef8431E"}],[112,{"NormalSym":"_ZN3std9panicking11begin_panic17h046658c3c0b9185bE"}],[114,{"NoOpSym":""}],[76,{"IntrinsicSym":"volatile_load"}],[115,{"NoOpSym":""}],[63,{"NormalSym":"_ZN5alloc5alloc6Global10alloc_impl17hfeb4b7829cd89493E"}],[42,{"NormalSym":"_ZN4core3ops8function6FnOnce9call_once17h86e2963be1a2fd6aE"}],[66,{"NormalSym":"_ZN5alloc5alloc18handle_alloc_error17h367988acd01d106aE"}],[78,{"NormalSym":"__rust_alloc_zeroed"}],[0,{"IntrinsicSym":"type_id"}],[50,{"NormalSym":"_ZN4core9panicking9panic_fmt17h8510a50a874ddcc2E"}],[93,{"NormalSym":"_ZN3std7process5abort17h4d7b628a2864edb7E"}],[75,{"NormalSym":"_ZN4core3ptr13read_volatile18precondition_check17hc773488a477a662fE"}],[29,{"NormalSym":"_ZN4core3ops8function6FnOnce9call_once17h11ec6afa27e3d406E"}],[30,{"IntrinsicSym":"caller_location"}],[113,{"NormalSym":"_ZN54_$LT$$LP$$RP$$u20$as$u20$std..process..Termination$GT$6report17h6e8cf99dfda5fdefE"}],[79,{"NormalSym":"_ZN5alloc5alloc5alloc17h214157fcd92df279E"}],[49,{"IntrinsicSym":"ctpop"}],[48,{"NormalSym":"_ZN4core9panicking14panic_nounwind17hee6445121510e179E"}],[116,{"NoOpSym":""}],[31,{"NormalSym":"_ZN3std3sys9backtrace26__rust_end_short_backtrace17h4bae7cc86322177bE"}],[88,{"NormalSym":"_ZN5alloc5alloc15exchange_malloc17h5443007c4b77064aE"}],[96,{"NormalSym":"_ZN4core3fmt9Formatter9write_str17hd334b351ded225feE"}],[26,{"IntrinsicSym":"black_box"}],[73,{"NormalSym":"__rust_alloc"}],[94,{"NormalSym":"_ZN3std9panicking14payload_as_str17h5ede2995a2a0c693E"}]], "items": [{"details":null,"mono_item_kind":{"MonoItemFn":{"body":[{"arg_count":1,"blocks":[{"statements":[],"terminator":{"kind":{"Call":{"args":[{"Move":{"local":1,"projection":[]}},{"Constant":{"const_":{"id":6,"kind":"ZeroSized","ty":8},"span":50,"user_ty":null}}],"destination":{"local":0,"projection":[]},"func":{"Constant":{"const_":{"id":5,"kind":"ZeroSized","ty":25},"span":49,"user_ty":null}},"target":1,"unwind":"Continue"}},"span":51}},{"statements":[],"terminator":{"kind":{"Call":{"args":[{"Constant":{"const_":{"id":6,"kind":"ZeroSized","ty":8},"span":50,"user_ty":null}}],"destination":{"local":2,"projection":[]},"func":{"Constant":{"const_":{"id":7,"kind":"ZeroSized","ty":26},"span":52,"user_ty":null}},"target":2,"unwind":"Unreachable"}},"span":53}},{"statements":[],"terminator":{"kind":"Return","span":54}}],"locals":[{"mutability":"Mut","span":55,"ty":27},{"mutability":"Not","span":56,"ty":28},{"mutability":"Not","span":57,"ty":8}],"span":60,"spread_arg":null,"var_debug_info":[{"argument_index":1,"composite":null,"name":"f","source_info":{"scope":0,"span":56},"value":{"Place":{"local":1,"projection":[]}}},{"argument_index":null,"composite":null,"name":"result","source_info":{"scope":1,"span":58},"value":{"Place":{"local":0,"projection":[]}}},{"argument_index":1,"composite":null,"name":"dummy","source_info":{"scope":2,"span":59},"value":{"Const":{"const_":{"id":6,"kind":"ZeroSized","ty":8},"span":50,"user_ty":null}}}]}],"id":4,"name":"std::sys::backtrace::__rust_end_short_backtrace::<{closure@std::rt::begin_panic<&str>::{closure#0}}, !>"}},"symbol_name":"_ZN3std3sys9backtrace26__rust_end_short_backtrace17h4bae7cc86322177bE"},{"details":null,"mono_item_kind":{"MonoItemFn":{"body":[{"arg_count":1,"blocks":[{"statements":[{"kind":{"StorageLive":2},"span":2},{"kind":{"StorageLive":3},"span":2},{"kind":{"StorageLive":5},"span":2}],"terminator":{"kind":{"Call":{"args":[],"destination":{"local":2,"projection":[]},"func":{"Constant":{"const_":{"id":0,"kind":"ZeroSized","ty":0},"span":0,"user_ty":null}},"target":1,"unwind":"Unreachable"}},"span":1}},{"statements":[{"kind":{"StorageLive":4},"span":4},{"kind":{"Assign":[{"local":4,"projection":[]},{"BinaryOp":["Shr",{"Copy":{"local":2,"projection":[]}},{"Constant":{"const_":{"id":1,"kind":{"Allocated":{"align":4,"bytes":[64,0,0,0],"mutability":"Mut","provenance":{"ptrs":[]}}},"ty":1},"span":5,"user_ty":null}}]}]},"span":4},{"kind":{"Assign":[{"local":3,"projection":[]},{"Cast":["IntToInt",{"Move":{"local":4,"projection":[]}},2]}]},"span":6},{"kind":{"StorageDead":4},"span":7},{"kind":{"Assign":[{"local":5,"projection":[]},{"Cast":["IntToInt",{"Copy":{"local":2,"projection":[]}},2]}]},"span":8},{"kind":{"StorageLive":6},"span":9},{"kind":{"Assign":[{"local":6,"projection":[]},{"Aggregate":["Tuple",[{"Copy":{"local":3,"projection":[]}},{"Copy":{"local":5,"projection":[]}}]]}]},"span":9},{"kind":{"Assign":[{"local":0,"projection":[]},{"Aggregate":[{"Adt":[1,0,[],null,null]},[{"Move":{"local":6,"projection":[]}}]]}]},"span":10},{"kind":{"StorageDead":6},"span":11},{"kind":{"StorageDead":5},"span":2},{"kind":{"StorageDead":3},"span":2},{"kind":{"StorageDead":2},"span":2}],"terminator":{"kind":"Return","span":3}}],"locals":[{"mutability":"Mut","span":12,"ty":3},{"mutability":"Not","span":13,"ty":4},{"mutability":"Not","span":14,"ty":5},{"mutability":"Not","span":15,"ty":2},{"mutability":"Mut","span":4,"ty":5},{"mutability":"Not","span":16,"ty":2},{"mutability":"Mut","span":9,"ty":6}],"span":17,"spread_arg":null,"var_debug_info":[{"argument_index":1,"composite":null,"name":"self","source_info":{"scope":0,"span":13},"value":{"Place":{"local":1,"projection":[]}}},{"argument_index":null,"composite":null,"name":"t","source_info":{"scope":2,"span":14},"value":{"Place":{"local":2,"projection":[]}}},{"argument_index":null,"composite":null,"name":"t1","source_info":{"scope":3,"span":15},"value":{"Place":{"local":3,"projection":[]}}},{"argument_index":null,"composite":null,"name":"t2","source_info":{"scope":4,"span":16},"value":{"Place":{"local":5,"projection":[]}}}]}],"id":0,"name":"<&str as std::any::Any>::type_id"}},"symbol_name":"_ZN36_$LT$T$u20$as$u20$core..any..Any$GT$7type_id17h5fbaa8559e09a241E"},{"details":null,"mono_item_kind":{"MonoItemFn":{"body":[{"arg_count":0,"blocks":[{"statements":[],"terminator":{"kind":{"Call":{"args":[{"Constant":{"const_":{"id":54,"kind":{"Allocated":{"align":8,"bytes":[0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0],"mutability":"Mut","provenance":{"ptrs":[[0,8]]}}},"ty":32},"span":418,"user_ty":null}}],"destination":{"local":1,"projection":[]},"func":{"Constant":{"const_":{"id":53,"kind":"ZeroSized","ty":112},"span":417,"user_ty":null}},"target":null,"unwind":"Continue"}},"span":419}}],"locals":[{"mutability":"Mut","span":420,"ty":8},{"mutability":"Mut","span":419,"ty":27}],"span":421,"spread_arg":null,"var_debug_info":[]}],"id":31,"name":"main"}},"symbol_name":"_ZN13panic_example4main17h1a3a8ec0839c9696E"},{"details":null,"mono_item_kind":{"MonoItemFn":{"body":[{"arg_count":1,"blocks":[{"statements":[{"kind":{"StorageLive":2},"span":35},{"kind":{"StorageLive":3},"span":34},{"kind":{"StorageLive":4},"span":36},{"kind":{"Assign":[{"local":4,"projection":[]},{"Use":{"Copy":{"local":1,"projection":["Deref",{"Field":[0,14]}]}}}]},"span":36}],"terminator":{"kind":{"Call":{"args":[{"Move":{"local":4,"projection":[]}}],"destination":{"local":3,"projection":[]},"func":{"Constant":{"const_":{"id":3,"kind":"ZeroSized","ty":20},"span":33,"user_ty":null}},"target":1,"unwind":"Continue"}},"span":34}},{"statements":[{"kind":{"StorageDead":4},"span":38}],"terminator":{"kind":{"Call":{"args":[{"Move":{"local":3,"projection":[]}}],"destination":{"local":2,"projection":[]},"func":{"Constant":{"const_":{"id":4,"kind":"ZeroSized","ty":21},"span":37,"user_ty":null}},"target":2,"unwind":"Continue"}},"span":35}},{"statements":[{"kind":{"StorageDead":3},"span":40},{"kind":{"StorageLive":5},"span":41},{"kind":{"Assign":[{"local":5,"projection":[]},{"Ref":[{"kind":"ReErased"},"Shared",{"local":2,"projection":[{"Field":[0,22]}]}]}]},"span":41},{"kind":{"StorageLive":6},"span":42},{"kind":{"Assign":[{"local":6,"projection":[]},{"Use":{"Copy":{"local":2,"projection":[{"Field":[0,22]},{"Field":[0,16]}]}}}]},"span":42},{"kind":{"Assign":[{"local":0,"projection":[]},{"Cast":["IntToInt",{"Move":{"local":6,"projection":[]}},1]}]},"span":43},{"kind":{"StorageDead":6},"span":44},{"kind":{"StorageDead":5},"span":45},{"kind":{"StorageDead":2},"span":22}],"terminator":{"kind":"Return","span":39}}],"locals":[{"mutability":"Mut","span":46,"ty":1},{"mutability":"Mut","span":21,"ty":18},{"mutability":"Mut","span":35,"ty":23},{"mutability":"Mut","span":34,"ty":8},{"mutability":"Mut","span":36,"ty":14},{"mutability":"Mut","span":41,"ty":24},{"mutability":"Mut","span":42,"ty":16}],"span":21,"spread_arg":null,"var_debug_info":[{"argument_index":null,"composite":null,"name":"main","source_info":{"scope":0,"span":28},"value":{"Place":{"local":1,"projection":["Deref",{"Field":[0,14]}]}}},{"argument_index":1,"composite":null,"name":"self","source_info":{"scope":1,"span":47},"value":{"Place":{"local":2,"projection":[]}}},{"argument_index":1,"composite":null,"name":"self","source_info":{"scope":2,"span":48},"value":{"Place":{"local":5,"projection":[]}}}]}],"id":3,"name":"std::rt::lang_start::<()>::{closure#0}"}},"symbol_name":"_ZN3std2rt10lang_start28_$u7b$$u7b$closure$u7d$$u7d$17hc407815e8e27866fE"},{"details":null,"mono_item_kind":{"MonoItemFn":{"body":[{"arg_count":2,"blocks":[{"statements":[{"kind":{"StorageLive":8},"span":167},{"kind":{"Assign":[{"local":8,"projection":[]},{"Cast":["Transmute",{"Copy":{"local":2,"projection":[]}},65]}]},"span":168},{"kind":{"Assign":[{"local":3,"projection":[]},{"Aggregate":[{"Adt":[19,0,[],null,null]},[{"Copy":{"local":1,"projection":[]}},{"Move":{"local":8,"projection":[]}}]]}]},"span":169},{"kind":{"StorageDead":8},"span":170},{"kind":{"StorageLive":4},"span":171}],"terminator":{"kind":{"Call":{"args":[{"Constant":{"const_":{"id":30,"kind":{"Allocated":{"align":8,"bytes":[0,0,0,0,0,0,0,0],"mutability":"Mut","provenance":{"ptrs":[[0,5]]}}},"ty":64},"span":50,"user_ty":null}},{"Copy":{"local":3,"projection":[]}},{"Constant":{"const_":{"id":13,"kind":{"Allocated":{"align":1,"bytes":[0],"mutability":"Mut","provenance":{"ptrs":[]}}},"ty":37},"span":165,"user_ty":null}}],"destination":{"local":4,"projection":[]},"func":{"Constant":{"const_":{"id":29,"kind":"ZeroSized","ty":63},"span":164,"user_ty":null}},"target":4,"unwind":"Continue"}},"span":166}},{"statements":[],"terminator":{"kind":"Unreachable","span":171}},{"statements":[],"terminator":{"kind":{"Call":{"args":[{"Move":{"local":3,"projection":[]}}],"destination":{"local":7,"projection":[]},"func":{"Constant":{"const_":{"id":31,"kind":"ZeroSized","ty":66},"span":172,"user_ty":null}},"target":null,"unwind":"Continue"}},"span":173}},{"statements":[{"kind":{"Assign":[{"local":6,"projection":[]},{"Use":{"Copy":{"local":4,"projection":[{"Downcast":0},{"Field":[0,67]}]}}}]},"span":175},{"kind":{"StorageLive":10},"span":176},{"kind":{"StorageLive":11},"span":176},{"kind":{"StorageLive":9},"span":177},{"kind":{"Assign":[{"local":11,"projection":[]},{"Use":{"Copy":{"local":6,"projection":[{"Field":[0,68]}]}}}]},"span":178},{"kind":{"Assign":[{"local":10,"projection":[]},{"Cast":["PtrToPtr",{"Copy":{"local":11,"projection":[]}},46]}]},"span":179},{"kind":{"Assign":[{"local":9,"projection":[]},{"Aggregate":[{"Adt":[20,0,[{"Type":16}],null,null]},[{"Copy":{"local":10,"projection":[]}}]]}]},"span":180},{"kind":{"Assign":[{"local":0,"projection":[]},{"Cast":["PtrToPtr",{"Copy":{"local":11,"projection":[]}},61]}]},"span":181},{"kind":{"StorageDead":9},"span":182},{"kind":{"StorageDead":11},"span":176},{"kind":{"StorageDead":10},"span":176},{"kind":{"StorageDead":4},"span":183}],"terminator":{"kind":"Return","span":174}},{"statements":[{"kind":{"Assign":[{"local":5,"projection":[]},{"Discriminant":{"local":4,"projection":[]}}]},"span":171}],"terminator":{"kind":{"SwitchInt":{"discr":{"Move":{"local":5,"projection":[]}},"targets":{"branches":[[0,3],[1,2]],"otherwise":1}}},"span":184}}],"locals":[{"mutability":"Mut","span":185,"ty":61},{"mutability":"Not","span":186,"ty":47},{"mutability":"Not","span":187,"ty":47},{"mutability":"Not","span":188,"ty":69},{"mutability":"Mut","span":171,"ty":70},{"mutability":"Mut","span":189,"ty":13},{"mutability":"Not","span":175,"ty":67},{"mutability":"Mut","span":173,"ty":27},{"mutability":"Mut","span":167,"ty":65},{"mutability":"Mut","span":177,"ty":71},{"mutability":"Mut","span":179,"ty":46},{"mutability":"Mut","span":178,"ty":68}],"span":200,"spread_arg":null,"var_debug_info":[{"argument_index":1,"composite":null,"name":"size","source_info":{"scope":0,"span":186},"value":{"Place":{"local":1,"projection":[]}}},{"argument_index":2,"composite":null,"name":"align","source_info":{"scope":0,"span":187},"value":{"Place":{"local":2,"projection":[]}}},{"argument_index":null,"composite":null,"name":"layout","source_info":{"scope":1,"span":188},"value":{"Place":{"local":3,"projection":[]}}},{"argument_index":null,"composite":null,"name":"ptr","source_info":{"scope":2,"span":175},"value":{"Place":{"local":6,"projection":[]}}},{"argument_index":1,"composite":null,"name":"size","source_info":{"scope":3,"span":190},"value":{"Place":{"local":1,"projection":[]}}},{"argument_index":2,"composite":null,"name":"align","source_info":{"scope":3,"span":191},"value":{"Place":{"local":2,"projection":[]}}},{"argument_index":1,"composite":null,"name":"align","source_info":{"scope":4,"span":192},"value":{"Place":{"local":2,"projection":[]}}},{"argument_index":1,"composite":null,"name":"self","source_info":{"scope":5,"span":193},"value":{"Const":{"const_":{"id":32,"kind":{"Allocated":{"align":8,"bytes":[0,0,0,0,0,0,0,0],"mutability":"Mut","provenance":{"ptrs":[[0,6]]}}},"ty":64},"span":194,"user_ty":null}}},{"argument_index":2,"composite":null,"name":"layout","source_info":{"scope":5,"span":195},"value":{"Place":{"local":3,"projection":[]}}},{"argument_index":1,"composite":null,"name":"self","source_info":{"scope":6,"span":196},"value":{"Place":{"local":6,"projection":[]}}},{"argument_index":1,"composite":null,"name":"self","source_info":{"scope":7,"span":197},"value":{"Place":{"local":6,"projection":[]}}},{"argument_index":1,"composite":null,"name":"self","source_info":{"scope":8,"span":198},"value":{"Place":{"local":6,"projection":[]}}},{"argument_index":1,"composite":null,"name":"self","source_info":{"scope":9,"span":199},"value":{"Place":{"local":6,"projection":[]}}},{"argument_index":1,"composite":null,"name":"self","source_info":{"scope":10,"span":199},"value":{"Place":{"local":9,"projection":[]}}}]},{"arg_count":0,"blocks":[{"statements":[{"kind":{"Assign":[{"local":1,"projection":[]},{"Aggregate":[{"Adt":[21,0,[],null,null]},[]]}]},"span":194},{"kind":{"Assign":[{"local":0,"projection":[]},{"Ref":[{"kind":"ReErased"},"Shared",{"local":1,"projection":[]}]}]},"span":194}],"terminator":{"kind":"Return","span":194}}],"locals":[{"mutability":"Mut","span":194,"ty":64},{"mutability":"Mut","span":194,"ty":72}],"span":194,"spread_arg":null,"var_debug_info":[]}],"id":18,"name":"alloc::alloc::exchange_malloc"}},"symbol_name":"_ZN5alloc5alloc15exchange_malloc17h5443007c4b77064aE"},{"details":null,"mono_item_kind":{"MonoItemFn":{"body":[{"arg_count":1,"blocks":[{"statements":[{"kind":{"Assign":[{"local":2,"projection":[]},{"Discriminant":{"local":1,"projection":["Deref",{"Field":[0,41]}]}}]},"span":362}],"terminator":{"kind":{"SwitchInt":{"discr":{"Move":{"local":2,"projection":[]}},"targets":{"branches":[[0,2],[1,3]],"otherwise":1}}},"span":361}},{"statements":[],"terminator":{"kind":"Unreachable","span":362}},{"statements":[],"terminator":{"kind":{"Call":{"args":[],"destination":{"local":5,"projection":[]},"func":{"Constant":{"const_":{"id":48,"kind":"ZeroSized","ty":93},"span":363,"user_ty":null}},"target":null,"unwind":"Continue"}},"span":364}},{"statements":[{"kind":{"StorageLive":3},"span":366},{"kind":{"Assign":[{"local":3,"projection":[]},{"Ref":[{"kind":"ReErased"},"Shared",{"local":1,"projection":["Deref",{"Field":[0,41]},{"Downcast":1},{"Field":[0,32]}]}]}]},"span":366},{"kind":{"StorageLive":4},"span":367},{"kind":{"Assign":[{"local":4,"projection":[]},{"Ref":[{"kind":"ReErased"},"Shared",{"local":1,"projection":["Deref",{"Field":[0,41]},{"Downcast":1},{"Field":[0,32]}]}]}]},"span":367},{"kind":{"Assign":[{"local":0,"projection":[]},{"Cast":[{"PointerCoercion":"Unsize"},{"Move":{"local":4,"projection":[]}},100]}]},"span":367},{"kind":{"StorageDead":4},"span":367},{"kind":{"StorageDead":3},"span":367}],"terminator":{"kind":"Return","span":365}}],"locals":[{"mutability":"Mut","span":368,"ty":100},{"mutability":"Not","span":369,"ty":39},{"mutability":"Mut","span":370,"ty":13},{"mutability":"Not","span":366,"ty":4},{"mutability":"Mut","span":367,"ty":4},{"mutability":"Mut","span":364,"ty":27}],"span":371,"spread_arg":null,"var_debug_info":[{"argument_index":1,"composite":null,"name":"self","source_info":{"scope":0,"span":369},"value":{"Place":{"local":1,"projection":[]}}},{"argument_index":null,"composite":null,"name":"a","source_info":{"scope":1,"span":366},"value":{"Place":{"local":3,"projection":[]}}}]}],"id":28,"name":" as core::panic::PanicPayload>::get"}},"symbol_name":"_ZN91_$LT$std..panicking..begin_panic..Payload$LT$A$GT$$u20$as$u20$core..panic..PanicPayload$GT$3get17h7e5b46332dff10e9E"},{"details":null,"mono_item_kind":{"MonoItemFn":{"body":[{"arg_count":1,"blocks":[{"statements":[],"terminator":{"kind":{"Call":{"args":[{"Move":{"local":1,"projection":[]}},{"Constant":{"const_":{"id":6,"kind":"ZeroSized","ty":8},"span":50,"user_ty":null}}],"destination":{"local":0,"projection":[]},"func":{"Constant":{"const_":{"id":8,"kind":"ZeroSized","ty":29},"span":61,"user_ty":null}},"target":1,"unwind":"Continue"}},"span":62}},{"statements":[],"terminator":{"kind":{"Call":{"args":[{"Constant":{"const_":{"id":6,"kind":"ZeroSized","ty":8},"span":50,"user_ty":null}}],"destination":{"local":2,"projection":[]},"func":{"Constant":{"const_":{"id":7,"kind":"ZeroSized","ty":26},"span":52,"user_ty":null}},"target":2,"unwind":"Unreachable"}},"span":53}},{"statements":[],"terminator":{"kind":"Return","span":63}}],"locals":[{"mutability":"Mut","span":64,"ty":8},{"mutability":"Not","span":65,"ty":14},{"mutability":"Not","span":66,"ty":8}],"span":68,"spread_arg":null,"var_debug_info":[{"argument_index":1,"composite":null,"name":"f","source_info":{"scope":0,"span":65},"value":{"Place":{"local":1,"projection":[]}}},{"argument_index":null,"composite":null,"name":"result","source_info":{"scope":1,"span":67},"value":{"Place":{"local":0,"projection":[]}}},{"argument_index":1,"composite":null,"name":"dummy","source_info":{"scope":2,"span":59},"value":{"Const":{"const_":{"id":6,"kind":"ZeroSized","ty":8},"span":50,"user_ty":null}}}]}],"id":5,"name":"std::sys::backtrace::__rust_begin_short_backtrace::"}},"symbol_name":"_ZN3std3sys9backtrace28__rust_begin_short_backtrace17h163f76a593f9a61dE"},{"details":null,"mono_item_kind":{"MonoItemFn":{"body":[{"arg_count":1,"blocks":[{"statements":[{"kind":{"Assign":[{"local":0,"projection":[]},{"Use":{"Constant":{"const_":{"id":27,"kind":{"Allocated":{"align":8,"bytes":[0,0,0,0,0,0,0,0,null,null,null,null,null,null,null,null],"mutability":"Not","provenance":{"ptrs":[]}}},"ty":41},"span":50,"user_ty":null}}}]},"span":155}],"terminator":{"kind":"Return","span":154}}],"locals":[{"mutability":"Mut","span":156,"ty":41},{"mutability":"Not","span":157,"ty":39}],"span":158,"spread_arg":null,"var_debug_info":[{"argument_index":1,"composite":null,"name":"self","source_info":{"scope":0,"span":157},"value":{"Place":{"local":1,"projection":[]}}}]}],"id":16,"name":" as core::panic::PanicPayload>::as_str"}},"symbol_name":"_ZN4core5panic12PanicPayload6as_str17h34f70170a81b2c4bE"},{"details":null,"mono_item_kind":{"MonoItemFn":{"body":[{"arg_count":2,"blocks":[{"statements":[],"terminator":{"kind":{"Call":{"args":[{"Move":{"local":1,"projection":["Deref"]}},{"Move":{"local":2,"projection":[]}}],"destination":{"local":0,"projection":[]},"func":{"Constant":{"const_":{"id":14,"kind":"ZeroSized","ty":42},"span":91,"user_ty":null}},"target":1,"unwind":"Continue"}},"span":91}},{"statements":[],"terminator":{"kind":"Return","span":91}}],"locals":[{"mutability":"Mut","span":91,"ty":1},{"mutability":"Not","span":91,"ty":43},{"mutability":"Not","span":91,"ty":8}],"span":91,"spread_arg":2,"var_debug_info":[]}],"id":11,"name":"<{closure@std::rt::lang_start<()>::{closure#0}} as std::ops::FnOnce<()>>::call_once"}},"symbol_name":"_ZN4core3ops8function6FnOnce40call_once$u7b$$u7b$vtable.shim$u7d$$u7d$17h0b6b3134fd4818cdE"},{"details":null,"mono_item_kind":{"MonoItemFn":{"body":[{"arg_count":1,"blocks":[{"statements":[{"kind":{"StorageLive":3},"span":139},{"kind":{"Assign":[{"local":3,"projection":[]},{"Cast":["PtrToPtr",{"Copy":{"local":1,"projection":[]}},61]}]},"span":140},{"kind":{"StorageLive":4},"span":141},{"kind":{"Assign":[{"local":4,"projection":[]},{"Cast":["Transmute",{"Copy":{"local":1,"projection":[]}},47]}]},"span":142},{"kind":{"StorageDead":3},"span":139}],"terminator":{"kind":{"SwitchInt":{"discr":{"Move":{"local":4,"projection":[]}},"targets":{"branches":[[0,1]],"otherwise":2}}},"span":138}},{"statements":[{"kind":{"StorageDead":4},"span":138}],"terminator":{"kind":{"Call":{"args":[{"Constant":{"const_":{"id":26,"kind":{"Allocated":{"align":8,"bytes":[0,0,0,0,0,0,0,0,93,0,0,0,0,0,0,0],"mutability":"Mut","provenance":{"ptrs":[[0,4]]}}},"ty":32},"span":144,"user_ty":null}}],"destination":{"local":2,"projection":[]},"func":{"Constant":{"const_":{"id":16,"kind":"ZeroSized","ty":48},"span":143,"user_ty":null}},"target":null,"unwind":"Unreachable"}},"span":145}},{"statements":[{"kind":{"StorageDead":4},"span":138}],"terminator":{"kind":"Return","span":146}}],"locals":[{"mutability":"Mut","span":147,"ty":8},{"mutability":"Not","span":148,"ty":62},{"mutability":"Not","span":145,"ty":27},{"mutability":"Mut","span":140,"ty":61},{"mutability":"Mut","span":141,"ty":47}],"span":153,"spread_arg":null,"var_debug_info":[{"argument_index":1,"composite":null,"name":"ptr","source_info":{"scope":0,"span":148},"value":{"Place":{"local":1,"projection":[]}}},{"argument_index":1,"composite":null,"name":"self","source_info":{"scope":1,"span":149},"value":{"Place":{"local":1,"projection":[]}}},{"argument_index":1,"composite":null,"name":"ptr","source_info":{"scope":2,"span":150},"value":{"Place":{"local":3,"projection":[]}}},{"argument_index":1,"composite":null,"name":"self","source_info":{"scope":3,"span":151},"value":{"Place":{"local":3,"projection":[]}}},{"argument_index":1,"composite":null,"name":"self","source_info":{"scope":4,"span":152},"value":{"Place":{"local":3,"projection":[]}}}]}],"id":15,"name":"std::ptr::NonNull::::new_unchecked::precondition_check"}},"symbol_name":"_ZN4core3ptr8non_null16NonNull$LT$T$GT$13new_unchecked18precondition_check17h180abd43edd08785E"},{"details":null,"mono_item_kind":{"MonoItemFn":{"body":[{"arg_count":2,"blocks":[{"statements":[{"kind":{"Assign":[{"local":3,"projection":[]},{"Discriminant":{"local":1,"projection":["Deref",{"Field":[0,41]}]}}]},"span":344}],"terminator":{"kind":{"SwitchInt":{"discr":{"Move":{"local":3,"projection":[]}},"targets":{"branches":[[0,2],[1,3]],"otherwise":1}}},"span":343}},{"statements":[],"terminator":{"kind":"Unreachable","span":344}},{"statements":[],"terminator":{"kind":{"Call":{"args":[],"destination":{"local":8,"projection":[]},"func":{"Constant":{"const_":{"id":48,"kind":"ZeroSized","ty":93},"span":345,"user_ty":null}},"target":null,"unwind":"Continue"}},"span":346}},{"statements":[{"kind":{"StorageLive":4},"span":349},{"kind":{"Assign":[{"local":4,"projection":[]},{"Ref":[{"kind":"ReErased"},"Shared",{"local":1,"projection":["Deref",{"Field":[0,41]},{"Downcast":1},{"Field":[0,32]}]}]}]},"span":349},{"kind":{"StorageLive":6},"span":350},{"kind":{"StorageLive":7},"span":350},{"kind":{"Assign":[{"local":7,"projection":[]},{"Ref":[{"kind":"ReErased"},"Shared",{"local":1,"projection":["Deref",{"Field":[0,41]},{"Downcast":1},{"Field":[0,32]}]}]}]},"span":350},{"kind":{"Assign":[{"local":6,"projection":[]},{"Cast":[{"PointerCoercion":"Unsize"},{"Move":{"local":7,"projection":[]}},95]}]},"span":350},{"kind":{"StorageDead":7},"span":350}],"terminator":{"kind":{"Call":{"args":[{"Move":{"local":6,"projection":[]}}],"destination":{"local":5,"projection":[]},"func":{"Constant":{"const_":{"id":49,"kind":"ZeroSized","ty":94},"span":347,"user_ty":null}},"target":4,"unwind":"Continue"}},"span":348}},{"statements":[{"kind":{"StorageDead":6},"span":353}],"terminator":{"kind":{"Call":{"args":[{"Move":{"local":2,"projection":[]}},{"Move":{"local":5,"projection":[]}}],"destination":{"local":0,"projection":[]},"func":{"Constant":{"const_":{"id":50,"kind":"ZeroSized","ty":96},"span":351,"user_ty":null}},"target":5,"unwind":"Continue"}},"span":352}},{"statements":[{"kind":{"StorageDead":4},"span":355}],"terminator":{"kind":"Return","span":354}}],"locals":[{"mutability":"Mut","span":356,"ty":97},{"mutability":"Not","span":357,"ty":98},{"mutability":"Not","span":358,"ty":99},{"mutability":"Mut","span":359,"ty":13},{"mutability":"Not","span":349,"ty":4},{"mutability":"Not","span":348,"ty":32},{"mutability":"Mut","span":350,"ty":95},{"mutability":"Mut","span":350,"ty":4},{"mutability":"Mut","span":346,"ty":27}],"span":360,"spread_arg":null,"var_debug_info":[{"argument_index":1,"composite":null,"name":"self","source_info":{"scope":0,"span":357},"value":{"Place":{"local":1,"projection":[]}}},{"argument_index":2,"composite":null,"name":"f","source_info":{"scope":0,"span":358},"value":{"Place":{"local":2,"projection":[]}}},{"argument_index":null,"composite":null,"name":"a","source_info":{"scope":1,"span":349},"value":{"Place":{"local":4,"projection":[]}}}]}],"id":27,"name":" as std::fmt::Display>::fmt"}},"symbol_name":"_ZN84_$LT$std..panicking..begin_panic..Payload$LT$A$GT$$u20$as$u20$core..fmt..Display$GT$3fmt17h2995801f2bca7f36E"},{"details":null,"mono_item_kind":{"MonoItemFn":{"body":[{"arg_count":1,"blocks":[{"statements":[{"kind":{"StorageLive":2},"span":82},{"kind":{"StorageLive":3},"span":82},{"kind":{"StorageLive":4},"span":83},{"kind":{"StorageLive":5},"span":84},{"kind":{"StorageLive":6},"span":85},{"kind":{"Assign":[{"local":6,"projection":[]},{"Use":{"Move":{"local":1,"projection":[{"Field":[0,32]}]}}}]},"span":85},{"kind":{"Assign":[{"local":5,"projection":[]},{"Aggregate":[{"Adt":[8,1,[{"Type":32}],null,null]},[{"Move":{"local":6,"projection":[]}}]]}]},"span":84},{"kind":{"StorageDead":6},"span":86},{"kind":{"Assign":[{"local":4,"projection":[]},{"Aggregate":[{"Adt":[9,0,[{"Type":32}],null,null]},[{"Move":{"local":5,"projection":[]}}]]}]},"span":83},{"kind":{"StorageDead":5},"span":87},{"kind":{"Assign":[{"local":3,"projection":[]},{"Ref":[{"kind":"ReErased"},{"Mut":{"kind":"Default"}},{"local":4,"projection":[]}]}]},"span":82},{"kind":{"Assign":[{"local":2,"projection":[]},{"Cast":[{"PointerCoercion":"Unsize"},{"Move":{"local":3,"projection":[]}},38]}]},"span":82},{"kind":{"StorageDead":3},"span":87},{"kind":{"Assign":[{"local":7,"projection":[]},{"Use":{"Copy":{"local":1,"projection":[{"Field":[1,35]}]}}}]},"span":88}],"terminator":{"kind":{"Call":{"args":[{"Move":{"local":2,"projection":[]}},{"Move":{"local":7,"projection":[]}},{"Constant":{"const_":{"id":12,"kind":{"Allocated":{"align":1,"bytes":[1],"mutability":"Mut","provenance":{"ptrs":[]}}},"ty":37},"span":79,"user_ty":null}},{"Constant":{"const_":{"id":13,"kind":{"Allocated":{"align":1,"bytes":[0],"mutability":"Mut","provenance":{"ptrs":[]}}},"ty":37},"span":80,"user_ty":null}}],"destination":{"local":0,"projection":[]},"func":{"Constant":{"const_":{"id":11,"kind":"ZeroSized","ty":36},"span":78,"user_ty":null}},"target":null,"unwind":{"Cleanup":1}}},"span":81}},{"statements":[],"terminator":{"kind":{"Drop":{"place":{"local":4,"projection":[]},"target":2,"unwind":"Terminate"}},"span":89}},{"statements":[],"terminator":{"kind":"Resume","span":74}}],"locals":[{"mutability":"Mut","span":90,"ty":27},{"mutability":"Mut","span":74,"ty":28},{"mutability":"Mut","span":82,"ty":38},{"mutability":"Mut","span":82,"ty":39},{"mutability":"Mut","span":83,"ty":40},{"mutability":"Mut","span":84,"ty":41},{"mutability":"Mut","span":85,"ty":32},{"mutability":"Mut","span":74,"ty":35}],"span":74,"spread_arg":null,"var_debug_info":[{"argument_index":null,"composite":null,"name":"msg","source_info":{"scope":0,"span":76},"value":{"Place":{"local":1,"projection":[{"Field":[0,32]}]}}},{"argument_index":null,"composite":null,"name":"loc","source_info":{"scope":0,"span":71},"value":{"Place":{"local":1,"projection":[{"Field":[1,35]}]}}}]}],"id":7,"name":"std::rt::begin_panic::<&str>::{closure#0}"}},"symbol_name":"_ZN3std9panicking11begin_panic28_$u7b$$u7b$closure$u7d$$u7d$17h1ebb1eaab9f30b5aE"},{"details":null,"mono_item_kind":{"MonoItemFn":{"body":[{"arg_count":3,"blocks":[{"statements":[{"kind":{"StorageLive":5},"span":239},{"kind":{"Assign":[{"local":5,"projection":[]},{"Ref":[{"kind":"ReErased"},"Shared",{"local":2,"projection":[]}]}]},"span":239},{"kind":{"Assign":[{"local":4,"projection":[]},{"Use":{"Copy":{"local":2,"projection":[{"Field":[0,47]}]}}}]},"span":211},{"kind":{"StorageDead":5},"span":240}],"terminator":{"kind":{"SwitchInt":{"discr":{"Copy":{"local":4,"projection":[]}},"targets":{"branches":[[0,2]],"otherwise":1}}},"span":238}},{"statements":[{"kind":{"StorageLive":9},"span":242}],"terminator":{"kind":{"SwitchInt":{"discr":{"Copy":{"local":3,"projection":[]}},"targets":{"branches":[[0,4]],"otherwise":3}}},"span":241}},{"statements":[{"kind":{"StorageLive":6},"span":244},{"kind":{"StorageLive":7},"span":245},{"kind":{"StorageLive":8},"span":246},{"kind":{"Assign":[{"local":8,"projection":[]},{"Ref":[{"kind":"ReErased"},"Shared",{"local":2,"projection":[]}]}]},"span":246},{"kind":{"StorageLive":18},"span":247},{"kind":{"StorageLive":19},"span":215},{"kind":{"Assign":[{"local":19,"projection":[]},{"Use":{"Copy":{"local":2,"projection":[{"Field":[1,65]}]}}}]},"span":215},{"kind":{"StorageLive":21},"span":216},{"kind":{"StorageLive":22},"span":216},{"kind":{"StorageLive":23},"span":216},{"kind":{"StorageLive":24},"span":216},{"kind":{"StorageLive":20},"span":217},{"kind":{"Assign":[{"local":20,"projection":[]},{"Use":{"Copy":{"local":19,"projection":[{"Field":[0,74]}]}}}]},"span":217},{"kind":{"Assign":[{"local":21,"projection":[]},{"Discriminant":{"local":20,"projection":[]}}]},"span":218},{"kind":{"Assign":[{"local":22,"projection":[]},{"BinaryOp":["Ge",{"Copy":{"local":21,"projection":[]}},{"Constant":{"const_":{"id":34,"kind":{"Allocated":{"align":8,"bytes":[1,0,0,0,0,0,0,0],"mutability":"Mut","provenance":{"ptrs":[]}}},"ty":2},"span":218,"user_ty":null}}]}]},"span":218},{"kind":{"Assign":[{"local":23,"projection":[]},{"BinaryOp":["Le",{"Copy":{"local":21,"projection":[]}},{"Constant":{"const_":{"id":35,"kind":{"Allocated":{"align":8,"bytes":[0,0,0,0,0,0,0,128],"mutability":"Mut","provenance":{"ptrs":[]}}},"ty":2},"span":218,"user_ty":null}}]}]},"span":218},{"kind":{"Assign":[{"local":24,"projection":[]},{"BinaryOp":["BitAnd",{"Move":{"local":22,"projection":[]}},{"Move":{"local":23,"projection":[]}}]}]},"span":218},{"kind":{"Intrinsic":{"Assume":{"Move":{"local":24,"projection":[]}}}},"span":218},{"kind":{"Assign":[{"local":18,"projection":[]},{"Cast":["IntToInt",{"Copy":{"local":21,"projection":[]}},47]}]},"span":218},{"kind":{"StorageDead":20},"span":219},{"kind":{"StorageDead":24},"span":216},{"kind":{"StorageDead":23},"span":216},{"kind":{"StorageDead":22},"span":216},{"kind":{"StorageDead":21},"span":216},{"kind":{"StorageDead":19},"span":220},{"kind":{"Assign":[{"local":17,"projection":[]},{"Cast":["Transmute",{"Copy":{"local":18,"projection":[]}},61]}]},"span":248},{"kind":{"StorageDead":18},"span":249},{"kind":{"Assign":[{"local":25,"projection":[]},{"NullaryOp":["UbChecks",37]}]},"span":203}],"terminator":{"kind":{"SwitchInt":{"discr":{"Copy":{"local":25,"projection":[]}},"targets":{"branches":[[0,9]],"otherwise":7}}},"span":243}},{"statements":[{"kind":{"StorageLive":10},"span":252},{"kind":{"Assign":[{"local":10,"projection":[]},{"Use":{"Copy":{"local":2,"projection":[]}}}]},"span":252},{"kind":{"StorageLive":34},"span":253},{"kind":{"Assign":[{"local":34,"projection":[]},{"Ref":[{"kind":"ReErased"},"Shared",{"local":10,"projection":[]}]}]},"span":253},{"kind":{"StorageDead":34},"span":254},{"kind":{"StorageLive":35},"span":255},{"kind":{"StorageLive":36},"span":256},{"kind":{"Assign":[{"local":36,"projection":[]},{"Ref":[{"kind":"ReErased"},"Shared",{"local":10,"projection":[]}]}]},"span":256},{"kind":{"StorageLive":37},"span":215},{"kind":{"Assign":[{"local":37,"projection":[]},{"Use":{"Copy":{"local":2,"projection":[{"Field":[1,65]}]}}}]},"span":215},{"kind":{"StorageLive":39},"span":216},{"kind":{"StorageLive":40},"span":216},{"kind":{"StorageLive":41},"span":216},{"kind":{"StorageLive":42},"span":216},{"kind":{"StorageLive":38},"span":217},{"kind":{"Assign":[{"local":38,"projection":[]},{"Use":{"Copy":{"local":37,"projection":[{"Field":[0,74]}]}}}]},"span":217},{"kind":{"Assign":[{"local":39,"projection":[]},{"Discriminant":{"local":38,"projection":[]}}]},"span":218},{"kind":{"Assign":[{"local":40,"projection":[]},{"BinaryOp":["Ge",{"Copy":{"local":39,"projection":[]}},{"Constant":{"const_":{"id":34,"kind":{"Allocated":{"align":8,"bytes":[1,0,0,0,0,0,0,0],"mutability":"Mut","provenance":{"ptrs":[]}}},"ty":2},"span":218,"user_ty":null}}]}]},"span":218},{"kind":{"Assign":[{"local":41,"projection":[]},{"BinaryOp":["Le",{"Copy":{"local":39,"projection":[]}},{"Constant":{"const_":{"id":35,"kind":{"Allocated":{"align":8,"bytes":[0,0,0,0,0,0,0,128],"mutability":"Mut","provenance":{"ptrs":[]}}},"ty":2},"span":218,"user_ty":null}}]}]},"span":218},{"kind":{"Assign":[{"local":42,"projection":[]},{"BinaryOp":["BitAnd",{"Move":{"local":40,"projection":[]}},{"Move":{"local":41,"projection":[]}}]}]},"span":218},{"kind":{"Intrinsic":{"Assume":{"Move":{"local":42,"projection":[]}}}},"span":218},{"kind":{"Assign":[{"local":35,"projection":[]},{"Cast":["IntToInt",{"Copy":{"local":39,"projection":[]}},47]}]},"span":218},{"kind":{"StorageDead":38},"span":219},{"kind":{"StorageDead":42},"span":216},{"kind":{"StorageDead":41},"span":216},{"kind":{"StorageDead":40},"span":216},{"kind":{"StorageDead":39},"span":216},{"kind":{"StorageDead":37},"span":220},{"kind":{"StorageDead":36},"span":257}],"terminator":{"kind":{"Call":{"args":[{"Copy":{"local":4,"projection":[]}},{"Move":{"local":35,"projection":[]}}],"destination":{"local":9,"projection":[]},"func":{"Constant":{"const_":{"id":39,"kind":"ZeroSized","ty":78},"span":250,"user_ty":null}},"target":13,"unwind":"Unreachable"}},"span":251}},{"statements":[],"terminator":{"kind":{"Call":{"args":[{"Copy":{"local":2,"projection":[]}}],"destination":{"local":9,"projection":[]},"func":{"Constant":{"const_":{"id":40,"kind":"ZeroSized","ty":79},"span":258,"user_ty":null}},"target":5,"unwind":"Continue"}},"span":259}},{"statements":[{"kind":{"StorageLive":11},"span":261},{"kind":{"StorageLive":12},"span":262},{"kind":{"StorageLive":13},"span":263},{"kind":{"Assign":[{"local":14,"projection":[]},{"Use":{"Copy":{"local":9,"projection":[]}}}]},"span":264},{"kind":{"StorageLive":44},"span":141},{"kind":{"Assign":[{"local":44,"projection":[]},{"Cast":["Transmute",{"Copy":{"local":14,"projection":[]}},47]}]},"span":142}],"terminator":{"kind":{"SwitchInt":{"discr":{"Move":{"local":44,"projection":[]}},"targets":{"branches":[[0,14]],"otherwise":15}}},"span":260}},{"statements":[],"terminator":{"kind":"Return","span":265}},{"statements":[{"kind":{"StorageLive":27},"span":268},{"kind":{"Assign":[{"local":27,"projection":[]},{"Cast":["PtrToPtr",{"Copy":{"local":17,"projection":[]}},62]}]},"span":268}],"terminator":{"kind":{"Call":{"args":[{"Move":{"local":27,"projection":[]}}],"destination":{"local":26,"projection":[]},"func":{"Constant":{"const_":{"id":41,"kind":"ZeroSized","ty":80},"span":266,"user_ty":null}},"target":8,"unwind":"Unreachable"}},"span":267}},{"statements":[{"kind":{"StorageDead":27},"span":269},{"kind":{"Assign":[{"local":28,"projection":[]},{"Cast":["PtrToPtr",{"Copy":{"local":17,"projection":[]}},46]}]},"span":270},{"kind":{"Assign":[{"local":7,"projection":[]},{"Aggregate":[{"Adt":[20,0,[{"Type":16}],null,null]},[{"Copy":{"local":28,"projection":[]}}]]}]},"span":271},{"kind":{"StorageDead":8},"span":272},{"kind":{"StorageLive":29},"span":273},{"kind":{"StorageLive":30},"span":274},{"kind":{"Assign":[{"local":30,"projection":[]},{"Use":{"Copy":{"local":17,"projection":[]}}}]},"span":181},{"kind":{"Assign":[{"local":29,"projection":[]},{"Aggregate":[{"RawPtr":[81,"Mut"]},[{"Copy":{"local":17,"projection":[]}},{"Constant":{"const_":{"id":20,"kind":{"Allocated":{"align":8,"bytes":[0,0,0,0,0,0,0,0],"mutability":"Mut","provenance":{"ptrs":[]}}},"ty":47},"span":50,"user_ty":null}}]]}]},"span":275},{"kind":{"StorageDead":30},"span":276},{"kind":{"StorageLive":33},"span":277}],"terminator":{"kind":{"Goto":{"target":10}},"span":243}},{"statements":[{"kind":{"Assign":[{"local":28,"projection":[]},{"Cast":["PtrToPtr",{"Copy":{"local":17,"projection":[]}},46]}]},"span":270},{"kind":{"Assign":[{"local":7,"projection":[]},{"Aggregate":[{"Adt":[20,0,[{"Type":16}],null,null]},[{"Copy":{"local":28,"projection":[]}}]]}]},"span":271},{"kind":{"StorageDead":8},"span":272},{"kind":{"StorageLive":29},"span":273},{"kind":{"StorageLive":30},"span":274},{"kind":{"Assign":[{"local":30,"projection":[]},{"Use":{"Copy":{"local":17,"projection":[]}}}]},"span":181},{"kind":{"Assign":[{"local":29,"projection":[]},{"Aggregate":[{"RawPtr":[81,"Mut"]},[{"Copy":{"local":17,"projection":[]}},{"Constant":{"const_":{"id":20,"kind":{"Allocated":{"align":8,"bytes":[0,0,0,0,0,0,0,0],"mutability":"Mut","provenance":{"ptrs":[]}}},"ty":47},"span":50,"user_ty":null}}]]}]},"span":275},{"kind":{"StorageDead":30},"span":276},{"kind":{"StorageLive":33},"span":277}],"terminator":{"kind":{"SwitchInt":{"discr":{"Copy":{"local":25,"projection":[]}},"targets":{"branches":[[0,12]],"otherwise":10}}},"span":243}},{"statements":[{"kind":{"StorageLive":32},"span":268},{"kind":{"Assign":[{"local":32,"projection":[]},{"Cast":["PtrToPtr",{"Copy":{"local":17,"projection":[]}},62]}]},"span":268}],"terminator":{"kind":{"Call":{"args":[{"Move":{"local":32,"projection":[]}}],"destination":{"local":31,"projection":[]},"func":{"Constant":{"const_":{"id":41,"kind":"ZeroSized","ty":80},"span":266,"user_ty":null}},"target":11,"unwind":"Unreachable"}},"span":267}},{"statements":[{"kind":{"StorageDead":32},"span":269}],"terminator":{"kind":{"Goto":{"target":12}},"span":278}},{"statements":[{"kind":{"Assign":[{"local":33,"projection":[]},{"Cast":["PtrToPtr",{"Copy":{"local":29,"projection":[]}},68]}]},"span":270},{"kind":{"Assign":[{"local":6,"projection":[]},{"Aggregate":[{"Adt":[20,0,[{"Type":81}],null,null]},[{"Copy":{"local":33,"projection":[]}}]]}]},"span":271},{"kind":{"StorageDead":33},"span":277},{"kind":{"StorageDead":29},"span":280},{"kind":{"StorageDead":7},"span":281},{"kind":{"Assign":[{"local":0,"projection":[]},{"Aggregate":[{"Adt":[24,0,[{"Type":67},{"Type":82}],null,null]},[{"Move":{"local":6,"projection":[]}}]]}]},"span":282},{"kind":{"StorageDead":6},"span":279}],"terminator":{"kind":{"Goto":{"target":6}},"span":279}},{"statements":[{"kind":{"StorageDead":35},"span":284},{"kind":{"StorageDead":10},"span":285}],"terminator":{"kind":{"Goto":{"target":5}},"span":283}},{"statements":[{"kind":{"StorageDead":44},"span":260},{"kind":{"Assign":[{"local":13,"projection":[]},{"Use":{"Constant":{"const_":{"id":42,"kind":{"Allocated":{"align":8,"bytes":[0,0,0,0,0,0,0,0],"mutability":"Mut","provenance":{"ptrs":[]}}},"ty":83},"span":50,"user_ty":null}}}]},"span":286},{"kind":{"StorageLive":49},"span":287},{"kind":{"Assign":[{"local":12,"projection":[]},{"Use":{"Constant":{"const_":{"id":43,"kind":{"Allocated":{"align":8,"bytes":[0,0,0,0,0,0,0,0],"mutability":"Mut","provenance":{"ptrs":[]}}},"ty":84},"span":50,"user_ty":null}}}]},"span":288},{"kind":{"StorageDead":49},"span":287},{"kind":{"StorageDead":13},"span":289},{"kind":{"StorageLive":50},"span":261},{"kind":{"StorageDead":50},"span":261},{"kind":{"StorageDead":12},"span":290},{"kind":{"Assign":[{"local":0,"projection":[]},{"Use":{"Constant":{"const_":{"id":44,"kind":{"Allocated":{"align":8,"bytes":[0,0,0,0,0,0,0,0,null,null,null,null,null,null,null,null],"mutability":"Not","provenance":{"ptrs":[]}}},"ty":70},"span":50,"user_ty":null}}}]},"span":291},{"kind":{"StorageDead":11},"span":292},{"kind":{"StorageDead":9},"span":293}],"terminator":{"kind":{"Goto":{"target":6}},"span":265}},{"statements":[{"kind":{"StorageDead":44},"span":260},{"kind":{"StorageLive":43},"span":294},{"kind":{"StorageLive":48},"span":295},{"kind":{"StorageLive":45},"span":243},{"kind":{"Assign":[{"local":45,"projection":[]},{"NullaryOp":["UbChecks",37]}]},"span":203}],"terminator":{"kind":{"SwitchInt":{"discr":{"Move":{"local":45,"projection":[]}},"targets":{"branches":[[0,18]],"otherwise":16}}},"span":243}},{"statements":[{"kind":{"StorageLive":47},"span":268},{"kind":{"Assign":[{"local":47,"projection":[]},{"Cast":["PtrToPtr",{"Copy":{"local":14,"projection":[]}},62]}]},"span":268}],"terminator":{"kind":{"Call":{"args":[{"Move":{"local":47,"projection":[]}}],"destination":{"local":46,"projection":[]},"func":{"Constant":{"const_":{"id":41,"kind":"ZeroSized","ty":80},"span":266,"user_ty":null}},"target":17,"unwind":"Unreachable"}},"span":267}},{"statements":[{"kind":{"StorageDead":47},"span":269}],"terminator":{"kind":{"Goto":{"target":18}},"span":278}},{"statements":[{"kind":{"StorageDead":45},"span":296},{"kind":{"Assign":[{"local":48,"projection":[]},{"Cast":["PtrToPtr",{"Copy":{"local":14,"projection":[]}},46]}]},"span":270},{"kind":{"Assign":[{"local":43,"projection":[]},{"Aggregate":[{"Adt":[20,0,[{"Type":16}],null,null]},[{"Copy":{"local":48,"projection":[]}}]]}]},"span":271},{"kind":{"StorageDead":48},"span":295},{"kind":{"Assign":[{"local":13,"projection":[]},{"Aggregate":[{"Adt":[8,1,[{"Type":71}],null,null]},[{"Move":{"local":43,"projection":[]}}]]}]},"span":297},{"kind":{"StorageDead":43},"span":298},{"kind":{"StorageLive":49},"span":287},{"kind":{"Assign":[{"local":49,"projection":[]},{"Use":{"Move":{"local":13,"projection":[{"Downcast":1},{"Field":[0,71]}]}}}]},"span":299},{"kind":{"Assign":[{"local":12,"projection":[]},{"Aggregate":[{"Adt":[24,0,[{"Type":71},{"Type":82}],null,null]},[{"Copy":{"local":49,"projection":[]}}]]}]},"span":300},{"kind":{"StorageDead":49},"span":287},{"kind":{"StorageDead":13},"span":289},{"kind":{"StorageLive":50},"span":261},{"kind":{"Assign":[{"local":50,"projection":[]},{"Use":{"Move":{"local":12,"projection":[{"Downcast":0},{"Field":[0,71]}]}}}]},"span":301},{"kind":{"Assign":[{"local":11,"projection":[]},{"Aggregate":[{"Adt":[25,0,[{"Type":85},{"Type":71}],null,null]},[{"Copy":{"local":50,"projection":[]}}]]}]},"span":302},{"kind":{"StorageDead":50},"span":261},{"kind":{"StorageDead":12},"span":290},{"kind":{"Assign":[{"local":15,"projection":[]},{"Use":{"Copy":{"local":11,"projection":[{"Downcast":0},{"Field":[0,71]}]}}}]},"span":303},{"kind":{"StorageDead":11},"span":292},{"kind":{"StorageLive":16},"span":304},{"kind":{"StorageLive":53},"span":304},{"kind":{"StorageLive":51},"span":273},{"kind":{"StorageLive":52},"span":274},{"kind":{"Assign":[{"local":53,"projection":[]},{"Use":{"Copy":{"local":15,"projection":[{"Field":[0,46]}]}}}]},"span":178},{"kind":{"Assign":[{"local":52,"projection":[]},{"Cast":["PtrToPtr",{"Copy":{"local":53,"projection":[]}},61]}]},"span":181},{"kind":{"Assign":[{"local":51,"projection":[]},{"Aggregate":[{"RawPtr":[81,"Mut"]},[{"Copy":{"local":52,"projection":[]}},{"Copy":{"local":4,"projection":[]}}]]}]},"span":275},{"kind":{"StorageDead":52},"span":276},{"kind":{"StorageLive":57},"span":277},{"kind":{"StorageLive":54},"span":243},{"kind":{"Assign":[{"local":54,"projection":[]},{"NullaryOp":["UbChecks",37]}]},"span":203}],"terminator":{"kind":{"SwitchInt":{"discr":{"Move":{"local":54,"projection":[]}},"targets":{"branches":[[0,21]],"otherwise":19}}},"span":243}},{"statements":[{"kind":{"StorageLive":56},"span":268},{"kind":{"Assign":[{"local":56,"projection":[]},{"Cast":["PtrToPtr",{"Copy":{"local":53,"projection":[]}},62]}]},"span":268}],"terminator":{"kind":{"Call":{"args":[{"Move":{"local":56,"projection":[]}}],"destination":{"local":55,"projection":[]},"func":{"Constant":{"const_":{"id":41,"kind":"ZeroSized","ty":80},"span":266,"user_ty":null}},"target":20,"unwind":"Unreachable"}},"span":267}},{"statements":[{"kind":{"StorageDead":56},"span":269}],"terminator":{"kind":{"Goto":{"target":21}},"span":278}},{"statements":[{"kind":{"StorageDead":54},"span":296},{"kind":{"Assign":[{"local":57,"projection":[]},{"Cast":["PtrToPtr",{"Copy":{"local":51,"projection":[]}},68]}]},"span":270},{"kind":{"Assign":[{"local":16,"projection":[]},{"Aggregate":[{"Adt":[20,0,[{"Type":81}],null,null]},[{"Copy":{"local":57,"projection":[]}}]]}]},"span":271},{"kind":{"StorageDead":57},"span":277},{"kind":{"StorageDead":51},"span":280},{"kind":{"StorageDead":53},"span":304},{"kind":{"Assign":[{"local":0,"projection":[]},{"Aggregate":[{"Adt":[24,0,[{"Type":67},{"Type":82}],null,null]},[{"Move":{"local":16,"projection":[]}}]]}]},"span":305},{"kind":{"StorageDead":16},"span":306},{"kind":{"StorageDead":9},"span":293}],"terminator":{"kind":{"Goto":{"target":6}},"span":293}}],"locals":[{"mutability":"Mut","span":307,"ty":70},{"mutability":"Not","span":308,"ty":64},{"mutability":"Not","span":309,"ty":69},{"mutability":"Not","span":310,"ty":37},{"mutability":"Mut","span":311,"ty":47},{"mutability":"Mut","span":239,"ty":77},{"mutability":"Mut","span":244,"ty":67},{"mutability":"Mut","span":245,"ty":71},{"mutability":"Mut","span":246,"ty":77},{"mutability":"Not","span":242,"ty":61},{"mutability":"Mut","span":252,"ty":69},{"mutability":"Mut","span":261,"ty":86},{"mutability":"Mut","span":262,"ty":84},{"mutability":"Mut","span":263,"ty":83},{"mutability":"Mut","span":264,"ty":61},{"mutability":"Not","span":303,"ty":71},{"mutability":"Mut","span":304,"ty":67},{"mutability":"Mut","span":312,"ty":61},{"mutability":"Mut","span":247,"ty":47},{"mutability":"Mut","span":215,"ty":65},{"mutability":"Not","span":217,"ty":74},{"mutability":"Mut","span":217,"ty":2},{"mutability":"Mut","span":218,"ty":37},{"mutability":"Mut","span":218,"ty":37},{"mutability":"Mut","span":218,"ty":37},{"mutability":"Mut","span":243,"ty":37},{"mutability":"Not","span":267,"ty":8},{"mutability":"Mut","span":268,"ty":62},{"mutability":"Mut","span":270,"ty":46},{"mutability":"Mut","span":273,"ty":87},{"mutability":"Mut","span":274,"ty":61},{"mutability":"Not","span":267,"ty":8},{"mutability":"Mut","span":268,"ty":62},{"mutability":"Mut","span":270,"ty":68},{"mutability":"Mut","span":253,"ty":77},{"mutability":"Mut","span":255,"ty":47},{"mutability":"Mut","span":256,"ty":77},{"mutability":"Mut","span":215,"ty":65},{"mutability":"Not","span":217,"ty":74},{"mutability":"Mut","span":217,"ty":2},{"mutability":"Mut","span":218,"ty":37},{"mutability":"Mut","span":218,"ty":37},{"mutability":"Mut","span":218,"ty":37},{"mutability":"Mut","span":294,"ty":71},{"mutability":"Mut","span":141,"ty":47},{"mutability":"Mut","span":243,"ty":37},{"mutability":"Not","span":267,"ty":8},{"mutability":"Mut","span":268,"ty":62},{"mutability":"Mut","span":270,"ty":46},{"mutability":"Not","span":299,"ty":71},{"mutability":"Not","span":301,"ty":71},{"mutability":"Mut","span":273,"ty":87},{"mutability":"Mut","span":274,"ty":61},{"mutability":"Mut","span":178,"ty":46},{"mutability":"Mut","span":243,"ty":37},{"mutability":"Not","span":267,"ty":8},{"mutability":"Mut","span":268,"ty":62},{"mutability":"Mut","span":270,"ty":68}],"span":335,"spread_arg":null,"var_debug_info":[{"argument_index":1,"composite":null,"name":"self","source_info":{"scope":0,"span":308},"value":{"Place":{"local":1,"projection":[]}}},{"argument_index":2,"composite":null,"name":"layout","source_info":{"scope":0,"span":309},"value":{"Place":{"local":2,"projection":[]}}},{"argument_index":3,"composite":null,"name":"zeroed","source_info":{"scope":0,"span":310},"value":{"Place":{"local":3,"projection":[]}}},{"argument_index":null,"composite":null,"name":"size","source_info":{"scope":1,"span":313},"value":{"Place":{"local":4,"projection":[]}}},{"argument_index":null,"composite":null,"name":"raw_ptr","source_info":{"scope":2,"span":242},"value":{"Place":{"local":9,"projection":[]}}},{"argument_index":null,"composite":null,"name":"ptr","source_info":{"scope":3,"span":314},"value":{"Place":{"local":15,"projection":[]}}},{"argument_index":null,"composite":null,"name":"residual","source_info":{"scope":4,"span":315},"value":{"Const":{"const_":{"id":45,"kind":"ZeroSized","ty":85},"span":50,"user_ty":null}}},{"argument_index":null,"composite":null,"name":"val","source_info":{"scope":6,"span":303},"value":{"Place":{"local":15,"projection":[]}}},{"argument_index":1,"composite":null,"name":"self","source_info":{"scope":8,"span":234},"value":{"Place":{"local":5,"projection":[]}}},{"argument_index":1,"composite":null,"name":"self","source_info":{"scope":9,"span":316},"value":{"Place":{"local":8,"projection":[]}}},{"argument_index":1,"composite":null,"name":"self","source_info":{"scope":10,"span":235},"value":{"Place":{"local":8,"projection":[]}}},{"argument_index":1,"composite":null,"name":"self","source_info":{"scope":11,"span":236},"value":{"Place":{"local":19,"projection":[]}}},{"argument_index":1,"composite":null,"name":"addr","source_info":{"scope":12,"span":317},"value":{"Place":{"local":18,"projection":[]}}},{"argument_index":1,"composite":null,"name":"ptr","source_info":{"scope":13,"span":318},"value":{"Place":{"local":17,"projection":[]}}},{"argument_index":1,"composite":null,"name":"data","source_info":{"scope":16,"span":319},"value":{"Place":{"local":7,"projection":[]}}},{"argument_index":2,"composite":null,"name":"len","source_info":{"scope":16,"span":320},"value":{"Const":{"const_":{"id":20,"kind":{"Allocated":{"align":8,"bytes":[0,0,0,0,0,0,0,0],"mutability":"Mut","provenance":{"ptrs":[]}}},"ty":47},"span":321,"user_ty":null}}},{"argument_index":1,"composite":null,"name":"self","source_info":{"scope":17,"span":199},"value":{"Place":{"local":7,"projection":[]}}},{"argument_index":1,"composite":null,"name":"data","source_info":{"scope":18,"span":322},"value":{"Place":{"local":30,"projection":[]}}},{"argument_index":2,"composite":null,"name":"len","source_info":{"scope":18,"span":323},"value":{"Const":{"const_":{"id":20,"kind":{"Allocated":{"align":8,"bytes":[0,0,0,0,0,0,0,0],"mutability":"Mut","provenance":{"ptrs":[]}}},"ty":47},"span":321,"user_ty":null}}},{"argument_index":1,"composite":null,"name":"data_pointer","source_info":{"scope":19,"span":324},"value":{"Place":{"local":30,"projection":[]}}},{"argument_index":2,"composite":null,"name":"metadata","source_info":{"scope":19,"span":325},"value":{"Const":{"const_":{"id":20,"kind":{"Allocated":{"align":8,"bytes":[0,0,0,0,0,0,0,0],"mutability":"Mut","provenance":{"ptrs":[]}}},"ty":47},"span":321,"user_ty":null}}},{"argument_index":1,"composite":null,"name":"ptr","source_info":{"scope":20,"span":318},"value":{"Place":{"local":29,"projection":[]}}},{"argument_index":1,"composite":null,"name":"layout","source_info":{"scope":23,"span":326},"value":{"Place":{"local":10,"projection":[]}}},{"argument_index":1,"composite":null,"name":"self","source_info":{"scope":24,"span":234},"value":{"Place":{"local":34,"projection":[]}}},{"argument_index":1,"composite":null,"name":"self","source_info":{"scope":25,"span":235},"value":{"Place":{"local":36,"projection":[]}}},{"argument_index":1,"composite":null,"name":"self","source_info":{"scope":26,"span":236},"value":{"Place":{"local":37,"projection":[]}}},{"argument_index":1,"composite":null,"name":"ptr","source_info":{"scope":27,"span":327},"value":{"Place":{"local":14,"projection":[]}}},{"argument_index":1,"composite":null,"name":"self","source_info":{"scope":28,"span":149},"value":{"Place":{"local":14,"projection":[]}}},{"argument_index":1,"composite":null,"name":"ptr","source_info":{"scope":29,"span":150},"value":{"Place":{"local":14,"projection":[]}}},{"argument_index":1,"composite":null,"name":"self","source_info":{"scope":30,"span":151},"value":{"Place":{"local":14,"projection":[]}}},{"argument_index":1,"composite":null,"name":"self","source_info":{"scope":31,"span":152},"value":{"Place":{"local":14,"projection":[]}}},{"argument_index":1,"composite":null,"name":"ptr","source_info":{"scope":32,"span":318},"value":{"Place":{"local":14,"projection":[]}}},{"argument_index":1,"composite":null,"name":"self","source_info":{"scope":35,"span":328},"value":{"Place":{"local":13,"projection":[]}}},{"argument_index":2,"composite":null,"name":"err","source_info":{"scope":35,"span":329},"value":{"Const":{"const_":{"id":46,"kind":"ZeroSized","ty":82},"span":50,"user_ty":null}}},{"argument_index":null,"composite":null,"name":"v","source_info":{"scope":36,"span":299},"value":{"Place":{"local":49,"projection":[]}}},{"argument_index":1,"composite":null,"name":"self","source_info":{"scope":37,"span":330},"value":{"Place":{"local":12,"projection":[]}}},{"argument_index":null,"composite":null,"name":"v","source_info":{"scope":38,"span":301},"value":{"Place":{"local":50,"projection":[]}}},{"argument_index":null,"composite":null,"name":"e","source_info":{"scope":39,"span":331},"value":{"Const":{"const_":{"id":46,"kind":"ZeroSized","ty":82},"span":50,"user_ty":null}}},{"argument_index":1,"composite":null,"name":"data","source_info":{"scope":40,"span":319},"value":{"Place":{"local":15,"projection":[]}}},{"argument_index":2,"composite":null,"name":"len","source_info":{"scope":40,"span":320},"value":{"Place":{"local":4,"projection":[]}}},{"argument_index":1,"composite":null,"name":"self","source_info":{"scope":41,"span":199},"value":{"Place":{"local":15,"projection":[]}}},{"argument_index":1,"composite":null,"name":"data","source_info":{"scope":42,"span":322},"value":{"Place":{"local":52,"projection":[]}}},{"argument_index":2,"composite":null,"name":"len","source_info":{"scope":42,"span":323},"value":{"Place":{"local":4,"projection":[]}}},{"argument_index":1,"composite":null,"name":"data_pointer","source_info":{"scope":43,"span":324},"value":{"Place":{"local":52,"projection":[]}}},{"argument_index":2,"composite":null,"name":"metadata","source_info":{"scope":43,"span":325},"value":{"Place":{"local":4,"projection":[]}}},{"argument_index":1,"composite":null,"name":"ptr","source_info":{"scope":44,"span":318},"value":{"Place":{"local":51,"projection":[]}}},{"argument_index":1,"composite":null,"name":"residual","source_info":{"scope":47,"span":332},"value":{"Const":{"const_":{"id":45,"kind":"ZeroSized","ty":85},"span":50,"user_ty":null}}},{"argument_index":null,"composite":null,"name":"e","source_info":{"scope":48,"span":333},"value":{"Const":{"const_":{"id":46,"kind":"ZeroSized","ty":82},"span":50,"user_ty":null}}},{"argument_index":1,"composite":null,"name":"t","source_info":{"scope":49,"span":334},"value":{"Const":{"const_":{"id":46,"kind":"ZeroSized","ty":82},"span":50,"user_ty":null}}}]}],"id":23,"name":"std::alloc::Global::alloc_impl"}},"symbol_name":"_ZN5alloc5alloc6Global10alloc_impl17hfeb4b7829cd89493E"},{"details":null,"mono_item_kind":{"MonoItemFn":{"body":[{"arg_count":1,"blocks":[{"statements":[{"kind":{"StorageLive":2},"span":71}],"terminator":{"kind":{"Call":{"args":[],"destination":{"local":2,"projection":[]},"func":{"Constant":{"const_":{"id":9,"kind":"ZeroSized","ty":30},"span":69,"user_ty":null}},"target":1,"unwind":"Unreachable"}},"span":70}},{"statements":[{"kind":{"StorageLive":3},"span":74},{"kind":{"Assign":[{"local":3,"projection":[]},{"Aggregate":[{"Closure":[7,[{"Type":32},{"Type":1},{"Type":33},{"Type":34}]]},[{"Move":{"local":1,"projection":[]}},{"Copy":{"local":2,"projection":[]}}]]}]},"span":74}],"terminator":{"kind":{"Call":{"args":[{"Move":{"local":3,"projection":[]}}],"destination":{"local":0,"projection":[]},"func":{"Constant":{"const_":{"id":10,"kind":"ZeroSized","ty":31},"span":72,"user_ty":null}},"target":null,"unwind":"Continue"}},"span":73}}],"locals":[{"mutability":"Mut","span":75,"ty":27},{"mutability":"Not","span":76,"ty":32},{"mutability":"Not","span":71,"ty":35},{"mutability":"Mut","span":74,"ty":28}],"span":77,"spread_arg":null,"var_debug_info":[{"argument_index":1,"composite":null,"name":"msg","source_info":{"scope":0,"span":76},"value":{"Place":{"local":1,"projection":[]}}},{"argument_index":null,"composite":null,"name":"loc","source_info":{"scope":1,"span":71},"value":{"Place":{"local":2,"projection":[]}}}]}],"id":6,"name":"std::rt::begin_panic::<&str>"}},"symbol_name":"_ZN3std9panicking11begin_panic17h046658c3c0b9185bE"},{"details":null,"mono_item_kind":{"MonoItemFn":{"body":[{"arg_count":1,"blocks":[{"statements":[{"kind":{"StorageLive":2},"span":373},{"kind":{"StorageLive":3},"span":374},{"kind":{"Assign":[{"local":3,"projection":[]},{"Ref":[{"kind":"ReErased"},{"Mut":{"kind":"TwoPhaseBorrow"}},{"local":1,"projection":["Deref",{"Field":[0,41]}]}]}]},"span":374},{"kind":{"Assign":[{"local":9,"projection":[]},{"Aggregate":[{"Adt":[8,0,[{"Type":32}],null,null]},[]]}]},"span":375},{"kind":{"Assign":[{"local":2,"projection":[]},{"Use":{"Copy":{"local":1,"projection":["Deref",{"Field":[0,41]}]}}}]},"span":376},{"kind":{"Assign":[{"local":1,"projection":["Deref",{"Field":[0,41]}]},{"Use":{"Copy":{"local":9,"projection":[]}}}]},"span":377},{"kind":{"StorageDead":3},"span":378},{"kind":{"Assign":[{"local":4,"projection":[]},{"Discriminant":{"local":2,"projection":[]}}]},"span":373}],"terminator":{"kind":{"SwitchInt":{"discr":{"Move":{"local":4,"projection":[]}},"targets":{"branches":[[0,2],[1,3]],"otherwise":1}}},"span":372}},{"statements":[],"terminator":{"kind":"Unreachable","span":373}},{"statements":[],"terminator":{"kind":{"Call":{"args":[],"destination":{"local":8,"projection":[]},"func":{"Constant":{"const_":{"id":48,"kind":"ZeroSized","ty":93},"span":379,"user_ty":null}},"target":null,"unwind":"Continue"}},"span":380}},{"statements":[{"kind":{"Assign":[{"local":5,"projection":[]},{"Use":{"Move":{"local":2,"projection":[{"Downcast":1},{"Field":[0,32]}]}}}]},"span":383},{"kind":{"StorageLive":7},"span":382}],"terminator":{"kind":{"Call":{"args":[{"Move":{"local":5,"projection":[]}}],"destination":{"local":7,"projection":[]},"func":{"Constant":{"const_":{"id":51,"kind":"ZeroSized","ty":101},"span":381,"user_ty":0}},"target":4,"unwind":"Continue"}},"span":382}},{"statements":[{"kind":{"Assign":[{"local":6,"projection":[]},{"Cast":[{"PointerCoercion":"Unsize"},{"Move":{"local":7,"projection":[]}},102]}]},"span":382},{"kind":{"StorageDead":7},"span":385},{"kind":{"StorageDead":2},"span":386},{"kind":{"StorageLive":11},"span":387},{"kind":{"StorageLive":15},"span":387},{"kind":{"StorageLive":14},"span":387},{"kind":{"StorageLive":10},"span":388},{"kind":{"Assign":[{"local":10,"projection":[]},{"Aggregate":[{"Adt":[30,0,[{"Type":102}],null,null]},[{"Copy":{"local":6,"projection":[]}}]]}]},"span":389},{"kind":{"Assign":[{"local":11,"projection":[]},{"Ref":[{"kind":"ReErased"},{"Mut":{"kind":"Default"}},{"local":10,"projection":[]}]}]},"span":390},{"kind":{"Assign":[{"local":15,"projection":[]},{"Use":{"Copy":{"local":10,"projection":[{"Field":[0,102]},{"Field":[0,103]},{"Field":[0,104]}]}}}]},"span":391},{"kind":{"Assign":[{"local":14,"projection":[]},{"Use":{"Copy":{"local":15,"projection":[{"Field":[0,105]}]}}}]},"span":391},{"kind":{"Assign":[{"local":0,"projection":[]},{"AddressOf":["Mut",{"local":14,"projection":["Deref"]}]}]},"span":391},{"kind":{"StorageLive":12},"span":392},{"kind":{"StorageLive":13},"span":393},{"kind":{"Assign":[{"local":13,"projection":[]},{"Ref":[{"kind":"ReErased"},"Shared",{"local":10,"projection":[]}]}]},"span":393},{"kind":{"StorageDead":13},"span":393},{"kind":{"Assign":[{"local":12,"projection":[]},{"AddressOf":["Not",{"local":10,"projection":[{"Field":[0,102]},{"Field":[1,72]}]}]}]},"span":392},{"kind":{"StorageDead":12},"span":394},{"kind":{"StorageDead":10},"span":395},{"kind":{"StorageDead":14},"span":387},{"kind":{"StorageDead":15},"span":387},{"kind":{"StorageDead":11},"span":387}],"terminator":{"kind":"Return","span":384}}],"locals":[{"mutability":"Mut","span":396,"ty":106},{"mutability":"Not","span":397,"ty":39},{"mutability":"Mut","span":373,"ty":41},{"mutability":"Mut","span":374,"ty":107},{"mutability":"Mut","span":398,"ty":13},{"mutability":"Not","span":383,"ty":32},{"mutability":"Mut","span":399,"ty":102},{"mutability":"Mut","span":382,"ty":92},{"mutability":"Mut","span":380,"ty":27},{"mutability":"Mut","span":375,"ty":41},{"mutability":"Mut","span":388,"ty":108},{"mutability":"Mut","span":390,"ty":109},{"mutability":"Mut","span":392,"ty":110},{"mutability":"Mut","span":393,"ty":111},{"mutability":"Mut","span":400,"ty":105},{"mutability":"Mut","span":400,"ty":104}],"span":416,"spread_arg":null,"var_debug_info":[{"argument_index":1,"composite":null,"name":"self","source_info":{"scope":0,"span":397},"value":{"Place":{"local":1,"projection":[]}}},{"argument_index":null,"composite":null,"name":"data","source_info":{"scope":1,"span":401},"value":{"Place":{"local":6,"projection":[]}}},{"argument_index":null,"composite":null,"name":"a","source_info":{"scope":2,"span":383},"value":{"Place":{"local":5,"projection":[]}}},{"argument_index":1,"composite":null,"name":"self","source_info":{"scope":3,"span":402},"value":{"Place":{"local":3,"projection":[]}}},{"argument_index":1,"composite":null,"name":"dest","source_info":{"scope":4,"span":403},"value":{"Place":{"local":3,"projection":[]}}},{"argument_index":2,"composite":null,"name":"src","source_info":{"scope":4,"span":404},"value":{"Place":{"local":9,"projection":[]}}},{"argument_index":null,"composite":null,"name":"result","source_info":{"scope":5,"span":405},"value":{"Place":{"local":2,"projection":[]}}},{"argument_index":1,"composite":null,"name":"src","source_info":{"scope":6,"span":406},"value":{"Place":{"local":3,"projection":[]}}},{"argument_index":1,"composite":null,"name":"dst","source_info":{"scope":7,"span":407},"value":{"Place":{"local":3,"projection":[]}}},{"argument_index":2,"composite":null,"name":"src","source_info":{"scope":7,"span":408},"value":{"Place":{"local":9,"projection":[]}}},{"argument_index":1,"composite":null,"name":"b","source_info":{"scope":8,"span":409},"value":{"Place":{"local":6,"projection":[]}}},{"argument_index":1,"composite":null,"name":"b","source_info":{"scope":9,"span":410},"value":{"Place":{"local":6,"projection":[]}}},{"argument_index":null,"composite":null,"name":"b","source_info":{"scope":10,"span":388},"value":{"Place":{"local":10,"projection":[]}}},{"argument_index":null,"composite":null,"name":"ptr","source_info":{"scope":11,"span":411},"value":{"Place":{"local":0,"projection":[]}}},{"argument_index":null,"composite":null,"name":"alloc","source_info":{"scope":12,"span":412},"value":{"Const":{"const_":{"id":52,"kind":"ZeroSized","ty":72},"span":50,"user_ty":null}}},{"argument_index":1,"composite":null,"name":"value","source_info":{"scope":13,"span":413},"value":{"Place":{"local":6,"projection":[]}}},{"argument_index":1,"composite":null,"name":"self","source_info":{"scope":14,"span":414},"value":{"Place":{"local":11,"projection":[]}}},{"argument_index":1,"composite":null,"name":"self","source_info":{"scope":15,"span":415},"value":{"Place":{"local":13,"projection":[]}}},{"argument_index":1,"composite":null,"name":"src","source_info":{"scope":16,"span":406},"value":{"Place":{"local":12,"projection":[]}}}]}],"id":29,"name":" as core::panic::PanicPayload>::take_box"}},"symbol_name":"_ZN91_$LT$std..panicking..begin_panic..Payload$LT$A$GT$$u20$as$u20$core..panic..PanicPayload$GT$8take_box17h38a7afb365d90d28E"},{"details":null,"mono_item_kind":{"MonoItemFn":{"body":[{"arg_count":1,"blocks":[{"statements":[],"terminator":{"kind":"Return","span":137}}],"locals":[{"mutability":"Mut","span":137,"ty":8},{"mutability":"Not","span":137,"ty":60}],"span":137,"spread_arg":null,"var_debug_info":[]}],"id":14,"name":"std::ptr::drop_in_place::>"}},"symbol_name":"_ZN4core3ptr72drop_in_place$LT$std..panicking..begin_panic..Payload$LT$$RF$str$GT$$GT$17h1b47a62f19fbd5f1E"},{"details":null,"mono_item_kind":{"MonoItemFn":{"body":[{"arg_count":1,"blocks":[{"statements":[{"kind":{"StorageLive":2},"span":202},{"kind":{"StorageLive":7},"span":201},{"kind":{"Assign":[{"local":7,"projection":[]},{"NullaryOp":["UbChecks",37]}]},"span":203}],"terminator":{"kind":{"SwitchInt":{"discr":{"Move":{"local":7,"projection":[]}},"targets":{"branches":[[0,5]],"otherwise":3}}},"span":201}},{"statements":[{"kind":{"StorageDead":5},"span":205},{"kind":{"StorageDead":3},"span":205}],"terminator":{"kind":"Return","span":204}},{"statements":[{"kind":{"StorageDead":2},"span":208},{"kind":{"StorageLive":3},"span":209},{"kind":{"StorageLive":4},"span":210},{"kind":{"Assign":[{"local":4,"projection":[]},{"Ref":[{"kind":"ReErased"},"Shared",{"local":1,"projection":[]}]}]},"span":210},{"kind":{"Assign":[{"local":3,"projection":[]},{"Use":{"Copy":{"local":1,"projection":[{"Field":[0,47]}]}}}]},"span":211},{"kind":{"StorageDead":4},"span":212},{"kind":{"StorageLive":5},"span":213},{"kind":{"StorageLive":6},"span":214},{"kind":{"Assign":[{"local":6,"projection":[]},{"Ref":[{"kind":"ReErased"},"Shared",{"local":1,"projection":[]}]}]},"span":214},{"kind":{"StorageLive":10},"span":215},{"kind":{"Assign":[{"local":10,"projection":[]},{"Use":{"Copy":{"local":1,"projection":[{"Field":[1,65]}]}}}]},"span":215},{"kind":{"StorageLive":12},"span":216},{"kind":{"StorageLive":13},"span":216},{"kind":{"StorageLive":14},"span":216},{"kind":{"StorageLive":15},"span":216},{"kind":{"StorageLive":11},"span":217},{"kind":{"Assign":[{"local":11,"projection":[]},{"Use":{"Copy":{"local":10,"projection":[{"Field":[0,74]}]}}}]},"span":217},{"kind":{"Assign":[{"local":12,"projection":[]},{"Discriminant":{"local":11,"projection":[]}}]},"span":218},{"kind":{"Assign":[{"local":13,"projection":[]},{"BinaryOp":["Ge",{"Copy":{"local":12,"projection":[]}},{"Constant":{"const_":{"id":34,"kind":{"Allocated":{"align":8,"bytes":[1,0,0,0,0,0,0,0],"mutability":"Mut","provenance":{"ptrs":[]}}},"ty":2},"span":218,"user_ty":null}}]}]},"span":218},{"kind":{"Assign":[{"local":14,"projection":[]},{"BinaryOp":["Le",{"Copy":{"local":12,"projection":[]}},{"Constant":{"const_":{"id":35,"kind":{"Allocated":{"align":8,"bytes":[0,0,0,0,0,0,0,128],"mutability":"Mut","provenance":{"ptrs":[]}}},"ty":2},"span":218,"user_ty":null}}]}]},"span":218},{"kind":{"Assign":[{"local":15,"projection":[]},{"BinaryOp":["BitAnd",{"Move":{"local":13,"projection":[]}},{"Move":{"local":14,"projection":[]}}]}]},"span":218},{"kind":{"Intrinsic":{"Assume":{"Move":{"local":15,"projection":[]}}}},"span":218},{"kind":{"Assign":[{"local":5,"projection":[]},{"Cast":["IntToInt",{"Copy":{"local":12,"projection":[]}},47]}]},"span":218},{"kind":{"StorageDead":11},"span":219},{"kind":{"StorageDead":15},"span":216},{"kind":{"StorageDead":14},"span":216},{"kind":{"StorageDead":13},"span":216},{"kind":{"StorageDead":12},"span":216},{"kind":{"StorageDead":10},"span":220},{"kind":{"StorageDead":6},"span":221}],"terminator":{"kind":{"Call":{"args":[{"Move":{"local":3,"projection":[]}},{"Move":{"local":5,"projection":[]}}],"destination":{"local":0,"projection":[]},"func":{"Constant":{"const_":{"id":33,"kind":"ZeroSized","ty":73},"span":206,"user_ty":null}},"target":1,"unwind":"Unreachable"}},"span":207}},{"statements":[{"kind":{"StorageLive":9},"span":224},{"kind":{"Assign":[{"local":9,"projection":[]},{"Cast":["PtrToPtr",{"Constant":{"const_":{"id":37,"kind":{"Allocated":{"align":8,"bytes":[0,0,0,0,0,0,0,0],"mutability":"Mut","provenance":{"ptrs":[[0,7]]}}},"ty":46},"span":50,"user_ty":null}},56]}]},"span":224}],"terminator":{"kind":{"Call":{"args":[{"Move":{"local":9,"projection":[]}},{"Constant":{"const_":{"id":19,"kind":{"Allocated":{"align":8,"bytes":[1,0,0,0,0,0,0,0],"mutability":"Mut","provenance":{"ptrs":[]}}},"ty":47},"span":50,"user_ty":null}}],"destination":{"local":8,"projection":[]},"func":{"Constant":{"const_":{"id":36,"kind":"ZeroSized","ty":75},"span":222,"user_ty":null}},"target":4,"unwind":"Unreachable"}},"span":223}},{"statements":[{"kind":{"StorageDead":9},"span":226}],"terminator":{"kind":{"Goto":{"target":5}},"span":225}},{"statements":[{"kind":{"StorageDead":7},"span":229}],"terminator":{"kind":{"Call":{"args":[{"Constant":{"const_":{"id":37,"kind":{"Allocated":{"align":8,"bytes":[0,0,0,0,0,0,0,0],"mutability":"Mut","provenance":{"ptrs":[[0,7]]}}},"ty":46},"span":50,"user_ty":null}}],"destination":{"local":2,"projection":[]},"func":{"Constant":{"const_":{"id":38,"kind":"ZeroSized","ty":76},"span":227,"user_ty":null}},"target":2,"unwind":"Unreachable"}},"span":228}}],"locals":[{"mutability":"Mut","span":230,"ty":61},{"mutability":"Not","span":231,"ty":69},{"mutability":"Not","span":202,"ty":16},{"mutability":"Mut","span":209,"ty":47},{"mutability":"Mut","span":210,"ty":77},{"mutability":"Mut","span":213,"ty":47},{"mutability":"Mut","span":214,"ty":77},{"mutability":"Mut","span":201,"ty":37},{"mutability":"Not","span":223,"ty":8},{"mutability":"Mut","span":224,"ty":56},{"mutability":"Mut","span":215,"ty":65},{"mutability":"Not","span":217,"ty":74},{"mutability":"Mut","span":217,"ty":2},{"mutability":"Mut","span":218,"ty":37},{"mutability":"Mut","span":218,"ty":37},{"mutability":"Mut","span":218,"ty":37}],"span":237,"spread_arg":null,"var_debug_info":[{"argument_index":1,"composite":null,"name":"layout","source_info":{"scope":0,"span":231},"value":{"Place":{"local":1,"projection":[]}}},{"argument_index":1,"composite":null,"name":"src","source_info":{"scope":1,"span":232},"value":{"Const":{"const_":{"id":37,"kind":{"Allocated":{"align":8,"bytes":[0,0,0,0,0,0,0,0],"mutability":"Mut","provenance":{"ptrs":[[0,7]]}}},"ty":46},"span":233,"user_ty":null}}},{"argument_index":1,"composite":null,"name":"self","source_info":{"scope":5,"span":234},"value":{"Place":{"local":4,"projection":[]}}},{"argument_index":1,"composite":null,"name":"self","source_info":{"scope":6,"span":235},"value":{"Place":{"local":6,"projection":[]}}},{"argument_index":1,"composite":null,"name":"self","source_info":{"scope":7,"span":236},"value":{"Place":{"local":10,"projection":[]}}}]}],"id":22,"name":"std::alloc::alloc"}},"symbol_name":"_ZN5alloc5alloc5alloc17h214157fcd92df279E"},{"details":null,"mono_item_kind":{"MonoItemFn":{"body":[{"arg_count":2,"blocks":[{"statements":[{"kind":{"StorageLive":3},"span":93},{"kind":{"StorageLive":6},"span":93},{"kind":{"StorageLive":5},"span":94},{"kind":{"Assign":[{"local":5,"projection":[]},{"Cast":["PtrToPtr",{"Copy":{"local":1,"projection":[]}},46]}]},"span":95},{"kind":{"Assign":[{"local":6,"projection":[]},{"Cast":["Transmute",{"Copy":{"local":1,"projection":[]}},47]}]},"span":96},{"kind":{"StorageDead":5},"span":94}],"terminator":{"kind":{"SwitchInt":{"discr":{"Move":{"local":6,"projection":[]}},"targets":{"branches":[[0,3]],"otherwise":4}}},"span":92}},{"statements":[{"kind":{"StorageDead":3},"span":98}],"terminator":{"kind":"Return","span":97}},{"statements":[],"terminator":{"kind":{"Call":{"args":[{"Constant":{"const_":{"id":17,"kind":{"Allocated":{"align":8,"bytes":[0,0,0,0,0,0,0,0,110,0,0,0,0,0,0,0],"mutability":"Mut","provenance":{"ptrs":[[0,0]]}}},"ty":32},"span":100,"user_ty":null}}],"destination":{"local":4,"projection":[]},"func":{"Constant":{"const_":{"id":16,"kind":"ZeroSized","ty":48},"span":99,"user_ty":null}},"target":null,"unwind":"Unreachable"}},"span":101}},{"statements":[{"kind":{"StorageDead":6},"span":93}],"terminator":{"kind":{"Goto":{"target":2}},"span":93}},{"statements":[{"kind":{"StorageLive":9},"span":104}],"terminator":{"kind":{"Call":{"args":[{"Copy":{"local":2,"projection":[]}}],"destination":{"local":9,"projection":[]},"func":{"Constant":{"const_":{"id":18,"kind":"ZeroSized","ty":49},"span":102,"user_ty":null}},"target":7,"unwind":"Unreachable"}},"span":103}},{"statements":[{"kind":{"StorageDead":9},"span":105},{"kind":{"StorageLive":12},"span":106},{"kind":{"StorageLive":13},"span":107},{"kind":{"Assign":[{"local":13,"projection":[]},{"BinaryOp":["Sub",{"Copy":{"local":2,"projection":[]}},{"Constant":{"const_":{"id":19,"kind":{"Allocated":{"align":8,"bytes":[1,0,0,0,0,0,0,0],"mutability":"Mut","provenance":{"ptrs":[]}}},"ty":47},"span":108,"user_ty":null}}]}]},"span":107},{"kind":{"Assign":[{"local":12,"projection":[]},{"BinaryOp":["BitAnd",{"Copy":{"local":6,"projection":[]}},{"Move":{"local":13,"projection":[]}}]}]},"span":106},{"kind":{"StorageDead":13},"span":109},{"kind":{"Assign":[{"local":3,"projection":[]},{"BinaryOp":["Eq",{"Move":{"local":12,"projection":[]}},{"Constant":{"const_":{"id":20,"kind":{"Allocated":{"align":8,"bytes":[0,0,0,0,0,0,0,0],"mutability":"Mut","provenance":{"ptrs":[]}}},"ty":47},"span":110,"user_ty":null}}]}]},"span":111},{"kind":{"StorageDead":12},"span":110},{"kind":{"StorageDead":6},"span":93}],"terminator":{"kind":{"SwitchInt":{"discr":{"Move":{"local":3,"projection":[]}},"targets":{"branches":[[0,2]],"otherwise":1}}},"span":93}},{"statements":[{"kind":{"StorageDead":9},"span":105},{"kind":{"StorageLive":8},"span":114},{"kind":{"StorageLive":10},"span":115},{"kind":{"Assign":[{"local":10,"projection":[]},{"Cast":[{"PointerCoercion":"Unsize"},{"Constant":{"const_":{"id":22,"kind":{"Allocated":{"align":8,"bytes":[0,0,0,0,0,0,0,0],"mutability":"Mut","provenance":{"ptrs":[[0,1]]}}},"ty":51},"span":50,"user_ty":null}},52]}]},"span":115},{"kind":{"StorageLive":11},"span":116},{"kind":{"Assign":[{"local":11,"projection":[]},{"Cast":[{"PointerCoercion":"Unsize"},{"Constant":{"const_":{"id":23,"kind":{"Allocated":{"align":8,"bytes":[0,0,0,0,0,0,0,0],"mutability":"Mut","provenance":{"ptrs":[[0,2]]}}},"ty":53},"span":50,"user_ty":null}},54]}]},"span":116},{"kind":{"Assign":[{"local":8,"projection":[]},{"Aggregate":[{"Adt":[13,0,[{"Lifetime":{"kind":"ReErased"}}],null,null]},[{"Move":{"local":10,"projection":[]}},{"Constant":{"const_":{"id":24,"kind":{"Allocated":{"align":8,"bytes":[0,0,0,0,0,0,0,0,null,null,null,null,null,null,null,null],"mutability":"Not","provenance":{"ptrs":[]}}},"ty":55},"span":50,"user_ty":null}},{"Move":{"local":11,"projection":[]}}]]}]},"span":117},{"kind":{"StorageDead":11},"span":118},{"kind":{"StorageDead":10},"span":118}],"terminator":{"kind":{"Call":{"args":[{"Move":{"local":8,"projection":[]}}],"destination":{"local":7,"projection":[]},"func":{"Constant":{"const_":{"id":21,"kind":"ZeroSized","ty":50},"span":112,"user_ty":null}},"target":null,"unwind":"Terminate"}},"span":113}},{"statements":[],"terminator":{"kind":{"SwitchInt":{"discr":{"Move":{"local":9,"projection":[]}},"targets":{"branches":[[1,5]],"otherwise":6}}},"span":105}}],"locals":[{"mutability":"Mut","span":119,"ty":8},{"mutability":"Not","span":120,"ty":56},{"mutability":"Not","span":120,"ty":47},{"mutability":"Mut","span":93,"ty":37},{"mutability":"Not","span":101,"ty":27},{"mutability":"Mut","span":95,"ty":46},{"mutability":"Mut","span":121,"ty":47},{"mutability":"Not","span":113,"ty":27},{"mutability":"Mut","span":114,"ty":57},{"mutability":"Mut","span":104,"ty":58},{"mutability":"Mut","span":115,"ty":52},{"mutability":"Mut","span":116,"ty":54},{"mutability":"Mut","span":106,"ty":47},{"mutability":"Mut","span":107,"ty":47}],"span":136,"spread_arg":null,"var_debug_info":[{"argument_index":1,"composite":null,"name":"addr","source_info":{"scope":0,"span":120},"value":{"Place":{"local":1,"projection":[]}}},{"argument_index":2,"composite":null,"name":"align","source_info":{"scope":0,"span":120},"value":{"Place":{"local":2,"projection":[]}}},{"argument_index":1,"composite":null,"name":"ptr","source_info":{"scope":1,"span":122},"value":{"Place":{"local":1,"projection":[]}}},{"argument_index":2,"composite":null,"name":"align","source_info":{"scope":1,"span":123},"value":{"Place":{"local":2,"projection":[]}}},{"argument_index":1,"composite":null,"name":"self","source_info":{"scope":2,"span":124},"value":{"Place":{"local":1,"projection":[]}}},{"argument_index":1,"composite":null,"name":"ptr","source_info":{"scope":4,"span":125},"value":{"Place":{"local":5,"projection":[]}}},{"argument_index":1,"composite":null,"name":"self","source_info":{"scope":5,"span":126},"value":{"Place":{"local":5,"projection":[]}}},{"argument_index":1,"composite":null,"name":"self","source_info":{"scope":6,"span":127},"value":{"Place":{"local":5,"projection":[]}}},{"argument_index":1,"composite":null,"name":"self","source_info":{"scope":7,"span":128},"value":{"Place":{"local":1,"projection":[]}}},{"argument_index":2,"composite":null,"name":"align","source_info":{"scope":7,"span":129},"value":{"Place":{"local":2,"projection":[]}}},{"argument_index":1,"composite":null,"name":"self","source_info":{"scope":8,"span":130},"value":{"Place":{"local":2,"projection":[]}}},{"argument_index":1,"composite":null,"name":"self","source_info":{"scope":9,"span":131},"value":{"Place":{"local":2,"projection":[]}}},{"argument_index":1,"composite":null,"name":"self","source_info":{"scope":10,"span":127},"value":{"Place":{"local":1,"projection":[]}}},{"argument_index":1,"composite":null,"name":"pieces","source_info":{"scope":11,"span":132},"value":{"Const":{"const_":{"id":25,"kind":{"Allocated":{"align":8,"bytes":[0,0,0,0,0,0,0,0],"mutability":"Mut","provenance":{"ptrs":[[0,3]]}}},"ty":51},"span":133,"user_ty":null}}},{"argument_index":1,"composite":null,"name":"ptr","source_info":{"scope":12,"span":134},"value":{"Place":{"local":1,"projection":[]}}},{"argument_index":2,"composite":null,"name":"align","source_info":{"scope":12,"span":135},"value":{"Place":{"local":2,"projection":[]}}},{"argument_index":1,"composite":null,"name":"self","source_info":{"scope":13,"span":126},"value":{"Place":{"local":1,"projection":[]}}},{"argument_index":1,"composite":null,"name":"self","source_info":{"scope":14,"span":127},"value":{"Place":{"local":1,"projection":[]}}}]}],"id":12,"name":"std::ptr::read_volatile::precondition_check"}},"symbol_name":"_ZN4core3ptr13read_volatile18precondition_check17hc773488a477a662fE"},{"details":null,"mono_item_kind":{"MonoItemFn":{"body":[{"arg_count":1,"blocks":[{"statements":[{"kind":{"Assign":[{"local":2,"projection":[]},{"NullaryOp":["SizeOf",32]}]},"span":336},{"kind":{"Assign":[{"local":3,"projection":[]},{"NullaryOp":["AlignOf",32]}]},"span":336}],"terminator":{"kind":{"Call":{"args":[{"Move":{"local":2,"projection":[]}},{"Move":{"local":3,"projection":[]}}],"destination":{"local":4,"projection":[]},"func":{"Constant":{"const_":{"id":47,"kind":"ZeroSized","ty":88},"span":336,"user_ty":null}},"target":1,"unwind":{"Cleanup":2}}},"span":336}},{"statements":[{"kind":{"Assign":[{"local":0,"projection":[]},{"ShallowInitBox":[{"Move":{"local":4,"projection":[]}},32]}]},"span":336},{"kind":{"Assign":[{"local":5,"projection":[]},{"Use":{"Copy":{"local":0,"projection":[{"Field":[0,89]},{"Field":[0,90]},{"Field":[0,91]}]}}}]},"span":338},{"kind":{"Assign":[{"local":5,"projection":["Deref"]},{"Use":{"Move":{"local":1,"projection":[]}}}]},"span":338}],"terminator":{"kind":"Return","span":337}},{"statements":[],"terminator":{"kind":{"Drop":{"place":{"local":1,"projection":[]},"target":3,"unwind":"Terminate"}},"span":339}},{"statements":[],"terminator":{"kind":"Resume","span":340}}],"locals":[{"mutability":"Mut","span":341,"ty":92},{"mutability":"Not","span":342,"ty":32},{"mutability":"Mut","span":336,"ty":47},{"mutability":"Mut","span":336,"ty":47},{"mutability":"Mut","span":336,"ty":61},{"mutability":"Mut","span":336,"ty":91}],"span":340,"spread_arg":null,"var_debug_info":[{"argument_index":1,"composite":null,"name":"x","source_info":{"scope":0,"span":342},"value":{"Place":{"local":1,"projection":[]}}}]}],"id":26,"name":"std::boxed::Box::<&str>::new"}},"symbol_name":"_ZN5alloc5boxed12Box$LT$T$GT$3new17hfb7bad2afdef8431E"},{"details":null,"mono_item_kind":{"MonoItemFn":{"body":[{"arg_count":1,"blocks":[{"statements":[{"kind":{"Assign":[{"local":0,"projection":[]},{"Use":{"Constant":{"const_":{"id":28,"kind":{"Allocated":{"align":1,"bytes":[0],"mutability":"Mut","provenance":{"ptrs":[]}}},"ty":23},"span":160,"user_ty":null}}}]},"span":160}],"terminator":{"kind":"Return","span":159}}],"locals":[{"mutability":"Mut","span":161,"ty":23},{"mutability":"Not","span":162,"ty":8}],"span":163,"spread_arg":null,"var_debug_info":[{"argument_index":1,"composite":null,"name":"self","source_info":{"scope":0,"span":162},"value":{"Const":{"const_":{"id":6,"kind":"ZeroSized","ty":8},"span":50,"user_ty":null}}}]}],"id":17,"name":"<() as std::process::Termination>::report"}},"symbol_name":"_ZN54_$LT$$LP$$RP$$u20$as$u20$std..process..Termination$GT$6report17h6e8cf99dfda5fdefE"},{"details":null,"mono_item_kind":{"MonoItemFn":{"body":[{"arg_count":4,"blocks":[{"statements":[{"kind":{"StorageLive":5},"span":19},{"kind":{"StorageLive":6},"span":20},{"kind":{"StorageLive":7},"span":20},{"kind":{"StorageLive":8},"span":21},{"kind":{"Assign":[{"local":8,"projection":[]},{"Aggregate":[{"Closure":[3,[{"Type":8},{"Type":9},{"Type":10},{"Type":11}]]},[{"Copy":{"local":1,"projection":[]}}]]}]},"span":21},{"kind":{"Assign":[{"local":7,"projection":[]},{"Ref":[{"kind":"ReErased"},"Shared",{"local":8,"projection":[]}]}]},"span":20},{"kind":{"Assign":[{"local":6,"projection":[]},{"Cast":[{"PointerCoercion":"Unsize"},{"Move":{"local":7,"projection":[]}},12]}]},"span":20},{"kind":{"StorageDead":7},"span":22}],"terminator":{"kind":{"Call":{"args":[{"Move":{"local":6,"projection":[]}},{"Move":{"local":2,"projection":[]}},{"Move":{"local":3,"projection":[]}},{"Move":{"local":4,"projection":[]}}],"destination":{"local":5,"projection":[]},"func":{"Constant":{"const_":{"id":2,"kind":"ZeroSized","ty":7},"span":18,"user_ty":null}},"target":1,"unwind":"Continue"}},"span":19}},{"statements":[{"kind":{"StorageDead":6},"span":24},{"kind":{"Assign":[{"local":0,"projection":[]},{"Use":{"Copy":{"local":5,"projection":[{"Downcast":0},{"Field":[0,13]}]}}}]},"span":25},{"kind":{"StorageDead":8},"span":26},{"kind":{"StorageDead":5},"span":26}],"terminator":{"kind":"Return","span":23}}],"locals":[{"mutability":"Mut","span":27,"ty":13},{"mutability":"Not","span":28,"ty":14},{"mutability":"Not","span":29,"ty":13},{"mutability":"Not","span":30,"ty":15},{"mutability":"Not","span":31,"ty":16},{"mutability":"Mut","span":19,"ty":17},{"mutability":"Mut","span":20,"ty":12},{"mutability":"Mut","span":20,"ty":18},{"mutability":"Not","span":21,"ty":19}],"span":32,"spread_arg":null,"var_debug_info":[{"argument_index":1,"composite":null,"name":"main","source_info":{"scope":0,"span":28},"value":{"Place":{"local":1,"projection":[]}}},{"argument_index":2,"composite":null,"name":"argc","source_info":{"scope":0,"span":29},"value":{"Place":{"local":2,"projection":[]}}},{"argument_index":3,"composite":null,"name":"argv","source_info":{"scope":0,"span":30},"value":{"Place":{"local":3,"projection":[]}}},{"argument_index":4,"composite":null,"name":"sigpipe","source_info":{"scope":0,"span":31},"value":{"Place":{"local":4,"projection":[]}}},{"argument_index":null,"composite":null,"name":"v","source_info":{"scope":1,"span":25},"value":{"Place":{"local":0,"projection":[]}}}]}],"id":2,"name":"std::rt::lang_start::<()>"}},"symbol_name":"_ZN3std2rt10lang_start17hd4017724170dc624E"},{"details":null,"mono_item_kind":{"MonoItemFn":{"body":[],"id":10,"name":"std::intrinsics::type_id::<&str>"}},"symbol_name":"_ZN4core10intrinsics7type_id17h948ad9d7a3771dcdE"},{"details":null,"mono_item_kind":{"MonoItemFn":{"body":[{"arg_count":1,"blocks":[{"statements":[],"terminator":{"kind":"Return","span":137}}],"locals":[{"mutability":"Mut","span":137,"ty":8},{"mutability":"Not","span":137,"ty":43}],"span":137,"spread_arg":null,"var_debug_info":[]}],"id":14,"name":"std::ptr::drop_in_place::<{closure@std::rt::lang_start<()>::{closure#0}}>"}},"symbol_name":"_ZN4core3ptr85drop_in_place$LT$std..rt..lang_start$LT$$LP$$RP$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$17h21a5cf619fdd0e23E"},{"details":null,"mono_item_kind":{"MonoItemFn":{"body":[{"arg_count":2,"blocks":[{"statements":[{"kind":{"Assign":[{"local":3,"projection":[]},{"Ref":[{"kind":"ReErased"},{"Mut":{"kind":"Default"}},{"local":1,"projection":[]}]}]},"span":91}],"terminator":{"kind":{"Call":{"args":[{"Move":{"local":3,"projection":[]}},{"Move":{"local":2,"projection":[]}}],"destination":{"local":0,"projection":[]},"func":{"Constant":{"const_":{"id":15,"kind":"ZeroSized","ty":44},"span":91,"user_ty":null}},"target":1,"unwind":{"Cleanup":3}}},"span":91}},{"statements":[],"terminator":{"kind":{"Drop":{"place":{"local":1,"projection":[]},"target":2,"unwind":"Continue"}},"span":91}},{"statements":[],"terminator":{"kind":"Return","span":91}},{"statements":[],"terminator":{"kind":{"Drop":{"place":{"local":1,"projection":[]},"target":4,"unwind":"Terminate"}},"span":91}},{"statements":[],"terminator":{"kind":"Resume","span":91}}],"locals":[{"mutability":"Mut","span":91,"ty":1},{"mutability":"Not","span":91,"ty":19},{"mutability":"Not","span":91,"ty":8},{"mutability":"Not","span":91,"ty":45}],"span":91,"spread_arg":2,"var_debug_info":[]}],"id":11,"name":"<{closure@std::rt::lang_start<()>::{closure#0}} as std::ops::FnOnce<()>>::call_once"}},"symbol_name":"_ZN4core3ops8function6FnOnce9call_once17h86e2963be1a2fd6aE"},{"details":null,"mono_item_kind":{"MonoItemFn":{"body":[{"arg_count":1,"blocks":[{"statements":[],"terminator":{"kind":"Return","span":137}}],"locals":[{"mutability":"Mut","span":137,"ty":8},{"mutability":"Not","span":137,"ty":59}],"span":137,"spread_arg":null,"var_debug_info":[]}],"id":14,"name":"std::ptr::drop_in_place::<&str>"}},"symbol_name":"_ZN4core3ptr28drop_in_place$LT$$RF$str$GT$17h77c483de56b3845cE"},{"details":null,"mono_item_kind":{"MonoItemFn":{"body":[{"arg_count":2,"blocks":[{"statements":[],"terminator":{"kind":{"Call":{"args":[],"destination":{"local":0,"projection":[]},"func":{"Move":{"local":1,"projection":[]}},"target":1,"unwind":"Continue"}},"span":91}},{"statements":[],"terminator":{"kind":"Return","span":91}}],"locals":[{"mutability":"Mut","span":91,"ty":8},{"mutability":"Not","span":91,"ty":14},{"mutability":"Not","span":91,"ty":8}],"span":91,"spread_arg":2,"var_debug_info":[]}],"id":11,"name":">::call_once"}},"symbol_name":"_ZN4core3ops8function6FnOnce9call_once17h11ec6afa27e3d406E"}]} \ No newline at end of file diff --git a/panic_example.smir.json b/panic_example.smir.json new file mode 120000 index 0000000..e509739 --- /dev/null +++ b/panic_example.smir.json @@ -0,0 +1 @@ +tests/integration/programs/panic_example.smir.json.expected \ No newline at end of file diff --git a/tests/integration/normalise-filter.jq b/tests/integration/normalise-filter.jq new file mode 100644 index 0000000..3588770 --- /dev/null +++ b/tests/integration/normalise-filter.jq @@ -0,0 +1,18 @@ +{ allocs: + ( [ .allocs[] ] +# sort allocs by their ID + | sort_by(.[0]) +# TODO this should be removed + | map ( select( .[1] | has("Static") | not ) ) + ), + functions: + ( [ .functions[] ] +# sort functions by their ID (int, first in list) + | sort_by(.[0]) + ), + items: + ( [ .items[] ] +# sort items by symbol name they refer to + | sort_by(.symbol_name) + ) +} \ No newline at end of file diff --git a/tests/integration/programs/panic_example.rs b/tests/integration/programs/panic_example.rs new file mode 100644 index 0000000..c307e16 --- /dev/null +++ b/tests/integration/programs/panic_example.rs @@ -0,0 +1,3 @@ +fn main() { + panic!() +} \ No newline at end of file diff --git a/tests/integration/programs/panic_example.smir.json.expected b/tests/integration/programs/panic_example.smir.json.expected new file mode 100644 index 0000000..aae05d4 --- /dev/null +++ b/tests/integration/programs/panic_example.smir.json.expected @@ -0,0 +1,12772 @@ +{ + "allocs": [ + [ + 0, + { + "Memory": { + "align": 1, + "bytes": [ + 117, + 110, + 115, + 97, + 102, + 101, + 32, + 112, + 114, + 101, + 99, + 111, + 110, + 100, + 105, + 116, + 105, + 111, + 110, + 40, + 115, + 41, + 32, + 118, + 105, + 111, + 108, + 97, + 116, + 101, + 100, + 58, + 32, + 112, + 116, + 114, + 58, + 58, + 114, + 101, + 97, + 100, + 95, + 118, + 111, + 108, + 97, + 116, + 105, + 108, + 101, + 32, + 114, + 101, + 113, + 117, + 105, + 114, + 101, + 115, + 32, + 116, + 104, + 97, + 116, + 32, + 116, + 104, + 101, + 32, + 112, + 111, + 105, + 110, + 116, + 101, + 114, + 32, + 97, + 114, + 103, + 117, + 109, + 101, + 110, + 116, + 32, + 105, + 115, + 32, + 97, + 108, + 105, + 103, + 110, + 101, + 100, + 32, + 97, + 110, + 100, + 32, + 110, + 111, + 110, + 45, + 110, + 117, + 108, + 108 + ], + "mutability": "Not", + "provenance": { + "ptrs": [] + } + } + } + ], + [ + 1, + { + "Memory": { + "align": 8, + "bytes": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 42, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "mutability": "Not", + "provenance": { + "ptrs": [ + [ + 0, + 12 + ] + ] + } + } + } + ], + [ + 2, + { + "Memory": { + "align": 8, + "bytes": [], + "mutability": "Not", + "provenance": { + "ptrs": [] + } + } + } + ], + [ + 3, + { + "Memory": { + "align": 8, + "bytes": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 42, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "mutability": "Not", + "provenance": { + "ptrs": [ + [ + 0, + 13 + ] + ] + } + } + } + ], + [ + 4, + { + "Memory": { + "align": 1, + "bytes": [ + 117, + 110, + 115, + 97, + 102, + 101, + 32, + 112, + 114, + 101, + 99, + 111, + 110, + 100, + 105, + 116, + 105, + 111, + 110, + 40, + 115, + 41, + 32, + 118, + 105, + 111, + 108, + 97, + 116, + 101, + 100, + 58, + 32, + 78, + 111, + 110, + 78, + 117, + 108, + 108, + 58, + 58, + 110, + 101, + 119, + 95, + 117, + 110, + 99, + 104, + 101, + 99, + 107, + 101, + 100, + 32, + 114, + 101, + 113, + 117, + 105, + 114, + 101, + 115, + 32, + 116, + 104, + 97, + 116, + 32, + 116, + 104, + 101, + 32, + 112, + 111, + 105, + 110, + 116, + 101, + 114, + 32, + 105, + 115, + 32, + 110, + 111, + 110, + 45, + 110, + 117, + 108, + 108 + ], + "mutability": "Not", + "provenance": { + "ptrs": [] + } + } + } + ], + [ + 5, + { + "Memory": { + "align": 1, + "bytes": [], + "mutability": "Not", + "provenance": { + "ptrs": [] + } + } + } + ], + [ + 6, + { + "Memory": { + "align": 1, + "bytes": [], + "mutability": "Not", + "provenance": { + "ptrs": [] + } + } + } + ], + [ + 8, + { + "Memory": { + "align": 1, + "bytes": [ + 101, + 120, + 112, + 108, + 105, + 99, + 105, + 116, + 32, + 112, + 97, + 110, + 105, + 99 + ], + "mutability": "Not", + "provenance": { + "ptrs": [] + } + } + } + ], + [ + 12, + { + "Memory": { + "align": 1, + "bytes": [ + 105, + 115, + 95, + 97, + 108, + 105, + 103, + 110, + 101, + 100, + 95, + 116, + 111, + 58, + 32, + 97, + 108, + 105, + 103, + 110, + 32, + 105, + 115, + 32, + 110, + 111, + 116, + 32, + 97, + 32, + 112, + 111, + 119, + 101, + 114, + 45, + 111, + 102, + 45, + 116, + 119, + 111 + ], + "mutability": "Not", + "provenance": { + "ptrs": [] + } + } + } + ], + [ + 13, + { + "Memory": { + "align": 1, + "bytes": [ + 105, + 115, + 95, + 97, + 108, + 105, + 103, + 110, + 101, + 100, + 95, + 116, + 111, + 58, + 32, + 97, + 108, + 105, + 103, + 110, + 32, + 105, + 115, + 32, + 110, + 111, + 116, + 32, + 97, + 32, + 112, + 111, + 119, + 101, + 114, + 45, + 111, + 102, + 45, + 116, + 119, + 111 + ], + "mutability": "Not", + "provenance": { + "ptrs": [] + } + } + } + ] + ], + "functions": [ + [ + 0, + { + "IntrinsicSym": "type_id" + } + ], + [ + 7, + { + "NormalSym": "_ZN3std2rt19lang_start_internal17h51b943990c0e2c96E" + } + ], + [ + 20, + { + "NormalSym": "_ZN3std3sys9backtrace28__rust_begin_short_backtrace17h163f76a593f9a61dE" + } + ], + [ + 21, + { + "NormalSym": "_ZN54_$LT$$LP$$RP$$u20$as$u20$std..process..Termination$GT$6report17h6e8cf99dfda5fdefE" + } + ], + [ + 25, + { + "NormalSym": "_ZN3std9panicking11begin_panic28_$u7b$$u7b$closure$u7d$$u7d$17h1ebb1eaab9f30b5aE" + } + ], + [ + 26, + { + "IntrinsicSym": "black_box" + } + ], + [ + 29, + { + "NormalSym": "_ZN4core3ops8function6FnOnce9call_once17h11ec6afa27e3d406E" + } + ], + [ + 30, + { + "IntrinsicSym": "caller_location" + } + ], + [ + 31, + { + "NormalSym": "_ZN3std3sys9backtrace26__rust_end_short_backtrace17h4bae7cc86322177bE" + } + ], + [ + 36, + { + "NormalSym": "_ZN3std9panicking20rust_panic_with_hook17he6fc28793b894d73E" + } + ], + [ + 42, + { + "NormalSym": "_ZN4core3ops8function6FnOnce9call_once17h86e2963be1a2fd6aE" + } + ], + [ + 44, + { + "NormalSym": "_ZN3std2rt10lang_start28_$u7b$$u7b$closure$u7d$$u7d$17hc407815e8e27866fE" + } + ], + [ + 48, + { + "NormalSym": "_ZN4core9panicking14panic_nounwind17hee6445121510e179E" + } + ], + [ + 49, + { + "IntrinsicSym": "ctpop" + } + ], + [ + 50, + { + "NormalSym": "_ZN4core9panicking9panic_fmt17h8510a50a874ddcc2E" + } + ], + [ + 63, + { + "NormalSym": "_ZN5alloc5alloc6Global10alloc_impl17hfeb4b7829cd89493E" + } + ], + [ + 66, + { + "NormalSym": "_ZN5alloc5alloc18handle_alloc_error17h367988acd01d106aE" + } + ], + [ + 73, + { + "NormalSym": "__rust_alloc" + } + ], + [ + 75, + { + "NormalSym": "_ZN4core3ptr13read_volatile18precondition_check17hc773488a477a662fE" + } + ], + [ + 76, + { + "IntrinsicSym": "volatile_load" + } + ], + [ + 78, + { + "NormalSym": "__rust_alloc_zeroed" + } + ], + [ + 79, + { + "NormalSym": "_ZN5alloc5alloc5alloc17h214157fcd92df279E" + } + ], + [ + 80, + { + "NormalSym": "_ZN4core3ptr8non_null16NonNull$LT$T$GT$13new_unchecked18precondition_check17h180abd43edd08785E" + } + ], + [ + 88, + { + "NormalSym": "_ZN5alloc5alloc15exchange_malloc17h5443007c4b77064aE" + } + ], + [ + 93, + { + "NormalSym": "_ZN3std7process5abort17h4d7b628a2864edb7E" + } + ], + [ + 94, + { + "NormalSym": "_ZN3std9panicking14payload_as_str17h5ede2995a2a0c693E" + } + ], + [ + 96, + { + "NormalSym": "_ZN4core3fmt9Formatter9write_str17hd334b351ded225feE" + } + ], + [ + 101, + { + "NormalSym": "_ZN5alloc5boxed12Box$LT$T$GT$3new17hfb7bad2afdef8431E" + } + ], + [ + 112, + { + "NormalSym": "_ZN3std9panicking11begin_panic17h046658c3c0b9185bE" + } + ], + [ + 113, + { + "NoOpSym": "" + } + ], + [ + 114, + { + "NoOpSym": "" + } + ], + [ + 115, + { + "NoOpSym": "" + } + ] + ], + "items": [ + { + "details": null, + "mono_item_kind": { + "MonoItemFn": { + "body": [ + { + "arg_count": 0, + "blocks": [ + { + "statements": [], + "terminator": { + "kind": { + "Call": { + "args": [ + { + "Constant": { + "const_": { + "id": 54, + "kind": { + "Allocated": { + "align": 8, + "bytes": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 14, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "mutability": "Mut", + "provenance": { + "ptrs": [ + [ + 0, + 8 + ] + ] + } + } + }, + "ty": 32 + }, + "span": 418, + "user_ty": null + } + } + ], + "destination": { + "local": 1, + "projection": [] + }, + "func": { + "Constant": { + "const_": { + "id": 53, + "kind": "ZeroSized", + "ty": 112 + }, + "span": 417, + "user_ty": null + } + }, + "target": null, + "unwind": "Continue" + } + }, + "span": 419 + } + } + ], + "locals": [ + { + "mutability": "Mut", + "span": 420, + "ty": 8 + }, + { + "mutability": "Mut", + "span": 419, + "ty": 27 + } + ], + "span": 421, + "spread_arg": null, + "var_debug_info": [] + } + ], + "id": 31, + "name": "main" + } + }, + "symbol_name": "_ZN13panic_example4main17h1a3a8ec0839c9696E" + }, + { + "details": null, + "mono_item_kind": { + "MonoItemFn": { + "body": [ + { + "arg_count": 1, + "blocks": [ + { + "statements": [ + { + "kind": { + "StorageLive": 2 + }, + "span": 2 + }, + { + "kind": { + "StorageLive": 3 + }, + "span": 2 + }, + { + "kind": { + "StorageLive": 5 + }, + "span": 2 + } + ], + "terminator": { + "kind": { + "Call": { + "args": [], + "destination": { + "local": 2, + "projection": [] + }, + "func": { + "Constant": { + "const_": { + "id": 0, + "kind": "ZeroSized", + "ty": 0 + }, + "span": 0, + "user_ty": null + } + }, + "target": 1, + "unwind": "Unreachable" + } + }, + "span": 1 + } + }, + { + "statements": [ + { + "kind": { + "StorageLive": 4 + }, + "span": 4 + }, + { + "kind": { + "Assign": [ + { + "local": 4, + "projection": [] + }, + { + "BinaryOp": [ + "Shr", + { + "Copy": { + "local": 2, + "projection": [] + } + }, + { + "Constant": { + "const_": { + "id": 1, + "kind": { + "Allocated": { + "align": 4, + "bytes": [ + 64, + 0, + 0, + 0 + ], + "mutability": "Mut", + "provenance": { + "ptrs": [] + } + } + }, + "ty": 1 + }, + "span": 5, + "user_ty": null + } + } + ] + } + ] + }, + "span": 4 + }, + { + "kind": { + "Assign": [ + { + "local": 3, + "projection": [] + }, + { + "Cast": [ + "IntToInt", + { + "Move": { + "local": 4, + "projection": [] + } + }, + 2 + ] + } + ] + }, + "span": 6 + }, + { + "kind": { + "StorageDead": 4 + }, + "span": 7 + }, + { + "kind": { + "Assign": [ + { + "local": 5, + "projection": [] + }, + { + "Cast": [ + "IntToInt", + { + "Copy": { + "local": 2, + "projection": [] + } + }, + 2 + ] + } + ] + }, + "span": 8 + }, + { + "kind": { + "StorageLive": 6 + }, + "span": 9 + }, + { + "kind": { + "Assign": [ + { + "local": 6, + "projection": [] + }, + { + "Aggregate": [ + "Tuple", + [ + { + "Copy": { + "local": 3, + "projection": [] + } + }, + { + "Copy": { + "local": 5, + "projection": [] + } + } + ] + ] + } + ] + }, + "span": 9 + }, + { + "kind": { + "Assign": [ + { + "local": 0, + "projection": [] + }, + { + "Aggregate": [ + { + "Adt": [ + 1, + 0, + [], + null, + null + ] + }, + [ + { + "Move": { + "local": 6, + "projection": [] + } + } + ] + ] + } + ] + }, + "span": 10 + }, + { + "kind": { + "StorageDead": 6 + }, + "span": 11 + }, + { + "kind": { + "StorageDead": 5 + }, + "span": 2 + }, + { + "kind": { + "StorageDead": 3 + }, + "span": 2 + }, + { + "kind": { + "StorageDead": 2 + }, + "span": 2 + } + ], + "terminator": { + "kind": "Return", + "span": 3 + } + } + ], + "locals": [ + { + "mutability": "Mut", + "span": 12, + "ty": 3 + }, + { + "mutability": "Not", + "span": 13, + "ty": 4 + }, + { + "mutability": "Not", + "span": 14, + "ty": 5 + }, + { + "mutability": "Not", + "span": 15, + "ty": 2 + }, + { + "mutability": "Mut", + "span": 4, + "ty": 5 + }, + { + "mutability": "Not", + "span": 16, + "ty": 2 + }, + { + "mutability": "Mut", + "span": 9, + "ty": 6 + } + ], + "span": 17, + "spread_arg": null, + "var_debug_info": [ + { + "argument_index": 1, + "composite": null, + "name": "self", + "source_info": { + "scope": 0, + "span": 13 + }, + "value": { + "Place": { + "local": 1, + "projection": [] + } + } + }, + { + "argument_index": null, + "composite": null, + "name": "t", + "source_info": { + "scope": 2, + "span": 14 + }, + "value": { + "Place": { + "local": 2, + "projection": [] + } + } + }, + { + "argument_index": null, + "composite": null, + "name": "t1", + "source_info": { + "scope": 3, + "span": 15 + }, + "value": { + "Place": { + "local": 3, + "projection": [] + } + } + }, + { + "argument_index": null, + "composite": null, + "name": "t2", + "source_info": { + "scope": 4, + "span": 16 + }, + "value": { + "Place": { + "local": 5, + "projection": [] + } + } + } + ] + } + ], + "id": 0, + "name": "<&str as std::any::Any>::type_id" + } + }, + "symbol_name": "_ZN36_$LT$T$u20$as$u20$core..any..Any$GT$7type_id17h5fbaa8559e09a241E" + }, + { + "details": null, + "mono_item_kind": { + "MonoItemFn": { + "body": [ + { + "arg_count": 4, + "blocks": [ + { + "statements": [ + { + "kind": { + "StorageLive": 5 + }, + "span": 19 + }, + { + "kind": { + "StorageLive": 6 + }, + "span": 20 + }, + { + "kind": { + "StorageLive": 7 + }, + "span": 20 + }, + { + "kind": { + "StorageLive": 8 + }, + "span": 21 + }, + { + "kind": { + "Assign": [ + { + "local": 8, + "projection": [] + }, + { + "Aggregate": [ + { + "Closure": [ + 3, + [ + { + "Type": 8 + }, + { + "Type": 9 + }, + { + "Type": 10 + }, + { + "Type": 11 + } + ] + ] + }, + [ + { + "Copy": { + "local": 1, + "projection": [] + } + } + ] + ] + } + ] + }, + "span": 21 + }, + { + "kind": { + "Assign": [ + { + "local": 7, + "projection": [] + }, + { + "Ref": [ + { + "kind": "ReErased" + }, + "Shared", + { + "local": 8, + "projection": [] + } + ] + } + ] + }, + "span": 20 + }, + { + "kind": { + "Assign": [ + { + "local": 6, + "projection": [] + }, + { + "Cast": [ + { + "PointerCoercion": "Unsize" + }, + { + "Move": { + "local": 7, + "projection": [] + } + }, + 12 + ] + } + ] + }, + "span": 20 + }, + { + "kind": { + "StorageDead": 7 + }, + "span": 22 + } + ], + "terminator": { + "kind": { + "Call": { + "args": [ + { + "Move": { + "local": 6, + "projection": [] + } + }, + { + "Move": { + "local": 2, + "projection": [] + } + }, + { + "Move": { + "local": 3, + "projection": [] + } + }, + { + "Move": { + "local": 4, + "projection": [] + } + } + ], + "destination": { + "local": 5, + "projection": [] + }, + "func": { + "Constant": { + "const_": { + "id": 2, + "kind": "ZeroSized", + "ty": 7 + }, + "span": 18, + "user_ty": null + } + }, + "target": 1, + "unwind": "Continue" + } + }, + "span": 19 + } + }, + { + "statements": [ + { + "kind": { + "StorageDead": 6 + }, + "span": 24 + }, + { + "kind": { + "Assign": [ + { + "local": 0, + "projection": [] + }, + { + "Use": { + "Copy": { + "local": 5, + "projection": [ + { + "Downcast": 0 + }, + { + "Field": [ + 0, + 13 + ] + } + ] + } + } + } + ] + }, + "span": 25 + }, + { + "kind": { + "StorageDead": 8 + }, + "span": 26 + }, + { + "kind": { + "StorageDead": 5 + }, + "span": 26 + } + ], + "terminator": { + "kind": "Return", + "span": 23 + } + } + ], + "locals": [ + { + "mutability": "Mut", + "span": 27, + "ty": 13 + }, + { + "mutability": "Not", + "span": 28, + "ty": 14 + }, + { + "mutability": "Not", + "span": 29, + "ty": 13 + }, + { + "mutability": "Not", + "span": 30, + "ty": 15 + }, + { + "mutability": "Not", + "span": 31, + "ty": 16 + }, + { + "mutability": "Mut", + "span": 19, + "ty": 17 + }, + { + "mutability": "Mut", + "span": 20, + "ty": 12 + }, + { + "mutability": "Mut", + "span": 20, + "ty": 18 + }, + { + "mutability": "Not", + "span": 21, + "ty": 19 + } + ], + "span": 32, + "spread_arg": null, + "var_debug_info": [ + { + "argument_index": 1, + "composite": null, + "name": "main", + "source_info": { + "scope": 0, + "span": 28 + }, + "value": { + "Place": { + "local": 1, + "projection": [] + } + } + }, + { + "argument_index": 2, + "composite": null, + "name": "argc", + "source_info": { + "scope": 0, + "span": 29 + }, + "value": { + "Place": { + "local": 2, + "projection": [] + } + } + }, + { + "argument_index": 3, + "composite": null, + "name": "argv", + "source_info": { + "scope": 0, + "span": 30 + }, + "value": { + "Place": { + "local": 3, + "projection": [] + } + } + }, + { + "argument_index": 4, + "composite": null, + "name": "sigpipe", + "source_info": { + "scope": 0, + "span": 31 + }, + "value": { + "Place": { + "local": 4, + "projection": [] + } + } + }, + { + "argument_index": null, + "composite": null, + "name": "v", + "source_info": { + "scope": 1, + "span": 25 + }, + "value": { + "Place": { + "local": 0, + "projection": [] + } + } + } + ] + } + ], + "id": 2, + "name": "std::rt::lang_start::<()>" + } + }, + "symbol_name": "_ZN3std2rt10lang_start17hd4017724170dc624E" + }, + { + "details": null, + "mono_item_kind": { + "MonoItemFn": { + "body": [ + { + "arg_count": 1, + "blocks": [ + { + "statements": [ + { + "kind": { + "StorageLive": 2 + }, + "span": 35 + }, + { + "kind": { + "StorageLive": 3 + }, + "span": 34 + }, + { + "kind": { + "StorageLive": 4 + }, + "span": 36 + }, + { + "kind": { + "Assign": [ + { + "local": 4, + "projection": [] + }, + { + "Use": { + "Copy": { + "local": 1, + "projection": [ + "Deref", + { + "Field": [ + 0, + 14 + ] + } + ] + } + } + } + ] + }, + "span": 36 + } + ], + "terminator": { + "kind": { + "Call": { + "args": [ + { + "Move": { + "local": 4, + "projection": [] + } + } + ], + "destination": { + "local": 3, + "projection": [] + }, + "func": { + "Constant": { + "const_": { + "id": 3, + "kind": "ZeroSized", + "ty": 20 + }, + "span": 33, + "user_ty": null + } + }, + "target": 1, + "unwind": "Continue" + } + }, + "span": 34 + } + }, + { + "statements": [ + { + "kind": { + "StorageDead": 4 + }, + "span": 38 + } + ], + "terminator": { + "kind": { + "Call": { + "args": [ + { + "Move": { + "local": 3, + "projection": [] + } + } + ], + "destination": { + "local": 2, + "projection": [] + }, + "func": { + "Constant": { + "const_": { + "id": 4, + "kind": "ZeroSized", + "ty": 21 + }, + "span": 37, + "user_ty": null + } + }, + "target": 2, + "unwind": "Continue" + } + }, + "span": 35 + } + }, + { + "statements": [ + { + "kind": { + "StorageDead": 3 + }, + "span": 40 + }, + { + "kind": { + "StorageLive": 5 + }, + "span": 41 + }, + { + "kind": { + "Assign": [ + { + "local": 5, + "projection": [] + }, + { + "Ref": [ + { + "kind": "ReErased" + }, + "Shared", + { + "local": 2, + "projection": [ + { + "Field": [ + 0, + 22 + ] + } + ] + } + ] + } + ] + }, + "span": 41 + }, + { + "kind": { + "StorageLive": 6 + }, + "span": 42 + }, + { + "kind": { + "Assign": [ + { + "local": 6, + "projection": [] + }, + { + "Use": { + "Copy": { + "local": 2, + "projection": [ + { + "Field": [ + 0, + 22 + ] + }, + { + "Field": [ + 0, + 16 + ] + } + ] + } + } + } + ] + }, + "span": 42 + }, + { + "kind": { + "Assign": [ + { + "local": 0, + "projection": [] + }, + { + "Cast": [ + "IntToInt", + { + "Move": { + "local": 6, + "projection": [] + } + }, + 1 + ] + } + ] + }, + "span": 43 + }, + { + "kind": { + "StorageDead": 6 + }, + "span": 44 + }, + { + "kind": { + "StorageDead": 5 + }, + "span": 45 + }, + { + "kind": { + "StorageDead": 2 + }, + "span": 22 + } + ], + "terminator": { + "kind": "Return", + "span": 39 + } + } + ], + "locals": [ + { + "mutability": "Mut", + "span": 46, + "ty": 1 + }, + { + "mutability": "Mut", + "span": 21, + "ty": 18 + }, + { + "mutability": "Mut", + "span": 35, + "ty": 23 + }, + { + "mutability": "Mut", + "span": 34, + "ty": 8 + }, + { + "mutability": "Mut", + "span": 36, + "ty": 14 + }, + { + "mutability": "Mut", + "span": 41, + "ty": 24 + }, + { + "mutability": "Mut", + "span": 42, + "ty": 16 + } + ], + "span": 21, + "spread_arg": null, + "var_debug_info": [ + { + "argument_index": null, + "composite": null, + "name": "main", + "source_info": { + "scope": 0, + "span": 28 + }, + "value": { + "Place": { + "local": 1, + "projection": [ + "Deref", + { + "Field": [ + 0, + 14 + ] + } + ] + } + } + }, + { + "argument_index": 1, + "composite": null, + "name": "self", + "source_info": { + "scope": 1, + "span": 47 + }, + "value": { + "Place": { + "local": 2, + "projection": [] + } + } + }, + { + "argument_index": 1, + "composite": null, + "name": "self", + "source_info": { + "scope": 2, + "span": 48 + }, + "value": { + "Place": { + "local": 5, + "projection": [] + } + } + } + ] + } + ], + "id": 3, + "name": "std::rt::lang_start::<()>::{closure#0}" + } + }, + "symbol_name": "_ZN3std2rt10lang_start28_$u7b$$u7b$closure$u7d$$u7d$17hc407815e8e27866fE" + }, + { + "details": null, + "mono_item_kind": { + "MonoItemFn": { + "body": [ + { + "arg_count": 1, + "blocks": [ + { + "statements": [], + "terminator": { + "kind": { + "Call": { + "args": [ + { + "Move": { + "local": 1, + "projection": [] + } + }, + { + "Constant": { + "const_": { + "id": 6, + "kind": "ZeroSized", + "ty": 8 + }, + "span": 50, + "user_ty": null + } + } + ], + "destination": { + "local": 0, + "projection": [] + }, + "func": { + "Constant": { + "const_": { + "id": 5, + "kind": "ZeroSized", + "ty": 25 + }, + "span": 49, + "user_ty": null + } + }, + "target": 1, + "unwind": "Continue" + } + }, + "span": 51 + } + }, + { + "statements": [], + "terminator": { + "kind": { + "Call": { + "args": [ + { + "Constant": { + "const_": { + "id": 6, + "kind": "ZeroSized", + "ty": 8 + }, + "span": 50, + "user_ty": null + } + } + ], + "destination": { + "local": 2, + "projection": [] + }, + "func": { + "Constant": { + "const_": { + "id": 7, + "kind": "ZeroSized", + "ty": 26 + }, + "span": 52, + "user_ty": null + } + }, + "target": 2, + "unwind": "Unreachable" + } + }, + "span": 53 + } + }, + { + "statements": [], + "terminator": { + "kind": "Return", + "span": 54 + } + } + ], + "locals": [ + { + "mutability": "Mut", + "span": 55, + "ty": 27 + }, + { + "mutability": "Not", + "span": 56, + "ty": 28 + }, + { + "mutability": "Not", + "span": 57, + "ty": 8 + } + ], + "span": 60, + "spread_arg": null, + "var_debug_info": [ + { + "argument_index": 1, + "composite": null, + "name": "f", + "source_info": { + "scope": 0, + "span": 56 + }, + "value": { + "Place": { + "local": 1, + "projection": [] + } + } + }, + { + "argument_index": null, + "composite": null, + "name": "result", + "source_info": { + "scope": 1, + "span": 58 + }, + "value": { + "Place": { + "local": 0, + "projection": [] + } + } + }, + { + "argument_index": 1, + "composite": null, + "name": "dummy", + "source_info": { + "scope": 2, + "span": 59 + }, + "value": { + "Const": { + "const_": { + "id": 6, + "kind": "ZeroSized", + "ty": 8 + }, + "span": 50, + "user_ty": null + } + } + } + ] + } + ], + "id": 4, + "name": "std::sys::backtrace::__rust_end_short_backtrace::<{closure@std::rt::begin_panic<&str>::{closure#0}}, !>" + } + }, + "symbol_name": "_ZN3std3sys9backtrace26__rust_end_short_backtrace17h4bae7cc86322177bE" + }, + { + "details": null, + "mono_item_kind": { + "MonoItemFn": { + "body": [ + { + "arg_count": 1, + "blocks": [ + { + "statements": [], + "terminator": { + "kind": { + "Call": { + "args": [ + { + "Move": { + "local": 1, + "projection": [] + } + }, + { + "Constant": { + "const_": { + "id": 6, + "kind": "ZeroSized", + "ty": 8 + }, + "span": 50, + "user_ty": null + } + } + ], + "destination": { + "local": 0, + "projection": [] + }, + "func": { + "Constant": { + "const_": { + "id": 8, + "kind": "ZeroSized", + "ty": 29 + }, + "span": 61, + "user_ty": null + } + }, + "target": 1, + "unwind": "Continue" + } + }, + "span": 62 + } + }, + { + "statements": [], + "terminator": { + "kind": { + "Call": { + "args": [ + { + "Constant": { + "const_": { + "id": 6, + "kind": "ZeroSized", + "ty": 8 + }, + "span": 50, + "user_ty": null + } + } + ], + "destination": { + "local": 2, + "projection": [] + }, + "func": { + "Constant": { + "const_": { + "id": 7, + "kind": "ZeroSized", + "ty": 26 + }, + "span": 52, + "user_ty": null + } + }, + "target": 2, + "unwind": "Unreachable" + } + }, + "span": 53 + } + }, + { + "statements": [], + "terminator": { + "kind": "Return", + "span": 63 + } + } + ], + "locals": [ + { + "mutability": "Mut", + "span": 64, + "ty": 8 + }, + { + "mutability": "Not", + "span": 65, + "ty": 14 + }, + { + "mutability": "Not", + "span": 66, + "ty": 8 + } + ], + "span": 68, + "spread_arg": null, + "var_debug_info": [ + { + "argument_index": 1, + "composite": null, + "name": "f", + "source_info": { + "scope": 0, + "span": 65 + }, + "value": { + "Place": { + "local": 1, + "projection": [] + } + } + }, + { + "argument_index": null, + "composite": null, + "name": "result", + "source_info": { + "scope": 1, + "span": 67 + }, + "value": { + "Place": { + "local": 0, + "projection": [] + } + } + }, + { + "argument_index": 1, + "composite": null, + "name": "dummy", + "source_info": { + "scope": 2, + "span": 59 + }, + "value": { + "Const": { + "const_": { + "id": 6, + "kind": "ZeroSized", + "ty": 8 + }, + "span": 50, + "user_ty": null + } + } + } + ] + } + ], + "id": 5, + "name": "std::sys::backtrace::__rust_begin_short_backtrace::" + } + }, + "symbol_name": "_ZN3std3sys9backtrace28__rust_begin_short_backtrace17h163f76a593f9a61dE" + }, + { + "details": null, + "mono_item_kind": { + "MonoItemFn": { + "body": [ + { + "arg_count": 1, + "blocks": [ + { + "statements": [ + { + "kind": { + "StorageLive": 2 + }, + "span": 71 + } + ], + "terminator": { + "kind": { + "Call": { + "args": [], + "destination": { + "local": 2, + "projection": [] + }, + "func": { + "Constant": { + "const_": { + "id": 9, + "kind": "ZeroSized", + "ty": 30 + }, + "span": 69, + "user_ty": null + } + }, + "target": 1, + "unwind": "Unreachable" + } + }, + "span": 70 + } + }, + { + "statements": [ + { + "kind": { + "StorageLive": 3 + }, + "span": 74 + }, + { + "kind": { + "Assign": [ + { + "local": 3, + "projection": [] + }, + { + "Aggregate": [ + { + "Closure": [ + 7, + [ + { + "Type": 32 + }, + { + "Type": 1 + }, + { + "Type": 33 + }, + { + "Type": 34 + } + ] + ] + }, + [ + { + "Move": { + "local": 1, + "projection": [] + } + }, + { + "Copy": { + "local": 2, + "projection": [] + } + } + ] + ] + } + ] + }, + "span": 74 + } + ], + "terminator": { + "kind": { + "Call": { + "args": [ + { + "Move": { + "local": 3, + "projection": [] + } + } + ], + "destination": { + "local": 0, + "projection": [] + }, + "func": { + "Constant": { + "const_": { + "id": 10, + "kind": "ZeroSized", + "ty": 31 + }, + "span": 72, + "user_ty": null + } + }, + "target": null, + "unwind": "Continue" + } + }, + "span": 73 + } + } + ], + "locals": [ + { + "mutability": "Mut", + "span": 75, + "ty": 27 + }, + { + "mutability": "Not", + "span": 76, + "ty": 32 + }, + { + "mutability": "Not", + "span": 71, + "ty": 35 + }, + { + "mutability": "Mut", + "span": 74, + "ty": 28 + } + ], + "span": 77, + "spread_arg": null, + "var_debug_info": [ + { + "argument_index": 1, + "composite": null, + "name": "msg", + "source_info": { + "scope": 0, + "span": 76 + }, + "value": { + "Place": { + "local": 1, + "projection": [] + } + } + }, + { + "argument_index": null, + "composite": null, + "name": "loc", + "source_info": { + "scope": 1, + "span": 71 + }, + "value": { + "Place": { + "local": 2, + "projection": [] + } + } + } + ] + } + ], + "id": 6, + "name": "std::rt::begin_panic::<&str>" + } + }, + "symbol_name": "_ZN3std9panicking11begin_panic17h046658c3c0b9185bE" + }, + { + "details": null, + "mono_item_kind": { + "MonoItemFn": { + "body": [ + { + "arg_count": 1, + "blocks": [ + { + "statements": [ + { + "kind": { + "StorageLive": 2 + }, + "span": 82 + }, + { + "kind": { + "StorageLive": 3 + }, + "span": 82 + }, + { + "kind": { + "StorageLive": 4 + }, + "span": 83 + }, + { + "kind": { + "StorageLive": 5 + }, + "span": 84 + }, + { + "kind": { + "StorageLive": 6 + }, + "span": 85 + }, + { + "kind": { + "Assign": [ + { + "local": 6, + "projection": [] + }, + { + "Use": { + "Move": { + "local": 1, + "projection": [ + { + "Field": [ + 0, + 32 + ] + } + ] + } + } + } + ] + }, + "span": 85 + }, + { + "kind": { + "Assign": [ + { + "local": 5, + "projection": [] + }, + { + "Aggregate": [ + { + "Adt": [ + 8, + 1, + [ + { + "Type": 32 + } + ], + null, + null + ] + }, + [ + { + "Move": { + "local": 6, + "projection": [] + } + } + ] + ] + } + ] + }, + "span": 84 + }, + { + "kind": { + "StorageDead": 6 + }, + "span": 86 + }, + { + "kind": { + "Assign": [ + { + "local": 4, + "projection": [] + }, + { + "Aggregate": [ + { + "Adt": [ + 9, + 0, + [ + { + "Type": 32 + } + ], + null, + null + ] + }, + [ + { + "Move": { + "local": 5, + "projection": [] + } + } + ] + ] + } + ] + }, + "span": 83 + }, + { + "kind": { + "StorageDead": 5 + }, + "span": 87 + }, + { + "kind": { + "Assign": [ + { + "local": 3, + "projection": [] + }, + { + "Ref": [ + { + "kind": "ReErased" + }, + { + "Mut": { + "kind": "Default" + } + }, + { + "local": 4, + "projection": [] + } + ] + } + ] + }, + "span": 82 + }, + { + "kind": { + "Assign": [ + { + "local": 2, + "projection": [] + }, + { + "Cast": [ + { + "PointerCoercion": "Unsize" + }, + { + "Move": { + "local": 3, + "projection": [] + } + }, + 38 + ] + } + ] + }, + "span": 82 + }, + { + "kind": { + "StorageDead": 3 + }, + "span": 87 + }, + { + "kind": { + "Assign": [ + { + "local": 7, + "projection": [] + }, + { + "Use": { + "Copy": { + "local": 1, + "projection": [ + { + "Field": [ + 1, + 35 + ] + } + ] + } + } + } + ] + }, + "span": 88 + } + ], + "terminator": { + "kind": { + "Call": { + "args": [ + { + "Move": { + "local": 2, + "projection": [] + } + }, + { + "Move": { + "local": 7, + "projection": [] + } + }, + { + "Constant": { + "const_": { + "id": 12, + "kind": { + "Allocated": { + "align": 1, + "bytes": [ + 1 + ], + "mutability": "Mut", + "provenance": { + "ptrs": [] + } + } + }, + "ty": 37 + }, + "span": 79, + "user_ty": null + } + }, + { + "Constant": { + "const_": { + "id": 13, + "kind": { + "Allocated": { + "align": 1, + "bytes": [ + 0 + ], + "mutability": "Mut", + "provenance": { + "ptrs": [] + } + } + }, + "ty": 37 + }, + "span": 80, + "user_ty": null + } + } + ], + "destination": { + "local": 0, + "projection": [] + }, + "func": { + "Constant": { + "const_": { + "id": 11, + "kind": "ZeroSized", + "ty": 36 + }, + "span": 78, + "user_ty": null + } + }, + "target": null, + "unwind": { + "Cleanup": 1 + } + } + }, + "span": 81 + } + }, + { + "statements": [], + "terminator": { + "kind": { + "Drop": { + "place": { + "local": 4, + "projection": [] + }, + "target": 2, + "unwind": "Terminate" + } + }, + "span": 89 + } + }, + { + "statements": [], + "terminator": { + "kind": "Resume", + "span": 74 + } + } + ], + "locals": [ + { + "mutability": "Mut", + "span": 90, + "ty": 27 + }, + { + "mutability": "Mut", + "span": 74, + "ty": 28 + }, + { + "mutability": "Mut", + "span": 82, + "ty": 38 + }, + { + "mutability": "Mut", + "span": 82, + "ty": 39 + }, + { + "mutability": "Mut", + "span": 83, + "ty": 40 + }, + { + "mutability": "Mut", + "span": 84, + "ty": 41 + }, + { + "mutability": "Mut", + "span": 85, + "ty": 32 + }, + { + "mutability": "Mut", + "span": 74, + "ty": 35 + } + ], + "span": 74, + "spread_arg": null, + "var_debug_info": [ + { + "argument_index": null, + "composite": null, + "name": "msg", + "source_info": { + "scope": 0, + "span": 76 + }, + "value": { + "Place": { + "local": 1, + "projection": [ + { + "Field": [ + 0, + 32 + ] + } + ] + } + } + }, + { + "argument_index": null, + "composite": null, + "name": "loc", + "source_info": { + "scope": 0, + "span": 71 + }, + "value": { + "Place": { + "local": 1, + "projection": [ + { + "Field": [ + 1, + 35 + ] + } + ] + } + } + } + ] + } + ], + "id": 7, + "name": "std::rt::begin_panic::<&str>::{closure#0}" + } + }, + "symbol_name": "_ZN3std9panicking11begin_panic28_$u7b$$u7b$closure$u7d$$u7d$17h1ebb1eaab9f30b5aE" + }, + { + "details": null, + "mono_item_kind": { + "MonoItemFn": { + "body": [], + "id": 10, + "name": "std::intrinsics::type_id::<&str>" + } + }, + "symbol_name": "_ZN4core10intrinsics7type_id17h948ad9d7a3771dcdE" + }, + { + "details": null, + "mono_item_kind": { + "MonoItemFn": { + "body": [ + { + "arg_count": 2, + "blocks": [ + { + "statements": [], + "terminator": { + "kind": { + "Call": { + "args": [ + { + "Move": { + "local": 1, + "projection": [ + "Deref" + ] + } + }, + { + "Move": { + "local": 2, + "projection": [] + } + } + ], + "destination": { + "local": 0, + "projection": [] + }, + "func": { + "Constant": { + "const_": { + "id": 14, + "kind": "ZeroSized", + "ty": 42 + }, + "span": 91, + "user_ty": null + } + }, + "target": 1, + "unwind": "Continue" + } + }, + "span": 91 + } + }, + { + "statements": [], + "terminator": { + "kind": "Return", + "span": 91 + } + } + ], + "locals": [ + { + "mutability": "Mut", + "span": 91, + "ty": 1 + }, + { + "mutability": "Not", + "span": 91, + "ty": 43 + }, + { + "mutability": "Not", + "span": 91, + "ty": 8 + } + ], + "span": 91, + "spread_arg": 2, + "var_debug_info": [] + } + ], + "id": 11, + "name": "<{closure@std::rt::lang_start<()>::{closure#0}} as std::ops::FnOnce<()>>::call_once" + } + }, + "symbol_name": "_ZN4core3ops8function6FnOnce40call_once$u7b$$u7b$vtable.shim$u7d$$u7d$17h0b6b3134fd4818cdE" + }, + { + "details": null, + "mono_item_kind": { + "MonoItemFn": { + "body": [ + { + "arg_count": 2, + "blocks": [ + { + "statements": [], + "terminator": { + "kind": { + "Call": { + "args": [], + "destination": { + "local": 0, + "projection": [] + }, + "func": { + "Move": { + "local": 1, + "projection": [] + } + }, + "target": 1, + "unwind": "Continue" + } + }, + "span": 91 + } + }, + { + "statements": [], + "terminator": { + "kind": "Return", + "span": 91 + } + } + ], + "locals": [ + { + "mutability": "Mut", + "span": 91, + "ty": 8 + }, + { + "mutability": "Not", + "span": 91, + "ty": 14 + }, + { + "mutability": "Not", + "span": 91, + "ty": 8 + } + ], + "span": 91, + "spread_arg": 2, + "var_debug_info": [] + } + ], + "id": 11, + "name": ">::call_once" + } + }, + "symbol_name": "_ZN4core3ops8function6FnOnce9call_once17h11ec6afa27e3d406E" + }, + { + "details": null, + "mono_item_kind": { + "MonoItemFn": { + "body": [ + { + "arg_count": 2, + "blocks": [ + { + "statements": [ + { + "kind": { + "Assign": [ + { + "local": 3, + "projection": [] + }, + { + "Ref": [ + { + "kind": "ReErased" + }, + { + "Mut": { + "kind": "Default" + } + }, + { + "local": 1, + "projection": [] + } + ] + } + ] + }, + "span": 91 + } + ], + "terminator": { + "kind": { + "Call": { + "args": [ + { + "Move": { + "local": 3, + "projection": [] + } + }, + { + "Move": { + "local": 2, + "projection": [] + } + } + ], + "destination": { + "local": 0, + "projection": [] + }, + "func": { + "Constant": { + "const_": { + "id": 15, + "kind": "ZeroSized", + "ty": 44 + }, + "span": 91, + "user_ty": null + } + }, + "target": 1, + "unwind": { + "Cleanup": 3 + } + } + }, + "span": 91 + } + }, + { + "statements": [], + "terminator": { + "kind": { + "Drop": { + "place": { + "local": 1, + "projection": [] + }, + "target": 2, + "unwind": "Continue" + } + }, + "span": 91 + } + }, + { + "statements": [], + "terminator": { + "kind": "Return", + "span": 91 + } + }, + { + "statements": [], + "terminator": { + "kind": { + "Drop": { + "place": { + "local": 1, + "projection": [] + }, + "target": 4, + "unwind": "Terminate" + } + }, + "span": 91 + } + }, + { + "statements": [], + "terminator": { + "kind": "Resume", + "span": 91 + } + } + ], + "locals": [ + { + "mutability": "Mut", + "span": 91, + "ty": 1 + }, + { + "mutability": "Not", + "span": 91, + "ty": 19 + }, + { + "mutability": "Not", + "span": 91, + "ty": 8 + }, + { + "mutability": "Not", + "span": 91, + "ty": 45 + } + ], + "span": 91, + "spread_arg": 2, + "var_debug_info": [] + } + ], + "id": 11, + "name": "<{closure@std::rt::lang_start<()>::{closure#0}} as std::ops::FnOnce<()>>::call_once" + } + }, + "symbol_name": "_ZN4core3ops8function6FnOnce9call_once17h86e2963be1a2fd6aE" + }, + { + "details": null, + "mono_item_kind": { + "MonoItemFn": { + "body": [ + { + "arg_count": 2, + "blocks": [ + { + "statements": [ + { + "kind": { + "StorageLive": 3 + }, + "span": 93 + }, + { + "kind": { + "StorageLive": 6 + }, + "span": 93 + }, + { + "kind": { + "StorageLive": 5 + }, + "span": 94 + }, + { + "kind": { + "Assign": [ + { + "local": 5, + "projection": [] + }, + { + "Cast": [ + "PtrToPtr", + { + "Copy": { + "local": 1, + "projection": [] + } + }, + 46 + ] + } + ] + }, + "span": 95 + }, + { + "kind": { + "Assign": [ + { + "local": 6, + "projection": [] + }, + { + "Cast": [ + "Transmute", + { + "Copy": { + "local": 1, + "projection": [] + } + }, + 47 + ] + } + ] + }, + "span": 96 + }, + { + "kind": { + "StorageDead": 5 + }, + "span": 94 + } + ], + "terminator": { + "kind": { + "SwitchInt": { + "discr": { + "Move": { + "local": 6, + "projection": [] + } + }, + "targets": { + "branches": [ + [ + 0, + 3 + ] + ], + "otherwise": 4 + } + } + }, + "span": 92 + } + }, + { + "statements": [ + { + "kind": { + "StorageDead": 3 + }, + "span": 98 + } + ], + "terminator": { + "kind": "Return", + "span": 97 + } + }, + { + "statements": [], + "terminator": { + "kind": { + "Call": { + "args": [ + { + "Constant": { + "const_": { + "id": 17, + "kind": { + "Allocated": { + "align": 8, + "bytes": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 110, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "mutability": "Mut", + "provenance": { + "ptrs": [ + [ + 0, + 0 + ] + ] + } + } + }, + "ty": 32 + }, + "span": 100, + "user_ty": null + } + } + ], + "destination": { + "local": 4, + "projection": [] + }, + "func": { + "Constant": { + "const_": { + "id": 16, + "kind": "ZeroSized", + "ty": 48 + }, + "span": 99, + "user_ty": null + } + }, + "target": null, + "unwind": "Unreachable" + } + }, + "span": 101 + } + }, + { + "statements": [ + { + "kind": { + "StorageDead": 6 + }, + "span": 93 + } + ], + "terminator": { + "kind": { + "Goto": { + "target": 2 + } + }, + "span": 93 + } + }, + { + "statements": [ + { + "kind": { + "StorageLive": 9 + }, + "span": 104 + } + ], + "terminator": { + "kind": { + "Call": { + "args": [ + { + "Copy": { + "local": 2, + "projection": [] + } + } + ], + "destination": { + "local": 9, + "projection": [] + }, + "func": { + "Constant": { + "const_": { + "id": 18, + "kind": "ZeroSized", + "ty": 49 + }, + "span": 102, + "user_ty": null + } + }, + "target": 7, + "unwind": "Unreachable" + } + }, + "span": 103 + } + }, + { + "statements": [ + { + "kind": { + "StorageDead": 9 + }, + "span": 105 + }, + { + "kind": { + "StorageLive": 12 + }, + "span": 106 + }, + { + "kind": { + "StorageLive": 13 + }, + "span": 107 + }, + { + "kind": { + "Assign": [ + { + "local": 13, + "projection": [] + }, + { + "BinaryOp": [ + "Sub", + { + "Copy": { + "local": 2, + "projection": [] + } + }, + { + "Constant": { + "const_": { + "id": 19, + "kind": { + "Allocated": { + "align": 8, + "bytes": [ + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "mutability": "Mut", + "provenance": { + "ptrs": [] + } + } + }, + "ty": 47 + }, + "span": 108, + "user_ty": null + } + } + ] + } + ] + }, + "span": 107 + }, + { + "kind": { + "Assign": [ + { + "local": 12, + "projection": [] + }, + { + "BinaryOp": [ + "BitAnd", + { + "Copy": { + "local": 6, + "projection": [] + } + }, + { + "Move": { + "local": 13, + "projection": [] + } + } + ] + } + ] + }, + "span": 106 + }, + { + "kind": { + "StorageDead": 13 + }, + "span": 109 + }, + { + "kind": { + "Assign": [ + { + "local": 3, + "projection": [] + }, + { + "BinaryOp": [ + "Eq", + { + "Move": { + "local": 12, + "projection": [] + } + }, + { + "Constant": { + "const_": { + "id": 20, + "kind": { + "Allocated": { + "align": 8, + "bytes": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "mutability": "Mut", + "provenance": { + "ptrs": [] + } + } + }, + "ty": 47 + }, + "span": 110, + "user_ty": null + } + } + ] + } + ] + }, + "span": 111 + }, + { + "kind": { + "StorageDead": 12 + }, + "span": 110 + }, + { + "kind": { + "StorageDead": 6 + }, + "span": 93 + } + ], + "terminator": { + "kind": { + "SwitchInt": { + "discr": { + "Move": { + "local": 3, + "projection": [] + } + }, + "targets": { + "branches": [ + [ + 0, + 2 + ] + ], + "otherwise": 1 + } + } + }, + "span": 93 + } + }, + { + "statements": [ + { + "kind": { + "StorageDead": 9 + }, + "span": 105 + }, + { + "kind": { + "StorageLive": 8 + }, + "span": 114 + }, + { + "kind": { + "StorageLive": 10 + }, + "span": 115 + }, + { + "kind": { + "Assign": [ + { + "local": 10, + "projection": [] + }, + { + "Cast": [ + { + "PointerCoercion": "Unsize" + }, + { + "Constant": { + "const_": { + "id": 22, + "kind": { + "Allocated": { + "align": 8, + "bytes": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "mutability": "Mut", + "provenance": { + "ptrs": [ + [ + 0, + 1 + ] + ] + } + } + }, + "ty": 51 + }, + "span": 50, + "user_ty": null + } + }, + 52 + ] + } + ] + }, + "span": 115 + }, + { + "kind": { + "StorageLive": 11 + }, + "span": 116 + }, + { + "kind": { + "Assign": [ + { + "local": 11, + "projection": [] + }, + { + "Cast": [ + { + "PointerCoercion": "Unsize" + }, + { + "Constant": { + "const_": { + "id": 23, + "kind": { + "Allocated": { + "align": 8, + "bytes": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "mutability": "Mut", + "provenance": { + "ptrs": [ + [ + 0, + 2 + ] + ] + } + } + }, + "ty": 53 + }, + "span": 50, + "user_ty": null + } + }, + 54 + ] + } + ] + }, + "span": 116 + }, + { + "kind": { + "Assign": [ + { + "local": 8, + "projection": [] + }, + { + "Aggregate": [ + { + "Adt": [ + 13, + 0, + [ + { + "Lifetime": { + "kind": "ReErased" + } + } + ], + null, + null + ] + }, + [ + { + "Move": { + "local": 10, + "projection": [] + } + }, + { + "Constant": { + "const_": { + "id": 24, + "kind": { + "Allocated": { + "align": 8, + "bytes": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + null, + null, + null, + null, + null, + null, + null, + null + ], + "mutability": "Not", + "provenance": { + "ptrs": [] + } + } + }, + "ty": 55 + }, + "span": 50, + "user_ty": null + } + }, + { + "Move": { + "local": 11, + "projection": [] + } + } + ] + ] + } + ] + }, + "span": 117 + }, + { + "kind": { + "StorageDead": 11 + }, + "span": 118 + }, + { + "kind": { + "StorageDead": 10 + }, + "span": 118 + } + ], + "terminator": { + "kind": { + "Call": { + "args": [ + { + "Move": { + "local": 8, + "projection": [] + } + } + ], + "destination": { + "local": 7, + "projection": [] + }, + "func": { + "Constant": { + "const_": { + "id": 21, + "kind": "ZeroSized", + "ty": 50 + }, + "span": 112, + "user_ty": null + } + }, + "target": null, + "unwind": "Terminate" + } + }, + "span": 113 + } + }, + { + "statements": [], + "terminator": { + "kind": { + "SwitchInt": { + "discr": { + "Move": { + "local": 9, + "projection": [] + } + }, + "targets": { + "branches": [ + [ + 1, + 5 + ] + ], + "otherwise": 6 + } + } + }, + "span": 105 + } + } + ], + "locals": [ + { + "mutability": "Mut", + "span": 119, + "ty": 8 + }, + { + "mutability": "Not", + "span": 120, + "ty": 56 + }, + { + "mutability": "Not", + "span": 120, + "ty": 47 + }, + { + "mutability": "Mut", + "span": 93, + "ty": 37 + }, + { + "mutability": "Not", + "span": 101, + "ty": 27 + }, + { + "mutability": "Mut", + "span": 95, + "ty": 46 + }, + { + "mutability": "Mut", + "span": 121, + "ty": 47 + }, + { + "mutability": "Not", + "span": 113, + "ty": 27 + }, + { + "mutability": "Mut", + "span": 114, + "ty": 57 + }, + { + "mutability": "Mut", + "span": 104, + "ty": 58 + }, + { + "mutability": "Mut", + "span": 115, + "ty": 52 + }, + { + "mutability": "Mut", + "span": 116, + "ty": 54 + }, + { + "mutability": "Mut", + "span": 106, + "ty": 47 + }, + { + "mutability": "Mut", + "span": 107, + "ty": 47 + } + ], + "span": 136, + "spread_arg": null, + "var_debug_info": [ + { + "argument_index": 1, + "composite": null, + "name": "addr", + "source_info": { + "scope": 0, + "span": 120 + }, + "value": { + "Place": { + "local": 1, + "projection": [] + } + } + }, + { + "argument_index": 2, + "composite": null, + "name": "align", + "source_info": { + "scope": 0, + "span": 120 + }, + "value": { + "Place": { + "local": 2, + "projection": [] + } + } + }, + { + "argument_index": 1, + "composite": null, + "name": "ptr", + "source_info": { + "scope": 1, + "span": 122 + }, + "value": { + "Place": { + "local": 1, + "projection": [] + } + } + }, + { + "argument_index": 2, + "composite": null, + "name": "align", + "source_info": { + "scope": 1, + "span": 123 + }, + "value": { + "Place": { + "local": 2, + "projection": [] + } + } + }, + { + "argument_index": 1, + "composite": null, + "name": "self", + "source_info": { + "scope": 2, + "span": 124 + }, + "value": { + "Place": { + "local": 1, + "projection": [] + } + } + }, + { + "argument_index": 1, + "composite": null, + "name": "ptr", + "source_info": { + "scope": 4, + "span": 125 + }, + "value": { + "Place": { + "local": 5, + "projection": [] + } + } + }, + { + "argument_index": 1, + "composite": null, + "name": "self", + "source_info": { + "scope": 5, + "span": 126 + }, + "value": { + "Place": { + "local": 5, + "projection": [] + } + } + }, + { + "argument_index": 1, + "composite": null, + "name": "self", + "source_info": { + "scope": 6, + "span": 127 + }, + "value": { + "Place": { + "local": 5, + "projection": [] + } + } + }, + { + "argument_index": 1, + "composite": null, + "name": "self", + "source_info": { + "scope": 7, + "span": 128 + }, + "value": { + "Place": { + "local": 1, + "projection": [] + } + } + }, + { + "argument_index": 2, + "composite": null, + "name": "align", + "source_info": { + "scope": 7, + "span": 129 + }, + "value": { + "Place": { + "local": 2, + "projection": [] + } + } + }, + { + "argument_index": 1, + "composite": null, + "name": "self", + "source_info": { + "scope": 8, + "span": 130 + }, + "value": { + "Place": { + "local": 2, + "projection": [] + } + } + }, + { + "argument_index": 1, + "composite": null, + "name": "self", + "source_info": { + "scope": 9, + "span": 131 + }, + "value": { + "Place": { + "local": 2, + "projection": [] + } + } + }, + { + "argument_index": 1, + "composite": null, + "name": "self", + "source_info": { + "scope": 10, + "span": 127 + }, + "value": { + "Place": { + "local": 1, + "projection": [] + } + } + }, + { + "argument_index": 1, + "composite": null, + "name": "pieces", + "source_info": { + "scope": 11, + "span": 132 + }, + "value": { + "Const": { + "const_": { + "id": 25, + "kind": { + "Allocated": { + "align": 8, + "bytes": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "mutability": "Mut", + "provenance": { + "ptrs": [ + [ + 0, + 3 + ] + ] + } + } + }, + "ty": 51 + }, + "span": 133, + "user_ty": null + } + } + }, + { + "argument_index": 1, + "composite": null, + "name": "ptr", + "source_info": { + "scope": 12, + "span": 134 + }, + "value": { + "Place": { + "local": 1, + "projection": [] + } + } + }, + { + "argument_index": 2, + "composite": null, + "name": "align", + "source_info": { + "scope": 12, + "span": 135 + }, + "value": { + "Place": { + "local": 2, + "projection": [] + } + } + }, + { + "argument_index": 1, + "composite": null, + "name": "self", + "source_info": { + "scope": 13, + "span": 126 + }, + "value": { + "Place": { + "local": 1, + "projection": [] + } + } + }, + { + "argument_index": 1, + "composite": null, + "name": "self", + "source_info": { + "scope": 14, + "span": 127 + }, + "value": { + "Place": { + "local": 1, + "projection": [] + } + } + } + ] + } + ], + "id": 12, + "name": "std::ptr::read_volatile::precondition_check" + } + }, + "symbol_name": "_ZN4core3ptr13read_volatile18precondition_check17hc773488a477a662fE" + }, + { + "details": null, + "mono_item_kind": { + "MonoItemFn": { + "body": [ + { + "arg_count": 1, + "blocks": [ + { + "statements": [], + "terminator": { + "kind": "Return", + "span": 137 + } + } + ], + "locals": [ + { + "mutability": "Mut", + "span": 137, + "ty": 8 + }, + { + "mutability": "Not", + "span": 137, + "ty": 59 + } + ], + "span": 137, + "spread_arg": null, + "var_debug_info": [] + } + ], + "id": 14, + "name": "std::ptr::drop_in_place::<&str>" + } + }, + "symbol_name": "_ZN4core3ptr28drop_in_place$LT$$RF$str$GT$17h77c483de56b3845cE" + }, + { + "details": null, + "mono_item_kind": { + "MonoItemFn": { + "body": [ + { + "arg_count": 1, + "blocks": [ + { + "statements": [], + "terminator": { + "kind": "Return", + "span": 137 + } + } + ], + "locals": [ + { + "mutability": "Mut", + "span": 137, + "ty": 8 + }, + { + "mutability": "Not", + "span": 137, + "ty": 60 + } + ], + "span": 137, + "spread_arg": null, + "var_debug_info": [] + } + ], + "id": 14, + "name": "std::ptr::drop_in_place::>" + } + }, + "symbol_name": "_ZN4core3ptr72drop_in_place$LT$std..panicking..begin_panic..Payload$LT$$RF$str$GT$$GT$17h1b47a62f19fbd5f1E" + }, + { + "details": null, + "mono_item_kind": { + "MonoItemFn": { + "body": [ + { + "arg_count": 1, + "blocks": [ + { + "statements": [], + "terminator": { + "kind": "Return", + "span": 137 + } + } + ], + "locals": [ + { + "mutability": "Mut", + "span": 137, + "ty": 8 + }, + { + "mutability": "Not", + "span": 137, + "ty": 43 + } + ], + "span": 137, + "spread_arg": null, + "var_debug_info": [] + } + ], + "id": 14, + "name": "std::ptr::drop_in_place::<{closure@std::rt::lang_start<()>::{closure#0}}>" + } + }, + "symbol_name": "_ZN4core3ptr85drop_in_place$LT$std..rt..lang_start$LT$$LP$$RP$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$17h21a5cf619fdd0e23E" + }, + { + "details": null, + "mono_item_kind": { + "MonoItemFn": { + "body": [ + { + "arg_count": 1, + "blocks": [ + { + "statements": [ + { + "kind": { + "StorageLive": 3 + }, + "span": 139 + }, + { + "kind": { + "Assign": [ + { + "local": 3, + "projection": [] + }, + { + "Cast": [ + "PtrToPtr", + { + "Copy": { + "local": 1, + "projection": [] + } + }, + 61 + ] + } + ] + }, + "span": 140 + }, + { + "kind": { + "StorageLive": 4 + }, + "span": 141 + }, + { + "kind": { + "Assign": [ + { + "local": 4, + "projection": [] + }, + { + "Cast": [ + "Transmute", + { + "Copy": { + "local": 1, + "projection": [] + } + }, + 47 + ] + } + ] + }, + "span": 142 + }, + { + "kind": { + "StorageDead": 3 + }, + "span": 139 + } + ], + "terminator": { + "kind": { + "SwitchInt": { + "discr": { + "Move": { + "local": 4, + "projection": [] + } + }, + "targets": { + "branches": [ + [ + 0, + 1 + ] + ], + "otherwise": 2 + } + } + }, + "span": 138 + } + }, + { + "statements": [ + { + "kind": { + "StorageDead": 4 + }, + "span": 138 + } + ], + "terminator": { + "kind": { + "Call": { + "args": [ + { + "Constant": { + "const_": { + "id": 26, + "kind": { + "Allocated": { + "align": 8, + "bytes": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 93, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "mutability": "Mut", + "provenance": { + "ptrs": [ + [ + 0, + 4 + ] + ] + } + } + }, + "ty": 32 + }, + "span": 144, + "user_ty": null + } + } + ], + "destination": { + "local": 2, + "projection": [] + }, + "func": { + "Constant": { + "const_": { + "id": 16, + "kind": "ZeroSized", + "ty": 48 + }, + "span": 143, + "user_ty": null + } + }, + "target": null, + "unwind": "Unreachable" + } + }, + "span": 145 + } + }, + { + "statements": [ + { + "kind": { + "StorageDead": 4 + }, + "span": 138 + } + ], + "terminator": { + "kind": "Return", + "span": 146 + } + } + ], + "locals": [ + { + "mutability": "Mut", + "span": 147, + "ty": 8 + }, + { + "mutability": "Not", + "span": 148, + "ty": 62 + }, + { + "mutability": "Not", + "span": 145, + "ty": 27 + }, + { + "mutability": "Mut", + "span": 140, + "ty": 61 + }, + { + "mutability": "Mut", + "span": 141, + "ty": 47 + } + ], + "span": 153, + "spread_arg": null, + "var_debug_info": [ + { + "argument_index": 1, + "composite": null, + "name": "ptr", + "source_info": { + "scope": 0, + "span": 148 + }, + "value": { + "Place": { + "local": 1, + "projection": [] + } + } + }, + { + "argument_index": 1, + "composite": null, + "name": "self", + "source_info": { + "scope": 1, + "span": 149 + }, + "value": { + "Place": { + "local": 1, + "projection": [] + } + } + }, + { + "argument_index": 1, + "composite": null, + "name": "ptr", + "source_info": { + "scope": 2, + "span": 150 + }, + "value": { + "Place": { + "local": 3, + "projection": [] + } + } + }, + { + "argument_index": 1, + "composite": null, + "name": "self", + "source_info": { + "scope": 3, + "span": 151 + }, + "value": { + "Place": { + "local": 3, + "projection": [] + } + } + }, + { + "argument_index": 1, + "composite": null, + "name": "self", + "source_info": { + "scope": 4, + "span": 152 + }, + "value": { + "Place": { + "local": 3, + "projection": [] + } + } + } + ] + } + ], + "id": 15, + "name": "std::ptr::NonNull::::new_unchecked::precondition_check" + } + }, + "symbol_name": "_ZN4core3ptr8non_null16NonNull$LT$T$GT$13new_unchecked18precondition_check17h180abd43edd08785E" + }, + { + "details": null, + "mono_item_kind": { + "MonoItemFn": { + "body": [ + { + "arg_count": 1, + "blocks": [ + { + "statements": [ + { + "kind": { + "Assign": [ + { + "local": 0, + "projection": [] + }, + { + "Use": { + "Constant": { + "const_": { + "id": 27, + "kind": { + "Allocated": { + "align": 8, + "bytes": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + null, + null, + null, + null, + null, + null, + null, + null + ], + "mutability": "Not", + "provenance": { + "ptrs": [] + } + } + }, + "ty": 41 + }, + "span": 50, + "user_ty": null + } + } + } + ] + }, + "span": 155 + } + ], + "terminator": { + "kind": "Return", + "span": 154 + } + } + ], + "locals": [ + { + "mutability": "Mut", + "span": 156, + "ty": 41 + }, + { + "mutability": "Not", + "span": 157, + "ty": 39 + } + ], + "span": 158, + "spread_arg": null, + "var_debug_info": [ + { + "argument_index": 1, + "composite": null, + "name": "self", + "source_info": { + "scope": 0, + "span": 157 + }, + "value": { + "Place": { + "local": 1, + "projection": [] + } + } + } + ] + } + ], + "id": 16, + "name": " as core::panic::PanicPayload>::as_str" + } + }, + "symbol_name": "_ZN4core5panic12PanicPayload6as_str17h34f70170a81b2c4bE" + }, + { + "details": null, + "mono_item_kind": { + "MonoItemFn": { + "body": [ + { + "arg_count": 1, + "blocks": [ + { + "statements": [ + { + "kind": { + "Assign": [ + { + "local": 0, + "projection": [] + }, + { + "Use": { + "Constant": { + "const_": { + "id": 28, + "kind": { + "Allocated": { + "align": 1, + "bytes": [ + 0 + ], + "mutability": "Mut", + "provenance": { + "ptrs": [] + } + } + }, + "ty": 23 + }, + "span": 160, + "user_ty": null + } + } + } + ] + }, + "span": 160 + } + ], + "terminator": { + "kind": "Return", + "span": 159 + } + } + ], + "locals": [ + { + "mutability": "Mut", + "span": 161, + "ty": 23 + }, + { + "mutability": "Not", + "span": 162, + "ty": 8 + } + ], + "span": 163, + "spread_arg": null, + "var_debug_info": [ + { + "argument_index": 1, + "composite": null, + "name": "self", + "source_info": { + "scope": 0, + "span": 162 + }, + "value": { + "Const": { + "const_": { + "id": 6, + "kind": "ZeroSized", + "ty": 8 + }, + "span": 50, + "user_ty": null + } + } + } + ] + } + ], + "id": 17, + "name": "<() as std::process::Termination>::report" + } + }, + "symbol_name": "_ZN54_$LT$$LP$$RP$$u20$as$u20$std..process..Termination$GT$6report17h6e8cf99dfda5fdefE" + }, + { + "details": null, + "mono_item_kind": { + "MonoItemFn": { + "body": [ + { + "arg_count": 2, + "blocks": [ + { + "statements": [ + { + "kind": { + "StorageLive": 8 + }, + "span": 167 + }, + { + "kind": { + "Assign": [ + { + "local": 8, + "projection": [] + }, + { + "Cast": [ + "Transmute", + { + "Copy": { + "local": 2, + "projection": [] + } + }, + 65 + ] + } + ] + }, + "span": 168 + }, + { + "kind": { + "Assign": [ + { + "local": 3, + "projection": [] + }, + { + "Aggregate": [ + { + "Adt": [ + 19, + 0, + [], + null, + null + ] + }, + [ + { + "Copy": { + "local": 1, + "projection": [] + } + }, + { + "Move": { + "local": 8, + "projection": [] + } + } + ] + ] + } + ] + }, + "span": 169 + }, + { + "kind": { + "StorageDead": 8 + }, + "span": 170 + }, + { + "kind": { + "StorageLive": 4 + }, + "span": 171 + } + ], + "terminator": { + "kind": { + "Call": { + "args": [ + { + "Constant": { + "const_": { + "id": 30, + "kind": { + "Allocated": { + "align": 8, + "bytes": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "mutability": "Mut", + "provenance": { + "ptrs": [ + [ + 0, + 5 + ] + ] + } + } + }, + "ty": 64 + }, + "span": 50, + "user_ty": null + } + }, + { + "Copy": { + "local": 3, + "projection": [] + } + }, + { + "Constant": { + "const_": { + "id": 13, + "kind": { + "Allocated": { + "align": 1, + "bytes": [ + 0 + ], + "mutability": "Mut", + "provenance": { + "ptrs": [] + } + } + }, + "ty": 37 + }, + "span": 165, + "user_ty": null + } + } + ], + "destination": { + "local": 4, + "projection": [] + }, + "func": { + "Constant": { + "const_": { + "id": 29, + "kind": "ZeroSized", + "ty": 63 + }, + "span": 164, + "user_ty": null + } + }, + "target": 4, + "unwind": "Continue" + } + }, + "span": 166 + } + }, + { + "statements": [], + "terminator": { + "kind": "Unreachable", + "span": 171 + } + }, + { + "statements": [], + "terminator": { + "kind": { + "Call": { + "args": [ + { + "Move": { + "local": 3, + "projection": [] + } + } + ], + "destination": { + "local": 7, + "projection": [] + }, + "func": { + "Constant": { + "const_": { + "id": 31, + "kind": "ZeroSized", + "ty": 66 + }, + "span": 172, + "user_ty": null + } + }, + "target": null, + "unwind": "Continue" + } + }, + "span": 173 + } + }, + { + "statements": [ + { + "kind": { + "Assign": [ + { + "local": 6, + "projection": [] + }, + { + "Use": { + "Copy": { + "local": 4, + "projection": [ + { + "Downcast": 0 + }, + { + "Field": [ + 0, + 67 + ] + } + ] + } + } + } + ] + }, + "span": 175 + }, + { + "kind": { + "StorageLive": 10 + }, + "span": 176 + }, + { + "kind": { + "StorageLive": 11 + }, + "span": 176 + }, + { + "kind": { + "StorageLive": 9 + }, + "span": 177 + }, + { + "kind": { + "Assign": [ + { + "local": 11, + "projection": [] + }, + { + "Use": { + "Copy": { + "local": 6, + "projection": [ + { + "Field": [ + 0, + 68 + ] + } + ] + } + } + } + ] + }, + "span": 178 + }, + { + "kind": { + "Assign": [ + { + "local": 10, + "projection": [] + }, + { + "Cast": [ + "PtrToPtr", + { + "Copy": { + "local": 11, + "projection": [] + } + }, + 46 + ] + } + ] + }, + "span": 179 + }, + { + "kind": { + "Assign": [ + { + "local": 9, + "projection": [] + }, + { + "Aggregate": [ + { + "Adt": [ + 20, + 0, + [ + { + "Type": 16 + } + ], + null, + null + ] + }, + [ + { + "Copy": { + "local": 10, + "projection": [] + } + } + ] + ] + } + ] + }, + "span": 180 + }, + { + "kind": { + "Assign": [ + { + "local": 0, + "projection": [] + }, + { + "Cast": [ + "PtrToPtr", + { + "Copy": { + "local": 11, + "projection": [] + } + }, + 61 + ] + } + ] + }, + "span": 181 + }, + { + "kind": { + "StorageDead": 9 + }, + "span": 182 + }, + { + "kind": { + "StorageDead": 11 + }, + "span": 176 + }, + { + "kind": { + "StorageDead": 10 + }, + "span": 176 + }, + { + "kind": { + "StorageDead": 4 + }, + "span": 183 + } + ], + "terminator": { + "kind": "Return", + "span": 174 + } + }, + { + "statements": [ + { + "kind": { + "Assign": [ + { + "local": 5, + "projection": [] + }, + { + "Discriminant": { + "local": 4, + "projection": [] + } + } + ] + }, + "span": 171 + } + ], + "terminator": { + "kind": { + "SwitchInt": { + "discr": { + "Move": { + "local": 5, + "projection": [] + } + }, + "targets": { + "branches": [ + [ + 0, + 3 + ], + [ + 1, + 2 + ] + ], + "otherwise": 1 + } + } + }, + "span": 184 + } + } + ], + "locals": [ + { + "mutability": "Mut", + "span": 185, + "ty": 61 + }, + { + "mutability": "Not", + "span": 186, + "ty": 47 + }, + { + "mutability": "Not", + "span": 187, + "ty": 47 + }, + { + "mutability": "Not", + "span": 188, + "ty": 69 + }, + { + "mutability": "Mut", + "span": 171, + "ty": 70 + }, + { + "mutability": "Mut", + "span": 189, + "ty": 13 + }, + { + "mutability": "Not", + "span": 175, + "ty": 67 + }, + { + "mutability": "Mut", + "span": 173, + "ty": 27 + }, + { + "mutability": "Mut", + "span": 167, + "ty": 65 + }, + { + "mutability": "Mut", + "span": 177, + "ty": 71 + }, + { + "mutability": "Mut", + "span": 179, + "ty": 46 + }, + { + "mutability": "Mut", + "span": 178, + "ty": 68 + } + ], + "span": 200, + "spread_arg": null, + "var_debug_info": [ + { + "argument_index": 1, + "composite": null, + "name": "size", + "source_info": { + "scope": 0, + "span": 186 + }, + "value": { + "Place": { + "local": 1, + "projection": [] + } + } + }, + { + "argument_index": 2, + "composite": null, + "name": "align", + "source_info": { + "scope": 0, + "span": 187 + }, + "value": { + "Place": { + "local": 2, + "projection": [] + } + } + }, + { + "argument_index": null, + "composite": null, + "name": "layout", + "source_info": { + "scope": 1, + "span": 188 + }, + "value": { + "Place": { + "local": 3, + "projection": [] + } + } + }, + { + "argument_index": null, + "composite": null, + "name": "ptr", + "source_info": { + "scope": 2, + "span": 175 + }, + "value": { + "Place": { + "local": 6, + "projection": [] + } + } + }, + { + "argument_index": 1, + "composite": null, + "name": "size", + "source_info": { + "scope": 3, + "span": 190 + }, + "value": { + "Place": { + "local": 1, + "projection": [] + } + } + }, + { + "argument_index": 2, + "composite": null, + "name": "align", + "source_info": { + "scope": 3, + "span": 191 + }, + "value": { + "Place": { + "local": 2, + "projection": [] + } + } + }, + { + "argument_index": 1, + "composite": null, + "name": "align", + "source_info": { + "scope": 4, + "span": 192 + }, + "value": { + "Place": { + "local": 2, + "projection": [] + } + } + }, + { + "argument_index": 1, + "composite": null, + "name": "self", + "source_info": { + "scope": 5, + "span": 193 + }, + "value": { + "Const": { + "const_": { + "id": 32, + "kind": { + "Allocated": { + "align": 8, + "bytes": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "mutability": "Mut", + "provenance": { + "ptrs": [ + [ + 0, + 6 + ] + ] + } + } + }, + "ty": 64 + }, + "span": 194, + "user_ty": null + } + } + }, + { + "argument_index": 2, + "composite": null, + "name": "layout", + "source_info": { + "scope": 5, + "span": 195 + }, + "value": { + "Place": { + "local": 3, + "projection": [] + } + } + }, + { + "argument_index": 1, + "composite": null, + "name": "self", + "source_info": { + "scope": 6, + "span": 196 + }, + "value": { + "Place": { + "local": 6, + "projection": [] + } + } + }, + { + "argument_index": 1, + "composite": null, + "name": "self", + "source_info": { + "scope": 7, + "span": 197 + }, + "value": { + "Place": { + "local": 6, + "projection": [] + } + } + }, + { + "argument_index": 1, + "composite": null, + "name": "self", + "source_info": { + "scope": 8, + "span": 198 + }, + "value": { + "Place": { + "local": 6, + "projection": [] + } + } + }, + { + "argument_index": 1, + "composite": null, + "name": "self", + "source_info": { + "scope": 9, + "span": 199 + }, + "value": { + "Place": { + "local": 6, + "projection": [] + } + } + }, + { + "argument_index": 1, + "composite": null, + "name": "self", + "source_info": { + "scope": 10, + "span": 199 + }, + "value": { + "Place": { + "local": 9, + "projection": [] + } + } + } + ] + }, + { + "arg_count": 0, + "blocks": [ + { + "statements": [ + { + "kind": { + "Assign": [ + { + "local": 1, + "projection": [] + }, + { + "Aggregate": [ + { + "Adt": [ + 21, + 0, + [], + null, + null + ] + }, + [] + ] + } + ] + }, + "span": 194 + }, + { + "kind": { + "Assign": [ + { + "local": 0, + "projection": [] + }, + { + "Ref": [ + { + "kind": "ReErased" + }, + "Shared", + { + "local": 1, + "projection": [] + } + ] + } + ] + }, + "span": 194 + } + ], + "terminator": { + "kind": "Return", + "span": 194 + } + } + ], + "locals": [ + { + "mutability": "Mut", + "span": 194, + "ty": 64 + }, + { + "mutability": "Mut", + "span": 194, + "ty": 72 + } + ], + "span": 194, + "spread_arg": null, + "var_debug_info": [] + } + ], + "id": 18, + "name": "alloc::alloc::exchange_malloc" + } + }, + "symbol_name": "_ZN5alloc5alloc15exchange_malloc17h5443007c4b77064aE" + }, + { + "details": null, + "mono_item_kind": { + "MonoItemFn": { + "body": [ + { + "arg_count": 1, + "blocks": [ + { + "statements": [ + { + "kind": { + "StorageLive": 2 + }, + "span": 202 + }, + { + "kind": { + "StorageLive": 7 + }, + "span": 201 + }, + { + "kind": { + "Assign": [ + { + "local": 7, + "projection": [] + }, + { + "NullaryOp": [ + "UbChecks", + 37 + ] + } + ] + }, + "span": 203 + } + ], + "terminator": { + "kind": { + "SwitchInt": { + "discr": { + "Move": { + "local": 7, + "projection": [] + } + }, + "targets": { + "branches": [ + [ + 0, + 5 + ] + ], + "otherwise": 3 + } + } + }, + "span": 201 + } + }, + { + "statements": [ + { + "kind": { + "StorageDead": 5 + }, + "span": 205 + }, + { + "kind": { + "StorageDead": 3 + }, + "span": 205 + } + ], + "terminator": { + "kind": "Return", + "span": 204 + } + }, + { + "statements": [ + { + "kind": { + "StorageDead": 2 + }, + "span": 208 + }, + { + "kind": { + "StorageLive": 3 + }, + "span": 209 + }, + { + "kind": { + "StorageLive": 4 + }, + "span": 210 + }, + { + "kind": { + "Assign": [ + { + "local": 4, + "projection": [] + }, + { + "Ref": [ + { + "kind": "ReErased" + }, + "Shared", + { + "local": 1, + "projection": [] + } + ] + } + ] + }, + "span": 210 + }, + { + "kind": { + "Assign": [ + { + "local": 3, + "projection": [] + }, + { + "Use": { + "Copy": { + "local": 1, + "projection": [ + { + "Field": [ + 0, + 47 + ] + } + ] + } + } + } + ] + }, + "span": 211 + }, + { + "kind": { + "StorageDead": 4 + }, + "span": 212 + }, + { + "kind": { + "StorageLive": 5 + }, + "span": 213 + }, + { + "kind": { + "StorageLive": 6 + }, + "span": 214 + }, + { + "kind": { + "Assign": [ + { + "local": 6, + "projection": [] + }, + { + "Ref": [ + { + "kind": "ReErased" + }, + "Shared", + { + "local": 1, + "projection": [] + } + ] + } + ] + }, + "span": 214 + }, + { + "kind": { + "StorageLive": 10 + }, + "span": 215 + }, + { + "kind": { + "Assign": [ + { + "local": 10, + "projection": [] + }, + { + "Use": { + "Copy": { + "local": 1, + "projection": [ + { + "Field": [ + 1, + 65 + ] + } + ] + } + } + } + ] + }, + "span": 215 + }, + { + "kind": { + "StorageLive": 12 + }, + "span": 216 + }, + { + "kind": { + "StorageLive": 13 + }, + "span": 216 + }, + { + "kind": { + "StorageLive": 14 + }, + "span": 216 + }, + { + "kind": { + "StorageLive": 15 + }, + "span": 216 + }, + { + "kind": { + "StorageLive": 11 + }, + "span": 217 + }, + { + "kind": { + "Assign": [ + { + "local": 11, + "projection": [] + }, + { + "Use": { + "Copy": { + "local": 10, + "projection": [ + { + "Field": [ + 0, + 74 + ] + } + ] + } + } + } + ] + }, + "span": 217 + }, + { + "kind": { + "Assign": [ + { + "local": 12, + "projection": [] + }, + { + "Discriminant": { + "local": 11, + "projection": [] + } + } + ] + }, + "span": 218 + }, + { + "kind": { + "Assign": [ + { + "local": 13, + "projection": [] + }, + { + "BinaryOp": [ + "Ge", + { + "Copy": { + "local": 12, + "projection": [] + } + }, + { + "Constant": { + "const_": { + "id": 34, + "kind": { + "Allocated": { + "align": 8, + "bytes": [ + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "mutability": "Mut", + "provenance": { + "ptrs": [] + } + } + }, + "ty": 2 + }, + "span": 218, + "user_ty": null + } + } + ] + } + ] + }, + "span": 218 + }, + { + "kind": { + "Assign": [ + { + "local": 14, + "projection": [] + }, + { + "BinaryOp": [ + "Le", + { + "Copy": { + "local": 12, + "projection": [] + } + }, + { + "Constant": { + "const_": { + "id": 35, + "kind": { + "Allocated": { + "align": 8, + "bytes": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 128 + ], + "mutability": "Mut", + "provenance": { + "ptrs": [] + } + } + }, + "ty": 2 + }, + "span": 218, + "user_ty": null + } + } + ] + } + ] + }, + "span": 218 + }, + { + "kind": { + "Assign": [ + { + "local": 15, + "projection": [] + }, + { + "BinaryOp": [ + "BitAnd", + { + "Move": { + "local": 13, + "projection": [] + } + }, + { + "Move": { + "local": 14, + "projection": [] + } + } + ] + } + ] + }, + "span": 218 + }, + { + "kind": { + "Intrinsic": { + "Assume": { + "Move": { + "local": 15, + "projection": [] + } + } + } + }, + "span": 218 + }, + { + "kind": { + "Assign": [ + { + "local": 5, + "projection": [] + }, + { + "Cast": [ + "IntToInt", + { + "Copy": { + "local": 12, + "projection": [] + } + }, + 47 + ] + } + ] + }, + "span": 218 + }, + { + "kind": { + "StorageDead": 11 + }, + "span": 219 + }, + { + "kind": { + "StorageDead": 15 + }, + "span": 216 + }, + { + "kind": { + "StorageDead": 14 + }, + "span": 216 + }, + { + "kind": { + "StorageDead": 13 + }, + "span": 216 + }, + { + "kind": { + "StorageDead": 12 + }, + "span": 216 + }, + { + "kind": { + "StorageDead": 10 + }, + "span": 220 + }, + { + "kind": { + "StorageDead": 6 + }, + "span": 221 + } + ], + "terminator": { + "kind": { + "Call": { + "args": [ + { + "Move": { + "local": 3, + "projection": [] + } + }, + { + "Move": { + "local": 5, + "projection": [] + } + } + ], + "destination": { + "local": 0, + "projection": [] + }, + "func": { + "Constant": { + "const_": { + "id": 33, + "kind": "ZeroSized", + "ty": 73 + }, + "span": 206, + "user_ty": null + } + }, + "target": 1, + "unwind": "Unreachable" + } + }, + "span": 207 + } + }, + { + "statements": [ + { + "kind": { + "StorageLive": 9 + }, + "span": 224 + }, + { + "kind": { + "Assign": [ + { + "local": 9, + "projection": [] + }, + { + "Cast": [ + "PtrToPtr", + { + "Constant": { + "const_": { + "id": 37, + "kind": { + "Allocated": { + "align": 8, + "bytes": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "mutability": "Mut", + "provenance": { + "ptrs": [ + [ + 0, + 7 + ] + ] + } + } + }, + "ty": 46 + }, + "span": 50, + "user_ty": null + } + }, + 56 + ] + } + ] + }, + "span": 224 + } + ], + "terminator": { + "kind": { + "Call": { + "args": [ + { + "Move": { + "local": 9, + "projection": [] + } + }, + { + "Constant": { + "const_": { + "id": 19, + "kind": { + "Allocated": { + "align": 8, + "bytes": [ + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "mutability": "Mut", + "provenance": { + "ptrs": [] + } + } + }, + "ty": 47 + }, + "span": 50, + "user_ty": null + } + } + ], + "destination": { + "local": 8, + "projection": [] + }, + "func": { + "Constant": { + "const_": { + "id": 36, + "kind": "ZeroSized", + "ty": 75 + }, + "span": 222, + "user_ty": null + } + }, + "target": 4, + "unwind": "Unreachable" + } + }, + "span": 223 + } + }, + { + "statements": [ + { + "kind": { + "StorageDead": 9 + }, + "span": 226 + } + ], + "terminator": { + "kind": { + "Goto": { + "target": 5 + } + }, + "span": 225 + } + }, + { + "statements": [ + { + "kind": { + "StorageDead": 7 + }, + "span": 229 + } + ], + "terminator": { + "kind": { + "Call": { + "args": [ + { + "Constant": { + "const_": { + "id": 37, + "kind": { + "Allocated": { + "align": 8, + "bytes": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "mutability": "Mut", + "provenance": { + "ptrs": [ + [ + 0, + 7 + ] + ] + } + } + }, + "ty": 46 + }, + "span": 50, + "user_ty": null + } + } + ], + "destination": { + "local": 2, + "projection": [] + }, + "func": { + "Constant": { + "const_": { + "id": 38, + "kind": "ZeroSized", + "ty": 76 + }, + "span": 227, + "user_ty": null + } + }, + "target": 2, + "unwind": "Unreachable" + } + }, + "span": 228 + } + } + ], + "locals": [ + { + "mutability": "Mut", + "span": 230, + "ty": 61 + }, + { + "mutability": "Not", + "span": 231, + "ty": 69 + }, + { + "mutability": "Not", + "span": 202, + "ty": 16 + }, + { + "mutability": "Mut", + "span": 209, + "ty": 47 + }, + { + "mutability": "Mut", + "span": 210, + "ty": 77 + }, + { + "mutability": "Mut", + "span": 213, + "ty": 47 + }, + { + "mutability": "Mut", + "span": 214, + "ty": 77 + }, + { + "mutability": "Mut", + "span": 201, + "ty": 37 + }, + { + "mutability": "Not", + "span": 223, + "ty": 8 + }, + { + "mutability": "Mut", + "span": 224, + "ty": 56 + }, + { + "mutability": "Mut", + "span": 215, + "ty": 65 + }, + { + "mutability": "Not", + "span": 217, + "ty": 74 + }, + { + "mutability": "Mut", + "span": 217, + "ty": 2 + }, + { + "mutability": "Mut", + "span": 218, + "ty": 37 + }, + { + "mutability": "Mut", + "span": 218, + "ty": 37 + }, + { + "mutability": "Mut", + "span": 218, + "ty": 37 + } + ], + "span": 237, + "spread_arg": null, + "var_debug_info": [ + { + "argument_index": 1, + "composite": null, + "name": "layout", + "source_info": { + "scope": 0, + "span": 231 + }, + "value": { + "Place": { + "local": 1, + "projection": [] + } + } + }, + { + "argument_index": 1, + "composite": null, + "name": "src", + "source_info": { + "scope": 1, + "span": 232 + }, + "value": { + "Const": { + "const_": { + "id": 37, + "kind": { + "Allocated": { + "align": 8, + "bytes": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "mutability": "Mut", + "provenance": { + "ptrs": [ + [ + 0, + 7 + ] + ] + } + } + }, + "ty": 46 + }, + "span": 233, + "user_ty": null + } + } + }, + { + "argument_index": 1, + "composite": null, + "name": "self", + "source_info": { + "scope": 5, + "span": 234 + }, + "value": { + "Place": { + "local": 4, + "projection": [] + } + } + }, + { + "argument_index": 1, + "composite": null, + "name": "self", + "source_info": { + "scope": 6, + "span": 235 + }, + "value": { + "Place": { + "local": 6, + "projection": [] + } + } + }, + { + "argument_index": 1, + "composite": null, + "name": "self", + "source_info": { + "scope": 7, + "span": 236 + }, + "value": { + "Place": { + "local": 10, + "projection": [] + } + } + } + ] + } + ], + "id": 22, + "name": "std::alloc::alloc" + } + }, + "symbol_name": "_ZN5alloc5alloc5alloc17h214157fcd92df279E" + }, + { + "details": null, + "mono_item_kind": { + "MonoItemFn": { + "body": [ + { + "arg_count": 3, + "blocks": [ + { + "statements": [ + { + "kind": { + "StorageLive": 5 + }, + "span": 239 + }, + { + "kind": { + "Assign": [ + { + "local": 5, + "projection": [] + }, + { + "Ref": [ + { + "kind": "ReErased" + }, + "Shared", + { + "local": 2, + "projection": [] + } + ] + } + ] + }, + "span": 239 + }, + { + "kind": { + "Assign": [ + { + "local": 4, + "projection": [] + }, + { + "Use": { + "Copy": { + "local": 2, + "projection": [ + { + "Field": [ + 0, + 47 + ] + } + ] + } + } + } + ] + }, + "span": 211 + }, + { + "kind": { + "StorageDead": 5 + }, + "span": 240 + } + ], + "terminator": { + "kind": { + "SwitchInt": { + "discr": { + "Copy": { + "local": 4, + "projection": [] + } + }, + "targets": { + "branches": [ + [ + 0, + 2 + ] + ], + "otherwise": 1 + } + } + }, + "span": 238 + } + }, + { + "statements": [ + { + "kind": { + "StorageLive": 9 + }, + "span": 242 + } + ], + "terminator": { + "kind": { + "SwitchInt": { + "discr": { + "Copy": { + "local": 3, + "projection": [] + } + }, + "targets": { + "branches": [ + [ + 0, + 4 + ] + ], + "otherwise": 3 + } + } + }, + "span": 241 + } + }, + { + "statements": [ + { + "kind": { + "StorageLive": 6 + }, + "span": 244 + }, + { + "kind": { + "StorageLive": 7 + }, + "span": 245 + }, + { + "kind": { + "StorageLive": 8 + }, + "span": 246 + }, + { + "kind": { + "Assign": [ + { + "local": 8, + "projection": [] + }, + { + "Ref": [ + { + "kind": "ReErased" + }, + "Shared", + { + "local": 2, + "projection": [] + } + ] + } + ] + }, + "span": 246 + }, + { + "kind": { + "StorageLive": 18 + }, + "span": 247 + }, + { + "kind": { + "StorageLive": 19 + }, + "span": 215 + }, + { + "kind": { + "Assign": [ + { + "local": 19, + "projection": [] + }, + { + "Use": { + "Copy": { + "local": 2, + "projection": [ + { + "Field": [ + 1, + 65 + ] + } + ] + } + } + } + ] + }, + "span": 215 + }, + { + "kind": { + "StorageLive": 21 + }, + "span": 216 + }, + { + "kind": { + "StorageLive": 22 + }, + "span": 216 + }, + { + "kind": { + "StorageLive": 23 + }, + "span": 216 + }, + { + "kind": { + "StorageLive": 24 + }, + "span": 216 + }, + { + "kind": { + "StorageLive": 20 + }, + "span": 217 + }, + { + "kind": { + "Assign": [ + { + "local": 20, + "projection": [] + }, + { + "Use": { + "Copy": { + "local": 19, + "projection": [ + { + "Field": [ + 0, + 74 + ] + } + ] + } + } + } + ] + }, + "span": 217 + }, + { + "kind": { + "Assign": [ + { + "local": 21, + "projection": [] + }, + { + "Discriminant": { + "local": 20, + "projection": [] + } + } + ] + }, + "span": 218 + }, + { + "kind": { + "Assign": [ + { + "local": 22, + "projection": [] + }, + { + "BinaryOp": [ + "Ge", + { + "Copy": { + "local": 21, + "projection": [] + } + }, + { + "Constant": { + "const_": { + "id": 34, + "kind": { + "Allocated": { + "align": 8, + "bytes": [ + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "mutability": "Mut", + "provenance": { + "ptrs": [] + } + } + }, + "ty": 2 + }, + "span": 218, + "user_ty": null + } + } + ] + } + ] + }, + "span": 218 + }, + { + "kind": { + "Assign": [ + { + "local": 23, + "projection": [] + }, + { + "BinaryOp": [ + "Le", + { + "Copy": { + "local": 21, + "projection": [] + } + }, + { + "Constant": { + "const_": { + "id": 35, + "kind": { + "Allocated": { + "align": 8, + "bytes": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 128 + ], + "mutability": "Mut", + "provenance": { + "ptrs": [] + } + } + }, + "ty": 2 + }, + "span": 218, + "user_ty": null + } + } + ] + } + ] + }, + "span": 218 + }, + { + "kind": { + "Assign": [ + { + "local": 24, + "projection": [] + }, + { + "BinaryOp": [ + "BitAnd", + { + "Move": { + "local": 22, + "projection": [] + } + }, + { + "Move": { + "local": 23, + "projection": [] + } + } + ] + } + ] + }, + "span": 218 + }, + { + "kind": { + "Intrinsic": { + "Assume": { + "Move": { + "local": 24, + "projection": [] + } + } + } + }, + "span": 218 + }, + { + "kind": { + "Assign": [ + { + "local": 18, + "projection": [] + }, + { + "Cast": [ + "IntToInt", + { + "Copy": { + "local": 21, + "projection": [] + } + }, + 47 + ] + } + ] + }, + "span": 218 + }, + { + "kind": { + "StorageDead": 20 + }, + "span": 219 + }, + { + "kind": { + "StorageDead": 24 + }, + "span": 216 + }, + { + "kind": { + "StorageDead": 23 + }, + "span": 216 + }, + { + "kind": { + "StorageDead": 22 + }, + "span": 216 + }, + { + "kind": { + "StorageDead": 21 + }, + "span": 216 + }, + { + "kind": { + "StorageDead": 19 + }, + "span": 220 + }, + { + "kind": { + "Assign": [ + { + "local": 17, + "projection": [] + }, + { + "Cast": [ + "Transmute", + { + "Copy": { + "local": 18, + "projection": [] + } + }, + 61 + ] + } + ] + }, + "span": 248 + }, + { + "kind": { + "StorageDead": 18 + }, + "span": 249 + }, + { + "kind": { + "Assign": [ + { + "local": 25, + "projection": [] + }, + { + "NullaryOp": [ + "UbChecks", + 37 + ] + } + ] + }, + "span": 203 + } + ], + "terminator": { + "kind": { + "SwitchInt": { + "discr": { + "Copy": { + "local": 25, + "projection": [] + } + }, + "targets": { + "branches": [ + [ + 0, + 9 + ] + ], + "otherwise": 7 + } + } + }, + "span": 243 + } + }, + { + "statements": [ + { + "kind": { + "StorageLive": 10 + }, + "span": 252 + }, + { + "kind": { + "Assign": [ + { + "local": 10, + "projection": [] + }, + { + "Use": { + "Copy": { + "local": 2, + "projection": [] + } + } + } + ] + }, + "span": 252 + }, + { + "kind": { + "StorageLive": 34 + }, + "span": 253 + }, + { + "kind": { + "Assign": [ + { + "local": 34, + "projection": [] + }, + { + "Ref": [ + { + "kind": "ReErased" + }, + "Shared", + { + "local": 10, + "projection": [] + } + ] + } + ] + }, + "span": 253 + }, + { + "kind": { + "StorageDead": 34 + }, + "span": 254 + }, + { + "kind": { + "StorageLive": 35 + }, + "span": 255 + }, + { + "kind": { + "StorageLive": 36 + }, + "span": 256 + }, + { + "kind": { + "Assign": [ + { + "local": 36, + "projection": [] + }, + { + "Ref": [ + { + "kind": "ReErased" + }, + "Shared", + { + "local": 10, + "projection": [] + } + ] + } + ] + }, + "span": 256 + }, + { + "kind": { + "StorageLive": 37 + }, + "span": 215 + }, + { + "kind": { + "Assign": [ + { + "local": 37, + "projection": [] + }, + { + "Use": { + "Copy": { + "local": 2, + "projection": [ + { + "Field": [ + 1, + 65 + ] + } + ] + } + } + } + ] + }, + "span": 215 + }, + { + "kind": { + "StorageLive": 39 + }, + "span": 216 + }, + { + "kind": { + "StorageLive": 40 + }, + "span": 216 + }, + { + "kind": { + "StorageLive": 41 + }, + "span": 216 + }, + { + "kind": { + "StorageLive": 42 + }, + "span": 216 + }, + { + "kind": { + "StorageLive": 38 + }, + "span": 217 + }, + { + "kind": { + "Assign": [ + { + "local": 38, + "projection": [] + }, + { + "Use": { + "Copy": { + "local": 37, + "projection": [ + { + "Field": [ + 0, + 74 + ] + } + ] + } + } + } + ] + }, + "span": 217 + }, + { + "kind": { + "Assign": [ + { + "local": 39, + "projection": [] + }, + { + "Discriminant": { + "local": 38, + "projection": [] + } + } + ] + }, + "span": 218 + }, + { + "kind": { + "Assign": [ + { + "local": 40, + "projection": [] + }, + { + "BinaryOp": [ + "Ge", + { + "Copy": { + "local": 39, + "projection": [] + } + }, + { + "Constant": { + "const_": { + "id": 34, + "kind": { + "Allocated": { + "align": 8, + "bytes": [ + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "mutability": "Mut", + "provenance": { + "ptrs": [] + } + } + }, + "ty": 2 + }, + "span": 218, + "user_ty": null + } + } + ] + } + ] + }, + "span": 218 + }, + { + "kind": { + "Assign": [ + { + "local": 41, + "projection": [] + }, + { + "BinaryOp": [ + "Le", + { + "Copy": { + "local": 39, + "projection": [] + } + }, + { + "Constant": { + "const_": { + "id": 35, + "kind": { + "Allocated": { + "align": 8, + "bytes": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 128 + ], + "mutability": "Mut", + "provenance": { + "ptrs": [] + } + } + }, + "ty": 2 + }, + "span": 218, + "user_ty": null + } + } + ] + } + ] + }, + "span": 218 + }, + { + "kind": { + "Assign": [ + { + "local": 42, + "projection": [] + }, + { + "BinaryOp": [ + "BitAnd", + { + "Move": { + "local": 40, + "projection": [] + } + }, + { + "Move": { + "local": 41, + "projection": [] + } + } + ] + } + ] + }, + "span": 218 + }, + { + "kind": { + "Intrinsic": { + "Assume": { + "Move": { + "local": 42, + "projection": [] + } + } + } + }, + "span": 218 + }, + { + "kind": { + "Assign": [ + { + "local": 35, + "projection": [] + }, + { + "Cast": [ + "IntToInt", + { + "Copy": { + "local": 39, + "projection": [] + } + }, + 47 + ] + } + ] + }, + "span": 218 + }, + { + "kind": { + "StorageDead": 38 + }, + "span": 219 + }, + { + "kind": { + "StorageDead": 42 + }, + "span": 216 + }, + { + "kind": { + "StorageDead": 41 + }, + "span": 216 + }, + { + "kind": { + "StorageDead": 40 + }, + "span": 216 + }, + { + "kind": { + "StorageDead": 39 + }, + "span": 216 + }, + { + "kind": { + "StorageDead": 37 + }, + "span": 220 + }, + { + "kind": { + "StorageDead": 36 + }, + "span": 257 + } + ], + "terminator": { + "kind": { + "Call": { + "args": [ + { + "Copy": { + "local": 4, + "projection": [] + } + }, + { + "Move": { + "local": 35, + "projection": [] + } + } + ], + "destination": { + "local": 9, + "projection": [] + }, + "func": { + "Constant": { + "const_": { + "id": 39, + "kind": "ZeroSized", + "ty": 78 + }, + "span": 250, + "user_ty": null + } + }, + "target": 13, + "unwind": "Unreachable" + } + }, + "span": 251 + } + }, + { + "statements": [], + "terminator": { + "kind": { + "Call": { + "args": [ + { + "Copy": { + "local": 2, + "projection": [] + } + } + ], + "destination": { + "local": 9, + "projection": [] + }, + "func": { + "Constant": { + "const_": { + "id": 40, + "kind": "ZeroSized", + "ty": 79 + }, + "span": 258, + "user_ty": null + } + }, + "target": 5, + "unwind": "Continue" + } + }, + "span": 259 + } + }, + { + "statements": [ + { + "kind": { + "StorageLive": 11 + }, + "span": 261 + }, + { + "kind": { + "StorageLive": 12 + }, + "span": 262 + }, + { + "kind": { + "StorageLive": 13 + }, + "span": 263 + }, + { + "kind": { + "Assign": [ + { + "local": 14, + "projection": [] + }, + { + "Use": { + "Copy": { + "local": 9, + "projection": [] + } + } + } + ] + }, + "span": 264 + }, + { + "kind": { + "StorageLive": 44 + }, + "span": 141 + }, + { + "kind": { + "Assign": [ + { + "local": 44, + "projection": [] + }, + { + "Cast": [ + "Transmute", + { + "Copy": { + "local": 14, + "projection": [] + } + }, + 47 + ] + } + ] + }, + "span": 142 + } + ], + "terminator": { + "kind": { + "SwitchInt": { + "discr": { + "Move": { + "local": 44, + "projection": [] + } + }, + "targets": { + "branches": [ + [ + 0, + 14 + ] + ], + "otherwise": 15 + } + } + }, + "span": 260 + } + }, + { + "statements": [], + "terminator": { + "kind": "Return", + "span": 265 + } + }, + { + "statements": [ + { + "kind": { + "StorageLive": 27 + }, + "span": 268 + }, + { + "kind": { + "Assign": [ + { + "local": 27, + "projection": [] + }, + { + "Cast": [ + "PtrToPtr", + { + "Copy": { + "local": 17, + "projection": [] + } + }, + 62 + ] + } + ] + }, + "span": 268 + } + ], + "terminator": { + "kind": { + "Call": { + "args": [ + { + "Move": { + "local": 27, + "projection": [] + } + } + ], + "destination": { + "local": 26, + "projection": [] + }, + "func": { + "Constant": { + "const_": { + "id": 41, + "kind": "ZeroSized", + "ty": 80 + }, + "span": 266, + "user_ty": null + } + }, + "target": 8, + "unwind": "Unreachable" + } + }, + "span": 267 + } + }, + { + "statements": [ + { + "kind": { + "StorageDead": 27 + }, + "span": 269 + }, + { + "kind": { + "Assign": [ + { + "local": 28, + "projection": [] + }, + { + "Cast": [ + "PtrToPtr", + { + "Copy": { + "local": 17, + "projection": [] + } + }, + 46 + ] + } + ] + }, + "span": 270 + }, + { + "kind": { + "Assign": [ + { + "local": 7, + "projection": [] + }, + { + "Aggregate": [ + { + "Adt": [ + 20, + 0, + [ + { + "Type": 16 + } + ], + null, + null + ] + }, + [ + { + "Copy": { + "local": 28, + "projection": [] + } + } + ] + ] + } + ] + }, + "span": 271 + }, + { + "kind": { + "StorageDead": 8 + }, + "span": 272 + }, + { + "kind": { + "StorageLive": 29 + }, + "span": 273 + }, + { + "kind": { + "StorageLive": 30 + }, + "span": 274 + }, + { + "kind": { + "Assign": [ + { + "local": 30, + "projection": [] + }, + { + "Use": { + "Copy": { + "local": 17, + "projection": [] + } + } + } + ] + }, + "span": 181 + }, + { + "kind": { + "Assign": [ + { + "local": 29, + "projection": [] + }, + { + "Aggregate": [ + { + "RawPtr": [ + 81, + "Mut" + ] + }, + [ + { + "Copy": { + "local": 17, + "projection": [] + } + }, + { + "Constant": { + "const_": { + "id": 20, + "kind": { + "Allocated": { + "align": 8, + "bytes": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "mutability": "Mut", + "provenance": { + "ptrs": [] + } + } + }, + "ty": 47 + }, + "span": 50, + "user_ty": null + } + } + ] + ] + } + ] + }, + "span": 275 + }, + { + "kind": { + "StorageDead": 30 + }, + "span": 276 + }, + { + "kind": { + "StorageLive": 33 + }, + "span": 277 + } + ], + "terminator": { + "kind": { + "Goto": { + "target": 10 + } + }, + "span": 243 + } + }, + { + "statements": [ + { + "kind": { + "Assign": [ + { + "local": 28, + "projection": [] + }, + { + "Cast": [ + "PtrToPtr", + { + "Copy": { + "local": 17, + "projection": [] + } + }, + 46 + ] + } + ] + }, + "span": 270 + }, + { + "kind": { + "Assign": [ + { + "local": 7, + "projection": [] + }, + { + "Aggregate": [ + { + "Adt": [ + 20, + 0, + [ + { + "Type": 16 + } + ], + null, + null + ] + }, + [ + { + "Copy": { + "local": 28, + "projection": [] + } + } + ] + ] + } + ] + }, + "span": 271 + }, + { + "kind": { + "StorageDead": 8 + }, + "span": 272 + }, + { + "kind": { + "StorageLive": 29 + }, + "span": 273 + }, + { + "kind": { + "StorageLive": 30 + }, + "span": 274 + }, + { + "kind": { + "Assign": [ + { + "local": 30, + "projection": [] + }, + { + "Use": { + "Copy": { + "local": 17, + "projection": [] + } + } + } + ] + }, + "span": 181 + }, + { + "kind": { + "Assign": [ + { + "local": 29, + "projection": [] + }, + { + "Aggregate": [ + { + "RawPtr": [ + 81, + "Mut" + ] + }, + [ + { + "Copy": { + "local": 17, + "projection": [] + } + }, + { + "Constant": { + "const_": { + "id": 20, + "kind": { + "Allocated": { + "align": 8, + "bytes": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "mutability": "Mut", + "provenance": { + "ptrs": [] + } + } + }, + "ty": 47 + }, + "span": 50, + "user_ty": null + } + } + ] + ] + } + ] + }, + "span": 275 + }, + { + "kind": { + "StorageDead": 30 + }, + "span": 276 + }, + { + "kind": { + "StorageLive": 33 + }, + "span": 277 + } + ], + "terminator": { + "kind": { + "SwitchInt": { + "discr": { + "Copy": { + "local": 25, + "projection": [] + } + }, + "targets": { + "branches": [ + [ + 0, + 12 + ] + ], + "otherwise": 10 + } + } + }, + "span": 243 + } + }, + { + "statements": [ + { + "kind": { + "StorageLive": 32 + }, + "span": 268 + }, + { + "kind": { + "Assign": [ + { + "local": 32, + "projection": [] + }, + { + "Cast": [ + "PtrToPtr", + { + "Copy": { + "local": 17, + "projection": [] + } + }, + 62 + ] + } + ] + }, + "span": 268 + } + ], + "terminator": { + "kind": { + "Call": { + "args": [ + { + "Move": { + "local": 32, + "projection": [] + } + } + ], + "destination": { + "local": 31, + "projection": [] + }, + "func": { + "Constant": { + "const_": { + "id": 41, + "kind": "ZeroSized", + "ty": 80 + }, + "span": 266, + "user_ty": null + } + }, + "target": 11, + "unwind": "Unreachable" + } + }, + "span": 267 + } + }, + { + "statements": [ + { + "kind": { + "StorageDead": 32 + }, + "span": 269 + } + ], + "terminator": { + "kind": { + "Goto": { + "target": 12 + } + }, + "span": 278 + } + }, + { + "statements": [ + { + "kind": { + "Assign": [ + { + "local": 33, + "projection": [] + }, + { + "Cast": [ + "PtrToPtr", + { + "Copy": { + "local": 29, + "projection": [] + } + }, + 68 + ] + } + ] + }, + "span": 270 + }, + { + "kind": { + "Assign": [ + { + "local": 6, + "projection": [] + }, + { + "Aggregate": [ + { + "Adt": [ + 20, + 0, + [ + { + "Type": 81 + } + ], + null, + null + ] + }, + [ + { + "Copy": { + "local": 33, + "projection": [] + } + } + ] + ] + } + ] + }, + "span": 271 + }, + { + "kind": { + "StorageDead": 33 + }, + "span": 277 + }, + { + "kind": { + "StorageDead": 29 + }, + "span": 280 + }, + { + "kind": { + "StorageDead": 7 + }, + "span": 281 + }, + { + "kind": { + "Assign": [ + { + "local": 0, + "projection": [] + }, + { + "Aggregate": [ + { + "Adt": [ + 24, + 0, + [ + { + "Type": 67 + }, + { + "Type": 82 + } + ], + null, + null + ] + }, + [ + { + "Move": { + "local": 6, + "projection": [] + } + } + ] + ] + } + ] + }, + "span": 282 + }, + { + "kind": { + "StorageDead": 6 + }, + "span": 279 + } + ], + "terminator": { + "kind": { + "Goto": { + "target": 6 + } + }, + "span": 279 + } + }, + { + "statements": [ + { + "kind": { + "StorageDead": 35 + }, + "span": 284 + }, + { + "kind": { + "StorageDead": 10 + }, + "span": 285 + } + ], + "terminator": { + "kind": { + "Goto": { + "target": 5 + } + }, + "span": 283 + } + }, + { + "statements": [ + { + "kind": { + "StorageDead": 44 + }, + "span": 260 + }, + { + "kind": { + "Assign": [ + { + "local": 13, + "projection": [] + }, + { + "Use": { + "Constant": { + "const_": { + "id": 42, + "kind": { + "Allocated": { + "align": 8, + "bytes": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "mutability": "Mut", + "provenance": { + "ptrs": [] + } + } + }, + "ty": 83 + }, + "span": 50, + "user_ty": null + } + } + } + ] + }, + "span": 286 + }, + { + "kind": { + "StorageLive": 49 + }, + "span": 287 + }, + { + "kind": { + "Assign": [ + { + "local": 12, + "projection": [] + }, + { + "Use": { + "Constant": { + "const_": { + "id": 43, + "kind": { + "Allocated": { + "align": 8, + "bytes": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "mutability": "Mut", + "provenance": { + "ptrs": [] + } + } + }, + "ty": 84 + }, + "span": 50, + "user_ty": null + } + } + } + ] + }, + "span": 288 + }, + { + "kind": { + "StorageDead": 49 + }, + "span": 287 + }, + { + "kind": { + "StorageDead": 13 + }, + "span": 289 + }, + { + "kind": { + "StorageLive": 50 + }, + "span": 261 + }, + { + "kind": { + "StorageDead": 50 + }, + "span": 261 + }, + { + "kind": { + "StorageDead": 12 + }, + "span": 290 + }, + { + "kind": { + "Assign": [ + { + "local": 0, + "projection": [] + }, + { + "Use": { + "Constant": { + "const_": { + "id": 44, + "kind": { + "Allocated": { + "align": 8, + "bytes": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + null, + null, + null, + null, + null, + null, + null, + null + ], + "mutability": "Not", + "provenance": { + "ptrs": [] + } + } + }, + "ty": 70 + }, + "span": 50, + "user_ty": null + } + } + } + ] + }, + "span": 291 + }, + { + "kind": { + "StorageDead": 11 + }, + "span": 292 + }, + { + "kind": { + "StorageDead": 9 + }, + "span": 293 + } + ], + "terminator": { + "kind": { + "Goto": { + "target": 6 + } + }, + "span": 265 + } + }, + { + "statements": [ + { + "kind": { + "StorageDead": 44 + }, + "span": 260 + }, + { + "kind": { + "StorageLive": 43 + }, + "span": 294 + }, + { + "kind": { + "StorageLive": 48 + }, + "span": 295 + }, + { + "kind": { + "StorageLive": 45 + }, + "span": 243 + }, + { + "kind": { + "Assign": [ + { + "local": 45, + "projection": [] + }, + { + "NullaryOp": [ + "UbChecks", + 37 + ] + } + ] + }, + "span": 203 + } + ], + "terminator": { + "kind": { + "SwitchInt": { + "discr": { + "Move": { + "local": 45, + "projection": [] + } + }, + "targets": { + "branches": [ + [ + 0, + 18 + ] + ], + "otherwise": 16 + } + } + }, + "span": 243 + } + }, + { + "statements": [ + { + "kind": { + "StorageLive": 47 + }, + "span": 268 + }, + { + "kind": { + "Assign": [ + { + "local": 47, + "projection": [] + }, + { + "Cast": [ + "PtrToPtr", + { + "Copy": { + "local": 14, + "projection": [] + } + }, + 62 + ] + } + ] + }, + "span": 268 + } + ], + "terminator": { + "kind": { + "Call": { + "args": [ + { + "Move": { + "local": 47, + "projection": [] + } + } + ], + "destination": { + "local": 46, + "projection": [] + }, + "func": { + "Constant": { + "const_": { + "id": 41, + "kind": "ZeroSized", + "ty": 80 + }, + "span": 266, + "user_ty": null + } + }, + "target": 17, + "unwind": "Unreachable" + } + }, + "span": 267 + } + }, + { + "statements": [ + { + "kind": { + "StorageDead": 47 + }, + "span": 269 + } + ], + "terminator": { + "kind": { + "Goto": { + "target": 18 + } + }, + "span": 278 + } + }, + { + "statements": [ + { + "kind": { + "StorageDead": 45 + }, + "span": 296 + }, + { + "kind": { + "Assign": [ + { + "local": 48, + "projection": [] + }, + { + "Cast": [ + "PtrToPtr", + { + "Copy": { + "local": 14, + "projection": [] + } + }, + 46 + ] + } + ] + }, + "span": 270 + }, + { + "kind": { + "Assign": [ + { + "local": 43, + "projection": [] + }, + { + "Aggregate": [ + { + "Adt": [ + 20, + 0, + [ + { + "Type": 16 + } + ], + null, + null + ] + }, + [ + { + "Copy": { + "local": 48, + "projection": [] + } + } + ] + ] + } + ] + }, + "span": 271 + }, + { + "kind": { + "StorageDead": 48 + }, + "span": 295 + }, + { + "kind": { + "Assign": [ + { + "local": 13, + "projection": [] + }, + { + "Aggregate": [ + { + "Adt": [ + 8, + 1, + [ + { + "Type": 71 + } + ], + null, + null + ] + }, + [ + { + "Move": { + "local": 43, + "projection": [] + } + } + ] + ] + } + ] + }, + "span": 297 + }, + { + "kind": { + "StorageDead": 43 + }, + "span": 298 + }, + { + "kind": { + "StorageLive": 49 + }, + "span": 287 + }, + { + "kind": { + "Assign": [ + { + "local": 49, + "projection": [] + }, + { + "Use": { + "Move": { + "local": 13, + "projection": [ + { + "Downcast": 1 + }, + { + "Field": [ + 0, + 71 + ] + } + ] + } + } + } + ] + }, + "span": 299 + }, + { + "kind": { + "Assign": [ + { + "local": 12, + "projection": [] + }, + { + "Aggregate": [ + { + "Adt": [ + 24, + 0, + [ + { + "Type": 71 + }, + { + "Type": 82 + } + ], + null, + null + ] + }, + [ + { + "Copy": { + "local": 49, + "projection": [] + } + } + ] + ] + } + ] + }, + "span": 300 + }, + { + "kind": { + "StorageDead": 49 + }, + "span": 287 + }, + { + "kind": { + "StorageDead": 13 + }, + "span": 289 + }, + { + "kind": { + "StorageLive": 50 + }, + "span": 261 + }, + { + "kind": { + "Assign": [ + { + "local": 50, + "projection": [] + }, + { + "Use": { + "Move": { + "local": 12, + "projection": [ + { + "Downcast": 0 + }, + { + "Field": [ + 0, + 71 + ] + } + ] + } + } + } + ] + }, + "span": 301 + }, + { + "kind": { + "Assign": [ + { + "local": 11, + "projection": [] + }, + { + "Aggregate": [ + { + "Adt": [ + 25, + 0, + [ + { + "Type": 85 + }, + { + "Type": 71 + } + ], + null, + null + ] + }, + [ + { + "Copy": { + "local": 50, + "projection": [] + } + } + ] + ] + } + ] + }, + "span": 302 + }, + { + "kind": { + "StorageDead": 50 + }, + "span": 261 + }, + { + "kind": { + "StorageDead": 12 + }, + "span": 290 + }, + { + "kind": { + "Assign": [ + { + "local": 15, + "projection": [] + }, + { + "Use": { + "Copy": { + "local": 11, + "projection": [ + { + "Downcast": 0 + }, + { + "Field": [ + 0, + 71 + ] + } + ] + } + } + } + ] + }, + "span": 303 + }, + { + "kind": { + "StorageDead": 11 + }, + "span": 292 + }, + { + "kind": { + "StorageLive": 16 + }, + "span": 304 + }, + { + "kind": { + "StorageLive": 53 + }, + "span": 304 + }, + { + "kind": { + "StorageLive": 51 + }, + "span": 273 + }, + { + "kind": { + "StorageLive": 52 + }, + "span": 274 + }, + { + "kind": { + "Assign": [ + { + "local": 53, + "projection": [] + }, + { + "Use": { + "Copy": { + "local": 15, + "projection": [ + { + "Field": [ + 0, + 46 + ] + } + ] + } + } + } + ] + }, + "span": 178 + }, + { + "kind": { + "Assign": [ + { + "local": 52, + "projection": [] + }, + { + "Cast": [ + "PtrToPtr", + { + "Copy": { + "local": 53, + "projection": [] + } + }, + 61 + ] + } + ] + }, + "span": 181 + }, + { + "kind": { + "Assign": [ + { + "local": 51, + "projection": [] + }, + { + "Aggregate": [ + { + "RawPtr": [ + 81, + "Mut" + ] + }, + [ + { + "Copy": { + "local": 52, + "projection": [] + } + }, + { + "Copy": { + "local": 4, + "projection": [] + } + } + ] + ] + } + ] + }, + "span": 275 + }, + { + "kind": { + "StorageDead": 52 + }, + "span": 276 + }, + { + "kind": { + "StorageLive": 57 + }, + "span": 277 + }, + { + "kind": { + "StorageLive": 54 + }, + "span": 243 + }, + { + "kind": { + "Assign": [ + { + "local": 54, + "projection": [] + }, + { + "NullaryOp": [ + "UbChecks", + 37 + ] + } + ] + }, + "span": 203 + } + ], + "terminator": { + "kind": { + "SwitchInt": { + "discr": { + "Move": { + "local": 54, + "projection": [] + } + }, + "targets": { + "branches": [ + [ + 0, + 21 + ] + ], + "otherwise": 19 + } + } + }, + "span": 243 + } + }, + { + "statements": [ + { + "kind": { + "StorageLive": 56 + }, + "span": 268 + }, + { + "kind": { + "Assign": [ + { + "local": 56, + "projection": [] + }, + { + "Cast": [ + "PtrToPtr", + { + "Copy": { + "local": 53, + "projection": [] + } + }, + 62 + ] + } + ] + }, + "span": 268 + } + ], + "terminator": { + "kind": { + "Call": { + "args": [ + { + "Move": { + "local": 56, + "projection": [] + } + } + ], + "destination": { + "local": 55, + "projection": [] + }, + "func": { + "Constant": { + "const_": { + "id": 41, + "kind": "ZeroSized", + "ty": 80 + }, + "span": 266, + "user_ty": null + } + }, + "target": 20, + "unwind": "Unreachable" + } + }, + "span": 267 + } + }, + { + "statements": [ + { + "kind": { + "StorageDead": 56 + }, + "span": 269 + } + ], + "terminator": { + "kind": { + "Goto": { + "target": 21 + } + }, + "span": 278 + } + }, + { + "statements": [ + { + "kind": { + "StorageDead": 54 + }, + "span": 296 + }, + { + "kind": { + "Assign": [ + { + "local": 57, + "projection": [] + }, + { + "Cast": [ + "PtrToPtr", + { + "Copy": { + "local": 51, + "projection": [] + } + }, + 68 + ] + } + ] + }, + "span": 270 + }, + { + "kind": { + "Assign": [ + { + "local": 16, + "projection": [] + }, + { + "Aggregate": [ + { + "Adt": [ + 20, + 0, + [ + { + "Type": 81 + } + ], + null, + null + ] + }, + [ + { + "Copy": { + "local": 57, + "projection": [] + } + } + ] + ] + } + ] + }, + "span": 271 + }, + { + "kind": { + "StorageDead": 57 + }, + "span": 277 + }, + { + "kind": { + "StorageDead": 51 + }, + "span": 280 + }, + { + "kind": { + "StorageDead": 53 + }, + "span": 304 + }, + { + "kind": { + "Assign": [ + { + "local": 0, + "projection": [] + }, + { + "Aggregate": [ + { + "Adt": [ + 24, + 0, + [ + { + "Type": 67 + }, + { + "Type": 82 + } + ], + null, + null + ] + }, + [ + { + "Move": { + "local": 16, + "projection": [] + } + } + ] + ] + } + ] + }, + "span": 305 + }, + { + "kind": { + "StorageDead": 16 + }, + "span": 306 + }, + { + "kind": { + "StorageDead": 9 + }, + "span": 293 + } + ], + "terminator": { + "kind": { + "Goto": { + "target": 6 + } + }, + "span": 293 + } + } + ], + "locals": [ + { + "mutability": "Mut", + "span": 307, + "ty": 70 + }, + { + "mutability": "Not", + "span": 308, + "ty": 64 + }, + { + "mutability": "Not", + "span": 309, + "ty": 69 + }, + { + "mutability": "Not", + "span": 310, + "ty": 37 + }, + { + "mutability": "Mut", + "span": 311, + "ty": 47 + }, + { + "mutability": "Mut", + "span": 239, + "ty": 77 + }, + { + "mutability": "Mut", + "span": 244, + "ty": 67 + }, + { + "mutability": "Mut", + "span": 245, + "ty": 71 + }, + { + "mutability": "Mut", + "span": 246, + "ty": 77 + }, + { + "mutability": "Not", + "span": 242, + "ty": 61 + }, + { + "mutability": "Mut", + "span": 252, + "ty": 69 + }, + { + "mutability": "Mut", + "span": 261, + "ty": 86 + }, + { + "mutability": "Mut", + "span": 262, + "ty": 84 + }, + { + "mutability": "Mut", + "span": 263, + "ty": 83 + }, + { + "mutability": "Mut", + "span": 264, + "ty": 61 + }, + { + "mutability": "Not", + "span": 303, + "ty": 71 + }, + { + "mutability": "Mut", + "span": 304, + "ty": 67 + }, + { + "mutability": "Mut", + "span": 312, + "ty": 61 + }, + { + "mutability": "Mut", + "span": 247, + "ty": 47 + }, + { + "mutability": "Mut", + "span": 215, + "ty": 65 + }, + { + "mutability": "Not", + "span": 217, + "ty": 74 + }, + { + "mutability": "Mut", + "span": 217, + "ty": 2 + }, + { + "mutability": "Mut", + "span": 218, + "ty": 37 + }, + { + "mutability": "Mut", + "span": 218, + "ty": 37 + }, + { + "mutability": "Mut", + "span": 218, + "ty": 37 + }, + { + "mutability": "Mut", + "span": 243, + "ty": 37 + }, + { + "mutability": "Not", + "span": 267, + "ty": 8 + }, + { + "mutability": "Mut", + "span": 268, + "ty": 62 + }, + { + "mutability": "Mut", + "span": 270, + "ty": 46 + }, + { + "mutability": "Mut", + "span": 273, + "ty": 87 + }, + { + "mutability": "Mut", + "span": 274, + "ty": 61 + }, + { + "mutability": "Not", + "span": 267, + "ty": 8 + }, + { + "mutability": "Mut", + "span": 268, + "ty": 62 + }, + { + "mutability": "Mut", + "span": 270, + "ty": 68 + }, + { + "mutability": "Mut", + "span": 253, + "ty": 77 + }, + { + "mutability": "Mut", + "span": 255, + "ty": 47 + }, + { + "mutability": "Mut", + "span": 256, + "ty": 77 + }, + { + "mutability": "Mut", + "span": 215, + "ty": 65 + }, + { + "mutability": "Not", + "span": 217, + "ty": 74 + }, + { + "mutability": "Mut", + "span": 217, + "ty": 2 + }, + { + "mutability": "Mut", + "span": 218, + "ty": 37 + }, + { + "mutability": "Mut", + "span": 218, + "ty": 37 + }, + { + "mutability": "Mut", + "span": 218, + "ty": 37 + }, + { + "mutability": "Mut", + "span": 294, + "ty": 71 + }, + { + "mutability": "Mut", + "span": 141, + "ty": 47 + }, + { + "mutability": "Mut", + "span": 243, + "ty": 37 + }, + { + "mutability": "Not", + "span": 267, + "ty": 8 + }, + { + "mutability": "Mut", + "span": 268, + "ty": 62 + }, + { + "mutability": "Mut", + "span": 270, + "ty": 46 + }, + { + "mutability": "Not", + "span": 299, + "ty": 71 + }, + { + "mutability": "Not", + "span": 301, + "ty": 71 + }, + { + "mutability": "Mut", + "span": 273, + "ty": 87 + }, + { + "mutability": "Mut", + "span": 274, + "ty": 61 + }, + { + "mutability": "Mut", + "span": 178, + "ty": 46 + }, + { + "mutability": "Mut", + "span": 243, + "ty": 37 + }, + { + "mutability": "Not", + "span": 267, + "ty": 8 + }, + { + "mutability": "Mut", + "span": 268, + "ty": 62 + }, + { + "mutability": "Mut", + "span": 270, + "ty": 68 + } + ], + "span": 335, + "spread_arg": null, + "var_debug_info": [ + { + "argument_index": 1, + "composite": null, + "name": "self", + "source_info": { + "scope": 0, + "span": 308 + }, + "value": { + "Place": { + "local": 1, + "projection": [] + } + } + }, + { + "argument_index": 2, + "composite": null, + "name": "layout", + "source_info": { + "scope": 0, + "span": 309 + }, + "value": { + "Place": { + "local": 2, + "projection": [] + } + } + }, + { + "argument_index": 3, + "composite": null, + "name": "zeroed", + "source_info": { + "scope": 0, + "span": 310 + }, + "value": { + "Place": { + "local": 3, + "projection": [] + } + } + }, + { + "argument_index": null, + "composite": null, + "name": "size", + "source_info": { + "scope": 1, + "span": 313 + }, + "value": { + "Place": { + "local": 4, + "projection": [] + } + } + }, + { + "argument_index": null, + "composite": null, + "name": "raw_ptr", + "source_info": { + "scope": 2, + "span": 242 + }, + "value": { + "Place": { + "local": 9, + "projection": [] + } + } + }, + { + "argument_index": null, + "composite": null, + "name": "ptr", + "source_info": { + "scope": 3, + "span": 314 + }, + "value": { + "Place": { + "local": 15, + "projection": [] + } + } + }, + { + "argument_index": null, + "composite": null, + "name": "residual", + "source_info": { + "scope": 4, + "span": 315 + }, + "value": { + "Const": { + "const_": { + "id": 45, + "kind": "ZeroSized", + "ty": 85 + }, + "span": 50, + "user_ty": null + } + } + }, + { + "argument_index": null, + "composite": null, + "name": "val", + "source_info": { + "scope": 6, + "span": 303 + }, + "value": { + "Place": { + "local": 15, + "projection": [] + } + } + }, + { + "argument_index": 1, + "composite": null, + "name": "self", + "source_info": { + "scope": 8, + "span": 234 + }, + "value": { + "Place": { + "local": 5, + "projection": [] + } + } + }, + { + "argument_index": 1, + "composite": null, + "name": "self", + "source_info": { + "scope": 9, + "span": 316 + }, + "value": { + "Place": { + "local": 8, + "projection": [] + } + } + }, + { + "argument_index": 1, + "composite": null, + "name": "self", + "source_info": { + "scope": 10, + "span": 235 + }, + "value": { + "Place": { + "local": 8, + "projection": [] + } + } + }, + { + "argument_index": 1, + "composite": null, + "name": "self", + "source_info": { + "scope": 11, + "span": 236 + }, + "value": { + "Place": { + "local": 19, + "projection": [] + } + } + }, + { + "argument_index": 1, + "composite": null, + "name": "addr", + "source_info": { + "scope": 12, + "span": 317 + }, + "value": { + "Place": { + "local": 18, + "projection": [] + } + } + }, + { + "argument_index": 1, + "composite": null, + "name": "ptr", + "source_info": { + "scope": 13, + "span": 318 + }, + "value": { + "Place": { + "local": 17, + "projection": [] + } + } + }, + { + "argument_index": 1, + "composite": null, + "name": "data", + "source_info": { + "scope": 16, + "span": 319 + }, + "value": { + "Place": { + "local": 7, + "projection": [] + } + } + }, + { + "argument_index": 2, + "composite": null, + "name": "len", + "source_info": { + "scope": 16, + "span": 320 + }, + "value": { + "Const": { + "const_": { + "id": 20, + "kind": { + "Allocated": { + "align": 8, + "bytes": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "mutability": "Mut", + "provenance": { + "ptrs": [] + } + } + }, + "ty": 47 + }, + "span": 321, + "user_ty": null + } + } + }, + { + "argument_index": 1, + "composite": null, + "name": "self", + "source_info": { + "scope": 17, + "span": 199 + }, + "value": { + "Place": { + "local": 7, + "projection": [] + } + } + }, + { + "argument_index": 1, + "composite": null, + "name": "data", + "source_info": { + "scope": 18, + "span": 322 + }, + "value": { + "Place": { + "local": 30, + "projection": [] + } + } + }, + { + "argument_index": 2, + "composite": null, + "name": "len", + "source_info": { + "scope": 18, + "span": 323 + }, + "value": { + "Const": { + "const_": { + "id": 20, + "kind": { + "Allocated": { + "align": 8, + "bytes": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "mutability": "Mut", + "provenance": { + "ptrs": [] + } + } + }, + "ty": 47 + }, + "span": 321, + "user_ty": null + } + } + }, + { + "argument_index": 1, + "composite": null, + "name": "data_pointer", + "source_info": { + "scope": 19, + "span": 324 + }, + "value": { + "Place": { + "local": 30, + "projection": [] + } + } + }, + { + "argument_index": 2, + "composite": null, + "name": "metadata", + "source_info": { + "scope": 19, + "span": 325 + }, + "value": { + "Const": { + "const_": { + "id": 20, + "kind": { + "Allocated": { + "align": 8, + "bytes": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "mutability": "Mut", + "provenance": { + "ptrs": [] + } + } + }, + "ty": 47 + }, + "span": 321, + "user_ty": null + } + } + }, + { + "argument_index": 1, + "composite": null, + "name": "ptr", + "source_info": { + "scope": 20, + "span": 318 + }, + "value": { + "Place": { + "local": 29, + "projection": [] + } + } + }, + { + "argument_index": 1, + "composite": null, + "name": "layout", + "source_info": { + "scope": 23, + "span": 326 + }, + "value": { + "Place": { + "local": 10, + "projection": [] + } + } + }, + { + "argument_index": 1, + "composite": null, + "name": "self", + "source_info": { + "scope": 24, + "span": 234 + }, + "value": { + "Place": { + "local": 34, + "projection": [] + } + } + }, + { + "argument_index": 1, + "composite": null, + "name": "self", + "source_info": { + "scope": 25, + "span": 235 + }, + "value": { + "Place": { + "local": 36, + "projection": [] + } + } + }, + { + "argument_index": 1, + "composite": null, + "name": "self", + "source_info": { + "scope": 26, + "span": 236 + }, + "value": { + "Place": { + "local": 37, + "projection": [] + } + } + }, + { + "argument_index": 1, + "composite": null, + "name": "ptr", + "source_info": { + "scope": 27, + "span": 327 + }, + "value": { + "Place": { + "local": 14, + "projection": [] + } + } + }, + { + "argument_index": 1, + "composite": null, + "name": "self", + "source_info": { + "scope": 28, + "span": 149 + }, + "value": { + "Place": { + "local": 14, + "projection": [] + } + } + }, + { + "argument_index": 1, + "composite": null, + "name": "ptr", + "source_info": { + "scope": 29, + "span": 150 + }, + "value": { + "Place": { + "local": 14, + "projection": [] + } + } + }, + { + "argument_index": 1, + "composite": null, + "name": "self", + "source_info": { + "scope": 30, + "span": 151 + }, + "value": { + "Place": { + "local": 14, + "projection": [] + } + } + }, + { + "argument_index": 1, + "composite": null, + "name": "self", + "source_info": { + "scope": 31, + "span": 152 + }, + "value": { + "Place": { + "local": 14, + "projection": [] + } + } + }, + { + "argument_index": 1, + "composite": null, + "name": "ptr", + "source_info": { + "scope": 32, + "span": 318 + }, + "value": { + "Place": { + "local": 14, + "projection": [] + } + } + }, + { + "argument_index": 1, + "composite": null, + "name": "self", + "source_info": { + "scope": 35, + "span": 328 + }, + "value": { + "Place": { + "local": 13, + "projection": [] + } + } + }, + { + "argument_index": 2, + "composite": null, + "name": "err", + "source_info": { + "scope": 35, + "span": 329 + }, + "value": { + "Const": { + "const_": { + "id": 46, + "kind": "ZeroSized", + "ty": 82 + }, + "span": 50, + "user_ty": null + } + } + }, + { + "argument_index": null, + "composite": null, + "name": "v", + "source_info": { + "scope": 36, + "span": 299 + }, + "value": { + "Place": { + "local": 49, + "projection": [] + } + } + }, + { + "argument_index": 1, + "composite": null, + "name": "self", + "source_info": { + "scope": 37, + "span": 330 + }, + "value": { + "Place": { + "local": 12, + "projection": [] + } + } + }, + { + "argument_index": null, + "composite": null, + "name": "v", + "source_info": { + "scope": 38, + "span": 301 + }, + "value": { + "Place": { + "local": 50, + "projection": [] + } + } + }, + { + "argument_index": null, + "composite": null, + "name": "e", + "source_info": { + "scope": 39, + "span": 331 + }, + "value": { + "Const": { + "const_": { + "id": 46, + "kind": "ZeroSized", + "ty": 82 + }, + "span": 50, + "user_ty": null + } + } + }, + { + "argument_index": 1, + "composite": null, + "name": "data", + "source_info": { + "scope": 40, + "span": 319 + }, + "value": { + "Place": { + "local": 15, + "projection": [] + } + } + }, + { + "argument_index": 2, + "composite": null, + "name": "len", + "source_info": { + "scope": 40, + "span": 320 + }, + "value": { + "Place": { + "local": 4, + "projection": [] + } + } + }, + { + "argument_index": 1, + "composite": null, + "name": "self", + "source_info": { + "scope": 41, + "span": 199 + }, + "value": { + "Place": { + "local": 15, + "projection": [] + } + } + }, + { + "argument_index": 1, + "composite": null, + "name": "data", + "source_info": { + "scope": 42, + "span": 322 + }, + "value": { + "Place": { + "local": 52, + "projection": [] + } + } + }, + { + "argument_index": 2, + "composite": null, + "name": "len", + "source_info": { + "scope": 42, + "span": 323 + }, + "value": { + "Place": { + "local": 4, + "projection": [] + } + } + }, + { + "argument_index": 1, + "composite": null, + "name": "data_pointer", + "source_info": { + "scope": 43, + "span": 324 + }, + "value": { + "Place": { + "local": 52, + "projection": [] + } + } + }, + { + "argument_index": 2, + "composite": null, + "name": "metadata", + "source_info": { + "scope": 43, + "span": 325 + }, + "value": { + "Place": { + "local": 4, + "projection": [] + } + } + }, + { + "argument_index": 1, + "composite": null, + "name": "ptr", + "source_info": { + "scope": 44, + "span": 318 + }, + "value": { + "Place": { + "local": 51, + "projection": [] + } + } + }, + { + "argument_index": 1, + "composite": null, + "name": "residual", + "source_info": { + "scope": 47, + "span": 332 + }, + "value": { + "Const": { + "const_": { + "id": 45, + "kind": "ZeroSized", + "ty": 85 + }, + "span": 50, + "user_ty": null + } + } + }, + { + "argument_index": null, + "composite": null, + "name": "e", + "source_info": { + "scope": 48, + "span": 333 + }, + "value": { + "Const": { + "const_": { + "id": 46, + "kind": "ZeroSized", + "ty": 82 + }, + "span": 50, + "user_ty": null + } + } + }, + { + "argument_index": 1, + "composite": null, + "name": "t", + "source_info": { + "scope": 49, + "span": 334 + }, + "value": { + "Const": { + "const_": { + "id": 46, + "kind": "ZeroSized", + "ty": 82 + }, + "span": 50, + "user_ty": null + } + } + } + ] + } + ], + "id": 23, + "name": "std::alloc::Global::alloc_impl" + } + }, + "symbol_name": "_ZN5alloc5alloc6Global10alloc_impl17hfeb4b7829cd89493E" + }, + { + "details": null, + "mono_item_kind": { + "MonoItemFn": { + "body": [ + { + "arg_count": 1, + "blocks": [ + { + "statements": [ + { + "kind": { + "Assign": [ + { + "local": 2, + "projection": [] + }, + { + "NullaryOp": [ + "SizeOf", + 32 + ] + } + ] + }, + "span": 336 + }, + { + "kind": { + "Assign": [ + { + "local": 3, + "projection": [] + }, + { + "NullaryOp": [ + "AlignOf", + 32 + ] + } + ] + }, + "span": 336 + } + ], + "terminator": { + "kind": { + "Call": { + "args": [ + { + "Move": { + "local": 2, + "projection": [] + } + }, + { + "Move": { + "local": 3, + "projection": [] + } + } + ], + "destination": { + "local": 4, + "projection": [] + }, + "func": { + "Constant": { + "const_": { + "id": 47, + "kind": "ZeroSized", + "ty": 88 + }, + "span": 336, + "user_ty": null + } + }, + "target": 1, + "unwind": { + "Cleanup": 2 + } + } + }, + "span": 336 + } + }, + { + "statements": [ + { + "kind": { + "Assign": [ + { + "local": 0, + "projection": [] + }, + { + "ShallowInitBox": [ + { + "Move": { + "local": 4, + "projection": [] + } + }, + 32 + ] + } + ] + }, + "span": 336 + }, + { + "kind": { + "Assign": [ + { + "local": 5, + "projection": [] + }, + { + "Use": { + "Copy": { + "local": 0, + "projection": [ + { + "Field": [ + 0, + 89 + ] + }, + { + "Field": [ + 0, + 90 + ] + }, + { + "Field": [ + 0, + 91 + ] + } + ] + } + } + } + ] + }, + "span": 338 + }, + { + "kind": { + "Assign": [ + { + "local": 5, + "projection": [ + "Deref" + ] + }, + { + "Use": { + "Move": { + "local": 1, + "projection": [] + } + } + } + ] + }, + "span": 338 + } + ], + "terminator": { + "kind": "Return", + "span": 337 + } + }, + { + "statements": [], + "terminator": { + "kind": { + "Drop": { + "place": { + "local": 1, + "projection": [] + }, + "target": 3, + "unwind": "Terminate" + } + }, + "span": 339 + } + }, + { + "statements": [], + "terminator": { + "kind": "Resume", + "span": 340 + } + } + ], + "locals": [ + { + "mutability": "Mut", + "span": 341, + "ty": 92 + }, + { + "mutability": "Not", + "span": 342, + "ty": 32 + }, + { + "mutability": "Mut", + "span": 336, + "ty": 47 + }, + { + "mutability": "Mut", + "span": 336, + "ty": 47 + }, + { + "mutability": "Mut", + "span": 336, + "ty": 61 + }, + { + "mutability": "Mut", + "span": 336, + "ty": 91 + } + ], + "span": 340, + "spread_arg": null, + "var_debug_info": [ + { + "argument_index": 1, + "composite": null, + "name": "x", + "source_info": { + "scope": 0, + "span": 342 + }, + "value": { + "Place": { + "local": 1, + "projection": [] + } + } + } + ] + } + ], + "id": 26, + "name": "std::boxed::Box::<&str>::new" + } + }, + "symbol_name": "_ZN5alloc5boxed12Box$LT$T$GT$3new17hfb7bad2afdef8431E" + }, + { + "details": null, + "mono_item_kind": { + "MonoItemFn": { + "body": [ + { + "arg_count": 2, + "blocks": [ + { + "statements": [ + { + "kind": { + "Assign": [ + { + "local": 3, + "projection": [] + }, + { + "Discriminant": { + "local": 1, + "projection": [ + "Deref", + { + "Field": [ + 0, + 41 + ] + } + ] + } + } + ] + }, + "span": 344 + } + ], + "terminator": { + "kind": { + "SwitchInt": { + "discr": { + "Move": { + "local": 3, + "projection": [] + } + }, + "targets": { + "branches": [ + [ + 0, + 2 + ], + [ + 1, + 3 + ] + ], + "otherwise": 1 + } + } + }, + "span": 343 + } + }, + { + "statements": [], + "terminator": { + "kind": "Unreachable", + "span": 344 + } + }, + { + "statements": [], + "terminator": { + "kind": { + "Call": { + "args": [], + "destination": { + "local": 8, + "projection": [] + }, + "func": { + "Constant": { + "const_": { + "id": 48, + "kind": "ZeroSized", + "ty": 93 + }, + "span": 345, + "user_ty": null + } + }, + "target": null, + "unwind": "Continue" + } + }, + "span": 346 + } + }, + { + "statements": [ + { + "kind": { + "StorageLive": 4 + }, + "span": 349 + }, + { + "kind": { + "Assign": [ + { + "local": 4, + "projection": [] + }, + { + "Ref": [ + { + "kind": "ReErased" + }, + "Shared", + { + "local": 1, + "projection": [ + "Deref", + { + "Field": [ + 0, + 41 + ] + }, + { + "Downcast": 1 + }, + { + "Field": [ + 0, + 32 + ] + } + ] + } + ] + } + ] + }, + "span": 349 + }, + { + "kind": { + "StorageLive": 6 + }, + "span": 350 + }, + { + "kind": { + "StorageLive": 7 + }, + "span": 350 + }, + { + "kind": { + "Assign": [ + { + "local": 7, + "projection": [] + }, + { + "Ref": [ + { + "kind": "ReErased" + }, + "Shared", + { + "local": 1, + "projection": [ + "Deref", + { + "Field": [ + 0, + 41 + ] + }, + { + "Downcast": 1 + }, + { + "Field": [ + 0, + 32 + ] + } + ] + } + ] + } + ] + }, + "span": 350 + }, + { + "kind": { + "Assign": [ + { + "local": 6, + "projection": [] + }, + { + "Cast": [ + { + "PointerCoercion": "Unsize" + }, + { + "Move": { + "local": 7, + "projection": [] + } + }, + 95 + ] + } + ] + }, + "span": 350 + }, + { + "kind": { + "StorageDead": 7 + }, + "span": 350 + } + ], + "terminator": { + "kind": { + "Call": { + "args": [ + { + "Move": { + "local": 6, + "projection": [] + } + } + ], + "destination": { + "local": 5, + "projection": [] + }, + "func": { + "Constant": { + "const_": { + "id": 49, + "kind": "ZeroSized", + "ty": 94 + }, + "span": 347, + "user_ty": null + } + }, + "target": 4, + "unwind": "Continue" + } + }, + "span": 348 + } + }, + { + "statements": [ + { + "kind": { + "StorageDead": 6 + }, + "span": 353 + } + ], + "terminator": { + "kind": { + "Call": { + "args": [ + { + "Move": { + "local": 2, + "projection": [] + } + }, + { + "Move": { + "local": 5, + "projection": [] + } + } + ], + "destination": { + "local": 0, + "projection": [] + }, + "func": { + "Constant": { + "const_": { + "id": 50, + "kind": "ZeroSized", + "ty": 96 + }, + "span": 351, + "user_ty": null + } + }, + "target": 5, + "unwind": "Continue" + } + }, + "span": 352 + } + }, + { + "statements": [ + { + "kind": { + "StorageDead": 4 + }, + "span": 355 + } + ], + "terminator": { + "kind": "Return", + "span": 354 + } + } + ], + "locals": [ + { + "mutability": "Mut", + "span": 356, + "ty": 97 + }, + { + "mutability": "Not", + "span": 357, + "ty": 98 + }, + { + "mutability": "Not", + "span": 358, + "ty": 99 + }, + { + "mutability": "Mut", + "span": 359, + "ty": 13 + }, + { + "mutability": "Not", + "span": 349, + "ty": 4 + }, + { + "mutability": "Not", + "span": 348, + "ty": 32 + }, + { + "mutability": "Mut", + "span": 350, + "ty": 95 + }, + { + "mutability": "Mut", + "span": 350, + "ty": 4 + }, + { + "mutability": "Mut", + "span": 346, + "ty": 27 + } + ], + "span": 360, + "spread_arg": null, + "var_debug_info": [ + { + "argument_index": 1, + "composite": null, + "name": "self", + "source_info": { + "scope": 0, + "span": 357 + }, + "value": { + "Place": { + "local": 1, + "projection": [] + } + } + }, + { + "argument_index": 2, + "composite": null, + "name": "f", + "source_info": { + "scope": 0, + "span": 358 + }, + "value": { + "Place": { + "local": 2, + "projection": [] + } + } + }, + { + "argument_index": null, + "composite": null, + "name": "a", + "source_info": { + "scope": 1, + "span": 349 + }, + "value": { + "Place": { + "local": 4, + "projection": [] + } + } + } + ] + } + ], + "id": 27, + "name": " as std::fmt::Display>::fmt" + } + }, + "symbol_name": "_ZN84_$LT$std..panicking..begin_panic..Payload$LT$A$GT$$u20$as$u20$core..fmt..Display$GT$3fmt17h2995801f2bca7f36E" + }, + { + "details": null, + "mono_item_kind": { + "MonoItemFn": { + "body": [ + { + "arg_count": 1, + "blocks": [ + { + "statements": [ + { + "kind": { + "Assign": [ + { + "local": 2, + "projection": [] + }, + { + "Discriminant": { + "local": 1, + "projection": [ + "Deref", + { + "Field": [ + 0, + 41 + ] + } + ] + } + } + ] + }, + "span": 362 + } + ], + "terminator": { + "kind": { + "SwitchInt": { + "discr": { + "Move": { + "local": 2, + "projection": [] + } + }, + "targets": { + "branches": [ + [ + 0, + 2 + ], + [ + 1, + 3 + ] + ], + "otherwise": 1 + } + } + }, + "span": 361 + } + }, + { + "statements": [], + "terminator": { + "kind": "Unreachable", + "span": 362 + } + }, + { + "statements": [], + "terminator": { + "kind": { + "Call": { + "args": [], + "destination": { + "local": 5, + "projection": [] + }, + "func": { + "Constant": { + "const_": { + "id": 48, + "kind": "ZeroSized", + "ty": 93 + }, + "span": 363, + "user_ty": null + } + }, + "target": null, + "unwind": "Continue" + } + }, + "span": 364 + } + }, + { + "statements": [ + { + "kind": { + "StorageLive": 3 + }, + "span": 366 + }, + { + "kind": { + "Assign": [ + { + "local": 3, + "projection": [] + }, + { + "Ref": [ + { + "kind": "ReErased" + }, + "Shared", + { + "local": 1, + "projection": [ + "Deref", + { + "Field": [ + 0, + 41 + ] + }, + { + "Downcast": 1 + }, + { + "Field": [ + 0, + 32 + ] + } + ] + } + ] + } + ] + }, + "span": 366 + }, + { + "kind": { + "StorageLive": 4 + }, + "span": 367 + }, + { + "kind": { + "Assign": [ + { + "local": 4, + "projection": [] + }, + { + "Ref": [ + { + "kind": "ReErased" + }, + "Shared", + { + "local": 1, + "projection": [ + "Deref", + { + "Field": [ + 0, + 41 + ] + }, + { + "Downcast": 1 + }, + { + "Field": [ + 0, + 32 + ] + } + ] + } + ] + } + ] + }, + "span": 367 + }, + { + "kind": { + "Assign": [ + { + "local": 0, + "projection": [] + }, + { + "Cast": [ + { + "PointerCoercion": "Unsize" + }, + { + "Move": { + "local": 4, + "projection": [] + } + }, + 100 + ] + } + ] + }, + "span": 367 + }, + { + "kind": { + "StorageDead": 4 + }, + "span": 367 + }, + { + "kind": { + "StorageDead": 3 + }, + "span": 367 + } + ], + "terminator": { + "kind": "Return", + "span": 365 + } + } + ], + "locals": [ + { + "mutability": "Mut", + "span": 368, + "ty": 100 + }, + { + "mutability": "Not", + "span": 369, + "ty": 39 + }, + { + "mutability": "Mut", + "span": 370, + "ty": 13 + }, + { + "mutability": "Not", + "span": 366, + "ty": 4 + }, + { + "mutability": "Mut", + "span": 367, + "ty": 4 + }, + { + "mutability": "Mut", + "span": 364, + "ty": 27 + } + ], + "span": 371, + "spread_arg": null, + "var_debug_info": [ + { + "argument_index": 1, + "composite": null, + "name": "self", + "source_info": { + "scope": 0, + "span": 369 + }, + "value": { + "Place": { + "local": 1, + "projection": [] + } + } + }, + { + "argument_index": null, + "composite": null, + "name": "a", + "source_info": { + "scope": 1, + "span": 366 + }, + "value": { + "Place": { + "local": 3, + "projection": [] + } + } + } + ] + } + ], + "id": 28, + "name": " as core::panic::PanicPayload>::get" + } + }, + "symbol_name": "_ZN91_$LT$std..panicking..begin_panic..Payload$LT$A$GT$$u20$as$u20$core..panic..PanicPayload$GT$3get17h7e5b46332dff10e9E" + }, + { + "details": null, + "mono_item_kind": { + "MonoItemFn": { + "body": [ + { + "arg_count": 1, + "blocks": [ + { + "statements": [ + { + "kind": { + "StorageLive": 2 + }, + "span": 373 + }, + { + "kind": { + "StorageLive": 3 + }, + "span": 374 + }, + { + "kind": { + "Assign": [ + { + "local": 3, + "projection": [] + }, + { + "Ref": [ + { + "kind": "ReErased" + }, + { + "Mut": { + "kind": "TwoPhaseBorrow" + } + }, + { + "local": 1, + "projection": [ + "Deref", + { + "Field": [ + 0, + 41 + ] + } + ] + } + ] + } + ] + }, + "span": 374 + }, + { + "kind": { + "Assign": [ + { + "local": 9, + "projection": [] + }, + { + "Aggregate": [ + { + "Adt": [ + 8, + 0, + [ + { + "Type": 32 + } + ], + null, + null + ] + }, + [] + ] + } + ] + }, + "span": 375 + }, + { + "kind": { + "Assign": [ + { + "local": 2, + "projection": [] + }, + { + "Use": { + "Copy": { + "local": 1, + "projection": [ + "Deref", + { + "Field": [ + 0, + 41 + ] + } + ] + } + } + } + ] + }, + "span": 376 + }, + { + "kind": { + "Assign": [ + { + "local": 1, + "projection": [ + "Deref", + { + "Field": [ + 0, + 41 + ] + } + ] + }, + { + "Use": { + "Copy": { + "local": 9, + "projection": [] + } + } + } + ] + }, + "span": 377 + }, + { + "kind": { + "StorageDead": 3 + }, + "span": 378 + }, + { + "kind": { + "Assign": [ + { + "local": 4, + "projection": [] + }, + { + "Discriminant": { + "local": 2, + "projection": [] + } + } + ] + }, + "span": 373 + } + ], + "terminator": { + "kind": { + "SwitchInt": { + "discr": { + "Move": { + "local": 4, + "projection": [] + } + }, + "targets": { + "branches": [ + [ + 0, + 2 + ], + [ + 1, + 3 + ] + ], + "otherwise": 1 + } + } + }, + "span": 372 + } + }, + { + "statements": [], + "terminator": { + "kind": "Unreachable", + "span": 373 + } + }, + { + "statements": [], + "terminator": { + "kind": { + "Call": { + "args": [], + "destination": { + "local": 8, + "projection": [] + }, + "func": { + "Constant": { + "const_": { + "id": 48, + "kind": "ZeroSized", + "ty": 93 + }, + "span": 379, + "user_ty": null + } + }, + "target": null, + "unwind": "Continue" + } + }, + "span": 380 + } + }, + { + "statements": [ + { + "kind": { + "Assign": [ + { + "local": 5, + "projection": [] + }, + { + "Use": { + "Move": { + "local": 2, + "projection": [ + { + "Downcast": 1 + }, + { + "Field": [ + 0, + 32 + ] + } + ] + } + } + } + ] + }, + "span": 383 + }, + { + "kind": { + "StorageLive": 7 + }, + "span": 382 + } + ], + "terminator": { + "kind": { + "Call": { + "args": [ + { + "Move": { + "local": 5, + "projection": [] + } + } + ], + "destination": { + "local": 7, + "projection": [] + }, + "func": { + "Constant": { + "const_": { + "id": 51, + "kind": "ZeroSized", + "ty": 101 + }, + "span": 381, + "user_ty": 0 + } + }, + "target": 4, + "unwind": "Continue" + } + }, + "span": 382 + } + }, + { + "statements": [ + { + "kind": { + "Assign": [ + { + "local": 6, + "projection": [] + }, + { + "Cast": [ + { + "PointerCoercion": "Unsize" + }, + { + "Move": { + "local": 7, + "projection": [] + } + }, + 102 + ] + } + ] + }, + "span": 382 + }, + { + "kind": { + "StorageDead": 7 + }, + "span": 385 + }, + { + "kind": { + "StorageDead": 2 + }, + "span": 386 + }, + { + "kind": { + "StorageLive": 11 + }, + "span": 387 + }, + { + "kind": { + "StorageLive": 15 + }, + "span": 387 + }, + { + "kind": { + "StorageLive": 14 + }, + "span": 387 + }, + { + "kind": { + "StorageLive": 10 + }, + "span": 388 + }, + { + "kind": { + "Assign": [ + { + "local": 10, + "projection": [] + }, + { + "Aggregate": [ + { + "Adt": [ + 30, + 0, + [ + { + "Type": 102 + } + ], + null, + null + ] + }, + [ + { + "Copy": { + "local": 6, + "projection": [] + } + } + ] + ] + } + ] + }, + "span": 389 + }, + { + "kind": { + "Assign": [ + { + "local": 11, + "projection": [] + }, + { + "Ref": [ + { + "kind": "ReErased" + }, + { + "Mut": { + "kind": "Default" + } + }, + { + "local": 10, + "projection": [] + } + ] + } + ] + }, + "span": 390 + }, + { + "kind": { + "Assign": [ + { + "local": 15, + "projection": [] + }, + { + "Use": { + "Copy": { + "local": 10, + "projection": [ + { + "Field": [ + 0, + 102 + ] + }, + { + "Field": [ + 0, + 103 + ] + }, + { + "Field": [ + 0, + 104 + ] + } + ] + } + } + } + ] + }, + "span": 391 + }, + { + "kind": { + "Assign": [ + { + "local": 14, + "projection": [] + }, + { + "Use": { + "Copy": { + "local": 15, + "projection": [ + { + "Field": [ + 0, + 105 + ] + } + ] + } + } + } + ] + }, + "span": 391 + }, + { + "kind": { + "Assign": [ + { + "local": 0, + "projection": [] + }, + { + "AddressOf": [ + "Mut", + { + "local": 14, + "projection": [ + "Deref" + ] + } + ] + } + ] + }, + "span": 391 + }, + { + "kind": { + "StorageLive": 12 + }, + "span": 392 + }, + { + "kind": { + "StorageLive": 13 + }, + "span": 393 + }, + { + "kind": { + "Assign": [ + { + "local": 13, + "projection": [] + }, + { + "Ref": [ + { + "kind": "ReErased" + }, + "Shared", + { + "local": 10, + "projection": [] + } + ] + } + ] + }, + "span": 393 + }, + { + "kind": { + "StorageDead": 13 + }, + "span": 393 + }, + { + "kind": { + "Assign": [ + { + "local": 12, + "projection": [] + }, + { + "AddressOf": [ + "Not", + { + "local": 10, + "projection": [ + { + "Field": [ + 0, + 102 + ] + }, + { + "Field": [ + 1, + 72 + ] + } + ] + } + ] + } + ] + }, + "span": 392 + }, + { + "kind": { + "StorageDead": 12 + }, + "span": 394 + }, + { + "kind": { + "StorageDead": 10 + }, + "span": 395 + }, + { + "kind": { + "StorageDead": 14 + }, + "span": 387 + }, + { + "kind": { + "StorageDead": 15 + }, + "span": 387 + }, + { + "kind": { + "StorageDead": 11 + }, + "span": 387 + } + ], + "terminator": { + "kind": "Return", + "span": 384 + } + } + ], + "locals": [ + { + "mutability": "Mut", + "span": 396, + "ty": 106 + }, + { + "mutability": "Not", + "span": 397, + "ty": 39 + }, + { + "mutability": "Mut", + "span": 373, + "ty": 41 + }, + { + "mutability": "Mut", + "span": 374, + "ty": 107 + }, + { + "mutability": "Mut", + "span": 398, + "ty": 13 + }, + { + "mutability": "Not", + "span": 383, + "ty": 32 + }, + { + "mutability": "Mut", + "span": 399, + "ty": 102 + }, + { + "mutability": "Mut", + "span": 382, + "ty": 92 + }, + { + "mutability": "Mut", + "span": 380, + "ty": 27 + }, + { + "mutability": "Mut", + "span": 375, + "ty": 41 + }, + { + "mutability": "Mut", + "span": 388, + "ty": 108 + }, + { + "mutability": "Mut", + "span": 390, + "ty": 109 + }, + { + "mutability": "Mut", + "span": 392, + "ty": 110 + }, + { + "mutability": "Mut", + "span": 393, + "ty": 111 + }, + { + "mutability": "Mut", + "span": 400, + "ty": 105 + }, + { + "mutability": "Mut", + "span": 400, + "ty": 104 + } + ], + "span": 416, + "spread_arg": null, + "var_debug_info": [ + { + "argument_index": 1, + "composite": null, + "name": "self", + "source_info": { + "scope": 0, + "span": 397 + }, + "value": { + "Place": { + "local": 1, + "projection": [] + } + } + }, + { + "argument_index": null, + "composite": null, + "name": "data", + "source_info": { + "scope": 1, + "span": 401 + }, + "value": { + "Place": { + "local": 6, + "projection": [] + } + } + }, + { + "argument_index": null, + "composite": null, + "name": "a", + "source_info": { + "scope": 2, + "span": 383 + }, + "value": { + "Place": { + "local": 5, + "projection": [] + } + } + }, + { + "argument_index": 1, + "composite": null, + "name": "self", + "source_info": { + "scope": 3, + "span": 402 + }, + "value": { + "Place": { + "local": 3, + "projection": [] + } + } + }, + { + "argument_index": 1, + "composite": null, + "name": "dest", + "source_info": { + "scope": 4, + "span": 403 + }, + "value": { + "Place": { + "local": 3, + "projection": [] + } + } + }, + { + "argument_index": 2, + "composite": null, + "name": "src", + "source_info": { + "scope": 4, + "span": 404 + }, + "value": { + "Place": { + "local": 9, + "projection": [] + } + } + }, + { + "argument_index": null, + "composite": null, + "name": "result", + "source_info": { + "scope": 5, + "span": 405 + }, + "value": { + "Place": { + "local": 2, + "projection": [] + } + } + }, + { + "argument_index": 1, + "composite": null, + "name": "src", + "source_info": { + "scope": 6, + "span": 406 + }, + "value": { + "Place": { + "local": 3, + "projection": [] + } + } + }, + { + "argument_index": 1, + "composite": null, + "name": "dst", + "source_info": { + "scope": 7, + "span": 407 + }, + "value": { + "Place": { + "local": 3, + "projection": [] + } + } + }, + { + "argument_index": 2, + "composite": null, + "name": "src", + "source_info": { + "scope": 7, + "span": 408 + }, + "value": { + "Place": { + "local": 9, + "projection": [] + } + } + }, + { + "argument_index": 1, + "composite": null, + "name": "b", + "source_info": { + "scope": 8, + "span": 409 + }, + "value": { + "Place": { + "local": 6, + "projection": [] + } + } + }, + { + "argument_index": 1, + "composite": null, + "name": "b", + "source_info": { + "scope": 9, + "span": 410 + }, + "value": { + "Place": { + "local": 6, + "projection": [] + } + } + }, + { + "argument_index": null, + "composite": null, + "name": "b", + "source_info": { + "scope": 10, + "span": 388 + }, + "value": { + "Place": { + "local": 10, + "projection": [] + } + } + }, + { + "argument_index": null, + "composite": null, + "name": "ptr", + "source_info": { + "scope": 11, + "span": 411 + }, + "value": { + "Place": { + "local": 0, + "projection": [] + } + } + }, + { + "argument_index": null, + "composite": null, + "name": "alloc", + "source_info": { + "scope": 12, + "span": 412 + }, + "value": { + "Const": { + "const_": { + "id": 52, + "kind": "ZeroSized", + "ty": 72 + }, + "span": 50, + "user_ty": null + } + } + }, + { + "argument_index": 1, + "composite": null, + "name": "value", + "source_info": { + "scope": 13, + "span": 413 + }, + "value": { + "Place": { + "local": 6, + "projection": [] + } + } + }, + { + "argument_index": 1, + "composite": null, + "name": "self", + "source_info": { + "scope": 14, + "span": 414 + }, + "value": { + "Place": { + "local": 11, + "projection": [] + } + } + }, + { + "argument_index": 1, + "composite": null, + "name": "self", + "source_info": { + "scope": 15, + "span": 415 + }, + "value": { + "Place": { + "local": 13, + "projection": [] + } + } + }, + { + "argument_index": 1, + "composite": null, + "name": "src", + "source_info": { + "scope": 16, + "span": 406 + }, + "value": { + "Place": { + "local": 12, + "projection": [] + } + } + } + ] + } + ], + "id": 29, + "name": " as core::panic::PanicPayload>::take_box" + } + }, + "symbol_name": "_ZN91_$LT$std..panicking..begin_panic..Payload$LT$A$GT$$u20$as$u20$core..panic..PanicPayload$GT$8take_box17h38a7afb365d90d28E" + } + ] +}