@Alexander Regueiro at least we know how they will work in practice, i.e. with respect to type checking et al, but I don’t know if they are any plans to make progress on them outside of pushing on chalk integration
@scalexm so is there more work to be done to get them working even once chalk lands?
@Alexander Regueiro well I guess yes, since the syntax isn't even fully implemented in rustc
e.g. where clauses on associated types
which the parser does not accept yet
but anyway I guess they should be "easily" implementable in rustc once chalk has a decent support
@scalexm I see...
@scalexm and is this a blocker to RPIT in traits?
@Alexander Regueiro no, but they are a blocker to async functions in traits if they need to borrow data
async fn foo(&self) is really
fn foo<'a>(&'a self) -> impl Future<Item = ()> + 'a
so the return type is an existential type which is parametric over a lifetime
which you cannot express inside a trait right now because it would be a GAT
@scalexm is there any reason we haven't implemented RPIT in traits yet then?
@Alexander Regueiro I don’t know of any, especially since I think
existential associated type values are already usable in nightly
Members of the lang team may know best
@scalexm indeed, I thought the same. I figured it's about time to add support for it!
I'll double check with a lang/compiler-team member