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

    <tr>
        <th>Summary</th>
        <td>
            [clang-format] Invalid syntax after `const` is moved when `QualifierAlignment: Left`
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
      </td>
    </tr>

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

    <tr>
      <th>Reporter</th>
      <td>
          H-G-Hristov
      </td>
    </tr>
</table>

<pre>
    Original code looks like:

```C++
void func(::mylib::namesp::MyClass const& obj) {
    ...
}
```

After reformatting with `QualifierAlignment: Left`

```C++
void func(::const mylib::namesp::MyClass& obj) {
    ...
}
```

Expected:

```C++
void func(const ::mylib::namesp::MyClass& obj) {
    ...
}
```

My full `.clang-format` is:

```yml
---
BasedOnStyle: Google
Standard: c++20
IndentWidth: 4
ColumnLimit: 120
AccessModifierOffset: -4
AlignAfterOpenBracket: AlwaysBreak
AlignArrayOfStructures: Right
AllowShortEnumsOnASingleLine: false
AllowShortFunctionsOnASingleLine: Empty
AllowShortLambdasOnASingleLine: Empty
BinPackArguments: false
BinPackParameters: false
BraceWrapping:
  AfterClass: true
  AfterEnum: true
  AfterFunction: true
  AfterStruct: true
  AfterUnion: true
  BeforeLambdaBody: true
BreakBeforeBraces: Custom
BreakConstructorInitializers: BeforeComma
IncludeCategories:
  # Third party headers
  - Regex:           '^<(boost|bzip|fmt|grpc|gtest|gmock|isl|json|openssl|tl|proto|zlib)/'
    Priority:        3
    SortPriority:    0
    CaseSensitive:   true
  # This library headers
  - Regex:           '^<(nblib)'
    Priority:        4
    SortPriority:    0
    CaseSensitive:   true
  # C system headers
  - Regex:           '^<.+\.h>$'
    Priority:        1
    SortPriority:    0
    CaseSensitive:   true
  # C++ standard library headers
  - Regex:           '^<.+'
    Priority:        2
    SortPriority:    0
    CaseSensitive:   true
  # Other headers
  - Regex:           '^".*'
    Priority:        5
    SortPriority:    0
    CaseSensitive:   true
IndentPPDirectives: AfterHash
PackConstructorInitializers: Never
# Different ways to arrange specifiers and qualifiers (e.g. const/volatile).
QualifierAlignment: Left
# Specifies the use of empty lines to separate definition blocks, including classes, structs, enums, and functions.
SeparateDefinitionBlocks: Always
# Add namespace comment after short namespaces
ShortNamespaceLines: 0

...
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJytVtFy2joQ_RrzosEDNobwwAOYpMlMUnJL7_RZtte2ElmikkzifP1dyXYgNDdp2jCMLWtX2nNWq91NZNYsNooVTFBOUpkB4VLea8LZPXjh0hutvVH_nI7af-wFK_t3s3vJMpLXIvWCM7sgXFYNZ0k7FLQCvWvHN03MqdZoRGjjBVMikzsvmBNv1u1E8Of7fmdstj6xegxlmRtQREEuVUWNYaIgD8yUBNX-qSlnOQO15KwQFQiDtsk15OZkj9-l4_CSt0n9JZ3zxx2kBrIPO7zF9jtu_0uENw2a5Nw62E85FcWwdT1-E6b_D3dT8XZmOBy2gxXVkG3E1jTchhf5ImWBIyfbGioyqqwXSNoyDjoQVyLDg_zBMlNa6aSdjSWvK3HNKubOeNxrL9MUtL6RmYuDTZ5rcArDbp2LDBdCmx2IlaLpfauw5A-00SsF9P5YUynabPKtUXVqagWWLvnGitL0Slw-bEupzLmoK70Ryy0GJIdrJhzHnHINp6oXeICG4fH9on5e7Uxzqn5NqySjbyqvmLhFJktV1Dbq9YnpTnxLFQYHUv9Fjm6AH4rudmjg-UAJcX5qQwgXoA_ghcRSflXQE3xV2PryVdG_4pVFK3vToXXCClPWS7k7sFbFsXBI41obWR0pxPauWLNSXQlmGKaJp84N7dpYVhXt4y3ldQYxNVBIxUAfOcQLQvK9ZCojO6pMQ0qgmd2nEw_JNyjg0W57-HnBzIvOvRAv8lkiJea_WZw8sR2-8sp-FGqX2pcBJysqmd7jm2mOzzuNHpnFEoNVuwljHzsljcT3k732wdwLLqyV54t9qxgiN80RkPAg3WJMnWiMDtIYb-kWjaGX9tCKj0-j84AtEomi6uMuEEmP-W3Ak08EHBPdaAPVx8D6Ng9FsY9p59wLJu8BHn8m4DYFEt2lxT_ztiPwDurgE1FvTImV-QMQgwAhLt-DGH0KxLaM3N6umcJ6iwru9ru0c0l12SrZLPlGrvgKe1BdnUO-a5bnoHBXYksHMZJQLBeiAKKxprsCpAkeIPnZ9yUamZ-BX_h9J3Sxl5wahmUwmHfF-I0m5tnyttsfjZZAag1E5gRsPcBIEeCwaMAchUmMZJAzS0QKknDMLdgPxIS5LGebp9Tmd3CTLW83BFvO7MDiz_uC1UHcdluvn3detRs_19ED1GWWkbYnweyMtCvLiFDXxGlb3g7SbpUrel_7SVvt3MYvepJD69L3G4NsEWbzcE4HhhkOCy9avWhWojW5Ent0bYbJQBj62GHApe1ZuG6GVHIPGXkoQbzbUA5qxRelMTtXIWwKviiwEa0TH1niB-f7_jXEhH2HYYefTOvaevsiiqbj0aBczNJoMk2iaTqmeRgE4_kIolE4DiNAhewsH3CaANeWEJIYsEUwCoJRFIzG48ksnPoJBGEa0HFCZ_NgPgZvMoKKMu5bw75UxUAtHIakLjQKOdNGH4R4-EgNoN-f1gb9v7gcfhleKlSV-4GDvHB4_wOneKDL">