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
The type system expresses pointers as TypeRef::Pointer(TypeId), meaning we don't support pointer pointers (Pointer[Pointer[Int32]] for example). This can make working with C code tricky. In particular, if you have the expression mut some_value and some_value is a pointer, the return type is just Pointer[T], when in reality it's Pointer[Pointer[T]]. This can make debugging errors when interfacing with C code tricky.
To fix this, we probably have to change it to TypeRef::Pointer(Box<TypeRef>), but I'm not sure yet what the impact of that will be.
Related work
No response
The text was updated successfully, but these errors were encountered:
Description
The type system expresses pointers as
TypeRef::Pointer(TypeId)
, meaning we don't support pointer pointers (Pointer[Pointer[Int32]]
for example). This can make working with C code tricky. In particular, if you have the expressionmut some_value
andsome_value
is a pointer, the return type is justPointer[T]
, when in reality it'sPointer[Pointer[T]]
. This can make debugging errors when interfacing with C code tricky.To fix this, we probably have to change it to
TypeRef::Pointer(Box<TypeRef>)
, but I'm not sure yet what the impact of that will be.Related work
No response
The text was updated successfully, but these errors were encountered: