You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* Add more trace and some comments
* Step 1
* Step 2
* Possible solution for #140
* Push through offset on generic
* Handle SelfToken in left-recursion finalization correctly
* Add some tests for generic Self
This bug came from further investigation into #127.
Expected result:
Expect<P>
is a prelude base parselet, no instanceA<E, I: Self>
is a base parselet, no instanceA<E: Int, I: Self>
derives (1)Expect<A<E: Int, I: Self>>
A<E: Int, I: __main__>
derives (1)Expect<A<E: Int, I: __main__>>
Current (buggy) implementation:
ImlParseletModel
is created once forExpect
andA
ImlParselet
(andImlRefParselet
) is created forExpect<P>
Expect<Self>
A<E, I: Self>
A<E: Int, I: Self>
whereSelf
should refer to the self-recusive parselet instance, but this information is lost, andA<E: Int, I: Self>
whereSelf
refers to__main__
, andSelf
currently is__main__
everywhere, so that imaginaryA<E: Int, I: __main__>
andExpect<__main__>
is constructed and executed.let derived = parselet.derive(current).unwrap();
ImlValue::Parselet(parselet) => match parselet.derive(current.0) {
The text was updated successfully, but these errors were encountered: