-
Notifications
You must be signed in to change notification settings - Fork 145
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Intended breakage in 0.17
#213
Comments
Hey there! Sad to see you drop |
The problem with |
To expand on the problematic design (if you want to call it that, it's certainly not problematic in blocking code): All decoding methods get handed a borrowed output buffer. The code within is then written in such a way that it assumes it can keep this borrow until either a) the image has been read b) an error occurs. Both To fix this we need to make the layers between the ergonomic interface and the underlying, sans-io |
I'm thumbs downing the change from RGBA to Rgba as confusing for no good reason other than to possibly make some overly pedantic Rust linters shut up at the cost of confusing a bunch of people. RGBA is a shortening of RedGreenBlueAlpha and not Redgreenbluealpha (which people would flag). You wouldn't decapitalize it when it's written out, why decapitalize it when you delete the internal letters? |
A list of all the interface incompatible changes we could clean up in the next major version:
Add a feature to enable only(Probably too complicated)no_std
(withalloc
) compatible interfacesDecoder::read_info
returns an overly condensed form ofInfo
.Info
has only public members but we will want to add more later (Tweak the Info struct #291).Reader::next_row
/Reader::next_interlaced_row
should have named typesStreamWriter
moves lifetime into genericW: Write
type parameter ( actually, why? Otherwise we have anotherWrite
implementor,&mut W
, in the interface )Reader::next_interlaced_row
should use wrapper struct instead of tupleDecodingError::Format
is far to unspecific, could use a boxed error interface with better than stringly typing of all publicly inspectable error variants. Encapsulated error #251ChunkType
could be a wrapper type, not a raw array. This would allow customized debug and display implementations to properly present the usually ascii nature of its contents. Also the free standing functions ofchunk
could then be methods. Turn ChunkType into a type #248ColorType::samples
should takeself
by value. Issue 213 color samples #249FrameControl::delay_den
could be a proper non-zero type. Secondary.Adam7Iterator::Item
should be strictly typed with a struct. (Not exposed, so no SemVer problems).ColorType
are partially scream-case. They should not be. Fix SCREAM_CASE on ColorType variants #256Encoder
andDecoder
is non-sensical. See the recent rename ingif
. Additionally, we should make sure that allStream*
types have the same prefix.. Not:StreamWriter
,StreamingDecoder
.filter
field inInfo
refers to theIHDR
data, instead of the per-lineFilterType
(Add Adaptive filtering method for encoding #264)The text was updated successfully, but these errors were encountered: