Skip to content

Instantly share code, notes, and snippets.

@rhysm94
Created February 12, 2026 10:54
Show Gist options
  • Select an option

  • Save rhysm94/6d8e3438696bdea998c1816b77119b7a to your computer and use it in GitHub Desktop.

Select an option

Save rhysm94/6d8e3438696bdea998c1816b77119b7a to your computer and use it in GitHub Desktop.
Swift Macros can't see other macros
import Unimplemented
@Unimplemented
protocol Logger {
func log(message: String)
}
// Generated:
// struct UnimplementedLogger: Logger {
// init() {}
// var _log: (_ message: String) -> Void = IssueReporting.unimplemented("Logger.log")
// func log(message: String) {
// _log(message)
// }
// }
@Observable
final class Model {
let logger: any Logger
init(logger: any Logger = UnimplementedLogger()) {
self.logger = logger
}
}
// This works!
#Preview {
@Previewable @State var model = Model()
}
// This doesn't!
#Preview {
@Previewable @State var model = Model(logger: UnimplementedLogger()) // Cannot find 'UnimplementedLogger' in scope
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment