aboutsummaryrefslogtreecommitdiff
path: root/compiler/src/dotty/tools/dotc/core/StdNames.scala
Commit message (Collapse)AuthorAgeFilesLines
* Merge pull request #2045 from dotty-staging/fix-hlist-hmapodersky2017-03-091-0/+1
|\ | | | | Fix type inference for HLists and HMaps
| * Fix handling of dependent method typesMartin Odersky2017-03-011-0/+1
| | | | | | | | | | Need to use fresh PolyParams instead of WildcardTypes if constraint is committable.
* | Remove uses of StringOps from scala-reflectGuillaume Martres2017-03-081-1/+1
|/
* Treat implicit by-name arguments as lazy valuesMartin Odersky2017-02-171-0/+1
| | | | | | | | | | 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.
* Fix #1976: Hack to support scala.xml's $scope (#1977)odersky2017-02-141-0/+1
| | | | | | 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.
* Change scheme to use SelectableMartin Odersky2017-01-071-1/+1
| | | | | Use base types instead of implicits. This is more robust in the presence of type abstraction.
* Implement structural type member accessMartin Odersky2017-01-051-0/+1
| | | | New scheme for implementing structural type member access.
* New ShortcutImplicits phaseMartin Odersky2016-12-171-0/+1
| | | | | Optimizes implicit closures by avoiding closure creation where possible.
* Add ImplicitFunctionN classesMartin Odersky2016-12-171-0/+1
| | | | These are always synthetic; generated on demand.
* Implement new rules for name-based pattern matchingMartin Odersky2016-12-151-1/+0
| | | | This implements the rules laid down in #1805.
* Drop function 22 limit.Martin Odersky2016-11-301-0/+1
| | | | | | | | | | | | | | | | | | | 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.
* Move compiler and compiler tests to compiler dirFelix Mulder2016-11-221-0/+844