mirror of
https://github.com/ProvableHQ/leo.git
synced 2024-09-11 05:45:30 +03:00
rename dynamic-check -> type-inference 2
This commit is contained in:
parent
f1e393a9ab
commit
7589fa65c5
29
Cargo.lock
generated
29
Cargo.lock
generated
@ -1254,13 +1254,13 @@ dependencies = [
|
||||
"leo-ast",
|
||||
"leo-core",
|
||||
"leo-core-ast",
|
||||
"leo-dynamic-check",
|
||||
"leo-gadgets",
|
||||
"leo-imports",
|
||||
"leo-input",
|
||||
"leo-package",
|
||||
"leo-state",
|
||||
"leo-symbol-table",
|
||||
"leo-type-inference",
|
||||
"num-bigint",
|
||||
"pest",
|
||||
"rand",
|
||||
@ -1310,19 +1310,6 @@ dependencies = [
|
||||
"snarkos-models",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "leo-dynamic-check"
|
||||
version = "1.0.3"
|
||||
dependencies = [
|
||||
"leo-ast",
|
||||
"leo-core-ast",
|
||||
"leo-imports",
|
||||
"leo-symbol-table",
|
||||
"serde",
|
||||
"serde_json",
|
||||
"thiserror",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "leo-gadgets"
|
||||
version = "1.0.3"
|
||||
@ -1378,7 +1365,6 @@ dependencies = [
|
||||
"leo-compiler",
|
||||
"leo-core",
|
||||
"leo-core-ast",
|
||||
"leo-dynamic-check",
|
||||
"leo-gadgets",
|
||||
"leo-imports",
|
||||
"leo-input",
|
||||
@ -1456,6 +1442,19 @@ dependencies = [
|
||||
"thiserror",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "leo-type-inference"
|
||||
version = "1.0.3"
|
||||
dependencies = [
|
||||
"leo-ast",
|
||||
"leo-core-ast",
|
||||
"leo-imports",
|
||||
"leo-symbol-table",
|
||||
"serde",
|
||||
"serde_json",
|
||||
"thiserror",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "libc"
|
||||
version = "0.2.76"
|
||||
|
@ -30,7 +30,6 @@ members = [
|
||||
"compiler",
|
||||
"core-ast",
|
||||
"core",
|
||||
"dynamic-check",
|
||||
"gadgets",
|
||||
"imports",
|
||||
"input",
|
||||
@ -38,6 +37,7 @@ members = [
|
||||
"package",
|
||||
"state",
|
||||
"symbol-table",
|
||||
"type-inference",
|
||||
]
|
||||
|
||||
[dependencies.leo-compiler]
|
||||
@ -52,10 +52,6 @@ version = "1.0.1"
|
||||
path = "./core-ast"
|
||||
version = "1.0.3"
|
||||
|
||||
[dependencies.leo-dynamic-check]
|
||||
path = "./dynamic-check"
|
||||
version = "1.0.3"
|
||||
|
||||
[dependencies.leo-gadgets]
|
||||
path = "./gadgets"
|
||||
version = "1.0.3"
|
||||
|
@ -25,8 +25,8 @@ version = "1.0.3"
|
||||
path = "../core"
|
||||
version = "1.0.3"
|
||||
|
||||
[dependencies.leo-dynamic-check]
|
||||
path = "../dynamic-check"
|
||||
[dependencies.leo-core-ast]
|
||||
path = "../core-ast"
|
||||
version = "1.0.3"
|
||||
|
||||
[dependencies.leo-gadgets]
|
||||
@ -45,10 +45,6 @@ version = "1.0.3"
|
||||
path = "../package"
|
||||
version = "1.0.3"
|
||||
|
||||
[dependencies.leo-core-ast]
|
||||
path = "../core-ast"
|
||||
version = "1.0.3"
|
||||
|
||||
[dependencies.leo-state]
|
||||
path = "../state"
|
||||
version = "1.0.3"
|
||||
@ -57,6 +53,10 @@ version = "1.0.3"
|
||||
path = "../symbol-table"
|
||||
version = "1.0.3"
|
||||
|
||||
[dependencies.leo-type-inference]
|
||||
path = "../type-inference"
|
||||
version = "1.0.3"
|
||||
|
||||
[dependencies.snarkos-curves]
|
||||
version = "1.1.3"
|
||||
default-features = false
|
||||
|
@ -25,12 +25,12 @@ use crate::{
|
||||
};
|
||||
use leo_ast::LeoAst;
|
||||
use leo_core_ast::{Input, LeoCoreAst, MainInput, Program};
|
||||
use leo_dynamic_check::TypeInference;
|
||||
use leo_imports::ImportParser;
|
||||
use leo_input::LeoInputParser;
|
||||
use leo_package::inputs::InputPairs;
|
||||
use leo_state::verify_local_data_commitment;
|
||||
use leo_symbol_table::SymbolTable;
|
||||
use leo_type_inference::TypeInference;
|
||||
|
||||
use snarkos_dpc::{base_dpc::instantiated::Components, SystemParameters};
|
||||
use snarkos_errors::gadgets::SynthesisError;
|
||||
@ -187,7 +187,11 @@ impl<F: Field + PrimeField, G: GroupType<F>> Compiler<F, G> {
|
||||
}
|
||||
|
||||
///
|
||||
/// Runs static and dynamic type checks on the program, imports, and input.
|
||||
/// Runs a type check on the program, imports, and input.
|
||||
///
|
||||
/// First, a symbol table of all user defined types is created.
|
||||
/// Second, a type inference check is run on the program - inferring a data type for all implicit types and
|
||||
/// catching type mismatch errors.
|
||||
///
|
||||
pub(crate) fn check_program(&self) -> Result<(), CompilerError> {
|
||||
// Create a new symbol table from the program, imported_programs, and program_input.
|
||||
@ -198,7 +202,7 @@ impl<F: Field + PrimeField, G: GroupType<F>> Compiler<F, G> {
|
||||
e
|
||||
})?;
|
||||
|
||||
// Run dynamic check on program.
|
||||
// Run type inference check on program.
|
||||
TypeInference::new(&self.program, symbol_table).map_err(|mut e| {
|
||||
e.set_path(&self.main_file_path);
|
||||
|
||||
@ -235,7 +239,7 @@ impl<F: Field + PrimeField, G: GroupType<F>> Compiler<F, G> {
|
||||
// Create a new symbol table from the program, imported programs, and program input.
|
||||
let symbol_table = SymbolTable::new(&self.program, &self.imported_programs, &self.program_input)?;
|
||||
|
||||
// Run dynamic check on program.
|
||||
// Run type inference check on program.
|
||||
TypeInference::new(&self.program, symbol_table)?;
|
||||
|
||||
tracing::debug!("Program parsing complete\n{:#?}", self.program);
|
||||
|
@ -16,11 +16,11 @@
|
||||
|
||||
use crate::errors::{FunctionError, ImportError, OutputBytesError, OutputFileError};
|
||||
use leo_ast::ParserError;
|
||||
use leo_dynamic_check::TypeInferenceError;
|
||||
use leo_imports::ImportParserError;
|
||||
use leo_input::InputParserError;
|
||||
use leo_state::LocalDataVerificationError;
|
||||
use leo_symbol_table::SymbolTableError;
|
||||
use leo_type_inference::TypeInferenceError;
|
||||
|
||||
use bincode::Error as SerdeError;
|
||||
use std::path::{Path, PathBuf};
|
||||
@ -28,7 +28,7 @@ use std::path::{Path, PathBuf};
|
||||
#[derive(Debug, Error)]
|
||||
pub enum CompilerError {
|
||||
#[error("{}", _0)]
|
||||
DynamicCheckError(#[from] TypeInferenceError),
|
||||
TypeInferenceError(#[from] TypeInferenceError),
|
||||
|
||||
#[error("{}", _0)]
|
||||
ImportError(#[from] ImportError),
|
||||
@ -79,7 +79,7 @@ pub enum CompilerError {
|
||||
impl CompilerError {
|
||||
pub fn set_path(&mut self, path: &Path) {
|
||||
match self {
|
||||
CompilerError::DynamicCheckError(error) => error.set_path(path),
|
||||
CompilerError::TypeInferenceError(error) => error.set_path(path),
|
||||
CompilerError::InputParserError(error) => error.set_path(path),
|
||||
CompilerError::FunctionError(error) => error.set_path(path),
|
||||
CompilerError::OutputStringError(error) => error.set_path(path),
|
||||
|
@ -17,7 +17,7 @@
|
||||
use crate::{
|
||||
assert_satisfied,
|
||||
expect_compiler_error,
|
||||
expect_dynamic_check_error,
|
||||
expect_type_inference_error,
|
||||
get_output,
|
||||
parse_program,
|
||||
parse_program_with_input,
|
||||
@ -153,7 +153,7 @@ fn test_multi_fail_initializer() {
|
||||
let program_bytes = include_bytes!("multi_fail_initializer.leo");
|
||||
let error = parse_program(program_bytes).err().unwrap();
|
||||
|
||||
expect_dynamic_check_error(error);
|
||||
expect_type_inference_error(error);
|
||||
}
|
||||
|
||||
#[test]
|
||||
@ -161,7 +161,7 @@ fn test_multi_inline_fail() {
|
||||
let program_bytes = include_bytes!("multi_fail_inline.leo");
|
||||
let error = parse_program(program_bytes).err().unwrap();
|
||||
|
||||
expect_dynamic_check_error(error);
|
||||
expect_type_inference_error(error);
|
||||
}
|
||||
|
||||
#[test]
|
||||
@ -177,7 +177,7 @@ fn test_multi_initializer_fail() {
|
||||
let program_bytes = include_bytes!("multi_initializer_fail.leo");
|
||||
let err = parse_program(program_bytes).err().unwrap();
|
||||
|
||||
expect_dynamic_check_error(err);
|
||||
expect_type_inference_error(err);
|
||||
}
|
||||
|
||||
#[test]
|
||||
@ -193,7 +193,7 @@ fn test_nested_3x2_value_fail() {
|
||||
let program_bytes = include_bytes!("nested_3x2_value_fail.leo");
|
||||
let error = parse_program(program_bytes).err().unwrap();
|
||||
|
||||
expect_dynamic_check_error(error);
|
||||
expect_type_inference_error(error);
|
||||
}
|
||||
|
||||
#[test]
|
||||
@ -209,7 +209,7 @@ fn test_tuple_3x2_value_fail() {
|
||||
let program_bytes = include_bytes!("tuple_3x2_value_fail.leo");
|
||||
let error = parse_program(program_bytes).err().unwrap();
|
||||
|
||||
expect_dynamic_check_error(error);
|
||||
expect_type_inference_error(error);
|
||||
}
|
||||
|
||||
#[test]
|
||||
@ -253,7 +253,7 @@ fn test_type_nested_value_nested_3x2_fail() {
|
||||
let program_bytes = include_bytes!("type_nested_value_nested_3x2_fail.leo");
|
||||
let error = parse_program(program_bytes).err().unwrap();
|
||||
|
||||
expect_dynamic_check_error(error);
|
||||
expect_type_inference_error(error);
|
||||
}
|
||||
|
||||
#[test]
|
||||
@ -269,7 +269,7 @@ fn test_type_nested_value_nested_4x3x2_fail() {
|
||||
let program_bytes = include_bytes!("type_nested_value_nested_4x3x2_fail.leo");
|
||||
let error = parse_program(program_bytes).err().unwrap();
|
||||
|
||||
expect_dynamic_check_error(error);
|
||||
expect_type_inference_error(error);
|
||||
}
|
||||
|
||||
#[test]
|
||||
@ -285,7 +285,7 @@ fn test_type_nested_value_tuple_3x2_fail() {
|
||||
let program_bytes = include_bytes!("type_nested_value_tuple_3x2_fail.leo");
|
||||
let error = parse_program(program_bytes).err().unwrap();
|
||||
|
||||
expect_dynamic_check_error(error);
|
||||
expect_type_inference_error(error);
|
||||
}
|
||||
|
||||
#[test]
|
||||
@ -301,7 +301,7 @@ fn test_type_nested_value_tuple_4x3x2_fail() {
|
||||
let program_bytes = include_bytes!("type_nested_value_tuple_4x3x2_fail.leo");
|
||||
let error = parse_program(program_bytes).err().unwrap();
|
||||
|
||||
expect_dynamic_check_error(error);
|
||||
expect_type_inference_error(error);
|
||||
}
|
||||
|
||||
#[test]
|
||||
@ -317,7 +317,7 @@ fn test_type_tuple_value_nested_3x2_fail() {
|
||||
let program_bytes = include_bytes!("type_tuple_value_nested_3x2_fail.leo");
|
||||
let error = parse_program(program_bytes).err().unwrap();
|
||||
|
||||
expect_dynamic_check_error(error);
|
||||
expect_type_inference_error(error);
|
||||
}
|
||||
|
||||
#[test]
|
||||
@ -333,7 +333,7 @@ fn test_type_tuple_value_nested_4x3x2_fail() {
|
||||
let program_bytes = include_bytes!("type_tuple_value_nested_4x3x2_fail.leo");
|
||||
let error = parse_program(program_bytes).err().unwrap();
|
||||
|
||||
expect_dynamic_check_error(error);
|
||||
expect_type_inference_error(error);
|
||||
}
|
||||
|
||||
#[test]
|
||||
@ -349,7 +349,7 @@ fn test_type_tuple_value_tuple_3x2_fail() {
|
||||
let program_bytes = include_bytes!("type_tuple_value_tuple_3x2_fail.leo");
|
||||
let error = parse_program(program_bytes).err().unwrap();
|
||||
|
||||
expect_dynamic_check_error(error);
|
||||
expect_type_inference_error(error);
|
||||
}
|
||||
|
||||
#[test]
|
||||
@ -365,7 +365,7 @@ fn test_type_tuple_value_tuple_4x3x2_fail() {
|
||||
let program_bytes = include_bytes!("type_tuple_value_tuple_4x3x2_fail.leo");
|
||||
let error = parse_program(program_bytes).err().unwrap();
|
||||
|
||||
expect_dynamic_check_error(error);
|
||||
expect_type_inference_error(error);
|
||||
}
|
||||
|
||||
// Tests for nested multi-dimensional arrays as input to the program
|
||||
|
@ -17,7 +17,7 @@
|
||||
use crate::{
|
||||
assert_satisfied,
|
||||
expect_compiler_error,
|
||||
expect_dynamic_check_error,
|
||||
expect_type_inference_error,
|
||||
get_output,
|
||||
parse_program,
|
||||
parse_program_with_input,
|
||||
@ -132,7 +132,7 @@ fn test_true_or_u32() {
|
||||
let bytes = include_bytes!("true_or_u32.leo");
|
||||
let error = parse_program(bytes).err().unwrap();
|
||||
|
||||
expect_dynamic_check_error(error);
|
||||
expect_type_inference_error(error);
|
||||
}
|
||||
|
||||
// Boolean and &&
|
||||
@ -166,7 +166,7 @@ fn test_true_and_u32() {
|
||||
let bytes = include_bytes!("true_and_u32.leo");
|
||||
let error = parse_program(bytes).err().unwrap();
|
||||
|
||||
expect_dynamic_check_error(error);
|
||||
expect_type_inference_error(error);
|
||||
}
|
||||
|
||||
// All
|
||||
|
@ -14,7 +14,7 @@
|
||||
// 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/>.
|
||||
|
||||
use crate::{assert_satisfied, expect_compiler_error, expect_dynamic_check_error, parse_program};
|
||||
use crate::{assert_satisfied, expect_compiler_error, expect_type_inference_error, parse_program};
|
||||
|
||||
// Expressions
|
||||
|
||||
@ -39,7 +39,7 @@ fn test_inline_undefined() {
|
||||
let bytes = include_bytes!("inline_undefined.leo");
|
||||
let error = parse_program(bytes).err().unwrap();
|
||||
|
||||
expect_dynamic_check_error(error);
|
||||
expect_type_inference_error(error);
|
||||
}
|
||||
|
||||
// Members
|
||||
@ -57,7 +57,7 @@ fn test_member_variable_fail() {
|
||||
let bytes = include_bytes!("member_variable_fail.leo");
|
||||
let error = parse_program(bytes).err().unwrap();
|
||||
|
||||
expect_dynamic_check_error(error);
|
||||
expect_type_inference_error(error);
|
||||
}
|
||||
|
||||
#[test]
|
||||
@ -81,7 +81,7 @@ fn test_member_function_fail() {
|
||||
let bytes = include_bytes!("member_function_fail.leo");
|
||||
let error = parse_program(bytes).err().unwrap();
|
||||
|
||||
expect_dynamic_check_error(error);
|
||||
expect_type_inference_error(error);
|
||||
}
|
||||
|
||||
#[test]
|
||||
@ -89,7 +89,7 @@ fn test_member_function_invalid() {
|
||||
let bytes = include_bytes!("member_function_invalid.leo");
|
||||
let error = parse_program(bytes).err().unwrap();
|
||||
|
||||
expect_dynamic_check_error(error);
|
||||
expect_type_inference_error(error);
|
||||
}
|
||||
|
||||
#[test]
|
||||
@ -121,7 +121,7 @@ fn test_member_static_function_invalid() {
|
||||
let bytes = include_bytes!("member_static_function_invalid.leo");
|
||||
let error = parse_program(bytes).err().unwrap();
|
||||
|
||||
expect_dynamic_check_error(error)
|
||||
expect_type_inference_error(error)
|
||||
}
|
||||
|
||||
#[test]
|
||||
@ -129,7 +129,7 @@ fn test_member_static_function_undefined() {
|
||||
let bytes = include_bytes!("member_static_function_undefined.leo");
|
||||
let error = parse_program(bytes).err().unwrap();
|
||||
|
||||
expect_dynamic_check_error(error)
|
||||
expect_type_inference_error(error)
|
||||
}
|
||||
|
||||
// Mutability
|
||||
@ -139,7 +139,7 @@ fn test_mutate_function_fail() {
|
||||
let bytes = include_bytes!("mut_function_fail.leo");
|
||||
let error = parse_program(bytes).err().unwrap();
|
||||
|
||||
expect_dynamic_check_error(error);
|
||||
expect_type_inference_error(error);
|
||||
}
|
||||
|
||||
#[test]
|
||||
@ -163,7 +163,7 @@ fn test_mutate_self_function_fail() {
|
||||
let bytes = include_bytes!("mut_self_function_fail.leo");
|
||||
let error = parse_program(bytes).err().unwrap();
|
||||
|
||||
expect_dynamic_check_error(error);
|
||||
expect_type_inference_error(error);
|
||||
}
|
||||
|
||||
#[test]
|
||||
@ -171,7 +171,7 @@ fn test_mutate_self_static_function_fail() {
|
||||
let bytes = include_bytes!("mut_self_static_function_fail.leo");
|
||||
let error = parse_program(bytes).err().unwrap();
|
||||
|
||||
expect_dynamic_check_error(error);
|
||||
expect_type_inference_error(error);
|
||||
}
|
||||
|
||||
#[test]
|
||||
@ -179,7 +179,7 @@ fn test_mutate_static_function_fail() {
|
||||
let bytes = include_bytes!("mut_static_function_fail.leo");
|
||||
let error = parse_program(bytes).err().unwrap();
|
||||
|
||||
expect_dynamic_check_error(error);
|
||||
expect_type_inference_error(error);
|
||||
}
|
||||
|
||||
#[test]
|
||||
@ -205,7 +205,7 @@ fn test_self_fail() {
|
||||
let bytes = include_bytes!("self_fail.leo");
|
||||
let error = parse_program(bytes).err().unwrap();
|
||||
|
||||
expect_dynamic_check_error(error);
|
||||
expect_type_inference_error(error);
|
||||
}
|
||||
|
||||
#[test]
|
||||
@ -229,7 +229,7 @@ fn test_self_member_undefined() {
|
||||
let bytes = include_bytes!("self_member_undefined.leo");
|
||||
let error = parse_program(bytes).err().unwrap();
|
||||
|
||||
expect_dynamic_check_error(error);
|
||||
expect_type_inference_error(error);
|
||||
}
|
||||
|
||||
// All
|
||||
|
@ -16,7 +16,7 @@
|
||||
|
||||
use crate::{
|
||||
assert_satisfied,
|
||||
expect_dynamic_check_error,
|
||||
expect_type_inference_error,
|
||||
generate_main_input,
|
||||
get_output,
|
||||
parse_program,
|
||||
@ -35,7 +35,7 @@ fn test_arguments_length_fail() {
|
||||
let program_bytes = include_bytes!("arguments_length_fail.leo");
|
||||
let error = parse_program(program_bytes).err().unwrap();
|
||||
|
||||
expect_dynamic_check_error(error);
|
||||
expect_type_inference_error(error);
|
||||
}
|
||||
|
||||
#[test]
|
||||
@ -43,7 +43,7 @@ fn test_arguments_type_fail() {
|
||||
let program_bytes = include_bytes!("arguments_type_fail.leo");
|
||||
let error = parse_program(program_bytes).err().unwrap();
|
||||
|
||||
expect_dynamic_check_error(error);
|
||||
expect_type_inference_error(error);
|
||||
}
|
||||
|
||||
#[test]
|
||||
|
@ -17,7 +17,7 @@
|
||||
use crate::{
|
||||
assert_satisfied,
|
||||
expect_compiler_error,
|
||||
expect_dynamic_check_error,
|
||||
expect_type_inference_error,
|
||||
get_output,
|
||||
parse_program,
|
||||
parse_program_with_input,
|
||||
@ -122,7 +122,7 @@ fn test_undefined() {
|
||||
let bytes = include_bytes!("undefined.leo");
|
||||
let error = parse_program(bytes).err().unwrap();
|
||||
|
||||
expect_dynamic_check_error(error);
|
||||
expect_type_inference_error(error);
|
||||
}
|
||||
|
||||
#[test]
|
||||
@ -138,7 +138,7 @@ fn test_array_input() {
|
||||
let bytes = include_bytes!("array_input.leo");
|
||||
let error = parse_program(bytes).err().unwrap();
|
||||
|
||||
expect_dynamic_check_error(error)
|
||||
expect_type_inference_error(error)
|
||||
}
|
||||
|
||||
// Test return multidimensional arrays
|
||||
@ -148,7 +148,7 @@ fn test_return_array_nested_fail() {
|
||||
let bytes = include_bytes!("return_array_nested_fail.leo");
|
||||
let error = parse_program(bytes).err().unwrap();
|
||||
|
||||
expect_dynamic_check_error(error);
|
||||
expect_type_inference_error(error);
|
||||
}
|
||||
|
||||
#[test]
|
||||
@ -164,7 +164,7 @@ fn test_return_array_tuple_fail() {
|
||||
let bytes = include_bytes!("return_array_tuple_fail.leo");
|
||||
let error = parse_program(bytes).err().unwrap();
|
||||
|
||||
expect_dynamic_check_error(error);
|
||||
expect_type_inference_error(error);
|
||||
}
|
||||
|
||||
#[test]
|
||||
|
@ -181,8 +181,8 @@ pub(crate) fn expect_compiler_error(program: EdwardsTestCompiler) -> CompilerErr
|
||||
program.generate_constraints_helper(&mut cs).unwrap_err()
|
||||
}
|
||||
|
||||
pub(crate) fn expect_dynamic_check_error(error: CompilerError) {
|
||||
assert!(matches!(error, CompilerError::DynamicCheckError(_)))
|
||||
pub(crate) fn expect_type_inference_error(error: CompilerError) {
|
||||
assert!(matches!(error, CompilerError::TypeInferenceError(_)))
|
||||
}
|
||||
|
||||
pub(crate) fn expect_symbol_table_error(error: CompilerError) {
|
||||
|
@ -14,7 +14,7 @@
|
||||
// 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/>.
|
||||
|
||||
use crate::{assert_satisfied, expect_compiler_error, expect_dynamic_check_error, generate_main_input, parse_program};
|
||||
use crate::{assert_satisfied, expect_compiler_error, expect_type_inference_error, generate_main_input, parse_program};
|
||||
use leo_core_ast::InputValue;
|
||||
|
||||
#[test]
|
||||
@ -94,7 +94,7 @@ fn test_circuit_function_mut() {
|
||||
let bytes = include_bytes!("circuit_function_mut.leo");
|
||||
let error = parse_program(bytes).err().unwrap();
|
||||
|
||||
expect_dynamic_check_error(error);
|
||||
expect_type_inference_error(error);
|
||||
}
|
||||
|
||||
#[test]
|
||||
@ -102,7 +102,7 @@ fn test_circuit_static_function_mut() {
|
||||
let bytes = include_bytes!("circuit_static_function_mut.leo");
|
||||
let error = parse_program(bytes).err().unwrap();
|
||||
|
||||
expect_dynamic_check_error(error);
|
||||
expect_type_inference_error(error);
|
||||
}
|
||||
|
||||
#[test]
|
||||
|
@ -14,7 +14,7 @@
|
||||
// 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/>.
|
||||
|
||||
use crate::{assert_satisfied, expect_dynamic_check_error, generate_main_input, parse_program};
|
||||
use crate::{assert_satisfied, expect_type_inference_error, generate_main_input, parse_program};
|
||||
use leo_core_ast::InputValue;
|
||||
|
||||
pub mod conditional;
|
||||
@ -62,5 +62,5 @@ fn test_num_returns_fail() {
|
||||
let bytes = include_bytes!("num_returns_fail.leo");
|
||||
let error = parse_program(bytes).err().unwrap();
|
||||
|
||||
expect_dynamic_check_error(error);
|
||||
expect_type_inference_error(error);
|
||||
}
|
||||
|
@ -17,8 +17,8 @@
|
||||
use crate::{expect_compiler_error, parse_input, parse_program};
|
||||
use leo_ast::ParserError;
|
||||
use leo_compiler::errors::{CompilerError, ExpressionError, FunctionError, StatementError};
|
||||
use leo_dynamic_check::errors::{FrameError, TypeAssertionError, TypeInferenceError};
|
||||
use leo_input::InputParserError;
|
||||
use leo_type_inference::errors::{FrameError, TypeAssertionError, TypeInferenceError};
|
||||
|
||||
pub mod identifiers;
|
||||
|
||||
@ -80,11 +80,11 @@ fn test_compare_mismatched_types() {
|
||||
let bytes = include_bytes!("compare_mismatched_types.leo");
|
||||
let error = parse_program(bytes).err().unwrap();
|
||||
|
||||
// Expect a dynamic check error.
|
||||
// Expect a type inference error.
|
||||
match error {
|
||||
CompilerError::DynamicCheckError(TypeInferenceError::FrameError(FrameError::TypeAssertionError(
|
||||
CompilerError::TypeInferenceError(TypeInferenceError::FrameError(FrameError::TypeAssertionError(
|
||||
TypeAssertionError::Error(_),
|
||||
))) => {}
|
||||
error => panic!("Expected dynamic check error, found {}", error),
|
||||
error => panic!("Expected type inference error, found {}", error),
|
||||
}
|
||||
}
|
||||
|
@ -1,5 +1,5 @@
|
||||
[package]
|
||||
name = "leo-dynamic-check"
|
||||
name = "leo-type-inference"
|
||||
version = "1.0.3"
|
||||
authors = [ "The Aleo Team <hello@aleo.org>" ]
|
||||
description = "Checks that a program is correct using type inference"
|
||||
@ -21,20 +21,20 @@ edition = "2018"
|
||||
path = "../ast"
|
||||
version = "1.0.3"
|
||||
|
||||
[dependencies.leo-core-ast]
|
||||
path = "../core-ast"
|
||||
version = "1.0.3"
|
||||
|
||||
[dependencies.leo-imports]
|
||||
path = "../imports"
|
||||
version = "1.0.3"
|
||||
|
||||
[dependencies.serde_json]
|
||||
version = "1.0"
|
||||
|
||||
[dependencies.leo-symbol-table]
|
||||
path = "../symbol-table"
|
||||
version = "1.0.3"
|
||||
|
||||
[dependencies.leo-core-ast]
|
||||
path = "../core-ast"
|
||||
version = "1.0.3"
|
||||
[dependencies.serde_json]
|
||||
version = "1.0"
|
||||
|
||||
[dependencies.serde]
|
||||
version = "1.0"
|
@ -21,7 +21,7 @@ pub mod tuples;
|
||||
pub mod variables;
|
||||
|
||||
use leo_ast::LeoAst;
|
||||
use leo_dynamic_check::TypeInference;
|
||||
use leo_type_inference::TypeInference;
|
||||
|
||||
use leo_core_ast::{Input, LeoCoreAst, Program};
|
||||
use leo_imports::ImportParser;
|
Loading…
Reference in New Issue
Block a user