[−][src]Struct show_notes::e029::Point
An example of a slightly more complex data structure we can use with FFI.
Note the #[repr(C)]
, which tells Rust to make sure this struct is laid out
the way that the C ABI expects. That's not the way that Rust's own ABI
(which is unstable and can change at any time) might lay it out.
Note also that x
and y
are c_float
, which is a type alias
for f32
. We use it here to make explicit the interop, and also because it
is possible that it might change on some specific operating system. If we
went to compile for an operating system where C's float
type were not a
32-point floating bit number (and the C standard does not require it to be
anything but "a floating point number"), the compiler would let us know.
Fields
x: c_float
y: c_float
Trait Implementations
Auto Trait Implementations
impl Send for Point
impl Unpin for Point
impl Sync for Point
impl RefUnwindSafe for Point
impl UnwindSafe for Point
Blanket Implementations
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,