From 19092012a4beac2eab8913abaf02664e63717e33 Mon Sep 17 00:00:00 2001 From: Martin Odersky Date: Fri, 20 Apr 2018 16:23:33 +0200 Subject: [PATCH 1/2] Mention implicit conversion restrictions in overview It's a minor point, but important for many people that it is addressed. --- docs/docs/reference/overview.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/docs/docs/reference/overview.md b/docs/docs/reference/overview.md index 534e0c81a5a7..2d36a7d70649 100644 --- a/docs/docs/reference/overview.md +++ b/docs/docs/reference/overview.md @@ -69,6 +69,14 @@ Listed in this section are new language constructs that help precise, typechecke So what should conceptually be a type error would not be reported and runtime behavior might change instead. Multiversal equality closes that loophole. + - Restrict Implicit Conversions + + ([Pending](https://github.com/lampepfl/dotty/pull/4229)) + Implicit conversions are very easily mis-used, which makes them the cause of much suprising behavior. + We now require a language feature import not only when an implicit conversion is defined + by also when it is applied. This protects users of libraries that define implicit conversions + from being bitten by unanticipated feature interactions. + - Null safety (Planned) Adding a `null` value to every type has been called a "Billion Dollar Mistake" From 8c96826c7ccba0ee8f458c164588df0fac7fc4b0 Mon Sep 17 00:00:00 2001 From: Martin Odersky Date: Fri, 20 Apr 2018 16:54:27 +0200 Subject: [PATCH 2/2] Fix typo --- docs/docs/reference/overview.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/docs/reference/overview.md b/docs/docs/reference/overview.md index 2d36a7d70649..24682ee367de 100644 --- a/docs/docs/reference/overview.md +++ b/docs/docs/reference/overview.md @@ -74,7 +74,7 @@ Listed in this section are new language constructs that help precise, typechecke ([Pending](https://github.com/lampepfl/dotty/pull/4229)) Implicit conversions are very easily mis-used, which makes them the cause of much suprising behavior. We now require a language feature import not only when an implicit conversion is defined - by also when it is applied. This protects users of libraries that define implicit conversions + but also when it is applied. This protects users of libraries that define implicit conversions from being bitten by unanticipated feature interactions. - Null safety