metalwas to have nonspecialized traits, but specialized methods... so you call
(set: MySet[A]).contains[A](a), where the first type parameter is nonspecialized (
MySet[A]), but the magic happens in the
def contains[@specialized B](b: B). The macro system is there to put the right type parameters.
Map[@sp A, @sp B]fails to specialize for e.g.
I went to take a look at Dotty at the suggested site [https://dotty.epfl.ch/] and the Features section of the homepage contains two broken links [http://dotty.epfl.ch/docs/reference/other-new-features/auto-parameter-tupling.html, http://dotty.epfl.ch/docs/reference/other-new-features/multiversal-equality.html].
It creates a poor initial impression of Dotty's maturity.