summary refs log tree commit diff stats
path: root/changelog.md
diff options
context:
space:
mode:
authormetagn <metagngn@gmail.com>2024-09-04 10:13:28 +0300
committerGitHub <noreply@github.com>2024-09-04 09:13:28 +0200
commitc314155fb37ef7dbd8a7de0df7e8b9d9b61f4802 (patch)
treed10a8578c4cb5bd1129bf220e95f0b548a5061ee /changelog.md
parentf69809bb1762da92ec83df023a9d4740a54e4335 (diff)
downloadNim-c314155fb37ef7dbd8a7de0df7e8b9d9b61f4802.tar.gz
document partial generics breaking changes (#24055)
refs #24010, split from #24051
Diffstat (limited to 'changelog.md')
-rw-r--r--changelog.md13
1 files changed, 13 insertions, 0 deletions
diff --git a/changelog.md b/changelog.md
index 541bbd6eb..6c06e2913 100644
--- a/changelog.md
+++ b/changelog.md
@@ -28,6 +28,19 @@
   errors for ambiguous type symbols, and macros operating on generic proc AST
   may encounter symchoice nodes instead of the arbitrarily resolved type symbol nodes.
 
+- Partial generic instantiation of routines is no longer allowed. Previously
+  it compiled in niche situations due to bugs in the compiler.
+
+  ```nim
+  proc foo[T, U](x: T, y: U) = echo (x, y)
+  proc foo[T, U](x: var T, y: U) = echo "var ", (x, y)
+
+  proc bar[T]() =
+    foo[float](1, "abc")
+
+  bar[int]() # before: (1.0, "abc"), now: type mismatch, missing generic parameter
+  ```
+
 ## Standard library additions and changes
 
 [//]: # "Changes:"