| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| | |
Fix type inference for HLists and HMaps
|
| |
| |
| |
| |
| | |
Need to use fresh PolyParams instead of WildcardTypes
if constraint is committable.
|
|/ |
|
|
|
|
|
|
|
|
|
|
| |
With the previous rules, the two test cases produce a
diverging implicit expansion. We avoid this by creating
for every implicit by-name argument of type T a lazy implicit
value of the same type. The implicit value is visible for all
nested implicit searches of by-name arguments. That way,
we tie the knot and obtain a recursive lazy value instead of
a diverging expansion.
|
|
|
|
|
|
| |
This is a gross hack to support the need for a $scope
binding when XML literals are created. It should go away
once we phase out XML literals. A library-based
solution should use implicits instead.
|
|
|
|
|
| |
Use base types instead of implicits. This is more robust
in the presence of type abstraction.
|
|
|
|
| |
New scheme for implementing structural type member access.
|
|
|
|
|
| |
Optimizes implicit closures by avoiding closure
creation where possible.
|
|
|
|
| |
These are always synthetic; generated on demand.
|
|
|
|
| |
This implements the rules laid down in #1805.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Functions with more than 22 parameters are now
automatically converted to functions taking
a single object array parameter.
This has been achieved by tweaking erasure.
Other things I have tried that did ot work out well:
- Use a single function type in typer. The problem with this
one which could not be circumvented was that existing higher-kinded
code with e.g. Funcor assumes that Functon1 is a binary type constructor.
- Have a late phase that converts to FunctonXXL instead of
doing it in erasure. The problem with that one was that
potentially every type could be affected, which was ill-suited
to the architecture of a miniphase.
|
|
|