Loading...

How to get rid of 'Result of call to function is unused' warning in Swift/Xcode?

question swift xcode
Ram Patra Published on October 8, 2023
Swift 5.0+

In Swift, if you encounter a “Result of call to ‘function’ is unused” warning, it means that you’re calling a function that returns a value (typically a result type, such as Result or any other type), but you’re not doing anything with the result. To get rid of this warning, you have a few options depending on the specific situation:

  1. Use the Result Value: If the function returns a result, it’s usually important to handle the result appropriately. You should evaluate the result and take action based on whether it’s a success or a failure. You can use a switch statement or if conditions to handle the result:

    let result = someFunctionThatReturnsAResult()
    
    switch result {
    case .success(let value):
        // Handle the success case
        print("Success: \(value)")
    case .failure(let error):
        // Handle the failure case
        print("Error: \(error)")
    }
    
  2. Discard the Result: If you’re intentionally ignoring the result (for example, if you’re calling a function solely for its side effects and don’t care about the result), you can use an underscore (_) to explicitly indicate that you’re intentionally discarding the result:

    _ = someFunctionThatReturnsAResult()
    

    Using _ tells the Swift compiler that you’re aware of the result but don’t need to use it.

  3. Suppress the Warning: If you have a specific reason to suppress the warning for a particular line of code (though this is generally not recommended), you can use the @discardableResult attribute:

    @discardableResult
    func someFunctionThatReturnsAResult() -> ResultType {
        // Function implementation
    }
    

    Adding @discardableResult indicates that callers are allowed to discard the result without triggering a warning.

It’s important to choose the option that best aligns with the intended behavior of your code. In most cases, you should handle the result or at least acknowledge that you’re intentionally discarding it to make your code more readable and maintainable.

Ram Patra Published on October 8, 2023
Image placeholder

Keep reading

If this article was helpful, others might be too

question swift macOS October 29, 2023 How to make Color conform to RawRepresentable in Swift in macOS?

For various reasons you may want to convert the Color type to a String. And, below is a relatively cleaner way to do it.

question swift October 22, 2023 How to not break automatically in switch statements in Swift?

In Swift, the switch statement doesn’t automatically fall through to the next case. Each case block is designed to execute only the code within that case, and it doesn’t continue to the next case unless you use the fallthrough keyword.

question swift xcode August 12, 2020 How to remove a Swift package from a project in Xcode?

If you go to Xcode > File > Swift Packages, you can see options to add a new Swift package, update them, reset caches, and resolve package versions. However, you do not see an option to remove a particular Swift package.