You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
RemoteAST: More consistent behavior of existentials inside classes
LLDB calls getDynamicTypeAndAddressForExistential() on an existential
value without knowing if its a class existential or opaque existential.
Class existentials return the address of the instance itself here,
whereas opaque existentials always returned the address of the
payload value.
This meant the caller could not usefully operate on the payload value
if it was of class type, because there was no way of knowing if the
extra dereference had occurred or not.
Now, always load the reference if the wrapped type is a class, even
if the existential is opaque.
Will be tested on the lldb side with another change I'm working on.
0 commit comments