diff --git a/lib/edlang_driver/tests/programs.rs b/lib/edlang_driver/tests/programs.rs index 4c16ff348..326563b25 100644 --- a/lib/edlang_driver/tests/programs.rs +++ b/lib/edlang_driver/tests/programs.rs @@ -9,6 +9,7 @@ mod common; #[test_case(include_str!("programs/while.ed"), "while", false, 10, &[] ; "r#while")] #[test_case(include_str!("programs/factorial.ed"), "factorial", false, 24, &[] ; "factorial")] #[test_case(include_str!("programs/refs.ed"), "refs", false, 2, &[] ; "refs")] +#[test_case(include_str!("programs/struct.ed"), "struct", false, 5, &[] ; "r#struct")] #[test_case(TEST_ADD, "TEST_ADD", false, 2, &[] ; "TEST_ADD")] #[test_case(TEST_SUB, "TEST_SUB", false, 1, &[] ; "TEST_SUB")] #[test_case(TEST_MUL, "TEST_MUL", false, 4, &[] ; "TEST_MUL")] diff --git a/lib/edlang_driver/tests/programs/struct.ed b/lib/edlang_driver/tests/programs/struct.ed new file mode 100644 index 000000000..ee3a9f187 --- /dev/null +++ b/lib/edlang_driver/tests/programs/struct.ed @@ -0,0 +1,20 @@ +mod Main { + + struct Hello { + a: i32, + b: i64, + } + + pub fn main() -> i64 { + let x: Hello = Hello { + a: 2, + b: 3, + }; + hello(&mut x); + return x.b; + } + + pub fn hello(a: &mut Hello) { + a.b = 5; + } +} diff --git a/programs/struct.ed b/programs/struct.ed new file mode 100644 index 000000000..ee3a9f187 --- /dev/null +++ b/programs/struct.ed @@ -0,0 +1,20 @@ +mod Main { + + struct Hello { + a: i32, + b: i64, + } + + pub fn main() -> i64 { + let x: Hello = Hello { + a: 2, + b: 3, + }; + hello(&mut x); + return x.b; + } + + pub fn hello(a: &mut Hello) { + a.b = 5; + } +} diff --git a/what b/what deleted file mode 100644 index 6121cde6e..000000000 --- a/what +++ /dev/null @@ -1 +0,0 @@ - Compiling edlang_parser v0.0.1-alpha.7 (/data2/edgar/edlang/lib/edlang_parser)