Summary: A newer version of colored adds support for true color terminal text coloring. The changelog only indicates "Alter Color interface to return Cow<'static, str>" besides the true color support as a "change" in the changelog and I'm not expecting people to really use this. If they do, I'll see it in Sandcastle?
Reviewed By: dtolnay
Differential Revision: D52391497
fbshipit-source-id: c08fffc171f7d5f9b75f96617aa673867ab45312
Summary: Adds basic info that every crate should have.
Reviewed By: dtolnay
Differential Revision: D52051107
fbshipit-source-id: 828ac6a752dbb4b419577fca08815014c8b96c42
Summary:
Release notes: https://blog.rust-lang.org/2023/10/05/Rust-1.73.0.html
This release is coupled with an update of the `anyhow` and `thiserror` crates because the unstable standard library API for backtraces has changed.
Fbcode changes:
- `feature(default_free_fn)` deleted (D50300881)
- `noop_method_call` lint becomes warn-by-default (D50486032, D50516201)
- stronger `invalid_reference_casting` detection (D50488164)
- `feature(unix_chown)` has been stabilized
- `feature(provide_any)` and `std::provider` deleted
- `clippy::unwrap_or_else_default` renamed to `clippy::unwrap_or_default`
- type inference ambiguities (D51780425)
- `nu-command` build error (D51779062)
Reviewed By: AndreasBackx, shayne-fletcher
Differential Revision: D50294321
fbshipit-source-id: 0fac87f6ba072ad029f9ce41ce94ed813e855b20
Summary:
This release includes a fix to `proc_macro2::Ident::new` to report invalid input at the call site using #[track_caller], instead of inside proc-macro2 code.
This affects LLVM staging (which is LLVM 18) because old bindgen (<0.62.0) is incompatible with Clang 16+, manifesting as panicks in `Ident::new`. See {D40685340}.
**Before:**
```
Action failed: fbsource//third-party/rust:loopdev-0.4.0-build-script-run (buildscript)
thread 'main' panicked at '"enum_(unnamed_at_/usr/include/linux/loop_h_21_1)" is not a valid Ident', third-party/rust/vendor/proc-macro2-1.0.69/src/fallback.rs:817:9
Action failed: fbsource//third-party/rust:virt-sys-0.1.0-build-script-run (buildscript)
thread 'main' panicked at '"_virTypedParameter_union_(unnamed_at___/__/__/__/__/__/fbcode/ca3f1b68f56b9220/third-party-buck/platform010/build/libvirt/__include__/include/include/libvirt/libvirt-common_h_206_5)" is not a valid Ident', third-party/rust/vendor/proc-macro2-1.0.69/src/fallback.rs:817:9
```
**After:**
```
Action failed: fbsource//third-party/rust:loopdev-0.4.0-build-script-run (buildscript)
thread 'main' panicked at '"enum_(unnamed_at_/usr/include/linux/loop_h_21_1)" is not a valid Ident', third-party/rust/vendor/bindgen-0.59.2/src/ir/context.rs:878:9
Action failed: fbsource//third-party/rust:virt-sys-0.1.0-build-script-run (buildscript)
thread 'main' panicked at '"_virTypedParameter_union_(unnamed_at___/__/__/__/__/__/fbcode/ca3f1b68f56b9220/third-party-buck/platform010/build/libvirt/__include__/include/include/libvirt/libvirt-common_h_206_5)" is not a valid Ident', third-party/rust/vendor/bindgen-0.59.2/src/ir/context.rs:878:9
```
Of course, that panic still needs to be fixed properly. I will pursue that next. But at least the location of the faulty code is reported correctly.
Reviewed By: zertosh
Differential Revision: D51633230
fbshipit-source-id: db9794ed4ea70f773925bdaf9a11de289d2aa25c
Summary:
This code is 100% UB and no longer compiles in Rust 1.73.
```
error: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
--> fbcode/hermetic_infra/reverie/experimental/reverie-sabre/src/thread.rs:652:32
|
652 | let slot_map_mut = &mut *((&*SLOT_MAP as *const _) as *mut _);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= note: `#[deny(invalid_reference_casting)]` on by default
```
Reviewed By: JakobDegen
Differential Revision: D50488164
fbshipit-source-id: ea649d97f47ccc329a44650aff5dc467ed12b48c
Summary:
anyhow-1.0.73 [uses][1] the new `Error::provide` API. This API is
available starting in Rust 1.73. This means that if you want backtraces,
you need one:
- anyhow-1.0.72 & Rust 1.72
- anyhow-1.0.73 & Rust 1.73
Since we're still on 1.72, pin the version to avoid accidentally losing
backtraces.
There are no real changes between anyhow-1.0.71 and anyhow-1.0.72. But
update to anyhow-1.0.72 so that we're right up until the point where we
get backtrace support.
[1]: https://github.com/dtolnay/anyhow/pull/319
Reviewed By: shayne-fletcher
Differential Revision: D49970958
fbshipit-source-id: 1193611e6d16bc840e63b689e932ea3d33562152
Summary:
This fixes a bug related to bare carriage returns that caused D47318798 to fail in `third-party-rust-verification`. The `schemafy_core` crate contains a file that uses carriage returns which are not followed by newlines 🤮. When that file fails to parse, Reindeer falls back to using non-precise srcs, which produced the following difference to the generated output.
```
diff --git a/third-party/rust/BUCK b/third-party/rust/BUCK
--- a/third-party/rust/BUCK
+++ b/third-party/rust/BUCK
@@ -77047,6 +77047,7 @@
name = "schemafy_core-0.5.1",
srcs = [
"vendor/schemafy_core-0.5.1/src/lib.rs",
+ "vendor/schemafy_core-0.5.1/src/main.rs",
"vendor/schemafy_core-0.5.1/src/one_or_many.rs",
],
crate = "schemafy_core",
```
Reviewed By: zertosh
Differential Revision: D47318928
fbshipit-source-id: 086b96393cc43371b724ac95e841990385576432
Summary: This supports new syntax added in the past months, including `c"..."` CStr literals.
Reviewed By: shayne-fletcher
Differential Revision: D47316927
fbshipit-source-id: ac0e514ca89dad282e64decd01d3a94b3bff8490
Summary:
first in a set of diffs with the intent of removing `lazy_static!` from fbcode.
this diff changes `std::sync::Mutex` and `parking_lot::Mutex` to plain `static` initializations where possible.
Reviewed By: zertosh
Differential Revision: D46335784
fbshipit-source-id: 105848f38dcb8083be77a4ad4db267058081fe53
Summary: upgrade parking_lot from version 0.11.2 to version 0.12.1
Reviewed By: zertosh, diliop, dtolnay
Differential Revision: D46398501
fbshipit-source-id: ffae0ea188abad5253f1524216dd18ce9a53a74c
Summary: Trying to publish more of our docs and materials.
Reviewed By: VladimirMakaev
Differential Revision: D44387507
fbshipit-source-id: 32cd324db73483ec3f0dd7c2c1b0817f559fa958
Summary:
Removes need for patch.
It had already been updated to 3.4 but this just formalizes it.
Reviewed By: jasonwhite
Differential Revision: D44274378
fbshipit-source-id: d17ecbbee06c7df30f689eb859fb31fdf07d8d44
Summary:
`trace_start_init` relies on the deprecated/removed symbol `initForTraceStart`,
and it's not critical, so this diff removes it.
Reviewed By: jasonwhite
Differential Revision: D41447262
fbshipit-source-id: a291b822d7e6c620f15182374d8923bc18ad2ec8