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

[internal] upgrade to Rust 2021 Edition #13644

Merged
merged 2 commits into from
Nov 20, 2021

Conversation

tdyas
Copy link
Contributor

@tdyas tdyas commented Nov 17, 2021

Use the Rust 2021 Edition for all crates. Upgrades the use of cargo-ensure-prefix in build-support/bin/check_rust_target_headers.sh to support Rust 2021 edition.

@tdyas
Copy link
Contributor Author

tdyas commented Nov 17, 2021

The Rust prefix check in ./build-support/bin/check_rust_target_headers.sh is failing because cargo-ensure-prefix is using a version of the cargo crate that is too old to recognize that 2021 is a valid edition:

  Installing /home/runner/.cargo/bin/cargo-ensure-prefix
   Installed package `cargo-ensure-prefix v0.1.3` (executable `cargo-ensure-prefix`)
Error parsing /home/runner/work/pants/pants/src/rust/engine/Cargo.toml
Rust targets didn't have correct prefix:

https://github.com/pantsbuild/pants/runs/4233692777?check_suite_focus=true#step:18:522

Verified by trying to upgrade cargo-ensure-prefix to 2021 edition to see if its own unit tests could handle that change. They couldn't:

---- test_list_paths::single_package_multiple_explicit_targets stdout ----
thread 'test_list_paths::single_package_multiple_explicit_targets' panicked at 'called `Result::unwrap()` on an `Err` value: ErrorMessage { msg: "supported edition values are `2015` or `2018`, but `2021` is unknown" }

failed to parse the `edition` key

failed to parse manifest at `/Users/tdyas/TC/cargo-ensure-prefix/Cargo.toml`', src/main.rs:230:70
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

cc @illicitonion

@tdyas
Copy link
Contributor Author

tdyas commented Nov 18, 2021

Upstream fix for cargo ensure-prefix: illicitonion/cargo-ensure-prefix#2

I wonder if we should eventually just replace cargo ensure-prefix and our integration test which checks file headers with a pants linter.

@tdyas tdyas merged commit 1d78d21 into pantsbuild:main Nov 20, 2021
@tdyas tdyas deleted the use_rust_2021_edition branch November 20, 2021 01:50
illicitonion added a commit that referenced this pull request Dec 7, 2021
Internal changes:

* [internal] Remove superfluous f-string specifiers ([#13821](#13821))

* [internal] scala: extract annotations as consumed types ([#13810](#13810))

* [jvm] Split nailgun digest from input file digests ([#13813](#13813))

* [internal] jvm: add jre_major_version and use stderr to properly extract version ([#13812](#13812))

* [internal] Clean up Go `embed` support's handling of dependencies ([#13801](#13801))

* [internal] scala: handle package object syntax in parser ([#13809](#13809))

* [internal] java: fix junit sentinel rule setup ([#13815](#13815))

* [internal] upgrade to rust v1.57.0 ([#13807](#13807))

* [internal] add failing test for FrozenDict equality issue ([#13389](#13389))

* [internal] Use `PyObject` instead of `Value` in more places ([#13802](#13802))

* Remove MultiPlatform Process abstractions ([#12725](#12725))

* [internal] add `JvmToolBase` for lockfile handling for JVM tools ([#13777](#13777))

* [internal] Port `MergeDigests` to Rust ([#13773](#13773))

* [jvm] Spawn nailgun servers outside the pool lock ([#13796](#13796))

* [internal] DRY loading internal Go binaries ([#13800](#13800))

* [internal] Convert unit tests to use pytest ([#13798](#13798))

* [internal] remove dead code - socket util. ([#13797](#13797))

* [internal] Reorganize Go parser scripts ([#13791](#13791))

* Adds Jackson core/datatype to `JVM_ARTIFACT_MAPPINGS` ([#13792](#13792))

* [internal] go: initial support for embedding resources ([#13743](#13743))

* [internal] Refer to `go.mod` path when downloading packages ([#13786](#13786))

* [internal] More robust Go dependency inference tests ([#13785](#13785))

* [internal] `tailor` doesn't add `go_package` for `testdata` folder ([#13783](#13783))

* [internal] Add Scala backend to dryrun for wheel builds. ([#13772](#13772))

* [internal] Unify JVM thirdparty resolves ([#13771](#13771))

* [internal] scala: infer dependencies from consumed symbols and intermediate scopes ([#13758](#13758))

* [internal] java: infer scala encoded symbols ([#13739](#13739))

* [internal] scala: parse and report package scopes ([#13738](#13738))

* [internal] go: configure included env vars for `GoSdkProcess` ([#13734](#13734))

* Fix some `./cargo audit` vulnerabilities. ([#13728](#13728))

* [internal] fix non-empty __init__.py ([#13730](#13730))

* Compute RepositoryPex directly from addresses. ([#13716](#13716))

* Upgrade to cargo-audit 0.16.0. ([#13729](#13729))

* Simplify `NativeHandler`. ([#13727](#13727))

* [internal] Switch to a maintained fork of the `fuse` crate for `brfs`. ([#13679](#13679))

* [internal] Add infrastructure to support deprecating field names ([#13666](#13666))

* [internal] Introduce OptionalPex/OptionalPexRequest. ([#13712](#13712))

* [internal] tailor adds go_package targets ([#13703](#13703))

* [internal] Remove unused testproject for pants-plugin ([#13704](#13704))

* [internal] Rename ambiguous `subpath` variable for Go code ([#13701](#13701))

* [internal] scala: generate the JVM names seen by Java code for Scala code ([#13696](#13696))

* Use RequirementsPexRequest in run_pex_binary.py. ([#13693](#13693))

* [internal] Refactor finding owning `go_mod` for first-party packages ([#13695](#13695))

* [internal] repl: add append_only_caches / run_in_workspace attributes to ReplRequest ([#13599](#13599))

* [internal] switch back to official `cargo-ensure-prefix` crate ([#13692](#13692))

* [internal] scala: extract type names from all Type.* AST nodes ([#13685](#13685))

* [internal] Convert unit tests to use pytest ([#13652](#13652))

* Unblock codegen support for java export analysis (#13645) ([#13675](#13675))

* [internal] upgrade to Rust 2021 Edition ([#13644](#13644))

* [internal] Don't store derived values on `go_first_party_package` targets ([#13676](#13676))

* Upgrade to py03 0.15.1. ([#13725](#13725))

* Add PyPDF2 to module mapping ([#13717](#13717))

* Upgrade console and indacatif. ([#13726](#13726))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants