Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.
Sign upAdd ranged streams #42
Conversation
Marwes
added
enhancement
breaking change
labels
Aug 2, 2015
Marwes
added this to the 1.0 milestone
Aug 2, 2015
This was referenced Aug 2, 2015
Marwes
referenced this pull request
Aug 9, 2015
Merged
Adds support for range errors in preparation for RangeStream #43
Marwes
modified the milestones:
1.1,
1.0
Aug 10, 2015
Marwes
removed
the
breaking change
label
Aug 10, 2015
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
Show comment
Hide comment
|
Rebased on current master, taking into account the changes to &[T] streams |
Marwes
added some commits
Aug 20, 2015
added a commit
that referenced
this pull request
Sep 16, 2015
Marwes
merged commit b31b6c8
into
master
Sep 16, 2015
Marwes
deleted the
range_stream
branch
Oct 17, 2015
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Marwes commentedAug 2, 2015
Ranged streams are streams which in addition to allowing taking elements one by one also are able to take an entire range of elements efficiently. For example the stream
&strcan be split into two different slices. This should give a large performance boost to streams which uses it as they can avoid allocating every time multiple tokens are needed and instead just use the data in the stream itself.This PR is a breaking change since it changes the
ParseError<T = Stream::Item>toParseError<S: Stream>so it needs to be merged before 1.0 (I had hoped not to break anything after 1.0- beta but this is only minor breaking change and only if you used some types directly from the primitives module). I might lift that breaking change out and merge it separately, allowing 1.0 to be released and RangeStream to be tested a bit more.