Hi, all,
Recently I published implicit-dependent-type, a compiler plugin that resolves dependent types from implicit type classes.
This plugin provides a syntactic sugar that substitutes all Foo[Bar]##Baz
withshapeless.the.`Foo[Bar]`.Baz
, which inlines the implicit type class resolving into the type declaration position.
The above example equals to the following code:
As you see, without this plugin, Generic[Foo]
is not a stable value, thus it is unable to inline to a type position. You will have to assign it to a temporary variable g
.