stephencelis/SQLite.swift

Expression - name space conflict with Xcode 16/iOS 18

neodave opened this issue · 5 comments

Build Information

0.15.3
Xcode Beta 16
iOS 18/macOS 15
Using Swift Package

When updating to the latest Xcode beta 16 there is a name space conflict between the SGLite struct Expression and the new Expression found in Apple's Foundation framework. Attached are screenshots of both. I will attempt to fix this and if I do I will submit a PR

Screenshot 2024-06-13 at 10 33 24 AM Screenshot 2024-06-13 at 10 27 07 AM

To anyone who is having this issue, a temporary fix would be adding SQLite namespace before the Expression to let Xcode know we are referring to SQLite's Expression instead of Foundation's.

Example:

  • Xcode 15
    Expression<String>("id")
  • Xcode 16
    SQLite.Expression<String>("id")

This would fix this issue

Thank you JohnnyTseng, great info

Any ideas how to solve this without refactoring our entire codebase to explicitly call SQLite?

@tcollins590 You could define a typealias at file level which makes it globally visible:

typealias Expression = SQLite.Expression