Implement new hash and commit functions (#2415)

* refactor hash -> hash_to_field

* refactor commit -> commit_to_field

* implement commit_to_address

* implement hash_to_address

* update hash and commit examples

* implement hash_to_scalar

* update tests

* implement bhp hash to integer variants

* implement bhp pedersen and poseidon integer variants

* Update compiler/passes/src/type_checking/checker.rs

Signed-off-by: Collin Chin <16715212+collinc97@users.noreply.github.com>

* Update compiler/passes/src/type_checking/checker.rs

Co-authored-by: Alessandro Coglio <coglio@kestrel.edu>
Signed-off-by: Collin Chin <16715212+collinc97@users.noreply.github.com>

* fix pedersen hash type checks

---------

Signed-off-by: Collin Chin <16715212+collinc97@users.noreply.github.com>
Co-authored-by: Alessandro Coglio <coglio@kestrel.edu>
This commit is contained in:
Collin Chin 2023-06-15 19:55:03 -07:00 committed by GitHub
parent d83c4be330
commit e5ae160d1a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
330 changed files with 9047 additions and 1334 deletions

86
Cargo.lock generated
View File

@ -2348,7 +2348,7 @@ dependencies = [
[[package]]
name = "snarkvm"
version = "0.11.7"
source = "git+https://github.com/AleoHQ/snarkvm.git?rev=bad00c6#bad00c6f7279e0ff4c76afc46d024584ea4d147f"
source = "git+https://github.com/AleoHQ/snarkvm.git?rev=0d86ae6#0d86ae6eb0a2d220a0049878e706c26762affdf4"
dependencies = [
"anstyle",
"anyhow",
@ -2376,7 +2376,7 @@ dependencies = [
[[package]]
name = "snarkvm-algorithms"
version = "0.11.7"
source = "git+https://github.com/AleoHQ/snarkvm.git?rev=bad00c6#bad00c6f7279e0ff4c76afc46d024584ea4d147f"
source = "git+https://github.com/AleoHQ/snarkvm.git?rev=0d86ae6#0d86ae6eb0a2d220a0049878e706c26762affdf4"
dependencies = [
"aleo-std",
"anyhow",
@ -2403,7 +2403,7 @@ dependencies = [
[[package]]
name = "snarkvm-circuit"
version = "0.11.7"
source = "git+https://github.com/AleoHQ/snarkvm.git?rev=bad00c6#bad00c6f7279e0ff4c76afc46d024584ea4d147f"
source = "git+https://github.com/AleoHQ/snarkvm.git?rev=0d86ae6#0d86ae6eb0a2d220a0049878e706c26762affdf4"
dependencies = [
"snarkvm-circuit-account",
"snarkvm-circuit-algorithms",
@ -2417,7 +2417,7 @@ dependencies = [
[[package]]
name = "snarkvm-circuit-account"
version = "0.11.7"
source = "git+https://github.com/AleoHQ/snarkvm.git?rev=bad00c6#bad00c6f7279e0ff4c76afc46d024584ea4d147f"
source = "git+https://github.com/AleoHQ/snarkvm.git?rev=0d86ae6#0d86ae6eb0a2d220a0049878e706c26762affdf4"
dependencies = [
"snarkvm-circuit-algorithms",
"snarkvm-circuit-network",
@ -2428,7 +2428,7 @@ dependencies = [
[[package]]
name = "snarkvm-circuit-algorithms"
version = "0.11.7"
source = "git+https://github.com/AleoHQ/snarkvm.git?rev=bad00c6#bad00c6f7279e0ff4c76afc46d024584ea4d147f"
source = "git+https://github.com/AleoHQ/snarkvm.git?rev=0d86ae6#0d86ae6eb0a2d220a0049878e706c26762affdf4"
dependencies = [
"snarkvm-circuit-types",
"snarkvm-console-algorithms",
@ -2438,7 +2438,7 @@ dependencies = [
[[package]]
name = "snarkvm-circuit-collections"
version = "0.11.7"
source = "git+https://github.com/AleoHQ/snarkvm.git?rev=bad00c6#bad00c6f7279e0ff4c76afc46d024584ea4d147f"
source = "git+https://github.com/AleoHQ/snarkvm.git?rev=0d86ae6#0d86ae6eb0a2d220a0049878e706c26762affdf4"
dependencies = [
"snarkvm-circuit-algorithms",
"snarkvm-circuit-types",
@ -2448,7 +2448,7 @@ dependencies = [
[[package]]
name = "snarkvm-circuit-environment"
version = "0.11.7"
source = "git+https://github.com/AleoHQ/snarkvm.git?rev=bad00c6#bad00c6f7279e0ff4c76afc46d024584ea4d147f"
source = "git+https://github.com/AleoHQ/snarkvm.git?rev=0d86ae6#0d86ae6eb0a2d220a0049878e706c26762affdf4"
dependencies = [
"indexmap",
"itertools",
@ -2466,12 +2466,12 @@ dependencies = [
[[package]]
name = "snarkvm-circuit-environment-witness"
version = "0.11.7"
source = "git+https://github.com/AleoHQ/snarkvm.git?rev=bad00c6#bad00c6f7279e0ff4c76afc46d024584ea4d147f"
source = "git+https://github.com/AleoHQ/snarkvm.git?rev=0d86ae6#0d86ae6eb0a2d220a0049878e706c26762affdf4"
[[package]]
name = "snarkvm-circuit-network"
version = "0.11.7"
source = "git+https://github.com/AleoHQ/snarkvm.git?rev=bad00c6#bad00c6f7279e0ff4c76afc46d024584ea4d147f"
source = "git+https://github.com/AleoHQ/snarkvm.git?rev=0d86ae6#0d86ae6eb0a2d220a0049878e706c26762affdf4"
dependencies = [
"snarkvm-circuit-algorithms",
"snarkvm-circuit-collections",
@ -2482,7 +2482,7 @@ dependencies = [
[[package]]
name = "snarkvm-circuit-program"
version = "0.11.7"
source = "git+https://github.com/AleoHQ/snarkvm.git?rev=bad00c6#bad00c6f7279e0ff4c76afc46d024584ea4d147f"
source = "git+https://github.com/AleoHQ/snarkvm.git?rev=0d86ae6#0d86ae6eb0a2d220a0049878e706c26762affdf4"
dependencies = [
"snarkvm-circuit-account",
"snarkvm-circuit-collections",
@ -2495,7 +2495,7 @@ dependencies = [
[[package]]
name = "snarkvm-circuit-types"
version = "0.11.7"
source = "git+https://github.com/AleoHQ/snarkvm.git?rev=bad00c6#bad00c6f7279e0ff4c76afc46d024584ea4d147f"
source = "git+https://github.com/AleoHQ/snarkvm.git?rev=0d86ae6#0d86ae6eb0a2d220a0049878e706c26762affdf4"
dependencies = [
"snarkvm-circuit-environment",
"snarkvm-circuit-types-address",
@ -2510,7 +2510,7 @@ dependencies = [
[[package]]
name = "snarkvm-circuit-types-address"
version = "0.11.7"
source = "git+https://github.com/AleoHQ/snarkvm.git?rev=bad00c6#bad00c6f7279e0ff4c76afc46d024584ea4d147f"
source = "git+https://github.com/AleoHQ/snarkvm.git?rev=0d86ae6#0d86ae6eb0a2d220a0049878e706c26762affdf4"
dependencies = [
"snarkvm-circuit-environment",
"snarkvm-circuit-types-boolean",
@ -2523,7 +2523,7 @@ dependencies = [
[[package]]
name = "snarkvm-circuit-types-boolean"
version = "0.11.7"
source = "git+https://github.com/AleoHQ/snarkvm.git?rev=bad00c6#bad00c6f7279e0ff4c76afc46d024584ea4d147f"
source = "git+https://github.com/AleoHQ/snarkvm.git?rev=0d86ae6#0d86ae6eb0a2d220a0049878e706c26762affdf4"
dependencies = [
"snarkvm-circuit-environment",
"snarkvm-console-types-boolean",
@ -2532,7 +2532,7 @@ dependencies = [
[[package]]
name = "snarkvm-circuit-types-field"
version = "0.11.7"
source = "git+https://github.com/AleoHQ/snarkvm.git?rev=bad00c6#bad00c6f7279e0ff4c76afc46d024584ea4d147f"
source = "git+https://github.com/AleoHQ/snarkvm.git?rev=0d86ae6#0d86ae6eb0a2d220a0049878e706c26762affdf4"
dependencies = [
"snarkvm-circuit-environment",
"snarkvm-circuit-types-boolean",
@ -2542,7 +2542,7 @@ dependencies = [
[[package]]
name = "snarkvm-circuit-types-group"
version = "0.11.7"
source = "git+https://github.com/AleoHQ/snarkvm.git?rev=bad00c6#bad00c6f7279e0ff4c76afc46d024584ea4d147f"
source = "git+https://github.com/AleoHQ/snarkvm.git?rev=0d86ae6#0d86ae6eb0a2d220a0049878e706c26762affdf4"
dependencies = [
"snarkvm-circuit-environment",
"snarkvm-circuit-types-boolean",
@ -2554,7 +2554,7 @@ dependencies = [
[[package]]
name = "snarkvm-circuit-types-integers"
version = "0.11.7"
source = "git+https://github.com/AleoHQ/snarkvm.git?rev=bad00c6#bad00c6f7279e0ff4c76afc46d024584ea4d147f"
source = "git+https://github.com/AleoHQ/snarkvm.git?rev=0d86ae6#0d86ae6eb0a2d220a0049878e706c26762affdf4"
dependencies = [
"snarkvm-circuit-environment",
"snarkvm-circuit-types-boolean",
@ -2565,7 +2565,7 @@ dependencies = [
[[package]]
name = "snarkvm-circuit-types-scalar"
version = "0.11.7"
source = "git+https://github.com/AleoHQ/snarkvm.git?rev=bad00c6#bad00c6f7279e0ff4c76afc46d024584ea4d147f"
source = "git+https://github.com/AleoHQ/snarkvm.git?rev=0d86ae6#0d86ae6eb0a2d220a0049878e706c26762affdf4"
dependencies = [
"snarkvm-circuit-environment",
"snarkvm-circuit-types-boolean",
@ -2576,7 +2576,7 @@ dependencies = [
[[package]]
name = "snarkvm-circuit-types-string"
version = "0.11.7"
source = "git+https://github.com/AleoHQ/snarkvm.git?rev=bad00c6#bad00c6f7279e0ff4c76afc46d024584ea4d147f"
source = "git+https://github.com/AleoHQ/snarkvm.git?rev=0d86ae6#0d86ae6eb0a2d220a0049878e706c26762affdf4"
dependencies = [
"snarkvm-circuit-environment",
"snarkvm-circuit-types-boolean",
@ -2588,7 +2588,7 @@ dependencies = [
[[package]]
name = "snarkvm-console"
version = "0.11.7"
source = "git+https://github.com/AleoHQ/snarkvm.git?rev=bad00c6#bad00c6f7279e0ff4c76afc46d024584ea4d147f"
source = "git+https://github.com/AleoHQ/snarkvm.git?rev=0d86ae6#0d86ae6eb0a2d220a0049878e706c26762affdf4"
dependencies = [
"snarkvm-console-account",
"snarkvm-console-algorithms",
@ -2601,7 +2601,7 @@ dependencies = [
[[package]]
name = "snarkvm-console-account"
version = "0.11.7"
source = "git+https://github.com/AleoHQ/snarkvm.git?rev=bad00c6#bad00c6f7279e0ff4c76afc46d024584ea4d147f"
source = "git+https://github.com/AleoHQ/snarkvm.git?rev=0d86ae6#0d86ae6eb0a2d220a0049878e706c26762affdf4"
dependencies = [
"bs58",
"snarkvm-console-network",
@ -2611,7 +2611,7 @@ dependencies = [
[[package]]
name = "snarkvm-console-algorithms"
version = "0.11.7"
source = "git+https://github.com/AleoHQ/snarkvm.git?rev=bad00c6#bad00c6f7279e0ff4c76afc46d024584ea4d147f"
source = "git+https://github.com/AleoHQ/snarkvm.git?rev=0d86ae6#0d86ae6eb0a2d220a0049878e706c26762affdf4"
dependencies = [
"blake2s_simd",
"smallvec",
@ -2623,7 +2623,7 @@ dependencies = [
[[package]]
name = "snarkvm-console-collections"
version = "0.11.7"
source = "git+https://github.com/AleoHQ/snarkvm.git?rev=bad00c6#bad00c6f7279e0ff4c76afc46d024584ea4d147f"
source = "git+https://github.com/AleoHQ/snarkvm.git?rev=0d86ae6#0d86ae6eb0a2d220a0049878e706c26762affdf4"
dependencies = [
"aleo-std",
"rayon",
@ -2634,7 +2634,7 @@ dependencies = [
[[package]]
name = "snarkvm-console-network"
version = "0.11.7"
source = "git+https://github.com/AleoHQ/snarkvm.git?rev=bad00c6#bad00c6f7279e0ff4c76afc46d024584ea4d147f"
source = "git+https://github.com/AleoHQ/snarkvm.git?rev=0d86ae6#0d86ae6eb0a2d220a0049878e706c26762affdf4"
dependencies = [
"anyhow",
"indexmap",
@ -2657,7 +2657,7 @@ dependencies = [
[[package]]
name = "snarkvm-console-network-environment"
version = "0.11.7"
source = "git+https://github.com/AleoHQ/snarkvm.git?rev=bad00c6#bad00c6f7279e0ff4c76afc46d024584ea4d147f"
source = "git+https://github.com/AleoHQ/snarkvm.git?rev=0d86ae6#0d86ae6eb0a2d220a0049878e706c26762affdf4"
dependencies = [
"anyhow",
"bech32",
@ -2674,7 +2674,7 @@ dependencies = [
[[package]]
name = "snarkvm-console-program"
version = "0.11.7"
source = "git+https://github.com/AleoHQ/snarkvm.git?rev=bad00c6#bad00c6f7279e0ff4c76afc46d024584ea4d147f"
source = "git+https://github.com/AleoHQ/snarkvm.git?rev=0d86ae6#0d86ae6eb0a2d220a0049878e706c26762affdf4"
dependencies = [
"enum_index",
"enum_index_derive",
@ -2693,7 +2693,7 @@ dependencies = [
[[package]]
name = "snarkvm-console-types"
version = "0.11.7"
source = "git+https://github.com/AleoHQ/snarkvm.git?rev=bad00c6#bad00c6f7279e0ff4c76afc46d024584ea4d147f"
source = "git+https://github.com/AleoHQ/snarkvm.git?rev=0d86ae6#0d86ae6eb0a2d220a0049878e706c26762affdf4"
dependencies = [
"snarkvm-console-network-environment",
"snarkvm-console-types-address",
@ -2708,7 +2708,7 @@ dependencies = [
[[package]]
name = "snarkvm-console-types-address"
version = "0.11.7"
source = "git+https://github.com/AleoHQ/snarkvm.git?rev=bad00c6#bad00c6f7279e0ff4c76afc46d024584ea4d147f"
source = "git+https://github.com/AleoHQ/snarkvm.git?rev=0d86ae6#0d86ae6eb0a2d220a0049878e706c26762affdf4"
dependencies = [
"snarkvm-console-network-environment",
"snarkvm-console-types-boolean",
@ -2719,7 +2719,7 @@ dependencies = [
[[package]]
name = "snarkvm-console-types-boolean"
version = "0.11.7"
source = "git+https://github.com/AleoHQ/snarkvm.git?rev=bad00c6#bad00c6f7279e0ff4c76afc46d024584ea4d147f"
source = "git+https://github.com/AleoHQ/snarkvm.git?rev=0d86ae6#0d86ae6eb0a2d220a0049878e706c26762affdf4"
dependencies = [
"snarkvm-console-network-environment",
]
@ -2727,7 +2727,7 @@ dependencies = [
[[package]]
name = "snarkvm-console-types-field"
version = "0.11.7"
source = "git+https://github.com/AleoHQ/snarkvm.git?rev=bad00c6#bad00c6f7279e0ff4c76afc46d024584ea4d147f"
source = "git+https://github.com/AleoHQ/snarkvm.git?rev=0d86ae6#0d86ae6eb0a2d220a0049878e706c26762affdf4"
dependencies = [
"snarkvm-console-network-environment",
"snarkvm-console-types-boolean",
@ -2736,7 +2736,7 @@ dependencies = [
[[package]]
name = "snarkvm-console-types-group"
version = "0.11.7"
source = "git+https://github.com/AleoHQ/snarkvm.git?rev=bad00c6#bad00c6f7279e0ff4c76afc46d024584ea4d147f"
source = "git+https://github.com/AleoHQ/snarkvm.git?rev=0d86ae6#0d86ae6eb0a2d220a0049878e706c26762affdf4"
dependencies = [
"snarkvm-console-network-environment",
"snarkvm-console-types-boolean",
@ -2747,7 +2747,7 @@ dependencies = [
[[package]]
name = "snarkvm-console-types-integers"
version = "0.11.7"
source = "git+https://github.com/AleoHQ/snarkvm.git?rev=bad00c6#bad00c6f7279e0ff4c76afc46d024584ea4d147f"
source = "git+https://github.com/AleoHQ/snarkvm.git?rev=0d86ae6#0d86ae6eb0a2d220a0049878e706c26762affdf4"
dependencies = [
"snarkvm-console-network-environment",
"snarkvm-console-types-boolean",
@ -2757,7 +2757,7 @@ dependencies = [
[[package]]
name = "snarkvm-console-types-scalar"
version = "0.11.7"
source = "git+https://github.com/AleoHQ/snarkvm.git?rev=bad00c6#bad00c6f7279e0ff4c76afc46d024584ea4d147f"
source = "git+https://github.com/AleoHQ/snarkvm.git?rev=0d86ae6#0d86ae6eb0a2d220a0049878e706c26762affdf4"
dependencies = [
"snarkvm-console-network-environment",
"snarkvm-console-types-boolean",
@ -2767,7 +2767,7 @@ dependencies = [
[[package]]
name = "snarkvm-console-types-string"
version = "0.11.7"
source = "git+https://github.com/AleoHQ/snarkvm.git?rev=bad00c6#bad00c6f7279e0ff4c76afc46d024584ea4d147f"
source = "git+https://github.com/AleoHQ/snarkvm.git?rev=0d86ae6#0d86ae6eb0a2d220a0049878e706c26762affdf4"
dependencies = [
"snarkvm-console-network-environment",
"snarkvm-console-types-boolean",
@ -2778,7 +2778,7 @@ dependencies = [
[[package]]
name = "snarkvm-curves"
version = "0.11.7"
source = "git+https://github.com/AleoHQ/snarkvm.git?rev=bad00c6#bad00c6f7279e0ff4c76afc46d024584ea4d147f"
source = "git+https://github.com/AleoHQ/snarkvm.git?rev=0d86ae6#0d86ae6eb0a2d220a0049878e706c26762affdf4"
dependencies = [
"rand",
"rayon",
@ -2792,7 +2792,7 @@ dependencies = [
[[package]]
name = "snarkvm-fields"
version = "0.11.7"
source = "git+https://github.com/AleoHQ/snarkvm.git?rev=bad00c6#bad00c6f7279e0ff4c76afc46d024584ea4d147f"
source = "git+https://github.com/AleoHQ/snarkvm.git?rev=0d86ae6#0d86ae6eb0a2d220a0049878e706c26762affdf4"
dependencies = [
"aleo-std",
"anyhow",
@ -2809,7 +2809,7 @@ dependencies = [
[[package]]
name = "snarkvm-ledger"
version = "0.11.7"
source = "git+https://github.com/AleoHQ/snarkvm.git?rev=bad00c6#bad00c6f7279e0ff4c76afc46d024584ea4d147f"
source = "git+https://github.com/AleoHQ/snarkvm.git?rev=0d86ae6#0d86ae6eb0a2d220a0049878e706c26762affdf4"
dependencies = [
"aleo-std",
"anyhow",
@ -2827,7 +2827,7 @@ dependencies = [
[[package]]
name = "snarkvm-parameters"
version = "0.11.7"
source = "git+https://github.com/AleoHQ/snarkvm.git?rev=bad00c6#bad00c6f7279e0ff4c76afc46d024584ea4d147f"
source = "git+https://github.com/AleoHQ/snarkvm.git?rev=0d86ae6#0d86ae6eb0a2d220a0049878e706c26762affdf4"
dependencies = [
"aleo-std",
"anyhow",
@ -2851,7 +2851,7 @@ dependencies = [
[[package]]
name = "snarkvm-r1cs"
version = "0.11.7"
source = "git+https://github.com/AleoHQ/snarkvm.git?rev=bad00c6#bad00c6f7279e0ff4c76afc46d024584ea4d147f"
source = "git+https://github.com/AleoHQ/snarkvm.git?rev=0d86ae6#0d86ae6eb0a2d220a0049878e706c26762affdf4"
dependencies = [
"anyhow",
"cfg-if",
@ -2867,7 +2867,7 @@ dependencies = [
[[package]]
name = "snarkvm-synthesizer"
version = "0.11.7"
source = "git+https://github.com/AleoHQ/snarkvm.git?rev=bad00c6#bad00c6f7279e0ff4c76afc46d024584ea4d147f"
source = "git+https://github.com/AleoHQ/snarkvm.git?rev=0d86ae6#0d86ae6eb0a2d220a0049878e706c26762affdf4"
dependencies = [
"aleo-std",
"anyhow",
@ -2899,7 +2899,7 @@ dependencies = [
[[package]]
name = "snarkvm-synthesizer-coinbase"
version = "0.11.7"
source = "git+https://github.com/AleoHQ/snarkvm.git?rev=bad00c6#bad00c6f7279e0ff4c76afc46d024584ea4d147f"
source = "git+https://github.com/AleoHQ/snarkvm.git?rev=0d86ae6#0d86ae6eb0a2d220a0049878e706c26762affdf4"
dependencies = [
"anyhow",
"bincode",
@ -2918,7 +2918,7 @@ dependencies = [
[[package]]
name = "snarkvm-synthesizer-snark"
version = "0.11.7"
source = "git+https://github.com/AleoHQ/snarkvm.git?rev=bad00c6#bad00c6f7279e0ff4c76afc46d024584ea4d147f"
source = "git+https://github.com/AleoHQ/snarkvm.git?rev=0d86ae6#0d86ae6eb0a2d220a0049878e706c26762affdf4"
dependencies = [
"bincode",
"once_cell",
@ -2931,7 +2931,7 @@ dependencies = [
[[package]]
name = "snarkvm-utilities"
version = "0.11.7"
source = "git+https://github.com/AleoHQ/snarkvm.git?rev=bad00c6#bad00c6f7279e0ff4c76afc46d024584ea4d147f"
source = "git+https://github.com/AleoHQ/snarkvm.git?rev=0d86ae6#0d86ae6eb0a2d220a0049878e706c26762affdf4"
dependencies = [
"aleo-std",
"anyhow",
@ -2950,7 +2950,7 @@ dependencies = [
[[package]]
name = "snarkvm-utilities-derives"
version = "0.11.7"
source = "git+https://github.com/AleoHQ/snarkvm.git?rev=bad00c6#bad00c6f7279e0ff4c76afc46d024584ea4d147f"
source = "git+https://github.com/AleoHQ/snarkvm.git?rev=0d86ae6#0d86ae6eb0a2d220a0049878e706c26762affdf4"
dependencies = [
"proc-macro2",
"quote 1.0.28",

View File

@ -31,12 +31,12 @@ members = [
]
[workspace.dependencies.snarkvm]
rev = "bad00c6"
rev = "0d86ae6"
git = "https://github.com/AleoHQ/snarkvm.git"
#version = "=0.11.12"
[workspace.dependencies.snarkvm-console]
rev = "bad00c6"
rev = "0d86ae6"
git = "https://github.com/AleoHQ/snarkvm.git"
#version = "=0.11.12"

View File

@ -19,46 +19,157 @@ use leo_span::{sym, Symbol};
/// A core instruction that maps directly to an AVM bytecode instruction.
#[derive(Clone, PartialEq, Eq)]
pub enum CoreFunction {
BHP256Commit,
BHP256CommitToAddress,
BHP256CommitToField,
BHP256CommitToGroup,
BHP256Hash,
BHP256HashToAddress,
BHP256HashToField,
BHP256HashToGroup,
BHP256HashToI8,
BHP256HashToI16,
BHP256HashToI32,
BHP256HashToI64,
BHP256HashToI128,
BHP256HashToU8,
BHP256HashToU16,
BHP256HashToU32,
BHP256HashToU64,
BHP256HashToU128,
BHP256HashToScalar,
BHP512Commit,
BHP512CommitToAddress,
BHP512CommitToField,
BHP512CommitToGroup,
BHP512Hash,
BHP512HashToAddress,
BHP512HashToField,
BHP512HashToGroup,
BHP512HashToI8,
BHP512HashToI16,
BHP512HashToI32,
BHP512HashToI64,
BHP512HashToI128,
BHP512HashToU8,
BHP512HashToU16,
BHP512HashToU32,
BHP512HashToU64,
BHP512HashToU128,
BHP512HashToScalar,
BHP768Commit,
BHP768CommitToAddress,
BHP768CommitToField,
BHP768CommitToGroup,
BHP768Hash,
BHP768HashToAddress,
BHP768HashToField,
BHP768HashToGroup,
BHP768HashToI8,
BHP768HashToI16,
BHP768HashToI32,
BHP768HashToI64,
BHP768HashToI128,
BHP768HashToU8,
BHP768HashToU16,
BHP768HashToU32,
BHP768HashToU64,
BHP768HashToU128,
BHP768HashToScalar,
BHP1024Commit,
BHP1024CommitToAddress,
BHP1024CommitToField,
BHP1024CommitToGroup,
BHP1024Hash,
BHP1024HashToAddress,
BHP1024HashToField,
BHP1024HashToGroup,
BHP1024HashToI8,
BHP1024HashToI16,
BHP1024HashToI32,
BHP1024HashToI64,
BHP1024HashToI128,
BHP1024HashToU8,
BHP1024HashToU16,
BHP1024HashToU32,
BHP1024HashToU64,
BHP1024HashToU128,
BHP1024HashToScalar,
Pedersen64Commit,
Pedersen64CommitToAddress,
Pedersen64CommitToField,
Pedersen64CommitToGroup,
Pedersen64Hash,
Pedersen64HashToAddress,
Pedersen64HashToField,
Pedersen64HashToGroup,
Pedersen64HashToI8,
Pedersen64HashToI16,
Pedersen64HashToI32,
Pedersen64HashToI64,
Pedersen64HashToI128,
Pedersen64HashToU8,
Pedersen64HashToU16,
Pedersen64HashToU32,
Pedersen64HashToU64,
Pedersen64HashToU128,
Pedersen64HashToScalar,
Pedersen128Commit,
Pedersen128CommitToAddress,
Pedersen128CommitToField,
Pedersen128CommitToGroup,
Pedersen128Hash,
Pedersen128HashToAddress,
Pedersen128HashToField,
Pedersen128HashToGroup,
Pedersen128HashToI8,
Pedersen128HashToI16,
Pedersen128HashToI32,
Pedersen128HashToI64,
Pedersen128HashToI128,
Pedersen128HashToU8,
Pedersen128HashToU16,
Pedersen128HashToU32,
Pedersen128HashToU64,
Pedersen128HashToU128,
Pedersen128HashToScalar,
Poseidon2Hash,
Poseidon2HashToAddress,
Poseidon2HashToField,
Poseidon2HashToGroup,
Poseidon2HashToI8,
Poseidon2HashToI16,
Poseidon2HashToI32,
Poseidon2HashToI64,
Poseidon2HashToI128,
Poseidon2HashToU8,
Poseidon2HashToU16,
Poseidon2HashToU32,
Poseidon2HashToU64,
Poseidon2HashToU128,
Poseidon2HashToScalar,
Poseidon4Hash,
Poseidon4HashToAddress,
Poseidon4HashToField,
Poseidon4HashToGroup,
Poseidon4HashToI8,
Poseidon4HashToI16,
Poseidon4HashToI32,
Poseidon4HashToI64,
Poseidon4HashToI128,
Poseidon4HashToU8,
Poseidon4HashToU16,
Poseidon4HashToU32,
Poseidon4HashToU64,
Poseidon4HashToU128,
Poseidon4HashToScalar,
Poseidon8Hash,
Poseidon8HashToAddress,
Poseidon8HashToField,
Poseidon8HashToGroup,
Poseidon8HashToI8,
Poseidon8HashToI16,
Poseidon8HashToI32,
Poseidon8HashToI64,
Poseidon8HashToI128,
Poseidon8HashToU8,
Poseidon8HashToU16,
Poseidon8HashToU32,
Poseidon8HashToU64,
Poseidon8HashToU128,
Poseidon8HashToScalar,
MappingGet,
@ -70,46 +181,158 @@ impl CoreFunction {
/// Returns a `CoreFunction` from the given module and method symbols.
pub fn from_symbols(module: Symbol, function: Symbol) -> Option<Self> {
Some(match (module, function) {
(sym::BHP256, sym::commit) => Self::BHP256Commit,
(sym::BHP256, sym::commit_to_address) => Self::BHP256CommitToAddress,
(sym::BHP256, sym::commit_to_field) => Self::BHP256CommitToField,
(sym::BHP256, sym::commit_to_group) => Self::BHP256CommitToGroup,
(sym::BHP256, sym::hash) => Self::BHP256Hash,
(sym::BHP256, sym::hash_to_address) => Self::BHP256HashToAddress,
(sym::BHP256, sym::hash_to_field) => Self::BHP256HashToField,
(sym::BHP256, sym::hash_to_group) => Self::BHP256HashToGroup,
(sym::BHP256, sym::hash_to_i8) => Self::BHP256HashToI8,
(sym::BHP256, sym::hash_to_i16) => Self::BHP256HashToI16,
(sym::BHP256, sym::hash_to_i32) => Self::BHP256HashToI32,
(sym::BHP256, sym::hash_to_i64) => Self::BHP256HashToI64,
(sym::BHP256, sym::hash_to_i128) => Self::BHP256HashToI128,
(sym::BHP256, sym::hash_to_u8) => Self::BHP256HashToU8,
(sym::BHP256, sym::hash_to_u16) => Self::BHP256HashToU16,
(sym::BHP256, sym::hash_to_u32) => Self::BHP256HashToU32,
(sym::BHP256, sym::hash_to_u64) => Self::BHP256HashToU64,
(sym::BHP256, sym::hash_to_u128) => Self::BHP256HashToU128,
(sym::BHP256, sym::hash_to_scalar) => Self::BHP256HashToScalar,
(sym::BHP512, sym::commit) => Self::BHP512Commit,
(sym::BHP512, sym::commit_to_address) => Self::BHP512CommitToAddress,
(sym::BHP512, sym::commit_to_field) => Self::BHP512CommitToField,
(sym::BHP512, sym::commit_to_group) => Self::BHP512CommitToGroup,
(sym::BHP512, sym::hash) => Self::BHP512Hash,
(sym::BHP512, sym::hash_to_address) => Self::BHP512HashToAddress,
(sym::BHP512, sym::hash_to_field) => Self::BHP512HashToField,
(sym::BHP512, sym::hash_to_group) => Self::BHP512HashToGroup,
(sym::BHP512, sym::hash_to_i8) => Self::BHP512HashToI8,
(sym::BHP512, sym::hash_to_i16) => Self::BHP512HashToI16,
(sym::BHP512, sym::hash_to_i32) => Self::BHP512HashToI32,
(sym::BHP512, sym::hash_to_i64) => Self::BHP512HashToI64,
(sym::BHP512, sym::hash_to_i128) => Self::BHP512HashToI128,
(sym::BHP512, sym::hash_to_u8) => Self::BHP512HashToU8,
(sym::BHP512, sym::hash_to_u16) => Self::BHP512HashToU16,
(sym::BHP512, sym::hash_to_u32) => Self::BHP512HashToU32,
(sym::BHP512, sym::hash_to_u64) => Self::BHP512HashToU64,
(sym::BHP512, sym::hash_to_u128) => Self::BHP512HashToU128,
(sym::BHP512, sym::hash_to_scalar) => Self::BHP512HashToScalar,
(sym::BHP768, sym::commit) => Self::BHP768Commit,
(sym::BHP768, sym::commit_to_address) => Self::BHP768CommitToAddress,
(sym::BHP768, sym::commit_to_field) => Self::BHP768CommitToField,
(sym::BHP768, sym::commit_to_group) => Self::BHP768CommitToGroup,
(sym::BHP768, sym::hash) => Self::BHP768Hash,
(sym::BHP768, sym::hash_to_address) => Self::BHP768HashToAddress,
(sym::BHP768, sym::hash_to_field) => Self::BHP768HashToField,
(sym::BHP768, sym::hash_to_group) => Self::BHP768HashToGroup,
(sym::BHP768, sym::hash_to_i8) => Self::BHP768HashToI8,
(sym::BHP768, sym::hash_to_i16) => Self::BHP768HashToI16,
(sym::BHP768, sym::hash_to_i32) => Self::BHP768HashToI32,
(sym::BHP768, sym::hash_to_i64) => Self::BHP768HashToI64,
(sym::BHP768, sym::hash_to_i128) => Self::BHP768HashToI128,
(sym::BHP768, sym::hash_to_u8) => Self::BHP768HashToU8,
(sym::BHP768, sym::hash_to_u16) => Self::BHP768HashToU16,
(sym::BHP768, sym::hash_to_u32) => Self::BHP768HashToU32,
(sym::BHP768, sym::hash_to_u64) => Self::BHP768HashToU64,
(sym::BHP768, sym::hash_to_u128) => Self::BHP768HashToU128,
(sym::BHP768, sym::hash_to_scalar) => Self::BHP768HashToScalar,
(sym::BHP1024, sym::commit) => Self::BHP1024Commit,
(sym::BHP1024, sym::commit_to_address) => Self::BHP1024CommitToAddress,
(sym::BHP1024, sym::commit_to_field) => Self::BHP1024CommitToField,
(sym::BHP1024, sym::commit_to_group) => Self::BHP1024CommitToGroup,
(sym::BHP1024, sym::hash) => Self::BHP1024Hash,
(sym::BHP1024, sym::hash_to_address) => Self::BHP1024HashToAddress,
(sym::BHP1024, sym::hash_to_field) => Self::BHP1024HashToField,
(sym::BHP1024, sym::hash_to_group) => Self::BHP1024HashToGroup,
(sym::BHP1024, sym::hash_to_i8) => Self::BHP1024HashToI8,
(sym::BHP1024, sym::hash_to_i16) => Self::BHP1024HashToI16,
(sym::BHP1024, sym::hash_to_i32) => Self::BHP1024HashToI32,
(sym::BHP1024, sym::hash_to_i64) => Self::BHP1024HashToI64,
(sym::BHP1024, sym::hash_to_i128) => Self::BHP1024HashToI128,
(sym::BHP1024, sym::hash_to_u8) => Self::BHP1024HashToU8,
(sym::BHP1024, sym::hash_to_u16) => Self::BHP1024HashToU16,
(sym::BHP1024, sym::hash_to_u32) => Self::BHP1024HashToU32,
(sym::BHP1024, sym::hash_to_u64) => Self::BHP1024HashToU64,
(sym::BHP1024, sym::hash_to_u128) => Self::BHP1024HashToU128,
(sym::BHP1024, sym::hash_to_scalar) => Self::BHP1024HashToScalar,
(sym::Pedersen64, sym::commit) => Self::Pedersen64Commit,
(sym::Pedersen64, sym::commit_to_address) => Self::Pedersen64CommitToAddress,
(sym::Pedersen64, sym::commit_to_field) => Self::Pedersen64CommitToField,
(sym::Pedersen64, sym::commit_to_group) => Self::Pedersen64CommitToGroup,
(sym::Pedersen64, sym::hash) => Self::Pedersen64Hash,
(sym::Pedersen64, sym::hash_to_address) => Self::Pedersen64HashToAddress,
(sym::Pedersen64, sym::hash_to_field) => Self::Pedersen64HashToField,
(sym::Pedersen64, sym::hash_to_group) => Self::Pedersen64HashToGroup,
(sym::Pedersen64, sym::hash_to_i8) => Self::Pedersen64HashToI8,
(sym::Pedersen64, sym::hash_to_i16) => Self::Pedersen64HashToI16,
(sym::Pedersen64, sym::hash_to_i32) => Self::Pedersen64HashToI32,
(sym::Pedersen64, sym::hash_to_i64) => Self::Pedersen64HashToI64,
(sym::Pedersen64, sym::hash_to_i128) => Self::Pedersen64HashToI128,
(sym::Pedersen64, sym::hash_to_u8) => Self::Pedersen64HashToU8,
(sym::Pedersen64, sym::hash_to_u16) => Self::Pedersen64HashToU16,
(sym::Pedersen64, sym::hash_to_u32) => Self::Pedersen64HashToU32,
(sym::Pedersen64, sym::hash_to_u64) => Self::Pedersen64HashToU64,
(sym::Pedersen64, sym::hash_to_u128) => Self::Pedersen64HashToU128,
(sym::Pedersen64, sym::hash_to_scalar) => Self::Pedersen64HashToScalar,
(sym::Pedersen128, sym::commit) => Self::Pedersen128Commit,
(sym::Pedersen128, sym::commit_to_address) => Self::Pedersen128CommitToAddress,
(sym::Pedersen128, sym::commit_to_field) => Self::Pedersen128CommitToField,
(sym::Pedersen128, sym::commit_to_group) => Self::Pedersen128CommitToGroup,
(sym::Pedersen128, sym::hash) => Self::Pedersen128Hash,
(sym::Pedersen128, sym::hash_to_address) => Self::Pedersen128HashToAddress,
(sym::Pedersen128, sym::hash_to_field) => Self::Pedersen128HashToField,
(sym::Pedersen128, sym::hash_to_group) => Self::Pedersen128HashToGroup,
(sym::Pedersen128, sym::hash_to_i8) => Self::Pedersen128HashToI8,
(sym::Pedersen128, sym::hash_to_i16) => Self::Pedersen128HashToI16,
(sym::Pedersen128, sym::hash_to_i32) => Self::Pedersen128HashToI32,
(sym::Pedersen128, sym::hash_to_i64) => Self::Pedersen128HashToI64,
(sym::Pedersen128, sym::hash_to_i128) => Self::Pedersen128HashToI128,
(sym::Pedersen128, sym::hash_to_u8) => Self::Pedersen128HashToU8,
(sym::Pedersen128, sym::hash_to_u16) => Self::Pedersen128HashToU16,
(sym::Pedersen128, sym::hash_to_u32) => Self::Pedersen128HashToU32,
(sym::Pedersen128, sym::hash_to_u64) => Self::Pedersen128HashToU64,
(sym::Pedersen128, sym::hash_to_u128) => Self::Pedersen128HashToU128,
(sym::Pedersen128, sym::hash_to_scalar) => Self::Pedersen128HashToScalar,
(sym::Poseidon2, sym::hash) => Self::Poseidon2Hash,
(sym::Poseidon2, sym::hash_to_address) => Self::Poseidon2HashToAddress,
(sym::Poseidon2, sym::hash_to_field) => Self::Poseidon2HashToField,
(sym::Poseidon2, sym::hash_to_group) => Self::Poseidon2HashToGroup,
(sym::Poseidon2, sym::hash_to_i8) => Self::Poseidon2HashToI8,
(sym::Poseidon2, sym::hash_to_i16) => Self::Poseidon2HashToI16,
(sym::Poseidon2, sym::hash_to_i32) => Self::Poseidon2HashToI32,
(sym::Poseidon2, sym::hash_to_i64) => Self::Poseidon2HashToI64,
(sym::Poseidon2, sym::hash_to_i128) => Self::Poseidon2HashToI128,
(sym::Poseidon2, sym::hash_to_u8) => Self::Poseidon2HashToU8,
(sym::Poseidon2, sym::hash_to_u16) => Self::Poseidon2HashToU16,
(sym::Poseidon2, sym::hash_to_u32) => Self::Poseidon2HashToU32,
(sym::Poseidon2, sym::hash_to_u64) => Self::Poseidon2HashToU64,
(sym::Poseidon2, sym::hash_to_u128) => Self::Poseidon2HashToU128,
(sym::Poseidon2, sym::hash_to_scalar) => Self::Poseidon2HashToScalar,
(sym::Poseidon4, sym::hash) => Self::Poseidon4Hash,
(sym::Poseidon4, sym::hash_to_address) => Self::Poseidon4HashToAddress,
(sym::Poseidon4, sym::hash_to_field) => Self::Poseidon4HashToField,
(sym::Poseidon4, sym::hash_to_group) => Self::Poseidon4HashToGroup,
(sym::Poseidon4, sym::hash_to_i8) => Self::Poseidon4HashToI8,
(sym::Poseidon4, sym::hash_to_i16) => Self::Poseidon4HashToI16,
(sym::Poseidon4, sym::hash_to_i32) => Self::Poseidon4HashToI32,
(sym::Poseidon4, sym::hash_to_i64) => Self::Poseidon4HashToI64,
(sym::Poseidon4, sym::hash_to_i128) => Self::Poseidon4HashToI128,
(sym::Poseidon4, sym::hash_to_u8) => Self::Poseidon4HashToU8,
(sym::Poseidon4, sym::hash_to_u16) => Self::Poseidon4HashToU16,
(sym::Poseidon4, sym::hash_to_u32) => Self::Poseidon4HashToU32,
(sym::Poseidon4, sym::hash_to_u64) => Self::Poseidon4HashToU64,
(sym::Poseidon4, sym::hash_to_u128) => Self::Poseidon4HashToU128,
(sym::Poseidon4, sym::hash_to_scalar) => Self::Poseidon4HashToScalar,
(sym::Poseidon8, sym::hash) => Self::Poseidon8Hash,
(sym::Poseidon8, sym::hash_to_address) => Self::Poseidon8HashToAddress,
(sym::Poseidon8, sym::hash_to_field) => Self::Poseidon8HashToField,
(sym::Poseidon8, sym::hash_to_group) => Self::Poseidon8HashToGroup,
(sym::Poseidon8, sym::hash_to_i8) => Self::Poseidon8HashToI8,
(sym::Poseidon8, sym::hash_to_i16) => Self::Poseidon8HashToI16,
(sym::Poseidon8, sym::hash_to_i32) => Self::Poseidon8HashToI32,
(sym::Poseidon8, sym::hash_to_i64) => Self::Poseidon8HashToI64,
(sym::Poseidon8, sym::hash_to_i128) => Self::Poseidon8HashToI128,
(sym::Poseidon8, sym::hash_to_u8) => Self::Poseidon8HashToU8,
(sym::Poseidon8, sym::hash_to_u16) => Self::Poseidon8HashToU16,
(sym::Poseidon8, sym::hash_to_u32) => Self::Poseidon8HashToU32,
(sym::Poseidon8, sym::hash_to_u64) => Self::Poseidon8HashToU64,
(sym::Poseidon8, sym::hash_to_u128) => Self::Poseidon8HashToU128,
(sym::Poseidon8, sym::hash_to_scalar) => Self::Poseidon8HashToScalar,
(sym::Mapping, sym::get) => Self::MappingGet,
@ -122,46 +345,158 @@ impl CoreFunction {
/// Returns the number of arguments required by the instruction.
pub fn num_args(&self) -> usize {
match self {
Self::BHP256Commit => 2,
Self::BHP256CommitToAddress => 2,
Self::BHP256CommitToField => 2,
Self::BHP256CommitToGroup => 2,
Self::BHP256Hash => 1,
Self::BHP256HashToAddress => 1,
Self::BHP256HashToField => 1,
Self::BHP256HashToGroup => 1,
Self::BHP256HashToI8 => 1,
Self::BHP256HashToI16 => 1,
Self::BHP256HashToI32 => 1,
Self::BHP256HashToI64 => 1,
Self::BHP256HashToI128 => 1,
Self::BHP256HashToU8 => 1,
Self::BHP256HashToU16 => 1,
Self::BHP256HashToU32 => 1,
Self::BHP256HashToU64 => 1,
Self::BHP256HashToU128 => 1,
Self::BHP256HashToScalar => 1,
Self::BHP512Commit => 2,
Self::BHP512CommitToAddress => 2,
Self::BHP512CommitToField => 2,
Self::BHP512CommitToGroup => 2,
Self::BHP512Hash => 1,
Self::BHP512HashToAddress => 1,
Self::BHP512HashToField => 1,
Self::BHP512HashToGroup => 1,
Self::BHP512HashToI8 => 1,
Self::BHP512HashToI16 => 1,
Self::BHP512HashToI32 => 1,
Self::BHP512HashToI64 => 1,
Self::BHP512HashToI128 => 1,
Self::BHP512HashToU8 => 1,
Self::BHP512HashToU16 => 1,
Self::BHP512HashToU32 => 1,
Self::BHP512HashToU64 => 1,
Self::BHP512HashToU128 => 1,
Self::BHP512HashToScalar => 1,
Self::BHP768Commit => 2,
Self::BHP768CommitToAddress => 2,
Self::BHP768CommitToField => 2,
Self::BHP768CommitToGroup => 2,
Self::BHP768Hash => 1,
Self::BHP768HashToAddress => 1,
Self::BHP768HashToField => 1,
Self::BHP768HashToGroup => 1,
Self::BHP768HashToI8 => 1,
Self::BHP768HashToI16 => 1,
Self::BHP768HashToI32 => 1,
Self::BHP768HashToI64 => 1,
Self::BHP768HashToI128 => 1,
Self::BHP768HashToU8 => 1,
Self::BHP768HashToU16 => 1,
Self::BHP768HashToU32 => 1,
Self::BHP768HashToU64 => 1,
Self::BHP768HashToU128 => 1,
Self::BHP768HashToScalar => 1,
Self::BHP1024Commit => 2,
Self::BHP1024CommitToAddress => 2,
Self::BHP1024CommitToField => 2,
Self::BHP1024CommitToGroup => 2,
Self::BHP1024Hash => 1,
Self::BHP1024HashToAddress => 1,
Self::BHP1024HashToField => 1,
Self::BHP1024HashToGroup => 1,
Self::BHP1024HashToI8 => 1,
Self::BHP1024HashToI16 => 1,
Self::BHP1024HashToI32 => 1,
Self::BHP1024HashToI64 => 1,
Self::BHP1024HashToI128 => 1,
Self::BHP1024HashToU8 => 1,
Self::BHP1024HashToU16 => 1,
Self::BHP1024HashToU32 => 1,
Self::BHP1024HashToU64 => 1,
Self::BHP1024HashToU128 => 1,
Self::BHP1024HashToScalar => 1,
Self::Pedersen64Commit => 2,
Self::Pedersen64CommitToAddress => 2,
Self::Pedersen64CommitToField => 2,
Self::Pedersen64CommitToGroup => 2,
Self::Pedersen64Hash => 1,
Self::Pedersen64HashToAddress => 1,
Self::Pedersen64HashToField => 1,
Self::Pedersen64HashToGroup => 1,
Self::Pedersen64HashToI8 => 1,
Self::Pedersen64HashToI16 => 1,
Self::Pedersen64HashToI32 => 1,
Self::Pedersen64HashToI64 => 1,
Self::Pedersen64HashToI128 => 1,
Self::Pedersen64HashToU8 => 1,
Self::Pedersen64HashToU16 => 1,
Self::Pedersen64HashToU32 => 1,
Self::Pedersen64HashToU64 => 1,
Self::Pedersen64HashToU128 => 1,
Self::Pedersen64HashToScalar => 1,
Self::Pedersen128Commit => 2,
Self::Pedersen128CommitToAddress => 2,
Self::Pedersen128CommitToField => 2,
Self::Pedersen128CommitToGroup => 2,
Self::Pedersen128Hash => 1,
Self::Pedersen128HashToAddress => 1,
Self::Pedersen128HashToField => 1,
Self::Pedersen128HashToGroup => 1,
Self::Pedersen128HashToI8 => 1,
Self::Pedersen128HashToI16 => 1,
Self::Pedersen128HashToI32 => 1,
Self::Pedersen128HashToI64 => 1,
Self::Pedersen128HashToI128 => 1,
Self::Pedersen128HashToU8 => 1,
Self::Pedersen128HashToU16 => 1,
Self::Pedersen128HashToU32 => 1,
Self::Pedersen128HashToU64 => 1,
Self::Pedersen128HashToU128 => 1,
Self::Pedersen128HashToScalar => 1,
Self::Poseidon2Hash => 1,
Self::Poseidon2HashToAddress => 1,
Self::Poseidon2HashToField => 1,
Self::Poseidon2HashToGroup => 1,
Self::Poseidon2HashToI8 => 1,
Self::Poseidon2HashToI16 => 1,
Self::Poseidon2HashToI32 => 1,
Self::Poseidon2HashToI64 => 1,
Self::Poseidon2HashToI128 => 1,
Self::Poseidon2HashToU8 => 1,
Self::Poseidon2HashToU16 => 1,
Self::Poseidon2HashToU32 => 1,
Self::Poseidon2HashToU64 => 1,
Self::Poseidon2HashToU128 => 1,
Self::Poseidon2HashToScalar => 1,
Self::Poseidon4Hash => 1,
Self::Poseidon4HashToAddress => 1,
Self::Poseidon4HashToField => 1,
Self::Poseidon4HashToGroup => 1,
Self::Poseidon4HashToI8 => 1,
Self::Poseidon4HashToI16 => 1,
Self::Poseidon4HashToI32 => 1,
Self::Poseidon4HashToI64 => 1,
Self::Poseidon4HashToI128 => 1,
Self::Poseidon4HashToU8 => 1,
Self::Poseidon4HashToU16 => 1,
Self::Poseidon4HashToU32 => 1,
Self::Poseidon4HashToU64 => 1,
Self::Poseidon4HashToU128 => 1,
Self::Poseidon4HashToScalar => 1,
Self::Poseidon8Hash => 1,
Self::Poseidon8HashToAddress => 1,
Self::Poseidon8HashToField => 1,
Self::Poseidon8HashToGroup => 1,
Self::Poseidon8HashToI8 => 1,
Self::Poseidon8HashToI16 => 1,
Self::Poseidon8HashToI32 => 1,
Self::Poseidon8HashToI64 => 1,
Self::Poseidon8HashToI128 => 1,
Self::Poseidon8HashToU8 => 1,
Self::Poseidon8HashToU16 => 1,
Self::Poseidon8HashToU32 => 1,
Self::Poseidon8HashToU64 => 1,
Self::Poseidon8HashToU128 => 1,
Self::Poseidon8HashToScalar => 1,
Self::MappingGet => 2,

View File

@ -263,13 +263,19 @@ impl<'a> CodeGenerator<'a> {
// Helper function to construct the instruction associated with a simple function call.
// This assumes that the function call has one output.
let mut construct_simple_function_call = |opcode: &Identifier, variant: &str, arguments: Vec<String>| {
let mut construct_simple_function_call = |function: &Identifier, variant: &str, arguments: Vec<String>| {
// Split function into [opcode, return type] e.g. hash_to_field -> [hash, field]
let function_name = function.name.to_string();
let mut names = function_name.split("_to_");
let opcode = names.next().expect("failed to get opcode");
let return_type = names.next().expect("failed to get type");
let mut instruction = format!(" {opcode}.{variant}");
for argument in arguments {
write!(instruction, " {argument}").expect("failed to write to string");
}
let destination_register = get_destination_register();
write!(instruction, " into {destination_register};").expect("failed to write to string");
write!(instruction, " into {destination_register} as {return_type};").expect("failed to write to string");
(destination_register, instruction)
};

View File

@ -356,41 +356,51 @@ impl<'a> TypeChecker<'a> {
let check_not_mapping_tuple_err_unit = |type_: &Option<Type>, span: &Span| {
self.check_type(
|type_: &Type| !matches!(type_, Type::Mapping(_) | Type::Tuple(_) | Type::Err | Type::Unit),
"address, boolean, field, group, struct, integer, scalar, scalar, string".to_string(),
"address, boolean, field, group, struct, integer, scalar, struct".to_string(),
type_,
*span,
);
};
// Helper to check that the type of the argument is a valid input to a Pedersen hash/commit with 64-bit inputs.
// The console types in snarkVM have some overhead in their bitwise representation. Consequently, Pedersen64 cannot accept a u64.
let check_pedersen_64_bit_input = |type_: &Option<Type>, span: &Span| {
self.check_type(
|type_: &Type| {
matches!(
!matches!(
type_,
Type::Boolean
| Type::Integer(IntegerType::I8)
| Type::Integer(IntegerType::I16)
| Type::Integer(IntegerType::I32)
Type::Integer(IntegerType::U64)
| Type::Integer(IntegerType::I64)
| Type::Integer(IntegerType::U8)
| Type::Integer(IntegerType::U16)
| Type::Integer(IntegerType::U32)
| Type::Integer(IntegerType::U64)
| Type::String
| Type::Integer(IntegerType::U128)
| Type::Integer(IntegerType::I128)
| Type::Mapping(_)
| Type::Tuple(_)
| Type::Err
| Type::Unit
)
},
"boolean, integer (up to 64 bits), string".to_string(),
"address, boolean, field, group, struct, integer, scalar, struct".to_string(),
type_,
*span,
);
};
// Helper to check that the type of the argument is a valid input to a Pedersen hash/commit with 128-bit inputs.
// The console types in snarkVM have some overhead in their bitwise representation. Consequently, Pedersen128 cannot accept a u128.
let check_pedersen_128_bit_input = |type_: &Option<Type>, span: &Span| {
self.check_type(
|type_: &Type| matches!(type_, Type::Boolean | Type::Integer(_) | Type::String),
"boolean, integer, string".to_string(),
|type_: &Type| {
!matches!(
type_,
Type::Integer(IntegerType::U128)
| Type::Integer(IntegerType::I128)
| Type::Mapping(_)
| Type::Tuple(_)
| Type::Err
| Type::Unit
)
},
"address, boolean, field, group, struct, integer, scalar, struct".to_string(),
type_,
*span,
);
@ -398,10 +408,20 @@ impl<'a> TypeChecker<'a> {
// Check that the arguments are of the correct type.
match core_function {
CoreFunction::BHP256Commit
| CoreFunction::BHP512Commit
| CoreFunction::BHP768Commit
| CoreFunction::BHP1024Commit => {
CoreFunction::BHP256CommitToAddress
| CoreFunction::BHP512CommitToAddress
| CoreFunction::BHP768CommitToAddress
| CoreFunction::BHP1024CommitToAddress => {
// Check that the first argument is not a mapping, tuple, err, or unit type.
check_not_mapping_tuple_err_unit(&arguments[0].0, &arguments[0].1);
// Check that the second argument is a scalar.
self.assert_scalar_type(&arguments[1].0, arguments[1].1);
Some(Type::Address)
}
CoreFunction::BHP256CommitToField
| CoreFunction::BHP512CommitToField
| CoreFunction::BHP768CommitToField
| CoreFunction::BHP1024CommitToField => {
// Check that the first argument is not a mapping, tuple, err, or unit type.
check_not_mapping_tuple_err_unit(&arguments[0].0, &arguments[0].1);
// Check that the second argument is a scalar.
@ -418,10 +438,24 @@ impl<'a> TypeChecker<'a> {
self.assert_scalar_type(&arguments[1].0, arguments[1].1);
Some(Type::Group)
}
CoreFunction::BHP256Hash
| CoreFunction::BHP512Hash
| CoreFunction::BHP768Hash
| CoreFunction::BHP1024Hash => {
CoreFunction::BHP256HashToAddress
| CoreFunction::BHP512HashToAddress
| CoreFunction::BHP768HashToAddress
| CoreFunction::BHP1024HashToAddress
| CoreFunction::Poseidon2HashToAddress
| CoreFunction::Poseidon4HashToAddress
| CoreFunction::Poseidon8HashToAddress => {
// Check that the first argument is not a mapping, tuple, err, or unit type.
check_not_mapping_tuple_err_unit(&arguments[0].0, &arguments[0].1);
Some(Type::Address)
}
CoreFunction::BHP256HashToField
| CoreFunction::BHP512HashToField
| CoreFunction::BHP768HashToField
| CoreFunction::BHP1024HashToField
| CoreFunction::Poseidon2HashToField
| CoreFunction::Poseidon4HashToField
| CoreFunction::Poseidon8HashToField => {
// Check that the first argument is not a mapping, tuple, err, or unit type.
check_not_mapping_tuple_err_unit(&arguments[0].0, &arguments[0].1);
Some(Type::Field)
@ -429,13 +463,145 @@ impl<'a> TypeChecker<'a> {
CoreFunction::BHP256HashToGroup
| CoreFunction::BHP512HashToGroup
| CoreFunction::BHP768HashToGroup
| CoreFunction::BHP1024HashToGroup => {
| CoreFunction::BHP1024HashToGroup
| CoreFunction::Poseidon2HashToGroup
| CoreFunction::Poseidon4HashToGroup
| CoreFunction::Poseidon8HashToGroup => {
// Check that the first argument is not a mapping, tuple, err, or unit type.
check_not_mapping_tuple_err_unit(&arguments[0].0, &arguments[0].1);
Some(Type::Group)
}
CoreFunction::Pedersen64Commit => {
// Check that the first argument is either a boolean, integer up to 64 bits, or field element.
CoreFunction::BHP256HashToI8
| CoreFunction::BHP512HashToI8
| CoreFunction::BHP768HashToI8
| CoreFunction::BHP1024HashToI8
| CoreFunction::Poseidon2HashToI8
| CoreFunction::Poseidon4HashToI8
| CoreFunction::Poseidon8HashToI8 => {
// Check that the first argument is not a mapping, tuple, err, or unit type.
check_not_mapping_tuple_err_unit(&arguments[0].0, &arguments[0].1);
Some(Type::Integer(IntegerType::I8))
}
CoreFunction::BHP256HashToI16
| CoreFunction::BHP512HashToI16
| CoreFunction::BHP768HashToI16
| CoreFunction::BHP1024HashToI16
| CoreFunction::Poseidon2HashToI16
| CoreFunction::Poseidon4HashToI16
| CoreFunction::Poseidon8HashToI16 => {
// Check that the first argument is not a mapping, tuple, err, or unit type.
check_not_mapping_tuple_err_unit(&arguments[0].0, &arguments[0].1);
Some(Type::Integer(IntegerType::I16))
}
CoreFunction::BHP256HashToI32
| CoreFunction::BHP512HashToI32
| CoreFunction::BHP768HashToI32
| CoreFunction::BHP1024HashToI32
| CoreFunction::Poseidon2HashToI32
| CoreFunction::Poseidon4HashToI32
| CoreFunction::Poseidon8HashToI32 => {
// Check that the first argument is not a mapping, tuple, err, or unit type.
check_not_mapping_tuple_err_unit(&arguments[0].0, &arguments[0].1);
Some(Type::Integer(IntegerType::I32))
}
CoreFunction::BHP256HashToI64
| CoreFunction::BHP512HashToI64
| CoreFunction::BHP768HashToI64
| CoreFunction::BHP1024HashToI64
| CoreFunction::Poseidon2HashToI64
| CoreFunction::Poseidon4HashToI64
| CoreFunction::Poseidon8HashToI64 => {
// Check that the first argument is not a mapping, tuple, err, or unit type.
check_not_mapping_tuple_err_unit(&arguments[0].0, &arguments[0].1);
Some(Type::Integer(IntegerType::I64))
}
CoreFunction::BHP256HashToI128
| CoreFunction::BHP512HashToI128
| CoreFunction::BHP768HashToI128
| CoreFunction::BHP1024HashToI128
| CoreFunction::Poseidon2HashToI128
| CoreFunction::Poseidon4HashToI128
| CoreFunction::Poseidon8HashToI128 => {
// Check that the first argument is not a mapping, tuple, err, or unit type.
check_not_mapping_tuple_err_unit(&arguments[0].0, &arguments[0].1);
Some(Type::Integer(IntegerType::I128))
}
CoreFunction::BHP256HashToU8
| CoreFunction::BHP512HashToU8
| CoreFunction::BHP768HashToU8
| CoreFunction::BHP1024HashToU8
| CoreFunction::Poseidon2HashToU8
| CoreFunction::Poseidon4HashToU8
| CoreFunction::Poseidon8HashToU8 => {
// Check that the first argument is not a mapping, tuple, err, or unit type.
check_not_mapping_tuple_err_unit(&arguments[0].0, &arguments[0].1);
Some(Type::Integer(IntegerType::U8))
}
CoreFunction::BHP256HashToU16
| CoreFunction::BHP512HashToU16
| CoreFunction::BHP768HashToU16
| CoreFunction::BHP1024HashToU16
| CoreFunction::Poseidon2HashToU16
| CoreFunction::Poseidon4HashToU16
| CoreFunction::Poseidon8HashToU16 => {
// Check that the first argument is not a mapping, tuple, err, or unit type.
check_not_mapping_tuple_err_unit(&arguments[0].0, &arguments[0].1);
Some(Type::Integer(IntegerType::U16))
}
CoreFunction::BHP256HashToU32
| CoreFunction::BHP512HashToU32
| CoreFunction::BHP768HashToU32
| CoreFunction::BHP1024HashToU32
| CoreFunction::Poseidon2HashToU32
| CoreFunction::Poseidon4HashToU32
| CoreFunction::Poseidon8HashToU32 => {
// Check that the first argument is not a mapping, tuple, err, or unit type.
check_not_mapping_tuple_err_unit(&arguments[0].0, &arguments[0].1);
Some(Type::Integer(IntegerType::U32))
}
CoreFunction::BHP256HashToU64
| CoreFunction::BHP512HashToU64
| CoreFunction::BHP768HashToU64
| CoreFunction::BHP1024HashToU64
| CoreFunction::Poseidon2HashToU64
| CoreFunction::Poseidon4HashToU64
| CoreFunction::Poseidon8HashToU64 => {
// Check that the first argument is not a mapping, tuple, err, or unit type.
check_not_mapping_tuple_err_unit(&arguments[0].0, &arguments[0].1);
Some(Type::Integer(IntegerType::U64))
}
CoreFunction::BHP256HashToU128
| CoreFunction::BHP512HashToU128
| CoreFunction::BHP768HashToU128
| CoreFunction::BHP1024HashToU128
| CoreFunction::Poseidon2HashToU128
| CoreFunction::Poseidon4HashToU128
| CoreFunction::Poseidon8HashToU128 => {
// Check that the first argument is not a mapping, tuple, err, or unit type.
check_not_mapping_tuple_err_unit(&arguments[0].0, &arguments[0].1);
Some(Type::Integer(IntegerType::U128))
}
CoreFunction::BHP256HashToScalar
| CoreFunction::BHP512HashToScalar
| CoreFunction::BHP768HashToScalar
| CoreFunction::BHP1024HashToScalar
| CoreFunction::Poseidon2HashToScalar
| CoreFunction::Poseidon4HashToScalar
| CoreFunction::Poseidon8HashToScalar => {
// Check that the first argument is not a mapping, tuple, err, or unit type.
check_not_mapping_tuple_err_unit(&arguments[0].0, &arguments[0].1);
Some(Type::Scalar)
}
CoreFunction::Pedersen64CommitToAddress => {
// Check that the first argument is not a mapping, tuple, err, unit type, or integer over 32 bits.
check_pedersen_64_bit_input(&arguments[0].0, &arguments[0].1);
// Check that the second argument is a scalar.
self.assert_scalar_type(&arguments[1].0, arguments[1].1);
Some(Type::Address)
}
CoreFunction::Pedersen64CommitToField => {
// Check that the first argument is not a mapping, tuple, err, unit type, or integer over 32 bits.
check_pedersen_64_bit_input(&arguments[0].0, &arguments[0].1);
// Check that the second argument is a scalar.
self.assert_scalar_type(&arguments[1].0, arguments[1].1);
@ -443,25 +609,93 @@ impl<'a> TypeChecker<'a> {
Some(Type::Field)
}
CoreFunction::Pedersen64CommitToGroup => {
// Check that the first argument is either a boolean, integer up to 64 bits, or field element.
// Check that the first argument is not a mapping, tuple, err, unit type, or integer over 32 bits.
check_pedersen_64_bit_input(&arguments[0].0, &arguments[0].1);
// Check that the second argument is a scalar.
self.assert_scalar_type(&arguments[1].0, arguments[1].1);
Some(Type::Group)
}
CoreFunction::Pedersen64Hash => {
// Check that the first argument is either a boolean, integer up to 64 bits, or field element.
CoreFunction::Pedersen64HashToAddress => {
// Check that the first argument is not a mapping, tuple, err, unit type, or integer over 32 bits.
check_pedersen_64_bit_input(&arguments[0].0, &arguments[0].1);
Some(Type::Address)
}
CoreFunction::Pedersen64HashToField => {
// Check that the first argument is not a mapping, tuple, err, unit type, or integer over 32 bits.
check_pedersen_64_bit_input(&arguments[0].0, &arguments[0].1);
Some(Type::Field)
}
CoreFunction::Pedersen64HashToGroup => {
// Check that the first argument is either a boolean, integer up to 64 bits, or field element.
// Check that the first argument is not a mapping, tuple, err, unit type, or integer over 32 bits.
check_pedersen_64_bit_input(&arguments[0].0, &arguments[0].1);
Some(Type::Group)
}
CoreFunction::Pedersen128Commit => {
// Check that the first argument is either a boolean, integer, or field element.
CoreFunction::Pedersen64HashToI8 => {
// Check that the first argument is not a mapping, tuple, err, unit type, or integer over 32 bits.
check_pedersen_64_bit_input(&arguments[0].0, &arguments[0].1);
Some(Type::Integer(IntegerType::I8))
}
CoreFunction::Pedersen64HashToI16 => {
// Check that the first argument is not a mapping, tuple, err, unit type, or integer over 32 bits.
check_pedersen_64_bit_input(&arguments[0].0, &arguments[0].1);
Some(Type::Integer(IntegerType::I16))
}
CoreFunction::Pedersen64HashToI32 => {
// Check that the first argument is not a mapping, tuple, err, unit type, or integer over 32 bits.
check_pedersen_64_bit_input(&arguments[0].0, &arguments[0].1);
Some(Type::Integer(IntegerType::I32))
}
CoreFunction::Pedersen64HashToI64 => {
// Check that the first argument is not a mapping, tuple, err, unit type, or integer over 32 bits.
check_pedersen_64_bit_input(&arguments[0].0, &arguments[0].1);
Some(Type::Integer(IntegerType::I64))
}
CoreFunction::Pedersen64HashToI128 => {
// Check that the first argument is not a mapping, tuple, err, unit type, or integer over 32 bits.
check_pedersen_64_bit_input(&arguments[0].0, &arguments[0].1);
Some(Type::Integer(IntegerType::I128))
}
CoreFunction::Pedersen64HashToU8 => {
// Check that the first argument is not a mapping, tuple, err, unit type, or integer over 32 bits.
check_pedersen_64_bit_input(&arguments[0].0, &arguments[0].1);
Some(Type::Integer(IntegerType::U8))
}
CoreFunction::Pedersen64HashToU16 => {
// Check that the first argument is not a mapping, tuple, err, unit type, or integer over 32 bits.
check_pedersen_64_bit_input(&arguments[0].0, &arguments[0].1);
Some(Type::Integer(IntegerType::U16))
}
CoreFunction::Pedersen64HashToU32 => {
// Check that the first argument is not a mapping, tuple, err, unit type, or integer over 32 bits.
check_pedersen_64_bit_input(&arguments[0].0, &arguments[0].1);
Some(Type::Integer(IntegerType::U32))
}
CoreFunction::Pedersen64HashToU64 => {
// Check that the first argument is not a mapping, tuple, err, unit type, or integer over 32 bits.
check_pedersen_64_bit_input(&arguments[0].0, &arguments[0].1);
Some(Type::Integer(IntegerType::U64))
}
CoreFunction::Pedersen64HashToU128 => {
// Check that the first argument is not a mapping, tuple, err, unit type, or integer over 32 bits.
check_pedersen_64_bit_input(&arguments[0].0, &arguments[0].1);
Some(Type::Integer(IntegerType::U128))
}
CoreFunction::Pedersen64HashToScalar => {
// Check that the first argument is not a mapping, tuple, err, unit type, or integer over 32 bits.
check_pedersen_64_bit_input(&arguments[0].0, &arguments[0].1);
Some(Type::Scalar)
}
CoreFunction::Pedersen128CommitToAddress => {
// Check that the first argument is not a mapping, tuple, err, unit type, or integer over 64 bits.
check_pedersen_128_bit_input(&arguments[0].0, &arguments[0].1);
// Check that the second argument is a scalar.
self.assert_scalar_type(&arguments[1].0, arguments[1].1);
Some(Type::Address)
}
CoreFunction::Pedersen128CommitToField => {
// Check that the first argument is not a mapping, tuple, err, unit type, or integer over 64 bits.
check_pedersen_128_bit_input(&arguments[0].0, &arguments[0].1);
// Check that the second argument is a scalar.
self.assert_scalar_type(&arguments[1].0, arguments[1].1);
@ -469,40 +703,81 @@ impl<'a> TypeChecker<'a> {
Some(Type::Field)
}
CoreFunction::Pedersen128CommitToGroup => {
// Check that the first argument is either a boolean, integer, or field element.
// Check that the first argument is not a mapping, tuple, err, unit type, or integer over 64 bits.
check_pedersen_128_bit_input(&arguments[0].0, &arguments[0].1);
// Check that the second argument is a scalar.
self.assert_scalar_type(&arguments[1].0, arguments[1].1);
Some(Type::Group)
}
CoreFunction::Pedersen128Hash => {
// Check that the first argument is either a boolean, integer, or field element.
CoreFunction::Pedersen128HashToAddress => {
// Check that the first argument is not a mapping, tuple, err, unit type, or integer over 64 bits.
check_pedersen_128_bit_input(&arguments[0].0, &arguments[0].1);
Some(Type::Address)
}
CoreFunction::Pedersen128HashToField => {
// Check that the first argument is not a mapping, tuple, err, unit type, or integer over 64 bits.
check_pedersen_128_bit_input(&arguments[0].0, &arguments[0].1);
Some(Type::Field)
}
CoreFunction::Pedersen128HashToGroup => {
// Check that the first argument is either a boolean, integer, or field element.
// Check that the first argument is not a mapping, tuple, err, unit type, or integer over 64 bits.
check_pedersen_128_bit_input(&arguments[0].0, &arguments[0].1);
Some(Type::Group)
}
CoreFunction::Poseidon2Hash | CoreFunction::Poseidon4Hash | CoreFunction::Poseidon8Hash => {
// Check that the first argument is not a mapping, tuple, err, or unit type.
check_not_mapping_tuple_err_unit(&arguments[0].0, &arguments[0].1);
Some(Type::Field)
CoreFunction::Pedersen128HashToI8 => {
// Check that the first argument is not a mapping, tuple, err, unit type, or integer over 64 bits.
check_pedersen_128_bit_input(&arguments[0].0, &arguments[0].1);
Some(Type::Integer(IntegerType::I8))
}
CoreFunction::Poseidon2HashToGroup
| CoreFunction::Poseidon4HashToGroup
| CoreFunction::Poseidon8HashToGroup => {
// Check that the first argument is not a mapping, tuple, err, or unit type.
check_not_mapping_tuple_err_unit(&arguments[0].0, &arguments[0].1);
Some(Type::Group)
CoreFunction::Pedersen128HashToI16 => {
// Check that the first argument is not a mapping, tuple, err, unit type, or integer over 64 bits.
check_pedersen_128_bit_input(&arguments[0].0, &arguments[0].1);
Some(Type::Integer(IntegerType::I16))
}
CoreFunction::Poseidon2HashToScalar
| CoreFunction::Poseidon4HashToScalar
| CoreFunction::Poseidon8HashToScalar => {
// Check that the first argument is not a mapping, tuple, err, or unit type.
check_not_mapping_tuple_err_unit(&arguments[0].0, &arguments[0].1);
CoreFunction::Pedersen128HashToI32 => {
// Check that the first argument is not a mapping, tuple, err, unit type, or integer over 64 bits.
check_pedersen_128_bit_input(&arguments[0].0, &arguments[0].1);
Some(Type::Integer(IntegerType::I32))
}
CoreFunction::Pedersen128HashToI64 => {
// Check that the first argument is not a mapping, tuple, err, unit type, or integer over 64 bits.
check_pedersen_128_bit_input(&arguments[0].0, &arguments[0].1);
Some(Type::Integer(IntegerType::I64))
}
CoreFunction::Pedersen128HashToI128 => {
// Check that the first argument is not a mapping, tuple, err, unit type, or integer over 64 bits.
check_pedersen_128_bit_input(&arguments[0].0, &arguments[0].1);
Some(Type::Integer(IntegerType::I128))
}
CoreFunction::Pedersen128HashToU8 => {
// Check that the first argument is not a mapping, tuple, err, unit type, or integer over 64 bits.
check_pedersen_128_bit_input(&arguments[0].0, &arguments[0].1);
Some(Type::Integer(IntegerType::U8))
}
CoreFunction::Pedersen128HashToU16 => {
// Check that the first argument is not a mapping, tuple, err, unit type, or integer over 64 bits.
check_pedersen_128_bit_input(&arguments[0].0, &arguments[0].1);
Some(Type::Integer(IntegerType::U16))
}
CoreFunction::Pedersen128HashToU32 => {
// Check that the first argument is not a mapping, tuple, err, unit type, or integer over 64 bits.
check_pedersen_128_bit_input(&arguments[0].0, &arguments[0].1);
Some(Type::Integer(IntegerType::U32))
}
CoreFunction::Pedersen128HashToU64 => {
// Check that the first argument is not a mapping, tuple, err, unit type, or integer over 64 bits.
check_pedersen_128_bit_input(&arguments[0].0, &arguments[0].1);
Some(Type::Integer(IntegerType::U64))
}
CoreFunction::Pedersen128HashToU128 => {
// Check that the first argument is not a mapping, tuple, err, unit type, or integer over 64 bits.
check_pedersen_128_bit_input(&arguments[0].0, &arguments[0].1);
Some(Type::Integer(IntegerType::U128))
}
CoreFunction::Pedersen128HashToScalar => {
// Check that the first argument is not a mapping, tuple, err, unit type, or integer over 64 bits.
check_pedersen_128_bit_input(&arguments[0].0, &arguments[0].1);
Some(Type::Scalar)
}
CoreFunction::MappingGet => {

View File

@ -149,12 +149,24 @@ symbols! {
BHP512,
BHP768,
BHP1024,
commit,
commit_to_address,
commit_to_field,
commit_to_group,
get,
get_or_use,
hash,
hash_to_address,
hash_to_field,
hash_to_group,
hash_to_i8,
hash_to_i16,
hash_to_i32,
hash_to_i64,
hash_to_i128,
hash_to_u8,
hash_to_u16,
hash_to_u32,
hash_to_u64,
hash_to_u128,
hash_to_scalar,
Mapping,
Pedersen64,
@ -215,8 +227,6 @@ symbols! {
SelfLower: "self",
SelfUpper: "Self",
Star: "*",
std,
test,
then,
transition,
Type: "type",
@ -227,11 +237,6 @@ symbols! {
owner,
_nonce,
program,
// input file
registers,
state,
state_leaf,
}
/// An interned string.

View File

@ -27,7 +27,7 @@ Can you find any others?
## Language Features and Concepts
- `record` declarations
- `assert_eq`
- core functions, e.g. `BHP256::hash`
- core functions, e.g. `BHP256::hash_to_field`
- record ownership
- loops and bounded iteration
- mappings

View File

@ -37,7 +37,7 @@ program basic_bank.aleo {
};
// Compute the hash of the token owner.
let hash: field = BHP256::hash(token.owner);
let hash: field = BHP256::hash_to_field(token.owner);
return remaining then finalize(hash, amount);
}
@ -58,7 +58,7 @@ program basic_bank.aleo {
// Requires that the function caller is the bank.
transition withdraw(recipient: address, amount: u64, rate: u64, periods: u64) -> Token {
assert_eq(self.caller, aleo1t0uer3jgtsgmx5tq6x6f9ecu8tr57rzzfnc2dgmcqldceal0ls9qf6st7a);
let hash: field = BHP256::hash(recipient);
let hash: field = BHP256::hash_to_field(recipient);
let total: u64 = calculate_interest(amount, rate, periods);

View File

@ -2,11 +2,11 @@ program core.aleo {
// This function takes as input a field `a` and calls several core functions.
// Core functions are built-in to the Leo language and call handwritten, optimized circuits in the AVM.
// To call a core function, use the correct capitalized identifier followed by two colons
// and then the function name. Example: `Pedersen64::hash()`.
// and then the function name. Example: `Pedersen64::hash_to_field()`.
transition main(a: field) -> field {
let b: field = BHP256::hash(a);
let c: field = Poseidon2::hash(b);
let d: field = BHP256::commit(c, 1scalar);
let b: field = BHP256::hash_to_field(a);
let c: field = Poseidon2::hash_to_field(b);
let d: field = BHP256::commit_to_field(c, 1scalar);
return d;
}
}

View File

@ -36,7 +36,7 @@ program vote.aleo {
assert_eq(self.caller, info.proposer);
// Generate a new proposal id.
let id: field = BHP256::hash(info.title);
let id: field = BHP256::hash_to_field(info.title);
// Return a new record for the proposal.

View File

@ -1,12 +0,0 @@
---
namespace: Compile
expectation: Pass
outputs:
- - initial_ast: 4a07b869cb8de3d550e632e5522b289c449abb968b282f5fa3f4076dcb4dda0c
unrolled_ast: 4a07b869cb8de3d550e632e5522b289c449abb968b282f5fa3f4076dcb4dda0c
ssa_ast: f18a586a5733c38b399941c9502093cbb08fd09d9c0f1daefeb4f3fc4e396bfe
flattened_ast: f10ac6c175784980ffe81b9d14d5abf39288cd6a55c6982b3cb32ed3e6b36336
inlined_ast: f10ac6c175784980ffe81b9d14d5abf39288cd6a55c6982b3cb32ed3e6b36336
dce_ast: 22338b00245ad994428d0e7f3cdb4596c3253aa89cd547eb1da68d17cc7daae1
bytecode: 9929c4c4138f54a98a47a3de536f73a211cf490539d1f2f55cd6878d468d7b56
warnings: ""

View File

@ -0,0 +1,12 @@
---
namespace: Compile
expectation: Pass
outputs:
- - initial_ast: 6417c752e4968610c42d36d9826dae8b4db63c6330213de3b502cefd4eb3398e
unrolled_ast: 6417c752e4968610c42d36d9826dae8b4db63c6330213de3b502cefd4eb3398e
ssa_ast: 3b8dfc337c376f4cd2481943117645906ea60c1d7c01b574facdfa7e9d45d40c
flattened_ast: dd5cc399b597020a3560b66a49524d482c3a19f73fb6ce5db1c16956a75e6ceb
inlined_ast: dd5cc399b597020a3560b66a49524d482c3a19f73fb6ce5db1c16956a75e6ceb
dce_ast: 2632a68c7bcaf198306ebee254255fdd7bb9e414a18aff701b61c20970c83736
bytecode: 03845ec2f54d49f71640659603ead8f68ad067a15fda438e5e13524777d1559b
warnings: ""

View File

@ -0,0 +1,12 @@
---
namespace: Compile
expectation: Pass
outputs:
- - initial_ast: 086f141b1c5abf33b33552e8f4afee66d1329feeef57ce75112998389d72a4c4
unrolled_ast: 086f141b1c5abf33b33552e8f4afee66d1329feeef57ce75112998389d72a4c4
ssa_ast: e41102928f21811470f44435b92472ed723d8ae2a585fc0fbcb1797e9346a638
flattened_ast: ab5b47d4fab10de2cab10760eae24353f988b2fedd5f7fb9fe2886a87e0c3633
inlined_ast: ab5b47d4fab10de2cab10760eae24353f988b2fedd5f7fb9fe2886a87e0c3633
dce_ast: cb018621c3d6099c5f0e42185c9d83ac3fdf7b00381456aff4ccba2749af0e38
bytecode: 680bee256d40c3ca4226844e73ae277e6db6af6398cab44674e421359f50cb83
warnings: ""

View File

@ -2,11 +2,11 @@
namespace: Compile
expectation: Pass
outputs:
- - initial_ast: 2662c97bfa730010f7b4ce995a567349601aab7ed63975cc694b47a697aa2722
unrolled_ast: 2662c97bfa730010f7b4ce995a567349601aab7ed63975cc694b47a697aa2722
ssa_ast: 94d7b83fa0a924d6a7ed58f0505808abe1f2df80c7e8818ec6969c8e9b075854
flattened_ast: ba0c8eb9f5b1bdf6165c0da3501f4f41e92ab08051751c22be7f62fcf4b64d2b
inlined_ast: ba0c8eb9f5b1bdf6165c0da3501f4f41e92ab08051751c22be7f62fcf4b64d2b
dce_ast: 31b15a99bfb924ba669f9748335dbbea33b995e9e7ec23ac6bbcba092a419c5e
bytecode: 894b825c3222090c63e93a7df77b9af65fbacff4b6ce0f1a9e9f3f9663218d45
- - initial_ast: 896305425070c637fba01f575eacd09304754c578cbefab4cf761222a6508bc1
unrolled_ast: 896305425070c637fba01f575eacd09304754c578cbefab4cf761222a6508bc1
ssa_ast: d1ba294f32123bdf9cd9e31c674b444596c27e9720933cf12e68d37a208a8746
flattened_ast: 8c0b1aefb1db55471ef38223f334e1ec5855f338dd8402e42e76847067330e6b
inlined_ast: 8c0b1aefb1db55471ef38223f334e1ec5855f338dd8402e42e76847067330e6b
dce_ast: 6b1b7b1341b3c7b9478db64e938538f33c71535f9f530c9e8b37f99a5da69a27
bytecode: 83cd9a0a063adab9de89253b1a5be0b4bbdc04a2a73a62a03fc1dd1639a4fbbf
warnings: ""

View File

@ -1,12 +0,0 @@
---
namespace: Compile
expectation: Pass
outputs:
- - initial_ast: 9b05ccb827d05aec4633080aec05b1cf0b00a44e408badb0ba2903b20de371a0
unrolled_ast: 9b05ccb827d05aec4633080aec05b1cf0b00a44e408badb0ba2903b20de371a0
ssa_ast: fe53b8620fcbd33724ae55b400fa8670b159d8895827179fb1f359c6b4019af0
flattened_ast: 8383bea2712e3923e51964484d2572bbab5bf6b7b5f2482f3de75d0725982729
inlined_ast: 8383bea2712e3923e51964484d2572bbab5bf6b7b5f2482f3de75d0725982729
dce_ast: 5769dea7f3bb04d04838d6b1a00a76ad971905b3aed24c1b8b272e8a0eebbaf4
bytecode: 4b256b94eba361efe85a1d3a0504459d30627a3fe3dc565a77563b6c3fe56485
warnings: ""

View File

@ -0,0 +1,12 @@
---
namespace: Compile
expectation: Pass
outputs:
- - initial_ast: 8fb7dc654017095718860202609b0ca646f3d877a692e53bf8933de7c8432edb
unrolled_ast: 8fb7dc654017095718860202609b0ca646f3d877a692e53bf8933de7c8432edb
ssa_ast: 82079d59219c8482e09d9f81b09916857317b9755575de86c64d0d1d719e5b01
flattened_ast: 05559bf1900a3ac699da388ff7bb1ba8a4b715dcea4c6c5f1471d9538b944a32
inlined_ast: 05559bf1900a3ac699da388ff7bb1ba8a4b715dcea4c6c5f1471d9538b944a32
dce_ast: f03fb808180c842f2ce1ad49fb2c59b4aad76eb8d606ff1683d4b0042c75ece6
bytecode: 03845ec2f54d49f71640659603ead8f68ad067a15fda438e5e13524777d1559b
warnings: ""

View File

@ -0,0 +1,12 @@
---
namespace: Compile
expectation: Pass
outputs:
- - initial_ast: 0579d18f1a8df1d3aaf97d5022d2b0cad4edd90b134440c37fdc1050b8ad2b93
unrolled_ast: 0579d18f1a8df1d3aaf97d5022d2b0cad4edd90b134440c37fdc1050b8ad2b93
ssa_ast: 2939f05bb3914ceca7cb9006092e88b18424bb76aa158a445f93553d3c3bec2a
flattened_ast: 8aa371d2247fdbb90e449df1b5e8bc9abb37e0c9f95aae0c2a314bb96fd1094e
inlined_ast: 8aa371d2247fdbb90e449df1b5e8bc9abb37e0c9f95aae0c2a314bb96fd1094e
dce_ast: de6134fc83e79a1b4f9ce320735bdf15a33d0857fc118984cefe76ac754db1fb
bytecode: 941f89f9872fc4a4cd8657d4ddc9bfe76d332e25cebfb374d29f8f9359ffb4ce
warnings: ""

View File

@ -2,11 +2,11 @@
namespace: Compile
expectation: Pass
outputs:
- - initial_ast: cc395069aef489311976800dcc187e25023d1bd88a58eefcd3e1d28a827712f1
unrolled_ast: cc395069aef489311976800dcc187e25023d1bd88a58eefcd3e1d28a827712f1
ssa_ast: b00508e2c217f4071ff3b4eab87853544f5664a102b1cc0453cafb7d644ec646
flattened_ast: 05e8f4c1407ba6146d4c1576e66d93fdf4dda7195f79274e62d1edc2b1ed099f
inlined_ast: 05e8f4c1407ba6146d4c1576e66d93fdf4dda7195f79274e62d1edc2b1ed099f
dce_ast: 8c59a550b60bd82ef2791cc90928a1d1dfad93869adf03d4d4b19bff241e83b9
bytecode: 2a72dbdc11a82c70c81d5badc9823afaf8fc17be5f1011ccfc405823eb17288d
- - initial_ast: 74cccc4b0a38262c1b5f3ff921bc6e65a1e4be7d20a7606db75fb0ad9247feb5
unrolled_ast: 74cccc4b0a38262c1b5f3ff921bc6e65a1e4be7d20a7606db75fb0ad9247feb5
ssa_ast: a20bf82c331521c4535d7ace183a3e124ec6d750933f4fd7b84a26fd83bdeb26
flattened_ast: 3729ddec42cd3c551ee5418439016b38c9870b345c3bec6447d76d34041b485e
inlined_ast: 3729ddec42cd3c551ee5418439016b38c9870b345c3bec6447d76d34041b485e
dce_ast: 0376fbfc629f86ea660c26444614fc8d86d3e237a84dd43050dc1ff407dd925c
bytecode: b325c77f01ed291126c9b43ecbf54280a09ad0be299ca2aa8698c77af8e4d9bb
warnings: ""

View File

@ -0,0 +1,12 @@
---
namespace: Compile
expectation: Pass
outputs:
- - initial_ast: 2a97f22c62b24e3e3cff1c28026e80debcf63ca14a74ce2f79caba895609af54
unrolled_ast: 2a97f22c62b24e3e3cff1c28026e80debcf63ca14a74ce2f79caba895609af54
ssa_ast: db70af234a7d4bbec042aff2c5b8145271ed413a9eadaab6fca2cb2fe6dee3f0
flattened_ast: 35c76809e4fe1b415910f947869d9e5a0c6815277ee941fd7509df43702349b7
inlined_ast: 35c76809e4fe1b415910f947869d9e5a0c6815277ee941fd7509df43702349b7
dce_ast: 8e5a6527f81828f8a064624af356a985e54bc2a8b17fc50f6404d0ffe0e26bcf
bytecode: 1838804cfa5f0c1f7a9bb7ba88dc0207faa0e584b0b35bb34cce7091a9178fe9
warnings: ""

View File

@ -1,12 +0,0 @@
---
namespace: Compile
expectation: Pass
outputs:
- - initial_ast: f0870766c47c47ae2f0c57251e84b227fe308f3e27cd05843219857a1bcedd7e
unrolled_ast: f0870766c47c47ae2f0c57251e84b227fe308f3e27cd05843219857a1bcedd7e
ssa_ast: d9b742f5fe13d742e5ba8bc3f2da452ca403457fdd50d61bbe2c6c791317a3a3
flattened_ast: 77d87dd7b9b70c26962b9211778d3e06eb409e3984b1b03f2a859a35c08f7116
inlined_ast: 77d87dd7b9b70c26962b9211778d3e06eb409e3984b1b03f2a859a35c08f7116
dce_ast: 0e77c77136906cc81efc8cf2a72058963c85253ba4c901c6a404b64671983795
bytecode: 44dc9d33e1227a0be1b7d0c1cbbcdc57c08e769c4e56990a6e12bc01c7e6c0fa
warnings: ""

View File

@ -0,0 +1,12 @@
---
namespace: Compile
expectation: Pass
outputs:
- - initial_ast: 1a4db895daefbae8ac3962a881967d136a81009b35f98a398d862898e2d8b3e9
unrolled_ast: 1a4db895daefbae8ac3962a881967d136a81009b35f98a398d862898e2d8b3e9
ssa_ast: 0e435286556938d835575fa9e4f5cdbb3258654e83cb2eeff963fd415e3a7d14
flattened_ast: 61dbd5483b7ee3a628a9e19314d3c1990e058e4a64503743eb81ede91efc9e1d
inlined_ast: 61dbd5483b7ee3a628a9e19314d3c1990e058e4a64503743eb81ede91efc9e1d
dce_ast: d3664d33d77760248f0fb95ec48bd27bd3ccf76d7e5bc63da175417784b8aa49
bytecode: 03845ec2f54d49f71640659603ead8f68ad067a15fda438e5e13524777d1559b
warnings: ""

View File

@ -0,0 +1,12 @@
---
namespace: Compile
expectation: Pass
outputs:
- - initial_ast: abb7da2055010c29f05a6cb237b0e21da93c9ed8a64ee9aaa4b8bd7e771e5281
unrolled_ast: abb7da2055010c29f05a6cb237b0e21da93c9ed8a64ee9aaa4b8bd7e771e5281
ssa_ast: 8f0db0111b8b84f1d0db94f08edf2d464b34f9abd829e6c3bb079c5b767931d0
flattened_ast: 040f6c6c5422c9a75f51600d811f728715295e2f622a5bb7aaad12f30b0a0db7
inlined_ast: 040f6c6c5422c9a75f51600d811f728715295e2f622a5bb7aaad12f30b0a0db7
dce_ast: fec28348d3654f5db5789dd3727ec44915de208f3d5dd84aacba07536a0b2e23
bytecode: ff9bf81abae8332e89f00ebd53dda80528d7a582ade15b2fec53a88a7c5f0532
warnings: ""

View File

@ -2,11 +2,11 @@
namespace: Compile
expectation: Pass
outputs:
- - initial_ast: e681dbe32f7db13b07ed2097fc6ae01a165c4e9979b68139c1c04498a67bc051
unrolled_ast: e681dbe32f7db13b07ed2097fc6ae01a165c4e9979b68139c1c04498a67bc051
ssa_ast: cbdd5092fa34acfa824a7844568fc4b2a3805b8a8e1176fccb95d255557f8b4b
flattened_ast: 0d489666676a8a4a1d035e16f3c54cbd80dbb6275fccf7fab8ad7519ad4798a2
inlined_ast: 0d489666676a8a4a1d035e16f3c54cbd80dbb6275fccf7fab8ad7519ad4798a2
dce_ast: f8a5fc99d822738457538389d4309a6783738c96b7668a8c5f92230e753e4201
bytecode: 12173d7eec287a32e15d3b8097b6cde457eb0ac888b0f811000f37c523fdcc5a
- - initial_ast: 9f01bc3bda296633a3f3320de7bb338431b79c4aa8d0145d71a71ff2b8a27a41
unrolled_ast: 9f01bc3bda296633a3f3320de7bb338431b79c4aa8d0145d71a71ff2b8a27a41
ssa_ast: c65e3149273b96856d3abf9619d9cc43d47b487f4b66e50a7428fad1de2ab604
flattened_ast: 5f101a3a7e8eed1d2c89ab95fdce26022f1dbb697aa217402c56d2a1038613b2
inlined_ast: 5f101a3a7e8eed1d2c89ab95fdce26022f1dbb697aa217402c56d2a1038613b2
dce_ast: 11a6df9f5287fb118835a9dd942e4b6efe8831ac33758ec9063060812814738a
bytecode: 7cbb302c804e8dcb41c04687fe6f45aa748c5b7c0821f3825d21b424a4f89828
warnings: ""

View File

@ -1,12 +0,0 @@
---
namespace: Compile
expectation: Pass
outputs:
- - initial_ast: 748fbec820d27e116abf5a78230df78bd75b3a90a1dd1ff26e7baa0209e4331f
unrolled_ast: 748fbec820d27e116abf5a78230df78bd75b3a90a1dd1ff26e7baa0209e4331f
ssa_ast: 4be5c09a729ca14c2e5feb62330ddbbd2ce218ef65e64cfba8c4df6e928634b4
flattened_ast: bb4aa2f6741a3018e60d109a8849cb0db9a4d8bc8455d7fab28f6f251c0a235f
inlined_ast: bb4aa2f6741a3018e60d109a8849cb0db9a4d8bc8455d7fab28f6f251c0a235f
dce_ast: 6d9f949ba1756569c7df636bfe3ea6fa99691510121d5e7243b5da4fae598355
bytecode: 658a56af137ceb28a2d375453047d014c1ce2ced005ac3c00d4cca9b0b4f384d
warnings: ""

View File

@ -0,0 +1,12 @@
---
namespace: Compile
expectation: Pass
outputs:
- - initial_ast: 59c9bca3c22bab046a470ee9de20addce0e590a4fffa37c70c3b5398e5d5025b
unrolled_ast: 59c9bca3c22bab046a470ee9de20addce0e590a4fffa37c70c3b5398e5d5025b
ssa_ast: 3922e6f40a045944bee4263e6b95264d7a56556f3ee6b7ab56fc0289f662b7dd
flattened_ast: f43928a0c5463fd8314ff16d92f49a299d85b1b36ea9304421b6a1276382b7e4
inlined_ast: f43928a0c5463fd8314ff16d92f49a299d85b1b36ea9304421b6a1276382b7e4
dce_ast: 95fbe88d32e6d94724b8399dd475d27be9ccfc1ff9407f7f7f9e76122b9c7396
bytecode: 03845ec2f54d49f71640659603ead8f68ad067a15fda438e5e13524777d1559b
warnings: ""

View File

@ -0,0 +1,12 @@
---
namespace: Compile
expectation: Pass
outputs:
- - initial_ast: df8f5863441c322a2820409245aba3f60b1a8bfbbbf8abaeea1840e97c37a924
unrolled_ast: df8f5863441c322a2820409245aba3f60b1a8bfbbbf8abaeea1840e97c37a924
ssa_ast: 03286477a0e49159658bbe803ac15c55794cb742c50a54de778d85caa44efba1
flattened_ast: 7762408bed524328cdb523353a636c393e211c2d7b8a72ca9acc9e8797b4f92f
inlined_ast: 7762408bed524328cdb523353a636c393e211c2d7b8a72ca9acc9e8797b4f92f
dce_ast: 8cb0d6e1c85fedac617316d0f993e387a1a4a336e7ceb0200afa47bd6af57c25
bytecode: d5ece61c3e7fb656863858b29941f7947b344a5ff1b4985ae467689f58938553
warnings: ""

View File

@ -2,11 +2,11 @@
namespace: Compile
expectation: Pass
outputs:
- - initial_ast: 6544310db754c6167e82a0b696a304d4bcc254905745ad35e756dcea86b0174f
unrolled_ast: 6544310db754c6167e82a0b696a304d4bcc254905745ad35e756dcea86b0174f
ssa_ast: 35ce8a507b88ec78c140de3ae32526f85d556506cdeffae12158bf2911c35315
flattened_ast: 2ebe1f0eda2a22e4fa4e55b941d282ba3bee93c648daa17956c816c507b6819f
inlined_ast: 2ebe1f0eda2a22e4fa4e55b941d282ba3bee93c648daa17956c816c507b6819f
dce_ast: 407200c8d6adc3bf05b8d9527c8bf2296bfc29eae029acfde2bb4e34e609d6ef
bytecode: 8a35316b4d52095d0bc7b17a29dd902d1335578e5e02bf9bd272091004415138
- - initial_ast: b23d453a014370b531e5e113cd7de76eea72a9bec2ecec6ddcdc2f2e5802af4e
unrolled_ast: b23d453a014370b531e5e113cd7de76eea72a9bec2ecec6ddcdc2f2e5802af4e
ssa_ast: 0d0a6f58ab24d8777c83bf41e2a7afc9463ebfa38426e8403292576751a9a3d1
flattened_ast: 7c0ba0625cfb4d476b9cd4df037c5671498117d4efa6bb4a477071d3cf1e6593
inlined_ast: 7c0ba0625cfb4d476b9cd4df037c5671498117d4efa6bb4a477071d3cf1e6593
dce_ast: 6de89d2bd96d26fa29b4b3f91679b9247dd0ed8d1d7a0b38c8cc66c38a3c27a5
bytecode: a80b560327138b8bb041f5a6cea148be39bc74dad6a47f45621d207b625a1424
warnings: ""

View File

@ -0,0 +1,12 @@
---
namespace: Compile
expectation: Pass
outputs:
- - initial_ast: bcdd23efde004742b21c1c86bc586086353f781371a13445d48ec4287d668812
unrolled_ast: bcdd23efde004742b21c1c86bc586086353f781371a13445d48ec4287d668812
ssa_ast: c410257d8d0050eb56ce314f8dd0355812b8e494fd528826c145fac686ac976c
flattened_ast: ef9a8c291771afae9381402a3caac98a9102db73471edb755740eb8599a05c53
inlined_ast: ef9a8c291771afae9381402a3caac98a9102db73471edb755740eb8599a05c53
dce_ast: 766e9f05601c26ee1566d90dec05050304e63d405023d295582717066e12a35d
bytecode: 319405c8fe80b59376c041f234ae2ef213e2d67b50701412411ac97294f91e69
warnings: ""

View File

@ -1,12 +0,0 @@
---
namespace: Compile
expectation: Pass
outputs:
- - initial_ast: c14a3a02de49f39f4830c3ac8ab7e9211775c9167a0fb18b448272d00506550e
unrolled_ast: c14a3a02de49f39f4830c3ac8ab7e9211775c9167a0fb18b448272d00506550e
ssa_ast: fe3dc9ccbd0e7764ffffe162397efe40a7a3c2c03adca293a1047d7e070a2d5f
flattened_ast: fd62621c1e71b83c6af794643815c0f5a95fce09ad8ab8f69a4e0116aa182a85
inlined_ast: fd62621c1e71b83c6af794643815c0f5a95fce09ad8ab8f69a4e0116aa182a85
dce_ast: 92ce3e89a36cf48a64832fecb1c8e049a60cab9b4c892bb467894d35da6f7957
bytecode: 5f0519511cf81d4155bc8186812e59861e16cf5d8f1a2e6a87f2acf6877d425b
warnings: ""

View File

@ -0,0 +1,12 @@
---
namespace: Compile
expectation: Pass
outputs:
- - initial_ast: 72112481d51ff6b1b77547574dcc342c05fbd068cb1decdbfb9e1faef425fbf3
unrolled_ast: 72112481d51ff6b1b77547574dcc342c05fbd068cb1decdbfb9e1faef425fbf3
ssa_ast: caae6d971bcf9e9a7aa03b726c4000b0be61c9d5dab67a5a089754eefaf51729
flattened_ast: 87e449699d79bb1f1702dc99130172b6fc5419a8869addee67265b08289b9e82
inlined_ast: 87e449699d79bb1f1702dc99130172b6fc5419a8869addee67265b08289b9e82
dce_ast: d3664d33d77760248f0fb95ec48bd27bd3ccf76d7e5bc63da175417784b8aa49
bytecode: 03845ec2f54d49f71640659603ead8f68ad067a15fda438e5e13524777d1559b
warnings: ""

View File

@ -0,0 +1,12 @@
---
namespace: Compile
expectation: Pass
outputs:
- - initial_ast: 4690101215736bd674057433650e7868ff1aa43ad87205c341fed6c1f25fa621
unrolled_ast: 4690101215736bd674057433650e7868ff1aa43ad87205c341fed6c1f25fa621
ssa_ast: cfb0a440f009f538e2b66820aed96814020df4d3ed407a3bd7a896ba69ef80d1
flattened_ast: ba28ff7cb3928986331a02019073927e6e973fe4676f759cd34994dde2dc4e75
inlined_ast: ba28ff7cb3928986331a02019073927e6e973fe4676f759cd34994dde2dc4e75
dce_ast: 3ffcd8b2ab5b037042f803c6a0c396a732dcf0e78516c7d86580dac5cec0640a
bytecode: 543bce9b35ef6f58454b6f690b9fae8dcf84f639acc37546ef137d8f8e60605c
warnings: ""

View File

@ -2,11 +2,11 @@
namespace: Compile
expectation: Pass
outputs:
- - initial_ast: bd49769df0bb001515927e9ed4cd0091ddf2fe02f82e7c84a8e199041a31e7e5
unrolled_ast: bd49769df0bb001515927e9ed4cd0091ddf2fe02f82e7c84a8e199041a31e7e5
ssa_ast: 114767a310734f9a6a2b60c8102896ab17c82083e476c1099e6b0145fa01c640
flattened_ast: 5580671ef587347e0057dd9ac37d8064cd37630ba59ca5f89fd01b3016d504f6
inlined_ast: 5580671ef587347e0057dd9ac37d8064cd37630ba59ca5f89fd01b3016d504f6
dce_ast: afc7d81e498d14347a3f703ba20efbed875a02cbdde709fcbecf64b4f761e2ba
bytecode: 623905a2cc827561e01da42e7388cf0bb91cf862f83598954805d71f86671d3c
- - initial_ast: 1ab754cc68284ab6a0fbf48a680a3bee5bf7a4cd2dd2974c2c01df60d60fdf2d
unrolled_ast: 1ab754cc68284ab6a0fbf48a680a3bee5bf7a4cd2dd2974c2c01df60d60fdf2d
ssa_ast: db79040aceb7ce4ae604aa834ed6360b0ae3e9185dee126ea34d9f9b2ee6b866
flattened_ast: 9ddad61b8b10c13c0d19c0bfb376d5004de8a2f97626cfffe49fc4c9764cb4f9
inlined_ast: 9ddad61b8b10c13c0d19c0bfb376d5004de8a2f97626cfffe49fc4c9764cb4f9
dce_ast: e40d682317cf6c3110564aa97420a58d155f7fa3d3dcff5e1d0f75ae56b76aa8
bytecode: 5bf36355b36caa6fcd510f195c79195a7991b45e037c7d6ffe9479f3c2bb89f6
warnings: ""

View File

@ -1,12 +0,0 @@
---
namespace: Compile
expectation: Pass
outputs:
- - initial_ast: 70cfe685cb59d5f729016d933776757a149cc40e15082adb9a8a33c49471b29b
unrolled_ast: 70cfe685cb59d5f729016d933776757a149cc40e15082adb9a8a33c49471b29b
ssa_ast: 6869b361fcaf9820c66a413021e228b7e401e3c56dda5561ad6b521f715f9e7c
flattened_ast: bc27e72065c76ae99982f2eaa27447c067e47e50b3b6e1c4c8f64ab865501840
inlined_ast: bc27e72065c76ae99982f2eaa27447c067e47e50b3b6e1c4c8f64ab865501840
dce_ast: 3097f0d4b705ad5cfc6b50c3a06ebf98a0269a8fc1f4d066caa6f2897fe65b99
bytecode: c7b632582f3311328e4abde2ef72f034d56195254f794463a0d720d832b5ac1d
warnings: ""

View File

@ -0,0 +1,12 @@
---
namespace: Compile
expectation: Pass
outputs:
- - initial_ast: 6613ab31ae0b1d3537134a6edbcd57cc7f92c67c4fc1e788710853f9117f5f46
unrolled_ast: 6613ab31ae0b1d3537134a6edbcd57cc7f92c67c4fc1e788710853f9117f5f46
ssa_ast: 423705f1cf9f7ba2b077b93932d3e25e7ed64bf37b79b4da0da194753ed3f596
flattened_ast: 7b5298b9966586cab3dc13b55aa0a3c56927aeab16305689fabea63400a1dc29
inlined_ast: 7b5298b9966586cab3dc13b55aa0a3c56927aeab16305689fabea63400a1dc29
dce_ast: 95fbe88d32e6d94724b8399dd475d27be9ccfc1ff9407f7f7f9e76122b9c7396
bytecode: 03845ec2f54d49f71640659603ead8f68ad067a15fda438e5e13524777d1559b
warnings: ""

View File

@ -0,0 +1,12 @@
---
namespace: Compile
expectation: Pass
outputs:
- - initial_ast: a796ccc1c063d2b5d8803c7b1c9a51bbc475f39f1572bbfc596391889f711565
unrolled_ast: a796ccc1c063d2b5d8803c7b1c9a51bbc475f39f1572bbfc596391889f711565
ssa_ast: 7ba4304e1ced648c4846c26f7a655e87e12beafcd267555b29252b74a91fbde5
flattened_ast: f8df94c66e381defd5bf5f9c1abc5760e526ab8cbae19baad4518ab31ff9a387
inlined_ast: f8df94c66e381defd5bf5f9c1abc5760e526ab8cbae19baad4518ab31ff9a387
dce_ast: dce1289e4150bf9ef4808599405d6d1dac49047f568f098afd2508e82fd9f1c9
bytecode: df6d5bbf5b971b9fbf39786a5bb74b9a26b0ddd9e9bfa501cfc4da9f260de048
warnings: ""

View File

@ -2,11 +2,11 @@
namespace: Compile
expectation: Pass
outputs:
- - initial_ast: f01c0f3d14db54c5ca39441bbec0b5013dac283e3ce38d25150d42b8695da7eb
unrolled_ast: f01c0f3d14db54c5ca39441bbec0b5013dac283e3ce38d25150d42b8695da7eb
ssa_ast: 6948be436cd48a0f56e306afb86d9478f563e86e1e085c415973557ac0d2f07a
flattened_ast: dae03f16ff0c7ae6b23ba92ade6c3ec6307ba51c0f62148f25a8cc06eebce809
inlined_ast: dae03f16ff0c7ae6b23ba92ade6c3ec6307ba51c0f62148f25a8cc06eebce809
dce_ast: 822d21f855ec65c56fc539d9d1ac7543f2caf52c5a4fa9d43754b0a2ac5e07a9
bytecode: 1fd8edc2204d7c47792409a7701b412208426f44660ff724b1f18918724fe131
- - initial_ast: 41c674356da4b1556ab46e400102ce184b3e0afa96c1c233166125dd8d6920aa
unrolled_ast: 41c674356da4b1556ab46e400102ce184b3e0afa96c1c233166125dd8d6920aa
ssa_ast: 10589598485ceb2123326d998d4ec27bfefdd88057c154287cc49aa13ea0e790
flattened_ast: 3f5de4f08882bc509a43051214c170b740a4c9168ec1fe0d95050ca7fbd2c02e
inlined_ast: 3f5de4f08882bc509a43051214c170b740a4c9168ec1fe0d95050ca7fbd2c02e
dce_ast: 263f4190e148b970b78b419269cc29049e2bf80c5d48cdcf8a8f13fcd8f261a0
bytecode: 8e8ad00d8937c7ea19e29fd6e1162957946d6b2c1e90e0ab9b1a4f49a6685a02
warnings: ""

View File

@ -0,0 +1,12 @@
---
namespace: Compile
expectation: Pass
outputs:
- - initial_ast: 001673cfc623ee0c053b77d177693d33905b340d239373065a410709345745de
unrolled_ast: 001673cfc623ee0c053b77d177693d33905b340d239373065a410709345745de
ssa_ast: 25441564a1739ff595a3e7d4ac7b02a651961805b6749cf2cef8a49fa635850d
flattened_ast: 065ba80e0fef0c4d93cdb90525eb81715a0126f22257eb0e626a660c5db7931b
inlined_ast: 065ba80e0fef0c4d93cdb90525eb81715a0126f22257eb0e626a660c5db7931b
dce_ast: 1e2b8ece91ac663046faf35475720ef31708cfb18d1d2c45dc9cab4067be8af1
bytecode: 4dceb1d3b4f77019d81c7e4d97a5866c6a50147cd8cbc417bb4b6629dc2cbf70
warnings: ""

View File

@ -1,12 +0,0 @@
---
namespace: Compile
expectation: Pass
outputs:
- - initial_ast: b64518163dfdadcbb229a7c36cb49e7f256ef15742a24124367327356ce1aa2e
unrolled_ast: b64518163dfdadcbb229a7c36cb49e7f256ef15742a24124367327356ce1aa2e
ssa_ast: 32c3e70f66baca266bba2eaa786b099cdb9148a1ac1993fa9f9bb3dc702baaa9
flattened_ast: 62a50853b2bd04970ed4178534271dc0e41087bc8f56ada2f36c5126491d05e1
inlined_ast: 62a50853b2bd04970ed4178534271dc0e41087bc8f56ada2f36c5126491d05e1
dce_ast: 5d99cb57111ce4be3917714d8a5f75aa0a64791b3c1e7a2997554a4852bab1e7
bytecode: bc09fb906965357015431b53e647685324a17c5eedcd9ac8c6023a60fd44657f
warnings: ""

View File

@ -0,0 +1,12 @@
---
namespace: Compile
expectation: Pass
outputs:
- - initial_ast: 3a09b4e460ed49b0bdd97991893f4d4a5244c07f3c828dadc5dfea2e543daa8c
unrolled_ast: 3a09b4e460ed49b0bdd97991893f4d4a5244c07f3c828dadc5dfea2e543daa8c
ssa_ast: 9ec623673189852a191c13f80d192be2c2ae15c3529879bb8600b12a065b9c28
flattened_ast: 4218d69e08b6bdb062757a0690a803843bee31ccd371d8c8543648db1146153d
inlined_ast: 4218d69e08b6bdb062757a0690a803843bee31ccd371d8c8543648db1146153d
dce_ast: d3664d33d77760248f0fb95ec48bd27bd3ccf76d7e5bc63da175417784b8aa49
bytecode: 03845ec2f54d49f71640659603ead8f68ad067a15fda438e5e13524777d1559b
warnings: ""

View File

@ -0,0 +1,12 @@
---
namespace: Compile
expectation: Pass
outputs:
- - initial_ast: a7239b189208146857f2b3ec11eb1ef245099add6493914e6108c46e0020b269
unrolled_ast: a7239b189208146857f2b3ec11eb1ef245099add6493914e6108c46e0020b269
ssa_ast: aabc587d4d651e2c0be35a9cd2af2f9fda92f73f97738edaba5f085abf007cbf
flattened_ast: eb48fd0b754fb9ce86bdb71772ba605f69dd2f55ae68428263bd727e14bcc2bb
inlined_ast: eb48fd0b754fb9ce86bdb71772ba605f69dd2f55ae68428263bd727e14bcc2bb
dce_ast: 2e689ef42ea41d9e1a60e928f36e542a07f9341e79d52718f6b43c63d8d4f6fc
bytecode: e1317e9396275ce8f73b494a3595e27bdbc563874acea6fed57c0b52da1354b3
warnings: ""

View File

@ -2,11 +2,11 @@
namespace: Compile
expectation: Pass
outputs:
- - initial_ast: 35a566318ea9f70935320a6d53ebd94e8422875886d7cd8c3ef69f76a181d391
unrolled_ast: 35a566318ea9f70935320a6d53ebd94e8422875886d7cd8c3ef69f76a181d391
ssa_ast: 4439ad4fab6c6610c091ee3a9651e1acb2d0e4011cbb1288a82c367602d9b238
flattened_ast: 05d6a0c70b8b1651d661ac97a9b5c2041755a4ca53c7692da810511418347642
inlined_ast: 05d6a0c70b8b1651d661ac97a9b5c2041755a4ca53c7692da810511418347642
dce_ast: 81306d92353884f98738b8b91b47ff00c9d587c1f9255c53291a248c0913e26e
bytecode: 25eaac0773a85c0302d29e22e1b3e1232bc9c773d36d67c153597126a058fe47
- - initial_ast: 4d32007f979cf3ef268824dc68f4c321afd33104259497541c36b75aa7d5824d
unrolled_ast: 4d32007f979cf3ef268824dc68f4c321afd33104259497541c36b75aa7d5824d
ssa_ast: 33d5aaa45dbac16c88948ad934e829bc56f4eab6d2dd705742a972172c19af07
flattened_ast: 97ffe1403034853d8baf7858bebfe80940330b7731c100e370ec814b56ee1e07
inlined_ast: 97ffe1403034853d8baf7858bebfe80940330b7731c100e370ec814b56ee1e07
dce_ast: 3dcbf6f804b2d25d13df32087a2383b366b5717426eea0d109845c73a0e369f4
bytecode: aee0a49b3add5225dd3e0e2343805040b94c16916e51b3405924378f62eb9f36
warnings: ""

View File

@ -1,12 +0,0 @@
---
namespace: Compile
expectation: Pass
outputs:
- - initial_ast: d1e8ca5d21a00ac0316c5dbc6b32ff9b8aaf6350f21a79d563159c95a0431968
unrolled_ast: d1e8ca5d21a00ac0316c5dbc6b32ff9b8aaf6350f21a79d563159c95a0431968
ssa_ast: 2669eea4c9d93544432f857bf774d4a98954e7a9e72d363b613aba902cb048df
flattened_ast: 9d6f650b19bfd9079c8755675adc806544e74373eb5473d1f74a67805da28234
inlined_ast: 9d6f650b19bfd9079c8755675adc806544e74373eb5473d1f74a67805da28234
dce_ast: 36718215f4ec56250a8f62627ec0baf66a544d99cd446c2fcf94c24805c51d43
bytecode: 1daea9ed03b974a37a1bc3363dd2253e33d8ba5933e60f620467b712c33386f0
warnings: ""

View File

@ -0,0 +1,12 @@
---
namespace: Compile
expectation: Pass
outputs:
- - initial_ast: d1b451d5c1ff1f67687ec3dfaffd7dfc58c5bb76e6f37edd3e834918765c62f9
unrolled_ast: d1b451d5c1ff1f67687ec3dfaffd7dfc58c5bb76e6f37edd3e834918765c62f9
ssa_ast: 15f3012c4bca2a87910d0b62043403f7e5a0aa1454bb5ca093a9e0091270d7ed
flattened_ast: a56641ab9bb581a6434935ef4fab9cb118ac8d4feb3d43334b72fcff4a380c0a
inlined_ast: a56641ab9bb581a6434935ef4fab9cb118ac8d4feb3d43334b72fcff4a380c0a
dce_ast: 95fbe88d32e6d94724b8399dd475d27be9ccfc1ff9407f7f7f9e76122b9c7396
bytecode: 03845ec2f54d49f71640659603ead8f68ad067a15fda438e5e13524777d1559b
warnings: ""

View File

@ -0,0 +1,12 @@
---
namespace: Compile
expectation: Pass
outputs:
- - initial_ast: edcdbfe392ccd770c550c6e0016b7b2c02481609e8d3bf22d0b0be543241882c
unrolled_ast: edcdbfe392ccd770c550c6e0016b7b2c02481609e8d3bf22d0b0be543241882c
ssa_ast: 0ffe9e04558ff09dc5b91c3e26f42b1c34975207c99fc23428c7b5953bc8fefd
flattened_ast: b758f0df76d4943c7b938fea8806d8106f06a54cf8b0ef5f11de368160373348
inlined_ast: b758f0df76d4943c7b938fea8806d8106f06a54cf8b0ef5f11de368160373348
dce_ast: 55cdbc4ad4c871085f475d7cd49ad972d7469083204c0d519e5fcd1679202a44
bytecode: 38325ddbe5ab9363326dda92ef395e1c99e78e243d95ea4364499ccabadfd299
warnings: ""

View File

@ -2,11 +2,11 @@
namespace: Compile
expectation: Pass
outputs:
- - initial_ast: f4a5185aaf22a81ce21e1f6801b5719314d0bd9ad0eae656a5b91c2811a47188
unrolled_ast: f4a5185aaf22a81ce21e1f6801b5719314d0bd9ad0eae656a5b91c2811a47188
ssa_ast: eb0a59747157c25f84b4136f0179ee6ebac70022d289bbe5cac63d26204a3dba
flattened_ast: 415ecabf28f627b3456ce6cbe038a8df0a20f69a344adda58ce6184342d404ad
inlined_ast: 415ecabf28f627b3456ce6cbe038a8df0a20f69a344adda58ce6184342d404ad
dce_ast: 03b6e755c1c4cd36b455e4cfb9b31b1d2788c6eaf56a7b9111ceb037a57f7d9b
bytecode: 1d01099dce5b3fbbd2b9f68dd2ff1c94faff841d42d3a536557ac9ab628abfed
- - initial_ast: dc97495299144de290c472a562715f3e513a132412c4276328cb66e51529caf4
unrolled_ast: dc97495299144de290c472a562715f3e513a132412c4276328cb66e51529caf4
ssa_ast: 9e99fbd69233588c7ff8fe61c9c93f88bfab11e42f53c182d5d965340e2bc8d9
flattened_ast: 2c901d6be568deba627a7752c90a81d18cc1fec8e497ebeff25c88adc4832877
inlined_ast: 2c901d6be568deba627a7752c90a81d18cc1fec8e497ebeff25c88adc4832877
dce_ast: 3453aee417c1348b57871a6938e753326a71d20dc9ce2a57d5d0ec22f351ce96
bytecode: 95e421126839d599569f1a130c5852f7da8d6e40de90885f401530d8bcc18c14
warnings: ""

View File

@ -0,0 +1,12 @@
---
namespace: Compile
expectation: Pass
outputs:
- - initial_ast: bcdd23efde004742b21c1c86bc586086353f781371a13445d48ec4287d668812
unrolled_ast: bcdd23efde004742b21c1c86bc586086353f781371a13445d48ec4287d668812
ssa_ast: c410257d8d0050eb56ce314f8dd0355812b8e494fd528826c145fac686ac976c
flattened_ast: ef9a8c291771afae9381402a3caac98a9102db73471edb755740eb8599a05c53
inlined_ast: ef9a8c291771afae9381402a3caac98a9102db73471edb755740eb8599a05c53
dce_ast: 766e9f05601c26ee1566d90dec05050304e63d405023d295582717066e12a35d
bytecode: 319405c8fe80b59376c041f234ae2ef213e2d67b50701412411ac97294f91e69
warnings: ""

View File

@ -0,0 +1,12 @@
---
namespace: Compile
expectation: Pass
outputs:
- - initial_ast: b0f24e9c749d3d28e0237e483d7dbec5f8740e3b1b5fa333bd7d67dda08bae25
unrolled_ast: b0f24e9c749d3d28e0237e483d7dbec5f8740e3b1b5fa333bd7d67dda08bae25
ssa_ast: 0e1ecfae0f810843c0ed965e5ecb0ea73b2e15e0265eab3e1b3556f148834921
flattened_ast: 0295fc53de5b5d67d8547d18467b03be0dc05f5e97bf632dc210b6c56a2cb525
inlined_ast: 0295fc53de5b5d67d8547d18467b03be0dc05f5e97bf632dc210b6c56a2cb525
dce_ast: 1724b6c502ab95c72c3c2bf10fe8c1c1f2df9959e7253a7515e212d5ef1886e3
bytecode: bd218715549602fce75a8d64df3317bee7386870f24b3d844b01c02d1960240b
warnings: ""

View File

@ -0,0 +1,12 @@
---
namespace: Compile
expectation: Pass
outputs:
- - initial_ast: 7f12831a369e92667feb4a018fbb9af6f02317ab6400a73f68163554dee51fd2
unrolled_ast: 7f12831a369e92667feb4a018fbb9af6f02317ab6400a73f68163554dee51fd2
ssa_ast: 44605c8070b6aefdf6494ad8641acc1675acfda7e5fb9a444c01e516306112d3
flattened_ast: 7ebe67ebe1938ba030d2bd6bbcdbb6fe953546dd6b2630cb6b4f52f24991ec0e
inlined_ast: 7ebe67ebe1938ba030d2bd6bbcdbb6fe953546dd6b2630cb6b4f52f24991ec0e
dce_ast: 7bcefce178b204999fa8462e291d461f2cff64f392dcfd47c112299fe5ec4738
bytecode: 4b3d6980860116dfb43804924f4d2cedfb7db2d9fb783fd06b3127327e31a298
warnings: ""

View File

@ -0,0 +1,12 @@
---
namespace: Compile
expectation: Pass
outputs:
- - initial_ast: 7ebe6f29490810315ebe67ceeaf50efca75090339eb573cb6643c365a11571c1
unrolled_ast: 7ebe6f29490810315ebe67ceeaf50efca75090339eb573cb6643c365a11571c1
ssa_ast: f7ecebf2426e5b67153f1446d855441bc00b82f38151faae1f524dea3baa22c6
flattened_ast: a51c33bfce9960a0c778478357e2ac87acc9b7057c6093d7e135dcfcde262a48
inlined_ast: a51c33bfce9960a0c778478357e2ac87acc9b7057c6093d7e135dcfcde262a48
dce_ast: 60a478f54041ec5918cb0dcfa2871d35720d9af61b69bcc31ea72bf25e51f30a
bytecode: cf7a9eea97a35c026eeac1f4659903bec549092b56e6194f666fed520fc02b7a
warnings: ""

View File

@ -0,0 +1,12 @@
---
namespace: Compile
expectation: Pass
outputs:
- - initial_ast: f9a02467fdb280c084f44b8e2857b1e955238a866af0b1f637cb4027ff971435
unrolled_ast: f9a02467fdb280c084f44b8e2857b1e955238a866af0b1f637cb4027ff971435
ssa_ast: 2c36a9dfe94c76ee0ddb744c2195ad41b7cf83cae4caece62cb18f0fcb2127e9
flattened_ast: 9153785a9a756b6bb70b33e20d06a83adcdbf21428eabdc3c4dd1c2118cd4ea6
inlined_ast: 9153785a9a756b6bb70b33e20d06a83adcdbf21428eabdc3c4dd1c2118cd4ea6
dce_ast: 3482ab30865f8c2d2aefcff7848b30dc8233a60bb538cc339e72823a182a8092
bytecode: d3d4c9152f574443e543ea5f0f1f0148116006c76aaaa2e014f268d7ab9d05df
warnings: ""

View File

@ -0,0 +1,12 @@
---
namespace: Compile
expectation: Pass
outputs:
- - initial_ast: 7094f7a0395c1a40c7e1126abc6272edbf163a8a868e90b4353a915d90e40f23
unrolled_ast: 7094f7a0395c1a40c7e1126abc6272edbf163a8a868e90b4353a915d90e40f23
ssa_ast: 3b2bcc85da96b3bc76f031b5fc498a468f27fc865772bcb5bd8094e182ddbd75
flattened_ast: 66ff6dd39dd2492453107a0aa83dbe769641e4357deaf77c2155d7b40491f208
inlined_ast: 66ff6dd39dd2492453107a0aa83dbe769641e4357deaf77c2155d7b40491f208
dce_ast: d2e1b233b830111d2cc7cbaaea432fb1a31f6aa5e38b0496ea30bf8b425b2abb
bytecode: 23b5c88c1d028f0b038f1005427c79779230306d235088802d5668e93117c120
warnings: ""

View File

@ -0,0 +1,12 @@
---
namespace: Compile
expectation: Pass
outputs:
- - initial_ast: df598b35d7c046e681f2b2ebb25462c298418739d7505d374ad3d789e422b7b9
unrolled_ast: df598b35d7c046e681f2b2ebb25462c298418739d7505d374ad3d789e422b7b9
ssa_ast: 7549d6c4bd75ab35ea6d46e2fe4de717dfaf849c232b75bd3cdcca34771dcb7f
flattened_ast: e292e694a34fb67020d0ccd882459d305d4617ef2aefb8a3caab98085b70d19c
inlined_ast: e292e694a34fb67020d0ccd882459d305d4617ef2aefb8a3caab98085b70d19c
dce_ast: a22e4e1e5b6a2522b5ad7bbaefe69b791a03eada9d1a657ecc511253deb32df2
bytecode: b195e16806d0a26e2088f84136f95ca7e9401dd6846a61cda34d39445ef87684
warnings: ""

View File

@ -0,0 +1,12 @@
---
namespace: Compile
expectation: Pass
outputs:
- - initial_ast: 4101ef22963c7e93c72b1c3294b655719670ec0fd52b824c373fb2ac02db99ce
unrolled_ast: 4101ef22963c7e93c72b1c3294b655719670ec0fd52b824c373fb2ac02db99ce
ssa_ast: 76a0b0572b516b7e19947d1a023ad7c83ae0dea87728ac0b01469d004017f60f
flattened_ast: d9a7cff638e54f002e36f6aeb3bf11c643acc6ef5ea6f0730e653f7f7ebbd1aa
inlined_ast: d9a7cff638e54f002e36f6aeb3bf11c643acc6ef5ea6f0730e653f7f7ebbd1aa
dce_ast: 56dba25a13647cec26f13930dea1b188b38091e28be2c1407e7fb2e010277c76
bytecode: 3bd31100c828423ff38d092cfbe9c0df772aba3b6fc24931ae33b1f50efcecb0
warnings: ""

View File

@ -0,0 +1,12 @@
---
namespace: Compile
expectation: Pass
outputs:
- - initial_ast: 69ff9ffc9e7d752557bba4a6d81594dd199ebf794489fbe45b1ee509621aba76
unrolled_ast: 69ff9ffc9e7d752557bba4a6d81594dd199ebf794489fbe45b1ee509621aba76
ssa_ast: 88c53dc56cbbe96908c7c0ebacf53d77ecd063c148b95b7a6914c96d44209cba
flattened_ast: 22b014b991138247333ebc1b9eae770469292e33cfe96b8dcbd960c493476710
inlined_ast: 22b014b991138247333ebc1b9eae770469292e33cfe96b8dcbd960c493476710
dce_ast: 9ee0f617a110da1e955ee7f12aedb55da9dc6ecb55152716a7b1eef29476a899
bytecode: 6a94d8f23c147c3cddc2c5a44a6f07734cbe79bc899b2b830aac61b6e6975057
warnings: ""

View File

@ -0,0 +1,12 @@
---
namespace: Compile
expectation: Pass
outputs:
- - initial_ast: 3e6f87502fb86ec012b8f33d9147b97de73c21274cd45532027d9386e6279554
unrolled_ast: 3e6f87502fb86ec012b8f33d9147b97de73c21274cd45532027d9386e6279554
ssa_ast: 9d5d08c0e344033feda2a8529b9cc5911355dfb298d73660f131f7bfe19566f2
flattened_ast: a4c3255c30bfb745b8175e607dac0381e9609dd16c323868c67e8bdfa6cadf46
inlined_ast: a4c3255c30bfb745b8175e607dac0381e9609dd16c323868c67e8bdfa6cadf46
dce_ast: 1a69fb26f42b803558d738487423199af8e2c4cebcebbcc2a6e903f470295438
bytecode: 5ff56b03daf136dc97334d9f0c73f26eb6e342e30b116000e7eb7cac8e2ebff5
warnings: ""

View File

@ -0,0 +1,12 @@
---
namespace: Compile
expectation: Pass
outputs:
- - initial_ast: f415f5c33f20d7676ba463df4744640da6249640e8d048389d1c50e0a88c80e6
unrolled_ast: f415f5c33f20d7676ba463df4744640da6249640e8d048389d1c50e0a88c80e6
ssa_ast: 5f5162d6edc21e3f1c8a6c67ec6164d0b949d19ba5257223628c2e515e422ddc
flattened_ast: b6d7cd9a9ff0a46f4e5a904af8edb4f4f3d93d1e2390dba0b12d3f1ee8700fe8
inlined_ast: b6d7cd9a9ff0a46f4e5a904af8edb4f4f3d93d1e2390dba0b12d3f1ee8700fe8
dce_ast: 51dff364d6b3a13197e41309b6d07cd3e0d7205ac658c47580f32050d3ead8e4
bytecode: 5552b43274ec113ad0520de7a6a457cd4ac6db08d490446eca21f148a5bbca16
warnings: ""

View File

@ -0,0 +1,12 @@
---
namespace: Compile
expectation: Pass
outputs:
- - initial_ast: 52f84edfab6ba19c391c9a7d6ca7da435053fdf136237b3a39d0af792c95c4f7
unrolled_ast: 52f84edfab6ba19c391c9a7d6ca7da435053fdf136237b3a39d0af792c95c4f7
ssa_ast: 88339746f35a7c1aef5a58216c44d9da418dac221b539fe8c00b05646d63a24a
flattened_ast: d1780bdd15068a7e263574e5c6df0a66167d165256788ff0a5b1969ac9529823
inlined_ast: d1780bdd15068a7e263574e5c6df0a66167d165256788ff0a5b1969ac9529823
dce_ast: bdd650ce8eda88bd788331aa7f33c947d774cbd52443ba6d921d510669c9fa00
bytecode: 325b391ad96a02efc136a7653c4a5229454ecfc76c857c6fe7d0606fd78b5336
warnings: ""

View File

@ -0,0 +1,12 @@
---
namespace: Compile
expectation: Pass
outputs:
- - initial_ast: 7ff35c2475a5eb596183937c9cf850b35d3abd61b8611fbc15a4b721420fb2c9
unrolled_ast: 7ff35c2475a5eb596183937c9cf850b35d3abd61b8611fbc15a4b721420fb2c9
ssa_ast: 068e56d23e1edfa8f48df3d894c12e7a9fdc7969e4764dd392700c5cc5c7b384
flattened_ast: 02983ea416caf9488fed0007fcfa077ab1845aeef8cd51753c1087e02232b510
inlined_ast: 02983ea416caf9488fed0007fcfa077ab1845aeef8cd51753c1087e02232b510
dce_ast: 5ad44cdd7a0aadff528c783d831208c59c3ca033bc6a1e4ad0952cebba70c0b0
bytecode: db7cf565e83b99b3a24b93bfbb5bdcda4f947f4eb64f454046ea83edca3ccbf3
warnings: ""

View File

@ -0,0 +1,12 @@
---
namespace: Compile
expectation: Pass
outputs:
- - initial_ast: d55f5c53a0b7d43bdb9f65dd9224aa65ec374c482173c965a737e5c45ae6c5fc
unrolled_ast: d55f5c53a0b7d43bdb9f65dd9224aa65ec374c482173c965a737e5c45ae6c5fc
ssa_ast: 3a243aefb2142aefe7622dc8c9363f4cacc68630540c14b276534aa21c890260
flattened_ast: 7ef3520ff3f3f04fb522d90a61b3620a2a6266e4789957490754273932d82deb
inlined_ast: 7ef3520ff3f3f04fb522d90a61b3620a2a6266e4789957490754273932d82deb
dce_ast: 6bdb9ec9ea713444958fa34702c78f456c31aac4e87120231a43f7137b445e8d
bytecode: d594e784e95e52089afcadbc703f266ea2fd2b211728fdbea8eea5abc5e1942b
warnings: ""

View File

@ -0,0 +1,12 @@
---
namespace: Compile
expectation: Pass
outputs:
- - initial_ast: 82fc5cd2c498e5dad0b268e1f2c6efb5ed5309facd2f7b2ac434805fd5a9f9ec
unrolled_ast: 82fc5cd2c498e5dad0b268e1f2c6efb5ed5309facd2f7b2ac434805fd5a9f9ec
ssa_ast: 5e0af0528f0ebe827bf73efecdd9239e765ac17534060b5c959ea5cdcda1da32
flattened_ast: 349c64df08ac36af434317e70e632a43f7c7f32543824f250196fda12bdadb70
inlined_ast: 349c64df08ac36af434317e70e632a43f7c7f32543824f250196fda12bdadb70
dce_ast: 4749d4266ac4f790aef3745dc7524b8d34194c81f4bb7717d4e8738950b06d06
bytecode: e9166c477441b45359a7ab4d7ee7afd309de45ee5cad9143f0261b1c3ccf8b57
warnings: ""

View File

@ -0,0 +1,12 @@
---
namespace: Compile
expectation: Pass
outputs:
- - initial_ast: 4b1d1e1bdb332c6562f49e9df5c814ebb3b8d9fb28ff7dba4c419488cc5fc10e
unrolled_ast: 4b1d1e1bdb332c6562f49e9df5c814ebb3b8d9fb28ff7dba4c419488cc5fc10e
ssa_ast: 6139b55a2df4d72fbb7ae3c96e101f2712aa03bf5d234debf2262a22a79ef0f6
flattened_ast: 9fe9b6abf6bac9728e1abc2fc3c5c8e23e7ff4562db8cd2e4de41cefe5865c34
inlined_ast: 9fe9b6abf6bac9728e1abc2fc3c5c8e23e7ff4562db8cd2e4de41cefe5865c34
dce_ast: b5fb93fa556ed81763f47130c967b7a7452469d2da99c3b6b9f54c243fdabd9e
bytecode: e6b4b469e458cb0a6261b92d6c8761ab35b114b09ac01811ecdde6ef97b982b3
warnings: ""

View File

@ -0,0 +1,12 @@
---
namespace: Compile
expectation: Pass
outputs:
- - initial_ast: 824758f1e72177f39dabaad6fa5190fa25ec5a54e6c45e7609d1539be9295ba7
unrolled_ast: 824758f1e72177f39dabaad6fa5190fa25ec5a54e6c45e7609d1539be9295ba7
ssa_ast: e3f824f26ae2b6ad8f8755e906f8cd4d6b499ee023c2fc9f273d7618283c2ed8
flattened_ast: ae86e8f5c9300475f6dfbc9dedd6499bb90825098775a6ff9c3f40f767e394e4
inlined_ast: ae86e8f5c9300475f6dfbc9dedd6499bb90825098775a6ff9c3f40f767e394e4
dce_ast: 2ee2d5c1c8276522a98c338d39f826461d10f32dd4253f7286f34966f7c19692
bytecode: 37a979515b1052ed7250447aa0f7f28e1daeab1becfe22f5e5d7982a070da4e4
warnings: ""

View File

@ -0,0 +1,12 @@
---
namespace: Compile
expectation: Pass
outputs:
- - initial_ast: 578b888fc724a1995da22c1910f47b8ff359bfa3eb2d7a848a9cb7bf806c7fd1
unrolled_ast: 578b888fc724a1995da22c1910f47b8ff359bfa3eb2d7a848a9cb7bf806c7fd1
ssa_ast: aa07e882f58f13fe7f573b0d7b1dc1232a155676fddc460eb24be9bd4025328f
flattened_ast: ef20f7c48d9f8c652a9ce49f0cabc5c36175bc68c7cf37a2644ff5f81064ba6b
inlined_ast: ef20f7c48d9f8c652a9ce49f0cabc5c36175bc68c7cf37a2644ff5f81064ba6b
dce_ast: 10a93b73e7cf38f8abf8b6375aa6d802ea93d288732e594def4d1ff21fcd6d59
bytecode: c5e0ce1caafa4445b3ebdc57bc9a5ae3c821df23f7b4fa1d3b92a0e4911bc08f
warnings: ""

View File

@ -0,0 +1,12 @@
---
namespace: Compile
expectation: Pass
outputs:
- - initial_ast: 8f750bf02b49ffbcab62c2fac4bc25f5cdd30d060c86156790d7a0cc8752de71
unrolled_ast: 8f750bf02b49ffbcab62c2fac4bc25f5cdd30d060c86156790d7a0cc8752de71
ssa_ast: fd4cdf8a5d00a0d717c00c194d82afcb989b12aeec0c7dfda73e3643ca75227f
flattened_ast: 904c7faea86df411dc397296b61a58513559aefe1d591713902301c443e41dc0
inlined_ast: 904c7faea86df411dc397296b61a58513559aefe1d591713902301c443e41dc0
dce_ast: 77c16db84758a465d3b9844a5cfb8457d794cf2accfe12016dbe9308407d39b7
bytecode: e13dc9845dd08c9ac24e97102ca39e47dc86a6d6540081abe19364518003633a
warnings: ""

View File

@ -0,0 +1,12 @@
---
namespace: Compile
expectation: Pass
outputs:
- - initial_ast: 1cdf8a38d3fd6be1e2e3002ff991c0c913b1e7e02001f1d1058b6ed42b3bb8ba
unrolled_ast: 1cdf8a38d3fd6be1e2e3002ff991c0c913b1e7e02001f1d1058b6ed42b3bb8ba
ssa_ast: 0234f96bc8e9bed436614d8e22c2e42796b888a21b64fdc26efdd47cc4af20fe
flattened_ast: c9aae7b46ee16554bfbddc1d5883ac3ab0c53c1d6ecc3dc62078aec7000ced5a
inlined_ast: c9aae7b46ee16554bfbddc1d5883ac3ab0c53c1d6ecc3dc62078aec7000ced5a
dce_ast: 70c97a0d7074f3d4ad7bdebe0b634f8cc1d3bff1b869b276ca56f810a2556fbf
bytecode: 9c52388f672a987f68d35317155d105b7e01e181e5640f4fba50fd2ff389cba5
warnings: ""

View File

@ -0,0 +1,12 @@
---
namespace: Compile
expectation: Pass
outputs:
- - initial_ast: 1c35a328853fec059e284d4b02792654e8395ce03dd587116c09ceafb7c44d85
unrolled_ast: 1c35a328853fec059e284d4b02792654e8395ce03dd587116c09ceafb7c44d85
ssa_ast: becd3ffd6806db2b0d3af6fd733c0caaa06c49311dc9aaf81a869d1cf1534eac
flattened_ast: fdd4ae66ac6fbd6bc80296e7dbf0bfa87bf731f484ac4535b2ef70cfeb1e5773
inlined_ast: fdd4ae66ac6fbd6bc80296e7dbf0bfa87bf731f484ac4535b2ef70cfeb1e5773
dce_ast: db649bf40de266f7325f761959a7a10dddba40a8dd61b1709226314366c6a254
bytecode: e825e5f1ec6f8a394897f61ef950eb8bf8af29b1d34975851501c35a14efe620
warnings: ""

View File

@ -0,0 +1,12 @@
---
namespace: Compile
expectation: Pass
outputs:
- - initial_ast: 40bb8b2ac1e2b1abec1322ab032ea0328680741445a6552c1f42455fbd3ffade
unrolled_ast: 40bb8b2ac1e2b1abec1322ab032ea0328680741445a6552c1f42455fbd3ffade
ssa_ast: 77ad47ebfa12d2aa9d8fd641996edc9df54aa81465bcc88cbf66e7e736493620
flattened_ast: 7dae255e11454200478f0afc38da71a1598f90d93bd8730b13f631dfcce688a7
inlined_ast: 7dae255e11454200478f0afc38da71a1598f90d93bd8730b13f631dfcce688a7
dce_ast: 404a50386ef63db42895909476e1d950afa8dc55286a9d24ed05eecfb71a1fce
bytecode: 11ae61d5f4360419e46a728f08f8a61eac658bd9fc955eef66d5893e4510bccb
warnings: ""

View File

@ -0,0 +1,12 @@
---
namespace: Compile
expectation: Pass
outputs:
- - initial_ast: 5d6f62ab666a22f7311cdaccf296c683f7e7a4c256b986dae6fa3c0061a57315
unrolled_ast: 5d6f62ab666a22f7311cdaccf296c683f7e7a4c256b986dae6fa3c0061a57315
ssa_ast: 63df9a1271427695cb75ee0d64cd46016a4760795d7385376fa18dda0f46bb52
flattened_ast: 62fba83b5adaa0ae08a2532dcc943ef6769a2800c6f315882a142566b7e555e1
inlined_ast: 62fba83b5adaa0ae08a2532dcc943ef6769a2800c6f315882a142566b7e555e1
dce_ast: 3f961d0f619a946e37dd5f76b9eff6c763bcac0c1be89eb053f9d15cd69f8c6e
bytecode: fb3436bf454ebec95e4ef923af1a39482d83be7d3d5c844d29ca75fc789df02d
warnings: ""

View File

@ -0,0 +1,12 @@
---
namespace: Compile
expectation: Pass
outputs:
- - initial_ast: 9e7b4cb94e1aaf118ec61d4b0b5af9125132f5ef5b8c85fe1edacef79e5a5a6d
unrolled_ast: 9e7b4cb94e1aaf118ec61d4b0b5af9125132f5ef5b8c85fe1edacef79e5a5a6d
ssa_ast: d80789b5e4220cad7c00a0d62be2250fd7dc466c7c1a3e46c6107dc746866410
flattened_ast: 8ce3803fa9c1c3e82c9b91bb830cd202d9913f53f95aad51a0ef85f73d9b9490
inlined_ast: 8ce3803fa9c1c3e82c9b91bb830cd202d9913f53f95aad51a0ef85f73d9b9490
dce_ast: f8dfbbdd5ce8dcd6509dad2c1929c1d04f458299af1d7e2601c8ceeaca89b969
bytecode: 7c019cbb4d7c889f44fb07bf6b5a3a009d72c70cf8d11dabdfd17b599f66b6b2
warnings: ""

View File

@ -0,0 +1,12 @@
---
namespace: Compile
expectation: Pass
outputs:
- - initial_ast: b46f8abb94aeb43fde110befbb101bf043a93818b982d0d955b4c49439c5b7f4
unrolled_ast: b46f8abb94aeb43fde110befbb101bf043a93818b982d0d955b4c49439c5b7f4
ssa_ast: bdfd979ac22ac8db59a971b300adde504e455e747ffd9e9cb6ee7758ee5ab993
flattened_ast: 682206512c10f8f4d785a4e663c814cf6077c73956e0394985472cb510caa0da
inlined_ast: 682206512c10f8f4d785a4e663c814cf6077c73956e0394985472cb510caa0da
dce_ast: b67dd595fef5c1dfc9834793f7bac4039a43340f92f4c6e99c64d3a39678865a
bytecode: 0ac6eb1b02f1e0a7d99a396f79615a0e0ab6f359773bbf3cf8051d7d67600d13
warnings: ""

View File

@ -0,0 +1,12 @@
---
namespace: Compile
expectation: Pass
outputs:
- - initial_ast: 313159b3a889ec7a2da26e7118d337a2928c08ac172fd5d16321bc2cd7b72d0e
unrolled_ast: 313159b3a889ec7a2da26e7118d337a2928c08ac172fd5d16321bc2cd7b72d0e
ssa_ast: ed4f67e444a1f73caff203addca4682baeb3e942f9b3453177ac0144fccac838
flattened_ast: fba48c14c6ac4748d5b0fcde2ce66a0a311558d5d3a0a8fbeef37764ee099b8d
inlined_ast: fba48c14c6ac4748d5b0fcde2ce66a0a311558d5d3a0a8fbeef37764ee099b8d
dce_ast: 2c016521a5b5f936f95f63e3436a3628d3a73a8aa2371b855e1d42a71dba5a4f
bytecode: 9429c70f10830030ebe2d02d9d82604ab11222235abf4abbfe2be8b0d27ca85e
warnings: ""

View File

@ -0,0 +1,12 @@
---
namespace: Compile
expectation: Pass
outputs:
- - initial_ast: 73ae2ebd777196bfefb52daaaa49a1d7f5a3519ba62279eabe97364a27ed774f
unrolled_ast: 73ae2ebd777196bfefb52daaaa49a1d7f5a3519ba62279eabe97364a27ed774f
ssa_ast: 9261ea634eb839de5472db37ed047be62f344e3431eeb9fd3f9490b53e139ab3
flattened_ast: 0dc02e992ab84c9ca1c6eba2807409325eb3b3fbfe687a157f9f05fc8bf896c1
inlined_ast: 0dc02e992ab84c9ca1c6eba2807409325eb3b3fbfe687a157f9f05fc8bf896c1
dce_ast: 3ce47f1215775f95c6cba3730bf2bae404fdf832f973f97b84f7daabbed3e13d
bytecode: 812c0a0a2bf916091f80486f4290c6647a5a99501ebbea358ecbb40c78f705ff
warnings: ""

View File

@ -0,0 +1,12 @@
---
namespace: Compile
expectation: Pass
outputs:
- - initial_ast: 6a4712a90a984ff99472f5709fc66fd23b95faa1729766df7957dd621f07c521
unrolled_ast: 6a4712a90a984ff99472f5709fc66fd23b95faa1729766df7957dd621f07c521
ssa_ast: 9b3ce17611af0f108b2219e5aa60a048d1dd322d23353dd1db48e6258e6ea56a
flattened_ast: 9d09570302c27939a6f2dc20c72851bf29500a147fa2b6d45719d1eea1706d88
inlined_ast: 9d09570302c27939a6f2dc20c72851bf29500a147fa2b6d45719d1eea1706d88
dce_ast: 9c962f6919dd4c36a359c6ef0ee162a36c8a94c1d5d169529d4eca4ca5c14b92
bytecode: 390cdd7ae02a64f8f608fc4dfb3954a41342e8c58e988b5f3250542c970b9259
warnings: ""

View File

@ -0,0 +1,12 @@
---
namespace: Compile
expectation: Pass
outputs:
- - initial_ast: 90c691507f59ce51c3b5cc37add26bd4c27b578769ea2e1689a83e07c6644b49
unrolled_ast: 90c691507f59ce51c3b5cc37add26bd4c27b578769ea2e1689a83e07c6644b49
ssa_ast: 6acfd09d0e63c59bd9be3ffa5dac13b9aae4c629303de2485ae94a2a27f68ad0
flattened_ast: 4f74ed66a86905f504fc34810a6a45d3672d4fb66eb6e53299d16be5e096cacd
inlined_ast: 4f74ed66a86905f504fc34810a6a45d3672d4fb66eb6e53299d16be5e096cacd
dce_ast: 140168e1bcccd815e170ec9b3862609ebe009a17a853009a77debdcd0fcdabae
bytecode: 4c3b66767d08f35980f87af707822d182698bdd9c6de60aa8ed130e7f3a77ba5
warnings: ""

View File

@ -0,0 +1,12 @@
---
namespace: Compile
expectation: Pass
outputs:
- - initial_ast: 5e8074765f40f8ac603f3013ed92742c934ef71eb932f0387abac8f60eb2252f
unrolled_ast: 5e8074765f40f8ac603f3013ed92742c934ef71eb932f0387abac8f60eb2252f
ssa_ast: 005ae13893faa6d57c6ad17ab35dd7e0befb6a805a491bfbae6419ec178d0fe4
flattened_ast: e3048717383c55420cde7c7653acef5b55c5b3df37131196efb9ae77bb3fd4fd
inlined_ast: e3048717383c55420cde7c7653acef5b55c5b3df37131196efb9ae77bb3fd4fd
dce_ast: 87fe3dabcf1d54fbb107d08eb064e253b85d610a7e6878e4cb8df2ac7deefca9
bytecode: 0360f58e0f7d1b1d9349c634ab348475f511b8ea486d48270fa3134c204bd1b4
warnings: ""

View File

@ -0,0 +1,12 @@
---
namespace: Compile
expectation: Pass
outputs:
- - initial_ast: b18a51dacf490ae71a87a6a525e698e2d4b43aa566cc736255e587690506d855
unrolled_ast: b18a51dacf490ae71a87a6a525e698e2d4b43aa566cc736255e587690506d855
ssa_ast: 7ee60b01949be41ca2bd238ea060d9ab9d4334dbc94391788d75e53e4c53a47d
flattened_ast: 52fbeab53f9dce64c1a0a7e07f5c205ebac8972ac01af94f3584708fce2b77b5
inlined_ast: 52fbeab53f9dce64c1a0a7e07f5c205ebac8972ac01af94f3584708fce2b77b5
dce_ast: f7cb8e81269d75ffe56d14b93c109d9fd4c00279255314f621ea0c8e6170e26c
bytecode: c9e708ce2a325d1e97127ab8e4035eceb3dd877ebdc4d78dec8db4e10359d653
warnings: ""

View File

@ -0,0 +1,12 @@
---
namespace: Compile
expectation: Pass
outputs:
- - initial_ast: f020857f7b3c3acdc0987d1c435feffa8951a662dc3367a28b97c9ae375fd020
unrolled_ast: f020857f7b3c3acdc0987d1c435feffa8951a662dc3367a28b97c9ae375fd020
ssa_ast: d29d31205c8fb29f8df1c3717c5d119cedb3362b2fd01f214e75b4eec118ebd6
flattened_ast: f7d1d95f0a86cba5d98b13416ab4a12ba129bec115189c882411080f6218d0ad
inlined_ast: f7d1d95f0a86cba5d98b13416ab4a12ba129bec115189c882411080f6218d0ad
dce_ast: f8448318bff49964c11762bc70c1d7eb3798d850d26f617e8e9d60d84d28312c
bytecode: 41f9a2008eaa379a61dc855788a4491e1e5dc62a0d7c6ded89453ced43b60fc8
warnings: ""

View File

@ -0,0 +1,12 @@
---
namespace: Compile
expectation: Pass
outputs:
- - initial_ast: 58b4faab0258b50dcd6249aade48d8ab328767159b56246dcca249e69444f36b
unrolled_ast: 58b4faab0258b50dcd6249aade48d8ab328767159b56246dcca249e69444f36b
ssa_ast: e2ed5b5ec452b59a6b48f4c48cf14b0b291054ecf59eebab1fe1baae48fb3ac3
flattened_ast: ca9f4843312143126a7c9a98275737837942dfc3c720eb4892817bc1de5db163
inlined_ast: ca9f4843312143126a7c9a98275737837942dfc3c720eb4892817bc1de5db163
dce_ast: dc5e874b5b8c972d52921702522f6ffe737f327b5f44b7fdc56e731fd589d216
bytecode: 45ad5a3ef8c99cd48278fbc38e797d96203b685f6f98819f30e7b5a3c84c1ba6
warnings: ""

View File

@ -0,0 +1,12 @@
---
namespace: Compile
expectation: Pass
outputs:
- - initial_ast: a384f415150ade7b52325f0f6b922e77d430edc18f652ef98daaff994a38cbf8
unrolled_ast: a384f415150ade7b52325f0f6b922e77d430edc18f652ef98daaff994a38cbf8
ssa_ast: 07bd41ef9eed5f314d4f18bde5de466a4b1d31f5c83c2d91616b9e692f6592ee
flattened_ast: 83c40b60c4895ae617cb76e4b4be3e7532a70d3c8fcecaeb30c2ae94cc2e876b
inlined_ast: 83c40b60c4895ae617cb76e4b4be3e7532a70d3c8fcecaeb30c2ae94cc2e876b
dce_ast: c022e8bb4ed467a18d32341635c1770dd3ba991adad906e375b43ef995bbfae9
bytecode: 7964da6bf0e7d8a10b9611ebede89ce40bb74f040326c5250c42fa85e5342dea
warnings: ""

View File

@ -0,0 +1,12 @@
---
namespace: Compile
expectation: Pass
outputs:
- - initial_ast: 3fe1b7997ac297e921642a760d063c246b774791199ea4b7c88e395fcf306633
unrolled_ast: 3fe1b7997ac297e921642a760d063c246b774791199ea4b7c88e395fcf306633
ssa_ast: b9126b83564b4e93e573e1d8c1278ebff0c11bc0b6dc05dcf69507a475894b89
flattened_ast: ba3ba3c638daa97916ad6e9420cffb4f96057e5a65f4821ace7e3f0995b7da9a
inlined_ast: ba3ba3c638daa97916ad6e9420cffb4f96057e5a65f4821ace7e3f0995b7da9a
dce_ast: 2311d699f883f4f256e2413450e3ecbca173f0aeb6b663bb73a2adcdd0fed9df
bytecode: a1f93402bc36f31bde4beb079d0bf8ba6e56b664a8c4f63bceb5dadfbff3cac6
warnings: ""

View File

@ -0,0 +1,12 @@
---
namespace: Compile
expectation: Pass
outputs:
- - initial_ast: 4a2131ea265cb4e19cd06c9914fec3ff3d868d6d4f501a0bd620b990c2a77599
unrolled_ast: 4a2131ea265cb4e19cd06c9914fec3ff3d868d6d4f501a0bd620b990c2a77599
ssa_ast: c0750f66144a62fd1f567992535643bb3ad502fc32f3cc72a1f5688605f7aa2f
flattened_ast: 13e628564c6184295db0799148d05e27919151ea4744cccaabbf2f127ba63deb
inlined_ast: 13e628564c6184295db0799148d05e27919151ea4744cccaabbf2f127ba63deb
dce_ast: f97db74cc0f6d914633c27c672c1a012e6cd6bc3e4db1545e74487a4edf3bc72
bytecode: 87cffa30f3087bf128289379f6d67de9917c1313af521e63436c4658c0666be0
warnings: ""

View File

@ -0,0 +1,12 @@
---
namespace: Compile
expectation: Pass
outputs:
- - initial_ast: b188153dcafba41dd4b3dc094222c39701b743fdeebb59680d4a7e9b930a605b
unrolled_ast: b188153dcafba41dd4b3dc094222c39701b743fdeebb59680d4a7e9b930a605b
ssa_ast: 360f1d8d19f99b2fd114089aa4d5f5e739fb4e3095b5a34df923ea8f2d747221
flattened_ast: 29c65e666875a2f6b4b0d0f7d11617927704fc08d3c6ec645383a032c843abd7
inlined_ast: 29c65e666875a2f6b4b0d0f7d11617927704fc08d3c6ec645383a032c843abd7
dce_ast: 863510f4caf4160b791263291d5997e6023943fe5454b8a633c5b2eb388a4fb2
bytecode: 23c6880ffd90bedd85f4adfe46dcf71a491f1a4ce59bb24084396e11ac6de504
warnings: ""

View File

@ -0,0 +1,12 @@
---
namespace: Compile
expectation: Pass
outputs:
- - initial_ast: 51cda5da68e7d23c374687628ef500a072579afd6e4b67b1b30cc655a0fd2179
unrolled_ast: 51cda5da68e7d23c374687628ef500a072579afd6e4b67b1b30cc655a0fd2179
ssa_ast: 75b5dfb63b6be7be5e833f660602c74af238a724634132627373c32064873ae9
flattened_ast: 2aea12f09d16101498147b0a9d02b2115fcce2305f37af67ce5d1b21e1976368
inlined_ast: 2aea12f09d16101498147b0a9d02b2115fcce2305f37af67ce5d1b21e1976368
dce_ast: c17b2c46b30727a0b415e1e3b18beca19403ac3d89e946311584d0f69aecf376
bytecode: 99374b0fe5a134c71415a4ff8036f153046dfa095c1f05fb6d4a587a75b130d8
warnings: ""

View File

@ -0,0 +1,12 @@
---
namespace: Compile
expectation: Pass
outputs:
- - initial_ast: 5db11a3a0303f5108b0e53bbcfb7474986b88dee766b129591f04c7ca694fefe
unrolled_ast: 5db11a3a0303f5108b0e53bbcfb7474986b88dee766b129591f04c7ca694fefe
ssa_ast: ca54f876848644d0341a078835dc0d9ef18e714c3086a0f0c55eaeb4beb069ea
flattened_ast: 336f7179390ac411b94b3b0e387362e7a4fc5da024f225e1c2daeffb91d88384
inlined_ast: 336f7179390ac411b94b3b0e387362e7a4fc5da024f225e1c2daeffb91d88384
dce_ast: 000e5339532b137ffc5f20a17503604e6bb8d919f4a7c53e41bda7937d15e7c6
bytecode: 4e1bd80822d1b2e5f425410c03da560e43cdd179782e5dfdcb6354e1e7c7bf83
warnings: ""

View File

@ -0,0 +1,12 @@
---
namespace: Compile
expectation: Pass
outputs:
- - initial_ast: 59e7496a3f73b922e6267ed2eebcef070f2cbb6a11cd2997e255407da6d133a4
unrolled_ast: 59e7496a3f73b922e6267ed2eebcef070f2cbb6a11cd2997e255407da6d133a4
ssa_ast: eb369dfd54017ad11906dda9a4d8dc0aed2db869386f0a4a7aba179bf58b643a
flattened_ast: c8d8158d73b4083e3dfab21a90771afa2c50fd3eb435aa4b34f705039de0441f
inlined_ast: c8d8158d73b4083e3dfab21a90771afa2c50fd3eb435aa4b34f705039de0441f
dce_ast: 8764814b1149608dc5905d7f4b8296a6e9fb3c1216db6addfdfefed4732efad6
bytecode: c5995705157a00610ba4950ae685d110ec1ef0341b45e8d59626d42e9c62b83f
warnings: ""

View File

@ -0,0 +1,12 @@
---
namespace: Compile
expectation: Pass
outputs:
- - initial_ast: 831d6a3df1065e82bb89c3df3ed980a2ff5a3605f64fc6a84a3d3668ba5d4fbc
unrolled_ast: 831d6a3df1065e82bb89c3df3ed980a2ff5a3605f64fc6a84a3d3668ba5d4fbc
ssa_ast: 952a5a6b9d35cd1e0456511b0784ff41d42367e9b27b461ad00c64c488a019e7
flattened_ast: 7f101fc7facba5ff57988fc2a0c7f0db6ac8ed76905abf8105e6bb91e94fb9c7
inlined_ast: 7f101fc7facba5ff57988fc2a0c7f0db6ac8ed76905abf8105e6bb91e94fb9c7
dce_ast: 9af9850bf6d3f8eca40a2f778a4876adc469c929e5f19e6c4901451cb1bdb284
bytecode: 96a1ad2124d89e5d080a3fdb36a9912092122562449bb5a57c5d0088d1795a9c
warnings: ""

View File

@ -0,0 +1,12 @@
---
namespace: Compile
expectation: Pass
outputs:
- - initial_ast: 0d75198fc3bb57e9fd2a8cd0ad1fb52d48ba09a473f9b665fe65f10882e3ad6c
unrolled_ast: 0d75198fc3bb57e9fd2a8cd0ad1fb52d48ba09a473f9b665fe65f10882e3ad6c
ssa_ast: 99999e5235014c28ac56507d6ff2a5559aeff69e3b9e1d10b20a34bbc807db00
flattened_ast: 6c003c3a1a6a78d04e12b9a9a566038ebca909b14121173dd8fc70a3062cc745
inlined_ast: 6c003c3a1a6a78d04e12b9a9a566038ebca909b14121173dd8fc70a3062cc745
dce_ast: e588802ee75c897621da4432a630e303b76b14e34e9459ac6748d84751f284fd
bytecode: 14b32216e4be4a4551783a3a25e8b612e15f7a030d75ef04f2a946d0e5498486
warnings: ""

View File

@ -0,0 +1,12 @@
---
namespace: Compile
expectation: Pass
outputs:
- - initial_ast: 5a63b5ce6130b7e779e967720a14fef85a518442f1ff285bfe601419fc19fab0
unrolled_ast: 5a63b5ce6130b7e779e967720a14fef85a518442f1ff285bfe601419fc19fab0
ssa_ast: 40c194e7f92e50de5b0dfb000e564d93e6a6757ca8ccc494c6c59af79b38e532
flattened_ast: afa8fb66d799e12a12b3fa46240a83fff2b12a44b25a33e58bf1c97b9d7352b2
inlined_ast: afa8fb66d799e12a12b3fa46240a83fff2b12a44b25a33e58bf1c97b9d7352b2
dce_ast: 6d7d9610fdd56414c35c4370b98a6926a959705e5e14624c439348d00a6d3a34
bytecode: bd41eafe882a2aab210bbbcee150459a4cf225fd567ec4fd1cf9993a11b1d945
warnings: ""

View File

@ -0,0 +1,12 @@
---
namespace: Compile
expectation: Pass
outputs:
- - initial_ast: 4d6117ce129a3da4b898d17f277e34023a868b306d9c53b8809e505f15784234
unrolled_ast: 4d6117ce129a3da4b898d17f277e34023a868b306d9c53b8809e505f15784234
ssa_ast: 5772c872b182f4c0db8064077094305bbf414341faf0863f56a944d1e5646164
flattened_ast: ac06d987fd94241e03056c1abfbe572dc4a09377017eee0706b3dbf4cb315773
inlined_ast: ac06d987fd94241e03056c1abfbe572dc4a09377017eee0706b3dbf4cb315773
dce_ast: 3f7c0f52692a29003bba6a2f6e248b3ab9bcb2c3d2fec79808d4efe47d1c8292
bytecode: 3cc4af3dccf8815e315428a6888139eaea7f66345aeb7072c5d64d28c520800d
warnings: ""

View File

@ -0,0 +1,12 @@
---
namespace: Compile
expectation: Pass
outputs:
- - initial_ast: bcdf9e0c8686795f9b39e76cf2b7c9150dd45ac8368c29200ff73b6f31871560
unrolled_ast: bcdf9e0c8686795f9b39e76cf2b7c9150dd45ac8368c29200ff73b6f31871560
ssa_ast: 37c26523f65c7d71d1bee4ebfbac746a8a8604e71a9120c828a4be7b559b2b2c
flattened_ast: 5f0e329b283091b7721e5f3a4ae961d1548a3de1bac76cde960ff45db415d024
inlined_ast: 5f0e329b283091b7721e5f3a4ae961d1548a3de1bac76cde960ff45db415d024
dce_ast: 7527d4f4e60a1706aa4a22b2050384e4926e4f0888bb37d669818e66cda8e5c1
bytecode: 1f0ae3178163cf804d246fb98addd6ce8dc4b49d62d5ff9b49cdeffa65e4a036
warnings: ""

View File

@ -0,0 +1,12 @@
---
namespace: Compile
expectation: Pass
outputs:
- - initial_ast: 60fab685f80d91a9f9e526255b50b99567603a7044d71c6d67539799c3f5e8cf
unrolled_ast: 60fab685f80d91a9f9e526255b50b99567603a7044d71c6d67539799c3f5e8cf
ssa_ast: f44b20ea59560ac1aa618f761320f953adc9e361960532a0a961c309cb2566ab
flattened_ast: b07f99b02804f26b0323bb14d86bde50bd197f49b086891c1de9ede4d34e9b20
inlined_ast: b07f99b02804f26b0323bb14d86bde50bd197f49b086891c1de9ede4d34e9b20
dce_ast: 97d23ead5e5b0c9fb0af924f56c432c0d777dd8d735ecdbe07b4078799b58875
bytecode: fc1af5312e41d49834ea498e8a8abd61e083d0c533dc08b189f63e07d117138f
warnings: ""

View File

@ -0,0 +1,12 @@
---
namespace: Compile
expectation: Pass
outputs:
- - initial_ast: 1f9ea519838942badb6d83b8bf1636500624383636337bb1f6cf433992407f07
unrolled_ast: 1f9ea519838942badb6d83b8bf1636500624383636337bb1f6cf433992407f07
ssa_ast: 5eaf95f4f973018e9669ab6d58c98d31260a4548a5f9caf988954cb09f32d4a2
flattened_ast: 37789c7e213e82aa82a2bbf8b3ab3de3fe15d7115402cd52f257272552e25f3c
inlined_ast: 37789c7e213e82aa82a2bbf8b3ab3de3fe15d7115402cd52f257272552e25f3c
dce_ast: 827a82ee5345934c87692e43e1d5319fb2aa3762e2dc1652c51bb802b4b8d280
bytecode: 36867283c0d2982d7d31188301170771f72ddae754893774347a534979957947
warnings: ""

View File

@ -0,0 +1,12 @@
---
namespace: Compile
expectation: Pass
outputs:
- - initial_ast: d33f46b39f2519e2edf24251acf4ab62a4424c119a9f38b9b2dfc06138904aa0
unrolled_ast: d33f46b39f2519e2edf24251acf4ab62a4424c119a9f38b9b2dfc06138904aa0
ssa_ast: 4efe6a7cedd6ab7aed66b330f21f6fc4379a6e32ef2b4422b5b8e78ad3ab2845
flattened_ast: a88c2e9bfcdfa8a1de25b62dc09643522f5e4f12a95bcd98b75f52bac29864ef
inlined_ast: a88c2e9bfcdfa8a1de25b62dc09643522f5e4f12a95bcd98b75f52bac29864ef
dce_ast: 4fb38ef0b4f0647038a9cfc54e187c51fe3abf2a78bc1ddc072dade866f4cce3
bytecode: a75c54fb28085fe6309fc6ea8600cd7c675bef41f1a7b4d38b3d60d698aab82c
warnings: ""

View File

@ -0,0 +1,12 @@
---
namespace: Compile
expectation: Pass
outputs:
- - initial_ast: d14a9370c1c27f8122ddc8a0875d147ac57ee92a3143ff5a3d98540943a2ccc9
unrolled_ast: d14a9370c1c27f8122ddc8a0875d147ac57ee92a3143ff5a3d98540943a2ccc9
ssa_ast: 0639ac1325941a11a2dce9f1af22789978d1d11e372a0972d5b9c2376c7b6a7e
flattened_ast: 31c969c8b167b273861848ffd6d06091c54364b83936573e7bf28ed3b2e825c2
inlined_ast: 31c969c8b167b273861848ffd6d06091c54364b83936573e7bf28ed3b2e825c2
dce_ast: 5969c1ecde35c96b996b6ad5cd4b957744cb2d0fea7747a008ea5008735e4133
bytecode: 0c7247bc75746d2e9d102df77fc3d397f8d984741fe65134b9e68a2a9e14f2ae
warnings: ""

View File

@ -0,0 +1,12 @@
---
namespace: Compile
expectation: Pass
outputs:
- - initial_ast: b6ebb47858d66c378932b692c11087001d0d4f7ae52223d6a96c5e64f8497e70
unrolled_ast: b6ebb47858d66c378932b692c11087001d0d4f7ae52223d6a96c5e64f8497e70
ssa_ast: 3a4eac7f5ca45d11ed5c271ca64b0c5bfad20bcc85076bdfc4a05eb6edcde239
flattened_ast: 5d25d3395f1ef249cb16b524f4efd4ff672113c750c10c0976f6d1b1329338bd
inlined_ast: 5d25d3395f1ef249cb16b524f4efd4ff672113c750c10c0976f6d1b1329338bd
dce_ast: 1d57bc7820ba1762d452fd3b72246588ddd4ec82b3107bc1667551e5a9448e3a
bytecode: 1969305c5523d43797ebd5220fe738ce8e880d1d2bef41c239811be3a7d20200
warnings: ""

View File

@ -0,0 +1,12 @@
---
namespace: Compile
expectation: Pass
outputs:
- - initial_ast: 1449c5aaf4c75aa02b4a06b49eab6dc97474b60264ad265bae7825b2204d8c4e
unrolled_ast: 1449c5aaf4c75aa02b4a06b49eab6dc97474b60264ad265bae7825b2204d8c4e
ssa_ast: 181fda2187430745fccc782339fe5b44ce51815cce103997e18ebe20f3e3a385
flattened_ast: f155489814ffc08b25ecf9bc859b1a4289eaa65890554efc3ad146cf6987ffac
inlined_ast: f155489814ffc08b25ecf9bc859b1a4289eaa65890554efc3ad146cf6987ffac
dce_ast: 1ce01292eafa49373963ce0c153c0adde2eebc27958ecaa48c9245816a70d622
bytecode: 8c4a6e0270c2e98ec14abb82ea2bf9da116b23837ea88e30d2a7c66e138b4aa5
warnings: ""

View File

@ -0,0 +1,12 @@
---
namespace: Compile
expectation: Pass
outputs:
- - initial_ast: b608f58e3c182662ca043a9e1b141ed86790b348e1d732a36f394bf7c2b44695
unrolled_ast: b608f58e3c182662ca043a9e1b141ed86790b348e1d732a36f394bf7c2b44695
ssa_ast: 076961b224359ce2e9e513b5a939019292f7285c623601ab96ce91988178b146
flattened_ast: 9e265bac513f63b27ed82deac5ebaeb45ee5bbcbae1eb6f7db3ba96ca56ca7e7
inlined_ast: 9e265bac513f63b27ed82deac5ebaeb45ee5bbcbae1eb6f7db3ba96ca56ca7e7
dce_ast: 6a85dbf31288514e6170ecf49ad49eaf0cc1888473a23ee182447b82192b5d98
bytecode: 8ce997167fad98e0902c4ea9e1c9cc43cb7d3dca01aae8089fd70a01e45da304
warnings: ""

View File

@ -0,0 +1,12 @@
---
namespace: Compile
expectation: Pass
outputs:
- - initial_ast: 1d25ad20e6a1bb5040b6556b8838647e1f53aa8b9143317a3760d3e0259c4551
unrolled_ast: 1d25ad20e6a1bb5040b6556b8838647e1f53aa8b9143317a3760d3e0259c4551
ssa_ast: 411f0fd6042bb0cc91dccdf811fadc06f8c3a4539cee6525e67e13e77136e620
flattened_ast: 989e68e277047e3fcf8aa4634f6b295332ccfe6f27bb340a8aa003b3253fc69c
inlined_ast: 989e68e277047e3fcf8aa4634f6b295332ccfe6f27bb340a8aa003b3253fc69c
dce_ast: 24c55d3656e8099e51f8fda9102fe08bac9d1074d9b6ea249026f85d2af4f6b3
bytecode: 11d3eb526786081e40ee33fde5e3f24ef0bc27a2eee1ab11a70e0c6593617f25
warnings: ""

View File

@ -0,0 +1,12 @@
---
namespace: Compile
expectation: Pass
outputs:
- - initial_ast: f6d65d9b587e9efbddda6ede96ba23f8181f9a3d3ed84d89cf7fb4e16d595839
unrolled_ast: f6d65d9b587e9efbddda6ede96ba23f8181f9a3d3ed84d89cf7fb4e16d595839
ssa_ast: d090c7d0c62fa9a695b97b24eded6eb04f248d8a4be847dd38441a188c3de9eb
flattened_ast: 0de76e2d947fb080c67bc479ca07273d4141c7196d746df8b3e449cb9a521022
inlined_ast: 0de76e2d947fb080c67bc479ca07273d4141c7196d746df8b3e449cb9a521022
dce_ast: 7ce0398ccec71b23dbba97a03adc123a7db57aede67049af399b9e57eb9d8724
bytecode: 2e306c778da6bcdcb2c36ac85a7f8ceeb9442250a2585a6fd096723479b2a86d
warnings: ""

View File

@ -0,0 +1,12 @@
---
namespace: Compile
expectation: Pass
outputs:
- - initial_ast: 95ab86496e8a0780fce7a7f0b9159c2cd553b5d4a9784b4c4762cba03373778f
unrolled_ast: 95ab86496e8a0780fce7a7f0b9159c2cd553b5d4a9784b4c4762cba03373778f
ssa_ast: b662a6b0b08a81452def45e82058792d63a7e86ae582b508ba8e39a34102f3cd
flattened_ast: ba4fc02441ec64c55f15a109f9c73a06e1da4ffbfd1513636e2859a704a8ae28
inlined_ast: ba4fc02441ec64c55f15a109f9c73a06e1da4ffbfd1513636e2859a704a8ae28
dce_ast: 5d978b4ac7658747d5d502547c55bb0659b75f8d52aac148d86861189d7ad640
bytecode: 3b8935a55d03c5deb6b1c22c7a270142420e7857d9dac64da8b2b60d99787647
warnings: ""

Some files were not shown because too many files have changed in this diff Show More