The return value of a function call will be inferred as unknown if any of its parameters is a [LuaJIT 3 lambda](https://github.com/LuaJIT/LuaJIT/issues/1475#issuecomment-4769582883). ## Example using emmylua_ls 0.25.1 ```lua local function foo(_) return 42 end local a = foo("string") -- inferred as number local b = foo(123) -- inferred as number local c = foo(function () end) -- inferred as number local d = foo(|| -> 2) -- inferred as unknown ``` <img width="295" height="34" alt="Image" src="https://github.com/user-attachments/assets/19ca80c3-39c0-4c2b-973f-6657723521d9" /> <br> <img width="279" height="31" alt="Image" src="https://github.com/user-attachments/assets/5767dae8-74c6-4238-8a4c-20f4a15becdf" /> <br> <img width="281" height="38" alt="Image" src="https://github.com/user-attachments/assets/374770ee-c615-4fdc-8efc-0e754d1e00a3" /> <br> <img width="237" height="36" alt="Image" src="https://github.com/user-attachments/assets/6600448f-7aac-4878-990e-4fd2c3d55120" />
The return value of a function call will be inferred as unknown if any of its parameters is a LuaJIT 3 lambda.
Example
using emmylua_ls 0.25.1