@@ -675,6 +675,7 @@ Mangled names conform to the following grammar:
675
675
// innermost lifetimes, e.g. in `for<'a, 'b> fn(for<'c> fn(...))`,
676
676
// any <lifetime>s in ... (but not inside more binders) will observe
677
677
// the indices 1, 2, and 3 refer to 'c, 'b, and 'a, respectively.
678
+ // The number of bound lifetimes is value of <base-62-number> + 1.
678
679
<binder> = "G" <base-62-number>
679
680
680
681
<type> = <basic-type>
@@ -715,12 +716,12 @@ Mangled names conform to the following grammar:
715
716
// If the "U" is present then the function is `unsafe`.
716
717
// The return type is always present, but demanglers can
717
718
// choose to omit the ` -> ()` by special-casing "u".
718
- <fn-sig> = <binder> ["U"] ["K" <abi>] {<type>} "E" <type>
719
+ <fn-sig> = [ <binder>] ["U"] ["K" <abi>] {<type>} "E" <type>
719
720
720
721
<abi> = "C"
721
722
| <undisambiguated-identifier>
722
723
723
- <dyn-bounds> = <binder> {<dyn-trait>} "E"
724
+ <dyn-bounds> = [ <binder>] {<dyn-trait>} "E"
724
725
<dyn-trait> = <path> {<dyn-trait-assoc-binding>}
725
726
<dyn-trait-assoc-binding> = "p" <undisambiguated-identifier> <type>
726
727
<const> = <type> <const-data>
@@ -1150,3 +1151,4 @@ pub static QUUX: u32 = {
1150
1151
- Add a recommended resolution for open question around Punycode identifiers.
1151
1152
- Add a recommended resolution for open question around encoding function parameter types.
1152
1153
- Allow identifiers to start with a digit.
1154
+ - Make ` <binder> ` optional in ` <fn-sig> ` and ` <dyn-bounds> ` productions.
0 commit comments