diff options
author | Martin Odersky <odersky@gmail.com> | 2016-08-26 16:38:37 +0200 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2016-08-26 17:57:09 +0200 |
commit | 36648547105bc8ac53dd63a03821a27243af13cd (patch) | |
tree | 87aa262b01aa983088e7f3349da2cc380308f15b /tests/run/i744.check | |
parent | eef9be9817f5c0516e221aab1d14d748a12b386c (diff) | |
download | dotty-36648547105bc8ac53dd63a03821a27243af13cd.tar.gz dotty-36648547105bc8ac53dd63a03821a27243af13cd.tar.bz2 dotty-36648547105bc8ac53dd63a03821a27243af13cd.zip |
Handle complex context merging cases
Test case in isApplicableSafe.scala. It turns out that this
requires a context merge using the new `&' operator. Sequence of actions:
1) Typecheck argument in typerstate 1.
2) Cache argument.
3) Evolve same typer state (to typecheck other arguments, say)
leading to a different constraint.
4) Take typechecked argument in same state.
It turns out that the merge in TyperState is needed not just for
isApplicableSafe but also for (e.g. erased-lubs.scala) as well as
many parts of dotty itself.
Diffstat (limited to 'tests/run/i744.check')
0 files changed, 0 insertions, 0 deletions