Merge 2.11 to 2.12

Instead of merging in 2.11, i already used https://github.com/scala/scala/pull/3958 (which is an open PR that merges 2.10 into 2.11).

Conflicts:
  * `versions.properties` (usually we merge changes to `versions.properties` with `-s ours`, but here it was part of a larger commit https://github.com/scala/scala/commit/e3107465c3e8ac80d1cc6a759e2f3298c2531424#diff-22)
  * comment in `Regex.scala`

Two commits were merged with `-s ours`
  * 5a878c2 updates `versions.properties` after the 2.11.2 release
  * eb74148 contains backports from 2.12 to 2.11

Full log (long)

```
lucmac:scala luc$ git lg
*   61dbf4a - (HEAD, upstream/2.12.x, upstream-writable/2.12.x, 2.12.x) Merge pull request #3928 from kzys/dup-html-ids (4 hours ago) <Grzegorz Kossakowski>

lucmac:scala luc$ git checkout -b merge/2.11-to-2.12-is-it-really-sept-2-already-where-was-summer
Switched to a new branch 'merge/2.11-to-2.12-is-it-really-sept-2-already-where-was-summer'

lucmac:scala luc$ git lg merge/2.10-to-2.11-sept-2 
*   1bbfd6b - (origin/merge/2.10-to-2.11-sept-2, merge/2.10-to-2.11-sept-2) Merge branch '2.10.x' into merge/2.10-to-2.11-sept-2 (13 minutes ago) <Lukas Rytz>

lucmac:scala luc$ export MB=$(git merge-base head merge/2.10-to-2.11-sept-2)

lucmac:scala luc$ git log --graph --oneline --decorate $MB..merge/2.10-to-2.11-sept-2 
*   1bbfd6b (origin/merge/2.10-to-2.11-sept-2, merge/2.10-to-2.11-sept-2) Merge branch '2.10.x' into merge/2.10-to-2.11-sept-2
|\  
| *   d2a5555 (upstream/2.10.x, upstream-writable/2.10.x, origin/2.10.x, 2.10.x) Merge pull request #3937 from som-snytt/issue/8787-doc-backport
| |\  
| | * 8876227 (som-snytt/issue/8787-doc-backport) [backport] SI-8787 Backport Regex doc
| |/  
| *   1d3613b Merge pull request #3865 from xeno-by/topic/extractor-macros-210x
| |\  
| | * 36379cf [backport] transformers no longer ignore UnApply.fun
| *   ac7e102 Merge pull request #3860 from gourlaysama/wip/t7710-backport
| |\  
| | * fceae70 [backport] SI-7710 fix memory performance of RegexParsers in jdk7u6+
* |   3f69314 Merge commit 'b5759ef' into merge/2.10-to-2.11-sept-2
|\ \  
| |/  
| *   b5759ef Merge pull request #3904 from kzys/jira-8314-2.10.x
| |\  
| | * b6c00d6 Prevent SI-8314 by adding a test
| |/  
| * d74da16 Merge pull request #3752 from jeroentervoorde/SI_8589
| * 099a426 SI-8589 Performance improvement for ArrayCharSequence.toString
*   c66b886 (upstream/2.11.x, upstream-writable/2.11.x, origin/2.11.x, 2.11.x) Merge pull request #3952 from gourlaysama/wip/t8828-lint-innacessible
|\  
| * 997ef56 (gourlaysama/wip/t8828-lint-innacessible) SI-8828 fix regression in Xlint visibility warning for sealed classes
* |   fc21e3b Merge pull request #3956 from gourlaysama/wip/interp-warn
|\ \  
| * | 20daa00 (gourlaysama/wip/interp-warn) SI-7931 fix Dscala.repl.vids and some string interpolation typos
| |/  
* |   97d0953 Merge pull request #3948 from retronym/ticket/8823
|\ \  
| * | f6467d0 SI-8823 Exclude specialized methods from extension method rewrite
* | |   bb3b08d Merge pull request #3931 from lrytz/opt/tracked-final
|\ \ \  
| |_|/  
|/| |   
| * | 2256753 (origin/opt/tracked-final, opt/tracked-final) Small cleanup in toTypeKind.
| * | e310746 Fix InnerClass / EnclosingMethod attributes
| * | 2606bd9 Don't traverse all trees in delambdafy phase if delambdafy:inline
| * | 3bcad9a Fix indentation in delambdafy
| * | 2229583 Integrate CoreBTypes by composition (not inheritance), non-var fields
| * | 53437e6 Minor cleanups, integrating review feedback
| * | c3752d7 Add the ACC_DEPRECATED flag in javaFlags, instead of each call site.
| * | f73f026 Remove Tracked, add type information to ClassBType
| * | bdc3ff9 Set currentUnit while generating bytecode.
* | |   7693cec Merge pull request #3949 from lrytz/t8627
|\ \ \  
| * | | 9276a12 (origin/t8627, t8627) SI-8627 make Stream.filterNot non-eager
| |/ /  
* | |   b9048bb Merge pull request #3905 from gourlaysama/wip/t5691-2
|\ \ \  
| * | | 756e551 (gourlaysama/wip/t5691-2) SI-5691 lint warning when a type parameter shadows an existing type.
* | | |   eb74148 Merge pull request #3947 from lrytz/backports
|\ \ \ \  
| |_|_|/  
|/| | |   
| * | |   e27d024 (origin/backports, backports) Merge remote-tracking branch 'upstream/2.11.x' into backports
| |\ \ \  
| |/ / /  
|/| | |   
* | | |   47908f1 Merge pull request #3929 from retronym/ticket/8793
|\ \ \ \  
| * | | | a16a635 SI-8793 Fix patmat regression with extractors, existentials
* | | | |   63a0876 Merge pull request #3886 from adriaanm/report-filter
|\ \ \ \ \  
| * | | | | ca9f64d Encapsulate creating SilentResultValue/SilentTypeError.
| * | | | | e21096f Separate statistics from functional code; optimize.
| * | | | | 3a4c6db Towards more privacy for _reporter.
| * | | | | e131424 Work around weird AbstractMethodError
| * | | | | 5d00b59 Cleanup ContextReporter hierarchy
| * | | | | 9707e1d s/reportBuffer/reporter
| * | | | | 258d95c Remove dead code: mode setting
| * | | | | 725c5c9 Encapsulate reporting mode as class of reportBuffer.
| * | | | | f0fdcc0 Clarify that ThrowErrors is the default
| * | | | | ff7c467 repl depends on jline-2.12
| * | | | | cdee835 Configure `checking` mode in `rootContext`.
| * | | | | 064bc5e Remove `def error(pos: Position, err: Throwable)`
| * | | | | 43da1db Introduce `AbsAmbiguousTypeError`.
| * | | | | c6bee64 Untangle reporting of ambiguous errors.
| * | | | | 5e62c59 Reduce Context iface: remove dead code.
| * | | | | 03baff7 Reduce Context iface: make contextMode mutators private.
| * | | | | 1f1c131 Reduce Context iface: inline internally.
| * | | | | dc955c9 Reduce Context iface: encapsulate buffer manipulation.
| * | | | | 474141f Reduce Context iface: inline complex forwarders.
| * | | | | 338cfff Reduce Context iface: inline trivial forwarders.
| * | | | | ecda101 Make more explicit that TypeError is being thrown.
| * | | | | dda3f24 Rely less on intricacies of `contextMode`-based reporting.
| * | | | | b8503f6 Restrict `contextMode` fiddling to `Context`
| * | | | | 543bb3e Encapsulate `TryTwice` as a class, move to `Context`.
| * | | | | ac6dcad Extract the `makeNonSilent` method.
| * | | | | a740746 Clarify divergentError comment
| * | | | | 3fd4f47 Add errorCount to wean partest off Reporter$Severity
| * | | | | 5895e10 Concretize diagnostics: one boolean suffices for now.
| * | | | | 67651e2 Simplify (ambiguous) error issuing.
| * | | | | 2aa1f1e Remove another redundant forwarder
| * | | | | 64ebac2 Move more parsing hooks out of reporting.
| * | | | | 638b4c3 Regularize `comment` hook method
| * | | | | 4b333fb Minor cleanup in AbstractReporter.
| * | | | | 8f25a51 Eclipse project: repl depends on compiler/lib projects
* | | | | |   6ec0d70 Merge pull request #3943 from gourlaysama/wip/fsc
|\ \ \ \ \ \  
| * | | | | | 066d102 (gourlaysama/wip/fsc) SI-5227 make fsc notify its client upon compiler crash
| * | | | | | 6f54b1d SI-1264 fsc compiler output should go to stderr, like scalac
* | | | | | |   3555e0e Merge pull request #3942 from gourlaysama/wip/junit
|\ \ \ \ \ \ \  
| |/ / / / / /  
|/| | | | | |   
| * | | | | | 42f8a96 (gourlaysama/wip/junit) Add support for running a specific Junit test/method.
|/ / / / / /  
* | | | | |   d4b5c7b Merge pull request #3923 from som-snytt/issue/8787
|\ \ \ \ \ \  
| |_|_|_|_|/  
|/| | | | |   
| * | | | | f98c53c (som-snytt/issue/8787) SI-8787 Addressing feedback, additional periods.
| * | | | | 0e26910 SI-8787 Update doc for Regex
| * | | | | cd2394e SI-8787 If you love nulls, so does Regex
* | | | | |   5e0880f Merge pull request #3909 from som-snytt/issue/8512
|\ \ \ \ \ \  
| |_|_|/ / /  
|/| | | | |   
| * | | | | 606a553 (som-snytt/issue/8512) SI-8512 Infer Any for the q
| * | | | | 2e3583b SI-8512 Infer a type for f"$args"
|/ / / / /  
* | | | |   7a69474 Merge pull request #3927 from lrytz/innerClassesTest
|\ \ \ \ \  
| * | | | | 0270972 test for InnerClass and EnclosingMethod attributes
| |/ / / /  
* | | | |   eb7b834 Merge pull request #3907 from gourlaysama/wip/proxy
|\ \ \ \ \  
| * | | | | bb2c246 a few missing deprecations in proxy collections.
| | |_|_|/  
| |/| | |   
* | | | |   ed9cca8 Merge pull request #3902 from gourlaysama/wip/t4563
|\ \ \ \ \  
| * | | | | ed9dfee SI-4563 friendlier behavior for Ctrl+D in the REPL
| |/ / / /  
* | | | |   bc0fc0f Merge pull request #3889 from som-snytt/issue/6476-alt
|\ \ \ \ \  
| |_|/ / /  
|/| | | |   
| * | | | eff9a58 (som-snytt/issue/6476-alt) SI-6476 Unitize ALL the procedures!
| * | | | ccbb84b SI-6476 Unitize procedures, readability
| * | | | b4f5067 SI-6476 Documentation
| * | | | abb58dc SI-6476 Improve error on escapement
| | | | * 7717244 (gourlaysama/backports) [backport] Rewrite explanation of doc-source-url option more clearly, and fix encoding to show euro-sign correctly.
| | | | * 40beefb [backport] Update javadoc tag to new scaladoc tags.
| | | | * 5cb672b [backport] Fixes cut sentences in the generated scaladocs
| | | | * 2b78c32 [backport] Refactored example to Option.collect method.
| | | | * cb2cfc0 [backport] Fixed mathematically wrong statement in the documentation of scala.math.PartialOrdering.
| | | | * b70b074 [backport] Fix scaladoc typo
| | | | * e54b772 [backport] Did not know of the fix for SI-8672. Followed the recommendation given by som-snytt.
| | | | * 9ef3d29 [backport] Fixes first sentence delimiters
| | | | * 3b7a989 [backport] [scaladoc] Changed align of example code to Option.contains and Option.collect methods.
| | | | * 1c96ed5 [backport] SI-8705   Added example to Option.contains method.
| | | | * f18db59 [backport] Added example to Option.collect method.
| | | | * c52bceb [backport] Change StringContext scaladoc
| | | | * 730f311 [backport] som-snytt's update to wording
| | | | * 165d21e [backport] Revised comment to appeal to lchoran's and som-snytts comments
| | | | * 70d8aaa [backport] Update PartialFunction documentation to include the fact that the caller is responsible for checking 'isDefinedAt'
| | | | * f7e7f70 [backport] Update PartialFunction documentation to include the fact that the caller is responsible for checking 'isDefinedAt'
| | | | * 5321b1b [backport] Make comment consistent with code
| | | | * 7bcb316 [backport] Update AnyVals.scala
| |_|_|/  
|/| | |   
* | | |   50167e3 Merge pull request #3914 from som-snytt/issue/orphan-check
|\ \ \ \  
| * | | | 199ae26 (som-snytt/issue/orphan-check) Orphan check file
| | |/ /  
| |/| |   
* | | |   4ac27f4 Merge pull request #3921 from gourlaysama/goodbye-jline
|\ \ \ \  
| * | | | 9e13f7e remove jline sources from src/ now that we use a released jline.
| |/ / /  
* | | |   c86fdbf Merge pull request #3916 from retronym/ticket/8781
|\ \ \ \  
| |/ / /  
|/| | |   
| * | | 1f3319c SI-8781 Avoid double-expansion under -Ymacro-expand:discard
|/ / /  
* | |   84d4ebc Merge pull request #3895 from lrytz/jline-update
|\ \ \  
| * | | ee665e2 Also update jline.version when update.versions is set during build
* | | |   4445615 Merge pull request #3894 from adriaanm/depmsg
|\ \ \ \  
| * | | | c436048 Better error message than 'bad symbolic reference'.
| |/ / /  
* | | |   5a878c2 Merge pull request #3897 from lrytz/2.11.2-bump
|\ \ \ \  
| * | | | ef427b2 Bump versions for Scala 2.11.2
| |/ / /  
* | | |   01f2d27 Merge pull request #3890 from dhgarrette/2.11.x
|\ \ \ \  
| * | | | 0f5580e Fixed incorrect example in StringContext.raw doc
| * | | | 7a1863e Remove "throws InvalidEscapeException" from StringContext.raw doc
| |/ / /  
* | | |   d1941ea Merge pull request #3884 from mpociecha/remove-invalidation-from-global
|\ \ \ \  
| * | | | 41507ba Remove invalidation from Global.scala
* | | | |   e89fe92 Merge pull request #3826 from lrytz/opt/refactorTracked
|\ \ \ \ \  
| * | | | | a8c88b1 Documentation for isModuleClass
| * | | | | ee706b8 Support writing classfile of version 52
| * | | | | 0ccdb15 Clean up and document some usages of flags in the backend
| * | | | | 1bed39a Pattern matching on ClassBType extracts the inernalName
| * | | | | 57de87e Remove unnessecary check when computing InnerClass attribute flags
| * | | | | 91c7be1 Comment summarizing the JVM spec for InnerClass / EnclosingMethod
| * | | | | 4c2217e Minor cleanups and comments in GenBCode
|  / / / /  
* | | | |   33b847b Merge pull request #3896 from retronym/ticket/8743
|\ \ \ \ \  
| |_|/ / /  
|/| | | |   
| * | | | 926585a SI-8743 Fix crasher with poly-methods annotated with @varargs
|/ / / /  
* | | |   73fb460 (tag: v2.11.2) Merge pull request #3888 from som-snytt/issue/8736
|\ \ \ \  
| * | | | 5a30c40 (som-snytt/issue/8736) SI-8736 Error if no arg and no default
| * | | | 01da58e SI-8736 Restore -language to former glory
| | |/ /  
| |/| |   
* | | |   afa96e3 Merge pull request #3887 from Ichoran/issue/8738
|\ \ \ \  
| |/ / /  
|/| | |   
| * | | c7cc1a8 SI-8738  Regression in range equality
|/ / /  
* | |   abdd570 Merge pull request #3885 from som-snytt/issue/8525-cleanup
|\ \ \  
| |_|/  
|/| |   
| * | 68560dd SI-8525 MultiChoice takes a helper function
| * | bde6239 SI-8525 Multichoice help
| * | f81ec8d (som-snytt/issue/8252-help) SI-8525 Clarify usage of -Xlint:_,flag
|/ /  
* |   04cb634 Merge pull request #3792 from som-snytt/issue/8525
|\ \  
| * | 3b89c16 SI-8525 No anonymous lint
| * | 44855dc SI-8525 Add -Xlint:-warn-missing-interpolator
| * | 91670d9 SI-8616 Error on -deprecation:true,false
| * | 2103dbc SI-8610 -Xlint is multichoice option
|  /  
* |   0f8b07a Merge pull request #3883 from gourlaysama/wip/t8557
|\ \  
| * | ec46a1f SI-8557 make scaladoc normalize paths of external jars.
|  /  
* |   174cf45 Merge pull request #3817 from phaller/topic/typetags
|\ \  
| * | f15a289 Add SerialVersionUID to SerializedTypeTag and SerializedExpr
| * | 5762110 SI-5919 TypeTags and Exprs should be serializable
| |/  
* |   41491b0 Merge pull request #3858 from densh/si/8703
|\ \  
| * | 9d527b6 Address pull request feedback
| * | 14d1fe0 SI-8703 add support for blocks with just a single expression to quasiquotes
|  /  
* |   2429603 Merge pull request #3882 from adriaanm/jline-2.12
|\ \  
| * | 997647e Bump jline version to 2.12 (Re: SI-8535)
| |/  
* |   87eda3a Merge pull request #3845 from xeno-by/topic/attachment-subclassing
|\ \  
| * | 70afd05 relaxes attachment-matching rules
|  /  
* |   2a137d0 Merge pull request #3844 from xeno-by/topic/rangepos-subpatterns
|\ \  
| |/  
|/|   
| * 5ba2be2 prevents some reflection APIs from destroying rangeposes
*   87bba94 Merge pull request #3872 from lrytz/no-adapted-args
|\  
| * adba405 Fix -Yno-adapted-args, it would just warn, not err
*   64df8bc Merge pull request #3878 from som-snytt/issue/8608
|\  
| * 146bdd7 SI-8608 f-interpolator inlines StringOps
| * b0dd01e SI-8608 f interpolator emits constant strings
*   854de2d Merge pull request #3871 from lrytz/t8117
|\  
| * c39c693 SI-8117 Fix bug when mixing well-positioned named and positional args
* efe4f63 Merge pull request #3874 from phaller/issue/8590
* 26b77ac SI-8590 Expand doc comments for ExecutionContext


lucmac:scala luc$ git merge 01f2d27
Merge made by the 'recursive' strategy.
 102 files changed, 1321 insertions(+), 552 deletions(-)

lucmac:scala luc$ git lg
*   f196ee2 - (HEAD, merge/2.11-to-2.12-is-it-really-sept-2-already-where-was-summer) Merge commit '01f2d27' into merge/2.11-to-2.12-is-it-really-sept-2-already-where-was-summer (2 minutes ago) <Lukas Rytz>


lucmac:scala luc$ git merge 5a878c2 -s ours
Merge made by the 'ours' strategy.
lucmac:scala luc$ git diff f196ee2
lucmac:scala luc$ 


lucmac:scala luc$ git merge 47908f1
Auto-merging src/library/scala/util/matching/Regex.scala
CONFLICT (content): Merge conflict in src/library/scala/util/matching/Regex.scala
Automatic merge failed; fix conflicts and then commit the result.

lucmac:scala luc$ git add src/library/scala/util/matching/Regex.scala
lucmac:scala luc$ git ci
[merge/2.11-to-2.12-is-it-really-sept-2-already-where-was-summer a08be99] Merge commit '47908f1' into merge/2.11-to-2.12-is-it-really-sept-2-already-where-was-summer


lucmac:scala luc$ git lg
*   a08be99 - (HEAD, merge/2.11-to-2.12-is-it-really-sept-2-already-where-was-summer) Merge commit '47908f1' into merge/2.11-to-2.12-is-it-really-sept-2-already-where-was-summer (48 seconds ago) <Lukas Rytz>


lucmac:scala luc$ git merge eb74148 -s ours
Merge made by the 'ours' strategy.
lucmac:scala luc$ git diff a08be99
lucmac:scala luc$ 


lucmac:scala luc$ git merge merge/2.10-to-2.11-sept-2
Auto-merging versions.properties
CONFLICT (content): Merge conflict in versions.properties
Automatic merge failed; fix conflicts and then commit the result.

lucmac:scala luc$ git add versions.properties
lucmac:scala luc$ git ci
[merge/2.11-to-2.12-is-it-really-sept-2-already-where-was-summer 91c4192] Merge branch 'merge/2.10-to-2.11-sept-2' into merge/2.11-to-2.12-is-it-really-sept-2-already-where-was-summer
```