Warn about using assignment in conditions | Qt Qml | Qt 6.11.1
Description: [assignment-in-condition] An assignment statement is used inside a condition

- Qt 6.11
- Qt Qml
- Qt Qml Tooling
- qmllint
- QML Lint Warning and Errors
- Warn about using assignment in conditions
- Qt 6.11.1 Reference Documentation

Do not use void in expressions ◦ With

# Warn about using assignment in conditions

This warning category is spelled `[assignment-in-condition]` by qmllint.

## Warn about using assignment in conditions

### What happened?

You used an assignment inside an `if-condition`.

### Why is this bad?

This is often a mistake, and a comparison should have been used. If it was intentional, it is still often considered confusing.

### Example

     import QtQuick

     Item {
         id: root
         Component.onCompleted: {
            // mistake: should have been a comparison
            if (width = height)
                console.log("A square")
            let mypoint = Qt.point(1,2)
            let hit = false
            // intentional, but possibly misleading
            if (hit = root.contains(myPoint))
                console.log("hit")
            root.enabled = hit
         }
     }

To fix this warning, change the assignment to a comparison if it was a mistake. Otherwise, wrap the assignment into parentheses to indicate that it was done intentionally.

     import QtQuick

     Item {
         id: root
         Component.onCompleted: {
            // fixed
            if (width === height)
                console.log("A square")
            let mypoint = Qt.point(1,2)
            let hit = false
            // intentional
            if ((hit = root.contains(point)))
                console.log("hit")
            root.enabled = hit
         }
     }

Do not use void in expressions ◦ With