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

    <tr>
        <th>Summary</th>
        <td>
            [clang-format] inner final classes are not formatted correctly
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            clang-format
      </td>
    </tr>

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

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

<pre>
    clang-format version 20.1.0 (https://github.com/llvm/llvm-project.git 24a30daa) correctly formatted inner classes marked `final`:

```
class Outer {
    class Inner : public Base,
                  public Base2,
 public Base3,
                  public Base4,
                  public Base5,
                  public Base6 {
        Inner();
    };

 class InnerFinal final : public Base,
                             public Base2,
                             public Base3,
 public Base4,
                             public Base5,
 public Base6 {
        InnerFinal();
    };

    struct InternNameLongerrrr final
      : BaseClasssssssssssssssssssssssssssssssssssss {
 InternNameLongerrrr();
    };
};
```

whereas clang-format version 21.1.0-rc3 (https://github.com/llvm/llvm-project.git 6096d35ea9) misformats the inner classes marked `final`:
```
class Outer {
  class Inner : public Base,
                public Base2,
                public Base3,
 public Base4,
                public Base5,
                public Base6 {
    Inner();
  };

  class InnerFinal final : public Base, public Base2, public Base3,
      public Base4, public Base5, public Base6 {
 InnerFinal();
  };

  struct InternNameLongerrrr
      final : BaseClasssssssssssssssssssssssssssssssssssss {
    InternNameLongerrrr();
 };
};
```
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJycVe1uozAQfBrzZ1VkbEziH_xIW0WqdLp7BgMLuHVwZZue-vYnyEdJLyQ0lqXEsN7dGc2wynvddIg5EY9EPEeqD611-atF09ryLSps9ZmXRnXNQ23dTgX4QOe17YDROIkpELZuQ3j3hG8I2xK2bXRo-yIu7Y6wrTEfx5-Hd2dfsQxxowOwVHFaKUWYhNI6h2Uwn7CvELAC3XXooDTKe_SwU-4NKyAZrXWnDMnoUI2OO6OHTTdjOPzpAzogq0dCNwCwTwIvY0LCN_DeF0aX8Kg8EvZ0CDpfkxB2iJk84guupQtixIKYbAJkWCMMwtaEScKPL8jqeX8YzhO424EsGClbivw6CQvD-f-czfJxnZpbTIwIr9IBAD64vgzw0gV03W-1w1-2a9A55_bcnJIOHA2lngYKF6xjRxcyz_d0-jMRLqGbvy06VB4uWy0ZrPbgSn6n3TIqs4oLVHIw3E77fQEPocWlXrthtB_b7La-7pLUbYPNiOqCtc6VtNhZ36HNfjy-ofne-8VO53R_3uu85k_Fv7q_R_MjYddlf0XzUZXzSnKpIsyTlRAJTTiXUZvXUq4KmWW05jUVtFK1qIUUsihZTVcpjXTOKBN0nfAko2shY75mquAi4TSt1oVckZTiTmkTDyaIrWsi7X2PeSJ4mvLIqAKNH6cdY1OzEcaG-efy0TxF33iSUqN98F-Zgg5mnJRnF8XzwUJ7Ro9GUg6hs2Ey1E6DLuqdyX9mY8K2Iw5P2PYA5SNn_wIAAP__E1xCsw">