From 0064b8781a7f785b8a9bb496e414c37e86ce5972 Mon Sep 17 00:00:00 2001 From: mhammond Date: Mon, 20 Nov 2023 16:04:19 +0000 Subject: [PATCH] Built artifacts of 89da6dbd3 [ci skip] --- .../src/uniffi_bindgen/interface/mod.rs.html | 22 +++++- .../gen_kotlin/struct.TypeRenderer.html | 2 +- .../interface/fn.get_callback_interface.html | 2 +- .../interface/fn.get_object.html | 2 +- .../interface/fn.throws_name.html | 2 +- .../api/uniffi_bindgen/interface/index.html | 2 +- .../interface/struct.ComponentInterface.html | 74 +++++++++---------- .../struct.RecursiveTypeIterator.html | 10 +-- 8 files changed, 67 insertions(+), 49 deletions(-) diff --git a/internals/api/src/uniffi_bindgen/interface/mod.rs.html b/internals/api/src/uniffi_bindgen/interface/mod.rs.html index 5bd5abd658..760bfdbfbf 100644 --- a/internals/api/src/uniffi_bindgen/interface/mod.rs.html +++ b/internals/api/src/uniffi_bindgen/interface/mod.rs.html @@ -1196,6 +1196,15 @@ 1196 1197 1198 +1199 +1200 +1201 +1202 +1203 +1204 +1205 +1206 +1207
/* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
@@ -1508,8 +1517,17 @@
     /// This is important to know in language bindings that cannot integrate object types
     /// tightly with the host GC, and hence need to perform manual destruction of objects.
     pub fn item_contains_object_references(&self, item: &Type) -> bool {
-        self.iter_types_in_item(item)
-            .any(|t| matches!(t, Type::Object { .. }))
+        // this is surely broken for external records with object refs?
+        self.iter_types_in_item(item).any(|t| {
+            matches!(
+                t,
+                Type::Object { .. }
+                    | Type::External {
+                        kind: ExternalKind::Interface,
+                        ..
+                    }
+            )
+        })
     }
 
     /// Check whether the given item contains any (possibly nested) unsigned types
diff --git a/internals/api/uniffi_bindgen/bindings/kotlin/gen_kotlin/struct.TypeRenderer.html b/internals/api/uniffi_bindgen/bindings/kotlin/gen_kotlin/struct.TypeRenderer.html
index 12f5e15d0b..3a8552306b 100644
--- a/internals/api/uniffi_bindgen/bindings/kotlin/gen_kotlin/struct.TypeRenderer.html
+++ b/internals/api/uniffi_bindgen/bindings/kotlin/gen_kotlin/struct.TypeRenderer.html
@@ -10,7 +10,7 @@
     &self,
     module_path: &str,
     namespace: &str
-) -> String
source

fn include_once_check(&self, name: &str) -> bool

source

fn add_import(&self, name: &str) -> &str

source

fn add_import_as(&self, name: &str, as_name: &str) -> &str

Trait Implementations§

source§

impl<'a> Display for TypeRenderer<'a>

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<'a> Template for TypeRenderer<'a>

source§

fn render_into(&self, writer: &mut impl Write + ?Sized) -> Result<()>

Renders the template to the given writer fmt buffer
source§

const EXTENSION: Option<&'static str> = _

The template’s extension, if provided
source§

const SIZE_HINT: usize = 746usize

Provides a conservative estimate of the expanded length of the rendered template
source§

const MIME_TYPE: &'static str = _

The MIME type (Content-Type) of the data that gets rendered by this Template
§

fn render(&self) -> Result<String, Error>

Helper method which allocates a new String and renders into it
§

fn write_into(&self, writer: &mut impl Write) -> Result<(), Error>

Renders the template to the given writer io buffer

Auto Trait Implementations§

§

impl<'a> !RefUnwindSafe for TypeRenderer<'a>

§

impl<'a> Send for TypeRenderer<'a>

§

impl<'a> !Sync for TypeRenderer<'a>

§

impl<'a> Unpin for TypeRenderer<'a>

§

impl<'a> UnwindSafe for TypeRenderer<'a>

Blanket Implementations§

source§

impl<T> Any for Twhere +) -> String

source

fn include_once_check(&self, name: &str) -> bool

source

fn add_import(&self, name: &str) -> &str

source

fn add_import_as(&self, name: &str, as_name: &str) -> &str

Trait Implementations§

source§

impl<'a> Display for TypeRenderer<'a>

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<'a> Template for TypeRenderer<'a>

source§

fn render_into(&self, writer: &mut impl Write + ?Sized) -> Result<()>

Renders the template to the given writer fmt buffer
source§

const EXTENSION: Option<&'static str> = _

The template’s extension, if provided
source§

const SIZE_HINT: usize = 1_653usize

Provides a conservative estimate of the expanded length of the rendered template
source§

const MIME_TYPE: &'static str = _

The MIME type (Content-Type) of the data that gets rendered by this Template
§

fn render(&self) -> Result<String, Error>

Helper method which allocates a new String and renders into it
§

fn write_into(&self, writer: &mut impl Write) -> Result<(), Error>

Renders the template to the given writer io buffer

Auto Trait Implementations§

§

impl<'a> !RefUnwindSafe for TypeRenderer<'a>

§

impl<'a> Send for TypeRenderer<'a>

§

impl<'a> !Sync for TypeRenderer<'a>

§

impl<'a> Unpin for TypeRenderer<'a>

§

impl<'a> UnwindSafe for TypeRenderer<'a>

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<T> DynTemplate for Twhere diff --git a/internals/api/uniffi_bindgen/interface/fn.get_callback_interface.html b/internals/api/uniffi_bindgen/interface/fn.get_callback_interface.html index 27fd437ace..b28c69ae8e 100644 --- a/internals/api/uniffi_bindgen/interface/fn.get_callback_interface.html +++ b/internals/api/uniffi_bindgen/interface/fn.get_callback_interface.html @@ -1,4 +1,4 @@ -get_callback_interface in uniffi_bindgen::interface - Rust
fn get_callback_interface<'a>(
+get_callback_interface in uniffi_bindgen::interface - Rust
fn get_callback_interface<'a>(
     callback_interfaces: &'a mut [CallbackInterface],
     name: &str
 ) -> Option<&'a mut CallbackInterface>
\ No newline at end of file diff --git a/internals/api/uniffi_bindgen/interface/fn.get_object.html b/internals/api/uniffi_bindgen/interface/fn.get_object.html index d1782e0b4c..66e62347a3 100644 --- a/internals/api/uniffi_bindgen/interface/fn.get_object.html +++ b/internals/api/uniffi_bindgen/interface/fn.get_object.html @@ -1,4 +1,4 @@ -get_object in uniffi_bindgen::interface - Rust
fn get_object<'a>(
+get_object in uniffi_bindgen::interface - Rust
fn get_object<'a>(
     objects: &'a mut [Object],
     name: &str
 ) -> Option<&'a mut Object>
\ No newline at end of file diff --git a/internals/api/uniffi_bindgen/interface/fn.throws_name.html b/internals/api/uniffi_bindgen/interface/fn.throws_name.html index 7fe23ba13b..30cfb9909f 100644 --- a/internals/api/uniffi_bindgen/interface/fn.throws_name.html +++ b/internals/api/uniffi_bindgen/interface/fn.throws_name.html @@ -1 +1 @@ -throws_name in uniffi_bindgen::interface - Rust
fn throws_name(throws: &Option<Type>) -> Option<&str>
\ No newline at end of file +throws_name in uniffi_bindgen::interface - Rust
fn throws_name(throws: &Option<Type>) -> Option<&str>
\ No newline at end of file diff --git a/internals/api/uniffi_bindgen/interface/index.html b/internals/api/uniffi_bindgen/interface/index.html index 38dbc40264..c27afb1825 100644 --- a/internals/api/uniffi_bindgen/interface/index.html +++ b/internals/api/uniffi_bindgen/interface/index.html @@ -1,4 +1,4 @@ -uniffi_bindgen::interface - Rust
Expand description

Component Interface Definition.

+uniffi_bindgen::interface - Rust
Expand description

Component Interface Definition.

This module provides an abstract representation of the interface provided by a UniFFI Rust Component, in high-level terms suitable for translation into target consumer languages such as Kotlin and Swift. It also provides facilities for parsing a WebIDL interface definition file into such a diff --git a/internals/api/uniffi_bindgen/interface/struct.ComponentInterface.html b/internals/api/uniffi_bindgen/interface/struct.ComponentInterface.html index 3bb28e4aee..01b5e4cc92 100644 --- a/internals/api/uniffi_bindgen/interface/struct.ComponentInterface.html +++ b/internals/api/uniffi_bindgen/interface/struct.ComponentInterface.html @@ -11,7 +11,7 @@ by a rust component and the details of consuming it via an extern-C FFI layer.

Fields§

§types: TypeUniverse

All of the types used in the interface.

§enums: BTreeMap<String, Enum>

The high-level API provided by the component.

-
§records: BTreeMap<String, Record>§functions: Vec<Function>§objects: Vec<Object>§callback_interfaces: Vec<CallbackInterface>§errors: HashSet<String>§callback_interface_throws_types: BTreeSet<Type>

Implementations§

source§

impl ComponentInterface

source

pub fn new(crate_name: &str) -> Self

source

pub fn from_webidl(idl: &str, module_path: &str) -> Result<Self>

Parse a ComponentInterface from a string containing a WebIDL definition.

+
§records: BTreeMap<String, Record>§functions: Vec<Function>§objects: Vec<Object>§callback_interfaces: Vec<CallbackInterface>§errors: HashSet<String>§callback_interface_throws_types: BTreeSet<Type>

Implementations§

source§

impl ComponentInterface

source

pub fn new(crate_name: &str) -> Self

source

pub fn from_webidl(idl: &str, module_path: &str) -> Result<Self>

Parse a ComponentInterface from a string containing a WebIDL definition.

source

pub fn from_metadata(group: MetadataGroup) -> Result<Self>

Create a ComponentInterface from a MetadataGroup Public so that external binding generators can use it.

source

pub fn add_metadata(&mut self, group: MetadataGroup) -> Result<()>

Add a metadata group to a ComponentInterface.

@@ -50,61 +50,61 @@

This method uses iter_types to iterate over the types contained within the given type, but additionally recurses into the definition of user-defined types like records and enums to yield the types that they contain.

-
source

pub fn item_contains_object_references(&self, item: &Type) -> bool

Check whether the given item contains any (possibly nested) Type::Object references.

+
source

pub fn item_contains_object_references(&self, item: &Type) -> bool

Check whether the given item contains any (possibly nested) Type::Object references.

This is important to know in language bindings that cannot integrate object types tightly with the host GC, and hence need to perform manual destruction of objects.

-
source

pub fn item_contains_unsigned_types(&self, item: &Type) -> bool

Check whether the given item contains any (possibly nested) unsigned types

-
source

pub fn contains_optional_types(&self) -> bool

Check whether the interface contains any optional types

-
source

pub fn contains_sequence_types(&self) -> bool

Check whether the interface contains any sequence types

-
source

pub fn contains_map_types(&self) -> bool

Check whether the interface contains any map types

-
source

fn ffi_namespace(&self) -> &str

source

pub fn ffi_uniffi_contract_version(&self) -> FfiFunction

Builtin FFI function to get the current contract version +

source

pub fn item_contains_unsigned_types(&self, item: &Type) -> bool

Check whether the given item contains any (possibly nested) unsigned types

+
source

pub fn contains_optional_types(&self) -> bool

Check whether the interface contains any optional types

+
source

pub fn contains_sequence_types(&self) -> bool

Check whether the interface contains any sequence types

+
source

pub fn contains_map_types(&self) -> bool

Check whether the interface contains any map types

+
source

fn ffi_namespace(&self) -> &str

source

pub fn ffi_uniffi_contract_version(&self) -> FfiFunction

Builtin FFI function to get the current contract version This is needed so that the foreign language bindings can check that they are using the same ABI as the scaffolding

-
source

pub fn ffi_rustbuffer_alloc(&self) -> FfiFunction

Builtin FFI function for allocating a new RustBuffer. +

source

pub fn ffi_rustbuffer_alloc(&self) -> FfiFunction

Builtin FFI function for allocating a new RustBuffer. This is needed so that the foreign language bindings can create buffers in which to pass complex data types across the FFI.

-
source

pub fn ffi_rustbuffer_from_bytes(&self) -> FfiFunction

Builtin FFI function for copying foreign-owned bytes +

source

pub fn ffi_rustbuffer_from_bytes(&self) -> FfiFunction

Builtin FFI function for copying foreign-owned bytes This is needed so that the foreign language bindings can create buffers in which to pass complex data types across the FFI.

-
source

pub fn ffi_rustbuffer_free(&self) -> FfiFunction

Builtin FFI function for freeing a RustBuffer. +

source

pub fn ffi_rustbuffer_free(&self) -> FfiFunction

Builtin FFI function for freeing a RustBuffer. This is needed so that the foreign language bindings can free buffers in which they received complex data types returned across the FFI.

-
source

pub fn ffi_rustbuffer_reserve(&self) -> FfiFunction

Builtin FFI function for reserving extra space in a RustBuffer. +

source

pub fn ffi_rustbuffer_reserve(&self) -> FfiFunction

Builtin FFI function for reserving extra space in a RustBuffer. This is needed so that the foreign language bindings can grow buffers used for passing complex data types across the FFI.

-
source

pub fn ffi_rust_future_poll( +

source

pub fn ffi_rust_future_poll( &self, return_ffi_type: Option<FfiType> ) -> FfiFunction

Builtin FFI function to poll a Rust future.

-
source

pub fn ffi_rust_future_complete( +

source

pub fn ffi_rust_future_complete( &self, return_ffi_type: Option<FfiType> ) -> FfiFunction

Builtin FFI function to complete a Rust future and get it’s result.

We generate one of these for each FFI return type.

-
source

pub fn ffi_rust_future_cancel( +

source

pub fn ffi_rust_future_cancel( &self, return_ffi_type: Option<FfiType> ) -> FfiFunction

Builtin FFI function for cancelling a Rust Future

-
source

pub fn ffi_rust_future_free( +

source

pub fn ffi_rust_future_free( &self, return_ffi_type: Option<FfiType> ) -> FfiFunction

Builtin FFI function for freeing a Rust Future

-
source

fn rust_future_ffi_fn_name( +

source

fn rust_future_ffi_fn_name( &self, base_name: &str, return_ffi_type: Option<FfiType> -) -> String

source

pub fn has_async_fns(&self) -> bool

Does this interface contain async functions?

-
source

pub fn iter_future_callback_params(&self) -> impl Iterator<Item = FfiType>

Iterate over T parameters of the FutureCallback<T> callbacks in this interface

-
source

pub fn iter_async_result_types(&self) -> impl Iterator<Item = ResultType>

Iterate over return/throws types for async functions

-
source

pub fn iter_ffi_function_definitions( +) -> String

source

pub fn has_async_fns(&self) -> bool

Does this interface contain async functions?

+
source

pub fn iter_future_callback_params(&self) -> impl Iterator<Item = FfiType>

Iterate over T parameters of the FutureCallback<T> callbacks in this interface

+
source

pub fn iter_async_result_types(&self) -> impl Iterator<Item = ResultType>

Iterate over return/throws types for async functions

+
source

pub fn iter_ffi_function_definitions( &self ) -> impl Iterator<Item = FfiFunction> + '_

List the definitions of all FFI functions in the interface.

The set of FFI functions is derived automatically from the set of higher-level types along with the builtin FFI helper functions.

-
source

pub fn iter_ffi_function_definitions_non_async( +

source

pub fn iter_ffi_function_definitions_non_async( &self ) -> impl Iterator<Item = FfiFunction> + '_

Alternate version of iter_ffi_function_definitions for languages that don’t support async

-
source

pub fn iter_user_ffi_function_definitions( +

source

pub fn iter_user_ffi_function_definitions( &self ) -> impl Iterator<Item = &FfiFunction> + '_

List all FFI functions definitions for user-defined interfaces

This includes FFI functions for:

@@ -113,40 +113,40 @@
  • Object methods
  • Callback interfaces
  • -
    source

    pub fn iter_rust_buffer_ffi_function_definitions( +

    source

    pub fn iter_rust_buffer_ffi_function_definitions( &self ) -> impl Iterator<Item = FfiFunction>

    List all FFI functions definitions for RustBuffer functionality.

    -
    source

    pub fn iter_futures_ffi_function_definitons( +

    source

    pub fn iter_futures_ffi_function_definitons( &self ) -> impl Iterator<Item = FfiFunction> + '_

    List all FFI functions definitions for async functionality.

    -
    source

    pub fn ffi_foreign_executor_callback_set(&self) -> Option<FfiFunction>

    The ffi_foreign_executor_callback_set FFI function

    +
    source

    pub fn ffi_foreign_executor_callback_set(&self) -> Option<FfiFunction>

    The ffi_foreign_executor_callback_set FFI function

    We only include this in the FFI if the ForeignExecutor type is actually used

    -
    source

    pub fn iter_checksums(&self) -> impl Iterator<Item = (String, u16)> + '_

    List all API checksums to check

    +
    source

    pub fn iter_checksums(&self) -> impl Iterator<Item = (String, u16)> + '_

    List all API checksums to check

    Returns a list of (export_symbol_name, checksum) items

    -
    source

    pub fn iter_checksum_ffi_functions( +
    source

    pub fn iter_checksum_ffi_functions( &self -) -> impl Iterator<Item = FfiFunction> + '_

    source

    pub(crate) fn add_enum_definition(&mut self, defn: Enum) -> Result<()>

    Called by APIBuilder impls to add a newly-parsed enum definition to the ComponentInterface.

    -
    source

    pub(crate) fn add_record_definition(&mut self, defn: Record) -> Result<()>

    Adds a newly-parsed record definition to the ComponentInterface.

    -
    source

    pub(crate) fn add_function_definition(&mut self, defn: Function) -> Result<()>

    Called by APIBuilder impls to add a newly-parsed function definition to the ComponentInterface.

    -
    source

    pub(crate) fn add_constructor_meta( +) -> impl Iterator<Item = FfiFunction> + '_

    source

    pub(crate) fn add_enum_definition(&mut self, defn: Enum) -> Result<()>

    Called by APIBuilder impls to add a newly-parsed enum definition to the ComponentInterface.

    +
    source

    pub(crate) fn add_record_definition(&mut self, defn: Record) -> Result<()>

    Adds a newly-parsed record definition to the ComponentInterface.

    +
    source

    pub(crate) fn add_function_definition(&mut self, defn: Function) -> Result<()>

    Called by APIBuilder impls to add a newly-parsed function definition to the ComponentInterface.

    +
    source

    pub(crate) fn add_constructor_meta( &mut self, meta: ConstructorMetadata -) -> Result<()>

    source

    pub(crate) fn add_method_meta(&mut self, meta: impl Into<Method>) -> Result<()>

    source

    pub(crate) fn add_uniffitrait_meta( +) -> Result<()>

    source

    pub(crate) fn add_method_meta(&mut self, meta: impl Into<Method>) -> Result<()>

    source

    pub(crate) fn add_uniffitrait_meta( &mut self, meta: UniffiTraitMetadata -) -> Result<()>

    source

    pub(crate) fn add_object_meta(&mut self, meta: ObjectMetadata) -> Result<()>

    source

    fn add_object_definition(&mut self, defn: Object) -> Result<()>

    Called by APIBuilder impls to add a newly-parsed object definition to the ComponentInterface.

    -
    source

    pub(crate) fn note_name_used_as_error(&mut self, name: &str)

    source

    pub fn is_name_used_as_error(&self, name: &str) -> bool

    source

    pub(crate) fn add_callback_interface_definition( +) -> Result<()>

    source

    pub(crate) fn add_object_meta(&mut self, meta: ObjectMetadata) -> Result<()>

    source

    fn add_object_definition(&mut self, defn: Object) -> Result<()>

    Called by APIBuilder impls to add a newly-parsed object definition to the ComponentInterface.

    +
    source

    pub(crate) fn note_name_used_as_error(&mut self, name: &str)

    source

    pub fn is_name_used_as_error(&self, name: &str) -> bool

    source

    pub(crate) fn add_callback_interface_definition( &mut self, defn: CallbackInterface )

    Called by APIBuilder impls to add a newly-parsed callback interface definition to the ComponentInterface.

    -
    source

    pub(crate) fn add_trait_method_meta( +

    source

    pub(crate) fn add_trait_method_meta( &mut self, meta: TraitMethodMetadata -) -> Result<()>

    source

    pub fn check_consistency(&self) -> Result<()>

    Perform global consistency checks on the declared interface.

    +) -> Result<()>

    source

    pub fn check_consistency(&self) -> Result<()>

    Perform global consistency checks on the declared interface.

    This method checks for consistency problems in the declared interface as a whole, and which can only be detected after we’ve finished defining the entire interface.

    -
    source

    pub fn derive_ffi_funcs(&mut self) -> Result<()>

    Automatically derive the low-level FFI functions from the high-level types in the interface.

    +
    source

    pub fn derive_ffi_funcs(&mut self) -> Result<()>

    Automatically derive the low-level FFI functions from the high-level types in the interface.

    This should only be called after the high-level types have been completed defined, otherwise the resulting set will be missing some entries.

    Trait Implementations§

    source§

    impl Debug for ComponentInterface

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for ComponentInterface

    source§

    fn default() -> ComponentInterface

    Returns the “default value” for a type. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere diff --git a/internals/api/uniffi_bindgen/interface/struct.RecursiveTypeIterator.html b/internals/api/uniffi_bindgen/interface/struct.RecursiveTypeIterator.html index 7ce73ba410..79d507e7f3 100644 --- a/internals/api/uniffi_bindgen/interface/struct.RecursiveTypeIterator.html +++ b/internals/api/uniffi_bindgen/interface/struct.RecursiveTypeIterator.html @@ -1,4 +1,4 @@ -RecursiveTypeIterator in uniffi_bindgen::interface - Rust
    struct RecursiveTypeIterator<'a> {
    +RecursiveTypeIterator in uniffi_bindgen::interface - Rust
    struct RecursiveTypeIterator<'a> {
         ci: &'a ComponentInterface,
         current: TypeIterator<'a>,
         seen: HashSet<&'a str>,
    @@ -20,13 +20,13 @@
     
    §current: TypeIterator<'a>

    The currently-active iterator from which we’re yielding.

    §seen: HashSet<&'a str>

    A set of names of user-defined types that we have already seen.

    §pending: Vec<&'a Type>

    A queue of user-defined types that we need to recurse into.

    -

    Implementations§

    source§

    impl<'a> RecursiveTypeIterator<'a>

    source

    fn new(ci: &'a ComponentInterface, item: &'a Type) -> RecursiveTypeIterator<'a>

    Allocate a new RecursiveTypeIterator over the given item.

    -
    source

    fn add_pending_type(&mut self, type_: &'a Type)

    Add a new type to the queue of pending types, if not previously seen.

    -
    source

    fn advance_to_next_type(&mut self) -> Option<&'a Type>

    Advance the iterator to recurse into the next pending type, if any.

    +

    Implementations§

    source§

    impl<'a> RecursiveTypeIterator<'a>

    source

    fn new(ci: &'a ComponentInterface, item: &'a Type) -> RecursiveTypeIterator<'a>

    Allocate a new RecursiveTypeIterator over the given item.

    +
    source

    fn add_pending_type(&mut self, type_: &'a Type)

    Add a new type to the queue of pending types, if not previously seen.

    +
    source

    fn advance_to_next_type(&mut self) -> Option<&'a Type>

    Advance the iterator to recurse into the next pending type, if any.

    This method is called when the current iterator is empty, and it will select the next pending type from the queue and start iterating over its contained types. The return value will be the first item from the new iterator.

    -

    Trait Implementations§

    source§

    impl<'a> Iterator for RecursiveTypeIterator<'a>

    §

    type Item = &'a Type

    The type of the elements being iterated over.
    source§

    fn next(&mut self) -> Option<Self::Item>

    Advances the iterator and returns the next value. Read more
    source§

    fn next_chunk<const N: usize>( +

    Trait Implementations§

    source§

    impl<'a> Iterator for RecursiveTypeIterator<'a>

    §

    type Item = &'a Type

    The type of the elements being iterated over.
    source§

    fn next(&mut self) -> Option<Self::Item>

    Advances the iterator and returns the next value. Read more
    source§

    fn next_chunk<const N: usize>( &mut self ) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>where Self: Sized,

    🔬This is a nightly-only experimental API. (iter_next_chunk)
    Advances the iterator and returns an array containing the next N values. Read more
    1.0.0 · source§

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    1.0.0 · source§

    fn count(self) -> usizewhere