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

Minimal 2021 edition update, MSRV -> 1.56, GHA update #80

Merged
merged 5 commits into from
Jun 10, 2022
Merged

Conversation

Restioson
Copy link
Owner

@Restioson Restioson commented Jun 9, 2022

Changes xtra's MSRV to 1.56, enables edition 2021, and make actions use minimal-versions.

MSRV -> 1.56

This was required for edition 2021, as it was the first stable version with edition 2021 enabled.

Edition 2021

The main effect this had is the different feature resolver needed one feature to be added explicitly to futures-util.

Actions

There are two reasons for making Actions use minimal-versions:

  1. Unfortunately, since the CI is tested on 1.56 too without Cargo.lock being committed, the latest dependencies are always used. This includes updating to those beyond the MSRV of the root crate (xtra) - see MSRV-dependent dependency version resolution rust-lang/cargo#9930. This lead to some CI failures which did not reflect actual MSRV issues with xtra, since the dependencies updated beyond xtra's MSRV had releases allowed by xtra that did support xtra's MSRV.
    2.Using minimal-versions makes sure that the versions specified in Cargo.toml are not incorrect - see Rust minimum versions: SemVer is a lie!.

So, I decided to kill two birds with one stone and use minimal-versions to fix both issues.

@Restioson Restioson added the enhancement New feature or request label Jun 9, 2022
@Restioson Restioson added this to the 0.6.0 milestone Jun 9, 2022
Restioson added 4 commits June 9, 2022 18:15
console_error_panic_hook < 0.1.5 was nightly only. This change was needed to make CI with minimum versions pass. Really, it's a little unnecessary for an example to have an MSRV, but to make this CI work with the fewest modifications it's the easiest option.
@Restioson Restioson changed the title Minimal 2021 edition update, and MSRV -> 1.56 Minimal 2021 edition update, MSRV -> 1.56, GHA update Jun 9, 2022
@Restioson Restioson merged commit b7049c3 into master Jun 10, 2022
Restioson added a commit that referenced this pull request Jun 10, 2022
* Minimal ed2021 update, and MSRV -> 1.56

* Set MSRV in Cargo.toml

* Use minimal versions for all CI runs

* typo

* Update minimum dep for basic_wasm_bindgen

console_error_panic_hook < 0.1.5 was nightly only. This change was needed to make CI with minimum versions pass. Really, it's a little unnecessary for an example to have an MSRV, but to make this CI work with the fewest modifications it's the easiest option.
Restioson added a commit that referenced this pull request Jun 10, 2022
* Addresses are sinks POC (based on flume changes)

* Add a debug implementation for Address (#67)

* Add a debug implementation for Address

* fmt

* Ensure debug works for messagechannel & show RC info

* format

* Add test

* Remove refcounter type from struct name

* Ensure debug works for messagechannel & show RC info

* Fix rebase issue

* Turbofish over type annotation (@thomaseizinger)

Thanks to @thomaseizinger!

Co-authored-by: Thomas Eizinger <thomas@eizinger.io>

* Remove unnecessary locking

* rustfmt

* Try fix MSRV issue

* Revert (original change red herring)

Technically this is not an MSRV issue, this is an actions + not commiting Cargo.lock issue, since having async_global_executor on 2021 should be fine as long as your compiler is also on 2021, and xtra won't specifically bring in the 2021 edition as it.

Co-authored-by: Thomas Eizinger <thomas@eizinger.io>

* Minimal 2021 edition update, MSRV -> 1.56, GHA update (#80)

* Minimal ed2021 update, and MSRV -> 1.56

* Set MSRV in Cargo.toml

* Use minimal versions for all CI runs

* typo

* Update minimum dep for basic_wasm_bindgen

console_error_panic_hook < 0.1.5 was nightly only. This change was needed to make CI with minimum versions pass. Really, it's a little unnecessary for an example to have an MSRV, but to make this CI work with the fewest modifications it's the easiest option.

* Update to HEAD of flume fork

* Sink for Handler<Return = ()> only

* Add example showcasing usage of `Address` as `Sink`

* Add example for sending on an interval based on stream

* Add a debug implementation for Address (#67)

* Add a debug implementation for Address

* fmt

* Ensure debug works for messagechannel & show RC info

* format

* Add test

* Remove refcounter type from struct name

* Ensure debug works for messagechannel & show RC info

* Fix rebase issue

* Turbofish over type annotation (@thomaseizinger)

Thanks to @thomaseizinger!

Co-authored-by: Thomas Eizinger <thomas@eizinger.io>

* Remove unnecessary locking

* rustfmt

* Try fix MSRV issue

* Revert (original change red herring)

Technically this is not an MSRV issue, this is an actions + not commiting Cargo.lock issue, since having async_global_executor on 2021 should be fine as long as your compiler is also on 2021, and xtra won't specifically bring in the 2021 edition as it.

Co-authored-by: Thomas Eizinger <thomas@eizinger.io>

* Addresses are sinks POC (based on flume changes)

* Fmt

* update examples (Address is no longer Sync)

* Fmt

* 1.56 compliance (for CI)

* Update flume to crates.io

Co-authored-by: Thomas Eizinger <thomas@eizinger.io>
@Restioson Restioson deleted the ed2021 branch June 13, 2022 11:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant