Skip to content

Commit 1bb892e

Browse files
prolativjulienrf
authored andcommitted
Add blogpost for releases 3.0.1 and 3.0.2-RC1 - fix table of contents
1 parent da8958a commit 1bb892e

File tree

1 file changed

+9
-9
lines changed

1 file changed

+9
-9
lines changed

blog/_posts/2021-07-21-scala-3.0.2RC1-is-here.md

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ Scala 3.0.2-RC1, in turn, incorporates new language improvements and bug fixes d
1313

1414
You can expect the release of stable 3.0.2 and a release candidate for a the next version in 6 weeks from now (1st September).
1515

16-
# Improved insertion of semicolons in logical conditions
16+
## Improved insertion of semicolons in logical conditions
1717

1818
Scala 3's indentation based syntax is aimed at making your code more concise and readable. As it gets broader adoption, we consistently improve its specification to eliminate corner cases which might lead to ambiguities or counterintuitive behaviours.
1919

@@ -32,7 +32,7 @@ if foo(bar)
3232
then //...
3333
```
3434

35-
If your intention is to have a block of code evaluating into a single condition you should add a new line and indentation directly after `if` , e.g.
35+
If your intention is to have a block of code evaluating into a single condition you should add a new line and indentation directly after `if`, e.g.
3636

3737
```scala
3838
if
@@ -49,7 +49,7 @@ if val cond = foo(bar)
4949
then //...
5050
```
5151

52-
# Towards better null safety in the type system
52+
## Towards better null safety in the type system
5353

5454
The compiler option `-Yexplicit-nulls` modifies Scala's standard type hierarchy to allow easier tracing of nullable values by performing strict checks directly on the level of the type system rather than just relying on conventions (e.g. this prevents you from writing code like `val foo: Option[String] = Some(null)`, which would be otherwise valid Scala although very likely to cause a `NullPointerException` at some further point).
5555

@@ -59,15 +59,15 @@ After the recently introduced changes with this option enabled the `Null` type b
5959
def foo[T <: Matchable](t: T) = t match { case null => () }
6060
```
6161

62-
# Method search by type signature
62+
## Method search by type signature
6363

6464
You can now browse the documentation of Scala's API not only by names of methods but also by their type in a [Hoogle](https://hoogle.haskell.org)-like manner (but with Scala syntax) thanks to integration with [Inkuire](https://github.com/VirtusLab/Inkuire) brought up by [#12375](https://github.com/lampepfl/dotty/pull/12375).
6565

6666
To find methods with the desired signature simply write in scaladoc's searchbar the type you would expect them to have after eta-expansion (as if they were functions rather than methods).
6767

6868
![image url "image Title"](https://user-images.githubusercontent.com/39772805/117478350-53f12a80-af5f-11eb-82ab-930ba565dacb.gif)
6969

70-
# Typing escape hatch for structural types
70+
## Typing escape hatch for structural types
7171

7272
Structural types may come in handy in many situations, e.g. when one wants to achieve a compromise between safety of static typing and ease of use when dealing with dynamically changing schemas of domain data structures. They have however some limitations. Among others structural typing doesn't normally play well with method overloading because some types of reflective dispatch algorithms (inlcuding JVM reflection) might not be able to choose the overloaded method alternative with the right signature without knowing upfront the exact types of the parameters after erasure. Consider the following snippet.
7373

@@ -99,7 +99,7 @@ This snippet will compile as the compiler won't perform the precise signature ch
9999

100100
[More details](https://dotty.epfl.ch/docs/reference/changed-features/structural-types-spec.html#limitations-of-structural-types)
101101

102-
# Metaprogramming
102+
## Metaprogramming
103103

104104
Keeping in mind how important metaprogramming has become to Scala developers (especially creators of libraries) we continue to make it more reliable by fixing reported bugs and more powerful by repealing formerly introduced limitations. If you're curious how it was done look at the PRs below:
105105

@@ -109,7 +109,7 @@ Keeping in mind how important metaprogramming has become to Scala developers (es
109109
- Detect abstract inline method calls after inlining [#12777](https://github.com/lampepfl/dotty/pull/12777)
110110
- Fix implicit ValueOf synthesis [#12615](https://github.com/lampepfl/dotty/pull/12615)
111111

112-
# Other notable improvements
112+
## Other notable improvements
113113

114114
- Add Scala 3 batch commands for Windows [#13006](https://github.com/lampepfl/dotty/pull/13006)
115115
- Fix [#12981](https://github.com/lampepfl/dotty/issues/12981): show diagnostics levels (warn \| error) in REPL [#13000](https://github.com/lampepfl/dotty/pull/13000)
@@ -122,7 +122,7 @@ Keeping in mind how important metaprogramming has become to Scala developers (es
122122
- Preserve hard unions in more situations [#12654](https://github.com/lampepfl/dotty/pull/12654)
123123
- Better support type-heavy pattern matches [#12549](https://github.com/lampepfl/dotty/pull/12549)
124124

125-
# Other notable bug fixes
125+
## Other notable bug fixes
126126

127127
- Fix [#13046](https://github.com/lampepfl/dotty/issues/13046): override is a valid identifier in Java, not a keyword [#13048](https://github.com/lampepfl/dotty/pull/13048)
128128
- Don't emit Java generic signatures for constructors [#13047](https://github.com/lampepfl/dotty/pull/13047)
@@ -144,7 +144,7 @@ Keeping in mind how important metaprogramming has become to Scala developers (es
144144
- Always generate a partial function from a lambda [#12670](https://github.com/lampepfl/dotty/pull/12670)
145145
- Fix [#12572](https://github.com/lampepfl/dotty/issues/12572): Ignore default accessor bridges in non-native JS classes. [#12657](https://github.com/lampepfl/dotty/pull/12657)
146146

147-
# Contributors
147+
## Contributors
148148
Thank you to all the contributors who made this release possible 🎉
149149

150150
According to `git shortlog -sn --no-merges 3.0.1-RC2..3.0.2-RC1` these are:

0 commit comments

Comments
 (0)