mirror of
https://github.com/digital-asset/daml.git
synced 2024-09-20 09:17:43 +03:00
a6da995ecb
* variance calculation without references or cycles * an idea for handling the recursive reference case elegantly * extra data for resolving constraints from [recursive] references later * note on TypeVar case * trying a different delayed resolution * quagmire * the problem: we were trying to solve too early and mix reference levels * force inner delays to be pulled out; squash the delays iteratively * make the variance result accessible * phantoms are covariant * scalafmt * simplest GenMap test * reference tests * factoring * don't treat covariant reference arguments as phantom * making the wrong reference in delays was breaking solve steps * test cons list self-recursion * more recursion testing * -> is better for 2-tuples here * test cumulative variance tracking * uninhabited types have variance too * test mutual recursion with lots of indirect references * trigger for failing case in incremental resolution * redesign delayed constraints to handle nesting properly, and be much simpler * integrate variance calculation with rest of Scala codegen * handle concrete type and all-phantoms cases; test * add integration test for variance inference * add changelog CHANGELOG_BEGIN - [Scala Codegen] Type parameters used in GenMap keys are now supported. See `issue #8879 <https://github.com/digital-asset/daml/pull/8879>`__. CHANGELOG_END * proper doc for covariantVars - suggested by @cocreature; thanks * remove useless local var - suggested by @cocreature; thanks * add another recursive function to capture more invariants - suggested by @cocreature; thanks * absence in what - suggested by @cocreature; thanks * use Identifier instead of I - suggested by @cocreature; thanks * remove unused type vars; make goSdt cleaner * also precache variance of choice and key-referenced types - suggested by @cocreature; thanks |
||
---|---|---|
.. | ||
codegen-common | ||
codegen-main | ||
hs/bindings | ||
java | ||
scala | ||
ts |