mirror of
https://github.com/ProvableHQ/leo.git
synced 2024-12-25 03:04:13 +03:00
Merge branch 'master' of github.com:AleoHQ/leo into bug/shadowing-fixes
This commit is contained in:
commit
a1f3108512
45
Cargo.lock
generated
45
Cargo.lock
generated
@ -395,9 +395,9 @@ checksum = "ea221b5284a47e40033bf9b66f35f984ec0ea2931eb03505246cd27a963f981b"
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "cpufeatures"
|
name = "cpufeatures"
|
||||||
version = "0.1.5"
|
version = "0.2.1"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "66c99696f6c9dd7f35d486b9d04d7e6e202aa3e8c40d553f2fdf5e7e0c6a71ef"
|
checksum = "95059428f66df56b63431fdb4e1947ed2190586af5c5a8a8b71122bdf5a7f469"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"libc",
|
"libc",
|
||||||
]
|
]
|
||||||
@ -1246,7 +1246,6 @@ name = "leo-compiler"
|
|||||||
version = "1.5.3"
|
version = "1.5.3"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bincode",
|
"bincode",
|
||||||
"hex",
|
|
||||||
"indexmap",
|
"indexmap",
|
||||||
"leo-asg",
|
"leo-asg",
|
||||||
"leo-asg-passes",
|
"leo-asg-passes",
|
||||||
@ -1465,9 +1464,9 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "libc"
|
name = "libc"
|
||||||
version = "0.2.98"
|
version = "0.2.101"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "320cfe77175da3a483efed4bc0adc1968ca050b098ce4f2f1c13a56626128790"
|
checksum = "3cb00336871be5ed2c8ed44b60ae9959dc5b9f08539422ed43f09e34ecaeba21"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "libz-sys"
|
name = "libz-sys"
|
||||||
@ -1710,9 +1709,9 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "num-bigint"
|
name = "num-bigint"
|
||||||
version = "0.4.0"
|
version = "0.4.1"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "4e0d047c1062aa51e256408c560894e5251f08925980e53cf1aa5bd00eec6512"
|
checksum = "76e97c412795abf6c24ba30055a8f20642ea57ca12875220b854cfa501bf1e48"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"autocfg",
|
"autocfg",
|
||||||
"num-integer",
|
"num-integer",
|
||||||
@ -2375,9 +2374,9 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "serde"
|
name = "serde"
|
||||||
version = "1.0.128"
|
version = "1.0.130"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "1056a0db1978e9dbf0f6e4fca677f6f9143dc1c19de346f22cac23e422196834"
|
checksum = "f12d06de37cf59146fbdecab66aa99f9fe4f78722e3607577a5375d66bd0c913"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"serde_derive",
|
"serde_derive",
|
||||||
]
|
]
|
||||||
@ -2394,9 +2393,9 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "serde_derive"
|
name = "serde_derive"
|
||||||
version = "1.0.128"
|
version = "1.0.130"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "13af2fbb8b60a8950d6c72a56d2095c28870367cc8e10c55e9745bac4995a2c4"
|
checksum = "d7bc1a1ab1961464eae040d96713baa5a724a8152c1222492465b54322ec508b"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"proc-macro2 1.0.27",
|
"proc-macro2 1.0.27",
|
||||||
"quote 1.0.9",
|
"quote 1.0.9",
|
||||||
@ -2428,9 +2427,9 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "serde_yaml"
|
name = "serde_yaml"
|
||||||
version = "0.8.19"
|
version = "0.8.20"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "6375dbd828ed6964c3748e4ef6d18e7a175d408ffe184bca01698d0c73f915a9"
|
checksum = "ad104641f3c958dab30eb3010e834c2622d1f3f4c530fef1dee20ad9485f3c09"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"dtoa",
|
"dtoa",
|
||||||
"indexmap",
|
"indexmap",
|
||||||
@ -2452,9 +2451,9 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "sha2"
|
name = "sha2"
|
||||||
version = "0.9.5"
|
version = "0.9.6"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "b362ae5752fd2137731f9fa25fd4d9058af34666ca1966fb969119cc35719f12"
|
checksum = "9204c41a1597a8c5af23c82d1c921cb01ec0a4c59e07a9c7306062829a3903f3"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"block-buffer 0.9.0",
|
"block-buffer 0.9.0",
|
||||||
"cfg-if 1.0.0",
|
"cfg-if 1.0.0",
|
||||||
@ -2733,9 +2732,9 @@ checksum = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a"
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "structopt"
|
name = "structopt"
|
||||||
version = "0.3.22"
|
version = "0.3.23"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "69b041cdcb67226aca307e6e7be44c8806423d83e018bd662360a93dabce4d71"
|
checksum = "bf9d950ef167e25e0bdb073cf1d68e9ad2795ac826f2f3f59647817cf23c0bfa"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"clap",
|
"clap",
|
||||||
"lazy_static",
|
"lazy_static",
|
||||||
@ -2744,9 +2743,9 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "structopt-derive"
|
name = "structopt-derive"
|
||||||
version = "0.4.15"
|
version = "0.4.16"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "7813934aecf5f51a54775e00068c237de98489463968231a51746bbbc03f9c10"
|
checksum = "134d838a2c9943ac3125cf6df165eda53493451b719f3255b2a26b85f772d0ba"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"heck",
|
"heck",
|
||||||
"proc-macro-error",
|
"proc-macro-error",
|
||||||
@ -2865,18 +2864,18 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "thiserror"
|
name = "thiserror"
|
||||||
version = "1.0.26"
|
version = "1.0.28"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "93119e4feac1cbe6c798c34d3a53ea0026b0b1de6a120deef895137c0529bfe2"
|
checksum = "283d5230e63df9608ac7d9691adc1dfb6e701225436eb64d0b9a7f0a5a04f6ec"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"thiserror-impl",
|
"thiserror-impl",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "thiserror-impl"
|
name = "thiserror-impl"
|
||||||
version = "1.0.26"
|
version = "1.0.28"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "060d69a0afe7796bf42e9e2ff91f5ee691fb15c53d38b4b62a9a53eb23164745"
|
checksum = "fa3884228611f5cd3608e2d409bf7dce832e4eb3135e3f11addbd7e41bd68e71"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"proc-macro2 1.0.27",
|
"proc-macro2 1.0.27",
|
||||||
"quote 1.0.9",
|
"quote 1.0.9",
|
||||||
|
@ -91,7 +91,8 @@ impl<'a> FromAst<'a, leo_ast::ArrayAccessExpression> for ArrayAccessExpression<'
|
|||||||
Some(PartialType::Array(expected_type.map(Box::new), None)),
|
Some(PartialType::Array(expected_type.map(Box::new), None)),
|
||||||
)?;
|
)?;
|
||||||
let array_len = match array.get_type() {
|
let array_len = match array.get_type() {
|
||||||
Some(Type::Array(_, len)) => len,
|
Some(Type::Array(_, len)) => Some(len),
|
||||||
|
Some(Type::ArrayWithoutSize(_)) => None,
|
||||||
type_ => {
|
type_ => {
|
||||||
return Err(AsgError::unexpected_type(
|
return Err(AsgError::unexpected_type(
|
||||||
"array",
|
"array",
|
||||||
@ -113,10 +114,14 @@ impl<'a> FromAst<'a, leo_ast::ArrayAccessExpression> for ArrayAccessExpression<'
|
|||||||
.map(|x| x.int().map(|x| x.to_usize()).flatten())
|
.map(|x| x.int().map(|x| x.to_usize()).flatten())
|
||||||
.flatten()
|
.flatten()
|
||||||
{
|
{
|
||||||
if index >= array_len {
|
// Only check index if array size is known.
|
||||||
return Err(
|
// Array out of bounds will be caught later if it really happens.
|
||||||
AsgError::array_index_out_of_bounds(index, &array.span().cloned().unwrap_or_default()).into(),
|
if let Some(array_len) = array_len {
|
||||||
);
|
if index >= array_len {
|
||||||
|
return Err(
|
||||||
|
AsgError::array_index_out_of_bounds(index, &array.span().cloned().unwrap_or_default()).into(),
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -107,6 +107,7 @@ impl<'a> FromAst<'a, leo_ast::ArrayInlineExpression> for ArrayInlineExpression<'
|
|||||||
) -> Result<ArrayInlineExpression<'a>> {
|
) -> Result<ArrayInlineExpression<'a>> {
|
||||||
let (mut expected_item, expected_len) = match expected_type {
|
let (mut expected_item, expected_len) = match expected_type {
|
||||||
Some(PartialType::Array(item, dims)) => (item.map(|x| *x), dims),
|
Some(PartialType::Array(item, dims)) => (item.map(|x| *x), dims),
|
||||||
|
Some(PartialType::Type(Type::ArrayWithoutSize(item))) => (Some(item.partial()), None),
|
||||||
None => (None, None),
|
None => (None, None),
|
||||||
Some(type_) => {
|
Some(type_) => {
|
||||||
return Err(AsgError::unexpected_type(type_, "array", &value.span).into());
|
return Err(AsgError::unexpected_type(type_, "array", &value.span).into());
|
||||||
|
@ -183,13 +183,19 @@ impl<'a> Scope<'a> {
|
|||||||
IntegerType(int_type) => Type::Integer(int_type.clone()),
|
IntegerType(int_type) => Type::Integer(int_type.clone()),
|
||||||
Array(sub_type, dimensions) => {
|
Array(sub_type, dimensions) => {
|
||||||
let mut item = Box::new(self.resolve_ast_type(&*sub_type, span)?);
|
let mut item = Box::new(self.resolve_ast_type(&*sub_type, span)?);
|
||||||
for dimension in dimensions.0.iter().rev() {
|
|
||||||
let dimension = dimension
|
if let Some(dimensions) = dimensions {
|
||||||
.value
|
for dimension in dimensions.0.iter().rev() {
|
||||||
.parse::<usize>()
|
let dimension = dimension
|
||||||
.map_err(|_| AsgError::parse_index_error(span))?;
|
.value
|
||||||
item = Box::new(Type::Array(item, dimension));
|
.parse::<usize>()
|
||||||
|
.map_err(|_| AsgError::parse_index_error(span))?;
|
||||||
|
item = Box::new(Type::Array(item, dimension));
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
item = Box::new(Type::ArrayWithoutSize(item));
|
||||||
}
|
}
|
||||||
|
|
||||||
*item
|
*item
|
||||||
}
|
}
|
||||||
Tuple(sub_types) => Type::Tuple(
|
Tuple(sub_types) => Type::Tuple(
|
||||||
|
@ -32,6 +32,7 @@ pub enum Type<'a> {
|
|||||||
|
|
||||||
// Data type wrappers
|
// Data type wrappers
|
||||||
Array(Box<Type<'a>>, usize),
|
Array(Box<Type<'a>>, usize),
|
||||||
|
ArrayWithoutSize(Box<Type<'a>>),
|
||||||
Tuple(Vec<Type<'a>>),
|
Tuple(Vec<Type<'a>>),
|
||||||
Circuit(&'a Circuit<'a>),
|
Circuit(&'a Circuit<'a>),
|
||||||
}
|
}
|
||||||
@ -71,6 +72,14 @@ impl<'a> PartialType<'a> {
|
|||||||
(PartialType::Integer(self_sub_type, _), Type::Integer(sub_type)) => {
|
(PartialType::Integer(self_sub_type, _), Type::Integer(sub_type)) => {
|
||||||
self_sub_type.as_ref().map(|x| x == sub_type).unwrap_or(true)
|
self_sub_type.as_ref().map(|x| x == sub_type).unwrap_or(true)
|
||||||
}
|
}
|
||||||
|
(PartialType::Array(element, _len), Type::ArrayWithoutSize(other_element)) => {
|
||||||
|
if let Some(element) = element {
|
||||||
|
if !element.matches(&*other_element) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
true
|
||||||
|
}
|
||||||
(PartialType::Array(element, len), Type::Array(other_element, other_len)) => {
|
(PartialType::Array(element, len), Type::Array(other_element, other_len)) => {
|
||||||
if let Some(element) = element {
|
if let Some(element) = element {
|
||||||
if !element.matches(&*other_element) {
|
if !element.matches(&*other_element) {
|
||||||
@ -114,7 +123,11 @@ impl<'a> Into<PartialType<'a>> for Type<'a> {
|
|||||||
|
|
||||||
impl<'a> Type<'a> {
|
impl<'a> Type<'a> {
|
||||||
pub fn is_assignable_from(&self, from: &Type<'a>) -> bool {
|
pub fn is_assignable_from(&self, from: &Type<'a>) -> bool {
|
||||||
self == from
|
match (self, from) {
|
||||||
|
(Type::Array(_, _), Type::ArrayWithoutSize(_)) => true,
|
||||||
|
(Type::ArrayWithoutSize(_), Type::Array(_, _)) => true,
|
||||||
|
_ => self == from,
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn partial(self) -> PartialType<'a> {
|
pub fn partial(self) -> PartialType<'a> {
|
||||||
@ -140,6 +153,7 @@ impl<'a> fmt::Display for Type<'a> {
|
|||||||
Type::Group => write!(f, "group"),
|
Type::Group => write!(f, "group"),
|
||||||
Type::Integer(sub_type) => sub_type.fmt(f),
|
Type::Integer(sub_type) => sub_type.fmt(f),
|
||||||
Type::Array(sub_type, len) => write!(f, "[{}; {}]", sub_type, len),
|
Type::Array(sub_type, len) => write!(f, "[{}; {}]", sub_type, len),
|
||||||
|
Type::ArrayWithoutSize(sub_type) => write!(f, "[{}; _]", sub_type),
|
||||||
Type::Tuple(sub_types) => {
|
Type::Tuple(sub_types) => {
|
||||||
write!(f, "(")?;
|
write!(f, "(")?;
|
||||||
for (i, sub_type) in sub_types.iter().enumerate() {
|
for (i, sub_type) in sub_types.iter().enumerate() {
|
||||||
@ -207,10 +221,11 @@ impl<'a> Into<leo_ast::Type> for &Type<'a> {
|
|||||||
Integer(int_type) => leo_ast::Type::IntegerType(int_type.clone()),
|
Integer(int_type) => leo_ast::Type::IntegerType(int_type.clone()),
|
||||||
Array(type_, len) => leo_ast::Type::Array(
|
Array(type_, len) => leo_ast::Type::Array(
|
||||||
Box::new(type_.as_ref().into()),
|
Box::new(type_.as_ref().into()),
|
||||||
leo_ast::ArrayDimensions(vec![leo_ast::PositiveNumber {
|
Some(leo_ast::ArrayDimensions(vec![leo_ast::PositiveNumber {
|
||||||
value: len.to_string().into(),
|
value: len.to_string().into(),
|
||||||
}]),
|
}])),
|
||||||
),
|
),
|
||||||
|
ArrayWithoutSize(type_) => leo_ast::Type::Array(Box::new(type_.as_ref().into()), None),
|
||||||
Tuple(subtypes) => leo_ast::Type::Tuple(subtypes.iter().map(Into::into).collect()),
|
Tuple(subtypes) => leo_ast::Type::Tuple(subtypes.iter().map(Into::into).collect()),
|
||||||
Circuit(circuit) => leo_ast::Type::CircuitOrAlias(circuit.name.borrow().clone()),
|
Circuit(circuit) => leo_ast::Type::CircuitOrAlias(circuit.name.borrow().clone()),
|
||||||
}
|
}
|
||||||
|
@ -481,24 +481,31 @@ impl ReconstructingReducer for Canonicalizer {
|
|||||||
|
|
||||||
fn reduce_type(&mut self, _type_: &Type, new: Type, span: &Span) -> Result<Type> {
|
fn reduce_type(&mut self, _type_: &Type, new: Type, span: &Span) -> Result<Type> {
|
||||||
match new {
|
match new {
|
||||||
Type::Array(type_, mut dimensions) => {
|
Type::Array(type_, dimensions) => {
|
||||||
if dimensions.is_zero() {
|
if let Some(mut dimensions) = dimensions {
|
||||||
return Err(AstError::invalid_array_dimension_size(span).into());
|
if dimensions.is_zero() {
|
||||||
}
|
return Err(AstError::invalid_array_dimension_size(span).into());
|
||||||
|
|
||||||
let mut next = Type::Array(type_, ArrayDimensions(vec![dimensions.remove_last().unwrap()]));
|
|
||||||
let mut array = next.clone();
|
|
||||||
|
|
||||||
loop {
|
|
||||||
if dimensions.is_empty() {
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
array = Type::Array(Box::new(next), ArrayDimensions(vec![dimensions.remove_last().unwrap()]));
|
let mut next = Type::Array(type_, Some(ArrayDimensions(vec![dimensions.remove_last().unwrap()])));
|
||||||
next = array.clone();
|
let mut array = next.clone();
|
||||||
}
|
|
||||||
|
|
||||||
Ok(array)
|
loop {
|
||||||
|
if dimensions.is_empty() {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
array = Type::Array(
|
||||||
|
Box::new(next),
|
||||||
|
Some(ArrayDimensions(vec![dimensions.remove_last().unwrap()])),
|
||||||
|
);
|
||||||
|
next = array.clone();
|
||||||
|
}
|
||||||
|
|
||||||
|
Ok(array)
|
||||||
|
} else {
|
||||||
|
Ok(Type::Array(type_, None))
|
||||||
|
}
|
||||||
}
|
}
|
||||||
Type::SelfType if !self.in_circuit => Err(AstError::big_self_outside_of_circuit(span).into()),
|
Type::SelfType if !self.in_circuit => Err(AstError::big_self_outside_of_circuit(span).into()),
|
||||||
_ => Ok(new.clone()),
|
_ => Ok(new.clone()),
|
||||||
|
@ -14,12 +14,12 @@
|
|||||||
// You should have received a copy of the GNU General Public License
|
// You should have received a copy of the GNU General Public License
|
||||||
// along with the Leo library. If not, see <https://www.gnu.org/licenses/>.
|
// along with the Leo library. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
use crate::{ArrayDimensions, Identifier, IntegerType};
|
use crate::{ArrayDimensions, Identifier, IntegerType, PositiveNumber};
|
||||||
use leo_input::types::{
|
use leo_input::types::{
|
||||||
ArrayType as InputArrayType, DataType as InputDataType, TupleType as InputTupleType, Type as InputType,
|
ArrayType as InputArrayType, DataType as InputDataType, TupleType as InputTupleType, Type as InputType,
|
||||||
};
|
};
|
||||||
|
|
||||||
use serde::{Deserialize, Serialize};
|
use serde::{ser::SerializeSeq, Deserialize, Serialize, Serializer};
|
||||||
use std::fmt;
|
use std::fmt;
|
||||||
|
|
||||||
/// Explicit type used for defining a variable or expression type
|
/// Explicit type used for defining a variable or expression type
|
||||||
@ -34,7 +34,8 @@ pub enum Type {
|
|||||||
IntegerType(IntegerType),
|
IntegerType(IntegerType),
|
||||||
|
|
||||||
// Data type wrappers
|
// Data type wrappers
|
||||||
Array(Box<Type>, ArrayDimensions),
|
#[serde(serialize_with = "serialize_array")]
|
||||||
|
Array(Box<Type>, Option<ArrayDimensions>),
|
||||||
Tuple(Vec<Type>),
|
Tuple(Vec<Type>),
|
||||||
CircuitOrAlias(Identifier),
|
CircuitOrAlias(Identifier),
|
||||||
SelfType,
|
SelfType,
|
||||||
@ -72,8 +73,17 @@ impl Type {
|
|||||||
(Type::SelfType, Type::SelfType) => true,
|
(Type::SelfType, Type::SelfType) => true,
|
||||||
(Type::Array(left_type, left_dim), Type::Array(right_type, right_dim)) => {
|
(Type::Array(left_type, left_dim), Type::Array(right_type, right_dim)) => {
|
||||||
// Convert array dimensions to owned.
|
// Convert array dimensions to owned.
|
||||||
let mut left_dim_owned = left_dim.to_owned();
|
let left_dim_owned = left_dim.to_owned();
|
||||||
let mut right_dim_owned = right_dim.to_owned();
|
let right_dim_owned = right_dim.to_owned();
|
||||||
|
|
||||||
|
// Unable to compare arrays with unspecified sizes.
|
||||||
|
if left_dim_owned.is_none() || right_dim_owned.is_none() {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
// We know that values are Some, safe to unwrap.
|
||||||
|
let mut left_dim_owned = left_dim_owned.unwrap();
|
||||||
|
let mut right_dim_owned = right_dim_owned.unwrap();
|
||||||
|
|
||||||
// Remove the first element from both dimensions.
|
// Remove the first element from both dimensions.
|
||||||
let left_first = left_dim_owned.remove_first();
|
let left_first = left_dim_owned.remove_first();
|
||||||
@ -120,7 +130,7 @@ impl<'ast> From<InputArrayType<'ast>> for Type {
|
|||||||
let element_type = Box::new(Type::from(*array_type.type_));
|
let element_type = Box::new(Type::from(*array_type.type_));
|
||||||
let dimensions = ArrayDimensions::from(array_type.dimensions);
|
let dimensions = ArrayDimensions::from(array_type.dimensions);
|
||||||
|
|
||||||
Type::Array(element_type, dimensions)
|
Type::Array(element_type, Some(dimensions))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -153,7 +163,13 @@ impl fmt::Display for Type {
|
|||||||
Type::IntegerType(ref integer_type) => write!(f, "{}", integer_type),
|
Type::IntegerType(ref integer_type) => write!(f, "{}", integer_type),
|
||||||
Type::CircuitOrAlias(ref variable) => write!(f, "circuit {}", variable),
|
Type::CircuitOrAlias(ref variable) => write!(f, "circuit {}", variable),
|
||||||
Type::SelfType => write!(f, "SelfType"),
|
Type::SelfType => write!(f, "SelfType"),
|
||||||
Type::Array(ref array, ref dimensions) => write!(f, "[{}; {}]", *array, dimensions),
|
Type::Array(ref array, ref dimensions) => {
|
||||||
|
if let Some(dimensions) = dimensions {
|
||||||
|
write!(f, "[{}; {}]", *array, dimensions)
|
||||||
|
} else {
|
||||||
|
write!(f, "[{}; _]", *array)
|
||||||
|
}
|
||||||
|
}
|
||||||
Type::Tuple(ref tuple) => {
|
Type::Tuple(ref tuple) => {
|
||||||
let types = tuple.iter().map(|x| x.to_string()).collect::<Vec<_>>().join(", ");
|
let types = tuple.iter().map(|x| x.to_string()).collect::<Vec<_>>().join(", ");
|
||||||
|
|
||||||
@ -179,6 +195,25 @@ pub fn inner_array_type(element_type: Type, dimensions: ArrayDimensions) -> Type
|
|||||||
element_type
|
element_type
|
||||||
} else {
|
} else {
|
||||||
// The array has multiple dimensions.
|
// The array has multiple dimensions.
|
||||||
Type::Array(Box::new(element_type), dimensions)
|
Type::Array(Box::new(element_type), Some(dimensions))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
///
|
||||||
|
/// Custom Serializer for Type::Array. Handles the case when ArrayDimensions are None and turns it into
|
||||||
|
/// a Vec<PositiveNumber>, where the only element is "0".
|
||||||
|
///
|
||||||
|
fn serialize_array<S>(type_: &Type, dimensions: &Option<ArrayDimensions>, serializer: S) -> Result<S::Ok, S::Error>
|
||||||
|
where
|
||||||
|
S: Serializer,
|
||||||
|
{
|
||||||
|
let mut seq = serializer.serialize_seq(Some(2))?;
|
||||||
|
seq.serialize_element(type_)?;
|
||||||
|
// seq.serialize_element(dimensions)?;
|
||||||
|
if let Some(dimensions) = dimensions {
|
||||||
|
seq.serialize_element(&dimensions)?;
|
||||||
|
} else {
|
||||||
|
seq.serialize_element(&ArrayDimensions(vec![PositiveNumber { value: "0".into() }]))?;
|
||||||
|
}
|
||||||
|
seq.end()
|
||||||
|
}
|
||||||
|
@ -91,9 +91,6 @@ version = "0.7.6"
|
|||||||
[dependencies.bincode]
|
[dependencies.bincode]
|
||||||
version = "1.3"
|
version = "1.3"
|
||||||
|
|
||||||
[dependencies.hex]
|
|
||||||
version = "0.4.2"
|
|
||||||
|
|
||||||
[dependencies.indexmap]
|
[dependencies.indexmap]
|
||||||
version = "1.7.0"
|
version = "1.7.0"
|
||||||
features = [ "serde-1" ]
|
features = [ "serde-1" ]
|
||||||
|
@ -255,7 +255,7 @@ impl<'a, F: PrimeField, G: GroupType<F>> Compiler<'a, F, G> {
|
|||||||
)?;
|
)?;
|
||||||
|
|
||||||
if self.ast_snapshot_options.imports_resolved {
|
if self.ast_snapshot_options.imports_resolved {
|
||||||
ast.to_json_file(self.output_directory.clone(), "imports_resolved.json")?;
|
ast.to_json_file(self.output_directory.clone(), "imports_resolved_ast.json")?;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Preform canonicalization of AST always.
|
// Preform canonicalization of AST always.
|
||||||
@ -339,7 +339,7 @@ impl<'a, F: PrimeField, G: GroupType<F>> Compiler<'a, F, G> {
|
|||||||
hasher.update(unparsed_file.as_bytes());
|
hasher.update(unparsed_file.as_bytes());
|
||||||
let hash = hasher.finalize();
|
let hash = hasher.finalize();
|
||||||
|
|
||||||
Ok(hex::encode(hash))
|
Ok(format!("{:x}", hash))
|
||||||
}
|
}
|
||||||
|
|
||||||
/// TODO (howardwu): Incorporate this for real program executions and intentionally-real
|
/// TODO (howardwu): Incorporate this for real program executions and intentionally-real
|
||||||
|
@ -76,9 +76,9 @@ impl<R: ReconstructingReducer, O: CombinerOptions> CombineAstAsgDirector<R, O> {
|
|||||||
if self.options.type_inference_enabled() {
|
if self.options.type_inference_enabled() {
|
||||||
AstType::Array(
|
AstType::Array(
|
||||||
Box::new(self.reduce_type(ast_type, asg_type, span)?),
|
Box::new(self.reduce_type(ast_type, asg_type, span)?),
|
||||||
ArrayDimensions(vec![PositiveNumber {
|
Some(ArrayDimensions(vec![PositiveNumber {
|
||||||
value: StrTendril::from(format!("{}", asg_dimensions)),
|
value: StrTendril::from(format!("{}", asg_dimensions)),
|
||||||
}]),
|
}])),
|
||||||
)
|
)
|
||||||
} else {
|
} else {
|
||||||
AstType::Array(
|
AstType::Array(
|
||||||
|
@ -16,11 +16,11 @@
|
|||||||
|
|
||||||
use std::{
|
use std::{
|
||||||
collections::HashMap,
|
collections::HashMap,
|
||||||
|
fs,
|
||||||
path::{Path, PathBuf},
|
path::{Path, PathBuf},
|
||||||
};
|
};
|
||||||
|
|
||||||
use leo_asg::*;
|
use leo_asg::*;
|
||||||
use leo_ast::{Ast, Program};
|
|
||||||
use leo_errors::Result;
|
use leo_errors::Result;
|
||||||
|
|
||||||
use leo_synthesizer::{CircuitSynthesizer, SerializedCircuit, SummarizedCircuit};
|
use leo_synthesizer::{CircuitSynthesizer, SerializedCircuit, SummarizedCircuit};
|
||||||
@ -45,7 +45,7 @@ pub(crate) fn make_test_context() -> AsgContext<'static> {
|
|||||||
fn new_compiler(path: PathBuf, theorem_options: Option<AstSnapshotOptions>) -> EdwardsTestCompiler {
|
fn new_compiler(path: PathBuf, theorem_options: Option<AstSnapshotOptions>) -> EdwardsTestCompiler {
|
||||||
let program_name = "test".to_string();
|
let program_name = "test".to_string();
|
||||||
let output_dir = PathBuf::from("/tmp/output/");
|
let output_dir = PathBuf::from("/tmp/output/");
|
||||||
std::fs::create_dir_all(output_dir.clone()).unwrap();
|
fs::create_dir_all(output_dir.clone()).unwrap();
|
||||||
|
|
||||||
EdwardsTestCompiler::new(
|
EdwardsTestCompiler::new(
|
||||||
program_name,
|
program_name,
|
||||||
@ -58,13 +58,14 @@ fn new_compiler(path: PathBuf, theorem_options: Option<AstSnapshotOptions>) -> E
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
fn hash(input: String) -> String {
|
fn hash_file(path: &str) -> String {
|
||||||
use sha2::{Digest, Sha256};
|
use sha2::{Digest, Sha256};
|
||||||
|
let mut file = fs::File::open(&Path::new(path)).unwrap();
|
||||||
let mut hasher = Sha256::new();
|
let mut hasher = Sha256::new();
|
||||||
hasher.update(input.as_bytes());
|
std::io::copy(&mut file, &mut hasher).unwrap();
|
||||||
let output = hasher.finalize();
|
let hash = hasher.finalize();
|
||||||
hex::encode(&output[..])
|
|
||||||
|
format!("{:x}", hash)
|
||||||
}
|
}
|
||||||
|
|
||||||
pub(crate) fn parse_program(
|
pub(crate) fn parse_program(
|
||||||
@ -151,7 +152,7 @@ impl Namespace for CompileNamespace {
|
|||||||
input_file.push(input.as_str().expect("input_file was not a string or array"));
|
input_file.push(input.as_str().expect("input_file was not a string or array"));
|
||||||
inputs.push((
|
inputs.push((
|
||||||
name.to_string(),
|
name.to_string(),
|
||||||
std::fs::read_to_string(&input_file).expect("failed to read test input file"),
|
fs::read_to_string(&input_file).expect("failed to read test input file"),
|
||||||
));
|
));
|
||||||
} else if let Some(seq) = input.as_sequence() {
|
} else if let Some(seq) = input.as_sequence() {
|
||||||
for name in seq {
|
for name in seq {
|
||||||
@ -159,7 +160,7 @@ impl Namespace for CompileNamespace {
|
|||||||
input_file.push(name.as_str().expect("input_file was not a string"));
|
input_file.push(name.as_str().expect("input_file was not a string"));
|
||||||
inputs.push((
|
inputs.push((
|
||||||
name.as_str().expect("input_file item was not a string").to_string(),
|
name.as_str().expect("input_file item was not a string").to_string(),
|
||||||
std::fs::read_to_string(&input_file).expect("failed to read test input file"),
|
fs::read_to_string(&input_file).expect("failed to read test input file"),
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -171,7 +172,7 @@ impl Namespace for CompileNamespace {
|
|||||||
let state = if let Some(input) = test.config.get("state_file") {
|
let state = if let Some(input) = test.config.get("state_file") {
|
||||||
let mut input_file: PathBuf = test.path.parent().expect("no test parent dir").into();
|
let mut input_file: PathBuf = test.path.parent().expect("no test parent dir").into();
|
||||||
input_file.push(input.as_str().expect("state_file was not a string"));
|
input_file.push(input.as_str().expect("state_file was not a string"));
|
||||||
std::fs::read_to_string(&input_file).expect("failed to read test state file")
|
fs::read_to_string(&input_file).expect("failed to read test state file")
|
||||||
} else {
|
} else {
|
||||||
"".to_string()
|
"".to_string()
|
||||||
};
|
};
|
||||||
@ -213,33 +214,13 @@ impl Namespace for CompileNamespace {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
let initial_ast: String = hash(
|
let initial_ast = hash_file("/tmp/output/initial_ast.json");
|
||||||
Ast::from_json_file("/tmp/output/initial_ast.json".into())
|
let imports_resolved_ast = hash_file("/tmp/output/imports_resolved_ast.json");
|
||||||
.unwrap_or_else(|_| Ast::new(Program::new("Error reading initial snapshot.".to_string())))
|
let canonicalized_ast = hash_file("/tmp/output/canonicalization_ast.json");
|
||||||
.to_json_string()
|
let type_inferenced_ast = hash_file("/tmp/output/type_inferenced_ast.json");
|
||||||
.unwrap_or_else(|_| "Error converting ast to string.".to_string()),
|
|
||||||
);
|
|
||||||
let imports_resolved_ast: String = hash(
|
|
||||||
Ast::from_json_file("/tmp/output/imports_resolved_ast.json".into())
|
|
||||||
.unwrap_or_else(|_| Ast::new(Program::new("Error reading imports resolved snapshot.".to_string())))
|
|
||||||
.to_json_string()
|
|
||||||
.unwrap_or_else(|_| "Error converting ast to string.".to_string()),
|
|
||||||
);
|
|
||||||
let canonicalized_ast: String = hash(
|
|
||||||
Ast::from_json_file("/tmp/output/canonicalization_ast.json".into())
|
|
||||||
.unwrap_or_else(|_| Ast::new(Program::new("Error reading canonicalized snapshot.".to_string())))
|
|
||||||
.to_json_string()
|
|
||||||
.unwrap_or_else(|_| "Error converting ast to string.".to_string()),
|
|
||||||
);
|
|
||||||
let type_inferenced_ast = hash(
|
|
||||||
Ast::from_json_file("/tmp/output/type_inferenced_ast.json".into())
|
|
||||||
.unwrap_or_else(|_| Ast::new(Program::new("Error reading type inferenced snapshot.".to_string())))
|
|
||||||
.to_json_string()
|
|
||||||
.unwrap_or_else(|_| "Error converting ast to string.".to_string()),
|
|
||||||
);
|
|
||||||
|
|
||||||
if std::fs::read_dir("/tmp/output").is_ok() {
|
if fs::read_dir("/tmp/output").is_ok() {
|
||||||
std::fs::remove_dir_all(std::path::Path::new("/tmp/output")).expect("Error failed to clean up output dir.");
|
fs::remove_dir_all(Path::new("/tmp/output")).expect("Error failed to clean up output dir.");
|
||||||
}
|
}
|
||||||
|
|
||||||
let final_output = CompileOutput {
|
let final_output = CompileOutput {
|
||||||
|
@ -45,7 +45,7 @@ The ABNF grammar changes as follows:
|
|||||||
```
|
```
|
||||||
; modified rule:
|
; modified rule:
|
||||||
keyword = ...
|
keyword = ...
|
||||||
/ %s"true"
|
/ %s"string"
|
||||||
/ %s"type" ; new
|
/ %s"type" ; new
|
||||||
/ %s"u8"
|
/ %s"u8"
|
||||||
/ ...
|
/ ...
|
||||||
|
@ -41,11 +41,11 @@ version = "0.3.61"
|
|||||||
version = "2.0"
|
version = "2.0"
|
||||||
|
|
||||||
[dependencies.serde]
|
[dependencies.serde]
|
||||||
version = "1.0.128"
|
version = "1.0.130"
|
||||||
features = [ "derive", "rc" ]
|
features = [ "derive", "rc" ]
|
||||||
|
|
||||||
[dependencies.tendril]
|
[dependencies.tendril]
|
||||||
version = "0.4.2"
|
version = "0.4.2"
|
||||||
|
|
||||||
[dependencies.thiserror]
|
[dependencies.thiserror]
|
||||||
version = "1.0.26"
|
version = "1.0.28"
|
||||||
|
@ -32,7 +32,7 @@ create_errors!(
|
|||||||
help: None,
|
help: None,
|
||||||
}
|
}
|
||||||
|
|
||||||
/// For when the parser encoutnered an invalid address literal.
|
/// For when the parser encountered an invalid address literal.
|
||||||
@formatted
|
@formatted
|
||||||
invalid_address_lit {
|
invalid_address_lit {
|
||||||
args: (token: impl Display),
|
args: (token: impl Display),
|
||||||
@ -40,7 +40,7 @@ create_errors!(
|
|||||||
help: None,
|
help: None,
|
||||||
}
|
}
|
||||||
|
|
||||||
/// For when the parser encoutnered an empty import list.
|
/// For when the parser encountered an empty import list.
|
||||||
@formatted
|
@formatted
|
||||||
invalid_import_list {
|
invalid_import_list {
|
||||||
args: (),
|
args: (),
|
||||||
@ -48,7 +48,7 @@ create_errors!(
|
|||||||
help: None,
|
help: None,
|
||||||
}
|
}
|
||||||
|
|
||||||
/// For when the parser encoutnered an unexpected End of File.
|
/// For when the parser encountered an unexpected End of File.
|
||||||
@formatted
|
@formatted
|
||||||
unexpected_eof {
|
unexpected_eof {
|
||||||
args: (),
|
args: (),
|
||||||
@ -56,7 +56,7 @@ create_errors!(
|
|||||||
help: None,
|
help: None,
|
||||||
}
|
}
|
||||||
|
|
||||||
/// For when the parser encoutnered an unexpected whitespace.
|
/// For when the parser encountered an unexpected whitespace.
|
||||||
@formatted
|
@formatted
|
||||||
unexpected_whitespace {
|
unexpected_whitespace {
|
||||||
args: (left: impl Display, right: impl Display),
|
args: (left: impl Display, right: impl Display),
|
||||||
@ -64,7 +64,7 @@ create_errors!(
|
|||||||
help: None,
|
help: None,
|
||||||
}
|
}
|
||||||
|
|
||||||
/// For when the parser encoutnered an unexpected list of tokens.
|
/// For when the parser encountered an unexpected list of tokens.
|
||||||
@formatted
|
@formatted
|
||||||
unexpected {
|
unexpected {
|
||||||
args: (got: impl Display, expected: impl Display),
|
args: (got: impl Display, expected: impl Display),
|
||||||
@ -72,7 +72,7 @@ create_errors!(
|
|||||||
help: None,
|
help: None,
|
||||||
}
|
}
|
||||||
|
|
||||||
/// For when the parser encoutnered a mix of commas and semi-colons in circuit member variables.
|
/// For when the parser encountered a mix of commas and semi-colons in circuit member variables.
|
||||||
@formatted
|
@formatted
|
||||||
mixed_commas_and_semicolons {
|
mixed_commas_and_semicolons {
|
||||||
args: (),
|
args: (),
|
||||||
@ -80,7 +80,7 @@ create_errors!(
|
|||||||
help: None,
|
help: None,
|
||||||
}
|
}
|
||||||
|
|
||||||
/// For when the parser encoutnered an unexpected identifier.
|
/// For when the parser encountered an unexpected identifier.
|
||||||
@formatted
|
@formatted
|
||||||
unexpected_ident {
|
unexpected_ident {
|
||||||
args: (got: impl Display, expected: &[impl Display]),
|
args: (got: impl Display, expected: &[impl Display]),
|
||||||
@ -96,7 +96,7 @@ create_errors!(
|
|||||||
help: None,
|
help: None,
|
||||||
}
|
}
|
||||||
|
|
||||||
/// For when the parser encoutnered an unexpected statement.
|
/// For when the parser encountered an unexpected statement.
|
||||||
@formatted
|
@formatted
|
||||||
unexpected_statement {
|
unexpected_statement {
|
||||||
args: (got: impl Display, expected: impl Display),
|
args: (got: impl Display, expected: impl Display),
|
||||||
@ -104,7 +104,7 @@ create_errors!(
|
|||||||
help: None,
|
help: None,
|
||||||
}
|
}
|
||||||
|
|
||||||
/// For when the parser encoutnered an unexpected string.
|
/// For when the parser encountered an unexpected string.
|
||||||
@formatted
|
@formatted
|
||||||
unexpected_str {
|
unexpected_str {
|
||||||
args: (got: impl Display, expected: impl Display),
|
args: (got: impl Display, expected: impl Display),
|
||||||
@ -112,7 +112,7 @@ create_errors!(
|
|||||||
help: None,
|
help: None,
|
||||||
}
|
}
|
||||||
|
|
||||||
/// For when the parser encoutnered an unexpected spread in an array init expression.
|
/// For when the parser encountered an unexpected spread in an array init expression.
|
||||||
@formatted
|
@formatted
|
||||||
spread_in_array_init {
|
spread_in_array_init {
|
||||||
args: (),
|
args: (),
|
||||||
@ -120,7 +120,7 @@ create_errors!(
|
|||||||
help: None,
|
help: None,
|
||||||
}
|
}
|
||||||
|
|
||||||
/// For when the parser encoutnered an invalid assignment target.
|
/// For when the parser encountered an invalid assignment target.
|
||||||
@formatted
|
@formatted
|
||||||
invalid_assignment_target {
|
invalid_assignment_target {
|
||||||
args: (),
|
args: (),
|
||||||
@ -128,7 +128,7 @@ create_errors!(
|
|||||||
help: None,
|
help: None,
|
||||||
}
|
}
|
||||||
|
|
||||||
/// For when the parser encoutnered an invalid package name.
|
/// For when the parser encountered an invalid package name.
|
||||||
@formatted
|
@formatted
|
||||||
invalid_package_name {
|
invalid_package_name {
|
||||||
args: (),
|
args: (),
|
||||||
@ -136,7 +136,7 @@ create_errors!(
|
|||||||
help: None,
|
help: None,
|
||||||
}
|
}
|
||||||
|
|
||||||
/// For when the parser encoutnered an illegal `const self` argument.
|
/// For when the parser encountered an illegal `const self` argument.
|
||||||
@formatted
|
@formatted
|
||||||
illegal_self_const {
|
illegal_self_const {
|
||||||
args: (),
|
args: (),
|
||||||
@ -144,7 +144,7 @@ create_errors!(
|
|||||||
help: None,
|
help: None,
|
||||||
}
|
}
|
||||||
|
|
||||||
/// For when the parser encoutnered a deprecated `mut` argument in a function.
|
/// For when the parser encountered a deprecated `mut` argument in a function.
|
||||||
@formatted
|
@formatted
|
||||||
mut_function_input {
|
mut_function_input {
|
||||||
args: (),
|
args: (),
|
||||||
@ -152,7 +152,7 @@ create_errors!(
|
|||||||
help: None,
|
help: None,
|
||||||
}
|
}
|
||||||
|
|
||||||
/// For when the parser encoutnered a deprecated `mut` argument in a let statement.
|
/// For when the parser encountered a deprecated `mut` argument in a let statement.
|
||||||
@formatted
|
@formatted
|
||||||
let_mut_statement {
|
let_mut_statement {
|
||||||
args: (),
|
args: (),
|
||||||
@ -160,7 +160,7 @@ create_errors!(
|
|||||||
help: None,
|
help: None,
|
||||||
}
|
}
|
||||||
|
|
||||||
/// For when the parser encoutnered a deprecated `test function`.
|
/// For when the parser encountered a deprecated `test function`.
|
||||||
@formatted
|
@formatted
|
||||||
test_function {
|
test_function {
|
||||||
args: (),
|
args: (),
|
||||||
@ -168,11 +168,19 @@ create_errors!(
|
|||||||
help: None,
|
help: None,
|
||||||
}
|
}
|
||||||
|
|
||||||
/// For when the parser encoutnered a deprecated `@context(...)` annotation.
|
/// For when the parser encountered a deprecated `@context(...)` annotation.
|
||||||
@formatted
|
@formatted
|
||||||
context_annotation {
|
context_annotation {
|
||||||
args: (),
|
args: (),
|
||||||
msg: "\"@context(...)\" is deprecated. Did you mean @test annotation?",
|
msg: "\"@context(...)\" is deprecated. Did you mean @test annotation?",
|
||||||
help: None,
|
help: None,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// For when the parser failed to parse array dimensions.
|
||||||
|
@formatted
|
||||||
|
unable_to_parse_array_dimensions {
|
||||||
|
args: (),
|
||||||
|
msg: "unable to parse array dimensions",
|
||||||
|
help: None,
|
||||||
|
}
|
||||||
);
|
);
|
||||||
|
Binary file not shown.
@ -395,7 +395,6 @@ keyword = %s"address"
|
|||||||
/ %s"console"
|
/ %s"console"
|
||||||
/ %s"const"
|
/ %s"const"
|
||||||
/ %s"else"
|
/ %s"else"
|
||||||
/ %s"false"
|
|
||||||
/ %s"field"
|
/ %s"field"
|
||||||
/ %s"for"
|
/ %s"for"
|
||||||
/ %s"function"
|
/ %s"function"
|
||||||
@ -416,7 +415,6 @@ keyword = %s"address"
|
|||||||
/ %s"self"
|
/ %s"self"
|
||||||
/ %s"static"
|
/ %s"static"
|
||||||
/ %s"string"
|
/ %s"string"
|
||||||
/ %s"true"
|
|
||||||
/ %s"type"
|
/ %s"type"
|
||||||
/ %s"u8"
|
/ %s"u8"
|
||||||
/ %s"u16"
|
/ %s"u16"
|
||||||
@ -680,8 +678,10 @@ tuple-type = "(" [ type 1*( "," type ) ] ")"
|
|||||||
|
|
||||||
array-type = "[" type ";" array-dimensions "]"
|
array-type = "[" type ";" array-dimensions "]"
|
||||||
|
|
||||||
array-dimensions = natural
|
array-dimension = natural / "_"
|
||||||
/ "(" natural *( "," natural ) ")"
|
|
||||||
|
array-dimensions = array-dimension
|
||||||
|
/ "(" array-dimension *( "," array-dimension ) ")"
|
||||||
|
|
||||||
; Scalar and the remaining types form all the types.
|
; Scalar and the remaining types form all the types.
|
||||||
|
|
||||||
|
@ -65,6 +65,7 @@ impl Command for Clean {
|
|||||||
|
|
||||||
// Remove AST snapshots from the output directory
|
// Remove AST snapshots from the output directory
|
||||||
SnapshotFile::new(&package_name, Snapshot::Initial).remove(&path)?;
|
SnapshotFile::new(&package_name, Snapshot::Initial).remove(&path)?;
|
||||||
|
SnapshotFile::new(&package_name, Snapshot::ImportsResolved).remove(&path)?;
|
||||||
SnapshotFile::new(&package_name, Snapshot::TypeInference).remove(&path)?;
|
SnapshotFile::new(&package_name, Snapshot::TypeInference).remove(&path)?;
|
||||||
SnapshotFile::new(&package_name, Snapshot::Canonicalization).remove(&path)?;
|
SnapshotFile::new(&package_name, Snapshot::Canonicalization).remove(&path)?;
|
||||||
|
|
||||||
|
@ -26,6 +26,7 @@ use std::{borrow::Cow, fmt, fs, path::Path};
|
|||||||
#[derive(Deserialize)]
|
#[derive(Deserialize)]
|
||||||
pub enum Snapshot {
|
pub enum Snapshot {
|
||||||
Initial,
|
Initial,
|
||||||
|
ImportsResolved,
|
||||||
TypeInference,
|
TypeInference,
|
||||||
Canonicalization,
|
Canonicalization,
|
||||||
}
|
}
|
||||||
@ -37,6 +38,7 @@ impl fmt::Display for Snapshot {
|
|||||||
"{}",
|
"{}",
|
||||||
match self {
|
match self {
|
||||||
Self::Initial => "initial_ast",
|
Self::Initial => "initial_ast",
|
||||||
|
Self::ImportsResolved => "imports_resolved_ast",
|
||||||
Self::TypeInference => "type_inferenced_ast",
|
Self::TypeInference => "type_inferenced_ast",
|
||||||
Self::Canonicalization => "canonicalization_ast",
|
Self::Canonicalization => "canonicalization_ast",
|
||||||
}
|
}
|
||||||
|
@ -604,7 +604,9 @@ impl ParserContext {
|
|||||||
}
|
}
|
||||||
let first = self.parse_spread_or_expression()?;
|
let first = self.parse_spread_or_expression()?;
|
||||||
if self.eat(Token::Semicolon).is_some() {
|
if self.eat(Token::Semicolon).is_some() {
|
||||||
let dimensions = self.parse_array_dimensions()?;
|
let dimensions = self
|
||||||
|
.parse_array_dimensions()?
|
||||||
|
.ok_or_else(|| ParserError::unable_to_parse_array_dimensions(span))?;
|
||||||
let end = self.expect(Token::RightSquare)?;
|
let end = self.expect(Token::RightSquare)?;
|
||||||
let first = match first {
|
let first = match first {
|
||||||
SpreadOrExpression::Spread(first) => {
|
SpreadOrExpression::Spread(first) => {
|
||||||
|
@ -58,9 +58,11 @@ impl ParserContext {
|
|||||||
///
|
///
|
||||||
/// Returns an [`ArrayDimensions`] AST node if the next tokens represent dimensions for an array type.
|
/// Returns an [`ArrayDimensions`] AST node if the next tokens represent dimensions for an array type.
|
||||||
///
|
///
|
||||||
pub fn parse_array_dimensions(&mut self) -> Result<ArrayDimensions> {
|
pub fn parse_array_dimensions(&mut self) -> Result<Option<ArrayDimensions>> {
|
||||||
Ok(if let Some((int, _)) = self.eat_int() {
|
Ok(if let Some((int, _)) = self.eat_int() {
|
||||||
ArrayDimensions(vec![int])
|
Some(ArrayDimensions(vec![int]))
|
||||||
|
} else if self.eat(Token::Underscore).is_some() {
|
||||||
|
None
|
||||||
} else {
|
} else {
|
||||||
self.expect(Token::LeftParen)?;
|
self.expect(Token::LeftParen)?;
|
||||||
let mut dimensions = Vec::new();
|
let mut dimensions = Vec::new();
|
||||||
@ -76,7 +78,7 @@ impl ParserContext {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
self.expect(Token::RightParen)?;
|
self.expect(Token::RightParen)?;
|
||||||
ArrayDimensions(dimensions)
|
Some(ArrayDimensions(dimensions))
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -110,13 +110,20 @@ fn run_with_args(opt: Opt) -> Result<(), Box<dyn Error>> {
|
|||||||
})
|
})
|
||||||
.unwrap_or_else(|| PathBuf::from(path));
|
.unwrap_or_else(|| PathBuf::from(path));
|
||||||
|
|
||||||
|
let end_of_header = text.find("*/").expect("failed to find header block in test");
|
||||||
|
// Do this to match test-framework ast bc of spans
|
||||||
|
let text = &text[end_of_header + 2..];
|
||||||
// Write all files into the directory.
|
// Write all files into the directory.
|
||||||
let (initial, canonicalized, type_inferenced) = generate_asts(cwd, text)?;
|
let (initial, imports_resolved, canonicalized, type_inferenced) = generate_asts(cwd, text)?;
|
||||||
|
|
||||||
target.push("initial_ast.json");
|
target.push("initial_ast.json");
|
||||||
fs::write(target.clone(), initial)?;
|
fs::write(target.clone(), initial)?;
|
||||||
target.pop();
|
target.pop();
|
||||||
|
|
||||||
|
target.push("imports_resolved_ast.json");
|
||||||
|
fs::write(target.clone(), imports_resolved)?;
|
||||||
|
target.pop();
|
||||||
|
|
||||||
target.push("canonicalization_ast.json");
|
target.push("canonicalization_ast.json");
|
||||||
fs::write(target.clone(), canonicalized)?;
|
fs::write(target.clone(), canonicalized)?;
|
||||||
target.pop();
|
target.pop();
|
||||||
@ -130,23 +137,31 @@ fn run_with_args(opt: Opt) -> Result<(), Box<dyn Error>> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// Do what Compiler does - prepare 3 stages of AST: initial, canonicalized and type_inferenced
|
/// Do what Compiler does - prepare 3 stages of AST: initial, canonicalized and type_inferenced
|
||||||
fn generate_asts(path: PathBuf, text: &str) -> Result<(String, String, String), Box<dyn Error>> {
|
fn generate_asts(path: PathBuf, text: &str) -> Result<(String, String, String, String), Box<dyn Error>> {
|
||||||
|
std::env::set_var("LEO_TESTFRAMEWORK", "true");
|
||||||
|
|
||||||
let mut ast = leo_parser::parse_ast(path.clone().into_os_string().into_string().unwrap(), text)?;
|
let mut ast = leo_parser::parse_ast(path.clone().into_os_string().into_string().unwrap(), text)?;
|
||||||
let initial = ast.to_json_string()?;
|
let initial = ast.to_json_string()?;
|
||||||
|
|
||||||
ast = leo_ast_passes::Importer::do_pass(ast.into_repr(), ImportParser::new(path, Default::default()))?;
|
ast = leo_ast_passes::Importer::do_pass(ast.into_repr(), ImportParser::new(path, Default::default()))?;
|
||||||
|
let imports_resolved = ast.to_json_string()?;
|
||||||
|
|
||||||
ast = leo_ast_passes::Canonicalizer::do_pass(ast.into_repr())?;
|
ast = leo_ast_passes::Canonicalizer::do_pass(ast.into_repr())?;
|
||||||
let canonicalized = ast.to_json_string()?;
|
let canonicalized = ast.to_json_string()?;
|
||||||
|
|
||||||
let asg = Asg::new(thread_leaked_context(), &ast)?;
|
let mut ti_ast = ast.into_repr();
|
||||||
|
ti_ast.name = "test".to_string(); // Do this to match test-framework ast
|
||||||
|
|
||||||
|
let asg = Asg::new(thread_leaked_context(), &ti_ast)?;
|
||||||
|
|
||||||
let type_inferenced = TypeInferencePhase::default()
|
let type_inferenced = TypeInferencePhase::default()
|
||||||
.phase_ast(&ast.into_repr(), &asg.clone().into_repr())
|
.phase_ast(&ti_ast, &asg.clone().into_repr())
|
||||||
.expect("Failed to produce type inference ast.")
|
.expect("Failed to produce type inference ast.")
|
||||||
.to_json_string()?;
|
.to_json_string()?;
|
||||||
|
|
||||||
Ok((initial, canonicalized, type_inferenced))
|
std::env::remove_var("LEO_TESTFRAMEWORK");
|
||||||
|
|
||||||
|
Ok((initial, imports_resolved, canonicalized, type_inferenced))
|
||||||
}
|
}
|
||||||
|
|
||||||
fn handle_error(res: Result<(), Box<dyn Error>>) {
|
fn handle_error(res: Result<(), Box<dyn Error>>) {
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
/*
|
/*
|
||||||
namespace: Compile
|
namespace: Compile
|
||||||
expectation: Fail
|
expectation: Fail
|
||||||
|
input_file:
|
||||||
|
- inputs/dummy.in
|
||||||
*/
|
*/
|
||||||
|
|
||||||
type int = u32;
|
type int = u32;
|
||||||
|
@ -20,4 +20,4 @@ function main(y: bool) -> bool {
|
|||||||
let b: [int; 3] = return_int_array();
|
let b: [int; 3] = return_int_array();
|
||||||
|
|
||||||
return y;
|
return y;
|
||||||
}
|
}
|
||||||
|
11
tests/compiler/array_without_size/definition.leo
Normal file
11
tests/compiler/array_without_size/definition.leo
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
/*
|
||||||
|
namespace: Compile
|
||||||
|
expectation: Pass
|
||||||
|
input_file: input/dummy.in
|
||||||
|
*/
|
||||||
|
|
||||||
|
function main(y: bool) -> bool {
|
||||||
|
let d: [u8; _] = [1,2,3,4];
|
||||||
|
return d == [1,2,3,4];
|
||||||
|
}
|
||||||
|
|
13
tests/compiler/array_without_size/function_input.leo
Normal file
13
tests/compiler/array_without_size/function_input.leo
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
/*
|
||||||
|
namespace: Compile
|
||||||
|
expectation: Pass
|
||||||
|
input_file: input/dummy.in
|
||||||
|
*/
|
||||||
|
|
||||||
|
function main(y: bool) -> bool {
|
||||||
|
return (first_el([1,2,3,4]) == 1) == y;
|
||||||
|
}
|
||||||
|
|
||||||
|
function first_el(arr: [u8; _]) -> u8 {
|
||||||
|
return arr[0];
|
||||||
|
}
|
6
tests/compiler/array_without_size/input/dummy.in
Normal file
6
tests/compiler/array_without_size/input/dummy.in
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
[main]
|
||||||
|
y: bool = true;
|
||||||
|
n: bool = false;
|
||||||
|
|
||||||
|
[registers]
|
||||||
|
r0: bool = false;
|
16
tests/compiler/array_without_size/type_alias.leo
Normal file
16
tests/compiler/array_without_size/type_alias.leo
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
/*
|
||||||
|
namespace: Compile
|
||||||
|
expectation: Pass
|
||||||
|
input_file: input/dummy.in
|
||||||
|
*/
|
||||||
|
|
||||||
|
type str = [char; _];
|
||||||
|
|
||||||
|
function main(y: bool) -> bool {
|
||||||
|
let s = "abc";
|
||||||
|
return (first_el(s) == 'a') == y;
|
||||||
|
}
|
||||||
|
|
||||||
|
function first_el(s: str) -> char {
|
||||||
|
return s[0];
|
||||||
|
}
|
@ -17,6 +17,6 @@ outputs:
|
|||||||
type: bool
|
type: bool
|
||||||
value: "true"
|
value: "true"
|
||||||
initial_ast: 32dcc6719d7d1214782cd1ffe02f067eec8adbf1f3820546e539887d4f1334c8
|
initial_ast: 32dcc6719d7d1214782cd1ffe02f067eec8adbf1f3820546e539887d4f1334c8
|
||||||
imports_resolved_ast: 4ca172d902f797a1d225223900fbf3f01a68c44ad5a0cf402e719f9e5961988b
|
imports_resolved_ast: 32dcc6719d7d1214782cd1ffe02f067eec8adbf1f3820546e539887d4f1334c8
|
||||||
canonicalized_ast: 32dcc6719d7d1214782cd1ffe02f067eec8adbf1f3820546e539887d4f1334c8
|
canonicalized_ast: 32dcc6719d7d1214782cd1ffe02f067eec8adbf1f3820546e539887d4f1334c8
|
||||||
type_inferenced_ast: 996f46f1dba11bdde037a8e033ca97870871eb89d4e3e402b59f99fcc0c35323
|
type_inferenced_ast: 996f46f1dba11bdde037a8e033ca97870871eb89d4e3e402b59f99fcc0c35323
|
||||||
|
@ -23,6 +23,6 @@ outputs:
|
|||||||
type: bool
|
type: bool
|
||||||
value: "false"
|
value: "false"
|
||||||
initial_ast: d9d5346dff8f825d58daabb3a4fe2fcd1471a3fb3c80e46e5583c4f6cdb12b2b
|
initial_ast: d9d5346dff8f825d58daabb3a4fe2fcd1471a3fb3c80e46e5583c4f6cdb12b2b
|
||||||
imports_resolved_ast: 4ca172d902f797a1d225223900fbf3f01a68c44ad5a0cf402e719f9e5961988b
|
imports_resolved_ast: d9d5346dff8f825d58daabb3a4fe2fcd1471a3fb3c80e46e5583c4f6cdb12b2b
|
||||||
canonicalized_ast: d9d5346dff8f825d58daabb3a4fe2fcd1471a3fb3c80e46e5583c4f6cdb12b2b
|
canonicalized_ast: d9d5346dff8f825d58daabb3a4fe2fcd1471a3fb3c80e46e5583c4f6cdb12b2b
|
||||||
type_inferenced_ast: 32a303da117b08aebfb74f7454cd80dfe28b07fd464a61b6d6a3ce23d451f135
|
type_inferenced_ast: 32a303da117b08aebfb74f7454cd80dfe28b07fd464a61b6d6a3ce23d451f135
|
||||||
|
@ -17,6 +17,6 @@ outputs:
|
|||||||
type: bool
|
type: bool
|
||||||
value: "true"
|
value: "true"
|
||||||
initial_ast: 9961e21337ff8eed0a27fff91fc442c2530a1bfaf80da6d497a93a371896b1f8
|
initial_ast: 9961e21337ff8eed0a27fff91fc442c2530a1bfaf80da6d497a93a371896b1f8
|
||||||
imports_resolved_ast: 4ca172d902f797a1d225223900fbf3f01a68c44ad5a0cf402e719f9e5961988b
|
imports_resolved_ast: 9961e21337ff8eed0a27fff91fc442c2530a1bfaf80da6d497a93a371896b1f8
|
||||||
canonicalized_ast: 9961e21337ff8eed0a27fff91fc442c2530a1bfaf80da6d497a93a371896b1f8
|
canonicalized_ast: 9961e21337ff8eed0a27fff91fc442c2530a1bfaf80da6d497a93a371896b1f8
|
||||||
type_inferenced_ast: cc47000b2cf462f5cb891467cc99f2d21c44ced2198e988dc3de59f166aa1603
|
type_inferenced_ast: cc47000b2cf462f5cb891467cc99f2d21c44ced2198e988dc3de59f166aa1603
|
||||||
|
@ -23,6 +23,6 @@ outputs:
|
|||||||
type: bool
|
type: bool
|
||||||
value: "false"
|
value: "false"
|
||||||
initial_ast: 6f8e7a94ccb702790204360959a2673abf6b53027fccaaa9feed8a4e41ee05c1
|
initial_ast: 6f8e7a94ccb702790204360959a2673abf6b53027fccaaa9feed8a4e41ee05c1
|
||||||
imports_resolved_ast: 4ca172d902f797a1d225223900fbf3f01a68c44ad5a0cf402e719f9e5961988b
|
imports_resolved_ast: 6f8e7a94ccb702790204360959a2673abf6b53027fccaaa9feed8a4e41ee05c1
|
||||||
canonicalized_ast: 6f8e7a94ccb702790204360959a2673abf6b53027fccaaa9feed8a4e41ee05c1
|
canonicalized_ast: 6f8e7a94ccb702790204360959a2673abf6b53027fccaaa9feed8a4e41ee05c1
|
||||||
type_inferenced_ast: 91e597663c88fbfd0c6ff787d109f5a71d5357c44d5306f7149714cda86475ae
|
type_inferenced_ast: 91e597663c88fbfd0c6ff787d109f5a71d5357c44d5306f7149714cda86475ae
|
||||||
|
@ -17,6 +17,6 @@ outputs:
|
|||||||
type: bool
|
type: bool
|
||||||
value: "true"
|
value: "true"
|
||||||
initial_ast: a4a3b4b30742544a6dae3d76794504173c1cc64f217bd3feda033ce51512a670
|
initial_ast: a4a3b4b30742544a6dae3d76794504173c1cc64f217bd3feda033ce51512a670
|
||||||
imports_resolved_ast: 4ca172d902f797a1d225223900fbf3f01a68c44ad5a0cf402e719f9e5961988b
|
imports_resolved_ast: a4a3b4b30742544a6dae3d76794504173c1cc64f217bd3feda033ce51512a670
|
||||||
canonicalized_ast: a4a3b4b30742544a6dae3d76794504173c1cc64f217bd3feda033ce51512a670
|
canonicalized_ast: a4a3b4b30742544a6dae3d76794504173c1cc64f217bd3feda033ce51512a670
|
||||||
type_inferenced_ast: 508686ddeb2f8fad60d9ad58639b5a761e6c5f5b61e105803eb8a98d8065a2ad
|
type_inferenced_ast: 508686ddeb2f8fad60d9ad58639b5a761e6c5f5b61e105803eb8a98d8065a2ad
|
||||||
|
@ -17,6 +17,6 @@ outputs:
|
|||||||
type: bool
|
type: bool
|
||||||
value: "true"
|
value: "true"
|
||||||
initial_ast: d83b33119db295fa2ed7795c8e17d4073cabba5e90e9438cd53f3a9a77585f19
|
initial_ast: d83b33119db295fa2ed7795c8e17d4073cabba5e90e9438cd53f3a9a77585f19
|
||||||
imports_resolved_ast: 4ca172d902f797a1d225223900fbf3f01a68c44ad5a0cf402e719f9e5961988b
|
imports_resolved_ast: d83b33119db295fa2ed7795c8e17d4073cabba5e90e9438cd53f3a9a77585f19
|
||||||
canonicalized_ast: d83b33119db295fa2ed7795c8e17d4073cabba5e90e9438cd53f3a9a77585f19
|
canonicalized_ast: d83b33119db295fa2ed7795c8e17d4073cabba5e90e9438cd53f3a9a77585f19
|
||||||
type_inferenced_ast: 77be8ec74bc15f2a45e8bf29e7973bc0c721008fe5508dcc6d02b91aae3d84ee
|
type_inferenced_ast: 77be8ec74bc15f2a45e8bf29e7973bc0c721008fe5508dcc6d02b91aae3d84ee
|
||||||
|
@ -17,6 +17,6 @@ outputs:
|
|||||||
type: bool
|
type: bool
|
||||||
value: "true"
|
value: "true"
|
||||||
initial_ast: d9b0b6772317f0e2d1042dba26c19b4eb71a7e902c643cbeb0a4f62630f0f1bc
|
initial_ast: d9b0b6772317f0e2d1042dba26c19b4eb71a7e902c643cbeb0a4f62630f0f1bc
|
||||||
imports_resolved_ast: 4ca172d902f797a1d225223900fbf3f01a68c44ad5a0cf402e719f9e5961988b
|
imports_resolved_ast: d9b0b6772317f0e2d1042dba26c19b4eb71a7e902c643cbeb0a4f62630f0f1bc
|
||||||
canonicalized_ast: d9b0b6772317f0e2d1042dba26c19b4eb71a7e902c643cbeb0a4f62630f0f1bc
|
canonicalized_ast: d9b0b6772317f0e2d1042dba26c19b4eb71a7e902c643cbeb0a4f62630f0f1bc
|
||||||
type_inferenced_ast: e384fbed9e161b04c6c9e85f45788e5047385f289ef89d20fdacee00a8fb3e5c
|
type_inferenced_ast: e384fbed9e161b04c6c9e85f45788e5047385f289ef89d20fdacee00a8fb3e5c
|
||||||
|
@ -17,6 +17,6 @@ outputs:
|
|||||||
type: bool
|
type: bool
|
||||||
value: "true"
|
value: "true"
|
||||||
initial_ast: 7feac3e33e75789d3b532a7cc857f324cd7abed380d578791803b3162edcfdec
|
initial_ast: 7feac3e33e75789d3b532a7cc857f324cd7abed380d578791803b3162edcfdec
|
||||||
imports_resolved_ast: 4ca172d902f797a1d225223900fbf3f01a68c44ad5a0cf402e719f9e5961988b
|
imports_resolved_ast: 7feac3e33e75789d3b532a7cc857f324cd7abed380d578791803b3162edcfdec
|
||||||
canonicalized_ast: 7feac3e33e75789d3b532a7cc857f324cd7abed380d578791803b3162edcfdec
|
canonicalized_ast: 7feac3e33e75789d3b532a7cc857f324cd7abed380d578791803b3162edcfdec
|
||||||
type_inferenced_ast: bc54ad21e90ab297b40ff570dfc379cbca61fdc9e20bd6899f4b964f726954b0
|
type_inferenced_ast: bc54ad21e90ab297b40ff570dfc379cbca61fdc9e20bd6899f4b964f726954b0
|
||||||
|
@ -17,6 +17,6 @@ outputs:
|
|||||||
type: bool
|
type: bool
|
||||||
value: "true"
|
value: "true"
|
||||||
initial_ast: 671704ed30a8c68ebffe2a58ff4799f626badf975d2d0dded3b06f5264e5c0db
|
initial_ast: 671704ed30a8c68ebffe2a58ff4799f626badf975d2d0dded3b06f5264e5c0db
|
||||||
imports_resolved_ast: 4ca172d902f797a1d225223900fbf3f01a68c44ad5a0cf402e719f9e5961988b
|
imports_resolved_ast: 671704ed30a8c68ebffe2a58ff4799f626badf975d2d0dded3b06f5264e5c0db
|
||||||
canonicalized_ast: 671704ed30a8c68ebffe2a58ff4799f626badf975d2d0dded3b06f5264e5c0db
|
canonicalized_ast: 671704ed30a8c68ebffe2a58ff4799f626badf975d2d0dded3b06f5264e5c0db
|
||||||
type_inferenced_ast: eb525f7c227207a1037b96838d2f0cf597968c14117b3fae30564f3cd5a3a27b
|
type_inferenced_ast: eb525f7c227207a1037b96838d2f0cf597968c14117b3fae30564f3cd5a3a27b
|
||||||
|
@ -17,6 +17,6 @@ outputs:
|
|||||||
type: bool
|
type: bool
|
||||||
value: "true"
|
value: "true"
|
||||||
initial_ast: cd2e85ff29ee11d30e73dbba0a612223a8a26dff125069ad7ac05697fd4c9829
|
initial_ast: cd2e85ff29ee11d30e73dbba0a612223a8a26dff125069ad7ac05697fd4c9829
|
||||||
imports_resolved_ast: 4ca172d902f797a1d225223900fbf3f01a68c44ad5a0cf402e719f9e5961988b
|
imports_resolved_ast: cd2e85ff29ee11d30e73dbba0a612223a8a26dff125069ad7ac05697fd4c9829
|
||||||
canonicalized_ast: cd2e85ff29ee11d30e73dbba0a612223a8a26dff125069ad7ac05697fd4c9829
|
canonicalized_ast: cd2e85ff29ee11d30e73dbba0a612223a8a26dff125069ad7ac05697fd4c9829
|
||||||
type_inferenced_ast: 1e73226b2cbbd5c7a36ffe70b778e0e544976d2e09a1f0ba3f2b486d1b604d58
|
type_inferenced_ast: 1e73226b2cbbd5c7a36ffe70b778e0e544976d2e09a1f0ba3f2b486d1b604d58
|
||||||
|
@ -17,6 +17,6 @@ outputs:
|
|||||||
type: bool
|
type: bool
|
||||||
value: "true"
|
value: "true"
|
||||||
initial_ast: 843884ddf198fe566cea0f8e84a2902f720d6211c9d8bad98299eea4da846870
|
initial_ast: 843884ddf198fe566cea0f8e84a2902f720d6211c9d8bad98299eea4da846870
|
||||||
imports_resolved_ast: 4ca172d902f797a1d225223900fbf3f01a68c44ad5a0cf402e719f9e5961988b
|
imports_resolved_ast: 843884ddf198fe566cea0f8e84a2902f720d6211c9d8bad98299eea4da846870
|
||||||
canonicalized_ast: c30721e60523bc31af9a9bf342d9b89bf92a26e3886394cc0c1a574560715bdf
|
canonicalized_ast: c30721e60523bc31af9a9bf342d9b89bf92a26e3886394cc0c1a574560715bdf
|
||||||
type_inferenced_ast: c37f209961a9acff1d942af1e4a9a332123676f2bc581ca94604314f9d738a1e
|
type_inferenced_ast: c37f209961a9acff1d942af1e4a9a332123676f2bc581ca94604314f9d738a1e
|
||||||
|
@ -23,6 +23,6 @@ outputs:
|
|||||||
type: bool
|
type: bool
|
||||||
value: "false"
|
value: "false"
|
||||||
initial_ast: aa24022f240400d709b97a44c143ce481109bb0a66926aa5c97cf2e2d06dea2a
|
initial_ast: aa24022f240400d709b97a44c143ce481109bb0a66926aa5c97cf2e2d06dea2a
|
||||||
imports_resolved_ast: 4ca172d902f797a1d225223900fbf3f01a68c44ad5a0cf402e719f9e5961988b
|
imports_resolved_ast: aa24022f240400d709b97a44c143ce481109bb0a66926aa5c97cf2e2d06dea2a
|
||||||
canonicalized_ast: ace5006c27d2e3784fb73d52adc641f6285a041452ba0d23de5983c5eede1139
|
canonicalized_ast: ace5006c27d2e3784fb73d52adc641f6285a041452ba0d23de5983c5eede1139
|
||||||
type_inferenced_ast: 611bc2fab64e417c9cfad3c59ca333561b8167a6fc7be957d972d96125e040ba
|
type_inferenced_ast: 611bc2fab64e417c9cfad3c59ca333561b8167a6fc7be957d972d96125e040ba
|
||||||
|
@ -23,6 +23,6 @@ outputs:
|
|||||||
type: bool
|
type: bool
|
||||||
value: "true"
|
value: "true"
|
||||||
initial_ast: 307b6817fa2a5005462686901129e97bf75c00bf14568fafbe1de2c8afc1804d
|
initial_ast: 307b6817fa2a5005462686901129e97bf75c00bf14568fafbe1de2c8afc1804d
|
||||||
imports_resolved_ast: 4ca172d902f797a1d225223900fbf3f01a68c44ad5a0cf402e719f9e5961988b
|
imports_resolved_ast: 307b6817fa2a5005462686901129e97bf75c00bf14568fafbe1de2c8afc1804d
|
||||||
canonicalized_ast: cbaa304ba210d8155762701d8e6a2ddca3eaffb008a813ed7a60db1fb0043f10
|
canonicalized_ast: cbaa304ba210d8155762701d8e6a2ddca3eaffb008a813ed7a60db1fb0043f10
|
||||||
type_inferenced_ast: 47e371ce112ac17fd65bfd100d24829e8c4819e1f96cc715b8c6245f01d608bb
|
type_inferenced_ast: 47e371ce112ac17fd65bfd100d24829e8c4819e1f96cc715b8c6245f01d608bb
|
||||||
|
@ -17,6 +17,6 @@ outputs:
|
|||||||
type: bool
|
type: bool
|
||||||
value: "true"
|
value: "true"
|
||||||
initial_ast: 6d5be1a3d383ecafa89b5327d3a4b9bce9a459f6c0241cb01f408566ec4a1cc4
|
initial_ast: 6d5be1a3d383ecafa89b5327d3a4b9bce9a459f6c0241cb01f408566ec4a1cc4
|
||||||
imports_resolved_ast: 4ca172d902f797a1d225223900fbf3f01a68c44ad5a0cf402e719f9e5961988b
|
imports_resolved_ast: 6d5be1a3d383ecafa89b5327d3a4b9bce9a459f6c0241cb01f408566ec4a1cc4
|
||||||
canonicalized_ast: eb64230be87deb03ac7f076961a82194a15afd964aa6966a10314b38def69684
|
canonicalized_ast: eb64230be87deb03ac7f076961a82194a15afd964aa6966a10314b38def69684
|
||||||
type_inferenced_ast: e7985a24db781a3e42c9b2a67d1e8febc78fc2ad4e388a90207d00eb89734ffd
|
type_inferenced_ast: e7985a24db781a3e42c9b2a67d1e8febc78fc2ad4e388a90207d00eb89734ffd
|
||||||
|
@ -17,6 +17,6 @@ outputs:
|
|||||||
type: bool
|
type: bool
|
||||||
value: "true"
|
value: "true"
|
||||||
initial_ast: aa24022f240400d709b97a44c143ce481109bb0a66926aa5c97cf2e2d06dea2a
|
initial_ast: aa24022f240400d709b97a44c143ce481109bb0a66926aa5c97cf2e2d06dea2a
|
||||||
imports_resolved_ast: 4ca172d902f797a1d225223900fbf3f01a68c44ad5a0cf402e719f9e5961988b
|
imports_resolved_ast: aa24022f240400d709b97a44c143ce481109bb0a66926aa5c97cf2e2d06dea2a
|
||||||
canonicalized_ast: ace5006c27d2e3784fb73d52adc641f6285a041452ba0d23de5983c5eede1139
|
canonicalized_ast: ace5006c27d2e3784fb73d52adc641f6285a041452ba0d23de5983c5eede1139
|
||||||
type_inferenced_ast: 611bc2fab64e417c9cfad3c59ca333561b8167a6fc7be957d972d96125e040ba
|
type_inferenced_ast: 611bc2fab64e417c9cfad3c59ca333561b8167a6fc7be957d972d96125e040ba
|
||||||
|
@ -17,6 +17,6 @@ outputs:
|
|||||||
type: bool
|
type: bool
|
||||||
value: "true"
|
value: "true"
|
||||||
initial_ast: 0724c81ae70c56ff047b5d28ef949b72c4b581ce0bb443957064efa1636a3cab
|
initial_ast: 0724c81ae70c56ff047b5d28ef949b72c4b581ce0bb443957064efa1636a3cab
|
||||||
imports_resolved_ast: 4ca172d902f797a1d225223900fbf3f01a68c44ad5a0cf402e719f9e5961988b
|
imports_resolved_ast: 0724c81ae70c56ff047b5d28ef949b72c4b581ce0bb443957064efa1636a3cab
|
||||||
canonicalized_ast: ed0b7200a455978fed9b1df0c9e3ab9bf4815d79048f28f4205c69b420ee02df
|
canonicalized_ast: ed0b7200a455978fed9b1df0c9e3ab9bf4815d79048f28f4205c69b420ee02df
|
||||||
type_inferenced_ast: 1e5c78e15d8c9328190e95ccbc2e4e105d9ce430b98704a12472e2c3cc870526
|
type_inferenced_ast: 1e5c78e15d8c9328190e95ccbc2e4e105d9ce430b98704a12472e2c3cc870526
|
||||||
|
@ -17,6 +17,6 @@ outputs:
|
|||||||
type: bool
|
type: bool
|
||||||
value: "true"
|
value: "true"
|
||||||
initial_ast: 60d0b81c9f3631aca3c9607df74cfb8e4dbc0d387836398dea86f016fa4210fd
|
initial_ast: 60d0b81c9f3631aca3c9607df74cfb8e4dbc0d387836398dea86f016fa4210fd
|
||||||
imports_resolved_ast: 4ca172d902f797a1d225223900fbf3f01a68c44ad5a0cf402e719f9e5961988b
|
imports_resolved_ast: 60d0b81c9f3631aca3c9607df74cfb8e4dbc0d387836398dea86f016fa4210fd
|
||||||
canonicalized_ast: 6570de0e96b21780ed7793a860948b2c6ff7a92da7ce7f3dd7775ff30d70656f
|
canonicalized_ast: 6570de0e96b21780ed7793a860948b2c6ff7a92da7ce7f3dd7775ff30d70656f
|
||||||
type_inferenced_ast: ace51ab56a61b988bd2c3f65431e87234a96fa92554d36d4e83d7235832506f6
|
type_inferenced_ast: ace51ab56a61b988bd2c3f65431e87234a96fa92554d36d4e83d7235832506f6
|
||||||
|
@ -17,6 +17,6 @@ outputs:
|
|||||||
type: bool
|
type: bool
|
||||||
value: "true"
|
value: "true"
|
||||||
initial_ast: 754eca05d485d80c4b710db30efc66f91c0eafdc02c2707f854238863b6c6c02
|
initial_ast: 754eca05d485d80c4b710db30efc66f91c0eafdc02c2707f854238863b6c6c02
|
||||||
imports_resolved_ast: 4ca172d902f797a1d225223900fbf3f01a68c44ad5a0cf402e719f9e5961988b
|
imports_resolved_ast: 754eca05d485d80c4b710db30efc66f91c0eafdc02c2707f854238863b6c6c02
|
||||||
canonicalized_ast: e5554c42dc9a45ab57ea5ac28996969640fb6f8da1ad8db805f65f5d555c8cf4
|
canonicalized_ast: e5554c42dc9a45ab57ea5ac28996969640fb6f8da1ad8db805f65f5d555c8cf4
|
||||||
type_inferenced_ast: aa30bccd05b7386ffb8a7df7cad89ec39117c6b5fc51a9e68624064832b4f225
|
type_inferenced_ast: aa30bccd05b7386ffb8a7df7cad89ec39117c6b5fc51a9e68624064832b4f225
|
||||||
|
@ -23,6 +23,6 @@ outputs:
|
|||||||
type: "[u8; 3]"
|
type: "[u8; 3]"
|
||||||
value: "\"123\""
|
value: "\"123\""
|
||||||
initial_ast: 4e74124bc410534941ef9b79ffb64656d14e145b5a79fbd14419c1aef2f0ef69
|
initial_ast: 4e74124bc410534941ef9b79ffb64656d14e145b5a79fbd14419c1aef2f0ef69
|
||||||
imports_resolved_ast: 4ca172d902f797a1d225223900fbf3f01a68c44ad5a0cf402e719f9e5961988b
|
imports_resolved_ast: 4e74124bc410534941ef9b79ffb64656d14e145b5a79fbd14419c1aef2f0ef69
|
||||||
canonicalized_ast: 4e74124bc410534941ef9b79ffb64656d14e145b5a79fbd14419c1aef2f0ef69
|
canonicalized_ast: 4e74124bc410534941ef9b79ffb64656d14e145b5a79fbd14419c1aef2f0ef69
|
||||||
type_inferenced_ast: f5cb6326028b3cf9187889be6ac5ed5bd095a570d45ae63c7285a09366fc6803
|
type_inferenced_ast: f5cb6326028b3cf9187889be6ac5ed5bd095a570d45ae63c7285a09366fc6803
|
||||||
|
@ -17,6 +17,6 @@ outputs:
|
|||||||
type: bool
|
type: bool
|
||||||
value: "true"
|
value: "true"
|
||||||
initial_ast: 0e4761ba1228f0a490b51ff2c31df33f623a08d32f62833d64859ca103689f4a
|
initial_ast: 0e4761ba1228f0a490b51ff2c31df33f623a08d32f62833d64859ca103689f4a
|
||||||
imports_resolved_ast: 4ca172d902f797a1d225223900fbf3f01a68c44ad5a0cf402e719f9e5961988b
|
imports_resolved_ast: 0e4761ba1228f0a490b51ff2c31df33f623a08d32f62833d64859ca103689f4a
|
||||||
canonicalized_ast: 0e4761ba1228f0a490b51ff2c31df33f623a08d32f62833d64859ca103689f4a
|
canonicalized_ast: 0e4761ba1228f0a490b51ff2c31df33f623a08d32f62833d64859ca103689f4a
|
||||||
type_inferenced_ast: 1494bb64c16ec2dc03bfb2e37b89f93e02a70860ced1ce0b42b5ee5ead31b0d5
|
type_inferenced_ast: 1494bb64c16ec2dc03bfb2e37b89f93e02a70860ced1ce0b42b5ee5ead31b0d5
|
||||||
|
@ -17,6 +17,6 @@ outputs:
|
|||||||
type: bool
|
type: bool
|
||||||
value: "true"
|
value: "true"
|
||||||
initial_ast: 1bf9b30e052d9ecc042a0b20bbc195a98d463ab206963469b9199de462b8be15
|
initial_ast: 1bf9b30e052d9ecc042a0b20bbc195a98d463ab206963469b9199de462b8be15
|
||||||
imports_resolved_ast: 4ca172d902f797a1d225223900fbf3f01a68c44ad5a0cf402e719f9e5961988b
|
imports_resolved_ast: 1bf9b30e052d9ecc042a0b20bbc195a98d463ab206963469b9199de462b8be15
|
||||||
canonicalized_ast: 1bf9b30e052d9ecc042a0b20bbc195a98d463ab206963469b9199de462b8be15
|
canonicalized_ast: 1bf9b30e052d9ecc042a0b20bbc195a98d463ab206963469b9199de462b8be15
|
||||||
type_inferenced_ast: 6d2531af8ed5b04b23039d0b508cf388135a0fc6e1dc0de3befb4d49ce360fbc
|
type_inferenced_ast: 6d2531af8ed5b04b23039d0b508cf388135a0fc6e1dc0de3befb4d49ce360fbc
|
||||||
|
@ -17,6 +17,6 @@ outputs:
|
|||||||
type: bool
|
type: bool
|
||||||
value: "true"
|
value: "true"
|
||||||
initial_ast: 140097342b7a16fae8542da5d13eb9c2cb4e1b743fa226e345d815f62d0781bb
|
initial_ast: 140097342b7a16fae8542da5d13eb9c2cb4e1b743fa226e345d815f62d0781bb
|
||||||
imports_resolved_ast: 4ca172d902f797a1d225223900fbf3f01a68c44ad5a0cf402e719f9e5961988b
|
imports_resolved_ast: 140097342b7a16fae8542da5d13eb9c2cb4e1b743fa226e345d815f62d0781bb
|
||||||
canonicalized_ast: 140097342b7a16fae8542da5d13eb9c2cb4e1b743fa226e345d815f62d0781bb
|
canonicalized_ast: 140097342b7a16fae8542da5d13eb9c2cb4e1b743fa226e345d815f62d0781bb
|
||||||
type_inferenced_ast: a2442e72c5010224894e46a1c6f245356c0d86428ce617eb31faaf57806ca2df
|
type_inferenced_ast: a2442e72c5010224894e46a1c6f245356c0d86428ce617eb31faaf57806ca2df
|
||||||
|
@ -17,6 +17,6 @@ outputs:
|
|||||||
type: bool
|
type: bool
|
||||||
value: "true"
|
value: "true"
|
||||||
initial_ast: 002cb467a5c1357617b45f955944bb4a79ab465dc13f3eb5eb8db4c158b8c745
|
initial_ast: 002cb467a5c1357617b45f955944bb4a79ab465dc13f3eb5eb8db4c158b8c745
|
||||||
imports_resolved_ast: 4ca172d902f797a1d225223900fbf3f01a68c44ad5a0cf402e719f9e5961988b
|
imports_resolved_ast: 002cb467a5c1357617b45f955944bb4a79ab465dc13f3eb5eb8db4c158b8c745
|
||||||
canonicalized_ast: 002cb467a5c1357617b45f955944bb4a79ab465dc13f3eb5eb8db4c158b8c745
|
canonicalized_ast: 002cb467a5c1357617b45f955944bb4a79ab465dc13f3eb5eb8db4c158b8c745
|
||||||
type_inferenced_ast: 323fc99ac247b37bb395eb08691d451a3b6b563a15bb94b5af6a0193ccc0bd34
|
type_inferenced_ast: 323fc99ac247b37bb395eb08691d451a3b6b563a15bb94b5af6a0193ccc0bd34
|
||||||
|
@ -17,6 +17,6 @@ outputs:
|
|||||||
type: bool
|
type: bool
|
||||||
value: "true"
|
value: "true"
|
||||||
initial_ast: 97fd9b78f7912a7627e2b2f5615ae35e39304af6122fab85f9b49fcf6a85d8f2
|
initial_ast: 97fd9b78f7912a7627e2b2f5615ae35e39304af6122fab85f9b49fcf6a85d8f2
|
||||||
imports_resolved_ast: 4ca172d902f797a1d225223900fbf3f01a68c44ad5a0cf402e719f9e5961988b
|
imports_resolved_ast: 97fd9b78f7912a7627e2b2f5615ae35e39304af6122fab85f9b49fcf6a85d8f2
|
||||||
canonicalized_ast: cf8a8faae5f2847199324cbef87583e9af1249c03891ae31f3ce0093879326d5
|
canonicalized_ast: cf8a8faae5f2847199324cbef87583e9af1249c03891ae31f3ce0093879326d5
|
||||||
type_inferenced_ast: 731117b4aa8260da475471088df325cb540d84c536ce60f3488e01a4428e84ae
|
type_inferenced_ast: 731117b4aa8260da475471088df325cb540d84c536ce60f3488e01a4428e84ae
|
||||||
|
@ -17,6 +17,6 @@ outputs:
|
|||||||
type: bool
|
type: bool
|
||||||
value: "true"
|
value: "true"
|
||||||
initial_ast: 9f2080fab6a85294afa2423cd79482fb3d944c4afab7363e66a4086a120ad34d
|
initial_ast: 9f2080fab6a85294afa2423cd79482fb3d944c4afab7363e66a4086a120ad34d
|
||||||
imports_resolved_ast: 4ca172d902f797a1d225223900fbf3f01a68c44ad5a0cf402e719f9e5961988b
|
imports_resolved_ast: 9f2080fab6a85294afa2423cd79482fb3d944c4afab7363e66a4086a120ad34d
|
||||||
canonicalized_ast: 9f2080fab6a85294afa2423cd79482fb3d944c4afab7363e66a4086a120ad34d
|
canonicalized_ast: 9f2080fab6a85294afa2423cd79482fb3d944c4afab7363e66a4086a120ad34d
|
||||||
type_inferenced_ast: f8c6b9a9ac418220c87bbd1a99a5eb15817cfa289d822624f2d3cc41e10718b4
|
type_inferenced_ast: f8c6b9a9ac418220c87bbd1a99a5eb15817cfa289d822624f2d3cc41e10718b4
|
||||||
|
@ -17,6 +17,6 @@ outputs:
|
|||||||
type: bool
|
type: bool
|
||||||
value: "true"
|
value: "true"
|
||||||
initial_ast: f61370b311806223d351c6dd611a178362cf8ad6de976d7b0ed709b51fadbecb
|
initial_ast: f61370b311806223d351c6dd611a178362cf8ad6de976d7b0ed709b51fadbecb
|
||||||
imports_resolved_ast: 4ca172d902f797a1d225223900fbf3f01a68c44ad5a0cf402e719f9e5961988b
|
imports_resolved_ast: f61370b311806223d351c6dd611a178362cf8ad6de976d7b0ed709b51fadbecb
|
||||||
canonicalized_ast: f61370b311806223d351c6dd611a178362cf8ad6de976d7b0ed709b51fadbecb
|
canonicalized_ast: f61370b311806223d351c6dd611a178362cf8ad6de976d7b0ed709b51fadbecb
|
||||||
type_inferenced_ast: 54531d6afced0deaa59c93b9270768a5e89ea8ea1df34365eb4e440bdf725904
|
type_inferenced_ast: 54531d6afced0deaa59c93b9270768a5e89ea8ea1df34365eb4e440bdf725904
|
||||||
|
@ -17,6 +17,6 @@ outputs:
|
|||||||
type: bool
|
type: bool
|
||||||
value: "true"
|
value: "true"
|
||||||
initial_ast: 6bacdd1d42bfa807910c0455c68213007d5ca8f15ee1f3c743d946bfbbff79b7
|
initial_ast: 6bacdd1d42bfa807910c0455c68213007d5ca8f15ee1f3c743d946bfbbff79b7
|
||||||
imports_resolved_ast: 4ca172d902f797a1d225223900fbf3f01a68c44ad5a0cf402e719f9e5961988b
|
imports_resolved_ast: 6bacdd1d42bfa807910c0455c68213007d5ca8f15ee1f3c743d946bfbbff79b7
|
||||||
canonicalized_ast: 6bacdd1d42bfa807910c0455c68213007d5ca8f15ee1f3c743d946bfbbff79b7
|
canonicalized_ast: 6bacdd1d42bfa807910c0455c68213007d5ca8f15ee1f3c743d946bfbbff79b7
|
||||||
type_inferenced_ast: 1b2a08879a8d42fafc9eecc12b89f0f36719e02205ee48bf6075475e71942132
|
type_inferenced_ast: 1b2a08879a8d42fafc9eecc12b89f0f36719e02205ee48bf6075475e71942132
|
||||||
|
@ -17,6 +17,6 @@ outputs:
|
|||||||
type: bool
|
type: bool
|
||||||
value: "true"
|
value: "true"
|
||||||
initial_ast: c3c30cd2e66f21abef8c49e0ac3d49ed3b607097815c354b14ea9e44d41c0a69
|
initial_ast: c3c30cd2e66f21abef8c49e0ac3d49ed3b607097815c354b14ea9e44d41c0a69
|
||||||
imports_resolved_ast: 4ca172d902f797a1d225223900fbf3f01a68c44ad5a0cf402e719f9e5961988b
|
imports_resolved_ast: c3c30cd2e66f21abef8c49e0ac3d49ed3b607097815c354b14ea9e44d41c0a69
|
||||||
canonicalized_ast: c3c30cd2e66f21abef8c49e0ac3d49ed3b607097815c354b14ea9e44d41c0a69
|
canonicalized_ast: c3c30cd2e66f21abef8c49e0ac3d49ed3b607097815c354b14ea9e44d41c0a69
|
||||||
type_inferenced_ast: 557825e28344c8313d9961f9551eabe9c32ee85c524b9b9a6b0fc202c22fa9f3
|
type_inferenced_ast: 557825e28344c8313d9961f9551eabe9c32ee85c524b9b9a6b0fc202c22fa9f3
|
||||||
|
@ -17,6 +17,6 @@ outputs:
|
|||||||
type: bool
|
type: bool
|
||||||
value: "true"
|
value: "true"
|
||||||
initial_ast: 6c062f01a78d515f780a4c13de65d466edda274a2cb519af47a319ed165db0fa
|
initial_ast: 6c062f01a78d515f780a4c13de65d466edda274a2cb519af47a319ed165db0fa
|
||||||
imports_resolved_ast: 4ca172d902f797a1d225223900fbf3f01a68c44ad5a0cf402e719f9e5961988b
|
imports_resolved_ast: 6c062f01a78d515f780a4c13de65d466edda274a2cb519af47a319ed165db0fa
|
||||||
canonicalized_ast: 382e9b8b4a635b0be6f62409a20bbdc10d37d08c17658414d1ddef8e6eb00749
|
canonicalized_ast: 382e9b8b4a635b0be6f62409a20bbdc10d37d08c17658414d1ddef8e6eb00749
|
||||||
type_inferenced_ast: 13d8af6038fbc63ae76be51f23e43152ab473b895d206160716008da87da3416
|
type_inferenced_ast: 13d8af6038fbc63ae76be51f23e43152ab473b895d206160716008da87da3416
|
||||||
|
@ -17,6 +17,6 @@ outputs:
|
|||||||
type: bool
|
type: bool
|
||||||
value: "true"
|
value: "true"
|
||||||
initial_ast: 228ba794b578de8828d761676c15059c51455aff96b02ef3cfafbef53c35454b
|
initial_ast: 228ba794b578de8828d761676c15059c51455aff96b02ef3cfafbef53c35454b
|
||||||
imports_resolved_ast: 4ca172d902f797a1d225223900fbf3f01a68c44ad5a0cf402e719f9e5961988b
|
imports_resolved_ast: 228ba794b578de8828d761676c15059c51455aff96b02ef3cfafbef53c35454b
|
||||||
canonicalized_ast: 7869bd9531ba014bc2515e13bcafdfed2f9566e7008c1e015d43bb749d8d1d4a
|
canonicalized_ast: 7869bd9531ba014bc2515e13bcafdfed2f9566e7008c1e015d43bb749d8d1d4a
|
||||||
type_inferenced_ast: 84b8976993f08b1b46fef6012018ad050eed6df1e34ae83fc0b57799a1acb395
|
type_inferenced_ast: 84b8976993f08b1b46fef6012018ad050eed6df1e34ae83fc0b57799a1acb395
|
||||||
|
@ -17,6 +17,6 @@ outputs:
|
|||||||
type: bool
|
type: bool
|
||||||
value: "true"
|
value: "true"
|
||||||
initial_ast: 0ea5856bbe7ad96107544e2b12c7ca54c279c4cd1c8b9610083430600ffa86f9
|
initial_ast: 0ea5856bbe7ad96107544e2b12c7ca54c279c4cd1c8b9610083430600ffa86f9
|
||||||
imports_resolved_ast: 4ca172d902f797a1d225223900fbf3f01a68c44ad5a0cf402e719f9e5961988b
|
imports_resolved_ast: 0ea5856bbe7ad96107544e2b12c7ca54c279c4cd1c8b9610083430600ffa86f9
|
||||||
canonicalized_ast: 0083c78a81a6ec44627ca89fe949a5301ccaa54ead7104b9a2a3fbd979cf9a2c
|
canonicalized_ast: 0083c78a81a6ec44627ca89fe949a5301ccaa54ead7104b9a2a3fbd979cf9a2c
|
||||||
type_inferenced_ast: a8b44ce543535e16db5d93df805dc5693d3a1140798cb336d573986de8dfdbca
|
type_inferenced_ast: a8b44ce543535e16db5d93df805dc5693d3a1140798cb336d573986de8dfdbca
|
||||||
|
@ -17,6 +17,6 @@ outputs:
|
|||||||
type: bool
|
type: bool
|
||||||
value: "true"
|
value: "true"
|
||||||
initial_ast: db7e9050580f794aa657700225126e8033c0241240874f6e35df0507469be247
|
initial_ast: db7e9050580f794aa657700225126e8033c0241240874f6e35df0507469be247
|
||||||
imports_resolved_ast: 4ca172d902f797a1d225223900fbf3f01a68c44ad5a0cf402e719f9e5961988b
|
imports_resolved_ast: db7e9050580f794aa657700225126e8033c0241240874f6e35df0507469be247
|
||||||
canonicalized_ast: 55304d82a024ad2418e156ad661224040904775f070995bf1b828d1264c3487f
|
canonicalized_ast: 55304d82a024ad2418e156ad661224040904775f070995bf1b828d1264c3487f
|
||||||
type_inferenced_ast: db99dd94ad4ef9de46304df000494eeda3e8b51835c46e6a3988ee87f91457fa
|
type_inferenced_ast: db99dd94ad4ef9de46304df000494eeda3e8b51835c46e6a3988ee87f91457fa
|
||||||
|
@ -17,6 +17,6 @@ outputs:
|
|||||||
type: bool
|
type: bool
|
||||||
value: "true"
|
value: "true"
|
||||||
initial_ast: 2730f954bc76f81d29b02a15f8025d75ca963234716112745b806789bb8eb297
|
initial_ast: 2730f954bc76f81d29b02a15f8025d75ca963234716112745b806789bb8eb297
|
||||||
imports_resolved_ast: 4ca172d902f797a1d225223900fbf3f01a68c44ad5a0cf402e719f9e5961988b
|
imports_resolved_ast: 2730f954bc76f81d29b02a15f8025d75ca963234716112745b806789bb8eb297
|
||||||
canonicalized_ast: 4e07d5e399fa0f60ab84796ecc6195b2a8da0b3a9e725152465512e98f0ca753
|
canonicalized_ast: 4e07d5e399fa0f60ab84796ecc6195b2a8da0b3a9e725152465512e98f0ca753
|
||||||
type_inferenced_ast: ea0f726ce456c52c62b73aae38afb74b160ae527480d05f3254c0fdaefdad58e
|
type_inferenced_ast: ea0f726ce456c52c62b73aae38afb74b160ae527480d05f3254c0fdaefdad58e
|
||||||
|
@ -17,6 +17,6 @@ outputs:
|
|||||||
type: bool
|
type: bool
|
||||||
value: "true"
|
value: "true"
|
||||||
initial_ast: 445b35e7d287dc14a77b2c1c4c77d9b7b4fbd6e7c31f6f35c91a446eeca29775
|
initial_ast: 445b35e7d287dc14a77b2c1c4c77d9b7b4fbd6e7c31f6f35c91a446eeca29775
|
||||||
imports_resolved_ast: 4ca172d902f797a1d225223900fbf3f01a68c44ad5a0cf402e719f9e5961988b
|
imports_resolved_ast: 445b35e7d287dc14a77b2c1c4c77d9b7b4fbd6e7c31f6f35c91a446eeca29775
|
||||||
canonicalized_ast: 48590d7afce08e9e0cd4a45048faa360c18109098b5a9074dfc21b252a47d3e8
|
canonicalized_ast: 48590d7afce08e9e0cd4a45048faa360c18109098b5a9074dfc21b252a47d3e8
|
||||||
type_inferenced_ast: 0cc5d17973908631180a791f151bdc42aa3e8394b3fbc7607f717bc61baaf904
|
type_inferenced_ast: 0cc5d17973908631180a791f151bdc42aa3e8394b3fbc7607f717bc61baaf904
|
||||||
|
@ -0,0 +1,22 @@
|
|||||||
|
---
|
||||||
|
namespace: Compile
|
||||||
|
expectation: Pass
|
||||||
|
outputs:
|
||||||
|
- circuit:
|
||||||
|
num_public_variables: 0
|
||||||
|
num_private_variables: 1
|
||||||
|
num_constraints: 1
|
||||||
|
at: 042610d0fd1fe6d6ac112138f8755752f44c7d2a00f1b5960574d6da5cda393f
|
||||||
|
bt: e97756698880ab7555a959a5fb5c6b4e15bd64612aa677adbfe2d0bd91f0a83c
|
||||||
|
ct: cf1cbb66a638b4860a516671fb74850e6ccf787fe6c4c8d29e9c04efe880bd05
|
||||||
|
output:
|
||||||
|
- input_file: input/dummy.in
|
||||||
|
output:
|
||||||
|
registers:
|
||||||
|
r0:
|
||||||
|
type: bool
|
||||||
|
value: "true"
|
||||||
|
initial_ast: edf8a3b7372af353b99830752d41d8c04d1863a4d03c754f41aac3545649c644
|
||||||
|
imports_resolved_ast: edf8a3b7372af353b99830752d41d8c04d1863a4d03c754f41aac3545649c644
|
||||||
|
canonicalized_ast: edf8a3b7372af353b99830752d41d8c04d1863a4d03c754f41aac3545649c644
|
||||||
|
type_inferenced_ast: 5479f110a1cbd68040560f64a09663207e756630aa2621a4bb424c48a3cab64d
|
@ -0,0 +1,22 @@
|
|||||||
|
---
|
||||||
|
namespace: Compile
|
||||||
|
expectation: Pass
|
||||||
|
outputs:
|
||||||
|
- circuit:
|
||||||
|
num_public_variables: 0
|
||||||
|
num_private_variables: 1
|
||||||
|
num_constraints: 1
|
||||||
|
at: 042610d0fd1fe6d6ac112138f8755752f44c7d2a00f1b5960574d6da5cda393f
|
||||||
|
bt: e97756698880ab7555a959a5fb5c6b4e15bd64612aa677adbfe2d0bd91f0a83c
|
||||||
|
ct: cf1cbb66a638b4860a516671fb74850e6ccf787fe6c4c8d29e9c04efe880bd05
|
||||||
|
output:
|
||||||
|
- input_file: input/dummy.in
|
||||||
|
output:
|
||||||
|
registers:
|
||||||
|
r0:
|
||||||
|
type: bool
|
||||||
|
value: "true"
|
||||||
|
initial_ast: 5ae730ffb3671acde08944aaa8450a54bb9ce436c92d5c21e7a2a7b9c8d404a7
|
||||||
|
imports_resolved_ast: 5ae730ffb3671acde08944aaa8450a54bb9ce436c92d5c21e7a2a7b9c8d404a7
|
||||||
|
canonicalized_ast: 5ae730ffb3671acde08944aaa8450a54bb9ce436c92d5c21e7a2a7b9c8d404a7
|
||||||
|
type_inferenced_ast: c2b15c1e0644a4af597019f7a56d1c8485723e43089ff0aa8951e3ec31729f1f
|
@ -0,0 +1,22 @@
|
|||||||
|
---
|
||||||
|
namespace: Compile
|
||||||
|
expectation: Pass
|
||||||
|
outputs:
|
||||||
|
- circuit:
|
||||||
|
num_public_variables: 0
|
||||||
|
num_private_variables: 1
|
||||||
|
num_constraints: 1
|
||||||
|
at: 042610d0fd1fe6d6ac112138f8755752f44c7d2a00f1b5960574d6da5cda393f
|
||||||
|
bt: e97756698880ab7555a959a5fb5c6b4e15bd64612aa677adbfe2d0bd91f0a83c
|
||||||
|
ct: cf1cbb66a638b4860a516671fb74850e6ccf787fe6c4c8d29e9c04efe880bd05
|
||||||
|
output:
|
||||||
|
- input_file: input/dummy.in
|
||||||
|
output:
|
||||||
|
registers:
|
||||||
|
r0:
|
||||||
|
type: bool
|
||||||
|
value: "true"
|
||||||
|
initial_ast: 1695abb58931812bfe65ffdb967c9e8e36abbab771bfd8a20e289e3e1b102b5a
|
||||||
|
imports_resolved_ast: 1695abb58931812bfe65ffdb967c9e8e36abbab771bfd8a20e289e3e1b102b5a
|
||||||
|
canonicalized_ast: 637eaabe62c318b0c9f9d6d26936c11aa8804022866ce356e14dc02e29a34251
|
||||||
|
type_inferenced_ast: 1540899195a176d1b1d0e1d886a671f07f063dd10fea15f853e67ffcfc0ae9ce
|
@ -35,6 +35,6 @@ outputs:
|
|||||||
type: bool
|
type: bool
|
||||||
value: "true"
|
value: "true"
|
||||||
initial_ast: 2f7c3b9c806a873b6445200eb78a8e0e546ffe64c90fe2133355dd37a342b11b
|
initial_ast: 2f7c3b9c806a873b6445200eb78a8e0e546ffe64c90fe2133355dd37a342b11b
|
||||||
imports_resolved_ast: 4ca172d902f797a1d225223900fbf3f01a68c44ad5a0cf402e719f9e5961988b
|
imports_resolved_ast: 2f7c3b9c806a873b6445200eb78a8e0e546ffe64c90fe2133355dd37a342b11b
|
||||||
canonicalized_ast: 2f7c3b9c806a873b6445200eb78a8e0e546ffe64c90fe2133355dd37a342b11b
|
canonicalized_ast: 2f7c3b9c806a873b6445200eb78a8e0e546ffe64c90fe2133355dd37a342b11b
|
||||||
type_inferenced_ast: 87b86a66fc6e60502be0b0fb7cf677d5128390aec53f6893827a1bf02fca8370
|
type_inferenced_ast: 87b86a66fc6e60502be0b0fb7cf677d5128390aec53f6893827a1bf02fca8370
|
||||||
|
@ -35,6 +35,6 @@ outputs:
|
|||||||
type: bool
|
type: bool
|
||||||
value: "true"
|
value: "true"
|
||||||
initial_ast: 5316ba00882aa3f9b538d349ed7141c4ee7c77ec01f6af9911b2652b6cd3e659
|
initial_ast: 5316ba00882aa3f9b538d349ed7141c4ee7c77ec01f6af9911b2652b6cd3e659
|
||||||
imports_resolved_ast: 4ca172d902f797a1d225223900fbf3f01a68c44ad5a0cf402e719f9e5961988b
|
imports_resolved_ast: 5316ba00882aa3f9b538d349ed7141c4ee7c77ec01f6af9911b2652b6cd3e659
|
||||||
canonicalized_ast: 5316ba00882aa3f9b538d349ed7141c4ee7c77ec01f6af9911b2652b6cd3e659
|
canonicalized_ast: 5316ba00882aa3f9b538d349ed7141c4ee7c77ec01f6af9911b2652b6cd3e659
|
||||||
type_inferenced_ast: 7933d0a8f47892e42c3c670bc6433e8d820042a7396e10b6a63d22bd5b740f96
|
type_inferenced_ast: 7933d0a8f47892e42c3c670bc6433e8d820042a7396e10b6a63d22bd5b740f96
|
||||||
|
@ -35,6 +35,6 @@ outputs:
|
|||||||
type: bool
|
type: bool
|
||||||
value: "true"
|
value: "true"
|
||||||
initial_ast: 08f026e24cab51634a7a2a6f1f3b082eace1d4be649cd9ff7c244194891d7d78
|
initial_ast: 08f026e24cab51634a7a2a6f1f3b082eace1d4be649cd9ff7c244194891d7d78
|
||||||
imports_resolved_ast: 4ca172d902f797a1d225223900fbf3f01a68c44ad5a0cf402e719f9e5961988b
|
imports_resolved_ast: 08f026e24cab51634a7a2a6f1f3b082eace1d4be649cd9ff7c244194891d7d78
|
||||||
canonicalized_ast: 08f026e24cab51634a7a2a6f1f3b082eace1d4be649cd9ff7c244194891d7d78
|
canonicalized_ast: 08f026e24cab51634a7a2a6f1f3b082eace1d4be649cd9ff7c244194891d7d78
|
||||||
type_inferenced_ast: 2112e9f631a77bb16ba1561bbe1028a415413f23fd32d21bfe086e071938c845
|
type_inferenced_ast: 2112e9f631a77bb16ba1561bbe1028a415413f23fd32d21bfe086e071938c845
|
||||||
|
@ -35,6 +35,6 @@ outputs:
|
|||||||
type: bool
|
type: bool
|
||||||
value: "false"
|
value: "false"
|
||||||
initial_ast: 094effa7fe12695679a571f560e1d3e8c299cde8de280f9309010c85f48bab95
|
initial_ast: 094effa7fe12695679a571f560e1d3e8c299cde8de280f9309010c85f48bab95
|
||||||
imports_resolved_ast: 4ca172d902f797a1d225223900fbf3f01a68c44ad5a0cf402e719f9e5961988b
|
imports_resolved_ast: 094effa7fe12695679a571f560e1d3e8c299cde8de280f9309010c85f48bab95
|
||||||
canonicalized_ast: 094effa7fe12695679a571f560e1d3e8c299cde8de280f9309010c85f48bab95
|
canonicalized_ast: 094effa7fe12695679a571f560e1d3e8c299cde8de280f9309010c85f48bab95
|
||||||
type_inferenced_ast: ab25cb7bf7d8fe3ec64be183550ba8d6acfaf17464cf70ec45c6497fc065ac29
|
type_inferenced_ast: ab25cb7bf7d8fe3ec64be183550ba8d6acfaf17464cf70ec45c6497fc065ac29
|
||||||
|
@ -35,6 +35,6 @@ outputs:
|
|||||||
type: bool
|
type: bool
|
||||||
value: "true"
|
value: "true"
|
||||||
initial_ast: e2facdce5f7cdbed4a3215cc258e54418aac4f4b846349b35e1da67b577b76c9
|
initial_ast: e2facdce5f7cdbed4a3215cc258e54418aac4f4b846349b35e1da67b577b76c9
|
||||||
imports_resolved_ast: 4ca172d902f797a1d225223900fbf3f01a68c44ad5a0cf402e719f9e5961988b
|
imports_resolved_ast: e2facdce5f7cdbed4a3215cc258e54418aac4f4b846349b35e1da67b577b76c9
|
||||||
canonicalized_ast: e2facdce5f7cdbed4a3215cc258e54418aac4f4b846349b35e1da67b577b76c9
|
canonicalized_ast: e2facdce5f7cdbed4a3215cc258e54418aac4f4b846349b35e1da67b577b76c9
|
||||||
type_inferenced_ast: fb43dcb50c9822e2d4e4f35e9cc73f0893e508161296be5666cd90c4f7a971bc
|
type_inferenced_ast: fb43dcb50c9822e2d4e4f35e9cc73f0893e508161296be5666cd90c4f7a971bc
|
||||||
|
@ -101,6 +101,6 @@ outputs:
|
|||||||
type: char
|
type: char
|
||||||
value: "'\\u{1f62d}'"
|
value: "'\\u{1f62d}'"
|
||||||
initial_ast: 0c2aeb5b47fc21f5aded4e3aebcdf55eb98c10c6b51a2a6dcb98490a96da0c97
|
initial_ast: 0c2aeb5b47fc21f5aded4e3aebcdf55eb98c10c6b51a2a6dcb98490a96da0c97
|
||||||
imports_resolved_ast: 4ca172d902f797a1d225223900fbf3f01a68c44ad5a0cf402e719f9e5961988b
|
imports_resolved_ast: 0c2aeb5b47fc21f5aded4e3aebcdf55eb98c10c6b51a2a6dcb98490a96da0c97
|
||||||
canonicalized_ast: 0c2aeb5b47fc21f5aded4e3aebcdf55eb98c10c6b51a2a6dcb98490a96da0c97
|
canonicalized_ast: 0c2aeb5b47fc21f5aded4e3aebcdf55eb98c10c6b51a2a6dcb98490a96da0c97
|
||||||
type_inferenced_ast: 84977d828c2988392d85d4156d34d168a3265aca3c3516b3ddb974d3d9eee2dc
|
type_inferenced_ast: 84977d828c2988392d85d4156d34d168a3265aca3c3516b3ddb974d3d9eee2dc
|
||||||
|
@ -101,6 +101,6 @@ outputs:
|
|||||||
type: char
|
type: char
|
||||||
value: "'a'"
|
value: "'a'"
|
||||||
initial_ast: ac56e34b2a2cb282d36133df39d80947dfdfc56b5655b3ba9f408ba529c8f505
|
initial_ast: ac56e34b2a2cb282d36133df39d80947dfdfc56b5655b3ba9f408ba529c8f505
|
||||||
imports_resolved_ast: 4ca172d902f797a1d225223900fbf3f01a68c44ad5a0cf402e719f9e5961988b
|
imports_resolved_ast: ac56e34b2a2cb282d36133df39d80947dfdfc56b5655b3ba9f408ba529c8f505
|
||||||
canonicalized_ast: ac56e34b2a2cb282d36133df39d80947dfdfc56b5655b3ba9f408ba529c8f505
|
canonicalized_ast: ac56e34b2a2cb282d36133df39d80947dfdfc56b5655b3ba9f408ba529c8f505
|
||||||
type_inferenced_ast: 2eecf906226893c46f526a72f272a3f11eb34ada7cc4cd573439ebfed44ba170
|
type_inferenced_ast: 2eecf906226893c46f526a72f272a3f11eb34ada7cc4cd573439ebfed44ba170
|
||||||
|
@ -20,6 +20,6 @@ outputs:
|
|||||||
type: bool
|
type: bool
|
||||||
value: "true"
|
value: "true"
|
||||||
initial_ast: da8550065db88bba8f0a982612194f6122ec97025c4af5d3007d3a4d42519cb9
|
initial_ast: da8550065db88bba8f0a982612194f6122ec97025c4af5d3007d3a4d42519cb9
|
||||||
imports_resolved_ast: 4ca172d902f797a1d225223900fbf3f01a68c44ad5a0cf402e719f9e5961988b
|
imports_resolved_ast: da8550065db88bba8f0a982612194f6122ec97025c4af5d3007d3a4d42519cb9
|
||||||
canonicalized_ast: da8550065db88bba8f0a982612194f6122ec97025c4af5d3007d3a4d42519cb9
|
canonicalized_ast: da8550065db88bba8f0a982612194f6122ec97025c4af5d3007d3a4d42519cb9
|
||||||
type_inferenced_ast: b3ea99e7660209825c5bb1abcba8c1835cf96b79c8707e616513122ab10ac0d5
|
type_inferenced_ast: b3ea99e7660209825c5bb1abcba8c1835cf96b79c8707e616513122ab10ac0d5
|
||||||
|
@ -101,6 +101,6 @@ outputs:
|
|||||||
type: char
|
type: char
|
||||||
value: "'\\u{1f62d}'"
|
value: "'\\u{1f62d}'"
|
||||||
initial_ast: 6e1cf86d47e056682c6e51dcf0390eb34505b60d50de60970a688f237525bedf
|
initial_ast: 6e1cf86d47e056682c6e51dcf0390eb34505b60d50de60970a688f237525bedf
|
||||||
imports_resolved_ast: 4ca172d902f797a1d225223900fbf3f01a68c44ad5a0cf402e719f9e5961988b
|
imports_resolved_ast: 6e1cf86d47e056682c6e51dcf0390eb34505b60d50de60970a688f237525bedf
|
||||||
canonicalized_ast: 6e1cf86d47e056682c6e51dcf0390eb34505b60d50de60970a688f237525bedf
|
canonicalized_ast: 6e1cf86d47e056682c6e51dcf0390eb34505b60d50de60970a688f237525bedf
|
||||||
type_inferenced_ast: feb16e72f13a884e3303b336f7f20ff8ff4066a8f9861860e28b9c6901215b76
|
type_inferenced_ast: feb16e72f13a884e3303b336f7f20ff8ff4066a8f9861860e28b9c6901215b76
|
||||||
|
@ -17,6 +17,6 @@ outputs:
|
|||||||
type: bool
|
type: bool
|
||||||
value: "true"
|
value: "true"
|
||||||
initial_ast: 58f66e3a45b1752bb5dbb454adbbe6136394a7a87bc7b812d154aec1d5eac816
|
initial_ast: 58f66e3a45b1752bb5dbb454adbbe6136394a7a87bc7b812d154aec1d5eac816
|
||||||
imports_resolved_ast: 4ca172d902f797a1d225223900fbf3f01a68c44ad5a0cf402e719f9e5961988b
|
imports_resolved_ast: 58f66e3a45b1752bb5dbb454adbbe6136394a7a87bc7b812d154aec1d5eac816
|
||||||
canonicalized_ast: f7359bbb8cecd0923c0aa7dd7fd6b01cb2c64e45f1e777709fb14d4e6ba0ee5a
|
canonicalized_ast: f7359bbb8cecd0923c0aa7dd7fd6b01cb2c64e45f1e777709fb14d4e6ba0ee5a
|
||||||
type_inferenced_ast: f3a0378b8b60f66ca164be498224592907216262a54a92d878e52f0a85f53389
|
type_inferenced_ast: f3a0378b8b60f66ca164be498224592907216262a54a92d878e52f0a85f53389
|
||||||
|
@ -17,6 +17,6 @@ outputs:
|
|||||||
type: bool
|
type: bool
|
||||||
value: "true"
|
value: "true"
|
||||||
initial_ast: 50c0f7261d879373f4e01ec3d140a2067ca4e78622c8340e8312d717f6effb05
|
initial_ast: 50c0f7261d879373f4e01ec3d140a2067ca4e78622c8340e8312d717f6effb05
|
||||||
imports_resolved_ast: 4ca172d902f797a1d225223900fbf3f01a68c44ad5a0cf402e719f9e5961988b
|
imports_resolved_ast: 50c0f7261d879373f4e01ec3d140a2067ca4e78622c8340e8312d717f6effb05
|
||||||
canonicalized_ast: 50c0f7261d879373f4e01ec3d140a2067ca4e78622c8340e8312d717f6effb05
|
canonicalized_ast: 50c0f7261d879373f4e01ec3d140a2067ca4e78622c8340e8312d717f6effb05
|
||||||
type_inferenced_ast: 161edd5d1900f2902bd8cc972308ce7fb0afe7c6cf64ab7cfe952c3f1b3189c0
|
type_inferenced_ast: 161edd5d1900f2902bd8cc972308ce7fb0afe7c6cf64ab7cfe952c3f1b3189c0
|
||||||
|
@ -17,6 +17,6 @@ outputs:
|
|||||||
type: bool
|
type: bool
|
||||||
value: "true"
|
value: "true"
|
||||||
initial_ast: bfd7751e8ea64c6d41af36d968f194a18a5411ac71932a67766f40448ce755f5
|
initial_ast: bfd7751e8ea64c6d41af36d968f194a18a5411ac71932a67766f40448ce755f5
|
||||||
imports_resolved_ast: 4ca172d902f797a1d225223900fbf3f01a68c44ad5a0cf402e719f9e5961988b
|
imports_resolved_ast: bfd7751e8ea64c6d41af36d968f194a18a5411ac71932a67766f40448ce755f5
|
||||||
canonicalized_ast: bfd7751e8ea64c6d41af36d968f194a18a5411ac71932a67766f40448ce755f5
|
canonicalized_ast: bfd7751e8ea64c6d41af36d968f194a18a5411ac71932a67766f40448ce755f5
|
||||||
type_inferenced_ast: 910b51f962861da6011f214a5379bc9296034e3fecda347b17c7db97df833a25
|
type_inferenced_ast: 910b51f962861da6011f214a5379bc9296034e3fecda347b17c7db97df833a25
|
||||||
|
@ -17,6 +17,6 @@ outputs:
|
|||||||
type: bool
|
type: bool
|
||||||
value: "true"
|
value: "true"
|
||||||
initial_ast: d8a66347f480161a2215c92d2cf6ded2d0b49fd76b7eb0036d4fa33de371925a
|
initial_ast: d8a66347f480161a2215c92d2cf6ded2d0b49fd76b7eb0036d4fa33de371925a
|
||||||
imports_resolved_ast: 4ca172d902f797a1d225223900fbf3f01a68c44ad5a0cf402e719f9e5961988b
|
imports_resolved_ast: d8a66347f480161a2215c92d2cf6ded2d0b49fd76b7eb0036d4fa33de371925a
|
||||||
canonicalized_ast: d8a66347f480161a2215c92d2cf6ded2d0b49fd76b7eb0036d4fa33de371925a
|
canonicalized_ast: d8a66347f480161a2215c92d2cf6ded2d0b49fd76b7eb0036d4fa33de371925a
|
||||||
type_inferenced_ast: d5bb87130d78bb39fa948ce868999184f90c78ada176cf08c49051517de3351c
|
type_inferenced_ast: d5bb87130d78bb39fa948ce868999184f90c78ada176cf08c49051517de3351c
|
||||||
|
@ -17,6 +17,6 @@ outputs:
|
|||||||
type: u32
|
type: u32
|
||||||
value: "100"
|
value: "100"
|
||||||
initial_ast: c40a1d60f872fdb03ab7379a3abf43439a100b8f1546b76ffeac60c8739e0d68
|
initial_ast: c40a1d60f872fdb03ab7379a3abf43439a100b8f1546b76ffeac60c8739e0d68
|
||||||
imports_resolved_ast: 4ca172d902f797a1d225223900fbf3f01a68c44ad5a0cf402e719f9e5961988b
|
imports_resolved_ast: c40a1d60f872fdb03ab7379a3abf43439a100b8f1546b76ffeac60c8739e0d68
|
||||||
canonicalized_ast: c40a1d60f872fdb03ab7379a3abf43439a100b8f1546b76ffeac60c8739e0d68
|
canonicalized_ast: c40a1d60f872fdb03ab7379a3abf43439a100b8f1546b76ffeac60c8739e0d68
|
||||||
type_inferenced_ast: 3d56ffd95d1b84970e24f10a48f52053717876f062db72d8be93f413f7b2c9a3
|
type_inferenced_ast: 3d56ffd95d1b84970e24f10a48f52053717876f062db72d8be93f413f7b2c9a3
|
||||||
|
@ -17,6 +17,6 @@ outputs:
|
|||||||
type: bool
|
type: bool
|
||||||
value: "true"
|
value: "true"
|
||||||
initial_ast: cf642f2f983cd8bcd6cbca2d2920f5234d79375601c1da3c06f97b6185a5629d
|
initial_ast: cf642f2f983cd8bcd6cbca2d2920f5234d79375601c1da3c06f97b6185a5629d
|
||||||
imports_resolved_ast: 4ca172d902f797a1d225223900fbf3f01a68c44ad5a0cf402e719f9e5961988b
|
imports_resolved_ast: cf642f2f983cd8bcd6cbca2d2920f5234d79375601c1da3c06f97b6185a5629d
|
||||||
canonicalized_ast: f99560385252ad2965e39b19402e7c56db402458206187eeb54adc26effd9bb5
|
canonicalized_ast: f99560385252ad2965e39b19402e7c56db402458206187eeb54adc26effd9bb5
|
||||||
type_inferenced_ast: c7c5cd5ed24fd3967f19a5ad895aeb7778b3dfadc7965c3f5bc1d44c61448083
|
type_inferenced_ast: c7c5cd5ed24fd3967f19a5ad895aeb7778b3dfadc7965c3f5bc1d44c61448083
|
||||||
|
@ -17,6 +17,6 @@ outputs:
|
|||||||
type: bool
|
type: bool
|
||||||
value: "true"
|
value: "true"
|
||||||
initial_ast: 5273a592b167cfe040b2bca7337521084d7a6640651bca584545e9eeb2e4fa88
|
initial_ast: 5273a592b167cfe040b2bca7337521084d7a6640651bca584545e9eeb2e4fa88
|
||||||
imports_resolved_ast: 4ca172d902f797a1d225223900fbf3f01a68c44ad5a0cf402e719f9e5961988b
|
imports_resolved_ast: 5273a592b167cfe040b2bca7337521084d7a6640651bca584545e9eeb2e4fa88
|
||||||
canonicalized_ast: 5273a592b167cfe040b2bca7337521084d7a6640651bca584545e9eeb2e4fa88
|
canonicalized_ast: 5273a592b167cfe040b2bca7337521084d7a6640651bca584545e9eeb2e4fa88
|
||||||
type_inferenced_ast: 6d1bef6ecbba4533266f9478b06e52acc56f04850e99a658abffe39e7e463cdf
|
type_inferenced_ast: 6d1bef6ecbba4533266f9478b06e52acc56f04850e99a658abffe39e7e463cdf
|
||||||
|
@ -17,6 +17,6 @@ outputs:
|
|||||||
type: bool
|
type: bool
|
||||||
value: "true"
|
value: "true"
|
||||||
initial_ast: 241f1a42877b012b2e2062cefbd83523a5c719557cb422cf1fbd7efb0f7b1796
|
initial_ast: 241f1a42877b012b2e2062cefbd83523a5c719557cb422cf1fbd7efb0f7b1796
|
||||||
imports_resolved_ast: 4ca172d902f797a1d225223900fbf3f01a68c44ad5a0cf402e719f9e5961988b
|
imports_resolved_ast: 241f1a42877b012b2e2062cefbd83523a5c719557cb422cf1fbd7efb0f7b1796
|
||||||
canonicalized_ast: 241f1a42877b012b2e2062cefbd83523a5c719557cb422cf1fbd7efb0f7b1796
|
canonicalized_ast: 241f1a42877b012b2e2062cefbd83523a5c719557cb422cf1fbd7efb0f7b1796
|
||||||
type_inferenced_ast: 2982ee6fda2fcbd00f64d2c0c75ccacf58ab05961f85e9a64cc0ddec12bb5209
|
type_inferenced_ast: 2982ee6fda2fcbd00f64d2c0c75ccacf58ab05961f85e9a64cc0ddec12bb5209
|
||||||
|
@ -17,6 +17,6 @@ outputs:
|
|||||||
type: bool
|
type: bool
|
||||||
value: "true"
|
value: "true"
|
||||||
initial_ast: 11dfbfa2561534a1c965d8f8862b23ed56be50986903c139b763f88a1ba3ad8d
|
initial_ast: 11dfbfa2561534a1c965d8f8862b23ed56be50986903c139b763f88a1ba3ad8d
|
||||||
imports_resolved_ast: 4ca172d902f797a1d225223900fbf3f01a68c44ad5a0cf402e719f9e5961988b
|
imports_resolved_ast: 11dfbfa2561534a1c965d8f8862b23ed56be50986903c139b763f88a1ba3ad8d
|
||||||
canonicalized_ast: 11dfbfa2561534a1c965d8f8862b23ed56be50986903c139b763f88a1ba3ad8d
|
canonicalized_ast: 11dfbfa2561534a1c965d8f8862b23ed56be50986903c139b763f88a1ba3ad8d
|
||||||
type_inferenced_ast: 6aab6f0cf6a9237ec02b5ce3f4ad8f24c8faa8ec5ccbc7f3af1023d0269dceea
|
type_inferenced_ast: 6aab6f0cf6a9237ec02b5ce3f4ad8f24c8faa8ec5ccbc7f3af1023d0269dceea
|
||||||
|
@ -17,6 +17,6 @@ outputs:
|
|||||||
type: bool
|
type: bool
|
||||||
value: "true"
|
value: "true"
|
||||||
initial_ast: 42f603efbf7ee8ca53394266f33fbf09110420c822385179d656861e8ceb4a32
|
initial_ast: 42f603efbf7ee8ca53394266f33fbf09110420c822385179d656861e8ceb4a32
|
||||||
imports_resolved_ast: 4ca172d902f797a1d225223900fbf3f01a68c44ad5a0cf402e719f9e5961988b
|
imports_resolved_ast: 42f603efbf7ee8ca53394266f33fbf09110420c822385179d656861e8ceb4a32
|
||||||
canonicalized_ast: 92d91209d7675fc14ae1fd44c28d1384f1c56c5852654b4dac46dd123340d9c0
|
canonicalized_ast: 92d91209d7675fc14ae1fd44c28d1384f1c56c5852654b4dac46dd123340d9c0
|
||||||
type_inferenced_ast: 0527005fb0925ac29af65bb0c12c39991d466c20def41ce7e4a2ded51ae233fc
|
type_inferenced_ast: 0527005fb0925ac29af65bb0c12c39991d466c20def41ce7e4a2ded51ae233fc
|
||||||
|
@ -17,6 +17,6 @@ outputs:
|
|||||||
type: bool
|
type: bool
|
||||||
value: "true"
|
value: "true"
|
||||||
initial_ast: cf41b78f9435c6555014db8aeebe662556f4f8547ee0f3a204d6f522fcf72644
|
initial_ast: cf41b78f9435c6555014db8aeebe662556f4f8547ee0f3a204d6f522fcf72644
|
||||||
imports_resolved_ast: 4ca172d902f797a1d225223900fbf3f01a68c44ad5a0cf402e719f9e5961988b
|
imports_resolved_ast: cf41b78f9435c6555014db8aeebe662556f4f8547ee0f3a204d6f522fcf72644
|
||||||
canonicalized_ast: cf41b78f9435c6555014db8aeebe662556f4f8547ee0f3a204d6f522fcf72644
|
canonicalized_ast: cf41b78f9435c6555014db8aeebe662556f4f8547ee0f3a204d6f522fcf72644
|
||||||
type_inferenced_ast: d947fa6d8fa1b34cc9822ade386062dbd6ebc2cb5987479d4263bcfa554586cd
|
type_inferenced_ast: d947fa6d8fa1b34cc9822ade386062dbd6ebc2cb5987479d4263bcfa554586cd
|
||||||
|
@ -17,6 +17,6 @@ outputs:
|
|||||||
type: bool
|
type: bool
|
||||||
value: "true"
|
value: "true"
|
||||||
initial_ast: 622baae85ab7776fc38cff17465e8e0dbcdb98f4ba74e734ca494b696cea8ccd
|
initial_ast: 622baae85ab7776fc38cff17465e8e0dbcdb98f4ba74e734ca494b696cea8ccd
|
||||||
imports_resolved_ast: 4ca172d902f797a1d225223900fbf3f01a68c44ad5a0cf402e719f9e5961988b
|
imports_resolved_ast: 622baae85ab7776fc38cff17465e8e0dbcdb98f4ba74e734ca494b696cea8ccd
|
||||||
canonicalized_ast: 622baae85ab7776fc38cff17465e8e0dbcdb98f4ba74e734ca494b696cea8ccd
|
canonicalized_ast: 622baae85ab7776fc38cff17465e8e0dbcdb98f4ba74e734ca494b696cea8ccd
|
||||||
type_inferenced_ast: c604cecb0efbae6b8ea3d69909c5decbb06d6a2e95ff67661f5936ef8fd951a5
|
type_inferenced_ast: c604cecb0efbae6b8ea3d69909c5decbb06d6a2e95ff67661f5936ef8fd951a5
|
||||||
|
@ -17,6 +17,6 @@ outputs:
|
|||||||
type: bool
|
type: bool
|
||||||
value: "true"
|
value: "true"
|
||||||
initial_ast: ba91ea172a2f753bf4a338f29fff05c358d4dc0cb1c2ef461d492ee4fe2a1114
|
initial_ast: ba91ea172a2f753bf4a338f29fff05c358d4dc0cb1c2ef461d492ee4fe2a1114
|
||||||
imports_resolved_ast: 4ca172d902f797a1d225223900fbf3f01a68c44ad5a0cf402e719f9e5961988b
|
imports_resolved_ast: ba91ea172a2f753bf4a338f29fff05c358d4dc0cb1c2ef461d492ee4fe2a1114
|
||||||
canonicalized_ast: 8d1beaecc785aa79a5a6bec47cf10426b9d3d87ccc15c359f12c7d3ee2a95561
|
canonicalized_ast: 8d1beaecc785aa79a5a6bec47cf10426b9d3d87ccc15c359f12c7d3ee2a95561
|
||||||
type_inferenced_ast: 520a83004a666274e62958b6e2025d11ed5e24d888b6bc0ded6d01ee9a3bc634
|
type_inferenced_ast: 520a83004a666274e62958b6e2025d11ed5e24d888b6bc0ded6d01ee9a3bc634
|
||||||
|
@ -17,6 +17,6 @@ outputs:
|
|||||||
type: bool
|
type: bool
|
||||||
value: "true"
|
value: "true"
|
||||||
initial_ast: fe7ca41c29d33107a4316b9c6788898217129937cbf1de0f2ea7566a360245f0
|
initial_ast: fe7ca41c29d33107a4316b9c6788898217129937cbf1de0f2ea7566a360245f0
|
||||||
imports_resolved_ast: 4ca172d902f797a1d225223900fbf3f01a68c44ad5a0cf402e719f9e5961988b
|
imports_resolved_ast: fe7ca41c29d33107a4316b9c6788898217129937cbf1de0f2ea7566a360245f0
|
||||||
canonicalized_ast: d2b30a9485e7166a0efde9d179432e481a4d40540e1b3eeec043b84d993e66df
|
canonicalized_ast: d2b30a9485e7166a0efde9d179432e481a4d40540e1b3eeec043b84d993e66df
|
||||||
type_inferenced_ast: 2c666d0e878095617bc562aa74de4fe069401b4a80ba8dba28a47a789f517ab5
|
type_inferenced_ast: 2c666d0e878095617bc562aa74de4fe069401b4a80ba8dba28a47a789f517ab5
|
||||||
|
@ -17,6 +17,6 @@ outputs:
|
|||||||
type: bool
|
type: bool
|
||||||
value: "true"
|
value: "true"
|
||||||
initial_ast: 659e5fcdd16752c6e3504f821a5afd6f0756bd6b8641f127ba049c2a4c83a088
|
initial_ast: 659e5fcdd16752c6e3504f821a5afd6f0756bd6b8641f127ba049c2a4c83a088
|
||||||
imports_resolved_ast: 4ca172d902f797a1d225223900fbf3f01a68c44ad5a0cf402e719f9e5961988b
|
imports_resolved_ast: 659e5fcdd16752c6e3504f821a5afd6f0756bd6b8641f127ba049c2a4c83a088
|
||||||
canonicalized_ast: 8cf6113b757cfeee53554c67dd3f380f0f417032b8835259bf30076b19349f61
|
canonicalized_ast: 8cf6113b757cfeee53554c67dd3f380f0f417032b8835259bf30076b19349f61
|
||||||
type_inferenced_ast: d4106eb006385de5bf2a56a1ebaa25a65b048f77dda6fb9585c86a9260073585
|
type_inferenced_ast: d4106eb006385de5bf2a56a1ebaa25a65b048f77dda6fb9585c86a9260073585
|
||||||
|
@ -17,6 +17,6 @@ outputs:
|
|||||||
type: bool
|
type: bool
|
||||||
value: "true"
|
value: "true"
|
||||||
initial_ast: 8c4a98dec3d2e9e826e3419c91a251e821861a146325b025c52ff15b5edefe1c
|
initial_ast: 8c4a98dec3d2e9e826e3419c91a251e821861a146325b025c52ff15b5edefe1c
|
||||||
imports_resolved_ast: 4ca172d902f797a1d225223900fbf3f01a68c44ad5a0cf402e719f9e5961988b
|
imports_resolved_ast: 8c4a98dec3d2e9e826e3419c91a251e821861a146325b025c52ff15b5edefe1c
|
||||||
canonicalized_ast: 8c4a98dec3d2e9e826e3419c91a251e821861a146325b025c52ff15b5edefe1c
|
canonicalized_ast: 8c4a98dec3d2e9e826e3419c91a251e821861a146325b025c52ff15b5edefe1c
|
||||||
type_inferenced_ast: 2497671092bacab8cb5d75177298a700100bfa8412a48a7115d178e5d9816a6b
|
type_inferenced_ast: 2497671092bacab8cb5d75177298a700100bfa8412a48a7115d178e5d9816a6b
|
||||||
|
@ -17,6 +17,6 @@ outputs:
|
|||||||
type: bool
|
type: bool
|
||||||
value: "true"
|
value: "true"
|
||||||
initial_ast: 1f7de14429213b2b3b564d664c33e9cea134e1a157b861a1cf0ea1abc90b32f6
|
initial_ast: 1f7de14429213b2b3b564d664c33e9cea134e1a157b861a1cf0ea1abc90b32f6
|
||||||
imports_resolved_ast: 4ca172d902f797a1d225223900fbf3f01a68c44ad5a0cf402e719f9e5961988b
|
imports_resolved_ast: 1f7de14429213b2b3b564d664c33e9cea134e1a157b861a1cf0ea1abc90b32f6
|
||||||
canonicalized_ast: 94752f37ca7553267f341d2f96e657eb2fe6b5e403a4d3fb7d66d1662b81eb00
|
canonicalized_ast: 94752f37ca7553267f341d2f96e657eb2fe6b5e403a4d3fb7d66d1662b81eb00
|
||||||
type_inferenced_ast: e675411217f3465fdc23bab3c2f50c2264452d198ab3dd2e8059e546e54312a4
|
type_inferenced_ast: e675411217f3465fdc23bab3c2f50c2264452d198ab3dd2e8059e546e54312a4
|
||||||
|
@ -17,6 +17,6 @@ outputs:
|
|||||||
type: bool
|
type: bool
|
||||||
value: "true"
|
value: "true"
|
||||||
initial_ast: c341e62f8a3940ddc9527bcd01c814f8d496a1f02ca903b080b6228d155af02b
|
initial_ast: c341e62f8a3940ddc9527bcd01c814f8d496a1f02ca903b080b6228d155af02b
|
||||||
imports_resolved_ast: 4ca172d902f797a1d225223900fbf3f01a68c44ad5a0cf402e719f9e5961988b
|
imports_resolved_ast: c341e62f8a3940ddc9527bcd01c814f8d496a1f02ca903b080b6228d155af02b
|
||||||
canonicalized_ast: 60cd9f24460e06522814151af817c9d394c779477091aab2c77c77dfe228b611
|
canonicalized_ast: 60cd9f24460e06522814151af817c9d394c779477091aab2c77c77dfe228b611
|
||||||
type_inferenced_ast: 876f075ed034c8914b9f74f46f07bd6c2ed3e7d7f1ffb15e756da10e9ec9abf8
|
type_inferenced_ast: 876f075ed034c8914b9f74f46f07bd6c2ed3e7d7f1ffb15e756da10e9ec9abf8
|
||||||
|
@ -17,6 +17,6 @@ outputs:
|
|||||||
type: bool
|
type: bool
|
||||||
value: "true"
|
value: "true"
|
||||||
initial_ast: 5da09287f1d3a5e4ab57f8da2c8094df25c3b35614791e2f6e84a77b609f29b0
|
initial_ast: 5da09287f1d3a5e4ab57f8da2c8094df25c3b35614791e2f6e84a77b609f29b0
|
||||||
imports_resolved_ast: 4ca172d902f797a1d225223900fbf3f01a68c44ad5a0cf402e719f9e5961988b
|
imports_resolved_ast: 5da09287f1d3a5e4ab57f8da2c8094df25c3b35614791e2f6e84a77b609f29b0
|
||||||
canonicalized_ast: de5114bff3425e0c67e9e70e3a0d02bdf2d6c3ed9108dac43a00b79d4db9b3d2
|
canonicalized_ast: de5114bff3425e0c67e9e70e3a0d02bdf2d6c3ed9108dac43a00b79d4db9b3d2
|
||||||
type_inferenced_ast: 9a6f5ee1784a1af0a04736e1b3bc886107bbddc5d45bbabd59812d083acacdea
|
type_inferenced_ast: 9a6f5ee1784a1af0a04736e1b3bc886107bbddc5d45bbabd59812d083acacdea
|
||||||
|
@ -17,6 +17,6 @@ outputs:
|
|||||||
type: bool
|
type: bool
|
||||||
value: "true"
|
value: "true"
|
||||||
initial_ast: 1dce719e850f6ca6a091fea163d5d6bb069bcdafeeed0a10fb332ba8837e6e5c
|
initial_ast: 1dce719e850f6ca6a091fea163d5d6bb069bcdafeeed0a10fb332ba8837e6e5c
|
||||||
imports_resolved_ast: 4ca172d902f797a1d225223900fbf3f01a68c44ad5a0cf402e719f9e5961988b
|
imports_resolved_ast: 1dce719e850f6ca6a091fea163d5d6bb069bcdafeeed0a10fb332ba8837e6e5c
|
||||||
canonicalized_ast: 3bd96f7e9530f426db4a2e12d5a93a5ebcafedbcb7b4549d08ad387fa15918d9
|
canonicalized_ast: 3bd96f7e9530f426db4a2e12d5a93a5ebcafedbcb7b4549d08ad387fa15918d9
|
||||||
type_inferenced_ast: 6bbb246f57aa199b9ef31b61b6e858004617455efe22393892bf0c22f552d69a
|
type_inferenced_ast: 6bbb246f57aa199b9ef31b61b6e858004617455efe22393892bf0c22f552d69a
|
||||||
|
@ -17,6 +17,6 @@ outputs:
|
|||||||
type: bool
|
type: bool
|
||||||
value: "true"
|
value: "true"
|
||||||
initial_ast: c2f6d0da67de691b14cffbdbe20eba613f2ea274c45aba4347045da2446b6af6
|
initial_ast: c2f6d0da67de691b14cffbdbe20eba613f2ea274c45aba4347045da2446b6af6
|
||||||
imports_resolved_ast: 4ca172d902f797a1d225223900fbf3f01a68c44ad5a0cf402e719f9e5961988b
|
imports_resolved_ast: c2f6d0da67de691b14cffbdbe20eba613f2ea274c45aba4347045da2446b6af6
|
||||||
canonicalized_ast: c2f6d0da67de691b14cffbdbe20eba613f2ea274c45aba4347045da2446b6af6
|
canonicalized_ast: c2f6d0da67de691b14cffbdbe20eba613f2ea274c45aba4347045da2446b6af6
|
||||||
type_inferenced_ast: 3bf3d109f59519ecbfd601c36a8cb89cfb36e1ace395e361860023b8f93fc220
|
type_inferenced_ast: 3bf3d109f59519ecbfd601c36a8cb89cfb36e1ace395e361860023b8f93fc220
|
||||||
|
@ -17,6 +17,6 @@ outputs:
|
|||||||
type: bool
|
type: bool
|
||||||
value: "true"
|
value: "true"
|
||||||
initial_ast: bd23695040d06dbd59426b363ea66da8c9344aad064615d1b5beb6326933acbc
|
initial_ast: bd23695040d06dbd59426b363ea66da8c9344aad064615d1b5beb6326933acbc
|
||||||
imports_resolved_ast: 4ca172d902f797a1d225223900fbf3f01a68c44ad5a0cf402e719f9e5961988b
|
imports_resolved_ast: bd23695040d06dbd59426b363ea66da8c9344aad064615d1b5beb6326933acbc
|
||||||
canonicalized_ast: bd23695040d06dbd59426b363ea66da8c9344aad064615d1b5beb6326933acbc
|
canonicalized_ast: bd23695040d06dbd59426b363ea66da8c9344aad064615d1b5beb6326933acbc
|
||||||
type_inferenced_ast: 198e2817e4d6d454d7e1d1eba8226757d7f044b20e6dd4f6962530b177c469c5
|
type_inferenced_ast: 198e2817e4d6d454d7e1d1eba8226757d7f044b20e6dd4f6962530b177c469c5
|
||||||
|
@ -17,6 +17,6 @@ outputs:
|
|||||||
output:
|
output:
|
||||||
registers: {}
|
registers: {}
|
||||||
initial_ast: a7b374e2c0a97af2160b5f6faeadb17a12e8908c1a7b3d251194e6867fd98f07
|
initial_ast: a7b374e2c0a97af2160b5f6faeadb17a12e8908c1a7b3d251194e6867fd98f07
|
||||||
imports_resolved_ast: 4ca172d902f797a1d225223900fbf3f01a68c44ad5a0cf402e719f9e5961988b
|
imports_resolved_ast: a7b374e2c0a97af2160b5f6faeadb17a12e8908c1a7b3d251194e6867fd98f07
|
||||||
canonicalized_ast: ebd1a1f28fafd6fc55c13f4c362ae9a13dee4717e41d99c23fd0d32c5fcdc526
|
canonicalized_ast: ebd1a1f28fafd6fc55c13f4c362ae9a13dee4717e41d99c23fd0d32c5fcdc526
|
||||||
type_inferenced_ast: eb15aba7bdb3c3a2f776af8cb80f52f44d6d6ab60e5ee3c032ab4ec8a90a2436
|
type_inferenced_ast: eb15aba7bdb3c3a2f776af8cb80f52f44d6d6ab60e5ee3c032ab4ec8a90a2436
|
||||||
|
@ -17,6 +17,6 @@ outputs:
|
|||||||
type: bool
|
type: bool
|
||||||
value: "true"
|
value: "true"
|
||||||
initial_ast: 2496cb4a0f1486bbacccee48e3b8b93999916e585e238a5c7d63c34235d15a36
|
initial_ast: 2496cb4a0f1486bbacccee48e3b8b93999916e585e238a5c7d63c34235d15a36
|
||||||
imports_resolved_ast: 4ca172d902f797a1d225223900fbf3f01a68c44ad5a0cf402e719f9e5961988b
|
imports_resolved_ast: 2496cb4a0f1486bbacccee48e3b8b93999916e585e238a5c7d63c34235d15a36
|
||||||
canonicalized_ast: 2496cb4a0f1486bbacccee48e3b8b93999916e585e238a5c7d63c34235d15a36
|
canonicalized_ast: 2496cb4a0f1486bbacccee48e3b8b93999916e585e238a5c7d63c34235d15a36
|
||||||
type_inferenced_ast: aa056968c0d635d56e2ad011db4df7fec65b62eb7b0ca8ec5c75ca8fca0f33eb
|
type_inferenced_ast: aa056968c0d635d56e2ad011db4df7fec65b62eb7b0ca8ec5c75ca8fca0f33eb
|
||||||
|
@ -17,6 +17,6 @@ outputs:
|
|||||||
type: bool
|
type: bool
|
||||||
value: "true"
|
value: "true"
|
||||||
initial_ast: 8421d5ef70b41b773b771cb1991a5120a556d13127fb1c6cf7bbd6328150c7d5
|
initial_ast: 8421d5ef70b41b773b771cb1991a5120a556d13127fb1c6cf7bbd6328150c7d5
|
||||||
imports_resolved_ast: 4ca172d902f797a1d225223900fbf3f01a68c44ad5a0cf402e719f9e5961988b
|
imports_resolved_ast: 8421d5ef70b41b773b771cb1991a5120a556d13127fb1c6cf7bbd6328150c7d5
|
||||||
canonicalized_ast: 8421d5ef70b41b773b771cb1991a5120a556d13127fb1c6cf7bbd6328150c7d5
|
canonicalized_ast: 8421d5ef70b41b773b771cb1991a5120a556d13127fb1c6cf7bbd6328150c7d5
|
||||||
type_inferenced_ast: 34e28d45203ffd3ec760af7baf8db09cfb14584107951fc5803122c0fc13f0e2
|
type_inferenced_ast: 34e28d45203ffd3ec760af7baf8db09cfb14584107951fc5803122c0fc13f0e2
|
||||||
|
@ -23,6 +23,6 @@ outputs:
|
|||||||
type: bool
|
type: bool
|
||||||
value: "true"
|
value: "true"
|
||||||
initial_ast: 389c0d4a68bf27db627b83d460a2947a2321a76fc73e727806a9fe8c7f63fe88
|
initial_ast: 389c0d4a68bf27db627b83d460a2947a2321a76fc73e727806a9fe8c7f63fe88
|
||||||
imports_resolved_ast: 4ca172d902f797a1d225223900fbf3f01a68c44ad5a0cf402e719f9e5961988b
|
imports_resolved_ast: 389c0d4a68bf27db627b83d460a2947a2321a76fc73e727806a9fe8c7f63fe88
|
||||||
canonicalized_ast: 389c0d4a68bf27db627b83d460a2947a2321a76fc73e727806a9fe8c7f63fe88
|
canonicalized_ast: 389c0d4a68bf27db627b83d460a2947a2321a76fc73e727806a9fe8c7f63fe88
|
||||||
type_inferenced_ast: d5fe9155615c6ca70430e6b33661214f14844a61d5064ad56d388fea147abfd7
|
type_inferenced_ast: d5fe9155615c6ca70430e6b33661214f14844a61d5064ad56d388fea147abfd7
|
||||||
|
@ -17,6 +17,6 @@ outputs:
|
|||||||
type: bool
|
type: bool
|
||||||
value: "true"
|
value: "true"
|
||||||
initial_ast: de5d7719988638c095aba736ca2e09c2037be42e22c3b29bc2c07705e7bfd6ee
|
initial_ast: de5d7719988638c095aba736ca2e09c2037be42e22c3b29bc2c07705e7bfd6ee
|
||||||
imports_resolved_ast: 4ca172d902f797a1d225223900fbf3f01a68c44ad5a0cf402e719f9e5961988b
|
imports_resolved_ast: de5d7719988638c095aba736ca2e09c2037be42e22c3b29bc2c07705e7bfd6ee
|
||||||
canonicalized_ast: de5d7719988638c095aba736ca2e09c2037be42e22c3b29bc2c07705e7bfd6ee
|
canonicalized_ast: de5d7719988638c095aba736ca2e09c2037be42e22c3b29bc2c07705e7bfd6ee
|
||||||
type_inferenced_ast: 8e6fed7036467ea6116184b59b25589393393308a1c1fe963dc0ac4a9e76481a
|
type_inferenced_ast: 8e6fed7036467ea6116184b59b25589393393308a1c1fe963dc0ac4a9e76481a
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user