diff --git a/src/v0.rs b/src/v0.rs index 6d99534..0f05d3b 100644 --- a/src/v0.rs +++ b/src/v0.rs @@ -1074,7 +1074,11 @@ impl<'a, 'b, 's> Printer<'a, 'b, 's> { let name = parse!(self, ident); self.print(name)?; self.print(" = ")?; - self.print_type()?; + if self.eat(b'K') { + self.print_const(false) + } else { + self.print_type() + }?; } if open { @@ -1350,6 +1354,11 @@ mod tests { ); } + #[test] + fn demangle_dyn_trait_assoc_const_binding() { + t_nohash_type!("DNtC5krate5Traitp1NKj0_EL_", "dyn krate::Trait"); + } + #[test] fn demangle_pat_ty() { t_nohash_type!("WmRm1_m9_", "u32 is 1..=9");