Modifier to make a `func` on a type a free function

I too have often come across this problem of wanting to limit visibility of a function to within a type, but have the function not be instance bound.

I think we should keep the static func but extend symbol lookup rules to accept the “naked” function name when calling a static function from a non-static context.

If a static and non-static function share names, it should cause an ambiguity error, and the proposed fixit should be to prepend with either self. or Self.

5 Likes