Jonathan Immanuel Brachthäuser
Jonathan Immanuel Brachthäuser
When looking at the [implementation](https://github.com/b-studios/MixinComposition/blob/master/macros/src/main/scala/macros/package.scala) of `mix`, we see that it will immediately try to materialize `A With B`. However, since `A` and `B` are type parameters, the macro fails....
I tried to add a error message that is a bit more expressive. Though not perfect, this should make it easier to discover this bug earlier next time.
@dvdvgt could you round to make test go through?
We could handle into a structure like `List[T]` instead of inspecting. This would make testing much easier anyways. What do you think @phischu ?
I agree that we need to merge it soon -- but you know that we will never revise it, if we do not fix it now. Since @dvdvgt is already...
It's great that this was finally merged! 💯 However... with #590 we now support effects like `emit` better. Maybe you could refactor the emit effect to a singleton operation, still?
Superseded by #469
BTW this is related to #158. Maybe you can close #158 if the current one subsumes it?
Yes, good point. Loom is one-shot only, so that is the best we can do at the moment, sadly.
I enabled discussions and we could also move it over there. It inherits from `Monadic`, which implements `reify`: https://github.com/lampepfl/monadic-reflection/blob/main/core/src/main/scala/monadic/Monadic.scala#L31 `reify` itself generically instantiates `CanReflect`: https://github.com/lampepfl/monadic-reflection/blob/main/core/src/main/scala/monadic/Monadic.scala#L39