I believe they'll look different to the compiler, but there's another case to consider here where bar
is already a function property that might (or might not) strongly retain self.
class S {
let bar: () -> Void
let handler: () -> Void
func assign() {
self.handler = bar // not necessarily a retain cycle, but it _might_ be
}
}
Additionally, I feel this is similar in spirit to Request explicit capture of self instead of defaulting to a strong capture of self and might be related.