You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The REPL now uses [JLine 3](https://github.com/jline/jline3) under the hood which improves on
34
-
many aspects such as auto-completions and multi-line editing. The REPL now also works on Windows!
34
+
many aspects such as, auto-completions and multi-line editing. The REPL now also works on Windows!
35
35
36
36
37
37
### Documentation support in the IDE [#4461](https://github.com/lampepfl/dotty/pull/4461), [#4648](https://github.com/lampepfl/dotty/pull/4648)
38
-
The Dotty IDE will now display documentation on code hover for symbols that were previously
38
+
The Dotty IDE will now display documentation while hovering over symbols that were previously
39
39
compiled by the Dotty compiler. In the future, we plan to let users query the documentation
40
40
in the REPL as well.
41
41
42
42
43
43
### Drop requirement that implicit functions must be non-empty [#4549](https://github.com/lampepfl/dotty/pull/4549)
44
-
We decided to remove an arbitrary restriction that implicit and functions must be non-empty.
44
+
We remove the arbitrary restriction that parameters of implicit functions must by non-empty.
45
45
We can now write:
46
46
```scala
47
47
typeIntProducer=implicit () =>Int
@@ -68,9 +68,12 @@ Implicit conversions are easily the most misused feature in Scala. We now emit f
68
68
when encountering an implicit conversion definition, just like Scala 2 does.
69
69
70
70
In addition, we also emit a feature warning when an implicit conversion is used,
71
-
unless the conversion is an implicit class, or otherwise co-defined with the type
72
-
to which it converts, or the conversion is predefined in `scala.Predef` or is the
73
-
`scala.reflect.Selectable.reflectiveSelect` conversion (we might extend this to more conversions).
71
+
unless the conversion is:
72
+
73
+
- an implicit class
74
+
- co-defined with the type to which it converts
75
+
- predefined in `scala.Predef` or is the `scala.reflect.Selectable.reflectiveSelect` conversion
76
+
(we might extend this to more conversions).
74
77
75
78
76
79
### Optimise s and raw interpolators [#3961](https://github.com/lampepfl/dotty/pull/3961)
@@ -81,17 +84,17 @@ s"Hello $name!"
81
84
// compared to:
82
85
"Hello "+ name +"!"
83
86
```
84
-
The compiler will now desugar the former into the later. Special thanks to
87
+
The compiler will now desugar the former into the latter. Special thanks to
85
88
[Wojtek Swiderski](https://github.com/Wojtechnology) who contributed this feature to the Dotty
86
89
compiler!
87
90
88
91
89
92
### Support for compiler plugins [#3438](https://github.com/lampepfl/dotty/pull/#3438)
90
-
Dotty now supports Compiler plugins. Compiler plugins let you customise the compiler pipeline
93
+
Dotty now supports Compiler plugins. Compiler plugins let you customize the compiler pipeline
91
94
without having to modify the compiler source code. A major difference compared to Scala 2 is
92
95
that Dotty plugins must run after the type checker. Being able to influence normal type checking
93
-
is a very powerful feature but for production usages, a predictable and consistent type checker
94
-
is more important.
96
+
is a powerful feature but for production usages, a predictable and consistent type checker is
97
+
more important.
95
98
96
99
Starting with 1.1.5 Dotty compiler plugins can be used with `sbt`. Please refer to the `sbt`
97
100
[documentation](https://www.scala-sbt.org/1.x/docs/Compiler-Plugins.html) for more information.
0 commit comments