Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
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
- Loading branch information