aatxe / irc

the irc crate – usable, async IRC for Rust
Mozilla Public License 2.0
526 stars 100 forks source link

First stab at bumping the project to tokio 0.2 #184

Closed udoprog closed 4 years ago

udoprog commented 4 years ago

Sorry, this is a big change. But that's kinda expected :/

Related #182

Non-exhaustive list of changes:

TODO

udoprog commented 4 years ago

Removed the tests for reading yaml, toml, and json files from the filesystem because they complicated the build process for not a ton of benefit. For reference I'm building on Windows and running the shell script to generate the various representations is not straight forward.

serde's derives already do most of the heavy lifting. The one important part is probably just to check that the specific file formats remain unchanged in a separate serialize/deserialize test which doesn't use the filesystem.

aatxe commented 4 years ago

It seems like you've also deleted a bunch of code having to do with saving configurations out, and the configuration format conversion application we had. Why?

udoprog commented 4 years ago

I think it's because I dropped the tests as per https://github.com/aatxe/irc/pull/184#issuecomment-536191296 - I might've been too overzealous with deleting stuff as well so if you can tell me what I'll resurrect it. But I'll add tests which tests each format separately with files embedded in the test instead.

Do you still want to resurrect the config conversion utility in that case?

aatxe commented 4 years ago

Yeah, I'm fine with killing the tests in favor of something that works more easily cross-platform, but I'd like to keep around the config conversion utility since it's just a useful quality of life tool if you decide to switch formats (and it's not like it has a very large maintenance burden associated with it).

udoprog commented 4 years ago

Updated to futures-preview 0.3.0-alpha.19 and tokio-0.2.0-alpha.6. Also removed the direct dependency to futures in favor of more granular dependencies, all though futures-util-preview is still a big one.

We also now build on beta.

udoprog commented 4 years ago

So the most up-to-date branch that I'm working on is next, and I intend to try and incorporate these changes once this has been accepted. https://github.com/udoprog/irc/tree/next

Most notably, I've bumped the irc-proto crate to the 2018 edition and switch error handling to thiserror since it provides implementations of std::error::Error which is much more future compatible.

freddyb commented 4 years ago

Is this pull request still active?

udoprog commented 4 years ago

@freddyb I'm still using it. But I'll bump it to the released tokio when I have the time. Still waiting for feedback from @aatxe though.

udoprog commented 4 years ago

Bumped the branch to the stable tokio 0.2 now.

udoprog commented 4 years ago

@aatxe any chance to get this merged? Most of the things are in place, and the things which are incomplete can be fixed incrementally in master before a release. Having this hanging for so long is somewhat taxing.