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

Upgrade MSRV to 1.78.0 #3800

Merged
merged 13 commits into from
Aug 27, 2024
Merged

Upgrade MSRV to 1.78.0 #3800

merged 13 commits into from
Aug 27, 2024

Conversation

ysaito1001
Copy link
Contributor

@ysaito1001 ysaito1001 commented Aug 24, 2024

Motivation and Context

Upgrades MSRV to 1.78.0 since the latest Rust at the time of writing is 1.80.1 (we try keeping two releases behind).

Description

In Rust 1.78.0, clippy enforces stricter checks in two areas:

  • dead_code
    It seems to be able to uncover more unused code patterns, especially when different combinations of cargo features are enabled
  • empty_docs
    Prior to 1.78.0, the codegen used to render the following empty docs ///, regardless whether the codegen is for the server or for the client. This is now flagged as empty_docs by clippy:
///
pub(crate) mod XXX {
    ...
}

Other than bumping MSRV to 1.78.0, the remaining code changes address issues related to the fixes mentioned above.

EDIT:
cargo-semver-checks required an upgrade due to incompatibility issues following the MSRV upgrade (example error). Specifically, after updating the MSRV to 1.78.0, the rustdoc version was upgraded to v28. However, the version of cargo-semver-checks we were using (0.24.1) only supported rustdoc up to v27.

To resolve this, we have updated cargo-semver-checks to the first version that supports rustdoc v28.

Testing

Existing tests in CI

Checklist

  • For changes to the smithy-rs codegen or runtime crates, I have created a changelog entry Markdown file in the .changelog directory, specifying "client," "server," or both in the applies_to key.
  • For changes to the AWS SDK, generated SDK code, or SDK runtime crates, I have created a changelog entry Markdown file in the .changelog directory, specifying "aws-sdk-rust" in the applies_to key.

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

@ysaito1001 ysaito1001 marked this pull request as ready for review August 24, 2024 00:40
@ysaito1001 ysaito1001 requested review from a team as code owners August 24, 2024 00:40
Copy link

Copy link

@david-perez
Copy link
Contributor

Aren't we affected by https://blog.rust-lang.org/2024/05/06/check-cfg.html when using the aws_sdk_unstable flag?

@ysaito1001
Copy link
Contributor Author

Aren't we affected by https://blog.rust-lang.org/2024/05/06/check-cfg.html when using the aws_sdk_unstable flag?

The provided link refers to Rust 1.80? Since this PR upgrades to Rust 1.78, we're not there yet (if I understand your question correctly)? If you mean "will we eventually be affected", then the answer is possibly.

@ysaito1001 ysaito1001 added this pull request to the merge queue Aug 27, 2024
Merged via the queue into main with commit 740edcc Aug 27, 2024
44 checks passed
@ysaito1001 ysaito1001 deleted the ysaito/upgrade-msrv-to-1-78 branch August 27, 2024 15:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants