The new Swift 4.2 Syntax includes new best practices for the weak/strong management in closures. Guarding for a strong reference to self is done like this:
guard let self = self else { return }
This gives in the newest version of the scanner an error:
String is not parsed ... guard let self = self else { return }
Expected Behaviour
The syntax should be valid, as it is a new feature and best practice.
Any chance this issue will be resolved any time soon? Our team evaluating SonarCloud to use for monitoring quality in iOS project, and as parses fails to recognize this syntax: “guard let self = self else { return }” making Scanner useless without the fix.
@Ray Can you confirm what version of the Swift analyzer is installed on your SonarQube instance, upgrade it if it is less than v4.2.2 – and if the problem persists, provide a code sample?