<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/115278>115278</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            When using `Q_EMIT`, spaces are added around `->` operator
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            new issue
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          nbolton
      </td>
    </tr>
</table>

<pre>
    For example, when we format this line:
```
Q_EMIT model()->screensChanged();
```

Spaces are added around `->` operator:
```
Q_EMIT model() -> screensChanged();
```

When `Q_EMIT` is removed, the spaces are not added:
```
model()->screensChanged();
```

`.clang-format`
```
# Important: Use the same version of clang-format as our linter, which is:
#
# $ ./scripts/install_deps.py --only-python
# $ ./.venv/bin/clang-format --version
#
# Warning: If you use a different version, the formatting will be different.
#
# To install a specific version of clang-format, use pip:
# $ pip install clang-format==<version>

BasedOnStyle: LLVM

# Turn off LLVM default alignment of params with the opening bracket,
# which can be less readable in some cases in our code base.
#
# Using `BlockIndent` will result in:
#   void fooBarBazQuxHelloWorld(
#     int a,
#     int b
#   );
#
# Instead of:
#   void fooBarBazQuxHelloWorld(int a,
#                               int b);
AlignAfterOpenBracket: BlockIndent

# Turn off LLVM default packing of ctor initializers.
# This makes it easier to see which members were initialized and in what order.
PackConstructorInitializers: CurrentLine

# up our limit to 120
ColumnLimit: 120

# Custom Breaking rules
BreakBeforeBraces: Custom
BraceWrapping:
    AfterCaseLabel: false
    AfterClass: true
    AfterControlStatement: Never
    AfterEnum: true
 AfterFunction: true
    AfterNamespace: false
    AfterStruct: true
 AfterUnion: true
    AfterExternBlock: true
    BeforeCatch: false
    BeforeElse: false
    BeforeLambdaBody: false
 BeforeWhile: false

# no single line functions
AllowShortFunctionsOnASingleLine: None
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJykVt9v2kgQ_muWlxHIrCmQBx6ABl0k2l6V9vJYjb1jvJf1rrW7htK__jS2CYQSKdVFKIjZmW---Wb2B4agd5ZoIT6sxIePA2xi6fzCZs5EZweZU8fFxnmgn1jVhoRcw6EkCweCwvkKI8RSBzDakkiXIvkokqWYJv2n_fn1x_2nh29QOUVGyLmQd0OR3ofcE9mwLtHuSHV2ka5uInT_H2vMKQB6AlSKFKB3jVUgpgkDimkCriaP0fn3UwEOhT8n88QiiGnSIXJuHcBT5fYcv4ZYEoQzYetiR_otZv9bHTFNRrlBuxt2fTkvX3nLFB6q2vmINop0Cd8DdWyxItiTD9pZcAVcggEGcI3nNkfy3RDovAQdzvXI9JxAyAmMhNyE3Os6BiE32oaIxvxQVIdRfYTh0FlzHNbHWDr7e-BoT3Yv5CbTVsjNKyrDYU_yRt4n9FbbHZf1UMDRNdAEAgSli4I82Xgq8NSiDjNqu4ODNgYyOvuObiT45qCvBBBCTbkudP6WapyE89e6vpSpLbLW9QvSq5j0Y_tZn4im95ddXmEg9cU-xqPh_Qbb7T-fXk0Bc2w8UynaRVBUYGMioNE7W7EEroAaPVYBDjqWrQyuJtYNMo_5MzHxM1zX6Rwti2Mo8JijwswQaAvBVQQ5Bgr8i2ckd4ogw0C39PseOI2YJivj8ucHq8jypHbiewrMVNtXagHsnVZQOLdCv8JfX5uff5Ex7sl50-6MC08AbSPgK_4na3ZperWdLgk-2BAJFbjij0jcTvv2X0fogsSS27MsIvkvNdlV34d0CZdCvavRNebPLDIPY3QetNVRo9G_yIfRRTAf2xU-c-MiEAZNHqKDQNS3vKIqIx_gQJ4uUBSgVdzsQ4kRnFfke9i_MX9eOxuibzjzw0VirmTdeN5WW74qripp6v54qXRkEmPZn1ZrZ5rKbtnOEC_2c-i6CdFVsPKEbdm-MRT6zcK2FRXOEwtKPQv2PzlgTk8e67o7NDor96ftxBoDbTEjw3EFmkDXDgZDCxp989uas9E78xgxEm87dvtMe_JXfve2qa4gWvumsXlsD4Cb8J-xovZ-eYvbY9uFW8jf7duw9z8jedvO3O8enZRrjHl5I2u3es-2txa3WGUKV04dr1269adSm-voc6etAz49DLWvDSh6gcJpAxl3eCydjyflwhe7fGwDtt3rBD67l9E7XYoDtUjVXXqHA1qMZ2lyN51P5HhQLlKJxTiXaj6fZzifYTpJiGY4UZNJLudTNdALmcjJeJzMknmaTsajmcqQlBxTIrNZOkMxSahCbUbG7KuR87uBDqGhxXj8Qc7mA8OTFdp3l5SWDtCuCin5GeYXHDTMml0Qk8ToEMMZJupoaNG-QJrTefryDuFLJ7z_pTRovFmUMdbtTS43Qm52OpZNNspdJeSGk_Zfw9q7fymPfJszVb7W-1r2C_lfAAAA__-lvx3Y">