Skip to content

Commit 29d5c93

Browse files
Add note about Punycode making decoding more complicated.
1 parent 68782e0 commit 29d5c93

File tree

1 file changed

+6
-3
lines changed

1 file changed

+6
-3
lines changed

text/0000-symbol-name-mangling-v2.md

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -881,8 +881,10 @@ efficient demanglers:
881881

882882
Parsing, decompression, and demangling can thus be done in a single pass
883883
over the mangled name without the need for complex data structures, which
884-
is useful when having to implement `#[no_std]` or C demanglers.
885-
884+
is useful when having to implement `#[no_std]` or C demanglers. (Note that
885+
Punycode can complicate decoding slightly because it needs dynamic memory
886+
allocation in the general case but it can be implemented with an on-stack
887+
buffer for a reasonable maximum supported length).
886888

887889
## Mapping Rust Language Entities to Symbol Names
888890

@@ -1143,4 +1145,5 @@ pub static QUUX: u32 = {
11431145
- Updated compiler's expected assignment of disambiguation indices and namespace tags.
11441146
- Removed "complexity" drawback since the scheme is not very complex anymore.
11451147
- Removed unresolved question "Re-use `<disambiguator>` for crate disambiguator".
1146-
- Added note about default generic arguments to reference-level-explanation.
1148+
- Added note about default generic arguments to reference-level-explanation.
1149+
- Added note about Punycode making decoding more complicated.

0 commit comments

Comments
 (0)