callee-no-returnThe callee has no return instruction to rewrite
Reported by --explain after a verdict.
mettle explain callee-no-return
Inlining works by rewriting the callee's returns into assignments in the caller. A body with no return has nothing to rewrite. A function that only ever traps or loops forever looks like this.
A structural guard: @inline does not override it.
Related
- callee-no-bodyThe callee has no body to inline
- callee-noinlineThe callee is marked @noinline
- callee-denylistedThe callee is on the compiler's inline denylist
- too-many-parametersThe callee takes more than 16 parameters
- callee-parameter-namesThe callee's parameter names are unavailable
- callee-over-budgetThe callee's body is over the inline size budget
- callee-call-countThe callee makes more calls than the inline call-count budget allows
- callee-inline-asmThe callee contains inline assembly