Rollup merge of #77452 - Mark-Simulacrum:fix-symbol-v0, r=eddyb
Permit ty::Bool in const generics for v0 mangling This should unbreak using new-symbol-mangling = true in config.toml (once it lands in beta anyway). Fixes #76365 (well, it will, but seems fine to close as soon as we have support) r? @eddyb (for mangling) but I'm okay with some other reviewer too :)
This commit is contained in:
commit
eff6398014
2 changed files with 19 additions and 0 deletions
|
@ -504,6 +504,7 @@ impl Printer<'tcx> for SymbolMangler<'tcx> {
|
||||||
|
|
||||||
match ct.ty.kind() {
|
match ct.ty.kind() {
|
||||||
ty::Uint(_) => {}
|
ty::Uint(_) => {}
|
||||||
|
ty::Bool => {}
|
||||||
_ => {
|
_ => {
|
||||||
bug!("symbol_names: unsupported constant of type `{}` ({:?})", ct.ty, ct);
|
bug!("symbol_names: unsupported constant of type `{}` ({:?})", ct.ty, ct);
|
||||||
}
|
}
|
||||||
|
|
18
src/test/ui/symbol-names/issue-76365.rs
Normal file
18
src/test/ui/symbol-names/issue-76365.rs
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
// check-pass
|
||||||
|
// revisions: legacy v0
|
||||||
|
//[legacy]compile-flags: -Z symbol-mangling-version=legacy --crate-type=lib
|
||||||
|
//[v0]compile-flags: -Z symbol-mangling-version=v0 --crate-type=lib
|
||||||
|
|
||||||
|
#![feature(min_const_generics)]
|
||||||
|
|
||||||
|
pub struct Bar<const F: bool>;
|
||||||
|
|
||||||
|
impl Bar<true> {
|
||||||
|
pub fn foo() {}
|
||||||
|
}
|
||||||
|
|
||||||
|
impl<const F: bool> Bar<F> {
|
||||||
|
pub fn bar() {}
|
||||||
|
}
|
||||||
|
|
||||||
|
fn main() {}
|
Loading…
Add table
Add a link
Reference in a new issue