Files
@ 85419b0950c7
Branch filter:
Location: CSY/reowolf/src/protocol/tests/eval_calls.rs - annotation
85419b0950c7
729 B
application/rls-services+xml
Rewrote typing to use indices.
Currently it is slower than before, because we do a HashMap lookup
followed up by actually using the index. But it serves as the basis
for a faster type inferencer.
The main goal, however, is to fix the manner in which polymorph
types are determined. The typing queue of functions still needs to
correctly write this data to the type table.
Currently it is slower than before, because we do a HashMap lookup
followed up by actually using the index. But it serves as the basis
for a faster type inferencer.
The main goal, however, is to fix the manner in which polymorph
types are determined. The typing queue of functions still needs to
correctly write this data to the type table.
d36ad4f5458b d36ad4f5458b d36ad4f5458b d36ad4f5458b d36ad4f5458b d36ad4f5458b d36ad4f5458b d36ad4f5458b d36ad4f5458b d36ad4f5458b d36ad4f5458b d36ad4f5458b b69f417a9972 d36ad4f5458b d36ad4f5458b d36ad4f5458b d36ad4f5458b d36ad4f5458b d36ad4f5458b d36ad4f5458b d36ad4f5458b d36ad4f5458b d36ad4f5458b d36ad4f5458b d36ad4f5458b d36ad4f5458b d36ad4f5458b b69f417a9972 d36ad4f5458b d36ad4f5458b | use super::*;
#[test]
fn test_function_call() {
Tester::new_single_source_expect_ok("with literal arg", "
func add_two(u32 value) -> u32 {
return value + 2;
}
func foo() -> u32 {
return add_two(5);
}
").for_function("foo", |f| {
f.call_ok(Some(Value::UInt32(7)));
});
println!("\n\n\n\n\n\n\n");
Tester::new_single_source_expect_ok("with variable arg", "
func add_two(u32 value) -> u32 {
value += 1;
return value + 1;
}
func foo() -> bool {
auto initial = 5;
auto result = add_two(initial);
return initial == 5 && result == 7;
}").for_function("foo", |f| {
f.call_ok(Some(Value::Bool(true)));
});
}
|