RecExpr Deref/DerefMut=[L]. also convenience methods and trait impls #325
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
I believe the current API of RecExpr already constrains the impl enough to go ahead and add
Deref/DerefMut = [L]
. I could instead addlen
/iter
/iter_mut
and still get most of the benefits ofDeref/DerefMut
.I also added
FromIterator
,AsMut
,Borrow
,BorrowMut
, andIntoIterator
impls, and a couple of convenience methods.items
solves the issue ofexpr.as_ref().iter().enumerate()
followed byId::from(idx)
I went ahead and changed the source to take advantage of these additions. Let me know if you would like me to scale this pr back.