fix bugs with dot & call operators [backport] (#20931)

* better error messages for dot operators [backport]

fixes #13063

* also fixes #7777

* fix #6981 and #9831 too

* fix

* minor improvement

* sus test fixes

* make test multiplatform lol

* fix nimsuggest test, extra improvements
This commit is contained in:
metagn 2022-11-28 23:33:02 +03:00 • committed by GitHub
commit 555c5ed1a7
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 156 additions and 49 deletions

View file

@ -0,0 +1,22 @@
# issue #6981
import std/assertions
{.experimental: "callOperator".}
block: # issue #6981
proc `()`(a:string, b:string):string = a & b
var s = newSeq[int](3)
doAssert s == @[0, 0, 0]
block: # generalized example from #6981
proc mewSeq[T](a: int)=discard
proc mewSeq[T]()= discard
mewSeq[int]()
block: # issue #9831
type Foo = object
proc `()`(foo: Foo) = discard
let x = newSeq[int]()