Spaceship-operator: why the data-members must be public / triggers ICE
Klaus Doldinger
klaus.doldinger64@gmail.com
Wed Nov 13 11:43:00 GMT 2019
Am 13.11.19 um 11:35 schrieb Jonathan Wakely:
> On Wed, 13 Nov 2019 at 09:24, Klaus Doldinger
> <klaus.doldinger64@gmail.com> wrote:
>>
>> Hi all,
>>
>> in the follwing example
>>
>> #include <compare> // omitting trigger ICE
>>
>> template<auto V>
>> struct A {};
>>
>> struct B {
>> inline constexpr auto operator<=>(const B& rhs) const = default;
>> private:
>> int value; // why must this member be public?
>> };
>>
>> int main() {
>> A<B{}> t;
>> }
>>
>> why must the member value be public?
>
> Looks like a bug, please report it to bugzilla.
Done.
>
>> Side note: if I omit #include <compare> it triggers an ICE.
>
> And please report that to bugzilla too, as a second bug.
>
Done.
More information about the Gcc-help
mailing list