In the Julia style guide, direct link below, it recommends appending an exclamation mark to the end function names which modify their arguments:
However, at the end of the section on inner constructors with incomplete arguments where a completion function is used, direct link below, the function complete_me does not have an exclamation mark at the end even though it modifies its argument.
My opinion is that although the “!” requirement is less stringent on inner constructor completion functions, as they will never be called directly and only indirectly upon creation of a struct instance, the “!” should still be appended to the function name for code reading clarity.
However, I’m fairly new to Julia (recent migrant from Python). If any more experienced Julia devs have an opinion I’d be very curious to know.