Struct jlrs::wrappers::ptr::symbol::Symbol[][src]

#[repr(transparent)]
pub struct Symbol<'scope>(_, _);
Expand description

Symbols are used Julia to represent identifiers, :x represents the Symbol x. Things that can be accessed using a Symbol include submodules, functions, and globals. However, the methods that provide this functionality in jlrs can use strings instead. They’re also used as the building-block of expressions.

One special property of Symbols is that they’re never freed by the garbage collector after they’ve been created.

Implementations

Convert the given string to a Symbol.

Extend the Symbol’s lifetime. Symbols are never freed by the garbage collector, but a Symbol returned as a Value from a Julia function inherits the frame’s lifetime when it’s cast to a Symbol. Its lifetime can be safely extended from 'scope to 'global using this method.

The hash of this Symbol.

Symbols are stored using an invasive binary tree, this returns the left branch of the current node. This method is unsafe because it’s not accessible from Julia except through the C API.

Symbols are stored using an invasive binary tree, this returns the right branch of the current node. This method is unsafe because it’s not accessible from Julia except through the C API.

Convert self to a LeakedValue.

Convert self to a String.

View self as a string slice. Returns an error if the symbol is not valid UTF8.

View self as a Cstr.

View self as an slice of bytes without the trailing null.

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

Check if the layout of the implementor is compatible with the layout of ty. This argument is a Value to account for the fact that a field type can be a Union, UnionAll or Union{}. 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

Performs the conversion.

Performs the conversion.

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

🔬 This is a nightly-only experimental API. (toowned_clone_into)

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.

The reference type associated with this wrapper.

Convert the wrapper to a Ref.

Convert the wrapper to a Value.

Convert the wrapper to its display string, i.e. the string that is shown when calling Base.show. Read more

Convert the wrapper to its error string, i.e. the string that is shown when calling Base.showerror. This string can contain ANSI color codes if this is enabled by calling Julia::error_color, AsyncJulia::error_color, or AsyncJulia::try_error_color, . Read more

Convert the wrapper to its display string, i.e. the string that is shown by calling Base.display, or some default value. Read more

Convert the wrapper to its error string, i.e. the string that is shown when this value is thrown as an exception, or some default value. Read more