Bump rustc-demangle to 0.1.28#159202
Conversation
|
cc @Amanieu, @folkertdev, @sayantn These commits modify the If this was unintentional then you should revert the changes before this PR is merged.
cc @rust-lang/clippy These commits modify the If this was unintentional then you should revert the changes before this PR is merged. |
|
r? @jhpratt rustbot has assigned @jhpratt. Use Why was this reviewer chosen?The reviewer was selected based on:
|
|
r? @wesleywiser |
|
@bors r+ However, I'm confused why splat needs custom mangling -- note that implies it will not demangle properly until downstream toolchains (perf, kernel, profilers, etc.) all update which will take years. Isn't #[splat] desugaring into an already supported form on stable today? Maybe we can mangle as-if there was Obviously not too important while it's all unstable but worth thinking about during stabilization. |
…rk-Simulacrum Bump rustc-demangle to 0.1.28 This PR is part of the splat lang experiment: rust-lang#153629 It brings in the changes from rust-lang/rustc-demangle#90, which encode splatted types with a `w` prefix in type mangling. This is required to fix the symbol clashes in rust-lang#158644. We need to upgrade the compiler and standard library to avoid "can't demangle" panics or errors. Some tools might work without the upgrade, but we might as well do it there as well. @rustbot label +C-enhancement +F-splat +T-compiler +A-name-mangling
…uwer Rollup of 13 pull requests Successful merges: - #159039 (resolve: fix effective visibilities for items in ambiguous glob sets) - #157706 (Deny `todo!()` in tidy) - #156712 (Pointer authentication config and user facing options) - #158535 (Support `#[track_caller]` on EII declarations) - #158632 (First steps of late-bound turbofishing (place FnDef behind a dummy binder)) - #159002 (Small refactorings in `need_type_info` module) - #159202 (Bump rustc-demangle to 0.1.28) - #159216 (Avoid using probe self_ty for delegation arguments) - #159222 (semicolon_in_expressions_from_macros: Lint on non-local macros too) - #156609 (Consider structurally impossible Sized predicates in MIR) - #158854 (Add `#[rustc_test_entrypoint_marker]`) - #158998 (Some minor ast validation and visiting cleanups) - #159123 (doc: clarify attr parser APIs)
…rk-Simulacrum Bump rustc-demangle to 0.1.28 This PR is part of the splat lang experiment: rust-lang#153629 It brings in the changes from rust-lang/rustc-demangle#90, which encode splatted types with a `w` prefix in type mangling. This is required to fix the symbol clashes in rust-lang#158644. We need to upgrade the compiler and standard library to avoid "can't demangle" panics or errors. Some tools might work without the upgrade, but we might as well do it there as well. @rustbot label +C-enhancement +F-splat +T-compiler +A-name-mangling
…uwer Rollup of 14 pull requests Successful merges: - #159039 (resolve: fix effective visibilities for items in ambiguous glob sets) - #157706 (Deny `todo!()` in tidy) - #158535 (Support `#[track_caller]` on EII declarations) - #158632 (First steps of late-bound turbofishing (place FnDef behind a dummy binder)) - #158846 (Fix unused variable warnings for diverging expressions) - #159002 (Small refactorings in `need_type_info` module) - #159202 (Bump rustc-demangle to 0.1.28) - #159216 (Avoid using probe self_ty for delegation arguments) - #159222 (semicolon_in_expressions_from_macros: Lint on non-local macros too) - #156609 (Consider structurally impossible Sized predicates in MIR) - #157993 (Expose more info about ADTs and functions in rustc_public) - #158854 (Add `#[rustc_test_entrypoint_marker]`) - #158998 (Some minor ast validation and visiting cleanups) - #159123 (doc: clarify attr parser APIs)
…rk-Simulacrum Bump rustc-demangle to 0.1.28 This PR is part of the splat lang experiment: rust-lang#153629 It brings in the changes from rust-lang/rustc-demangle#90, which encode splatted types with a `w` prefix in type mangling. This is required to fix the symbol clashes in rust-lang#158644. We need to upgrade the compiler and standard library to avoid "can't demangle" panics or errors. Some tools might work without the upgrade, but we might as well do it there as well. @rustbot label +C-enhancement +F-splat +T-compiler +A-name-mangling
…uwer Rollup of 15 pull requests Successful merges: - #159039 (resolve: fix effective visibilities for items in ambiguous glob sets) - #157706 (Deny `todo!()` in tidy) - #156047 (Fix trait method resolution on an adjusted never type) - #158535 (Support `#[track_caller]` on EII declarations) - #158632 (First steps of late-bound turbofishing (place FnDef behind a dummy binder)) - #158846 (Fix unused variable warnings for diverging expressions) - #159002 (Small refactorings in `need_type_info` module) - #159202 (Bump rustc-demangle to 0.1.28) - #159216 (Avoid using probe self_ty for delegation arguments) - #156609 (Consider structurally impossible Sized predicates in MIR) - #157993 (Expose more info about ADTs and functions in rustc_public) - #158804 (Clarify `as_uninit_mut` may point to uninitialized memory) - #158854 (Add `#[rustc_test_entrypoint_marker]`) - #158998 (Some minor ast validation and visiting cleanups) - #159123 (doc: clarify attr parser APIs)
…uwer Rollup of 13 pull requests Successful merges: - #157706 (Deny `todo!()` in tidy) - #158535 (Support `#[track_caller]` on EII declarations) - #158632 (First steps of late-bound turbofishing (place FnDef behind a dummy binder)) - #158846 (Fix unused variable warnings for diverging expressions) - #159002 (Small refactorings in `need_type_info` module) - #159202 (Bump rustc-demangle to 0.1.28) - #159216 (Avoid using probe self_ty for delegation arguments) - #156609 (Consider structurally impossible Sized predicates in MIR) - #157993 (Expose more info about ADTs and functions in rustc_public) - #158804 (Clarify `as_uninit_mut` may point to uninitialized memory) - #158854 (Add `#[rustc_test_entrypoint_marker]`) - #158998 (Some minor ast validation and visiting cleanups) - #159123 (doc: clarify attr parser APIs)
Rollup merge of #159202 - teor2345:bump-rustc-demangle, r=Mark-Simulacrum Bump rustc-demangle to 0.1.28 This PR is part of the splat lang experiment: #153629 It brings in the changes from rust-lang/rustc-demangle#90, which encode splatted types with a `w` prefix in type mangling. This is required to fix the symbol clashes in #158644. We need to upgrade the compiler and standard library to avoid "can't demangle" panics or errors. Some tools might work without the upgrade, but we might as well do it there as well. @rustbot label +C-enhancement +F-splat +T-compiler +A-name-mangling
Yeah that's a good question. Splat is treated as a distinct function type, because it is de-tupled in the callee, but tupled in the caller (at typecheck time). It's currently lowered to the tupled type, but in future we want to lower it de-tupled for performance. So I guess we could mangle the types the same way as the de-tupled form, once we make that change. This would need changes to the legacy and v0 mangling schemes to de-tuple when they see splat. While it's incomplete, it's useful to have the symbols be distinct, so we don't lock ourselves into either option. And it avoids symbol clashes, see #158644 for details.
I've added a note to the tracking issue to review this before stabilisation |
This PR is part of the splat lang experiment: #153629
It brings in the changes from rust-lang/rustc-demangle#90, which encode splatted types with a
wprefix in type mangling. This is required to fix the symbol clashes in #158644.We need to upgrade the compiler and standard library to avoid "can't demangle" panics or errors. Some tools might work without the upgrade, but we might as well do it there as well.
@rustbot label +C-enhancement +F-splat +T-compiler +A-name-mangling