Skip to content

Commit

Permalink
[third-party/rust] Upgrade dependencies used by streampager
Browse files Browse the repository at this point in the history
Summary:
Upgrade dependencies requested by facebook/sapling#1008, with the exceptions:

- No change to `lru` and `indexmap`, because they want `hashbrown 0.15.2`,
  which fails to compile until Rust [1.84](rust-lang/rust@56ee492).

```
  error[E0635]: unknown feature `strict_provenance_lints`
    --> third-party/rust/vendor/hashbrown-0.15.2/src/lib.rs:24:9
     |
  24 |         strict_provenance_lints
     |         ^^^^^^^^^^^^^^^^^^^^^^^
```

- No change to `notify`. It specifies `fsevents-sys = "4.0.0"` and fails to compile:

```
  error[E0425]: cannot find function, tuple struct or tuple variant `FSEventsGetCurrentEventId` in crate `fs`
     --> third-party/rust/vendor/notify-8.0.0/src/fsevent.rs:462:40
      |
  462 |                     let event_id = fs::FSEventsGetCurrentEventId();
      |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^ not found in `fs`

  (`FSEventsGetCurrentEventId` was introduced in `fsevents-sys 4.1.0`)
```

- No change to `unicode-width` because
  phsym/prettytable-rs#165 (`prettytable-rs` does not
  pin the "good" version of `unicode-width` so `unicode-width` has to be
  globally pinned)

- No change to `bit-set` to avoid incompatible types:

```
error[E0308]: mismatched types
   --> fbcode/hphp/hack/src/hackc/emitter/opt_body.rs:287:49
    |
287 |         avl_in.union_with(&BitSet::from_bit_vec(BitVec::from_elem(nparams, true)));
    |                            -------------------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `bit_vec::BitVec`, found `BitVec`
    |                            |
    |                            arguments to this function are incorrect
    |
    = note: `BitVec` and `bit_vec::BitVec` have similar names, but are actually distinct types
note: `BitVec` is defined in crate `bit_vec`
   --> third-party/rust/vendor/bit-vec-0.6.2/src/lib.rs:210:1
note: `bit_vec::BitVec` is defined in crate `bit_vec`
   --> third-party/rust/vendor/bit-vec-0.8.0/src/lib.rs:249:1
    = note: perhaps two different versions of crate `bit_vec` are being used?
note: associated function defined here
   --> third-party/rust/vendor/bit-set-0.8.0/src/lib.rs:240:12
```

- No change to `memmap2` since it seems to cause hack-www-test breakage.

Test Plan:
Follow https://www.internalfb.com/wiki/Rust/Third_Party_Libraries/Adding_or_Updating_Libraries/#adding-or-updating-crate

```
quark@devvm15458 ~/fbsource/third-party/rust % ~/fbsource/fbcode/common/rust/tools/scripts/third-party-check.sh
...
BUILD SUCCEEDED
~/fbsource/fbcode/common/rust/tools/scripts/third-party-check.sh  18.58s user 5.79s system 1% cpu 21:10.02 total
```

Use a modified [`fbcode/common/rust/tools/scripts/check_all.sh`](https://www.internalfb.com/code/fbsource/[d9bbdb2c9ba5d475bb8d027b6acbb4f648fcf269]/fbcode/common/rust/tools/scripts/check_all.sh) to reduce the oomd kill risk. Run from fbcode ondemand.

Output: P1730344880

There is a pre-existing issue that repros on master:

```
error[E0308]: mismatched types
   --> fbcode/reliable_volumes/director/main.rs:125:20
    |
125 |         Arc::clone(&oncall3_client),
    |         ---------- ^^^^^^^^^^^^^^^ expected trait `OncallService`, found trait `Oncall3Service`
    |         |
    |         arguments to this function are incorrect
```

Most (31 of 32) builds passed cleanly. The last one failed with

```
error: Error running analysis for `fbcode//buck2/tests/targets/rules/cxx/duplicated_symbols_link_groups:rust_exports_dep_bin (ovr_config//platform/linux:x86_64-fbcode-platform010-clang15-split-dwarf-si
ngle#3306cf598294f8e8)`
  --> fbcode/common/rust/tools/scripts/check_all.bxl:32:21
   |
32 |     for k, value in ctx.build(check_sub_targets, materializations = "skip").items():
   |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |

Caused by:
    Traceback (most recent call last):
      File <builtin>, in <module>
      * fbcode/buck2/prelude/rust/rust_binary.bzl:405, in rust_binary_impl
          providers, args = _rust_binary_common(
      * fbcode/buck2/prelude/rust/rust_binary.bzl:137, in _rust_binary_common
          rust_cxx_link_group_info = inherited_rust_cxx_link_group_info(
      * fbcode/buck2/prelude/rust/link_info.bzl:498, in inherited_rust_cxx_link_group_info
          labels_to_links = get_filtered_labels_to_links_map(
      * fbcode/buck2/prelude/cxx/link_groups.bzl:574, in get_filtered_labels_to_links_map
          add_link_group(target, target_link_group)
      * fbcode/buck2/prelude/cxx/link_groups.bzl:498, in add_link_group
          fail("'{}' artifact included multiple times into '{}' link group. From '{}:{}...
    error: fail: '<source buck2/tests/targets/rules/cxx/duplicated_symbols_link_groups/dep.c>' artifact included multiple times into 'all_deps' link group. From 'buck2/tests/targets/rules/cxx/duplicate
d_symbols_link_groups:dep' and 'buck2/tests/targets/rules/cxx/duplicated_symbols_link_groups:exports_dep'
       --> fbcode/buck2/prelude/cxx/link_groups.bzl:498:21
        |
    498 |                     fail("'{}' artifact included multiple times into '{}' link group. From '{}:{}' and '{}:{}'".format(src, target_group, target.package, target.name, previous_target.package,
 previous_target.name))
        |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
^^^^^^^^^^^^^^^^^^^^^^^
        |
```

which seems to be a buck definition issue.

Reviewed By: zzl0

Differential Revision: D69427081

fbshipit-source-id: f520721fd4b828ae46c6b2d7875fa68eaafe603e
  • Loading branch information
quark-zju authored and facebook-github-bot committed Feb 13, 2025
1 parent cea4fc1 commit c973e46
Showing 1 changed file with 2 additions and 2 deletions.
4 changes: 2 additions & 2 deletions antlir/util/cli/json_arg/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,9 @@ path = "src/lib.rs"
[dependencies]
serde = { version = "1.0.185", features = ["derive", "rc"] }
serde_json = { version = "1.0.132", features = ["float_roundtrip", "unbounded_depth"] }
toml = "0.8.4"
toml = "0.8.19"

[dev-dependencies]
clap = { version = "4.5.20", features = ["derive", "env", "string", "unicode", "wrap_help"] }
similar-asserts = "1.4.2"
tempfile = "3.8"
tempfile = "3.15"

0 comments on commit c973e46

Please sign in to comment.