Hi,

I wanted to get some clarifications on how inlinable and inline behave.

One particular case is where you have a module exporting some functions with helper functions that are not exported. You go ahead and add inlinable to the exported functions so that the call site can specialize on them. Is there any penalty to adding inline vs inlinable to the helper functions?

For example, are there cases where a helper function will not inline and thus can not be specailized at the call site and it would be better to declare the helper function inlinable?

I would be interested to hear any nuances related to the differences and practical consequences of these pragmas.

Thanks!

Charlie Durham