Skip to content
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

Provide variants of all interfaces with typed arguments #99

Open
jonhoo opened this issue Nov 23, 2018 · 0 comments
Open

Provide variants of all interfaces with typed arguments #99

jonhoo opened this issue Nov 23, 2018 · 0 comments
Labels
enhancement New feature or request good first issue Good for newcomers help wanted Extra attention is needed tombstone A reference to an old issue on mattnenterprise/rust-imap
Milestone

Comments

@jonhoo
Copy link
Owner

jonhoo commented Nov 23, 2018

Most of the APIs we currently expose take &str arguments whose format is strictly dictated by RFC 3501. That's unfortunate, because it makes it easy for users to do things that are incorrect. Instead, we should write up typed versions of all those APIs (probably using the builder pattern) such that none of the APIs can be misused. We may want to just provide builders for the most common arguments, and then continue to expose string-only APIs for the more esoteric use-cases.

This should help with #74, and would be a good way to deal with #60.

See the original issue here: mattnenterprise/rust-imap#99

@jonhoo jonhoo added enhancement New feature or request help wanted Extra attention is needed good first issue Good for newcomers tombstone A reference to an old issue on mattnenterprise/rust-imap labels Nov 23, 2018
@jonhoo jonhoo added this to the imap 1.0 milestone Nov 23, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request good first issue Good for newcomers help wanted Extra attention is needed tombstone A reference to an old issue on mattnenterprise/rust-imap
Projects
None yet
Development

No branches or pull requests

1 participant