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

    <tr>
        <th>Summary</th>
        <td>
            error: invalid argument type 'T *' to unary expression
        </td>
    </tr>

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

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

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

<pre>
    After https://github.com/llvm/llvm-project/pull/90500 -- some of our internal code stopped compiling.

```
$ ~/llvm-build-upstream/bin/clang /tmp/Out.cpp
/tmp/Out.cpp:3:9: warning: #pragma once in main file [-Wpragma-once-outside-header]
    3 | #pragma once
      | ^
/tmp/Out.cpp:65:14: error: invalid argument type 'T *' to unary expression
   65 |     *item_ = -item_;
      | ^~~~~~
1 warning and 1 error generated.
```

File attached.
[repro.cpp.txt](https://github.com/llvm/llvm-project/files/15438463/repro.cpp.txt)

cc: @erichkeane / @sdkrystian 

I don't exclude that our code might be incorrect, but I wonder why this only applies to `operator-` (and not `operator+`)
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJykVMGOpDYQ_RpzKdGCMtBw4EDvBGlPuUTKMTJ2NThrbGSbmenLfntkejozWW0Oo0XImCpc7_Hq2SIEPVuintUXVj9lYo-L872SUmeTU7d-uEbysMS4BcYHhiPDcdZx2aeTdCvD0ZjnxyPfvPubZGQ4brsxDMeuqIsC8hyCWwncFdzuQdtI3goD0imCEN22kQLp1k0bbecTK55YMbyNTfF231-xgu8PtGnXRuX7FqInkThM2jIcpRF2BoZjXDeG4-97PMlte6z_IcoHzvjQMT7Ai_BW2zlNGfLNi3kV4Kwk0BZWoS1ctSFg9SX_857NUzZ3ewxaUb6QUORZ_XSHAgDgwM5ffqj2noV7tv7tf7k1NeNDWSVK5L3zaaLtszBagfDzvpKNEG8bAcPzH8BwYHiG6GC3wt-AXjdPIWhn_wVt6gP0AMdBR1r_AsafID-mjF9-Qu97uu7x8qESCKugvLOCmSx5EUmdft60YxyTeCJGIZf3D-uLp8279Lun-BqTeNh-2mypL4HhWNYVb6uGMxz_Wxa7j0ykPHpcFeS1XL6RsEm_MUWC-uZvIWph4eOKr6CcZXiOQK_S7IogLiIeZj48vOp5iTAlp0jn_cHqC0x7hK_w4qwiDy_LDeKiAzhrbiC2zWgKqVWsKdyW5HM-Z00BDNukrXXxY4rhJemJXaZ6rjreiYz68lw29bni1Tlb-rI687qV4jo10xWpq-VUNqqVSIWktuWZ7rHAqqixKtsSkZ-aplNXLMqi6K7dtWmTIqvQ5pTkPTk_ZzqEnfqOc15mRkxkwnFOIB57jCGmI8P3b7txDqwqjA4xvFeIOhrqf8282e5N_2lTHNyTK-70n3v8JwAA__9duYLU">