@@ -144,12 +144,12 @@ fn (mut g Gen) infix_expr_eq_op(node ast.InfixExpr) {
144
144
}
145
145
g.write ('${ptr_typ} _alias_eq(' )
146
146
if left.typ.is_ptr () {
147
- g.write ('*' )
147
+ g.write ('*' . repeat (left.typ. nr_muls ()) )
148
148
}
149
149
g.expr (node.left)
150
150
g.write (', ' )
151
151
if right.typ.is_ptr () {
152
- g.write ('*' )
152
+ g.write ('*' . repeat (right.typ. nr_muls ()) )
153
153
}
154
154
g.expr (node.right)
155
155
g.write (')' )
@@ -161,15 +161,15 @@ fn (mut g Gen) infix_expr_eq_op(node ast.InfixExpr) {
161
161
}
162
162
g.write ('${ptr_typ} _arr_eq(' )
163
163
if left.typ.is_ptr () && ! left.typ.has_flag (.shared_f) {
164
- g.write ('*' )
164
+ g.write ('*' . repeat (left.typ. nr_muls ()) )
165
165
}
166
166
g.expr (node.left)
167
167
if left.typ.has_flag (.shared_f) {
168
168
g.write ('->val' )
169
169
}
170
170
g.write (', ' )
171
171
if right.typ.is_ptr () && ! right.typ.has_flag (.shared_f) {
172
- g.write ('*' )
172
+ g.write ('*' . repeat (right.typ. nr_muls ()) )
173
173
}
174
174
g.expr (node.right)
175
175
if right.typ.has_flag (.shared_f) {
@@ -210,36 +210,32 @@ fn (mut g Gen) infix_expr_eq_op(node ast.InfixExpr) {
210
210
}
211
211
g.write ('${ptr_typ} _map_eq(' )
212
212
if left.typ.is_ptr () {
213
- g.write ('*' )
213
+ g.write ('*' . repeat (left.typ. nr_muls ()) )
214
214
}
215
215
g.expr (node.left)
216
216
g.write (', ' )
217
217
if right.typ.is_ptr () {
218
- g.write ('*' )
218
+ g.write ('*' . repeat (right.typ. nr_muls ()) )
219
219
}
220
220
g.expr (node.right)
221
221
g.write (')' )
222
222
}
223
223
.struct_ {
224
- // if g.pref.translated {
225
- // g.gen_plain_infix_expr(node)
226
- // } else {
227
224
ptr_typ := g.equality_fn (left.unaliased)
228
225
if node.op == .ne {
229
226
g.write ('!' )
230
227
}
231
228
g.write ('${ptr_typ} _struct_eq(' )
232
229
if left.typ.is_ptr () {
233
- g.write ('*' )
230
+ g.write ('*' . repeat (left.typ. nr_muls ()) )
234
231
}
235
232
g.expr (node.left)
236
233
g.write (', ' )
237
234
if right.typ.is_ptr () {
238
- g.write ('*' )
235
+ g.write ('*' . repeat (right.typ. nr_muls ()) )
239
236
}
240
237
g.expr (node.right)
241
238
g.write (')' )
242
- // }
243
239
}
244
240
.sum_type {
245
241
ptr_typ := g.equality_fn (left.unaliased)
@@ -248,12 +244,12 @@ fn (mut g Gen) infix_expr_eq_op(node ast.InfixExpr) {
248
244
}
249
245
g.write ('${ptr_typ} _sumtype_eq(' )
250
246
if left.typ.is_ptr () {
251
- g.write ('*' )
247
+ g.write ('*' . repeat (left.typ. nr_muls ()) )
252
248
}
253
249
g.expr (node.left)
254
250
g.write (', ' )
255
251
if right.typ.is_ptr () {
256
- g.write ('*' )
252
+ g.write ('*' . repeat (right.typ. nr_muls ()) )
257
253
}
258
254
g.expr (node.right)
259
255
g.write (')' )
@@ -265,12 +261,12 @@ fn (mut g Gen) infix_expr_eq_op(node ast.InfixExpr) {
265
261
}
266
262
g.write ('${ptr_typ} _interface_eq(' )
267
263
if left.typ.is_ptr () {
268
- g.write ('*' )
264
+ g.write ('*' . repeat (left.typ. nr_muls ()) )
269
265
}
270
266
g.expr (node.left)
271
267
g.write (', ' )
272
268
if right.typ.is_ptr () {
273
- g.write ('*' )
269
+ g.write ('*' . repeat (right.typ. nr_muls ()) )
274
270
}
275
271
g.expr (node.right)
276
272
g.write (')' )
0 commit comments