Repository navigation
Make imap-types no_std compatible - #732
Merged
Merged
Conversation
Collaborator
Coverage Report for CI Build 36941102953Coverage remained the same at 91.697%Details
Uncovered Changes
Coverage RegressionsNo coverage regressions found. Coverage Stats
💛 - Coveralls |
soywod
force-pushed
the
imap-types-no-std
branch
from
September 29, 2026 08:19
fab639b to
1cfc2c2
Compare
This was referenced Sep 29, 2026
duesee
approved these changes
Oct 1, 2026
duesee
left a comment
Owner
There was a problem hiding this comment.
Looks good to me, thank you very much!
duesee
force-pushed
the
imap-types-no-std
branch
from
October 1, 2026 23:29
1cfc2c2 to
cee901b
Compare
duesee
enabled auto-merge (rebase)
October 1, 2026 23:29
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
With this PR, imap-types is now
#. This is non-breaking: features, defaults and the public API are unchanged. imap-codec is left for a follow-up PR (motivation: pimalaya/io-imap#4).Changes
std::paths becamecore::/alloc::, and items that came from the prelude are now imported explicitly.extern crate stdis gated on what brings std:arbitrary: the derive expands to::std::thread_local!.tag_generator: usesrand::rng().test: some tests useprintln!.thiserrorandserdeusedefault-features = false. thiserror then implementscore::error::Error, which is the same trait asstd::error::ErroronMSRV 1.85.
SequenceSet::normalizeuses aBTreeSetinstead of aHashSet. The set is always drained before the final loop, so output is unchanged.Why no
stdfeatureA default
stdfeature that gatesTagGenerator::generatewould break users who combinedefault-features = falsewithtag_generator, as imap-codecdoes. Keeping
tag_generatorstd-only givesno_stdto everyone else for free.Verification
thumbv7em-none-eabihfwith every feature exceptarbitraryandtag_generator.Follow-ups
EncodeContextimplementsstd::io::Writewithout doing real I/O.no_stdCI build job.Refs: #495