Lazy and fuzzy variables can be passed to inout and out parameters
Summary
Passing a lazy or fuzzy variable to an out or inout function parameter does not yield an error, while it should according to paragraph l) of section 5.4.2 of the TTCN-3 standard.
Steps and/or TTCN-3 code to reproduce
Create a TTCN-3 module with the following content:
type component ct_empty{}
function fn_no_passing_lazy_fuzzy_variables_to_inout_out(out integer o, inout integer io){
o := 3;
io := 4;
}
testcase tc_no_passing_lazy_fuzzy_variables_to_inout_out() runs on ct_empty{ //should lead to error
var @lazy integer vl := 4;
var @fuzzy integer vf := 5;
fn_no_passing_lazy_fuzzy_variables_to_inout_out(vl, vf);
setverdict(pass);
}
Then compile and run.
What is the current bug behavior?
The code is compiled and runs.
What is the expected correct behavior?
This should lead to an error.
Relevant logs and/or screenshots
Possible fixes
Titan version
8.1.0
Platform details (OS type and version)
Microsoft Windows 10 Enterprise 10.0.19042
/cc @aknappqwt