--- weight: 100 title: "MV_INLINE" description: "Make preprocessor macros" icon: "code_blocks" date: "2025-05-01T18:47:58-05:00" lastmod: "2025-05-01T18:47:58-05:00" --- `declare function MV_INLINE(inlineFunction: (A...) -> R...): (A...) -> R...` will mark the passed function to be inlined where used. Some limitations apply: - The passed function cannot be variadic (i.e. no ... usage) - The passed function cannot tailcall or otherwise recursively call itself. - You must use this macro in it's specific form, i.e. `local = MV_INLINE(function() ... end)` ## Valid Usage ```lua local testFunc = MV_INLINE(function(start, endn) local total = 0 for i = start, endn do total = total + i end return total end) local testFunc2 = MV_INLINE(function() return testFunc(1, 10), testFunc(11, 20), testFunc(1, 15) end) print(testFunc2()) ```