Open krame505 opened 2 years ago
Note that while creating the above minimum example I was also able to cause an internal compiler error by changing consBar
to consBars
in the convenience aspect:
aspect genBars on top::Foos of
| consFoo(t) -> consBars(random, t.genBars)
| nilFoo() -> nilBar()
end;
Unsure if this is related to the above issue, but I was only able to reproduce this using convenience aspects in conjunction with implicit monads.
Example:
This gives an error
Attribute genBars has type silver:core:RandomGen<example:Bars> but the expression being assigned to it has type silver:core:RandomGen<silver:core:RandomGen<example:Bars:Bars>>
on the start of the convenience aspect declaration.It seems that some of degree of implicit monad rewriting is being applied, but it is not being done correctly.