Skip to content

Are there plans to support Swift 6? #218

@Prince2k3

Description

@Prince2k3

Hello

I’m preparing my app for iOS 16. When I run the app using Xcode 26, I encounter a build error related to this library. The error message I get is Command SwiftCompile failed with a nonzero exit code. This error message is quite generic, so I decided to delve deeper into the logs to find more information.

I got this from the build logs

1.	Apple Swift version 6.2 (swiftlang-6.2.0.10.950 clang-1700.3.10.950)
2.	Compiling with the current language version
3.	While evaluating request TypeCheckPrimaryFileRequest(source_file "/Users/****/Documents/Xcode/***/Modules/Domain/Sources/Remote/UseCases/GraphQL/GraphQLRecipeUseCase.swift")
4.	While evaluating request TypeCheckFunctionBodyRequest(Remote.(file).GraphQLRecipeUseCase extension.recipes()@/Users/****/Documents/Xcode/****/Modules/Domain/Sources/Remote/UseCases/GraphQL/GraphQLRecipeUseCase.swift:31:17)
5.	While type-checking statement at [/Users/******/Documents/Xcode/******/Modules/Domain/Sources/Remote/UseCases/GraphQL/GraphQLRecipeUseCase.swift:31:52 - line:34:5] RangeText="{
        let result = try await client.query(Recipe.recipes())
        return result.data
    "
6.	While type-checking declaration 0x11a526980 (at /Users/******/Documents/Xcode/******/Modules/Domain/Sources/Remote/UseCases/GraphQL/GraphQLRecipeUseCase.swift:32:9)
7.	While evaluating request PatternBindingEntryRequest((unknown decl)@/Users/*****/Documents/Xcode/*****/Modules/Domain/Sources/Remote/UseCases/GraphQL/GraphQLRecipeUseCase.swift:32:9, 0)
8.	While type-checking expression at [/Users/****/Documents/Xcode/*****/Modules/Domain/Sources/Remote/UseCases/GraphQL/GraphQLRecipeUseCase.swift:32:22 - line:32:61] RangeText="try await client.query(Recipe.recipes()"
9.	While type-checking-target starting at /Users/*****/Documents/Xcode/*****/Modules/Domain/Sources/Remote/UseCases/GraphQL/GraphQLRecipeUseCase.swift:32:26
Stack dump without symbol names (ensure you have llvm-symbolizer in your PATH or set the environment var `LLVM_SYMBOLIZER_PATH` to point to it):
0  swift-frontend           0x0000000107603450 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) + 56
1  swift-frontend           0x0000000107600de0 llvm::sys::RunSignalHandlers() + 112
2  swift-frontend           0x0000000107603a7c SignalHandler(int, __siginfo*, void*) + 344
3  libsystem_platform.dylib 0x00000001916a0624 _sigtramp + 56
4  libsystem_pthread.dylib  0x000000019166688c pthread_kill + 296
5  libsystem_c.dylib        0x000000019156fc60 abort + 124
6  swift-frontend           0x0000000102ec7da0 ASSERT_failure(char const*, char const*, int, char const*) + 1720
7  swift-frontend           0x00000001025aaeb0 swift::constraints::Constraint::Constraint(swift::FunctionType*, swift::Type, unsigned int, swift::DeclContext*, swift::constraints::ConstraintLocator*, llvm::SmallPtrSetImpl<swift::TypeVariableType*>&) + 468
8  swift-frontend           0x00000001025ae6e4 swift::constraints::Constraint::createApplicableFunction(swift::constraints::ConstraintSystem&, swift::FunctionType*, swift::Type, std::__1::optional<swift::constraints::TrailingClosureMatching>, swift::DeclContext*, swift::constraints::ConstraintLocator*) + 292
9  swift-frontend           0x00000001024f0dd8 swift::constraints::ConstraintSystem::simplifyApplicableFnConstraint(swift::FunctionType*, swift::Type, std::__1::optional<swift::constraints::TrailingClosureMatching>, swift::DeclContext*, swift::optionset::OptionSet<swift::constraints::ConstraintSystem::TypeMatchFlags, unsigned int>, swift::constraints::ConstraintLocatorBuilder) + 2808
10 swift-frontend           0x00000001024de140 swift::constraints::ConstraintSystem::addApplicationConstraint(swift::FunctionType*, swift::Type, std::__1::optional<swift::constraints::TrailingClosureMatching>, swift::DeclContext*, swift::constraints::ConstraintLocatorBuilder) + 280
11 swift-frontend           0x00000001024aeda4 (anonymous namespace)::ConstraintGenerator::visitApplyExpr(swift::ApplyExpr*) + 660
12 swift-frontend           0x000000010249ec1c (anonymous namespace)::ConstraintWalker::walkToExprPost(swift::Expr*) + 564
13 swift-frontend           0x0000000102b34cbc (anonymous namespace)::Traversal::visitDynamicMemberRefExpr(swift::DynamicMemberRefExpr*) + 112
14 swift-frontend           0x0000000102b34774 (anonymous namespace)::Traversal::visit(swift::Expr*) + 696
15 swift-frontend           0x0000000102b34ca0 (anonymous namespace)::Traversal::visitDynamicMemberRefExpr(swift::DynamicMemberRefExpr*) + 84
16 swift-frontend           0x0000000102b34750 (anonymous namespace)::Traversal::visit(swift::Expr*) + 660
17 swift-frontend           0x0000000102499ccc swift::constraints::ConstraintSystem::generateConstraints(swift::Expr*, swift::DeclContext*) + 216
18 swift-frontend           0x00000001024989ec swift::constraints::ConstraintSystem::generateConstraints(swift::constraints::SyntacticElementTarget&, swift::FreeTypeVariableBinding) + 2040
19 swift-frontend           0x0000000102514944 swift::constraints::ConstraintSystem::solve(swift::constraints::SyntacticElementTarget&, swift::FreeTypeVariableBinding) + 144
20 swift-frontend           0x000000010272bd3c swift::TypeChecker::typeCheckTarget(swift::constraints::SyntacticElementTarget&, swift::optionset::OptionSet<swift::TypeCheckExprFlags, unsigned int>, swift::DiagnosticTransaction*) + 704
21 swift-frontend           0x000000010272b958 swift::TypeChecker::typeCheckExpression(swift::constraints::SyntacticElementTarget&, swift::optionset::OptionSet<swift::TypeCheckExprFlags, unsigned int>, swift::DiagnosticTransaction*) + 420
22 swift-frontend           0x000000010272d1b0 swift::TypeChecker::typeCheckBinding(swift::Pattern*&, swift::Expr*&, swift::DeclContext*, swift::Type, swift::PatternBindingDecl*, unsigned int, swift::optionset::OptionSet<swift::TypeCheckExprFlags, unsigned int>) + 200
23 swift-frontend           0x000000010272d3cc swift::TypeChecker::typeCheckPatternBinding(swift::PatternBindingDecl*, unsigned int, swift::Type, swift::optionset::OptionSet<swift::TypeCheckExprFlags, unsigned int>) + 292
24 swift-frontend           0x000000010284d514 swift::PatternBindingEntryRequest::evaluate(swift::Evaluator&, swift::PatternBindingDecl*, unsigned int) const + 3284
25 swift-frontend           0x0000000102c0f968 swift::PatternBindingEntryRequest::OutputType swift::Evaluator::getResultUncached<swift::PatternBindingEntryRequest, swift::PatternBindingEntryRequest::OutputType swift::evaluateOrDefault<swift::PatternBindingEntryRequest>(swift::Evaluator&, swift::PatternBindingEntryRequest, swift::PatternBindingEntryRequest::OutputType)::'lambda'()>(swift::PatternBindingEntryRequest const&, swift::PatternBindingEntryRequest::OutputType swift::evaluateOrDefault<swift::PatternBindingEntryRequest>(swift::Evaluator&, swift::PatternBindingEntryRequest, swift::PatternBindingEntryRequest::OutputType)::'lambda'()) + 676
26 swift-frontend           0x0000000102bcc518 swift::PatternBindingDecl::getCheckedPatternBindingEntry(unsigned int) const + 140
27 swift-frontend           0x000000010278a320 (anonymous namespace)::DeclChecker::visit(swift::Decl*) + 2664
28 swift-frontend           0x000000010283d7b0 (anonymous namespace)::StmtChecker::typeCheckASTNode(swift::ASTNode&) + 1024
29 swift-frontend           0x0000000102843394 swift::ASTVisitor<(anonymous namespace)::StmtChecker, void, swift::Stmt*, void, void, void, void>::visit(swift::Stmt*) + 288
30 swift-frontend           0x00000001028409f4 bool (anonymous namespace)::StmtChecker::typeCheckStmt<swift::BraceStmt>(swift::BraceStmt*&) + 312
31 swift-frontend           0x000000010283f4f4 swift::TypeCheckFunctionBodyRequest::evaluate(swift::Evaluator&, swift::AbstractFunctionDecl*) const + 3004
32 swift-frontend           0x0000000102ca0ad8 swift::TypeCheckFunctionBodyRequest::OutputType swift::Evaluator::getResultUncached<swift::TypeCheckFunctionBodyRequest, swift::TypeCheckFunctionBodyRequest::OutputType swift::evaluateOrDefault<swift::TypeCheckFunctionBodyRequest>(swift::Evaluator&, swift::TypeCheckFunctionBodyRequest, swift::TypeCheckFunctionBodyRequest::OutputType)::'lambda'()>(swift::TypeCheckFunctionBodyRequest const&, swift::TypeCheckFunctionBodyRequest::OutputType swift::evaluateOrDefault<swift::TypeCheckFunctionBodyRequest>(swift::Evaluator&, swift::TypeCheckFunctionBodyRequest, swift::TypeCheckFunctionBodyRequest::OutputType)::'lambda'()) + 688
33 swift-frontend           0x0000000102bf0c84 swift::AbstractFunctionDecl::getTypecheckedBody() const + 152
34 swift-frontend           0x0000000102896578 swift::TypeCheckPrimaryFileRequest::evaluate(swift::Evaluator&, swift::SourceFile*) const + 912
35 swift-frontend           0x000000010289d450 swift::TypeCheckPrimaryFileRequest::OutputType swift::Evaluator::getResultUncached<swift::TypeCheckPrimaryFileRequest, swift::TypeCheckPrimaryFileRequest::OutputType swift::evaluateOrDefault<swift::TypeCheckPrimaryFileRequest>(swift::Evaluator&, swift::TypeCheckPrimaryFileRequest, swift::TypeCheckPrimaryFileRequest::OutputType)::'lambda'()>(swift::TypeCheckPrimaryFileRequest const&, swift::TypeCheckPrimaryFileRequest::OutputType swift::evaluateOrDefault<swift::TypeCheckPrimaryFileRequest>(swift::Evaluator&, swift::TypeCheckPrimaryFileRequest, swift::TypeCheckPrimaryFileRequest::OutputType)::'lambda'()) + 672
36 swift-frontend           0x000000010165de30 bool llvm::function_ref<bool (swift::SourceFile&)>::callback_fn<swift::CompilerInstance::performSema()::$_0>(long, swift::SourceFile&) + 156
37 swift-frontend           0x00000001016574bc swift::CompilerInstance::forEachFileToTypeCheck(llvm::function_ref<bool (swift::SourceFile&)>) + 176
38 swift-frontend           0x0000000101657350 swift::CompilerInstance::performSema() + 120
39 swift-frontend           0x0000000101272e94 performCompile(swift::CompilerInstance&, int&, swift::FrontendObserver*) + 772
40 swift-frontend           0x0000000101271e90 swift::performFrontend(llvm::ArrayRef<char const*>, char const*, void*, swift::FrontendObserver*) + 3580
41 swift-frontend           0x00000001011f3444 swift::mainEntry(int, char const**) + 5412
42 dyld                     0x00000001912c6b98 start + 6076

Code:

extension GraphQLRecipeUseCase: GetRecipesUseCase {
    public func recipes() async throws -> [Recipe] {
        let result = try await client.query(Recipe.recipes())
        return result.data
    }
}

extension Recipe {
    /// Obtains a Recipes from the server.
    static func recipes() -> Selection.Query<[Recipe]> {
        let query = Selection.Query {
            try $0.recipes(selection: Recipe.selection.list)
        }

        return query
    }
}

extension Recipe {
    
    /// Converts an API Recipe type into app model.
    static let selection = Selection.Recipe {
        try Domain.Recipe(
            id: $0.id(),
            title: $0.title(),
            imageURL: URL.recipe(id: $0.id()),
            imageId: $0.imageId(),
            servings: $0.servings(),
            prepTime: Measurement(value: Double($0.prepTime()), unit: .minutes),
            cookTime: Measurement(value: Double($0.cookTime()), unit: .minutes),
            ingredients: $0.ingredients(selection: Ingredient.selection.list),
            steps: $0.steps(),
            mealTimes: $0.mealTimes().compactMap(Domain.Meal.Time.init(rawValue:)),
            nutritionalValues: $0.nutritionalValues(selection: NutritionalValue.selection.list),
            diets: $0.diets().compactMap(Diet.init(rawValue:)),
            meats: $0.meats().compactMap(Meat.init(rawValue:)),
            restrictions: $0.restrictions().compactMap(Restriction.init)
        )
    }
}

Any solution or workaround for this would be helpful!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions