hummingly / ics

A Rust library for creating iCalendar files as specified in RFC5545 and RFC7986
Other
31 stars 3 forks source link

Update to edition 2021 #19

Closed Cxarli closed 3 years ago

Cxarli commented 3 years ago

As you mentioned in the issue about chrono support, this codebase would first have to update its edition, so this PR handles that.

Cxarli commented 3 years ago

The dependency on Rust 1.26.0 (May 2018) was added in October 2018, so similarly I have decided to use Rust 1.53.0 (June 2021) in October 2021. This is the last build before Incremental Compilation was turned on (1.54.0 Changelog), but I'm unsure whether that's a good or bad thing.

hummingly commented 3 years ago

When it comes to bumping the minimum rustc version I go by needed features and if the version has been at least released before 6 months. It's just a personal policy though.

After thinking it through for now I would just bump to version 1.34.0 as it has edition 2018 and TryFrom trait. TryFrom is useful in general for adding conversions with say std types or ones I will define in the future.

For features that add integration with another crate I would use the latest rustc version that works with the crate. It should be possible to only test features with certain rustc versions in travis, I think.

Otherwise, the PR looks good to me.

Cxarli commented 3 years ago

I have lowered it to version 1.34. I will look into feature-dependent versions when I get to it. This PR is not related to the chrono stuff, so it's not relevant yet.

hummingly commented 3 years ago

I will be more responsive in a month but if you have urgent question just @mention me.