function Call( byref val ) return ++val; endfunction function DoNotCall() print( "TEST FAILURE" ); return error{ errortext := "Called!" }; endfunction var foo, i := 0; foo := 1 ? Call( i ) : DoNotCall(); print( foo ); foo := 0 ? DoNotCall() : Call( i ); print( foo ); foo := -1 > 0 ? DoNotCall() : Call( i ); print( foo ); foo := -1 > 0 ? DoNotCall() : 0 > 1 ? DoNotCall() : Call( i ); print( foo ); foo := 0 ?: "" ? DoNotCall() : uninit ?: 0 ? DoNotCall() : Call( i ); print( foo ); var bar := struct{}; foo := bar.+baz := "" ?: "truthty" ? 1 : 0 ? Call( i ) : DoNotCall(); print( foo );