mirror of
https://github.com/nim-lang/Nim.git
synced 2026-01-04 20:17:42 +00:00
give a deprecation message for overriding `=` hook
This commit is contained in:
@@ -1881,6 +1881,8 @@ proc semOverride(c: PContext, s: PSym, n: PNode) =
|
||||
if s.magic == mAsgn: return
|
||||
incl(s.flags, sfUsed)
|
||||
incl(s.flags, sfOverriden)
|
||||
if name == "=":
|
||||
message(c.config, n.info, warnDeprecated, "Overriding `=` hook is deprecated; Override `=copy` hook instead")
|
||||
let t = s.typ
|
||||
if t.len == 3 and t[0] == nil and t[1].kind == tyVar:
|
||||
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
|
||||
Reference in New Issue
Block a user