mirror of
https://github.com/vlang/v.git
synced 2023-08-10 21:13:21 +03:00
checker: allow operator overloading on strings (p. 1) (#10182)
This commit is contained in:
parent
d8d05e0106
commit
c0b1f99935
@ -7093,7 +7093,11 @@ fn (mut c Checker) fn_decl(mut node ast.FnDecl) {
|
||||
} else {
|
||||
receiver_sym := c.table.get_type_symbol(node.receiver.typ)
|
||||
param_sym := c.table.get_type_symbol(node.params[1].typ)
|
||||
if param_sym.kind !in [.struct_, .alias] || receiver_sym.kind !in [.struct_, .alias] {
|
||||
if param_sym.kind == .string && receiver_sym.kind == .string {
|
||||
// bypass check for strings
|
||||
// TODO there must be a better way to handle that
|
||||
} else if param_sym.kind !in [.struct_, .alias]
|
||||
|| receiver_sym.kind !in [.struct_, .alias] {
|
||||
c.error('operator methods are only allowed for struct and type alias',
|
||||
node.pos)
|
||||
} else {
|
||||
|
Loading…
Reference in New Issue
Block a user