caller_location is the file and line of whoever called this function. It is how a library function can say “you called me wrongly, here” instead of pointing inside the library. Because it costs a hidden extra argument on every call, a function has to opt in, by writing @caller_location on the line before fn:
Example
fn not_marked(): string { return caller_location; // this function never asked for it}Add the marker:
Example
@caller_locationfn marked(): string { return caller_location;}Or remove the use if you didn’t mean to ask for the caller’s position.
@caller_location goes on the line before fn (or before an operator declaration). It can share that position with the @ownership(...) and @ffi(...) annotations on a function.
Run turf --explain E084 in a terminal to read this again.