guarded && qualified members are broken
When using contracts on a && qualified member function, an error is generated stating that the calling the unchecked function discards the qualifier:
struct S
{
int f(int a) && [[ pre: a > 0 ]]
{
return -a;
}
};
rrm.cpp: In member function ‘int S::f(int) &&’:
rrm.cpp:8:2: error: passing ‘S’ as ‘this’ argument discards qualifiers [-fpermissive]
8 | };
| ^
rrm.cpp:4:7: note: in call to ‘int S::__l3_mf_f(int) &&’
4 | int f(int a) && [[ pre: a > 0 ]]
| ^