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
Even when allowing the method call, we end up with following opaque type definitions and ambiguous goal
opaque<?recursive_call> = ?infer
opaque<E> = closure<fn() -> E>
?infer: Parser<E> (from the .parse() call)
We could (and maybe should) apply, the defining use opaque<E> = closure<fn() -> E> to opaque<?recursive_call>, equating ?infer with closure<fn() -> ?recursive_call>, at which point this will compile after proving closure<fn() -> ?recursive_call>: Parser<E>.
The text was updated successfully, but these errors were encountered:
lcnr
changed the title
recursive call results in unconstrained opaque type args + hidden type
recursive call results in unconstrained opaque type args and ambiguity
Jan 21, 2025
lcnr
changed the title
recursive call results in unconstrained opaque type args and ambiguity
recursive call results in unconstrained opaque type args
Jan 21, 2025
affected test
Even when allowing the method call, we end up with following opaque type definitions and ambiguous goal
opaque<?recursive_call> = ?infer
opaque<E> = closure<fn() -> E>
?infer: Parser<E>
(from the.parse()
call)We could (and maybe should) apply, the defining use
opaque<E> = closure<fn() -> E>
toopaque<?recursive_call>
, equating?infer
withclosure<fn() -> ?recursive_call>
, at which point this will compile after provingclosure<fn() -> ?recursive_call>: Parser<E>
.The text was updated successfully, but these errors were encountered: