Skip to content

Sync with the stable documentation branch #16714

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 25 commits into from
Jan 23, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
56d0268
Add changelog for 3.2.2-RC1
Kordyjan Nov 3, 2022
6d1df2e
Release 3.2.2-RC1
Kordyjan Nov 3, 2022
188e595
Use `baseVersion` for reference documentation
Kordyjan Nov 7, 2022
917bcfc
Backport "Use `baseVersion` for reference documentation" (#16307)
Kordyjan Nov 9, 2022
f550093
Backport completions are at typer
som-snytt Dec 19, 2022
3beadfb
Backport completions are at typer (#16558)
dwijnand Dec 20, 2022
5278346
Only include accessible base classes in orDominator
odersky Dec 7, 2022
6237bc3
Skip test for scalaJS
odersky Dec 7, 2022
55dbf64
Fix curried overloading resolution for polymorphic methods
odersky Dec 9, 2022
0d79780
Fix exhaustivity warning
dwijnand Oct 11, 2022
99ba2a3
Teach SpaceEngine that generic tuples are irrefutable
dwijnand Sep 15, 2022
6b8b31c
Backport "Only include accessible base classes in orDominator" (#16575)
Kordyjan Dec 22, 2022
6059da4
Backports "Fix curried overloading resolution for polymorphic methods…
Kordyjan Dec 22, 2022
7fe6b8b
Backport recent exhaustivity fixes (#16578)
Kordyjan Dec 22, 2022
1152262
Add changelog for 3.2.2-RC2
Kordyjan Dec 22, 2022
92e1e43
Release 3.2.2-RC2
Kordyjan Dec 22, 2022
7730b09
Add changelog for 3.2.2
Kordyjan Jan 11, 2023
22193a3
Release 3.2.2
Kordyjan Jan 11, 2023
7aba7b0
Allow PRs for GH actions bot
szymon-rd Dec 12, 2022
62bcea0
Not ignore language reference stable branch on CI
szymon-rd Dec 12, 2022
e1dbd87
trait-parameters.md: delete invalid code from example
unkarjedy Dec 14, 2022
4a8766c
Hide versions when versions dict. not available
szymon-rd Jan 18, 2023
d26c3ca
Hide versions in reference when versions dictionary not available (#1…
Kordyjan Jan 20, 2023
a3321cc
Merge branch 'release-3.2.2' into language-reference-stable
Kordyjan Jan 23, 2023
9de66c9
Merge branch 'main' into language-reference-stable
Kordyjan Jan 23, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
151 changes: 151 additions & 0 deletions changelogs/3.2.2-RC1.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,151 @@
# Highlights of the release

- Make truncation by characters in repl configurable [#16167](https://github.com/lampepfl/dotty/pull/16167)
- New (experimental for now) lazy vals implementation [#15296](https://github.com/lampepfl/dotty/pull/1)

# Other changes and fixes

## Coverage

- Make coverage instrumentation more robust [#16235](https://github.com/lampepfl/dotty/pull/16235)

## Default parameters

- Resolve overloading: keep track of prefix and indices of all default getters [#16009](https://github.com/lampepfl/dotty/pull/16009)

# Experimentals

- Let accesors inherit @experimental annotations from accessed symbols [#16099](https://github.com/lampepfl/dotty/pull/16099)

## Extension Methods

- Fix i14451 [#16010](https://github.com/lampepfl/dotty/pull/16010)

# GADTs

- Add fixed GADT exhaustivity test cases [#16169](https://github.com/lampepfl/dotty/pull/16169)
- Eliminate class hierarchy in GadtConstraint [#16194](https://github.com/lampepfl/dotty/pull/16194)

## Initialization

- Code refactoring of initialization checker [#16066](https://github.com/lampepfl/dotty/pull/16066)

## Inline

- Refine checking for outer references [#16122](https://github.com/lampepfl/dotty/pull/16122)

## Java interoperability

- Parse native in Java bytecode as @native [#16232](https://github.com/lampepfl/dotty/pull/16232)

## Opaque Types

- Disallow opaque type aliases of context functions [#16041](https://github.com/lampepfl/dotty/pull/16041)

## Parser

- Align implementation with spec of soft modifiers [#15961](https://github.com/lampepfl/dotty/pull/15961)

## Pattern Matching

- Fix redundancy (unreachability) warning [#16179](https://github.com/lampepfl/dotty/pull/16179)

# Polyfunctions

- Avoid checking purity of Apply without symbols [#16221](https://github.com/lampepfl/dotty/pull/16221)

## Reporting

- Expose reason for unchecked warning [#16086](https://github.com/lampepfl/dotty/pull/16086)
- Refine AsSeenFrom approximation scheme [#15957](https://github.com/lampepfl/dotty/pull/15957)
- Better output under -Ydetailed-stats [#15950](https://github.com/lampepfl/dotty/pull/15950)
- Fix crash in -Vprofile code [#16007](https://github.com/lampepfl/dotty/pull/16007)
- Name stripped of module suffix must not be empty [#15597](https://github.com/lampepfl/dotty/pull/15597)
- Fix InlineMatch pos for `summonFrom` [#16025](https://github.com/lampepfl/dotty/pull/16025)

## Rewrites

- Rewrites are UTF-8 [#15622](https://github.com/lampepfl/dotty/pull/15622)

## Scala-JS

- Fix the detection of inferred types of `= js.native`. [#16184](https://github.com/lampepfl/dotty/pull/16184)
- Do not elide fields required for Scala.js interop semantics. [#16187](https://github.com/lampepfl/dotty/pull/16187)

## Scaladoc

- Update quick links for new ui [#15912](https://github.com/lampepfl/dotty/pull/15912)
- Avoid parsing code comment twice [#16154](https://github.com/lampepfl/dotty/pull/16154)
- Make footer text configurable [#16064](https://github.com/lampepfl/dotty/pull/16064)
- Add typography fallback fonts [#16063](https://github.com/lampepfl/dotty/pull/16063)

## SemanticDB

- Emit SymbolInformation and Occurrence for anonymous class [#15865](https://github.com/lampepfl/dotty/pull/15865)
- Fix regression in type apply synthetics [#16031](https://github.com/lampepfl/dotty/pull/16031)

## Transform

- Fix creating forwarders for simple alias givens [#16193](https://github.com/lampepfl/dotty/pull/16193)
- Only check for Scala2LocalSuffix in methods on Scala2x classes [#16014](https://github.com/lampepfl/dotty/pull/16014)
- Fix mapping TypeMaps over annotations [#15948](https://github.com/lampepfl/dotty/pull/15948)
- Peephole optimization to drop .apply from partially applied methods [#16022](https://github.com/lampepfl/dotty/pull/16022)

## Typer

- Fix approximateOr of (A & Double) | Null [#16241](https://github.com/lampepfl/dotty/pull/16241)
- Create boxed environments only for references and function values [#16136](https://github.com/lampepfl/dotty/pull/16136)
- Fix higher-order unification incorrectly substituting tparams [#16181](https://github.com/lampepfl/dotty/pull/16181)
- Handle copies of constrained type lambdas when determining an implicit scope [#16159](https://github.com/lampepfl/dotty/pull/16159)
- Create message for missing arguments [#16158](https://github.com/lampepfl/dotty/pull/16158)
- Make singleton types subtypes of their refined type [#16135](https://github.com/lampepfl/dotty/pull/16135)
- Disallow overriding val parameters [#16096](https://github.com/lampepfl/dotty/pull/16096)
- Avoid crash where creator proxies are referenced indirectly [#16098](https://github.com/lampepfl/dotty/pull/16098)
- Refine estimation of default arguments in overloading resolution [#15962](https://github.com/lampepfl/dotty/pull/15962)
- Harden canAssign [#15963](https://github.com/lampepfl/dotty/pull/15963)
- Fix isSubType for static objects filling in type projections [#15959](https://github.com/lampepfl/dotty/pull/15959)
- Fix expected type of TupleXXL unapply [#16248](https://github.com/lampepfl/dotty/pull/16248)
- Drop lazy recursive application in approximateParent [#16073](https://github.com/lampepfl/dotty/pull/16073)
- Type match with a match type when a match type is expected [#15599](https://github.com/lampepfl/dotty/pull/15599)

# Contributors

Thank you to all the contributors who made this release possible 🎉

According to `git shortlog -sn --no-merges 3.2.1..3.2.2-RC1` these are:

```
83 Martin Odersky
24 Yichen Xu
23 Quentin Bernet
18 Michael Pollmeier
17 Dale Wijnand
8 Fengyun Liu
8 Paweł Marks
7 Guillaume Raffin
6 Som Snytt
6 Szymon Rodziewicz
5 Kacper Korban
4 Chris Kipp
3 Matt Bovel
3 Rikito Taniguchi
2 Ben Hutchison
2 Florian3k
2 Guillaume Martres
2 Jamie Thompson
2 João Costa
2 Julien Richard-Foy
2 Lukas Rytz
2 Sébastien Doeraene
1 Anton Sviridov
1 Gabriel Volpe
1 Liang Yan
1 Noah Rosamilia
1 Ondra Pelech
1 Seth Tisue
1 Tomasz Godzik
1 Vadim Chelyshov
1 nmc.borst
1 nmcb
1 olsdavis
```
20 changes: 20 additions & 0 deletions changelogs/3.2.2-RC2.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# Backported fixes

- Compute completions at `typerPhase` [#16371](https://github.com/lampepfl/dotty/pull/16371)
- Only include accessible base classes in `orDominator` [#16477](https://github.com/lampepfl/dotty/pull/16477)
- Fix curried overloading resolution for polymorphic methods [#16485](https://github.com/lampepfl/dotty/pull/16485)
- Teach SpaceEngine that generic tuples are irrefutable [#16051](https://github.com/lampepfl/dotty/pull/16051)
- Fix exhaustivity warning [#16168](https://github.com/lampepfl/dotty/pull/16168)

# Contributors

Thank you to all the contributors who made this release possible 🎉

According to `git shortlog -sn --no-merges 3.2.2-RC1..3.2.2-RC2` these are:

```
3 Martin Odersky
3 Paweł Marks
2 Dale Wijnand
1 Som Snytt
```
160 changes: 160 additions & 0 deletions changelogs/3.2.2.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,160 @@
# Highlights of the release

- Make truncation by characters in repl configurable [#16167](https://github.com/lampepfl/dotty/pull/16167)
- New (experimental for now) lazy vals implementation [#15296](https://github.com/lampepfl/dotty/pull/1)

# Other changes and fixes

## Coverage

- Make coverage instrumentation more robust [#16235](https://github.com/lampepfl/dotty/pull/16235)

## Default parameters

- Resolve overloading: keep track of prefix and indices of all default getters [#16009](https://github.com/lampepfl/dotty/pull/16009)

# Experimentals

- Let accesors inherit @experimental annotations from accessed symbols [#16099](https://github.com/lampepfl/dotty/pull/16099)

## Extension Methods

- Fix i14451 [#16010](https://github.com/lampepfl/dotty/pull/16010)

# GADTs

- Add fixed GADT exhaustivity test cases [#16169](https://github.com/lampepfl/dotty/pull/16169)
- Eliminate class hierarchy in GadtConstraint [#16194](https://github.com/lampepfl/dotty/pull/16194)

## Initialization

- Code refactoring of initialization checker [#16066](https://github.com/lampepfl/dotty/pull/16066)

## Inline

- Refine checking for outer references [#16122](https://github.com/lampepfl/dotty/pull/16122)

## Java interoperability

- Parse native in Java bytecode as @native [#16232](https://github.com/lampepfl/dotty/pull/16232)

## Opaque Types

- Disallow opaque type aliases of context functions [#16041](https://github.com/lampepfl/dotty/pull/16041)

## Overloading

- Fix curried overloading resolution for polymorphic methods [#16485](https://github.com/lampepfl/dotty/pull/16485)

## Parser

- Align implementation with spec of soft modifiers [#15961](https://github.com/lampepfl/dotty/pull/15961)

## Pattern Matching

- Fix redundancy (unreachability) warning [#16179](https://github.com/lampepfl/dotty/pull/16179)
- Teach SpaceEngine that generic tuples are irrefutable [#16051](https://github.com/lampepfl/dotty/pull/16051)
- Fix exhaustivity warning [#16168](https://github.com/lampepfl/dotty/pull/16168)

# Polyfunctions

- Avoid checking purity of Apply without symbols [#16221](https://github.com/lampepfl/dotty/pull/16221)

## Reporting

- Expose reason for unchecked warning [#16086](https://github.com/lampepfl/dotty/pull/16086)
- Refine AsSeenFrom approximation scheme [#15957](https://github.com/lampepfl/dotty/pull/15957)
- Better output under -Ydetailed-stats [#15950](https://github.com/lampepfl/dotty/pull/15950)
- Fix crash in -Vprofile code [#16007](https://github.com/lampepfl/dotty/pull/16007)
- Name stripped of module suffix must not be empty [#15597](https://github.com/lampepfl/dotty/pull/15597)
- Fix InlineMatch pos for `summonFrom` [#16025](https://github.com/lampepfl/dotty/pull/16025)

## Rewrites

- Rewrites are UTF-8 [#15622](https://github.com/lampepfl/dotty/pull/15622)

## Scala-JS

- Fix the detection of inferred types of `= js.native`. [#16184](https://github.com/lampepfl/dotty/pull/16184)
- Do not elide fields required for Scala.js interop semantics. [#16187](https://github.com/lampepfl/dotty/pull/16187)

## Scaladoc

- Update quick links for new ui [#15912](https://github.com/lampepfl/dotty/pull/15912)
- Avoid parsing code comment twice [#16154](https://github.com/lampepfl/dotty/pull/16154)
- Make footer text configurable [#16064](https://github.com/lampepfl/dotty/pull/16064)
- Add typography fallback fonts [#16063](https://github.com/lampepfl/dotty/pull/16063)

## SemanticDB

- Emit SymbolInformation and Occurrence for anonymous class [#15865](https://github.com/lampepfl/dotty/pull/15865)
- Fix regression in type apply synthetics [#16031](https://github.com/lampepfl/dotty/pull/16031)

## Transform

- Fix creating forwarders for simple alias givens [#16193](https://github.com/lampepfl/dotty/pull/16193)
- Only check for Scala2LocalSuffix in methods on Scala2x classes [#16014](https://github.com/lampepfl/dotty/pull/16014)
- Fix mapping TypeMaps over annotations [#15948](https://github.com/lampepfl/dotty/pull/15948)
- Peephole optimization to drop .apply from partially applied methods [#16022](https://github.com/lampepfl/dotty/pull/16022)

## Typer

- Fix approximateOr of (A & Double) | Null [#16241](https://github.com/lampepfl/dotty/pull/16241)
- Create boxed environments only for references and function values [#16136](https://github.com/lampepfl/dotty/pull/16136)
- Fix higher-order unification incorrectly substituting tparams [#16181](https://github.com/lampepfl/dotty/pull/16181)
- Handle copies of constrained type lambdas when determining an implicit scope [#16159](https://github.com/lampepfl/dotty/pull/16159)
- Create message for missing arguments [#16158](https://github.com/lampepfl/dotty/pull/16158)
- Make singleton types subtypes of their refined type [#16135](https://github.com/lampepfl/dotty/pull/16135)
- Disallow overriding val parameters [#16096](https://github.com/lampepfl/dotty/pull/16096)
- Avoid crash where creator proxies are referenced indirectly [#16098](https://github.com/lampepfl/dotty/pull/16098)
- Refine estimation of default arguments in overloading resolution [#15962](https://github.com/lampepfl/dotty/pull/15962)
- Harden canAssign [#15963](https://github.com/lampepfl/dotty/pull/15963)
- Fix isSubType for static objects filling in type projections [#15959](https://github.com/lampepfl/dotty/pull/15959)
- Fix expected type of TupleXXL unapply [#16248](https://github.com/lampepfl/dotty/pull/16248)
- Drop lazy recursive application in approximateParent [#16073](https://github.com/lampepfl/dotty/pull/16073)
- Type match with a match type when a match type is expected [#15599](https://github.com/lampepfl/dotty/pull/15599)
- Compute completions at `typerPhase` [#16371](https://github.com/lampepfl/dotty/pull/16371)
- Only include accessible base classes in `orDominator` [#16477](https://github.com/lampepfl/dotty/pull/16477)

# Contributors

Thank you to all the contributors who made this release possible 🎉

According to `git shortlog -sn --no-merges 3.2.1..3.2.2` these are:

```
86 Martin Odersky
24 Yichen Xu
23 Quentin Bernet
19 Dale Wijnand
18 Michael Pollmeier
13 Paweł Marks
8 Fengyun Liu
7 Guillaume Raffin
7 Som Snytt
6 Szymon Rodziewicz
5 Kacper Korban
4 Chris Kipp
3 Matt Bovel
3 Rikito Taniguchi
2 Ben Hutchison
2 Florian3k
2 Guillaume Martres
2 Jamie Thompson
2 João Costa
2 Julien Richard-Foy
2 Lukas Rytz
2 Sébastien Doeraene
1 Anton Sviridov
1 Gabriel Volpe
1 Liang Yan
1 Noah Rosamilia
1 Ondra Pelech
1 Seth Tisue
1 Tomasz Godzik
1 Vadim Chelyshov
1 nmc.borst
1 nmcb
1 olsdavis

```
2 changes: 1 addition & 1 deletion docs/_docs/reference/enums/enums-index.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
layout: index
title: "Enums"
nightlyOf: https://docs.scala-lang.org/scala3/reference/enums/index.html
movedTo: https://docs.scala-lang.org/scala3/reference/enums/index.html
---

This chapter documents enums in Scala 3.
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
layout: doc-page
title: "Binary Compatibility"
nightlyOf: https://docs.scala-lang.org/scala3/reference/language-versions/binary-compatibility.html
movedTo: https://docs.scala-lang.org/scala3/reference/language-versions/binary-compatibility.html
---

In Scala 2 different minor versions of the compiler were free to change the way how they encode different language features in JVM bytecode so each bump of the compiler's minor version resulted in breaking binary compatibility and if a project had any Scala dependencies they all needed to be (cross-)compiled to the same minor Scala version that was used in that project itself. On the contrary, Scala 3 has a stable encoding into JVM bytecode.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
layout: index
title: "Language Versions"
nightlyOf: https://docs.scala-lang.org/scala3/reference/language-versions/index.html
movedTo: https://docs.scala-lang.org/scala3/reference/language-versions/index.html
---

Additional information on interoperability and migration between Scala 2 and 3 can be found [here](https://docs.scala-lang.org/scala3/guides/migration/compatibility-intro.html).
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
layout: doc-page
title: "Source Compatibility"
nightlyOf: https://docs.scala-lang.org/scala3/reference/language-versions/source-compatibility.html
movedTo: https://docs.scala-lang.org/scala3/reference/language-versions/source-compatibility.html
---

Scala 3 does NOT guarantee source compatibility between different minor language versions (e.g. some syntax valid in 3.x might get deprecated and then phased out in 3.y for y > x). There are also some syntax structures that were valid in Scala 2 but are not anymore in Scala 3. However the compiler provides a possibility to specify the desired version of syntax used in a particular file or globally for a run of the compiler to make migration between versions easier.
Expand Down
2 changes: 1 addition & 1 deletion docs/_docs/reference/new-types/new-types.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
layout: index
title: "New Types"
nightlyOf: https://docs.scala-lang.org/scala3/reference/new-types/index.html
movedTo: https://docs.scala-lang.org/scala3/reference/new-types/index.html
---

This chapter documents the new types introduced in Scala 3.
Empty file modified project/scripts/cmdScaladocTests
100755 → 100644
Empty file.
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ class DropdownHandler:
private def disableButton() =
val btn = document.getElementById("dropdown-trigger").asInstanceOf[html.Span]
btn.classList.add("disabled")
btn.classList.add("hidden")

private def getURLContent(url: String): Future[String] = Ajax.get(url).map(_.responseText)

Expand Down
4 changes: 4 additions & 0 deletions scaladoc/resources/dotty_res/styles/theme/layout/header.css
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,10 @@
margin-right: calc(2 * var(--base-spacing));
}

.header-container-left span.hidden {
display: none;
}

.header-container-right {
display: flex;
align-items: center;
Expand Down
Loading