-
-
Notifications
You must be signed in to change notification settings - Fork 1.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Deprecate any #16920
Deprecate any #16920
Conversation
er.. I'm not sure, but I believe you're not tracking all nim code out there? Not that I mind deprecating bad ideas (in fact, I support it), but doing so goes against 1.0 guarantees / promises - what's the plan / next step after deprecation? It would be good to manage these expectations so that people that swallowed the "no breaking changes" pill know what's coming. |
We are NOT removing |
note that I wrote that line (see my edit in top post); obviously this only tracks as @juancarlospaco said this is not a breaking change. Deprecating is a necessary step to help users migrate their code, in particular if next nim version major bump (eg 2.x) turns those deprecations into errors/removes such symbols. Furthermore, it's trivial to ignore deprecation warnings in cmdline/user config (--warning:deprecated:off), or, pending timotheecour#403, in a more targetted way ( Breaking changes are sometimes the lesser evil to avoid accumulating cruft/bad design/error prone patterns and whether they're acceptable is decided on case by case basis; see noteIMO a future PR that would introduce when defined(nimLegacyAny):
any* {.deprecated: "Deprecated since v1.5; Use auto instead.".} = distinct auto (trivial to enable in your config; not all breaking changes are equally painful) |
Can you review @xflywind so we get more reviews so is "mergeable". Thanks. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It doesn't break anything, looks good to me.
any
.any
(redundant withauto
) RFCs#281note
when removing
any
to see what would break if any were removed instead of deprecated, only these packages are affected:chronicles
,telebot
,sam
:(refs https://github.com/nim-lang/Nim/runs/1823138277)