rust/compiler/rustc_middle/src
bors ad02dc46ba Auto merge of #87194 - eddyb:const-value-mangling, r=michaelwoerister,oli-obk
rustc_symbol_mangling: support structural constants and &str in v0.

This PR should unblock #85530 (except for float `const` generics, which AFAIK should've never worked).
(cc `@tmiasko` could the https://github.com/rust-lang/rust/pull/85530#issuecomment-857855379 failures be retried with a quick crater "subset" run of this PR + changing the default to `v0`? Just to make sure I didn't miss anything other than the floats)

The encoding is the one suggested before in e.g. https://github.com/rust-lang/rust/issues/61486#issuecomment-878932102, tho this PR won't by itself finish #61486, before closing that we'd likely want to move to `@oli-obk's` "valtrees" (i.e. #83234 and other associated work).

<hr>

**EDITs**:
1. switched unit/tuple/braced-with-named-fields `<const-fields>` prefixes from `"u"`/`"T"`/`""` to `"U"`/`"T"`/`"S"` to avoid the ambiguity reported by `@tmiasko` in https://github.com/rust-lang/rust/pull/87194#issuecomment-884279921.

2. `rustc-demangle` PR: https://github.com/alexcrichton/rustc-demangle/pull/55

3. RFC amendment PR: https://github.com/rust-lang/rfcs/pull/3161
    * also removed the grammar changes included in that PR, from this description

4. added tests (temporarily using my fork of `rustc-demangle`)

<hr>

r? `@michaelwoerister`
2021-08-26 19:15:09 +00:00
..
dep_graph Update DepNode's size 2021-07-10 21:46:31 +08:00
hir Fix typos “a”→“an” 2021-08-22 15:35:11 +02:00
ich rename assert_matches module 2021-07-16 09:18:14 -07:00
infer Miscellaneous inlining improvements 2021-06-02 08:49:58 +02:00
middle Auto merge of #87739 - Aaron1011:remove-used-attrs, r=wesleywiser 2021-08-24 03:58:22 +00:00
mir Auto merge of #83698 - erikdesjardins:undefconst, r=RalfJung,oli-obk 2021-08-26 10:49:25 +00:00
query Morph layout_raw query into layout_of. 2021-08-24 22:04:27 +03:00
traits Fix typos “a”→“an” 2021-08-22 15:35:11 +02:00
ty Auto merge of #87194 - eddyb:const-value-mangling, r=michaelwoerister,oli-obk 2021-08-26 19:15:09 +00:00
util Make panic/assert calls in rustc compatible with Rust 2021. 2021-02-03 22:42:53 +01:00
arena.rs Make THIR building a stealable query 2021-05-22 14:36:22 +02:00
lib.rs Use if-let guards in the codebase 2021-08-25 20:24:35 +02:00
lint.rs Rename force-warns to force-warn 2021-07-21 15:41:10 +02:00
macros.rs Auto merge of #78779 - LeSeulArtichaut:ty-visitor-return, r=oli-obk 2020-11-17 12:24:34 +00:00
tests.rs mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
thir.rs Various pattern cleanups 2021-08-25 20:24:39 +02:00