File tree 1 file changed +7
-3
lines changed
1 file changed +7
-3
lines changed Original file line number Diff line number Diff line change @@ -2080,9 +2080,9 @@ auto function_type_node::is_assignment() const
2080
2080
{
2081
2081
if (
2082
2082
my_decl->has_name (" operator=" )
2083
+ && (*parameters).ssize () > 1
2083
2084
&& (*parameters)[0 ]->has_name (" this" )
2084
2085
&& (*parameters)[0 ]->direction () == passing_style::inout
2085
- && (*parameters).ssize () > 1
2086
2086
)
2087
2087
{
2088
2088
return true ;
@@ -2128,9 +2128,9 @@ auto function_type_node::is_destructor() const
2128
2128
{
2129
2129
if (
2130
2130
my_decl->has_name (" operator=" )
2131
+ && (*parameters).ssize () == 1
2131
2132
&& (*parameters)[0 ]->has_name (" this" )
2132
2133
&& (*parameters)[0 ]->direction () == passing_style::move
2133
- && (*parameters).ssize () == 1
2134
2134
)
2135
2135
{
2136
2136
return true ;
@@ -5661,7 +5661,11 @@ class parser
5661
5661
return {};
5662
5662
}
5663
5663
5664
- if (
5664
+ if (func->parameters ->ssize () == 0 )
5665
+ {
5666
+ error ( " an operator= function must have a parameter" , false );
5667
+ }
5668
+ else if (
5665
5669
func->parameters ->ssize () > 0
5666
5670
&& (*func->parameters )[0 ]->has_name (" this" )
5667
5671
&& (*func->parameters )[0 ]->pass != passing_style::inout
You can’t perform that action at this time.
0 commit comments