Swift analyzer error on new Swift 4.2 Syntax

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.

Please add support for this new syntax.




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.

any work-around would be much appreciated.


Were using sonar-scanner and the issue still occurs.
We upgraded to but the error remains.


Also seeing this with: SonarScanner

@Colin_SonarSource looks like it’s been reported a few times since SONARSWIFT-421 any chance someone will look at it?

1 Like

@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?