diff options
author | metagn <metagngn@gmail.com> | 2024-08-28 21:46:36 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-08-28 20:46:36 +0200 |
commit | d3af51e3ce968076bb3331087806312c0faba054 (patch) | |
tree | 9a3321b4f3691c851ef68d1d82ed364c3d7ec78b /lib | |
parent | ea7c2a440976b2757a780680a08f29c3ce0914e0 (diff) | |
download | Nim-d3af51e3ce968076bb3331087806312c0faba054.tar.gz |
remove fauxMatch for tyFromExpr, remove tyProxy and tyUnknown aliases (#24018)
updated version of #22193 After #22029 and the followups #23983 and #24005 which fixed issues with it, `tyFromExpr` no longer match any proc params in generic type bodies but delay all non-matching calls until the type is instantiated. Previously the mechanism `fauxMatch` was used to pretend that any failing match against `tyFromExpr` actually matched, but prevented the instantiation of the type until later. Since this mechanism is not needed anymore for `tyFromExpr`, it is now only used for `tyError` to prevent cascading errors and changed to a bool field for simplicity. A change in `semtypes` was also needed to prevent calling `fitNode` on default param values resolving to type `tyFromExpr` in generic procs for params with non-generic types, as this would try to coerce the expression into a concrete type when it can't be instantiated yet. The aliases `tyProxy` and `tyUnknown` for `tyError` and `tyFromExpr` are also removed for uniformity.
Diffstat (limited to 'lib')
-rw-r--r-- | lib/system/hti.nim | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/system/hti.nim b/lib/system/hti.nim index 9acaae88b..a26aff982 100644 --- a/lib/system/hti.nim +++ b/lib/system/hti.nim @@ -59,7 +59,7 @@ type tyOwned, tyUnused1, tyUnused2, tyVarargsHidden, tyUncheckedArray, - tyProxyHidden, + tyErrorHidden, tyBuiltInTypeClassHidden, tyUserTypeClassHidden, tyUserTypeClassInstHidden, |