Do not annotate types that can be disk-reference-counted with Q_MOVABLE_TYPE
DUChainReferenceCounting
stores addresses of disk-reference-counted objects. Moving a disk-reference-counted object's bytes to another location in memory thus breaks reference counting.
Distinct lightweight view types, e.g. IndexedStringView
, should be used in known non-disk-reference-counted contexts, especially where performance matters.
467371ab introduced many such wrong Q_MOVABLE_TYPE
annotations.