     // Collects all the line numbers containing var or let declarations
     private func varLetLineNumbers(file: SwiftLintFile,
                                    structure: [SourceKittenDictionary],
-                                   attributeLines: inout Set<Int>) -> Set<Int> {
-        var result = Set<Int>()
-
+                                   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 {

            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

        let dict = file.structureDictionary

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

