I’ve noticed that between Safari 26.0.1 and 26.2, a lot of cursors seem to have gone missing, and I'm not sure if this is a bug.
HTML file for this is here: https://gist.github.com/ffried/8446e04fc33d414ca74885b616799f72
| Blog | https://ffried.codes |
| GitHub | https://github.com/ffried |
| Work | https://sersoft.de |
You better not enable the `.treatAllWarnings(as: .error)` SwiftSetting in your packages if you want to use said package as a dependency in another project/package that you edit in Xcode…
Apparently, Xcode inserts `-suppress-warnings` automatically for dependencies, but opts not to remove the `-warnings-as-errors` option.
Note that the issue isn't with suppressing warnings for dependencies itself. SwiftPM does so as well: https://forums.swift.org/t/conflicting-options-wwarning-and-suppress-warnings/76714/3.
Turns out that this is due to Xcode 16 using debug builds for previews as well, thus erasing `some` return types to their `@ _typeEraser` type (if any).
Thanks @joe for providing this insight and finding the build setting to turn this off: https://f.duriansoftware.com/@joe/113170928606701687
However, I haven't found a way to disable it in SPM. But for #SwiftUI, I simply “opened up" the `AnyView` wrapper using `Mirror`.
@[email protected] Yeah, previews and debug builds now share build products, so views in debug builds get the AnyView wrapping. You can set SWIFT_ENABLE_OPAQUE_TYPE_ERASURE=NO in the build settings to disable this separately (though this probably breaks previews, so you might want to set up a separate scheme if you use previews)
So, just so I get this right: the new #swift_testing is actually bundled in Xcode (16) but not Swift (6)..?
As in: maintaining cross-platform #Swift packages just got worse, since they need an extra dependency on Linux but not on Darwin?
Who thought that would be a good idea?