Module jlrs::data::managed

source ·
Expand description

Types that directly reference data managed by Julia.

In this module you’ll find types that represent Julia’s managed types. These are mutable types like Module, DataType, and Array which are defined by the C API and provide access to some specific functionality from that API. For example, Module provides access to the contents of Julia modules, and Array access to the contents of Julia arrays.

The most common of these types is Value, which represents some arbitrary managed data. Whenever you call a Julia function its arguments must be of this type, and a new one is returned. All managed data is a valid Value and can be converted to that type by calling Managed::as_value.

One useful guarantee provided by managed types is that they point to existing data which won’t be freed until its lifetime has expired. If data is returned that isn’t rooted, jlrs returns a Ref instead of the managed type. Because the data isn’t rooted it’s not guaranteed to remain valid while it can be used. For more information about rooting see the documentation of the memory module.

Modules

  • Managed types for Array, create and access n-dimensional Julia arrays from Rust.
  • A Julia Ref used as an argument of a ccalled function.
  • Managed type for DataType, which provides access to type properties.
  • Managed type for Function, the supertype of all Julia functions.
  • Managed types that are mostly used internally in Julia.
  • Managed type for Module, which provides access to Julia’s modules and their content.
  • Managed type for some Rust data.
  • Managed type for JlrsCore.RustResult.
  • Managed type for SimpleVector.
  • Managed type for String.
  • Managed type for Symbol. Symbols represent identifiers like module and function names.
  • Managed type for Task.
  • Managed type for TypeName.
  • Managed type for TypeVar.
  • Managed type for Union.
  • Managed type for UnionAll, A union of types over all values of a type parameter.
  • Managed type for arbitrary Julia data.

Structs

  • A reference to Julia data that is not guaranteed to be rooted.

Traits

Functions

Type Aliases

  • The managed type W<'target, 'data> assocatiated with the reference type T<'scope, 'data>.