-
Notifications
You must be signed in to change notification settings - Fork 440
[Swift 6.0] Xcode Beta 16 build failure #2844
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
Synced to Apple’s issue tracker as rdar://135508784 |
I was unable to reproduce this issue by creating new package with the following package manifest and building it using Xcode 16.0 beta 6 (16A5230g), which does build // swift-tools-version: 6.0
import PackageDescription
let package = Package(
name: "a",
platforms: [.macOS(.v13)],
products: [.library(name: "a", targets: ["a"]),],
dependencies: [
.package(url: "https://github.com/pointfreeco/swift-navigation", from: "2.2.0"),
],
targets: [
.target(name: "a", dependencies: [.product(name: "SwiftNavigation", package: "swift-navigation")])
]
) Do you have an example package that reproduces the issue? |
Problem Description: I encountered an issue when using Tuist to build my project. Here is my configuration: Product.swift: import ProjectDescription
let project = Project(
name: "GetUpTime",
settings: .settings(configurations: [
.debug(name: "Debug", xcconfig: "./xcconfigs/GetUpTime-Project.xcconfig"),
.release(name: "Release", xcconfig: "./xcconfigs/GetUpTime-Project.xcconfig"),
]),
targets: [
.target(
name: "GetUpTime",
destinations: .iOS,
product: .app,
bundleId: "com.getuptime.app.GetUpTime",
deploymentTargets: .iOS("16.0"),
sources: ["GetUpTime/**"],
resources: [
"GetUpTime/Resources/Assets.xcassets/**",
"GetUpTime/Resources/Preview Content/**"
],
entitlements: "GetUpTime/GetUpTime.entitlements",
dependencies: [
.external(name: "Epoxy"), // Epoxy from epoxy-ios
.external(name: "Dependencies"), // Dependencies from swift-dependencies
.external(name: "DependenciesMacros"), // DependenciesMacros from swift-dependencies
.external(name: "SwiftNavigation"), // SwiftNavigation from swift-navigation
.external(name: "AppKitNavigation"), // AppKitNavigation from swift-navigation
.external(name: "SwiftUINavigation"), // SwiftUINavigation from swift-navigation
.external(name: "UIKitNavigation"), // UIKitNavigation from swift-navigation
],
settings: .settings(configurations: [
.debug(name: "Debug", xcconfig: "./xcconfigs/GetUpTime.xcconfig"),
.release(name: "Release", xcconfig: "./xcconfigs/GetUpTime.xcconfig"),
])
),
.target(
name: "GetUpTimeTests",
destinations: .iOS,
product: .unitTests,
bundleId: "com.getuptime.app.GetUpTime.unitTest",
sources: ["GetUpTimeTests/**"],
dependencies: [
.target(name: "GetUpTime")
]
),
.target(
name: "GetUpTimeUITests",
destinations: .iOS,
product: .uiTests,
bundleId: "com.getuptime.app.GetUpTime.uiTests",
sources: ["GetUpTimeUITests/**"],
dependencies: [
.target(name: "GetUpTime")
]
),
]
) Tuist/Package.swift: // swift-tools-version: 6.0
import PackageDescription
#if TUIST
import ProjectDescription
let packageSettings = PackageSettings(
productTypes: [:]
)
#endif
let package = Package(
name: "GetUpTime",
dependencies: [
// You can read more about dependencies here: https://docs.tuist.io/documentation/tuist/dependencies
.package(url: "https://github.com/pointfreeco/swift-perception", from: "1.3.5"),
.package(url: "https://github.com/pointfreeco/swift-dependencies", from: "1.3.9"),
.package(url: "https://github.com/pointfreeco/swift-navigation", from: "2.2.0"),
.package(url: "https://github.com/airbnb/epoxy-ios", branch: "master"),
]
) Tuist/Config.swift: import ProjectDescription
let config = Config(
generationOptions: .options(enforceExplicitDependencies: true)
)
|
@ahoppen you can see problem here: https://github.com/SouzaRodrigo61/GetUpTime/actions/runs/10778617329/job/29890353442 I create ci for running testing and show this error:
|
Could you share the generated Xcode project files? Looks like tuist from Homebrew isn’t code signed, which makes me uncomfortable to run it. |
No problem, do you want the complete project in a zip file or should I publish it on GitHub? |
Whatever you prefer |
I find the problem, this occurs when // swift-tools-version: 6.0 ( generate project using swift 6.0, but project not config to swift 6.0 completely )
// swift-tools-version: 5.10 ( working )
import PackageDescription
#if TUIST
import ProjectDescription
let packageSettings = PackageSettings(
productTypes: [:]
)
#endif
let package = Package(
name: "GetUpTime",
dependencies: [
// You can read more about dependencies here: https://docs.tuist.io/documentation/tuist/dependencies
.package(url: "https://github.com/pointfreeco/swift-perception", from: "1.3.5"),
.package(url: "https://github.com/pointfreeco/swift-dependencies", from: "1.3.9"),
.package(url: "https://github.com/pointfreeco/swift-navigation", from: "2.2.0"),
.package(url: "https://github.com/airbnb/epoxy-ios", branch: "master"),
]
) Thanks for your help @ahoppen |
I don’t fully understand the problem, maybe because I’m lacking knowledge about tuist. Is this an issue because you configured your tuist project incorrectly? Does it also happen in a SwiftPM project (where you should always be able to build swift-syntax with both |
I'm still experiencing this using Tuist, and I'm pretty sure it's an issue on their end. |
@ahoppen this was partly a Tuist bug where we were not respecting the condition of adding the However, I was able to reproduce the issue in a vanilla Xcode project (without using Tuist at all) by forking Here's the reproducer: Here's the fork and the changes (again, just bumping the From what I can tell, the Swift compiler doesn't consider modules built with the same While this is not an issue now, it will be once You can find the Tuist fix PR here – it includes a more detailed explanation but some of the description is specific to Tuist. |
Thank you for the reduced example. It appears that there were two issues here:
|
Wow, amazingly fast turnaround, y'all rock 👏 |
Is it possible to include this in a release for the |
In which setup are you seeing this issue? Do you have a SwiftPM Package that depends on swift-syntax and is experiencing this issue? My understanding was that this issue was caused due to a bug in Tuist, incorrectly setting |
Description
'retroactive' attribute does not apply; 'ExpressibleByStringInterpolation' is declared in this module
Version 16.0 beta 6 (16A5230g)
Steps to Reproduce
Project dependencies
:.package(url: "https://github.com/pointfreeco/swift-perception", from: "1.3.5"),
.package(url: "https://github.com/pointfreeco/swift-dependencies", from: "1.3.9"),
.package(url: "https://github.com/pointfreeco/swift-navigation", from: "2.2.0"),
.package(url: "https://github.com/airbnb/epoxy-ios", branch: "master"),
Package.resolved
:The text was updated successfully, but these errors were encountered: