frees-io / freestyle

A cohesive & pragmatic framework of FP centric Scala libraries
http://frees.io/
Apache License 2.0
615 stars 50 forks source link

Increase test coverage for `@free`, `@module` and `@tagless` macro annotations #241

Open raulraja opened 7 years ago

raulraja commented 7 years ago

As suggested by @diesalbla we should provide a wider range of compilation tests for cases related to the expanded @free, @module and @tagless macro annotations. This is necessary to ensure things like adding multiple type args in traits, concrete members and other valid scala features to traits do not affect the expansion and their properties are preserved. This will also help us boost code coverage which currently is below desirable.

diesalbla commented 7 years ago

Also, an important goal of the test coverage for the macros should be to illustrate, in as small as possible examples, the features that are expected to be provided by the macros in particular. These features should try to fit in the Scala language in general.

Some of the issues that the tests on the macros should consider are the following ones: