Skip to content
This repository was archived by the owner on Oct 12, 2022. It is now read-only.

Commit 9a30e97

Browse files
committed
Add changelog entry
1 parent 68c5f99 commit 9a30e97

File tree

1 file changed

+14
-0
lines changed

1 file changed

+14
-0
lines changed

changelog/UniqueTypeInfoNames.md

+14
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
TypeInfo names for aggregates are fully qualified and hence unique now
2+
3+
Previously, template arguments weren't fully qualified; they now are,
4+
implying longer names in that case.
5+
6+
`TypeInfo_Struct` instances now store the (potentially significantly shorter)
7+
mangled name only and demangle it lazily on the first `name` or `toString()`
8+
call (with a per-thread cache). So if you only need a unique string per
9+
struct TypeInfo, prefer `mangledName` over computed `name` (non-`@nogc` and
10+
non-`pure`).
11+
12+
**Related breaking change**: `TypeInfo.toString()` isn't `pure` anymore to
13+
account for the `TypeInfo_Struct` demangled name cache.
14+
`TypeInfo_Class.toString()` and others are still `pure`.

0 commit comments

Comments
 (0)