Inlining functions that will only ever be called once - is this a good convention?

35 points CedTwo

A convention I picked up from Python (or maybe JS, I can't remember) was to split long functions up into smaller modular functions for semantic reasons. So rather than having 10 lines in main, for example, I might have a single call for server config stuff, another for database connection stuff, and a final call to start my server. Being that the only reason these functions exist is semantic, would it be a good convention to mark all such functions as #[inline(always)] or is there a hidden caveat I'm unaware of?

Edit: It seems pretty unanimous that inlining should only be done if you are sure you know better than the compiler. Otherwise just avoid it and the compiler will (usually) know best.