| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
| |
Special case HKApply only. This is simpler and potentially
more efficient.
|
|
|
|
|
|
| |
... and likewise for taking a signature. The previous case worked
in all cases except when faced with an alias like `type Id[T] = T`.
In that case, it would disregard the argument and erase to Object.
|
|\
| |
| | |
Render line and col in error message for clickability
|
|/ |
|
|\
| |
| | |
Fix #2253 edge cases: recurse into refined type
|
|/ |
|
|\
| |
| | |
Fix #2184: Hyper Bootstrap! Integrate the backend as a git submodule
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The backend lives in the scalac fork at
https://github.com/lampepfl/scala/tree/sharing-backend. Before this
commit, the scala-compiler built from this fork was a dependency of
Scala just to get this backend. This made it much more cumbersome to
test changes to the backend and also forced us to depend on Scala 2.11.5
since that is the version of scalac that the forked backend is based on.
This commit changes this by adding a git submodule in the
`scala-backend` directory that points to the scalac fork. We do not
compile the whole submodule, instead we add the subset of files we need
to the dotty-compiler project in the sbt build. See backend.md for more
information (online at
http://dotty.epfl.ch/docs/contributing/backend.html) once this commit is
merged.
The most important thing to note is that whenever you clone dotty you
should do `git clone --recursive` to also clone the submodule. If you
already have a cloned dotty you'll need to do:
git submodule update --init
You will need to repeat this command anytime you update dotty and the
backend has been updated, otherwise the content of `scala-backend` will
be stale.
|
|\ \
| | |
| | | |
Fix #2220: disable benchmarks, set run timeout to 30 seconds
|
| |/ |
|
|\ \
| |/
|/| |
Fix #2245: strip colors from strings before writing to file
|
| | |
|
|\ \
| | |
| | | |
Fix #2253: avoid match exception in case of refinement types
|
| |\ \
| |/ /
|/| | |
|
|\ \ \
| | | |
| | | | |
fix #2254: dealias types in decomposition of spaces
|
|\ \ \ \
| | | | |
| | | | | |
Fix NPE when adding cleanup hook
|
| | |_|/
| |/| | |
|
|\ \ \ \
| | | | |
| | | | | |
Fix #2230: Add regression test.
|
| | | | | |
|
|\ \ \ \ \
| |_|/ / /
|/| | | | |
Fix #2152: Instantiate dependent result type parameters
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
The original fix made run/hmap-covariant fail because a type variable
representing a dependent result parameter was instantiated. Trying something
else now.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
#2152 shows that dependent result type parameters can end up in
the types of terms, so we have to eliminate them. If we don't we
get orphan parameters in pickling.
Fix method name and comment
|
|\ \ \ \ \
| | | | | |
| | | | | | |
Revert <: Product requierment in pattern matching
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
The change in question broke the following pattern, commonly used in name based pattern matching:
```scala
object ProdEmpty {
def _1: Int = ???
def _2: String = ???
def isEmpty = true
def get = this
}
```
This type define both `_1` and `get` + `isEmpty` (but is not <: Product). After #1938, `ProdEmpty` became eligibles for both product and name based pattern. Because "in case of ambiguities, *Product Pattern* is preferred over *Name Based Pattern*", isEmpty wouldn't be used, breaking the scalac semantics.
|
|\ \ \ \ \ \
| | | | | | |
| | | | | | | |
Various vulpix fixes
|
| | | | | | | |
|
| | | | | | | |
|
| | | | | | | |
|
| |/ / / / / |
|
|\ \ \ \ \ \
| |/ / / / /
|/| | | | | |
Update intructions to run a single test
|
|/ / / / /
| | | | |
| | | | |
| | | | | |
I removed the `|` part, it's not possible anymore right?
|
|\ \ \ \ \
| | | | | |
| | | | | | |
Ci fixes
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
When compiling with dotty, this leads to NullPointerException because
the lazy val is not @volatile. Better to just make it a val.
|
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Aliases are evil and usually don't do what you want.
|
|/ / / / /
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Since the tests will be run in FIFO order, we can minimize the number of
intensive tests running concurrently by putting the intensive tests at
the end of the list.
|
| | | |/ |
|
| |_|/
|/| | |
|
|\ \ \
| | | |
| | | | |
Killing partest part 2 - Enter the Vulpix
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Note that merging this as-is will not protect us against fork bombs.
This is because the timeout of tests is currently 180 seconds. A
forkbomb that is allowed to run for that long...
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|