Three small changes. I was unable to get any of the tests in alga_derive_test to run (even before modifying things), but in my personal use case (implementing an integral domain, so in particular multiplication does not have two-sided inverses) I have expanded the macro #[alga_derive(RingCommutative(Additive, Multiplicative))] and it now behaves as expected.
The total changes are:
Fix incorrect dependency of Monoid on Quasigroup and Loop on Semigroup
Remove incorrect dependencies of Quasigroup/Loop on the second operation of CommutativeRing (which must only be a semigroup)
Remove second instance of Ring on the second operation of CommutativeRing (it led to two AbstractRing definitions which were then conflicting).
Three small changes. I was unable to get any of the tests in
alga_derive_test
to run (even before modifying things), but in my personal use case (implementing an integral domain, so in particular multiplication does not have two-sided inverses) I have expanded the macro#[alga_derive(RingCommutative(Additive, Multiplicative))]
and it now behaves as expected.The total changes are: