Never managed to have this working apart from passing individual # params:
func foo(funcAndLine v: (String, Int) = (#function, #line), function: String = #function, line: Int = #line) {
print(v.0, v.1) // 😢 foo(funcAndLine:function:line:) 17
print(function, line) // 😃 bar() 23
}
func bar() {
foo()
}
bar()
This doesn't give the wanted result either:
func foo(funcAndLine: String = #function + String(#line), ......)
or even this:
func foo(funcAndLine: String = #function + "!", .....)
You may like #fileID
instead which makes "ModuleName/fileName.swift" formatted string.