Soroush K writes, Here’s one annoying thing about Swift 3. The line
let location = geofenceNotifier.locationDataStore .cached?.first(where: { $0.id = locationID })
should be using `==` instead of `=` but the error you get is `Cannot call value of non-function type ‘Location?’`. It should give me an error saying “Hey, `id
` is a `let
` so you can’t assign to it” or “You’re not returning a Boolean.” and not “we’re trying to call `Location?` as a function.
While I can see where the team was going with this error I agree that it probably reflects the wrong most common error case. When you encounter bad Swift errors, file a bug report at bugs. swift.org and explain why you think it’s a bad error and what you think should have been a better approach.
Comments are closed.