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

    <tr>
        <th>Summary</th>
        <td>
            Assertion failed: (Result.isInvalid() && "C++ binary operator overloading is missing candidates!")
        </td>
    </tr>

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

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

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

<pre>
    Line 19 of the following file triggers a parsing assertion error:

#### test.mm
```
#include <Foundation/Foundation.h>

enum class Bar : int {
  QUX,
};

@interface Foo : NSObject
+(int) foo;
+(void) run;
@end

@implementation Foo
+(int) foo {
 return 0;
}

+(void) run {
  Bar bar;
  bar = {[self foo]};
}
@end
```

Compile with `clang++ -std=c++17 -c test.mm`. Workaround is to explicitly specify `Bar{...}` on that line.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJxsU12P2yoU_DX45SgWhvgjD36Ik2vpSle3aquqfcXm2KbFYAHONv--wptNsqtKCAsfGGbmMMJ7NRrEmuQNyc-JWMNkXa1M4Eln5bX-TxmE7AB2gDAhDFZr-6LMCIPSCMGpcUTnQcAinI__hffogrIG0DnrCD8Seib0bWb8PiCgD-k83yoFvY23jcr0epUIhJ9auxopIiph7WORToT_8wyPZp2h18J7aIQDwo-gTABSNq91gM_ffhB2up0pz4Q37-jtqTIB3SB6hNbaDeH_r5-6n9iHN2INYZUygbADDNY-ELbCxSoZK241j8qeopEf75kXjTOasCmJl_0d_4m8w7A6A_QBXJ7fm_uBwbPw6Ecn3P0sxBUQft425Y1HPWx68vM7X-5XPIv40KttPtl5iW_iRYUJSEF7Lcy4UWpg54Mk_Ny_LrMSdv29-wVN4bt1v4SLfQXlIVjA34tWvQr6Cn7BXg3XCNkIR8omTdPIqqBgDYRJBNDKYJrImssDP4gE66yoOC0Zy3ky1UIWXZ4XZVGVB3oYBiazrstlxfi-yzCrElUzyjjNKaeU7rMs3WNeynIYsELe0YJG7bNQOtX6MqfWjYnyfsW6YDnliRYdar8liLFX1fw4OGtCNIyxmCtXx6O7bh092VOtfPAPsKCCxvp4D84glEYZnx5h1Rf0qw6p8v-ai9CxtVXsLmEFYQUQxk43jztlhLuCXdCJYB3YCzpthYyhVB5m5bd89sJIJUVAT1gW2bFDsjpdTyEsPqaVtYS1owrT2qW9nQlrI9HbZ7c4u2WBtZsFnrB2c-FPAAAA__9tjz-f">