-
Notifications
You must be signed in to change notification settings - Fork 10.5k
@retroactive
conformance syntax and checking
#36068
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
@retroactive
conformance syntax and checking
#36068
Conversation
f75eb15
to
199c95d
Compare
@swift-ci please smoke test |
199c95d
to
bbc8b2a
Compare
@swift-ci please smoke test |
bbc8b2a
to
806c1d0
Compare
After feedback from @airspeedswift I'm moving from |
4194dd5
to
6fa13dd
Compare
@swift-ci please smoke test |
6fa13dd
to
3592ed4
Compare
@swift-ci please smoke test |
@swift-ci please smoke test Windows |
@swift-ci please smoke test |
1 similar comment
@swift-ci please smoke test |
@swift-ci please smoke test macOS |
@swift-ci please smoke test |
1 similar comment
@swift-ci please smoke test |
@swift-ci please smoke test Linux |
13d1c44
to
fbe0ddc
Compare
@swift-ci please smoke test |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice, really looking forward to having this implemented.
I gather that the intent is to not print @retroactive
in .swiftinterfaces
(makes sense). Could you add a ModuleInterface
tests that asserts this explicitly?
I'm actually working on an update here to print the attribute in module interfaces, guarded with a #if hasAttribute(retroactive)
extension Optional: @retroactive CustomDebugStringConvertible where Wrapped: CustomDebugStringConvertible {}
#else
extension Optional: CustomDebugStringConvertible where Wrapped: CustomDebugStringConvertible {}
#endif
extension Optional where Wrapped: CustomDebugStringConvertible {
public var description: String {
// ...
}
} |
It's not particularly _great_ when executable targets declare these, but it's certainly not okay when a library that's meant to be distributed declares these. When library evolution is enabled, warn about retroactive conformances. To silence the warning, add the @retroactive attribute to the extended type, similarly to the @unchecked attribute for Sendable. It is an error to use @retroactive for anything but a retroactive conformance declaration in an extension. Fixes rdar://74543558
0532d8c
to
f16b5c8
Compare
@tshortli @beccadax Sorry for the extreme delay on this! I think I have a workable implementation now that prints Thank you! I think this PR is good to go. |
@swift-ci please smoke test |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM! Is there a https://github.com/apple/swift-syntax PR as well?
@swift-ci please test |
Is this good to merge? 🙇 |
🚢 |
… underlying modules. SE-0364 was implemented to discourage "retroactive" conformances that might conflict with conformances that could be introduced by other modules in the future. These diagnostics should not apply to conformances that involve types and protocols imported from the underlying clang module of a Swift module since the two modules are assumed to be developed in tandem by the same owners, despite technically being separate modules from the perspective of the compiler. The diagnostics implemented in swiftlang#36068 were designed to take underlying clang modules into account. However, the implementation assumed that `ModuleDecl::getUnderlyingModuleIfOverlay()` would behave as expected when called on the Swift module being compiled. Unfortunately, it would always return `nullptr` and thus conformances involving the underlying clang module are being diagnosed unexpectedly. The fix is to make `ModuleDecl::getUnderlyingModuleIfOverlay()` behave as expected when it is made up of `SourceFile`s. Resolves rdar://121478556
… underlying modules. SE-0364 was implemented to discourage "retroactive" conformances that might conflict with conformances that could be introduced by other modules in the future. These diagnostics should not apply to conformances that involve types and protocols imported from the underlying clang module of a Swift module since the two modules are assumed to be developed in tandem by the same owners, despite technically being separate modules from the perspective of the compiler. The diagnostics implemented in swiftlang#36068 were designed to take underlying clang modules into account. However, the implementation assumed that `ModuleDecl::getUnderlyingModuleIfOverlay()` would behave as expected when called on the Swift module being compiled. Unfortunately, it would always return `nullptr` and thus conformances involving the underlying clang module are being diagnosed unexpectedly. The fix is to make `ModuleDecl::getUnderlyingModuleIfOverlay()` behave as expected when it is made up of `SourceFile`s. Resolves rdar://121478556
… underlying modules. SE-0364 was implemented to discourage "retroactive" conformances that might conflict with conformances that could be introduced by other modules in the future. These diagnostics should not apply to conformances that involve types and protocols imported from the underlying clang module of a Swift module since the two modules are assumed to be developed in tandem by the same owners, despite technically being separate modules from the perspective of the compiler. The diagnostics implemented in swiftlang#36068 were designed to take underlying clang modules into account. However, the implementation assumed that `ModuleDecl::getUnderlyingModuleIfOverlay()` would behave as expected when called on the Swift module being compiled. Unfortunately, it would always return `nullptr` and thus conformances involving the underlying clang module are being diagnosed unexpectedly. The fix is to make `ModuleDecl::getUnderlyingModuleIfOverlay()` behave as expected when it is made up of `SourceFile`s. Resolves rdar://121478556
… underlying modules. SE-0364 was implemented to discourage "retroactive" conformances that might conflict with conformances that could be introduced by other modules in the future. These diagnostics should not apply to conformances that involve types and protocols imported from the underlying clang module of a Swift module since the two modules are assumed to be developed in tandem by the same owners, despite technically being separate modules from the perspective of the compiler. The diagnostics implemented in swiftlang#36068 were designed to take underlying clang modules into account. However, the implementation assumed that `ModuleDecl::getUnderlyingModuleIfOverlay()` would behave as expected when called on the Swift module being compiled. Unfortunately, it would always return `nullptr` and thus conformances involving the underlying clang module are being diagnosed unexpectedly. The fix is to make `ModuleDecl::getUnderlyingModuleIfOverlay()` behave as expected when it is made up of `SourceFile`s. Resolves rdar://121478556
… underlying modules. SE-0364 was implemented to discourage "retroactive" conformances that might conflict with conformances that could be introduced by other modules in the future. These diagnostics should not apply to conformances that involve types and protocols imported from the underlying clang module of a Swift module since the two modules are assumed to be developed in tandem by the same owners, despite technically being separate modules from the perspective of the compiler. The diagnostics implemented in swiftlang#36068 were designed to take underlying clang modules into account. However, the implementation assumed that `ModuleDecl::getUnderlyingModuleIfOverlay()` would behave as expected when called on the Swift module being compiled. Unfortunately, it would always return `nullptr` and thus conformances involving the underlying clang module are being diagnosed unexpectedly. The fix is to make `ModuleDecl::getUnderlyingModuleIfOverlay()` behave as expected when it is made up of `SourceFile`s. Resolves rdar://121478556
… underlying modules. SE-0364 was implemented to discourage "retroactive" conformances that might conflict with conformances that could be introduced by other modules in the future. These diagnostics should not apply to conformances that involve types and protocols imported from the underlying clang module of a Swift module since the two modules are assumed to be developed in tandem by the same owners, despite technically being separate modules from the perspective of the compiler. The diagnostics implemented in swiftlang#36068 were designed to take underlying clang modules into account. However, the implementation assumed that `ModuleDecl::getUnderlyingModuleIfOverlay()` would behave as expected when called on the Swift module being compiled. Unfortunately, it would always return `nullptr` and thus conformances involving the underlying clang module are being diagnosed unexpectedly. The fix is to make `ModuleDecl::getUnderlyingModuleIfOverlay()` behave as expected when it is made up of `SourceFile`s. Resolves rdar://121478556
Fixes the warning in the new Swift version solved here: swiftlang/swift#36068 Without adding the `@retroactive`, which does not compile in Xcode 15. This way, extensions that declares a conformance to a type where both are from another module will compile without warning in Xcode 16, as the conformed type is declared to be explicitly from the imported module, which suppresses the warning.
Fixes the warning in the new Swift version solved here: swiftlang/swift#36068 Without adding the `@retroactive`, which does not compile in Xcode 15. This way, extensions that declares a conformance to a type where both are from another module will compile without warning in Xcode 16, as the conformed type is declared to be explicitly from the imported module, which suppresses the warning.
Fixes the warning in the new Swift version solved here: swiftlang/swift#36068 Without adding the `@retroactive`, which does not compile in Xcode 15. This way, extensions that declares a conformance to a type where both are from another module will compile without warning in Xcode 16, as the conformed type is declared to be explicitly from the imported module, which suppresses the warning.
commit 46ccca5 Author: fortmarek <[email protected]> Date: Fri Oct 11 16:18:14 2024 +0000 [Release] [skip ci] Tuist App [email protected] commit 593a0d9 Author: Marek Fořt <[email protected]> Date: Fri Oct 11 17:47:31 2024 +0200 feat: add support for .ipa in Tuist Previews (tuist#6849) * feat: add support for .ipa in Tuist Previews * Address PR feedback * Fix tests commit bb6d2a9 Author: Dmitry Serov <[email protected]> Date: Fri Oct 11 09:02:48 2024 +0100 Fix false positive of mismatching configurations present in unrelated projects (tuist#6562) * Only lint mismatching configurations within the project dependency graph * Use filterDependencies to traverse dependency graph in configuration linter * Run linter * Use `allTargetDependencies` instead of a custom function commit ee984fc Author: DevVenusK <[email protected]> Date: Fri Oct 11 00:11:25 2024 +0900 Feature: Translate index.md file to Korean (tuist#6854) * Translate index.md file to Korean * run lint-fix --------- Co-authored-by: hyosung <[email protected]> commit 14387a1 Author: Pedro Piñera Buendía <[email protected]> Date: Thu Oct 10 17:09:59 2024 +0200 Fix a broken link (tuist#6853) commit 42505ee Author: Marek Fořt <[email protected]> Date: Thu Oct 10 14:33:12 2024 +0200 Fix implicit external dependencies (tuist#6850) commit 55fd38e Author: Pedro Piñera Buendía <[email protected]> Date: Thu Oct 10 13:17:51 2024 +0200 Fix documentation redirects (tuist#6848) * Fix documentation redirects * Change the redirect to 301 commit 6998349 Author: Tuist <[email protected]> Date: Thu Oct 10 10:32:24 2024 +0000 Update .mise.toml and CHANGELOG.md in tuist/tuist with Tuist 4.29.1 commit bd04a76 Author: Pedro Piñera Buendía <[email protected]> Date: Thu Oct 10 11:51:11 2024 +0200 Setup the documentation website for l10n (tuist#6843) * Add localization badge * Fix the generation of the website with Xcode 16 * Create sub-directory per language * Use Xcode 16 to build the documentation * Localize references * Localize references * Fix dead links * Revert README.md change * Revert Mise changes * Setup redirects commit 7377e5b Author: Marek Fořt <[email protected]> Date: Thu Oct 10 11:23:36 2024 +0200 Change contact link to community forum (tuist#6846) commit 2c51d7b Author: Gabriel Liévano <[email protected]> Date: Wed Oct 9 14:31:12 2024 -0700 Support absolutePath copy files action (tuist#6642) commit 06f3f42 Author: Antti Laitala <[email protected]> Date: Wed Oct 9 16:08:44 2024 +0300 Fix file system handle exhaustion in ContentHasher (tuist#6840) commit 7a04f4b Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue Oct 8 18:46:30 2024 +0200 Bump path-to-regexp from 6.2.2 to 6.3.0 in /docs (tuist#6836) Bumps [path-to-regexp](https://github.com/pillarjs/path-to-regexp) from 6.2.2 to 6.3.0. - [Release notes](https://github.com/pillarjs/path-to-regexp/releases) - [Changelog](https://github.com/pillarjs/path-to-regexp/blob/master/History.md) - [Commits](pillarjs/path-to-regexp@v6.2.2...v6.3.0) --- updated-dependencies: - dependency-name: path-to-regexp dependency-type: indirect ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> commit 5cbcdf9 Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue Oct 8 18:46:17 2024 +0200 Bump rollup from 4.21.2 to 4.24.0 in /docs (tuist#6835) Bumps [rollup](https://github.com/rollup/rollup) from 4.21.2 to 4.24.0. - [Release notes](https://github.com/rollup/rollup/releases) - [Changelog](https://github.com/rollup/rollup/blob/master/CHANGELOG.md) - [Commits](rollup/rollup@v4.21.2...v4.24.0) --- updated-dependencies: - dependency-name: rollup dependency-type: indirect ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> commit 2938081 Author: Marek Fořt <[email protected]> Date: Tue Oct 8 17:59:34 2024 +0200 Update ios_app_with_frameworks to make it distributable (tuist#6837) commit e14fadf Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue Oct 8 16:29:38 2024 +0200 Bump vite from 5.4.2 to 5.4.8 in /docs (tuist#6834) Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 5.4.2 to 5.4.8. - [Release notes](https://github.com/vitejs/vite/releases) - [Changelog](https://github.com/vitejs/vite/blob/v5.4.8/packages/vite/CHANGELOG.md) - [Commits](https://github.com/vitejs/vite/commits/v5.4.8/packages/vite) --- updated-dependencies: - dependency-name: vite dependency-type: indirect ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> commit 52f7ce6 Author: Marek Fořt <[email protected]> Date: Tue Oct 8 16:27:46 2024 +0200 Migrate FileHandler.move to FileSystem (tuist#6826) commit 3160c9e Author: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> Date: Tue Oct 8 15:13:47 2024 +0200 add aim2120 as a contributor for code (tuist#6833) * update README.md [skip ci] * update .all-contributorsrc [skip ci] --------- Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> commit e8cad40 Author: Annalise Mariottini <[email protected]> Date: Tue Oct 8 09:13:32 2024 -0400 Fix missing `.package.resolved` for project with only transitive remote dependencies (tuist#6823) * fix package resolution for project with local swift package with remote dependencies * lint * rename variables * new fixture was missing Tuist directory * remove boilderplate from Tuist directory * add README for fixture app * add unit test for SwiftPackageManagerInteractor commit 0ed252c Author: Marek Fořt <[email protected]> Date: Tue Oct 8 14:59:53 2024 +0200 Migrate FileSystem.copy to FileHandler (tuist#6830) commit e0c4edf Author: Marek Fořt <[email protected]> Date: Tue Oct 8 14:59:41 2024 +0200 Migrate FileHandler.resolveSymlink to FileSystem (tuist#6825) * Migrate FileHandler.resolveSymlink to FileSystem * Revert to using /var instead of /private/var in acceptance tests * Fix RunAcceptanceTestCommandLineToolBasic test commit a6922e9 Author: Marek Fořt <[email protected]> Date: Tue Oct 8 12:35:50 2024 +0200 Preserve directories on tuist clean (tuist#6832) commit 8355fd3 Author: Marek Fořt <[email protected]> Date: Tue Oct 8 11:44:21 2024 +0200 Fix ios_app_with_frameworks tests (tuist#6831) commit 341cbbc Author: Marek Fořt <[email protected]> Date: Tue Oct 8 09:39:09 2024 +0200 Update CacheStorageFactroying method signature with async-await (tuist#6829) commit e862cc4 Author: Marek Fořt <[email protected]> Date: Mon Oct 7 18:38:06 2024 +0200 Fix caching for unused platforms (tuist#6824) commit 8336a9f Author: Marek Fořt <[email protected]> Date: Mon Oct 7 16:49:31 2024 +0200 Finish migration of FileHandler.exists to FileSystem (tuist#6813) * Finish migration of FileHandler.exists to FileSystem * Fix missing async-await commit d29320d Author: fortmarek <[email protected]> Date: Mon Oct 7 14:34:10 2024 +0000 [Release] [skip ci] Tuist App [email protected] commit 01012dc Author: Marek Fořt <[email protected]> Date: Mon Oct 7 16:00:00 2024 +0200 Fix error when resolving a symlink for a directory during tuist test (tuist#6821) * Fix error when resolving a symlink for a directory during tuist test * Update FileSystem * Update Package.resolved commit 4002e6b Author: Gorbenko Roman <[email protected]> Date: Mon Oct 7 15:58:17 2024 +0200 Fix implicit-imports command not reporting implicit imports of external dependencies (tuist#6710) * Scan external dependencies as well as internal * Pr issues * Update Tests/TuistKitTests/Services/Inspect/InspectImplicitImportsServiceTests.swift * Update Tests/TuistKitTests/Services/Inspect/InspectImplicitImportsServiceTests.swift --------- Co-authored-by: Daniele Formichelli <[email protected]> Co-authored-by: Marek Fořt <[email protected]> commit 4d87946 Author: Marek Fořt <[email protected]> Date: Mon Oct 7 15:25:43 2024 +0200 feat: add support for device previews (tuist#6800) * feat: add support for device previews * Address PR feedback commit aa96b38 Author: Marek Fořt <[email protected]> Date: Sat Oct 5 11:26:12 2024 +0200 Fix tuist init due to missing ProjectDescriptionHelpers (tuist#6816) commit fd959e5 Author: Marek Fořt <[email protected]> Date: Fri Oct 4 19:14:34 2024 +0200 Update tuist in .mise.toml (tuist#6814) commit f6355dc Author: Marek Fořt <[email protected]> Date: Fri Oct 4 18:40:01 2024 +0200 Remove NYTPhotoViewer from the app_with_spm_dependencies fixture (tuist#6817) commit 0241665 Author: Marek Fořt <[email protected]> Date: Fri Oct 4 10:23:32 2024 +0200 Migrate FileHandler to FileSystem in TuistHasher (tuist#6809) commit 4ab946f Author: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> Date: Thu Oct 3 19:21:18 2024 +0200 add c128128 as a contributor for code (tuist#6811) * update README.md [skip ci] * update .all-contributorsrc [skip ci] --------- Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> commit 38e2dd0 Author: Gorbenko Roman <[email protected]> Date: Thu Oct 3 18:58:16 2024 +0200 Remove second portion of Implicit Dependencies (tuist#6709) * Remove second portion of Implicit Dependencies * Lint and imported Darwin --------- Co-authored-by: Marek Fořt <[email protected]> commit 6dbaba7 Author: Marek Fořt <[email protected]> Date: Thu Oct 3 18:31:50 2024 +0200 Inspect implicit imports on lint (tuist#6797) * Inspect implicit imports on lint * Install Tuist dependencies before lint * Generate project in the lint ci job commit 0471c29 Author: fortmarek <[email protected]> Date: Thu Oct 3 11:24:01 2024 +0000 [Release] [skip ci] Tuist App [email protected] commit 2de0e96 Author: Taha Tesser <[email protected]> Date: Thu Oct 3 13:58:56 2024 +0300 fix: rename macOS app build (tuist#6802) commit 8984eac Author: Mike Simons <[email protected]> Date: Thu Oct 3 06:29:23 2024 -0400 Fix regression when including directories that are considered source like DocC catalogs. (tuist#6803) * Add documentation fixture and failing assert * Include fixes from tuist#6198 * Linting commit 2a307d8 Author: Marek Fořt <[email protected]> Date: Wed Oct 2 12:05:20 2024 +0200 Fix tuist generate with an xcmappingmodel resource (tuist#6795) commit 0d47a0e Author: Marek Fořt <[email protected]> Date: Wed Oct 2 11:31:14 2024 +0200 Add dedicated fixture for showcasing Realm integration (tuist#6793) commit e057e62 Author: Marek Fořt <[email protected]> Date: Wed Oct 2 09:33:18 2024 +0200 Fix tuist init due to missing ProjectDescriptionHelpers (tuist#6792) commit 964a370 Author: Marek Fořt <[email protected]> Date: Tue Oct 1 18:09:20 2024 +0200 Fix uploading result bundle path from a custom path (tuist#6789) * Include only actual test targets in selective test analytics * Fix uploading result bundle path from a custom path * Run lint * Trigger CI commit 7ba33cf Author: Marek Fořt <[email protected]> Date: Tue Oct 1 17:25:31 2024 +0200 Include only tested unit test targets in selective test analytics (tuist#6780) * Include only actual test targets in selective test analytics * Add unit test to ensure test analytics work for test plan too * Trigger CI commit f2a1aad Author: Marek Fořt <[email protected]> Date: Tue Oct 1 17:16:09 2024 +0200 Fix tuist commands failing due to a git error (tuist#6784) commit eca507f Author: Oleksii Faizullov <[email protected]> Date: Tue Oct 1 13:38:33 2024 +0300 Fix acceptance tests regression in a macos_app_with_extensions fixture (tuist#6785) * Fix broken AppExtension protocol conformance in fixture * Fix broken AppExtension protocol conformance in fixture * Run lint commit cb086ba Author: fortmarek <[email protected]> Date: Tue Oct 1 11:15:13 2024 +0200 Fix missing async-await in new tests commit f4088ff Author: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> Date: Tue Oct 1 10:05:11 2024 +0200 add rock88 as a contributor for code (tuist#6783) * update README.md [skip ci] * update .all-contributorsrc [skip ci] --------- Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> commit 6e4e016 Author: Andrey K <[email protected]> Date: Tue Oct 1 11:04:56 2024 +0300 Sort load-plugin commands (tuist#6763) Co-authored-by: fortmarek <[email protected]> commit 94277b2 Author: Oleksii Faizullov <[email protected]> Date: Tue Oct 1 10:10:10 2024 +0300 Allow embedding `.extensionKitExtension` targets into macOS apps (tuist#6745) * Allow embedding the extension kit extension to macOS apps * Allow dependencies for extension kit extensions on macOS * Add ability to embed xpc to extension kit targets * Unit test lint rules for extension kit extensions * Extend the macos_app_with_extensions fixture to add extension kit target * Apply lint autocorrections --------- Co-authored-by: Daniele Formichelli <[email protected]> commit c90999f Author: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> Date: Mon Sep 30 20:36:26 2024 +0200 add TamarMilchtaich as a contributor for code (tuist#6782) * update README.md [skip ci] * update .all-contributorsrc [skip ci] --------- Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> commit 2482ae7 Author: Tamar Milchtaich Lavi <[email protected]> Date: Mon Sep 30 21:36:15 2024 +0300 Add type conformance to avoid Xcode 16 warnings. (tuist#6781) Fixes the warning in the new Swift version solved here: swiftlang/swift#36068 Without adding the `@retroactive`, which does not compile in Xcode 15. This way, extensions that declares a conformance to a type where both are from another module will compile without warning in Xcode 16, as the conformed type is declared to be explicitly from the imported module, which suppresses the warning.
* Fix race condition when build ProjectDescriptionHelpers (#6374) * Fix ProjectDescriptionHelpers hash prefix collision (#6374) * Replace HelpersModuleBuild from class to struct (#6374) * Cache ProjectDescriptionHelpersBuilder across manifests (#6374) * Update expected ProjectDescriptionHelper module artifacts path in integration tests (#6374) * Replace thread-safe helpers module build on stored Task (#6374) * Move HelpersBuilder caching into Single ProjectDescriptionHelpersBuilderFactory * Replace redundant FileSystem on FileHandler * Unify MockSystem capture stubbing * Unit test ProjectDescriptionHelpersBuilder cache behavior * Fix ProjectDescriptionHelpersBuilderTests UnitTests compilation * Squashed commit of the following: commit 46ccca5 Author: fortmarek <[email protected]> Date: Fri Oct 11 16:18:14 2024 +0000 [Release] [skip ci] Tuist App [email protected] commit 593a0d9 Author: Marek Fořt <[email protected]> Date: Fri Oct 11 17:47:31 2024 +0200 feat: add support for .ipa in Tuist Previews (#6849) * feat: add support for .ipa in Tuist Previews * Address PR feedback * Fix tests commit bb6d2a9 Author: Dmitry Serov <[email protected]> Date: Fri Oct 11 09:02:48 2024 +0100 Fix false positive of mismatching configurations present in unrelated projects (#6562) * Only lint mismatching configurations within the project dependency graph * Use filterDependencies to traverse dependency graph in configuration linter * Run linter * Use `allTargetDependencies` instead of a custom function commit ee984fc Author: DevVenusK <[email protected]> Date: Fri Oct 11 00:11:25 2024 +0900 Feature: Translate index.md file to Korean (#6854) * Translate index.md file to Korean * run lint-fix --------- Co-authored-by: hyosung <[email protected]> commit 14387a1 Author: Pedro Piñera Buendía <[email protected]> Date: Thu Oct 10 17:09:59 2024 +0200 Fix a broken link (#6853) commit 42505ee Author: Marek Fořt <[email protected]> Date: Thu Oct 10 14:33:12 2024 +0200 Fix implicit external dependencies (#6850) commit 55fd38e Author: Pedro Piñera Buendía <[email protected]> Date: Thu Oct 10 13:17:51 2024 +0200 Fix documentation redirects (#6848) * Fix documentation redirects * Change the redirect to 301 commit 6998349 Author: Tuist <[email protected]> Date: Thu Oct 10 10:32:24 2024 +0000 Update .mise.toml and CHANGELOG.md in tuist/tuist with Tuist 4.29.1 commit bd04a76 Author: Pedro Piñera Buendía <[email protected]> Date: Thu Oct 10 11:51:11 2024 +0200 Setup the documentation website for l10n (#6843) * Add localization badge * Fix the generation of the website with Xcode 16 * Create sub-directory per language * Use Xcode 16 to build the documentation * Localize references * Localize references * Fix dead links * Revert README.md change * Revert Mise changes * Setup redirects commit 7377e5b Author: Marek Fořt <[email protected]> Date: Thu Oct 10 11:23:36 2024 +0200 Change contact link to community forum (#6846) commit 2c51d7b Author: Gabriel Liévano <[email protected]> Date: Wed Oct 9 14:31:12 2024 -0700 Support absolutePath copy files action (#6642) commit 06f3f42 Author: Antti Laitala <[email protected]> Date: Wed Oct 9 16:08:44 2024 +0300 Fix file system handle exhaustion in ContentHasher (#6840) commit 7a04f4b Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue Oct 8 18:46:30 2024 +0200 Bump path-to-regexp from 6.2.2 to 6.3.0 in /docs (#6836) Bumps [path-to-regexp](https://github.com/pillarjs/path-to-regexp) from 6.2.2 to 6.3.0. - [Release notes](https://github.com/pillarjs/path-to-regexp/releases) - [Changelog](https://github.com/pillarjs/path-to-regexp/blob/master/History.md) - [Commits](pillarjs/path-to-regexp@v6.2.2...v6.3.0) --- updated-dependencies: - dependency-name: path-to-regexp dependency-type: indirect ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> commit 5cbcdf9 Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue Oct 8 18:46:17 2024 +0200 Bump rollup from 4.21.2 to 4.24.0 in /docs (#6835) Bumps [rollup](https://github.com/rollup/rollup) from 4.21.2 to 4.24.0. - [Release notes](https://github.com/rollup/rollup/releases) - [Changelog](https://github.com/rollup/rollup/blob/master/CHANGELOG.md) - [Commits](rollup/rollup@v4.21.2...v4.24.0) --- updated-dependencies: - dependency-name: rollup dependency-type: indirect ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> commit 2938081 Author: Marek Fořt <[email protected]> Date: Tue Oct 8 17:59:34 2024 +0200 Update ios_app_with_frameworks to make it distributable (#6837) commit e14fadf Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue Oct 8 16:29:38 2024 +0200 Bump vite from 5.4.2 to 5.4.8 in /docs (#6834) Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 5.4.2 to 5.4.8. - [Release notes](https://github.com/vitejs/vite/releases) - [Changelog](https://github.com/vitejs/vite/blob/v5.4.8/packages/vite/CHANGELOG.md) - [Commits](https://github.com/vitejs/vite/commits/v5.4.8/packages/vite) --- updated-dependencies: - dependency-name: vite dependency-type: indirect ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> commit 52f7ce6 Author: Marek Fořt <[email protected]> Date: Tue Oct 8 16:27:46 2024 +0200 Migrate FileHandler.move to FileSystem (#6826) commit 3160c9e Author: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> Date: Tue Oct 8 15:13:47 2024 +0200 add aim2120 as a contributor for code (#6833) * update README.md [skip ci] * update .all-contributorsrc [skip ci] --------- Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> commit e8cad40 Author: Annalise Mariottini <[email protected]> Date: Tue Oct 8 09:13:32 2024 -0400 Fix missing `.package.resolved` for project with only transitive remote dependencies (#6823) * fix package resolution for project with local swift package with remote dependencies * lint * rename variables * new fixture was missing Tuist directory * remove boilderplate from Tuist directory * add README for fixture app * add unit test for SwiftPackageManagerInteractor commit 0ed252c Author: Marek Fořt <[email protected]> Date: Tue Oct 8 14:59:53 2024 +0200 Migrate FileSystem.copy to FileHandler (#6830) commit e0c4edf Author: Marek Fořt <[email protected]> Date: Tue Oct 8 14:59:41 2024 +0200 Migrate FileHandler.resolveSymlink to FileSystem (#6825) * Migrate FileHandler.resolveSymlink to FileSystem * Revert to using /var instead of /private/var in acceptance tests * Fix RunAcceptanceTestCommandLineToolBasic test commit a6922e9 Author: Marek Fořt <[email protected]> Date: Tue Oct 8 12:35:50 2024 +0200 Preserve directories on tuist clean (#6832) commit 8355fd3 Author: Marek Fořt <[email protected]> Date: Tue Oct 8 11:44:21 2024 +0200 Fix ios_app_with_frameworks tests (#6831) commit 341cbbc Author: Marek Fořt <[email protected]> Date: Tue Oct 8 09:39:09 2024 +0200 Update CacheStorageFactroying method signature with async-await (#6829) commit e862cc4 Author: Marek Fořt <[email protected]> Date: Mon Oct 7 18:38:06 2024 +0200 Fix caching for unused platforms (#6824) commit 8336a9f Author: Marek Fořt <[email protected]> Date: Mon Oct 7 16:49:31 2024 +0200 Finish migration of FileHandler.exists to FileSystem (#6813) * Finish migration of FileHandler.exists to FileSystem * Fix missing async-await commit d29320d Author: fortmarek <[email protected]> Date: Mon Oct 7 14:34:10 2024 +0000 [Release] [skip ci] Tuist App [email protected] commit 01012dc Author: Marek Fořt <[email protected]> Date: Mon Oct 7 16:00:00 2024 +0200 Fix error when resolving a symlink for a directory during tuist test (#6821) * Fix error when resolving a symlink for a directory during tuist test * Update FileSystem * Update Package.resolved commit 4002e6b Author: Gorbenko Roman <[email protected]> Date: Mon Oct 7 15:58:17 2024 +0200 Fix implicit-imports command not reporting implicit imports of external dependencies (#6710) * Scan external dependencies as well as internal * Pr issues * Update Tests/TuistKitTests/Services/Inspect/InspectImplicitImportsServiceTests.swift * Update Tests/TuistKitTests/Services/Inspect/InspectImplicitImportsServiceTests.swift --------- Co-authored-by: Daniele Formichelli <[email protected]> Co-authored-by: Marek Fořt <[email protected]> commit 4d87946 Author: Marek Fořt <[email protected]> Date: Mon Oct 7 15:25:43 2024 +0200 feat: add support for device previews (#6800) * feat: add support for device previews * Address PR feedback commit aa96b38 Author: Marek Fořt <[email protected]> Date: Sat Oct 5 11:26:12 2024 +0200 Fix tuist init due to missing ProjectDescriptionHelpers (#6816) commit fd959e5 Author: Marek Fořt <[email protected]> Date: Fri Oct 4 19:14:34 2024 +0200 Update tuist in .mise.toml (#6814) commit f6355dc Author: Marek Fořt <[email protected]> Date: Fri Oct 4 18:40:01 2024 +0200 Remove NYTPhotoViewer from the app_with_spm_dependencies fixture (#6817) commit 0241665 Author: Marek Fořt <[email protected]> Date: Fri Oct 4 10:23:32 2024 +0200 Migrate FileHandler to FileSystem in TuistHasher (#6809) commit 4ab946f Author: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> Date: Thu Oct 3 19:21:18 2024 +0200 add c128128 as a contributor for code (#6811) * update README.md [skip ci] * update .all-contributorsrc [skip ci] --------- Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> commit 38e2dd0 Author: Gorbenko Roman <[email protected]> Date: Thu Oct 3 18:58:16 2024 +0200 Remove second portion of Implicit Dependencies (#6709) * Remove second portion of Implicit Dependencies * Lint and imported Darwin --------- Co-authored-by: Marek Fořt <[email protected]> commit 6dbaba7 Author: Marek Fořt <[email protected]> Date: Thu Oct 3 18:31:50 2024 +0200 Inspect implicit imports on lint (#6797) * Inspect implicit imports on lint * Install Tuist dependencies before lint * Generate project in the lint ci job commit 0471c29 Author: fortmarek <[email protected]> Date: Thu Oct 3 11:24:01 2024 +0000 [Release] [skip ci] Tuist App [email protected] commit 2de0e96 Author: Taha Tesser <[email protected]> Date: Thu Oct 3 13:58:56 2024 +0300 fix: rename macOS app build (#6802) commit 8984eac Author: Mike Simons <[email protected]> Date: Thu Oct 3 06:29:23 2024 -0400 Fix regression when including directories that are considered source like DocC catalogs. (#6803) * Add documentation fixture and failing assert * Include fixes from #6198 * Linting commit 2a307d8 Author: Marek Fořt <[email protected]> Date: Wed Oct 2 12:05:20 2024 +0200 Fix tuist generate with an xcmappingmodel resource (#6795) commit 0d47a0e Author: Marek Fořt <[email protected]> Date: Wed Oct 2 11:31:14 2024 +0200 Add dedicated fixture for showcasing Realm integration (#6793) commit e057e62 Author: Marek Fořt <[email protected]> Date: Wed Oct 2 09:33:18 2024 +0200 Fix tuist init due to missing ProjectDescriptionHelpers (#6792) commit 964a370 Author: Marek Fořt <[email protected]> Date: Tue Oct 1 18:09:20 2024 +0200 Fix uploading result bundle path from a custom path (#6789) * Include only actual test targets in selective test analytics * Fix uploading result bundle path from a custom path * Run lint * Trigger CI commit 7ba33cf Author: Marek Fořt <[email protected]> Date: Tue Oct 1 17:25:31 2024 +0200 Include only tested unit test targets in selective test analytics (#6780) * Include only actual test targets in selective test analytics * Add unit test to ensure test analytics work for test plan too * Trigger CI commit f2a1aad Author: Marek Fořt <[email protected]> Date: Tue Oct 1 17:16:09 2024 +0200 Fix tuist commands failing due to a git error (#6784) commit eca507f Author: Oleksii Faizullov <[email protected]> Date: Tue Oct 1 13:38:33 2024 +0300 Fix acceptance tests regression in a macos_app_with_extensions fixture (#6785) * Fix broken AppExtension protocol conformance in fixture * Fix broken AppExtension protocol conformance in fixture * Run lint commit cb086ba Author: fortmarek <[email protected]> Date: Tue Oct 1 11:15:13 2024 +0200 Fix missing async-await in new tests commit f4088ff Author: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> Date: Tue Oct 1 10:05:11 2024 +0200 add rock88 as a contributor for code (#6783) * update README.md [skip ci] * update .all-contributorsrc [skip ci] --------- Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> commit 6e4e016 Author: Andrey K <[email protected]> Date: Tue Oct 1 11:04:56 2024 +0300 Sort load-plugin commands (#6763) Co-authored-by: fortmarek <[email protected]> commit 94277b2 Author: Oleksii Faizullov <[email protected]> Date: Tue Oct 1 10:10:10 2024 +0300 Allow embedding `.extensionKitExtension` targets into macOS apps (#6745) * Allow embedding the extension kit extension to macOS apps * Allow dependencies for extension kit extensions on macOS * Add ability to embed xpc to extension kit targets * Unit test lint rules for extension kit extensions * Extend the macos_app_with_extensions fixture to add extension kit target * Apply lint autocorrections --------- Co-authored-by: Daniele Formichelli <[email protected]> commit c90999f Author: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> Date: Mon Sep 30 20:36:26 2024 +0200 add TamarMilchtaich as a contributor for code (#6782) * update README.md [skip ci] * update .all-contributorsrc [skip ci] --------- Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> commit 2482ae7 Author: Tamar Milchtaich Lavi <[email protected]> Date: Mon Sep 30 21:36:15 2024 +0300 Add type conformance to avoid Xcode 16 warnings. (#6781) Fixes the warning in the new Swift version solved here: swiftlang/swift#36068 Without adding the `@retroactive`, which does not compile in Xcode 15. This way, extensions that declares a conformance to a type where both are from another module will compile without warning in Xcode 16, as the conformed type is declared to be explicitly from the imported module, which suppresses the warning. --------- Co-authored-by: ernest0n <[email protected]> Co-authored-by: fortmarek <[email protected]>
Updated with the Core Team's new recommendation.
Warns whenever a conformance declared in an extension is "retroactive", i.e. it declares a conformance of a type outside this module to a protocol also outside this module.
This warning can be silenced via
@retroactive
, like so:This also disables the warning for the Foundation module, which has a bunch of retroactive conformances of stdlib types to
_ObjectiveCBridgeable
.Fixes rdar://74543558