vec_map
Module0x0000…0002
- Move path
- 0x0000…0002::vec_map
- Functions
- 2020 public, 0 entry
- Structs
- 2
- Friend modules
- None
vec_map
- accumulator18
- accumulator_metadata2
- accumulator_settlement8
- address10
- address_alias5
- allowance40
- authenticator_state13
- bag10
- balance18
- bcs30
- bls1238143
- borrow4
- clock3
- coin54
- coin_registry43
- config11
- deny_list21
- derived_object3
- display14
- display_registry18
- dynamic_field19
- dynamic_object_field15
- ecdsa_k13
- ecdsa_r12
- ecvrf1
- ed255191
- event3
- forwarding_address1
- funds_accumulator12
- groth1610
- group_ops23
- hash2
- hex3
- hmac1
- kiosk41
- kiosk_extension14
- linked_table19
- math7
- nitro_attestation11
- object32
- object_bag11
- object_table10
- package26
- party5
- pay8
- poseidon2
- priority_queue8
- protocol_config1
- prover0
- random20
- rangeproofs3
- ristretto25518
- scratch18
- sui2
- table10
- table_vec12
- token45
- transfer16
- transfer_policy18
- tx_context19
- types1
- url4
- vdf4
- vec_map20
- vec_set11
- versioned7
- zklogin_verified_id9
- zklogin_verified_issuer6
Bytecode660 lines
The on-chain disassembly. Offsets are bytecode positions within each function.
// Move bytecode v7
module 2.vec_map {
use 0000000000000000000000000000000000000000000000000000000000000001::option;
use 0000000000000000000000000000000000000000000000000000000000000001::vector;
struct VecMap<Ty0: copy, Ty1> has copy, drop, store {
contents: vector<Entry<Ty0, Ty1>>
}
struct Entry<Ty0: copy, Ty1> has copy, drop, store {
key: Ty0,
value: Ty1
}
public empty<Ty0: copy, Ty1>(): VecMap<Ty0, Ty1> {
B0:
0VecPack(20, 0)
1PackGeneric[0](VecMap<Ty0, Ty1>)
2Ret
}
public insert<Ty0: copy, Ty1>(Arg0: &mut VecMap<Ty0, Ty1>, Arg1: Ty0, Arg2: Ty1) {
B0:
0CopyLoc[0](Arg0: &mut VecMap<Ty0, Ty1>)
1FreezeRef
2ImmBorrowLoc[1](Arg1: Ty0)
3Call contains<Ty0, Ty1>(&VecMap<Ty0, Ty1>, &Ty0): bool
4Not
5BrFalse(7)
B1:
6Branch(11)
B2:
7MoveLoc[0](Arg0: &mut VecMap<Ty0, Ty1>)
8Pop
9LdConst[0](u64: 0)
10Abort
B3:
11MoveLoc[0](Arg0: &mut VecMap<Ty0, Ty1>)
12MutBorrowFieldGeneric[0](VecMap.contents: vector<Entry<Ty0, Ty1>>)
13MoveLoc[1](Arg1: Ty0)
14MoveLoc[2](Arg2: Ty1)
15PackGeneric[1](Entry<Ty0, Ty1>)
16VecPushBack(20)
17Ret
}
public remove<Ty0: copy, Ty1>(Arg0: &mut VecMap<Ty0, Ty1>, Arg1: &Ty0): Ty0 * Ty1 {
L2: loc0: u64
B0:
0CopyLoc[0](Arg0: &mut VecMap<Ty0, Ty1>)
1FreezeRef
2MoveLoc[1](Arg1: &Ty0)
3Call get_idx<Ty0, Ty1>(&VecMap<Ty0, Ty1>, &Ty0): u64
4StLoc[2](loc0: u64)
5MoveLoc[0](Arg0: &mut VecMap<Ty0, Ty1>)
6MutBorrowFieldGeneric[0](VecMap.contents: vector<Entry<Ty0, Ty1>>)
7MoveLoc[2](loc0: u64)
8Call vector::remove<Entry<Ty0, Ty1>>(&mut vector<Entry<Ty0, Ty1>>, u64): Entry<Ty0, Ty1>
9UnpackGeneric[1](Entry<Ty0, Ty1>)
10Ret
}
public pop<Ty0: copy, Ty1>(Arg0: &mut VecMap<Ty0, Ty1>): Ty0 * Ty1 {
B0:
0CopyLoc[0](Arg0: &mut VecMap<Ty0, Ty1>)
1ImmBorrowFieldGeneric[0](VecMap.contents: vector<Entry<Ty0, Ty1>>)
2VecLen(20)
3LdU64(0)
4Neq
5BrFalse(7)
B1:
6Branch(11)
B2:
7MoveLoc[0](Arg0: &mut VecMap<Ty0, Ty1>)
8Pop
9LdConst[4](u64: 4)
10Abort
B3:
11MoveLoc[0](Arg0: &mut VecMap<Ty0, Ty1>)
12MutBorrowFieldGeneric[0](VecMap.contents: vector<Entry<Ty0, Ty1>>)
13VecPopBack(20)
14UnpackGeneric[1](Entry<Ty0, Ty1>)
15Ret
}
public get_mut<Ty0: copy, Ty1>(Arg0: &mut VecMap<Ty0, Ty1>, Arg1: &Ty0): &mut Ty1 {
L2: loc0: u64
B0:
0CopyLoc[0](Arg0: &mut VecMap<Ty0, Ty1>)
1FreezeRef
2MoveLoc[1](Arg1: &Ty0)
3Call get_idx<Ty0, Ty1>(&VecMap<Ty0, Ty1>, &Ty0): u64
4StLoc[2](loc0: u64)
5MoveLoc[0](Arg0: &mut VecMap<Ty0, Ty1>)
6MutBorrowFieldGeneric[0](VecMap.contents: vector<Entry<Ty0, Ty1>>)
7MoveLoc[2](loc0: u64)
8VecMutBorrow(20)
9MutBorrowFieldGeneric[1](Entry.value: Ty1)
10Ret
}
public get<Ty0: copy, Ty1>(Arg0: &VecMap<Ty0, Ty1>, Arg1: &Ty0): &Ty1 {
L2: loc0: u64
B0:
0CopyLoc[0](Arg0: &VecMap<Ty0, Ty1>)
1MoveLoc[1](Arg1: &Ty0)
2Call get_idx<Ty0, Ty1>(&VecMap<Ty0, Ty1>, &Ty0): u64
3StLoc[2](loc0: u64)
4MoveLoc[0](Arg0: &VecMap<Ty0, Ty1>)
5ImmBorrowFieldGeneric[0](VecMap.contents: vector<Entry<Ty0, Ty1>>)
6MoveLoc[2](loc0: u64)
7VecImmBorrow(20)
8ImmBorrowFieldGeneric[1](Entry.value: Ty1)
9Ret
}
public try_get<Ty0: copy, Ty1: copy>(Arg0: &VecMap<Ty0, Ty1>, Arg1: &Ty0): Option<Ty1> {
L2: loc0: Option<Ty1>
B0:
0CopyLoc[0](Arg0: &VecMap<Ty0, Ty1>)
1CopyLoc[1](Arg1: &Ty0)
2Call contains<Ty0, Ty1>(&VecMap<Ty0, Ty1>, &Ty0): bool
3BrFalse(11)
B1:
4MoveLoc[0](Arg0: &VecMap<Ty0, Ty1>)
5MoveLoc[1](Arg1: &Ty0)
6Call get<Ty0, Ty1>(&VecMap<Ty0, Ty1>, &Ty0): &Ty1
7ReadRef
8Call option::some<Ty1>(Ty1): Option<Ty1>
9StLoc[2](loc0: Option<Ty1>)
10Branch(17)
B2:
11MoveLoc[0](Arg0: &VecMap<Ty0, Ty1>)
12Pop
13MoveLoc[1](Arg1: &Ty0)
14Pop
15Call option::none<Ty1>(): Option<Ty1>
16StLoc[2](loc0: Option<Ty1>)
B3:
17MoveLoc[2](loc0: Option<Ty1>)
18Ret
}
public contains<Ty0: copy, Ty1>(Arg0: &VecMap<Ty0, Ty1>, Arg1: &Ty0): bool {
L2: loc0: Option<u64>
B0:
0MoveLoc[0](Arg0: &VecMap<Ty0, Ty1>)
1MoveLoc[1](Arg1: &Ty0)
2Call get_idx_opt<Ty0, Ty1>(&VecMap<Ty0, Ty1>, &Ty0): Option<u64>
3StLoc[2](loc0: Option<u64>)
4ImmBorrowLoc[2](loc0: Option<u64>)
5Call option::is_some<u64>(&Option<u64>): bool
6Ret
}
public length<Ty0: copy, Ty1>(Arg0: &VecMap<Ty0, Ty1>): u64 {
B0:
0MoveLoc[0](Arg0: &VecMap<Ty0, Ty1>)
1ImmBorrowFieldGeneric[0](VecMap.contents: vector<Entry<Ty0, Ty1>>)
2VecLen(20)
3Ret
}
public is_empty<Ty0: copy, Ty1>(Arg0: &VecMap<Ty0, Ty1>): bool {
B0:
0MoveLoc[0](Arg0: &VecMap<Ty0, Ty1>)
1Call length<Ty0, Ty1>(&VecMap<Ty0, Ty1>): u64
2LdU64(0)
3Eq
4Ret
}
public destroy_empty<Ty0: copy, Ty1>(Arg0: VecMap<Ty0, Ty1>) {
L1: loc0: vector<Entry<Ty0, Ty1>>
B0:
0MoveLoc[0](Arg0: VecMap<Ty0, Ty1>)
1UnpackGeneric[0](VecMap<Ty0, Ty1>)
2StLoc[1](loc0: vector<Entry<Ty0, Ty1>>)
3ImmBorrowLoc[1](loc0: vector<Entry<Ty0, Ty1>>)
4Call vector::is_empty<Entry<Ty0, Ty1>>(&vector<Entry<Ty0, Ty1>>): bool
5BrFalse(7)
B1:
6Branch(9)
B2:
7LdConst[2](u64: 2)
8Abort
B3:
9MoveLoc[1](loc0: vector<Entry<Ty0, Ty1>>)
10VecUnpack(20, 0)
11Ret
}
public into_keys_values<Ty0: copy, Ty1>(Arg0: VecMap<Ty0, Ty1>): vector<Ty0> * vector<Ty1> {
L1: loc0: u64
L2: loc1: vector<Entry<Ty0, Ty1>>
L3: loc2: u64
L4: loc3: Ty0
L5: loc4: vector<Ty0>
L6: loc5: u64
L7: loc6: vector<Entry<Ty0, Ty1>>
L8: loc7: Ty1
L9: loc8: vector<Ty1>
B0:
0MoveLoc[0](Arg0: VecMap<Ty0, Ty1>)
1UnpackGeneric[0](VecMap<Ty0, Ty1>)
2StLoc[2](loc1: vector<Entry<Ty0, Ty1>>)
3VecPack(22, 0)
4StLoc[5](loc4: vector<Ty0>)
5VecPack(23, 0)
6StLoc[9](loc8: vector<Ty1>)
7MoveLoc[2](loc1: vector<Entry<Ty0, Ty1>>)
8StLoc[7](loc6: vector<Entry<Ty0, Ty1>>)
9MutBorrowLoc[7](loc6: vector<Entry<Ty0, Ty1>>)
10Call vector::reverse<Entry<Ty0, Ty1>>(&mut vector<Entry<Ty0, Ty1>>)
11ImmBorrowLoc[7](loc6: vector<Entry<Ty0, Ty1>>)
12VecLen(20)
13StLoc[1](loc0: u64)
14LdU64(0)
15StLoc[3](loc2: u64)
16MoveLoc[1](loc0: u64)
17StLoc[6](loc5: u64)
B1:
18CopyLoc[3](loc2: u64)
19CopyLoc[6](loc5: u64)
20Lt
21BrFalse(40)
B2:
22CopyLoc[3](loc2: u64)
23Pop
24MutBorrowLoc[7](loc6: vector<Entry<Ty0, Ty1>>)
25VecPopBack(20)
26UnpackGeneric[1](Entry<Ty0, Ty1>)
27StLoc[8](loc7: Ty1)
28StLoc[4](loc3: Ty0)
29MutBorrowLoc[5](loc4: vector<Ty0>)
30MoveLoc[4](loc3: Ty0)
31VecPushBack(22)
32MutBorrowLoc[9](loc8: vector<Ty1>)
33MoveLoc[8](loc7: Ty1)
34VecPushBack(23)
35MoveLoc[3](loc2: u64)
36LdU64(1)
37Add
38StLoc[3](loc2: u64)
39Branch(18)
B3:
40MoveLoc[7](loc6: vector<Entry<Ty0, Ty1>>)
41VecUnpack(20, 0)
42MoveLoc[5](loc4: vector<Ty0>)
43MoveLoc[9](loc8: vector<Ty1>)
44Ret
}
public from_keys_values<Ty0: copy, Ty1>(Arg0: vector<Ty0>, Arg1: vector<Ty1>): VecMap<Ty0, Ty1> {
L2: loc0: u64
L3: loc1: VecMap<Ty0, Ty1>
L4: loc2: u64
L5: loc3: Ty0
L6: loc4: u64
L7: loc5: vector<Ty0>
L8: loc6: vector<Ty0>
L9: loc7: vector<Ty1>
L10: loc8: Ty1
B0:
0ImmBorrowLoc[0](Arg0: vector<Ty0>)
1VecLen(22)
2ImmBorrowLoc[1](Arg1: vector<Ty1>)
3VecLen(23)
4Eq
5BrFalse(7)
B1:
6Branch(9)
B2:
7LdConst[5](u64: 5)
8Abort
B3:
9VecPack(20, 0)
10PackGeneric[0](VecMap<Ty0, Ty1>)
11StLoc[3](loc1: VecMap<Ty0, Ty1>)
12MoveLoc[0](Arg0: vector<Ty0>)
13StLoc[8](loc6: vector<Ty0>)
14MoveLoc[1](Arg1: vector<Ty1>)
15StLoc[9](loc7: vector<Ty1>)
16MutBorrowLoc[9](loc7: vector<Ty1>)
17Call vector::reverse<Ty1>(&mut vector<Ty1>)
18ImmBorrowLoc[8](loc6: vector<Ty0>)
19VecLen(22)
20ImmBorrowLoc[9](loc7: vector<Ty1>)
21VecLen(23)
22Eq
23BrFalse(25)
B4:
24Branch(27)
B5:
25LdU64(13906834771343835135)
26Abort
B6:
27MoveLoc[8](loc6: vector<Ty0>)
28StLoc[7](loc5: vector<Ty0>)
29MutBorrowLoc[7](loc5: vector<Ty0>)
30Call vector::reverse<Ty0>(&mut vector<Ty0>)
31ImmBorrowLoc[7](loc5: vector<Ty0>)
32VecLen(22)
33StLoc[2](loc0: u64)
34LdU64(0)
35StLoc[4](loc2: u64)
36MoveLoc[2](loc0: u64)
37StLoc[6](loc4: u64)
B7:
38CopyLoc[4](loc2: u64)
39CopyLoc[6](loc4: u64)
40Lt
41BrFalse(59)
B8:
42CopyLoc[4](loc2: u64)
43Pop
44MutBorrowLoc[7](loc5: vector<Ty0>)
45VecPopBack(22)
46StLoc[5](loc3: Ty0)
47MutBorrowLoc[9](loc7: vector<Ty1>)
48VecPopBack(23)
49StLoc[10](loc8: Ty1)
50MutBorrowLoc[3](loc1: VecMap<Ty0, Ty1>)
51MoveLoc[5](loc3: Ty0)
52MoveLoc[10](loc8: Ty1)
53Call insert<Ty0, Ty1>(&mut VecMap<Ty0, Ty1>, Ty0, Ty1)
54MoveLoc[4](loc2: u64)
55LdU64(1)
56Add
57StLoc[4](loc2: u64)
58Branch(38)
B9:
59MoveLoc[7](loc5: vector<Ty0>)
60VecUnpack(22, 0)
61MoveLoc[9](loc7: vector<Ty1>)
62VecUnpack(23, 0)
63MoveLoc[3](loc1: VecMap<Ty0, Ty1>)
64Ret
}
public keys<Ty0: copy, Ty1>(Arg0: &VecMap<Ty0, Ty1>): vector<Ty0> {
L1: loc0: u64
L2: loc1: &Entry<Ty0, Ty1>
L3: loc2: Ty0
L4: loc3: &mut vector<Ty0>
L5: loc4: &Entry<Ty0, Ty1>
L6: loc5: u64
L7: loc6: u64
L8: loc7: &Ty0
L9: loc8: vector<Ty0>
L10: loc9: u64
L11: loc10: &vector<Entry<Ty0, Ty1>>
L12: loc11: &vector<Entry<Ty0, Ty1>>
B0:
0MoveLoc[0](Arg0: &VecMap<Ty0, Ty1>)
1ImmBorrowFieldGeneric[0](VecMap.contents: vector<Entry<Ty0, Ty1>>)
2StLoc[11](loc10: &vector<Entry<Ty0, Ty1>>)
3VecPack(22, 0)
4StLoc[9](loc8: vector<Ty0>)
5MoveLoc[11](loc10: &vector<Entry<Ty0, Ty1>>)
6StLoc[12](loc11: &vector<Entry<Ty0, Ty1>>)
7CopyLoc[12](loc11: &vector<Entry<Ty0, Ty1>>)
8VecLen(20)
9StLoc[1](loc0: u64)
10LdU64(0)
11StLoc[7](loc6: u64)
12MoveLoc[1](loc0: u64)
13StLoc[10](loc9: u64)
B1:
14CopyLoc[7](loc6: u64)
15CopyLoc[10](loc9: u64)
16Lt
17BrFalse(45)
B2:
18CopyLoc[7](loc6: u64)
19StLoc[6](loc5: u64)
20CopyLoc[12](loc11: &vector<Entry<Ty0, Ty1>>)
21MoveLoc[6](loc5: u64)
22VecImmBorrow(20)
23StLoc[5](loc4: &Entry<Ty0, Ty1>)
24MutBorrowLoc[9](loc8: vector<Ty0>)
25StLoc[4](loc3: &mut vector<Ty0>)
26MoveLoc[5](loc4: &Entry<Ty0, Ty1>)
27StLoc[2](loc1: &Entry<Ty0, Ty1>)
28CopyLoc[2](loc1: &Entry<Ty0, Ty1>)
29ImmBorrowFieldGeneric[2](Entry.key: Ty0)
30StLoc[8](loc7: &Ty0)
31MoveLoc[2](loc1: &Entry<Ty0, Ty1>)
32ImmBorrowFieldGeneric[1](Entry.value: Ty1)
33Pop
34MoveLoc[8](loc7: &Ty0)
35ReadRef
36StLoc[3](loc2: Ty0)
37MoveLoc[4](loc3: &mut vector<Ty0>)
38MoveLoc[3](loc2: Ty0)
39VecPushBack(22)
40MoveLoc[7](loc6: u64)
41LdU64(1)
42Add
43StLoc[7](loc6: u64)
44Branch(14)
B3:
45MoveLoc[12](loc11: &vector<Entry<Ty0, Ty1>>)
46Pop
47MoveLoc[9](loc8: vector<Ty0>)
48Ret
}
public get_idx_opt<Ty0: copy, Ty1>(Arg0: &VecMap<Ty0, Ty1>, Arg1: &Ty0): Option<u64> {
L2: loc0: u64
L3: loc1: Option<u64>
L4: loc2: &Entry<Ty0, Ty1>
L5: loc3: u64
L6: loc4: u64
L7: loc5: &Ty0
L8: loc6: u64
L9: loc7: &vector<Entry<Ty0, Ty1>>
B0:
0MoveLoc[0](Arg0: &VecMap<Ty0, Ty1>)
1ImmBorrowFieldGeneric[0](VecMap.contents: vector<Entry<Ty0, Ty1>>)
2StLoc[9](loc7: &vector<Entry<Ty0, Ty1>>)
3CopyLoc[9](loc7: &vector<Entry<Ty0, Ty1>>)
4VecLen(20)
5StLoc[2](loc0: u64)
6LdU64(0)
7StLoc[5](loc3: u64)
8MoveLoc[2](loc0: u64)
9StLoc[8](loc6: u64)
B1:
10CopyLoc[5](loc3: u64)
11CopyLoc[8](loc6: u64)
12Lt
13BrFalse(43)
B2:
14CopyLoc[5](loc3: u64)
15StLoc[6](loc4: u64)
16CopyLoc[9](loc7: &vector<Entry<Ty0, Ty1>>)
17CopyLoc[6](loc4: u64)
18VecImmBorrow(20)
19StLoc[4](loc2: &Entry<Ty0, Ty1>)
20CopyLoc[4](loc2: &Entry<Ty0, Ty1>)
21ImmBorrowFieldGeneric[2](Entry.key: Ty0)
22StLoc[7](loc5: &Ty0)
23MoveLoc[4](loc2: &Entry<Ty0, Ty1>)
24ImmBorrowFieldGeneric[1](Entry.value: Ty1)
25Pop
26MoveLoc[7](loc5: &Ty0)
27CopyLoc[1](Arg1: &Ty0)
28Eq
29BrFalse(38)
B3:
30MoveLoc[9](loc7: &vector<Entry<Ty0, Ty1>>)
31Pop
32MoveLoc[1](Arg1: &Ty0)
33Pop
34MoveLoc[6](loc4: u64)
35Call option::some<u64>(u64): Option<u64>
36StLoc[3](loc1: Option<u64>)
37Branch(49)
B4:
38MoveLoc[5](loc3: u64)
39LdU64(1)
40Add
41StLoc[5](loc3: u64)
42Branch(10)
B5:
43MoveLoc[9](loc7: &vector<Entry<Ty0, Ty1>>)
44Pop
45MoveLoc[1](Arg1: &Ty0)
46Pop
47Call option::none<u64>(): Option<u64>
48StLoc[3](loc1: Option<u64>)
B6:
49MoveLoc[3](loc1: Option<u64>)
50Ret
}
public get_idx<Ty0: copy, Ty1>(Arg0: &VecMap<Ty0, Ty1>, Arg1: &Ty0): u64 {
L2: loc0: u64
L3: loc1: Option<u64>
L4: loc2: &Entry<Ty0, Ty1>
L5: loc3: u64
L6: loc4: u64
L7: loc5: &Ty0
L8: loc6: Option<u64>
L9: loc7: u64
L10: loc8: &vector<Entry<Ty0, Ty1>>
B0:
0MoveLoc[0](Arg0: &VecMap<Ty0, Ty1>)
1ImmBorrowFieldGeneric[0](VecMap.contents: vector<Entry<Ty0, Ty1>>)
2StLoc[10](loc8: &vector<Entry<Ty0, Ty1>>)
3CopyLoc[10](loc8: &vector<Entry<Ty0, Ty1>>)
4VecLen(20)
5StLoc[2](loc0: u64)
6LdU64(0)
7StLoc[5](loc3: u64)
8MoveLoc[2](loc0: u64)
9StLoc[9](loc7: u64)
B1:
10CopyLoc[5](loc3: u64)
11CopyLoc[9](loc7: u64)
12Lt
13BrFalse(43)
B2:
14CopyLoc[5](loc3: u64)
15StLoc[6](loc4: u64)
16CopyLoc[10](loc8: &vector<Entry<Ty0, Ty1>>)
17CopyLoc[6](loc4: u64)
18VecImmBorrow(20)
19StLoc[4](loc2: &Entry<Ty0, Ty1>)
20CopyLoc[4](loc2: &Entry<Ty0, Ty1>)
21ImmBorrowFieldGeneric[2](Entry.key: Ty0)
22StLoc[7](loc5: &Ty0)
23MoveLoc[4](loc2: &Entry<Ty0, Ty1>)
24ImmBorrowFieldGeneric[1](Entry.value: Ty1)
25Pop
26MoveLoc[7](loc5: &Ty0)
27CopyLoc[1](Arg1: &Ty0)
28Eq
29BrFalse(38)
B3:
30MoveLoc[10](loc8: &vector<Entry<Ty0, Ty1>>)
31Pop
32MoveLoc[1](Arg1: &Ty0)
33Pop
34MoveLoc[6](loc4: u64)
35Call option::some<u64>(u64): Option<u64>
36StLoc[3](loc1: Option<u64>)
37Branch(49)
B4:
38MoveLoc[5](loc3: u64)
39LdU64(1)
40Add
41StLoc[5](loc3: u64)
42Branch(10)
B5:
43MoveLoc[10](loc8: &vector<Entry<Ty0, Ty1>>)
44Pop
45MoveLoc[1](Arg1: &Ty0)
46Pop
47Call option::none<u64>(): Option<u64>
48StLoc[3](loc1: Option<u64>)
B6:
49MoveLoc[3](loc1: Option<u64>)
50StLoc[8](loc6: Option<u64>)
51ImmBorrowLoc[8](loc6: Option<u64>)
52Call option::is_some<u64>(&Option<u64>): bool
53BrFalse(55)
B7:
54Branch(59)
B8:
55MoveLoc[8](loc6: Option<u64>)
56Call option::destroy_none<u64>(Option<u64>)
57LdConst[1](u64: 1)
58Abort
B9:
59MoveLoc[8](loc6: Option<u64>)
60Call option::destroy_some<u64>(Option<u64>): u64
61Ret
}
public get_entry_by_idx<Ty0: copy, Ty1>(Arg0: &VecMap<Ty0, Ty1>, Arg1: u64): &Ty0 * &Ty1 {
L2: loc0: &Entry<Ty0, Ty1>
B0:
0CopyLoc[1](Arg1: u64)
1CopyLoc[0](Arg0: &VecMap<Ty0, Ty1>)
2Call length<Ty0, Ty1>(&VecMap<Ty0, Ty1>): u64
3Lt
4BrFalse(6)
B1:
5Branch(10)
B2:
6MoveLoc[0](Arg0: &VecMap<Ty0, Ty1>)
7Pop
8LdConst[3](u64: 3)
9Abort
B3:
10MoveLoc[0](Arg0: &VecMap<Ty0, Ty1>)
11ImmBorrowFieldGeneric[0](VecMap.contents: vector<Entry<Ty0, Ty1>>)
12MoveLoc[1](Arg1: u64)
13VecImmBorrow(20)
14StLoc[2](loc0: &Entry<Ty0, Ty1>)
15CopyLoc[2](loc0: &Entry<Ty0, Ty1>)
16ImmBorrowFieldGeneric[2](Entry.key: Ty0)
17MoveLoc[2](loc0: &Entry<Ty0, Ty1>)
18ImmBorrowFieldGeneric[1](Entry.value: Ty1)
19Ret
}
public get_entry_by_idx_mut<Ty0: copy, Ty1>(Arg0: &mut VecMap<Ty0, Ty1>, Arg1: u64): &Ty0 * &mut Ty1 {
L2: loc0: &mut Entry<Ty0, Ty1>
B0:
0CopyLoc[1](Arg1: u64)
1CopyLoc[0](Arg0: &mut VecMap<Ty0, Ty1>)
2FreezeRef
3Call length<Ty0, Ty1>(&VecMap<Ty0, Ty1>): u64
4Lt
5BrFalse(7)
B1:
6Branch(11)
B2:
7MoveLoc[0](Arg0: &mut VecMap<Ty0, Ty1>)
8Pop
9LdConst[3](u64: 3)
10Abort
B3:
11MoveLoc[0](Arg0: &mut VecMap<Ty0, Ty1>)
12MutBorrowFieldGeneric[0](VecMap.contents: vector<Entry<Ty0, Ty1>>)
13MoveLoc[1](Arg1: u64)
14VecMutBorrow(20)
15StLoc[2](loc0: &mut Entry<Ty0, Ty1>)
16CopyLoc[2](loc0: &mut Entry<Ty0, Ty1>)
17ImmBorrowFieldGeneric[2](Entry.key: Ty0)
18MoveLoc[2](loc0: &mut Entry<Ty0, Ty1>)
19MutBorrowFieldGeneric[1](Entry.value: Ty1)
20Ret
}
public remove_entry_by_idx<Ty0: copy, Ty1>(Arg0: &mut VecMap<Ty0, Ty1>, Arg1: u64): Ty0 * Ty1 {
B0:
0CopyLoc[1](Arg1: u64)
1CopyLoc[0](Arg0: &mut VecMap<Ty0, Ty1>)
2FreezeRef
3Call length<Ty0, Ty1>(&VecMap<Ty0, Ty1>): u64
4Lt
5BrFalse(7)
B1:
6Branch(11)
B2:
7MoveLoc[0](Arg0: &mut VecMap<Ty0, Ty1>)
8Pop
9LdConst[3](u64: 3)
10Abort
B3:
11MoveLoc[0](Arg0: &mut VecMap<Ty0, Ty1>)
12MutBorrowFieldGeneric[0](VecMap.contents: vector<Entry<Ty0, Ty1>>)
13MoveLoc[1](Arg1: u64)
14Call vector::remove<Entry<Ty0, Ty1>>(&mut vector<Entry<Ty0, Ty1>>, u64): Entry<Ty0, Ty1>
15UnpackGeneric[1](Entry<Ty0, Ty1>)
16Ret
}
public size<Ty0: copy, Ty1>(Arg0: &VecMap<Ty0, Ty1>): u64 {
B0:
0MoveLoc[0](Arg0: &VecMap<Ty0, Ty1>)
1ImmBorrowFieldGeneric[0](VecMap.contents: vector<Entry<Ty0, Ty1>>)
2VecLen(20)
3Ret
}
Constants [
0 => u64: 0
1 => u64: 1
2 => u64: 2
3 => u64: 3
4 => u64: 4
5 => u64: 5
]
}