#[repr(transparent)]
pub struct c_char(pub u8);
Expand description

A ReprC standalone type with the same layout and ABI as ::libc::c_char.

By standalone, the idea is that this is defined as a (transparent) newtype struct, rather than as a type alias, which is error-prone and yields less-portable headers (since the header generation will resolve the type alias and emit, for instance, int8_t, ⚠️).

By using this type, you guarantee that the C char type be used in the headers.

Tuple Fields

0: u8

Trait Implementations

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more
Returns the “default value” for a type. Read more
Feeds this value into the given Hasher. Read more
Feeds a slice of this type into the given Hasher. Read more
A short-name description of the type, mainly used to fill “placeholders” such as when monomorphising generics structs or arrays. Read more
The core method of the trait: it provides the implementation to be used by [CType::c_var], by bringing a Formatter in scope. Read more
Necessary one-time code for [CType::c_var]() to make sense. Read more
Extra typedef code (e.g. [LayoutKind.Sequential] struct ...)
Type name (e.g., int, string, IntPtr)
Convenience function for callers / users of types implementing CType. Read more
Convenience function for callers / users of types implementing CType. Read more
Optional marshaler attached to the type (e.g., [MarshalAs(UnmanagedType.FunctionPtr)]) Read more
Convenience function for formatting {ty} {var} in CSharp.
This method returns an Ordering between self and other. Read more
Compares and returns the maximum of two values. Read more
Compares and returns the minimum of two values. Read more
Restrict a value to a certain interval. Read more
This method tests for self and other values to be equal, and is used by ==. Read more
This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason. Read more
This method returns an ordering between self and other values if one exists. Read more
This method tests less than (for self and other) and is used by the < operator. Read more
This method tests less than or equal to (for self and other) and is used by the <= operator. Read more
This method tests greater than (for self and other) and is used by the > operator. Read more
This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more
The CType having the same layout as Self.
Sanity checks that can be performed on an instance of the CType layout. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more
Optional marshaler attached to the type (e.g., [MarshalAs(UnmanagedType.FunctionPtr)]) Read more
Applies the Compat adapter by value. Read more
Applies the Compat adapter by shared reference. Read more
Applies the Compat adapter by mutable reference. Read more
Available on crate feature alloc only.

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The resulting type after obtaining ownership.
Creates owned data from borrowed data, usually by cloning. Read more
Uses borrowed data to replace owned data, usually by cloning. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.
Available on crate feature headers only.