============ initial translation from Move ================ [variant baseline] public intrinsic fun vector::contains<#0>($t0|v: &vector<#0>, $t1|e: �): bool; [variant baseline] public intrinsic fun vector::index_of<#0>($t0|v: &vector<#0>, $t1|e: �): (bool, u64); [variant baseline] public intrinsic fun vector::append<#0>($t0|lhs: &mut vector<#0>, $t1|other: vector<#0>); [variant baseline] public native fun vector::borrow<#0>($t0|v: &vector<#0>, $t1|i: u64): � [variant baseline] public native fun vector::borrow_mut<#0>($t0|v: &mut vector<#0>, $t1|i: u64): &mut #0; [variant baseline] public native fun vector::destroy_empty<#0>($t0|v: vector<#0>); [variant baseline] public native fun vector::empty<#0>(): vector<#0>; [variant baseline] public intrinsic fun vector::is_empty<#0>($t0|v: &vector<#0>): bool; [variant baseline] public native fun vector::length<#0>($t0|v: &vector<#0>): u64; [variant baseline] public native fun vector::pop_back<#0>($t0|v: &mut vector<#0>): #0; [variant baseline] public native fun vector::push_back<#0>($t0|v: &mut vector<#0>, $t1|e: #0); [variant baseline] public intrinsic fun vector::remove<#0>($t0|v: &mut vector<#0>, $t1|i: u64): #0; [variant baseline] public intrinsic fun vector::reverse<#0>($t0|v: &mut vector<#0>); [variant baseline] public fun vector::singleton<#0>($t0|e: #0): vector<#0> { var $t1|v: vector<#0> var $t2: vector<#0> var $t3: &mut vector<#0> var $t4: #0 var $t5: vector<#0> 0: $t2 := vector::empty<#0>() 1: $t1 := $t2 2: $t3 := borrow_local($t1) 3: $t4 := move($t0) 4: vector::push_back<#0>($t3, $t4) 5: $t5 := move($t1) 6: return $t5 } [variant baseline] public native fun vector::swap<#0>($t0|v: &mut vector<#0>, $t1|i: u64, $t2|j: u64); [variant baseline] public intrinsic fun vector::swap_remove<#0>($t0|v: &mut vector<#0>, $t1|i: u64): #0; [variant baseline] fun ReadVector::extract_addr_from_vec($t0|s: ReadVector::S): address { var $t1|a: vector
var $t2: ReadVector::S var $t3: vector
var $t4: &vector
var $t5: u64 var $t6: &address var $t7: address 0: $t2 := move($t0) 1: $t3 := unpack ReadVector::S($t2) 2: $t1 := $t3 3: $t4 := borrow_local($t1) 4: $t5 := 0 5: $t6 := vector::borrow
($t4, $t5) 6: $t7 := read_ref($t6) 7: return $t7 } [variant baseline] fun ReadVector::read_addr_from_vec($t0|s: ReadVector::S): bool { var $t1|a: address var $t2: ReadVector::S var $t3: address var $t4: address var $t5: &ReadVector::Glob var $t6: &bool var $t7: bool 0: $t2 := move($t0) 1: $t3 := ReadVector::extract_addr_from_vec($t2) 2: $t1 := $t3 3: $t4 := move($t1) 4: $t5 := borrow_global($t4) 5: $t6 := borrow_field.b($t5) 6: $t7 := read_ref($t6) 7: return $t7 } ============ after pipeline `read_write_set` ================ [variant baseline] public intrinsic fun vector::contains<#0>($t0|v: &vector<#0>, $t1|e: �): bool; [variant baseline] public intrinsic fun vector::index_of<#0>($t0|v: &vector<#0>, $t1|e: �): (bool, u64); [variant baseline] public intrinsic fun vector::append<#0>($t0|lhs: &mut vector<#0>, $t1|other: vector<#0>); [variant baseline] public native fun vector::borrow<#0>($t0|v: &vector<#0>, $t1|i: u64): � [variant baseline] public native fun vector::borrow_mut<#0>($t0|v: &mut vector<#0>, $t1|i: u64): &mut #0; [variant baseline] public native fun vector::destroy_empty<#0>($t0|v: vector<#0>); [variant baseline] public native fun vector::empty<#0>(): vector<#0>; [variant baseline] public intrinsic fun vector::is_empty<#0>($t0|v: &vector<#0>): bool; [variant baseline] public native fun vector::length<#0>($t0|v: &vector<#0>): u64; [variant baseline] public native fun vector::pop_back<#0>($t0|v: &mut vector<#0>): #0; [variant baseline] public native fun vector::push_back<#0>($t0|v: &mut vector<#0>, $t1|e: #0); [variant baseline] public intrinsic fun vector::remove<#0>($t0|v: &mut vector<#0>, $t1|i: u64): #0; [variant baseline] public intrinsic fun vector::reverse<#0>($t0|v: &mut vector<#0>); [variant baseline] public fun vector::singleton<#0>($t0|e: #0): vector<#0> { var $t1|v: vector<#0> var $t2: vector<#0> var $t3: &mut vector<#0> var $t4: #0 var $t5: vector<#0> # Accesses: # Formal(0): Read # # Locals: # 0: $t2 := vector::empty<#0>() 1: $t1 := $t2 2: $t3 := borrow_local($t1) 3: $t4 := move($t0) 4: vector::push_back<#0>($t3, $t4) 5: $t5 := move($t1) 6: return $t5 } [variant baseline] public native fun vector::swap<#0>($t0|v: &mut vector<#0>, $t1|i: u64, $t2|j: u64); [variant baseline] public intrinsic fun vector::swap_remove<#0>($t0|v: &mut vector<#0>, $t1|i: u64): #0; [variant baseline] fun ReadVector::extract_addr_from_vec($t0|s: ReadVector::S): address { var $t1|a: vector
var $t2: ReadVector::S var $t3: vector
var $t4: &vector
var $t5: u64 var $t6: &address var $t7: address # Accesses: # Formal(0): Read # Formal(0)/a: Read # Formal(0)/a/[_]: Read # # Locals: # Ret(0): Formal(0)/a/[_] # 0: $t2 := move($t0) 1: $t3 := unpack ReadVector::S($t2) 2: $t1 := $t3 3: $t4 := borrow_local($t1) 4: $t5 := 0 5: $t6 := vector::borrow
($t4, $t5) 6: $t7 := read_ref($t6) 7: return $t7 } [variant baseline] fun ReadVector::read_addr_from_vec($t0|s: ReadVector::S): bool { var $t1|a: address var $t2: ReadVector::S var $t3: address var $t4: address var $t5: &ReadVector::Glob var $t6: &bool var $t7: bool # Accesses: # Formal(0): Read # Formal(0)/a: Read # Formal(0)/a/[_]: Read # Formal(0)/a/[_]/0x2::ReadVector::Glob/b: Read # # Locals: # Ret(0): Formal(0)/a/[_]/0x2::ReadVector::Glob/b # 0: $t2 := move($t0) 1: $t3 := ReadVector::extract_addr_from_vec($t2) 2: $t1 := $t3 3: $t4 := move($t1) 4: $t5 := borrow_global($t4) 5: $t6 := borrow_field.b($t5) 6: $t7 := read_ref($t6) 7: return $t7 }