[Chapel Merge] Dyno: resolution fixes variety pack

Branch: refs/heads/main
Revision: 49dc49ce752197a27430c80864f76ed28205aebc
Author: DanilaFe
Link: Dyno: resolution fixes variety pack by DanilaFe · Pull Request #26623 · chapel-lang/chapel · GitHub
Log Message:
Dyno: resolution fixes variety pack (#26623)

This PR goes through the resolution meta-issue and fixes a number of
relatively simple issues encountered in the course of resolving the
specs.

Closes https://github.com/Cray/chapel-private/issues/7036 (querying
vararg size in where clause)
Closes https://github.com/Cray/chapel-private/issues/7034 ("passing
nested enums to generic functions", but actually resolving nested enums
at all)
Closes https://github.com/Cray/chapel-private/issues/7033 (range(?)
formals becoming concrete; more broadly, R(?) formals becoming
concrete for generic-with-defaults R)
Closes https://github.com/Cray/chapel-private/issues/7030 (resolving
new on type aliases to instantiated types).
Closes https://github.com/Cray/chapel-private/issues/6927 (assigning
nil to ddata, but broadly fixing candidate selection w/ generic
formals and subtype conversions)

Reviewed by @riftEmber -- thanks!

Testing

  • dyno tests
  • paratest

Compare: Comparing b789f5b6d242e1a93659c45c555e9d1657efa65f...39eb9cdd85a1369afc2617dce9301bb018686ab6 · chapel-lang/chapel · GitHub

Diff:
M frontend/include/chpl/resolution/can-pass.h
M frontend/include/chpl/resolution/resolution-error-classes-list.h
M frontend/lib/resolution/InitResolver.cpp
M frontend/lib/resolution/Resolver.cpp
M frontend/lib/resolution/Resolver.h
M frontend/lib/resolution/can-pass.cpp
M frontend/lib/resolution/resolution-error-classes-list.cpp
M frontend/lib/resolution/resolution-queries.cpp
M frontend/lib/resolution/signature-checks.cpp
M frontend/test/resolution/testEnums.cpp
M frontend/test/resolution/testHeapBuffer.cpp
M frontend/test/resolution/testInitSemantics.cpp
M frontend/test/resolution/testRanges.cpp
M frontend/test/resolution/testResolve.cpp
M frontend/test/resolution/testVarArgs.cpp
https://github.com/chapel-lang/chapel/pull/26623.diff