45 lines
1.1 KiB
Plaintext
45 lines
1.1 KiB
Plaintext
# @TEST-DOC: Usage analyzer marked lambdas and functions in attribute expressions of unused tables or record types as unused. That is a bit confusing. Regression test for #3122.
|
|
# @TEST-EXEC: zeek -b %INPUT
|
|
# @TEST-EXEC: TEST_DIFF_CANONIFIER=$SCRIPTS/diff-remove-abspath btest-diff .stderr
|
|
|
|
module MyModule;
|
|
|
|
## Lambda on table.
|
|
const ids1: table[count] of string = {
|
|
[1] = "One",
|
|
} &default=function(c: count): string {
|
|
return fmt("unknown-%d", c);
|
|
};
|
|
|
|
|
|
## External default function
|
|
function default_id(c: count): string {
|
|
return fmt("unknown-%d", c);
|
|
}
|
|
|
|
const ids2: table[count] of string = {
|
|
[1] = "One",
|
|
} &default=default_id;
|
|
|
|
|
|
## &default expression using function
|
|
function default_id2(): string {
|
|
return "";
|
|
}
|
|
|
|
const ids3: table[count] of string = {
|
|
[1] = "One",
|
|
} &default=default_id2() + "";
|
|
|
|
|
|
## &expire_func lambda using another function
|
|
function expire_f(t: table[count] of string, c: count): interval {
|
|
return 0.0sec;
|
|
}
|
|
|
|
const ids4: table[count] of string = {
|
|
[1] = "One",
|
|
} &expire_func=function(t: table[count] of string, c: count): interval {
|
|
return expire_f(t, c);
|
|
};
|