give a deprecation message for overriding `=` hook
This commit is contained in:
parent
1b5e03f975
commit
6f96c4bc96
2 changed files with 13 additions and 0 deletions
|
|
@ -1881,6 +1881,8 @@ proc semOverride(c: PContext, s: PSym, n: PNode) =
|
||||||
if s.magic == mAsgn: return
|
if s.magic == mAsgn: return
|
||||||
incl(s.flags, sfUsed)
|
incl(s.flags, sfUsed)
|
||||||
incl(s.flags, sfOverriden)
|
incl(s.flags, sfOverriden)
|
||||||
|
if name == "=":
|
||||||
|
message(c.config, n.info, warnDeprecated, "Overriding `=` hook is deprecated; Override `=copy` hook instead")
|
||||||
let t = s.typ
|
let t = s.typ
|
||||||
if t.len == 3 and t[0] == nil and t[1].kind == tyVar:
|
if t.len == 3 and t[0] == nil and t[1].kind == tyVar:
|
||||||
var obj = t[1][0]
|
var obj = t[1][0]
|
||||||
|
|
|
||||||
11
tests/deprecated/tequalhook.nim
Normal file
11
tests/deprecated/tequalhook.nim
Normal file
|
|
@ -0,0 +1,11 @@
|
||||||
|
discard """
|
||||||
|
errormsg: "Overriding `=` hook is deprecated; Override `=copy` hook instead"
|
||||||
|
matrix: "--warningAsError[Deprecated]:on"
|
||||||
|
"""
|
||||||
|
|
||||||
|
type
|
||||||
|
SharedString = object
|
||||||
|
data: string
|
||||||
|
|
||||||
|
proc `=`(x: var SharedString, y: SharedString) =
|
||||||
|
discard
|
||||||
Loading…
Add table
Add a link
Reference in a new issue