diff options
author | metagn <metagngn@gmail.com> | 2024-09-27 10:34:13 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-09-27 09:34:13 +0200 |
commit | 75b9d665822d87d90372f6a5a3ffded96887e3db (patch) | |
tree | 268d3e7a5e9a2051604862772dd007c747bf2681 /lib/std/private/digitsutils.nim | |
parent | c21bf7f41babcdb049c54d4e148883606764947e (diff) | |
download | Nim-75b9d665822d87d90372f6a5a3ffded96887e3db.tar.gz |
treat resolved symbols on RHS of module qualification as identifiers (#24180)
fixes #19866 given #23997 When searching for a module-qualified symbol, `qualifiedLookUp` tries to obtain the raw identifier from the RHS of the dot field. However it only does this when the RHS is either an `nkIdent` or an `nkAccQuoted` node, not when the node is a resolved symbol or a symchoice, such as in templates and generics when the module symbol can't be resolved yet. Since the LHS is a module symbol when the compiler checks for this, any resolved symbol information doesn't matter, since it has to be a member of the module. So we now obtain the identifier from these nodes as well as the unresolved identifier nodes. The test is a bit niche and possibly not officially supported, but this is likely a more general problem and I just couldn't think of another test that would be more "proper". It's better than the error message `'a' has no type` at least.
Diffstat (limited to 'lib/std/private/digitsutils.nim')
0 files changed, 0 insertions, 0 deletions