C++ does have the problem that references are not objects, which introduces many subtle issues. For example, you cannot use a type like std::vector
, so that templated code will often have to invoke std::remove_reference
and so on. Rust opts for a more consistent data model, but then introduces auto-deref (and the Deref trait) to get about the same usability C++ has with references and operator->
. Note that C++ will implicitly chain operator->
calls until a plain pointer is reached, whereas Rust will stop dereferencing once a type with a matching method/field is found. Having deep knowledge of both languages, I’m not convinced that C++ features “straightforward consistency” here…
On the other hand, the GDPR’s concept of “personal data” is extremely broad, much more so than the US concept of PII. Personal data is any information relating to an identifiable person. Pseudonymous info is still personal under this definition. Online usernames or social media handles are identifiers, and any linked info (e.g. posts, comments, likes) is personal data as well.
So Lemmy and other Fediverse stuff is well within the GDPR’s material scope.
However, the GDPR’s “right to erasure /to be forgotten” is more nuanced. It doesn’t quite always apply (though usually does). OP very likely has the right to request deletion from individual instances.
Posts have been published through federation. The GDPR anticipates this (I think in Art 17(2)): if personal data has been made public by the data controller, and erasure is requested, then the data controller is obliged to take reasonable steps to notify other controllers of this.
The ActivityPub protocol has built-in support for sending out such deletion notifications, and last time I checked Lemmy implements this. Of course the receiving instance might not honor this, but that’s outside of the responsibility of the initial data controller.
While I’m not entirely convinced that everything here is 100% compliant, federation is less of a compliance issue than it might seem.