         let dict = file.structureDictionary
 
         var attributeLines = attributeLineNumbers(file: file)
-        let varLines = varLetLineNumbers(file: file,
-                                         structure: dict.substructure,
-                                         attributeLines: &attributeLines)
+        var varLines = Set<Int>()
+        varLetLineNumbers(file: file,
+                          structure: dict.substructure,
+                          attributeLines: &attributeLines,
+                          collectingInto: &varLines)
         let skippedLines = skippedLineNumbers(file: file)
         var violations = [StyleViolation]()
 

            let substructure = statement.substructure

            if !substructure.isEmpty {
                result.formUnion(varLetLineNumbers(file: file,
                                                   structure: substructure,
                                                   attributeLines: &attributeLines))
            }
        }
        return result
    }

    // Collects all the line numbers containing comments or #if/#endif

    // Collects all the line numbers containing var or let declarations
    private func varLetLineNumbers(file: SwiftLintFile,
                                   structure: [SourceKittenDictionary],
                                   attributeLines: inout Set<Int>,
                                   collectingInto result: inout Set<Int>) {
        for statement in structure {
            guard statement.kind != nil,
                  let (startLine, endLine) = lineOffsets(file: file, statement: statement) else {
