main.swift
enum Bar { case a case b } func foo(bar: Bar, action: () -> Void) -> Bar { action() return bar } var actionBar: Bar! let resultBar = foo(bar: Bar.b) { actionBar = resultBar print("Assigned") } print(actionBar == resultBar) // 👈 false print(actionBar) // 👈 Optional(DemoProject.Bar.a)
Output