dotty-feature-requests icon indicating copy to clipboard operation
dotty-feature-requests copied to clipboard

Historical feature requests. Please create new feature requests at https://github.com/lampepfl/dotty/discussions/new?category=feature-requests

Results 100 dotty-feature-requests issues
Sort by recently updated
recently updated
newest added

Currently, it's possible for blackbox Scala 2 macros to access compiler settings via `-Xmacro-settings:hello-world` ```scala def impl(c: Context): c.Tree = c.settings // List("hello-world") ``` I wasn't able to find the...

from https://twitter.com/ppurang/status/1317827002070597634 ```scala enum Rank { case Two, Three, Four, Five, Six, Seven, Eight, Nine, Ten, Jack, Queen, King, Ace } enum Suit { case Clubs, Diamonds, Hearts, Spades }...

## Minimized code + Output ```Scala object A: def f(s: Int) = s object B: def f(s: String) = s import A.f import B.f println(f(1)) ^ Reference to f is...

This is a rough sketch of a possible design of records for Dotty ## Types A _single-field record type_ is of the form `(a: T)` where `a` is an identifier...

Dotty is removing boilerplate, so I suggest remove the colon too. Examples: Before `val name: String = "Andreu"` After `val name String = "Andreu"` Before `def someRandomMethod(name: String, age: Int,...

Not only would `!!!` be a great companion to `???` but there are also many scenarios where no words are needed to describe that something should not happen. For example:...

Instead of anticipating many possible ways indentation processing may not match expectation, it would be nice to have a way to lint indentation. `-Xlint:dentation`. That could be a plug-in that...

A keyword that's similar to `override`, but causes a compiler error if the parent method is implemented. This is good to distinguish overriding from implementing abstract methods. Quite often, `override`...

Currently, the [Dotty documentation](https://dotty.epfl.ch/docs/reference/contextual/type-classes.html) shows this example of implementing semigroups and monoids. ```scala trait SemiGroup[T]: extension (x: T) def combine (y: T): T trait Monoid[T] extends SemiGroup[T]: def unit: T...

I think it is important to add support for JPMS - facilitates interoperability with Java. Maybe the work in in this [issue](https://github.com/scala/scala-dev/issues/139) could be ported to Scala 3?