From fbe30b8d0eb77db9ec91f81fb5c4042fc45e6402 Mon Sep 17 00:00:00 2001 From: Stephen Chung Date: Fri, 25 Nov 2022 13:20:03 +0800 Subject: [PATCH 01/34] Change debugger init signature. --- CHANGELOG.md | 8 +++++++- src/api/events.rs | 4 +++- src/bin/rhai-dbg.rs | 5 ++++- src/eval/debugger.rs | 8 ++++---- src/eval/global_state.rs | 3 ++- tests/debugging.rs | 9 +++++---- 6 files changed, 25 insertions(+), 12 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 58425903..869eba34 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,11 +4,16 @@ Rhai Release Notes Version 1.12.0 ============== -Buf fixes +Bug fixes --------- * Integer numbers that are too large to deserialize into `INT` now fall back to `Decimal` or `FLOAT` instead of silently truncating. +Breaking API changes +-------------------- + +* The callback for initializing a debugger instance has changed to `Fn(&Engine, Debugger) -> Debugger`. This allows more control over the initial setup of the debugger. + Net features ------------ @@ -21,6 +26,7 @@ Net features Enhancements ------------ +* Optimizations have been done to key data structures to minimize size and creation time, which involves turning rarely-used fields into `Option>`. This resulted in some speed improvements. * `CallableFunction` is exported under `internals`. * The `TypeBuilder` type and `CustomType` trait are no longer marked as volatile. * `FuncArgs` is also implemented for arrays. diff --git a/src/api/events.rs b/src/api/events.rs index eff11efd..75499edf 100644 --- a/src/api/events.rs +++ b/src/api/events.rs @@ -349,7 +349,9 @@ impl Engine { #[inline(always)] pub fn register_debugger( &mut self, - init: impl Fn(&Self) -> Dynamic + SendSync + 'static, + init: impl Fn(&Self, crate::debugger::Debugger) -> crate::debugger::Debugger + + SendSync + + 'static, callback: impl Fn( EvalContext, crate::eval::DebuggerEvent, diff --git a/src/bin/rhai-dbg.rs b/src/bin/rhai-dbg.rs index b47f7a6d..bee052b7 100644 --- a/src/bin/rhai-dbg.rs +++ b/src/bin/rhai-dbg.rs @@ -604,7 +604,10 @@ fn main() { #[allow(deprecated)] engine.register_debugger( // Store the current source in the debugger state - |_| "".into(), + |engine, mut debugger| { + debugger.set_state(engine.const_empty_string()); + debugger + }, // Main debugging interface move |context, event, node, source, pos| { debug_callback(context, event, node, source, pos, &lines) diff --git a/src/eval/debugger.rs b/src/eval/debugger.rs index 93663293..14d0246a 100644 --- a/src/eval/debugger.rs +++ b/src/eval/debugger.rs @@ -10,10 +10,10 @@ use std::{fmt, iter::repeat, mem}; /// Callback function to initialize the debugger. #[cfg(not(feature = "sync"))] -pub type OnDebuggingInit = dyn Fn(&Engine) -> Dynamic; +pub type OnDebuggingInit = dyn Fn(&Engine, Debugger) -> Debugger; /// Callback function to initialize the debugger. #[cfg(feature = "sync")] -pub type OnDebuggingInit = dyn Fn(&Engine) -> Dynamic + Send + Sync; +pub type OnDebuggingInit = dyn Fn(&Engine, Debugger) -> Debugger + Send + Sync; /// Callback function for debugging. #[cfg(not(feature = "sync"))] @@ -268,12 +268,12 @@ impl Debugger { /// Create a new [`Debugger`]. #[inline(always)] #[must_use] - pub const fn new(status: DebuggerStatus, state: Dynamic) -> Self { + pub const fn new(status: DebuggerStatus) -> Self { Self { status, break_points: Vec::new(), call_stack: Vec::new(), - state, + state: Dynamic::UNIT, } } /// Get the current call stack. diff --git a/src/eval/global_state.rs b/src/eval/global_state.rs index 408f71b0..1a9308e0 100644 --- a/src/eval/global_state.rs +++ b/src/eval/global_state.rs @@ -104,7 +104,8 @@ impl GlobalRuntimeState { #[cfg(feature = "debugging")] debugger: engine.debugger.as_ref().map(|x| { - crate::eval::Debugger::new(crate::eval::DebuggerStatus::Init, (x.0)(engine)) + let dbg = crate::eval::Debugger::new(crate::eval::DebuggerStatus::Init); + (x.0)(engine, dbg) }), } } diff --git a/tests/debugging.rs b/tests/debugging.rs index 762ed9d2..46b419ca 100644 --- a/tests/debugging.rs +++ b/tests/debugging.rs @@ -12,7 +12,7 @@ fn test_debugging() -> Result<(), Box> { let mut engine = Engine::new(); engine.register_debugger( - |_| Dynamic::UNIT, + |_, dbg| dbg, |_, _, _, _, _| Ok(rhai::debugger::DebuggerCommand::Continue), ); @@ -47,19 +47,20 @@ fn test_debugger_state() -> Result<(), Box> { let mut engine = Engine::new(); engine.register_debugger( - |_| { + |_, mut debugger| { // Say, use an object map for the debugger state let mut state = Map::new(); // Initialize properties state.insert("hello".into(), (42 as INT).into()); state.insert("foo".into(), false.into()); - Dynamic::from_map(state) + debugger.set_state(state); + debugger }, |mut context, _, _, _, _| { // Print debugger state - which is an object map println!( "Current state = {}", - context.global_runtime_state_mut().debugger().state() + context.global_runtime_state().debugger().state() ); // Modify state From d645d8271c648e0dd4e593e683c59ac21a570c02 Mon Sep 17 00:00:00 2001 From: Stephen Chung Date: Fri, 25 Nov 2022 20:42:16 +0800 Subject: [PATCH 02/34] More code refactor. --- CHANGELOG.md | 6 + src/api/build_type.rs | 2 +- src/api/call_fn.rs | 4 +- src/api/compile.rs | 18 +-- src/api/custom_syntax.rs | 2 +- src/api/deprecated.rs | 66 +++----- src/api/eval.rs | 30 +--- src/api/events.rs | 2 +- src/api/json.rs | 6 +- src/api/mod.rs | 22 +-- src/api/optimize.rs | 16 +- src/api/run.rs | 12 +- src/ast/expr.rs | 9 +- src/ast/script_fn.rs | 2 +- src/ast/stmt.rs | 19 +-- src/engine.rs | 12 +- src/eval/chaining.rs | 51 ++++-- src/eval/debugger.rs | 6 +- src/eval/global_state.rs | 22 +-- src/eval/mod.rs | 4 +- src/eval/stmt.rs | 7 +- src/func/builtin.rs | 4 +- src/func/call.rs | 50 +++--- src/func/native.rs | 3 +- src/func/script.rs | 8 +- src/module/mod.rs | 56 ++++--- src/module/resolvers/file.rs | 2 +- src/optimizer.rs | 300 +++++++++++++++++------------------ src/parser.rs | 90 +++++------ src/tokenizer.rs | 25 ++- 30 files changed, 422 insertions(+), 434 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 869eba34..b4d506c0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,12 @@ Breaking API changes * The callback for initializing a debugger instance has changed to `Fn(&Engine, Debugger) -> Debugger`. This allows more control over the initial setup of the debugger. +Deprecated API's +---------------- + +* `Module::with_capacity` is deprecated. +* The internal method `Engine::eval_statements_raw` is deprecated. + Net features ------------ diff --git a/src/api/build_type.rs b/src/api/build_type.rs index c72196b4..3700888d 100644 --- a/src/api/build_type.rs +++ b/src/api/build_type.rs @@ -101,7 +101,7 @@ impl<'a, T: Variant + Clone> TypeBuilder<'a, T> { Self { engine, name: None, - _marker: PhantomData::default(), + _marker: PhantomData, } } } diff --git a/src/api/call_fn.rs b/src/api/call_fn.rs index 5d584630..616e7d09 100644 --- a/src/api/call_fn.rs +++ b/src/api/call_fn.rs @@ -81,7 +81,7 @@ impl Engine { /// /// The [`AST`] is evaluated before calling the function. /// This allows a script to load the necessary modules. - /// This is usually desired. If not, use [`call_fn_with_options`] instead. + /// This is usually desired. If not, use [`call_fn_with_options`][Engine::call_fn_with_options] instead. /// /// # Example /// @@ -276,7 +276,7 @@ impl Engine { }); #[cfg(feature = "debugging")] - if self.debugger.is_some() { + if self.is_debugger_registered() { global.debugger_mut().status = crate::eval::DebuggerStatus::Terminate; let node = &crate::ast::Stmt::Noop(Position::NONE); self.run_debugger(global, caches, scope, this_ptr, node)?; diff --git a/src/api/compile.rs b/src/api/compile.rs index 51af56f6..2e878904 100644 --- a/src/api/compile.rs +++ b/src/api/compile.rs @@ -218,13 +218,10 @@ impl Engine { scripts: impl AsRef<[S]>, optimization_level: OptimizationLevel, ) -> ParseResult { - let (stream, tokenizer_control) = self.lex_raw( - scripts.as_ref(), - self.token_mapper.as_ref().map(<_>::as_ref), - ); + let (stream, tc) = self.lex_raw(scripts.as_ref(), self.token_mapper.as_deref()); let interned_strings = &mut *locked_write(&self.interned_strings); - let mut state = ParseState::new(scope, interned_strings, tokenizer_control); - let mut _ast = self.parse(&mut stream.peekable(), &mut state, optimization_level)?; + let state = &mut ParseState::new(scope, interned_strings, tc); + let mut _ast = self.parse(stream.peekable(), state, optimization_level)?; #[cfg(feature = "metadata")] _ast.set_doc(state.tokenizer_control.borrow().global_comments.join("\n")); Ok(_ast) @@ -292,12 +289,9 @@ impl Engine { script: impl AsRef, ) -> ParseResult { let scripts = [script]; - let (stream, tokenizer_control) = - self.lex_raw(&scripts, self.token_mapper.as_ref().map(<_>::as_ref)); - - let mut peekable = stream.peekable(); + let (stream, t) = self.lex_raw(&scripts, self.token_mapper.as_deref()); let interned_strings = &mut *locked_write(&self.interned_strings); - let mut state = ParseState::new(scope, interned_strings, tokenizer_control); - self.parse_global_expr(&mut peekable, &mut state, |_| {}, self.optimization_level) + let state = &mut ParseState::new(scope, interned_strings, t); + self.parse_global_expr(stream.peekable(), state, |_| {}, self.optimization_level) } } diff --git a/src/api/custom_syntax.rs b/src/api/custom_syntax.rs index e378e661..45c2ed40 100644 --- a/src/api/custom_syntax.rs +++ b/src/api/custom_syntax.rs @@ -259,7 +259,7 @@ impl Engine { // Make it a custom keyword/symbol if it is disabled or reserved if (self .disabled_symbols - .as_ref() + .as_deref() .map_or(false, |m| m.contains(s)) || token.map_or(false, |v| v.is_reserved())) && !self diff --git a/src/api/deprecated.rs b/src/api/deprecated.rs index 1549335b..44bbc095 100644 --- a/src/api/deprecated.rs +++ b/src/api/deprecated.rs @@ -26,7 +26,7 @@ impl Engine { /// /// This method is deprecated. Use [`run_file`][Engine::run_file] instead. /// - /// This method will be removed in the next majocd cr version. + /// This method will be removed in the next major version. #[deprecated(since = "1.1.0", note = "use `run_file` instead")] #[cfg(not(feature = "no_std"))] #[cfg(not(target_family = "wasm"))] @@ -137,12 +137,6 @@ impl Engine { } /// Call a script function defined in an [`AST`] with multiple [`Dynamic`] arguments. /// - /// The following options are available: - /// - /// * whether to evaluate the [`AST`] to load necessary modules before calling the function - /// * whether to rewind the [`Scope`] after the function call - /// * a value for binding to the `this` pointer (if any) - /// /// Not available under `no_function`. /// /// # Deprecated @@ -253,12 +247,6 @@ impl Engine { /// This method is deprecated. Use [`register_indexer_get`][Engine::register_indexer_get] instead. /// /// This method will be removed in the next major version. - /// - /// # Panics - /// - /// Panics if the type is [`Array`][crate::Array], [`Map`][crate::Map], [`String`], - /// [`ImmutableString`][crate::ImmutableString], `&str` or [`INT`][crate::INT]. - /// Indexers for arrays, object maps, strings and integers cannot be registered. #[deprecated(since = "1.9.1", note = "use `register_indexer_get` instead")] #[cfg(any(not(feature = "no_index"), not(feature = "no_object")))] #[inline(always)] @@ -284,12 +272,6 @@ impl Engine { /// This method is deprecated. Use [`register_indexer_set`][Engine::register_indexer_set] instead. /// /// This method will be removed in the next major version. - /// - /// # Panics - /// - /// Panics if the type is [`Array`][crate::Array], [`Map`][crate::Map], [`String`], - /// [`ImmutableString`][crate::ImmutableString], `&str` or [`INT`][crate::INT]. - /// Indexers for arrays, object maps, strings and integers cannot be registered. #[deprecated(since = "1.9.1", note = "use `register_indexer_set` instead")] #[cfg(any(not(feature = "no_index"), not(feature = "no_object")))] #[inline(always)] @@ -316,34 +298,6 @@ impl Engine { /// Use [`register_custom_syntax_with_state_raw`][Engine::register_custom_syntax_with_state_raw] instead. /// /// This method will be removed in the next major version. - /// - /// # WARNING - Low Level API - /// - /// This function is very low level. - /// - /// * `scope_may_be_changed` specifies variables have been added/removed by this custom syntax. - /// * `parse` is the parsing function. - /// * `func` is the implementation function. - /// - /// All custom keywords used as symbols must be manually registered via [`Engine::register_custom_operator`]. - /// Otherwise, they won't be recognized. - /// - /// # Parsing Function Signature - /// - /// The parsing function has the following signature: - /// - /// `Fn(symbols: &[ImmutableString], look_ahead: &str) -> Result, ParseError>` - /// - /// where: - /// * `symbols`: a slice of symbols that have been parsed so far, possibly containing `$expr$` and/or `$block$`; - /// `$ident$` and other literal markers are replaced by the actual text - /// * `look_ahead`: a string slice containing the next symbol that is about to be read - /// - /// ## Return value - /// - /// * `Ok(None)`: parsing complete and there are no more symbols to match. - /// * `Ok(Some(symbol))`: the next symbol to match, which can also be `$expr$`, `$ident$` or `$block$`. - /// * `Err(ParseError)`: error that is reflected back to the [`Engine`], normally `ParseError(ParseErrorType::BadInput(LexError::ImproperSymbol(message)), Position::NONE)` to indicate a syntax error, but it can be any [`ParseError`][crate::ParseError]. #[deprecated( since = "1.11.0", note = "use `register_custom_syntax_with_state_raw` instead" @@ -368,6 +322,24 @@ impl Engine { move |context, expressions, _| func(context, expressions), ) } + /// _(internals)_ Evaluate a list of statements with no `this` pointer. + /// Exported under the `internals` feature only. + /// + /// # Deprecated + /// + /// This method is deprecated. It will be removed in the next major version. + #[cfg(feature = "internals")] + #[inline(always)] + #[deprecated(since = "1.12.0")] + pub fn eval_statements_raw( + &self, + global: &mut crate::eval::GlobalRuntimeState, + caches: &mut crate::eval::Caches, + scope: &mut Scope, + statements: &[crate::ast::Stmt], + ) -> RhaiResult { + self.eval_global_statements(global, caches, scope, statements) + } } impl Dynamic { diff --git a/src/api/eval.rs b/src/api/eval.rs index 5def7ccf..f5e1503c 100644 --- a/src/api/eval.rs +++ b/src/api/eval.rs @@ -121,15 +121,14 @@ impl Engine { let ast = { let interned_strings = &mut *locked_write(&self.interned_strings); - let (stream, tokenizer_control) = - self.lex_raw(&scripts, self.token_mapper.as_ref().map(<_>::as_ref)); + let (stream, tc) = self.lex_raw(&scripts, self.token_mapper.as_deref()); - let mut state = ParseState::new(scope, interned_strings, tokenizer_control); + let state = &mut ParseState::new(scope, interned_strings, tc); // No need to optimize a lone expression self.parse_global_expr( - &mut stream.peekable(), - &mut state, + stream.peekable(), + state, |_| {}, #[cfg(not(feature = "no_optimize"))] OptimizationLevel::None, @@ -243,7 +242,7 @@ impl Engine { let result = self.eval_global_statements(global, caches, scope, statements); #[cfg(feature = "debugging")] - if self.debugger.is_some() { + if self.is_debugger_registered() { global.debugger_mut().status = crate::eval::DebuggerStatus::Terminate; let mut this = Dynamic::NULL; let node = &crate::ast::Stmt::Noop(Position::NONE); @@ -263,25 +262,6 @@ impl Engine { result } - /// _(internals)_ Evaluate a list of statements with no `this` pointer. - /// Exported under the `internals` feature only. - /// - /// This is commonly used to evaluate a list of statements in an [`AST`] or a script function body. - /// - /// # WARNING - Low Level API - /// - /// This function is very low level. - #[cfg(feature = "internals")] - #[inline(always)] - pub fn eval_statements_raw( - &self, - global: &mut GlobalRuntimeState, - caches: &mut Caches, - scope: &mut Scope, - statements: &[crate::ast::Stmt], - ) -> RhaiResult { - self.eval_global_statements(global, caches, scope, statements) - } } /// Evaluate a string as a script, returning the result value or an error. diff --git a/src/api/events.rs b/src/api/events.rs index 75499edf..f6bade76 100644 --- a/src/api/events.rs +++ b/src/api/events.rs @@ -362,7 +362,7 @@ impl Engine { + SendSync + 'static, ) -> &mut Self { - self.debugger = Some(Box::new((Box::new(init), Box::new(callback)))); + self.debugger_interface = Some(Box::new((Box::new(init), Box::new(callback)))); self } } diff --git a/src/api/json.rs b/src/api/json.rs index 3df63276..adde4bc1 100644 --- a/src/api/json.rs +++ b/src/api/json.rs @@ -120,11 +120,11 @@ impl Engine { let ast = { let scope = Scope::new(); let interned_strings = &mut *locked_write(&self.interned_strings); - let mut state = ParseState::new(&scope, interned_strings, tokenizer_control); + let state = &mut ParseState::new(&scope, interned_strings, tokenizer_control); self.parse_global_expr( - &mut stream.peekable(), - &mut state, + stream.peekable(), + state, |s| s.flags |= ParseSettingFlags::DISALLOW_UNQUOTED_MAP_PROPERTIES, #[cfg(not(feature = "no_optimize"))] OptimizationLevel::None, diff --git a/src/api/mod.rs b/src/api/mod.rs index 2080325e..b318e14f 100644 --- a/src/api/mod.rs +++ b/src/api/mod.rs @@ -1,7 +1,5 @@ //! Module defining the public API of the Rhai engine. -pub mod type_names; - pub mod eval; pub mod run; @@ -24,15 +22,6 @@ pub mod limits; pub mod events; -pub mod custom_syntax; - -pub mod deprecated; - -pub mod build_type; - -#[cfg(feature = "metadata")] -pub mod definitions; - use crate::{Dynamic, Engine, Identifier}; #[cfg(feature = "no_std")] @@ -291,3 +280,14 @@ impl Engine { 0 } } + +pub mod type_names; + +pub mod custom_syntax; + +pub mod build_type; + +#[cfg(feature = "metadata")] +pub mod definitions; + +pub mod deprecated; diff --git a/src/api/optimize.rs b/src/api/optimize.rs index 0baccba6..7e596059 100644 --- a/src/api/optimize.rs +++ b/src/api/optimize.rs @@ -51,20 +51,14 @@ impl Engine { ) -> AST { let mut ast = ast; - #[cfg(not(feature = "no_function"))] - let functions = ast - .shared_lib() - .iter_fn() - .filter(|f| f.func.is_script()) - .map(|f| f.func.get_script_fn_def().unwrap().clone()) - .collect(); - - let mut _new_ast = crate::optimizer::optimize_into_ast( - self, + let mut _new_ast = self.optimize_into_ast( scope, ast.take_statements(), #[cfg(not(feature = "no_function"))] - functions, + ast.shared_lib() + .iter_fn() + .map(|f| f.func.get_script_fn_def().expect("`ScriptFnDef").clone()) + .collect(), optimization_level, ); diff --git a/src/api/run.rs b/src/api/run.rs index ab854321..fe5d6b92 100644 --- a/src/api/run.rs +++ b/src/api/run.rs @@ -58,14 +58,10 @@ impl Engine { pub fn run_with_scope(&self, scope: &mut Scope, script: &str) -> RhaiResultOf<()> { let scripts = [script]; let ast = { + let (stream, tc) = self.lex_raw(&scripts, self.token_mapper.as_deref()); let interned_strings = &mut *locked_write(&self.interned_strings); - - let (stream, tokenizer_control) = - self.lex_raw(&scripts, self.token_mapper.as_ref().map(<_>::as_ref)); - - let mut state = ParseState::new(scope, interned_strings, tokenizer_control); - - self.parse(&mut stream.peekable(), &mut state, self.optimization_level)? + let state = &mut ParseState::new(scope, interned_strings, tc); + self.parse(stream.peekable(), state, self.optimization_level)? }; self.run_ast_with_scope(scope, &ast) } @@ -136,7 +132,7 @@ impl Engine { } #[cfg(feature = "debugging")] - if self.debugger.is_some() { + if self.is_debugger_registered() { global.debugger_mut().status = crate::eval::DebuggerStatus::Terminate; let mut this = crate::Dynamic::NULL; let node = &crate::ast::Stmt::Noop(crate::Position::NONE); diff --git a/src/ast/expr.rs b/src/ast/expr.rs index 3636cb9e..46077213 100644 --- a/src/ast/expr.rs +++ b/src/ast/expr.rs @@ -208,7 +208,8 @@ pub struct FnCallExpr { /// Does this function call capture the parent scope? pub capture_parent_scope: bool, /// Is this function call a native operator? - pub op_token: Option, + /// Otherwise set to [`Token::NonToken`]. + pub op_token: Token, } impl fmt::Debug for FnCallExpr { @@ -223,8 +224,8 @@ impl fmt::Debug for FnCallExpr { ff.field("hash", &self.hashes) .field("name", &self.name) .field("args", &self.args); - if let Some(ref token) = self.op_token { - ff.field("op_token", token); + if self.op_token != Token::NonToken { + ff.field("op_token", &self.op_token); } if self.capture_parent_scope { ff.field("capture_parent_scope", &self.capture_parent_scope); @@ -589,7 +590,7 @@ impl Expr { hashes: calc_fn_hash(None, f.fn_name(), 1).into(), args: once(Self::StringConstant(f.fn_name().into(), pos)).collect(), capture_parent_scope: false, - op_token: None, + op_token: Token::NonToken, } .into(), pos, diff --git a/src/ast/script_fn.rs b/src/ast/script_fn.rs index 9e81b08f..4b8f3e22 100644 --- a/src/ast/script_fn.rs +++ b/src/ast/script_fn.rs @@ -24,7 +24,7 @@ pub struct EncapsulatedEnviron { /// Imported [modules][crate::Module]. pub imports: Box<[(ImmutableString, crate::SharedModule)]>, /// Globally-defined constants. - pub constants: Option, + pub constants: Option, } /// _(internals)_ A type containing information on a script-defined function. diff --git a/src/ast/stmt.rs b/src/ast/stmt.rs index 72ae1e8c..3a0e0458 100644 --- a/src/ast/stmt.rs +++ b/src/ast/stmt.rs @@ -61,10 +61,8 @@ impl OpAssignment { #[must_use] #[inline(always)] pub fn new_op_assignment(name: &str, pos: Position) -> Self { - Self::new_op_assignment_from_token( - &Token::lookup_symbol_from_syntax(name).expect("operator"), - pos, - ) + let op = Token::lookup_symbol_from_syntax(name).expect("operator"); + Self::new_op_assignment_from_token(op, pos) } /// Create a new [`OpAssignment`] from a [`Token`]. /// @@ -72,10 +70,11 @@ impl OpAssignment { /// /// Panics if the token is not an op-assignment operator. #[must_use] - pub fn new_op_assignment_from_token(op: &Token, pos: Position) -> Self { + pub fn new_op_assignment_from_token(op: Token, pos: Position) -> Self { let op_raw = op .get_base_op_from_assignment() .expect("op-assignment operator"); + Self { hash_op_assign: calc_fn_hash(None, op.literal_syntax(), 2), hash_op: calc_fn_hash(None, op_raw.literal_syntax(), 2), @@ -92,10 +91,8 @@ impl OpAssignment { #[must_use] #[inline(always)] pub fn new_op_assignment_from_base(name: &str, pos: Position) -> Self { - Self::new_op_assignment_from_base_token( - &Token::lookup_symbol_from_syntax(name).expect("operator"), - pos, - ) + let op = Token::lookup_symbol_from_syntax(name).expect("operator"); + Self::new_op_assignment_from_base_token(op, pos) } /// Convert a [`Token`] into a new [`OpAssignment`]. /// @@ -104,8 +101,8 @@ impl OpAssignment { /// Panics if the token is cannot be converted into an op-assignment operator. #[inline(always)] #[must_use] - pub fn new_op_assignment_from_base_token(op: &Token, pos: Position) -> Self { - Self::new_op_assignment_from_token(&op.convert_to_op_assignment().expect("operator"), pos) + pub fn new_op_assignment_from_base_token(op: Token, pos: Position) -> Self { + Self::new_op_assignment_from_token(op.convert_to_op_assignment().expect("operator"), pos) } } diff --git a/src/engine.rs b/src/engine.rs index 82993f46..6d4e799d 100644 --- a/src/engine.rs +++ b/src/engine.rs @@ -147,7 +147,7 @@ pub struct Engine { /// Callback closure for debugging. #[cfg(feature = "debugging")] - pub(crate) debugger: Option< + pub(crate) debugger_interface: Option< Box<( Box, Box, @@ -305,7 +305,7 @@ impl Engine { limits: crate::api::limits::Limits::new(), #[cfg(feature = "debugging")] - debugger: None, + debugger_interface: None, }; // Add the global namespace module @@ -348,4 +348,12 @@ impl Engine { pub fn const_empty_string(&self) -> ImmutableString { self.get_interned_string("") } + + /// Is there a debugger interface registered with this [`Engine`]? + #[cfg(feature = "debugging")] + #[inline(always)] + #[must_use] + pub(crate) const fn is_debugger_registered(&self) -> bool { + self.debugger_interface.is_some() + } } diff --git a/src/eval/chaining.rs b/src/eval/chaining.rs index 2b516a36..9c19bb3b 100644 --- a/src/eval/chaining.rs +++ b/src/eval/chaining.rs @@ -5,8 +5,8 @@ use super::{Caches, GlobalRuntimeState, Target}; use crate::ast::{ASTFlags, Expr, OpAssignment}; use crate::config::hashing::SusLock; use crate::engine::{FN_IDX_GET, FN_IDX_SET}; -use crate::types::dynamic::Union; -use crate::types::RestoreOnDrop; +use crate::tokenizer::Token; +use crate::types::{dynamic::Union, RestoreOnDrop}; use crate::{ calc_fn_hash, Dynamic, Engine, FnArgsVec, Position, RhaiResult, RhaiResultOf, Scope, ERR, }; @@ -76,7 +76,7 @@ impl Engine { global, caches, FN_IDX_GET, - None, + Token::NonToken, hash_idx().0, &mut [target, idx], true, @@ -105,7 +105,7 @@ impl Engine { global, caches, FN_IDX_SET, - None, + Token::NonToken, hash_idx().1, &mut [target, idx, new_val], is_ref_mut, @@ -766,7 +766,14 @@ impl Engine { let args = &mut [target.as_mut()]; let (mut orig_val, ..) = self .exec_native_fn_call( - global, caches, getter, None, *hash_get, args, is_ref_mut, *pos, + global, + caches, + getter, + Token::NonToken, + *hash_get, + args, + is_ref_mut, + *pos, ) .or_else(|err| match *err { // Try an indexer if property does not exist @@ -799,7 +806,14 @@ impl Engine { let args = &mut [target.as_mut(), &mut new_val]; self.exec_native_fn_call( - global, caches, setter, None, *hash_set, args, is_ref_mut, *pos, + global, + caches, + setter, + Token::NonToken, + *hash_set, + args, + is_ref_mut, + *pos, ) .or_else(|err| match *err { // Try an indexer if property does not exist @@ -825,7 +839,14 @@ impl Engine { let ((getter, hash_get), _, name) = &**x; let args = &mut [target.as_mut()]; self.exec_native_fn_call( - global, caches, getter, None, *hash_get, args, is_ref_mut, *pos, + global, + caches, + getter, + Token::NonToken, + *hash_get, + args, + is_ref_mut, + *pos, ) .map_or_else( |err| match *err { @@ -921,7 +942,13 @@ impl Engine { // Assume getters are always pure let (mut val, ..) = self .exec_native_fn_call( - global, caches, getter, None, *hash_get, args, is_ref_mut, + global, + caches, + getter, + Token::NonToken, + *hash_get, + args, + is_ref_mut, pos, ) .or_else(|err| match *err { @@ -955,7 +982,13 @@ impl Engine { let mut arg_values = [target.as_mut(), val.as_mut()]; let args = &mut arg_values; self.exec_native_fn_call( - global, caches, setter, None, *hash_set, args, is_ref_mut, + global, + caches, + setter, + Token::NonToken, + *hash_set, + args, + is_ref_mut, pos, ) .or_else( diff --git a/src/eval/debugger.rs b/src/eval/debugger.rs index 14d0246a..cfee4cba 100644 --- a/src/eval/debugger.rs +++ b/src/eval/debugger.rs @@ -415,7 +415,7 @@ impl Engine { this_ptr: &mut Dynamic, node: impl Into>, ) -> RhaiResultOf<()> { - if self.debugger.is_some() { + if self.is_debugger_registered() { if let Some(cmd) = self.run_debugger_with_reset_raw(global, caches, scope, this_ptr, node)? { @@ -440,7 +440,7 @@ impl Engine { this_ptr: &mut Dynamic, node: impl Into>, ) -> RhaiResultOf> { - if self.debugger.is_some() { + if self.is_debugger_registered() { self.run_debugger_with_reset_raw(global, caches, scope, this_ptr, node) } else { Ok(None) @@ -512,7 +512,7 @@ impl Engine { let src = src.as_ref().map(|s| s.as_str()); let context = crate::EvalContext::new(self, global, caches, scope, this_ptr); - if let Some(ref x) = self.debugger { + if let Some(ref x) = self.debugger_interface { let (.., ref on_debugger) = **x; let command = on_debugger(context, event, node, src, node.position())?; diff --git a/src/eval/global_state.rs b/src/eval/global_state.rs index 1a9308e0..b41eb028 100644 --- a/src/eval/global_state.rs +++ b/src/eval/global_state.rs @@ -8,7 +8,7 @@ use std::prelude::v1::*; /// Collection of globally-defined constants. #[cfg(not(feature = "no_module"))] #[cfg(not(feature = "no_function"))] -pub type GlobalConstants = +pub type SharedGlobalConstants = crate::Shared>>; /// _(internals)_ Global runtime states. @@ -67,12 +67,12 @@ pub struct GlobalRuntimeState { /// Interior mutability is needed because it is shared in order to aid in cloning. #[cfg(not(feature = "no_module"))] #[cfg(not(feature = "no_function"))] - pub constants: Option, + pub constants: Option, /// Custom state that can be used by the external host. pub tag: Dynamic, /// Debugging interface. #[cfg(feature = "debugging")] - pub(crate) debugger: Option, + pub(crate) debugger: Option>, } impl GlobalRuntimeState { @@ -103,9 +103,9 @@ impl GlobalRuntimeState { tag: engine.default_tag().clone(), #[cfg(feature = "debugging")] - debugger: engine.debugger.as_ref().map(|x| { + debugger: engine.debugger_interface.as_ref().map(|x| { let dbg = crate::eval::Debugger::new(crate::eval::DebuggerStatus::Init); - (x.0)(engine, dbg) + (x.0)(engine, dbg).into() }), } } @@ -116,7 +116,7 @@ impl GlobalRuntimeState { #[inline] #[must_use] pub fn num_imports(&self) -> usize { - self.modules.as_ref().map_or(0, |m| m.len()) + self.modules.as_deref().map_or(0, crate::StaticVec::len) } /// Get the globally-imported [module][crate::Module] at a particular index. /// @@ -139,7 +139,7 @@ impl GlobalRuntimeState { &mut self, index: usize, ) -> Option<&mut crate::SharedModule> { - self.modules.as_mut().and_then(|m| m.get_mut(index)) + self.modules.as_deref_mut().and_then(|m| m.get_mut(index)) } /// Get the index of a globally-imported [module][crate::Module] by name. /// @@ -184,8 +184,8 @@ impl GlobalRuntimeState { self.imports = None; self.modules = None; } else if self.imports.is_some() { - self.imports.as_mut().unwrap().truncate(size); - self.modules.as_mut().unwrap().truncate(size); + self.imports.as_deref_mut().unwrap().truncate(size); + self.modules.as_deref_mut().unwrap().truncate(size); } } /// Get an iterator to the stack of globally-imported [modules][crate::Module] in reverse order. @@ -235,7 +235,7 @@ impl GlobalRuntimeState { #[cfg(not(feature = "no_module"))] #[inline] pub(crate) fn may_contain_dynamic_fn(&self, hash_script: u64) -> bool { - self.modules.as_ref().map_or(false, |m| { + self.modules.as_deref().map_or(false, |m| { m.iter().any(|m| m.may_contain_dynamic_fn(hash_script)) }) } @@ -324,7 +324,7 @@ impl GlobalRuntimeState { /// Panics if the debugging interface is not set. #[cfg(feature = "debugging")] pub fn debugger_mut(&mut self) -> &mut super::Debugger { - self.debugger.as_mut().unwrap() + self.debugger.as_deref_mut().unwrap() } } diff --git a/src/eval/mod.rs b/src/eval/mod.rs index 94e5e416..733eb5ff 100644 --- a/src/eval/mod.rs +++ b/src/eval/mod.rs @@ -17,10 +17,10 @@ pub use debugger::{ OnDebuggerCallback, OnDebuggingInit, }; pub use eval_context::EvalContext; +pub use global_state::GlobalRuntimeState; #[cfg(not(feature = "no_module"))] #[cfg(not(feature = "no_function"))] -pub use global_state::GlobalConstants; -pub use global_state::GlobalRuntimeState; +pub use global_state::SharedGlobalConstants; #[cfg(not(feature = "no_index"))] pub use target::calc_offset_len; pub use target::{calc_index, Target}; diff --git a/src/eval/stmt.rs b/src/eval/stmt.rs index 198570a3..7bfed3a8 100644 --- a/src/eval/stmt.rs +++ b/src/eval/stmt.rs @@ -129,7 +129,8 @@ impl Engine { let args = &mut [&mut *lock_guard, &mut new_val]; if self.fast_operators() { - if let Some(func) = get_builtin_op_assignment_fn(op_assign_token, args[0], args[1]) + if let Some(func) = + get_builtin_op_assignment_fn(op_assign_token.clone(), args[0], args[1]) { // Built-in found let op = op_assign_token.literal_syntax(); @@ -145,7 +146,7 @@ impl Engine { let op_assign = op_assign_token.literal_syntax(); let op = op_token.literal_syntax(); - let token = Some(op_assign_token); + let token = op_assign_token.clone(); match self .exec_native_fn_call(global, caches, op_assign, token, hash, args, true, *op_pos) @@ -154,7 +155,7 @@ impl Engine { Err(err) if matches!(*err, ERR::ErrorFunctionNotFound(ref f, ..) if f.starts_with(op_assign)) => { // Expand to `var = var op rhs` - let token = Some(op_token); + let token = op_token.clone(); *args[0] = self .exec_native_fn_call( diff --git a/src/func/builtin.rs b/src/func/builtin.rs index 118dd37e..10fc8831 100644 --- a/src/func/builtin.rs +++ b/src/func/builtin.rs @@ -84,7 +84,7 @@ fn const_false_fn(_: NativeCallContext, _: &mut [&mut Dynamic]) -> RhaiResult { /// /// The return function will be registered as a _method_, so the first parameter cannot be consumed. #[must_use] -pub fn get_builtin_binary_op_fn(op: &Token, x: &Dynamic, y: &Dynamic) -> Option { +pub fn get_builtin_binary_op_fn(op: Token, x: &Dynamic, y: &Dynamic) -> Option { let type1 = x.type_id(); let type2 = y.type_id(); @@ -587,7 +587,7 @@ pub fn get_builtin_binary_op_fn(op: &Token, x: &Dynamic, y: &Dynamic) -> Option< /// /// The return function is registered as a _method_, so the first parameter cannot be consumed. #[must_use] -pub fn get_builtin_op_assignment_fn(op: &Token, x: &Dynamic, y: &Dynamic) -> Option { +pub fn get_builtin_op_assignment_fn(op: Token, x: &Dynamic, y: &Dynamic) -> Option { let type1 = x.type_id(); let type2 = y.type_id(); diff --git a/src/func/call.rs b/src/func/call.rs index 591a5d4b..827a709e 100644 --- a/src/func/call.rs +++ b/src/func/call.rs @@ -165,7 +165,7 @@ impl Engine { _global: &GlobalRuntimeState, caches: &'s mut Caches, local_entry: &'s mut Option, - op_token: Option<&Token>, + op_token: Token, hash_base: u64, args: Option<&mut FnCallArgs>, allow_dynamic: bool, @@ -174,7 +174,7 @@ impl Engine { return None; } - let mut hash = args.as_ref().map_or(hash_base, |args| { + let mut hash = args.as_deref().map_or(hash_base, |args| { calc_fn_hash_full(hash_base, args.iter().map(|a| a.type_id())) }); @@ -183,7 +183,7 @@ impl Engine { match cache.map.entry(hash) { Entry::Occupied(entry) => entry.into_mut().as_ref(), Entry::Vacant(entry) => { - let num_args = args.as_ref().map_or(0, |a| a.len()); + let num_args = args.as_deref().map_or(0, |a| a.len()); let mut max_bitmask = 0; // One above maximum bitmask based on number of parameters. // Set later when a specific matching function is not found. let mut bitmask = 1usize; // Bitmask of which parameter to replace with `Dynamic` @@ -272,7 +272,8 @@ impl Engine { // Try to find a built-in version let builtin = args.and_then(|args| match op_token { - Some(token) if token.is_op_assignment() => { + Token::NonToken => None, + token if token.is_op_assignment() => { let (first_arg, rest_args) = args.split_first().unwrap(); get_builtin_op_assignment_fn(token, first_arg, rest_args[0]) @@ -281,13 +282,11 @@ impl Engine { source: None, }) } - Some(token) => get_builtin_binary_op_fn(token, args[0], args[1]) + token => get_builtin_binary_op_fn(token.clone(), args[0], args[1]) .map(|f| FnResolutionCacheEntry { func: CallableFunction::Method(Shared::new(f)), source: None, }), - - None => None, }); return if cache.filter.is_absent_and_set(hash) { @@ -340,7 +339,7 @@ impl Engine { global: &mut GlobalRuntimeState, caches: &mut Caches, name: &str, - op_token: Option<&Token>, + op_token: Token, hash: u64, args: &mut FnCallArgs, is_ref_mut: bool, @@ -385,7 +384,7 @@ impl Engine { &mut *RestoreOnDrop::lock_if(swap, args, move |a| backup.restore_first_arg(a)); #[cfg(feature = "debugging")] - if self.debugger.is_some() { + if self.is_debugger_registered() { let source = source.clone().or_else(|| global.source.clone()); global.debugger_mut().push_call_stack_frame( @@ -417,7 +416,7 @@ impl Engine { }; #[cfg(feature = "debugging")] - if self.debugger.is_some() { + if self.is_debugger_registered() { use crate::eval::{DebuggerEvent, DebuggerStatus}; let trigger = match global.debugger().status { @@ -559,7 +558,7 @@ impl Engine { caches: &mut Caches, _scope: Option<&mut Scope>, fn_name: &str, - op_token: Option<&Token>, + op_token: Token, hashes: FnCallHashes, mut _args: &mut FnCallArgs, is_ref_mut: bool, @@ -638,7 +637,15 @@ impl Engine { let local_entry = &mut None; if let Some(FnResolutionCacheEntry { func, ref source }) = self - .resolve_fn(global, caches, local_entry, None, hash, None, false) + .resolve_fn( + global, + caches, + local_entry, + Token::NonToken, + hash, + None, + false, + ) .cloned() { // Script function call @@ -721,7 +728,7 @@ impl Engine { // Do not match function exit for arguments #[cfg(feature = "debugging")] - let reset = global.debugger.as_mut().and_then(|dbg| { + let reset = global.debugger.as_deref_mut().and_then(|dbg| { dbg.clear_status_if(|status| { matches!(status, crate::eval::DebuggerStatus::FunctionExit(..)) }) @@ -782,7 +789,7 @@ impl Engine { caches, None, fn_name, - None, + Token::NonToken, new_hash, &mut args, false, @@ -836,7 +843,7 @@ impl Engine { caches, None, &fn_name, - None, + Token::NonToken, new_hash, &mut args, is_ref_mut, @@ -935,7 +942,7 @@ impl Engine { caches, None, fn_name, - None, + Token::NonToken, hash, &mut args, is_ref_mut, @@ -961,7 +968,7 @@ impl Engine { scope: &mut Scope, this_ptr: &mut Dynamic, fn_name: &str, - op_token: Option<&Token>, + op_token: Token, first_arg: Option<&Expr>, args_expr: &[Expr], hashes: FnCallHashes, @@ -977,7 +984,7 @@ impl Engine { let redirected; // Handle call() - Redirect function call match name { - _ if op_token.is_some() => (), + _ if op_token != Token::NonToken => (), // Handle call() KEYWORD_FN_PTR_CALL if total_args >= 1 => { @@ -1488,10 +1495,10 @@ impl Engine { .. } = expr; - let op_token = op_token.as_ref(); + let op_token = op_token.clone(); // Short-circuit native binary operator call if under Fast Operators mode - if op_token.is_some() && self.fast_operators() && args.len() == 2 { + if op_token != Token::NonToken && self.fast_operators() && args.len() == 2 { let mut lhs = self .get_arg_value(global, caches, scope, this_ptr, &args[0])? .0 @@ -1504,8 +1511,7 @@ impl Engine { let operands = &mut [&mut lhs, &mut rhs]; - if let Some(func) = - get_builtin_binary_op_fn(op_token.as_ref().unwrap(), operands[0], operands[1]) + if let Some(func) = get_builtin_binary_op_fn(op_token.clone(), operands[0], operands[1]) { // Built-in found let orig_level = global.level; diff --git a/src/func/native.rs b/src/func/native.rs index 4114bf1a..20935c06 100644 --- a/src/func/native.rs +++ b/src/func/native.rs @@ -424,8 +424,7 @@ impl<'a> NativeCallContext<'a> { let caches = &mut Caches::new(); let fn_name = fn_name.as_ref(); - let op_token = Token::lookup_symbol_from_syntax(fn_name); - let op_token = op_token.as_ref(); + let op_token = Token::lookup_symbol_from_syntax(fn_name).unwrap_or(Token::NonToken); let args_len = args.len(); global.level += 1; diff --git a/src/func/script.rs b/src/func/script.rs index b1352450..d73edd0f 100644 --- a/src/func/script.rs +++ b/src/func/script.rs @@ -69,7 +69,7 @@ impl Engine { } #[cfg(feature = "debugging")] - if self.debugger.is_none() && fn_def.body.is_empty() { + if self.debugger_interface.is_none() && fn_def.body.is_empty() { return Ok(Dynamic::UNIT); } #[cfg(not(feature = "debugging"))] @@ -96,7 +96,7 @@ impl Engine { // Push a new call stack frame #[cfg(feature = "debugging")] - if self.debugger.is_some() { + if self.is_debugger_registered() { let source = global.source.clone(); global.debugger_mut().push_call_stack_frame( @@ -131,7 +131,7 @@ impl Engine { }; #[cfg(feature = "debugging")] - if self.debugger.is_some() { + if self.is_debugger_registered() { let node = crate::ast::Stmt::Noop(fn_def.body.position()); self.run_debugger(global, caches, scope, this_ptr, &node)?; } @@ -161,7 +161,7 @@ impl Engine { }); #[cfg(feature = "debugging")] - if self.debugger.is_some() { + if self.is_debugger_registered() { let trigger = match global.debugger_mut().status { crate::eval::DebuggerStatus::FunctionExit(n) => n >= global.level, crate::eval::DebuggerStatus::Next(.., true) => true, diff --git a/src/module/mod.rs b/src/module/mod.rs index 8054c89e..13f5add2 100644 --- a/src/module/mod.rs +++ b/src/module/mod.rs @@ -392,7 +392,7 @@ impl Module { #[inline] #[must_use] pub fn doc(&self) -> &str { - self.doc.as_ref().map_or("", |s| s.as_str()) + self.doc.as_deref().map_or("", SmartString::as_str) } /// Set the documentation of the [`Module`]. @@ -542,16 +542,28 @@ impl Module { #[must_use] pub fn is_empty(&self) -> bool { !self.flags.contains(ModuleFlags::INDEXED_GLOBAL_FUNCTIONS) - && self.functions.as_ref().map_or(true, |m| m.is_empty()) - && self.variables.as_ref().map_or(true, |m| m.is_empty()) - && self.modules.as_ref().map_or(true, |m| m.is_empty()) - && self.type_iterators.as_ref().map_or(true, |t| t.is_empty()) - && self.all_functions.as_ref().map_or(true, |m| m.is_empty()) - && self.all_variables.as_ref().map_or(true, |m| m.is_empty()) + && self + .functions + .as_ref() + .map_or(true, StraightHashMap::is_empty) + && self.variables.as_deref().map_or(true, BTreeMap::is_empty) + && self.modules.as_deref().map_or(true, BTreeMap::is_empty) + && self + .type_iterators + .as_deref() + .map_or(true, BTreeMap::is_empty) + && self + .all_functions + .as_deref() + .map_or(true, StraightHashMap::is_empty) + && self + .all_variables + .as_deref() + .map_or(true, StraightHashMap::is_empty) && self .all_type_iterators - .as_ref() - .map_or(true, |m| m.is_empty()) + .as_deref() + .map_or(true, BTreeMap::is_empty) } /// Is the [`Module`] indexed? @@ -1633,8 +1645,8 @@ impl Module { self.flags &= !ModuleFlags::INDEXED & !ModuleFlags::INDEXED_GLOBAL_FUNCTIONS; #[cfg(feature = "metadata")] - if !other.doc.as_ref().map_or(true, |s| s.is_empty()) { - if !self.doc.as_ref().map_or(true, |s| s.is_empty()) { + if !other.doc.as_deref().map_or(true, SmartString::is_empty) { + if !self.doc.as_deref().map_or(true, SmartString::is_empty) { self.doc.get_or_insert_with(Default::default).push('\n'); } self.doc @@ -1689,8 +1701,8 @@ impl Module { self.flags &= !ModuleFlags::INDEXED & !ModuleFlags::INDEXED_GLOBAL_FUNCTIONS; #[cfg(feature = "metadata")] - if !other.doc.as_ref().map_or(true, |s| s.is_empty()) { - if !self.doc.as_ref().map_or(true, |s| s.is_empty()) { + if !other.doc.as_deref().map_or(true, SmartString::is_empty) { + if !self.doc.as_deref().map_or(true, SmartString::is_empty) { self.doc.get_or_insert_with(Default::default).push('\n'); } self.doc @@ -1754,8 +1766,8 @@ impl Module { self.flags &= !ModuleFlags::INDEXED & !ModuleFlags::INDEXED_GLOBAL_FUNCTIONS; #[cfg(feature = "metadata")] - if !other.doc.as_ref().map_or(true, |s| s.is_empty()) { - if !self.doc.as_ref().map_or(true, |s| s.is_empty()) { + if !other.doc.as_deref().map_or(true, SmartString::is_empty) { + if !self.doc.as_deref().map_or(true, SmartString::is_empty) { self.doc.get_or_insert_with(Default::default).push('\n'); } self.doc @@ -1837,8 +1849,8 @@ impl Module { self.flags &= !ModuleFlags::INDEXED & !ModuleFlags::INDEXED_GLOBAL_FUNCTIONS; #[cfg(feature = "metadata")] - if !other.doc.as_ref().map_or(true, |s| s.is_empty()) { - if !self.doc.as_ref().map_or(true, |s| s.is_empty()) { + if !other.doc.as_deref().map_or(true, SmartString::is_empty) { + if !self.doc.as_deref().map_or(true, SmartString::is_empty) { self.doc.get_or_insert_with(Default::default).push('\n'); } self.doc @@ -1886,9 +1898,9 @@ impl Module { #[must_use] pub fn count(&self) -> (usize, usize, usize) { ( - self.variables.as_ref().map_or(0, |m| m.len()), - self.functions.as_ref().map_or(0, |m| m.len()), - self.type_iterators.as_ref().map_or(0, |t| t.len()), + self.variables.as_deref().map_or(0, BTreeMap::len), + self.functions.as_ref().map_or(0, StraightHashMap::len), + self.type_iterators.as_deref().map_or(0, BTreeMap::len), ) } @@ -2260,11 +2272,11 @@ impl Module { if !self.is_indexed() { let mut path = Vec::with_capacity(4); let mut variables = StraightHashMap::with_capacity_and_hasher( - self.variables.as_ref().map_or(0, |m| m.len()), + self.variables.as_deref().map_or(0, BTreeMap::len), Default::default(), ); let mut functions = StraightHashMap::with_capacity_and_hasher( - self.functions.as_ref().map_or(0, |m| m.len()), + self.functions.as_ref().map_or(0, StraightHashMap::len), Default::default(), ); let mut type_iterators = BTreeMap::new(); diff --git a/src/module/resolvers/file.rs b/src/module/resolvers/file.rs index ee56ac18..33a99286 100644 --- a/src/module/resolvers/file.rs +++ b/src/module/resolvers/file.rs @@ -170,7 +170,7 @@ impl FileModuleResolver { #[inline(always)] #[must_use] pub fn base_path(&self) -> Option<&Path> { - self.base_path.as_ref().map(<_>::as_ref) + self.base_path.as_deref() } /// Set the base path for script files. #[inline(always)] diff --git a/src/optimizer.rs b/src/optimizer.rs index 4a3bc5ad..f1cf1e7e 100644 --- a/src/optimizer.rs +++ b/src/optimizer.rs @@ -65,7 +65,7 @@ struct OptimizerState<'a> { } impl<'a> OptimizerState<'a> { - /// Create a new State. + /// Create a new [`OptimizerState`]. #[inline(always)] pub fn new( engine: &'a Engine, @@ -138,7 +138,7 @@ impl<'a> OptimizerState<'a> { pub fn call_fn_with_constant_arguments( &mut self, fn_name: &str, - op_token: Option<&Token>, + op_token: Token, arg_values: &mut [Dynamic], ) -> Dynamic { self.engine @@ -156,39 +156,6 @@ impl<'a> OptimizerState<'a> { } } -// Has a system function a Rust-native override? -fn has_native_fn_override( - engine: &Engine, - hash_script: u64, - arg_types: impl AsRef<[TypeId]>, -) -> bool { - let hash = calc_fn_hash_full(hash_script, arg_types.as_ref().iter().copied()); - - // First check the global namespace and packages, but skip modules that are standard because - // they should never conflict with system functions. - if engine - .global_modules - .iter() - .filter(|m| !m.flags.contains(ModuleFlags::STANDARD_LIB)) - .any(|m| m.contains_fn(hash)) - { - return true; - } - - // Then check sub-modules - #[cfg(not(feature = "no_module"))] - if engine - .global_sub_modules - .iter() - .flat_map(|m| m.values()) - .any(|m| m.contains_qualified_fn(hash)) - { - return true; - } - - false -} - /// Optimize a block of [statements][Stmt]. fn optimize_stmt_block( mut statements: StmtBlockContainer, @@ -1150,8 +1117,8 @@ fn optimize_expr(expr: &mut Expr, state: &mut OptimizerState, _chaining: bool) { return; } // Overloaded operators can override built-in. - _ if x.args.len() == 2 && x.op_token.is_some() && (state.engine.fast_operators() || !has_native_fn_override(state.engine, x.hashes.native(), &arg_types)) => { - if let Some(result) = get_builtin_binary_op_fn(x.op_token.as_ref().unwrap(), &arg_values[0], &arg_values[1]) + _ if x.args.len() == 2 && x.op_token != Token::NonToken && (state.engine.fast_operators() || !state.engine.has_native_fn_override(x.hashes.native(), &arg_types)) => { + if let Some(result) = get_builtin_binary_op_fn(x.op_token.clone(), &arg_values[0], &arg_values[1]) .and_then(|f| { let context = (state.engine, x.name.as_str(),None, &state.global, *pos).into(); let (first, second) = arg_values.split_first_mut().unwrap(); @@ -1204,7 +1171,7 @@ fn optimize_expr(expr: &mut Expr, state: &mut OptimizerState, _chaining: bool) { KEYWORD_TYPE_OF if arg_values.len() == 1 => state.engine.map_type_name(arg_values[0].type_name()).into(), #[cfg(not(feature = "no_closure"))] crate::engine::KEYWORD_IS_SHARED if arg_values.len() == 1 => Dynamic::FALSE, - _ => state.call_fn_with_constant_arguments(&x.name, x.op_token.as_ref(), arg_values) + _ => state.call_fn_with_constant_arguments(&x.name, x.op_token.clone(), arg_values) }; if !result.is_null() { @@ -1260,124 +1227,149 @@ fn optimize_expr(expr: &mut Expr, state: &mut OptimizerState, _chaining: bool) { } } -/// Optimize a block of [statements][Stmt] at top level. -/// -/// Constants and variables from the scope are added. -fn optimize_top_level( - statements: StmtBlockContainer, - engine: &Engine, - scope: &Scope, - #[cfg(not(feature = "no_function"))] lib: &[crate::SharedModule], - optimization_level: OptimizationLevel, -) -> StmtBlockContainer { - let mut statements = statements; +impl Engine { + /// Has a system function a Rust-native override? + fn has_native_fn_override(&self, hash_script: u64, arg_types: impl AsRef<[TypeId]>) -> bool { + let hash = calc_fn_hash_full(hash_script, arg_types.as_ref().iter().copied()); + + // First check the global namespace and packages, but skip modules that are standard because + // they should never conflict with system functions. + if self + .global_modules + .iter() + .filter(|m| !m.flags.contains(ModuleFlags::STANDARD_LIB)) + .any(|m| m.contains_fn(hash)) + { + return true; + } + + // Then check sub-modules + #[cfg(not(feature = "no_module"))] + if self + .global_sub_modules + .iter() + .flat_map(|m| m.values()) + .any(|m| m.contains_qualified_fn(hash)) + { + return true; + } + + false + } + + /// Optimize a block of [statements][Stmt] at top level. + /// + /// Constants and variables from the scope are added. + fn optimize_top_level( + &self, + statements: StmtBlockContainer, + scope: &Scope, + #[cfg(not(feature = "no_function"))] lib: &[crate::SharedModule], + optimization_level: OptimizationLevel, + ) -> StmtBlockContainer { + let mut statements = statements; + + // If optimization level is None then skip optimizing + if optimization_level == OptimizationLevel::None { + statements.shrink_to_fit(); + return statements; + } + + // Set up the state + let mut state = OptimizerState::new( + self, + #[cfg(not(feature = "no_function"))] + lib, + optimization_level, + ); + + // Add constants from global modules + for (name, value) in self.global_modules.iter().rev().flat_map(|m| m.iter_var()) { + state.push_var(name, AccessMode::ReadOnly, value.clone()); + } + + // Add constants and variables from the scope + for (name, constant, value) in scope.iter() { + if constant { + state.push_var(name, AccessMode::ReadOnly, value); + } else { + state.push_var(name, AccessMode::ReadWrite, Dynamic::NULL); + } + } + + optimize_stmt_block(statements, &mut state, true, false, true) + } + + /// Optimize a collection of statements and functions into an [`AST`]. + pub(crate) fn optimize_into_ast( + &self, + scope: &Scope, + statements: StmtBlockContainer, + #[cfg(not(feature = "no_function"))] functions: StaticVec< + crate::Shared, + >, + optimization_level: OptimizationLevel, + ) -> AST { + let mut statements = statements; + + #[cfg(not(feature = "no_function"))] + let lib: crate::Shared<_> = { + let mut module = crate::Module::new(); + + if optimization_level != OptimizationLevel::None { + // We only need the script library's signatures for optimization purposes + let mut lib2 = crate::Module::new(); + + for fn_def in &functions { + lib2.set_script_fn(crate::ast::ScriptFnDef { + name: fn_def.name.clone(), + access: fn_def.access, + body: crate::ast::StmtBlock::NONE, + params: fn_def.params.clone(), + #[cfg(not(feature = "no_module"))] + environ: None, + #[cfg(not(feature = "no_function"))] + #[cfg(feature = "metadata")] + comments: Box::default(), + }); + } + + let lib2 = &[lib2.into()]; + + for fn_def in functions { + let mut fn_def = crate::func::shared_take_or_clone(fn_def); + + // Optimize the function body + let body = mem::take(&mut *fn_def.body); + + *fn_def.body = self.optimize_top_level(body, scope, lib2, optimization_level); + + module.set_script_fn(fn_def); + } + } else { + for fn_def in functions { + module.set_script_fn(fn_def); + } + } + + module.into() + }; - // If optimization level is None then skip optimizing - if optimization_level == OptimizationLevel::None { statements.shrink_to_fit(); - return statements; - } - // Set up the state - let mut state = OptimizerState::new( - engine, - #[cfg(not(feature = "no_function"))] - lib, - optimization_level, - ); - - // Add constants from global modules - for (name, value) in engine - .global_modules - .iter() - .rev() - .flat_map(|m| m.iter_var()) - { - state.push_var(name, AccessMode::ReadOnly, value.clone()); - } - - // Add constants and variables from the scope - for (name, constant, value) in scope.iter() { - if constant { - state.push_var(name, AccessMode::ReadOnly, value); - } else { - state.push_var(name, AccessMode::ReadWrite, Dynamic::NULL); - } - } - - optimize_stmt_block(statements, &mut state, true, false, true) -} - -/// Optimize an [`AST`]. -pub fn optimize_into_ast( - engine: &Engine, - scope: &Scope, - statements: StmtBlockContainer, - #[cfg(not(feature = "no_function"))] functions: StaticVec< - crate::Shared, - >, - optimization_level: OptimizationLevel, -) -> AST { - let mut statements = statements; - - #[cfg(not(feature = "no_function"))] - let lib: crate::Shared<_> = { - let mut module = crate::Module::new(); - - if optimization_level != OptimizationLevel::None { - // We only need the script library's signatures for optimization purposes - let mut lib2 = crate::Module::new(); - - for fn_def in &functions { - lib2.set_script_fn(crate::ast::ScriptFnDef { - name: fn_def.name.clone(), - access: fn_def.access, - body: crate::ast::StmtBlock::NONE, - params: fn_def.params.clone(), - #[cfg(not(feature = "no_module"))] - environ: None, + AST::new( + match optimization_level { + OptimizationLevel::None => statements, + OptimizationLevel::Simple | OptimizationLevel::Full => self.optimize_top_level( + statements, + scope, #[cfg(not(feature = "no_function"))] - #[cfg(feature = "metadata")] - comments: Box::default(), - }); - } - - let lib2 = &[lib2.into()]; - - for fn_def in functions { - let mut fn_def = crate::func::shared_take_or_clone(fn_def); - - // Optimize the function body - let body = mem::take(&mut *fn_def.body); - - *fn_def.body = optimize_top_level(body, engine, scope, lib2, optimization_level); - - module.set_script_fn(fn_def); - } - } else { - for fn_def in functions { - module.set_script_fn(fn_def); - } - } - - module.into() - }; - - statements.shrink_to_fit(); - - AST::new( - match optimization_level { - OptimizationLevel::None => statements, - OptimizationLevel::Simple | OptimizationLevel::Full => optimize_top_level( - statements, - engine, - scope, - #[cfg(not(feature = "no_function"))] - &[lib.clone()], - optimization_level, - ), - }, - #[cfg(not(feature = "no_function"))] - lib, - ) + &[lib.clone()], + optimization_level, + ), + }, + #[cfg(not(feature = "no_function"))] + lib, + ) + } } diff --git a/src/parser.rs b/src/parser.rs index 46091e0e..dd283e4e 100644 --- a/src/parser.rs +++ b/src/parser.rs @@ -607,7 +607,7 @@ impl Engine { .any(|m| m.as_str() == root) && !self .global_sub_modules - .as_ref() + .as_deref() .map_or(false, |m| m.contains_key(root)) { return Err( @@ -633,7 +633,7 @@ impl Engine { return Ok(FnCallExpr { name: state.get_interned_string(id), capture_parent_scope, - op_token: None, + op_token: Token::NonToken, #[cfg(not(feature = "no_module"))] namespace, hashes, @@ -682,7 +682,7 @@ impl Engine { .any(|m| m.as_str() == root) && !self .global_sub_modules - .as_ref() + .as_deref() .map_or(false, |m| m.contains_key(root)) { return Err( @@ -708,7 +708,7 @@ impl Engine { return Ok(FnCallExpr { name: state.get_interned_string(id), capture_parent_scope, - op_token: None, + op_token: Token::NonToken, #[cfg(not(feature = "no_module"))] namespace, hashes, @@ -1413,8 +1413,11 @@ impl Engine { Token::Pipe | Token::Or if settings.has_option(LangOptions::ANON_FN) => { // Build new parse state let new_interner = &mut StringsInterner::new(); - let mut new_state = - ParseState::new(state.scope, new_interner, state.tokenizer_control.clone()); + let new_state = &mut ParseState::new( + state.scope, + new_interner, + state.tokenizer_control.clone(), + ); // We move the strings interner to the new parse state object by swapping it... std::mem::swap(state.interned_strings, new_state.interned_strings); @@ -1455,7 +1458,7 @@ impl Engine { ..settings }; - let result = self.parse_anon_fn(input, &mut new_state, state, lib, new_settings); + let result = self.parse_anon_fn(input, new_state, state, lib, new_settings); // Restore the strings interner by swapping it back std::mem::swap(state.interned_strings, new_state.interned_strings); @@ -1568,12 +1571,12 @@ impl Engine { Token::Custom(key) | Token::Reserved(key) | Token::Identifier(key) if self .custom_syntax - .as_ref() + .as_deref() .map_or(false, |m| m.contains_key(&**key)) => { let (key, syntax) = self .custom_syntax - .as_ref() + .as_deref() .and_then(|m| m.get_key_value(&**key)) .unwrap(); let (.., pos) = input.next().expect(NEVER_ENDS); @@ -1885,7 +1888,7 @@ impl Engine { .any(|m| m.as_str() == root) && !self .global_sub_modules - .as_ref() + .as_deref() .map_or(false, |m| m.contains_key(root)) { return Err( @@ -1954,7 +1957,7 @@ impl Engine { name: state.get_interned_string("-"), hashes: FnCallHashes::from_native(calc_fn_hash(None, "-", 1)), args, - op_token: Some(token), + op_token: token, capture_parent_scope: false, } .into_fn_call_expr(pos)) @@ -1983,7 +1986,7 @@ impl Engine { name: state.get_interned_string("+"), hashes: FnCallHashes::from_native(calc_fn_hash(None, "+", 1)), args, - op_token: Some(token), + op_token: token, capture_parent_scope: false, } .into_fn_call_expr(pos)) @@ -2005,7 +2008,7 @@ impl Engine { name: state.get_interned_string("!"), hashes: FnCallHashes::from_native(calc_fn_hash(None, "!", 1)), args, - op_token: Some(token), + op_token: token, capture_parent_scope: false, } .into_fn_call_expr(pos)) @@ -2019,7 +2022,7 @@ impl Engine { /// Make an assignment statement. fn make_assignment_stmt( - op: Option, + op: Token, state: &mut ParseState, lhs: Expr, rhs: Expr, @@ -2052,7 +2055,7 @@ impl Engine { } } - let op_info = if let Some(ref op) = op { + let op_info = if op != Token::NonToken { OpAssignment::new_op_assignment_from_token(op, op_pos) } else { OpAssignment::new_assignment(op_pos) @@ -2133,12 +2136,11 @@ impl Engine { ) -> ParseResult { let (op, pos) = match input.peek().expect(NEVER_ENDS) { // var = ... - (Token::Equals, ..) => (None, eat_token(input, Token::Equals)), + (Token::Equals, ..) => (Token::NonToken, eat_token(input, Token::Equals)), // var op= ... - (token, ..) if token.is_op_assignment() => input - .next() - .map(|(op, pos)| (Some(op), pos)) - .expect(NEVER_ENDS), + (token, ..) if token.is_op_assignment() => { + input.next().map(|(op, pos)| (op, pos)).expect(NEVER_ENDS) + } // Not op-assignment _ => return Ok(Stmt::Expr(lhs.into())), }; @@ -2327,7 +2329,7 @@ impl Engine { #[cfg(not(feature = "no_custom_syntax"))] Token::Custom(c) => self .custom_keywords - .as_ref() + .as_deref() .and_then(|m| m.get(&**c)) .copied() .ok_or_else(|| PERR::Reserved(c.to_string()).into_err(*current_pos))?, @@ -2353,7 +2355,7 @@ impl Engine { #[cfg(not(feature = "no_custom_syntax"))] Token::Custom(c) => self .custom_keywords - .as_ref() + .as_deref() .and_then(|m| m.get(&**c)) .copied() .ok_or_else(|| PERR::Reserved(c.to_string()).into_err(*next_pos))?, @@ -2380,9 +2382,9 @@ impl Engine { let hash = calc_fn_hash(None, &op, 2); let is_valid_script_function = is_valid_function_name(&op); let operator_token = if is_valid_script_function { - None + Token::NonToken } else { - Some(op_token.clone()) + op_token.clone() }; let mut args = StaticVec::new_const(); @@ -2446,7 +2448,7 @@ impl Engine { Token::Custom(s) if self .custom_keywords - .as_ref() + .as_deref() .and_then(|m| m.get(s.as_str())) .map_or(false, Option::is_some) => { @@ -2875,7 +2877,7 @@ impl Engine { settings.flags |= ParseSettingFlags::BREAKABLE; let body = self.parse_block(input, state, lib, settings.level_up()?)?; - state.stack.as_mut().unwrap().rewind(prev_stack_len); + state.stack.as_deref_mut().unwrap().rewind(prev_stack_len); Ok(Stmt::For( Box::new((loop_var, counter_var, expr, body.into())), @@ -2956,7 +2958,7 @@ impl Engine { let (existing, hit_barrier) = state.find_var(&name); - let stack = state.stack.as_mut().unwrap(); + let stack = state.stack.as_deref_mut().unwrap(); let existing = if !hit_barrier && existing > 0 { let offset = stack.len() - existing; @@ -3072,7 +3074,7 @@ impl Engine { pos: id_pos, }, Ident { - name: state.get_interned_string(alias.as_ref().map_or("", <_>::as_ref)), + name: state.get_interned_string(alias.as_deref().unwrap_or("")), pos: alias_pos, }, ); @@ -3121,10 +3123,10 @@ impl Engine { } let prev_entry_stack_len = state.block_stack_len; - state.block_stack_len = state.stack.as_ref().map_or(0, |s| s.len()); + state.block_stack_len = state.stack.as_deref().map_or(0, Scope::len); #[cfg(not(feature = "no_module"))] - let orig_imports_len = state.imports.as_ref().map_or(0, |m| m.len()); + let orig_imports_len = state.imports.as_deref().map_or(0, StaticVec::len); let end_pos = loop { // Terminated? @@ -3293,7 +3295,7 @@ impl Engine { match input.next().expect(NEVER_ENDS) { (Token::Fn, pos) => { // Build new parse state - let mut new_state = ParseState::new( + let new_state = &mut ParseState::new( state.scope, state.interned_strings, state.tokenizer_control.clone(), @@ -3330,7 +3332,7 @@ impl Engine { let func = self.parse_fn( input, - &mut new_state, + new_state, lib, access, new_settings, @@ -3521,7 +3523,7 @@ impl Engine { if !catch_var.is_empty() { // Remove the error variable from the stack - state.stack.as_mut().unwrap().pop(); + state.stack.as_deref_mut().unwrap().pop(); } Ok(Stmt::TryCatch( @@ -3684,7 +3686,7 @@ impl Engine { num_externals + 1, )), args, - op_token: None, + op_token: Token::NonToken, capture_parent_scope: false, } .into_fn_call_expr(pos); @@ -3820,7 +3822,7 @@ impl Engine { /// Parse a global level expression. pub(crate) fn parse_global_expr( &self, - input: &mut TokenStream, + mut input: TokenStream, state: &mut ParseState, process_settings: impl FnOnce(&mut ParseSettings), _optimization_level: OptimizationLevel, @@ -3842,7 +3844,7 @@ impl Engine { }; process_settings(&mut settings); - let expr = self.parse_expr(input, state, &mut functions, settings)?; + let expr = self.parse_expr(&mut input, state, &mut functions, settings)?; assert!(functions.is_empty()); @@ -3856,8 +3858,7 @@ impl Engine { statements.push(Stmt::Expr(expr.into())); #[cfg(not(feature = "no_optimize"))] - return Ok(crate::optimizer::optimize_into_ast( - self, + return Ok(self.optimize_into_ast( state.scope, statements, #[cfg(not(feature = "no_function"))] @@ -3876,7 +3877,7 @@ impl Engine { /// Parse the global level statements. fn parse_global_level( &self, - input: &mut TokenStream, + mut input: TokenStream, state: &mut ParseState, process_settings: impl FnOnce(&mut ParseSettings), ) -> ParseResult<(StmtBlockContainer, StaticVec>)> { @@ -3893,8 +3894,8 @@ impl Engine { }; process_settings(&mut settings); - while !input.peek().expect(NEVER_ENDS).0.is_eof() { - let stmt = self.parse_stmt(input, state, &mut functions, settings)?; + while input.peek().expect(NEVER_ENDS).0 != Token::EOF { + let stmt = self.parse_stmt(&mut input, state, &mut functions, settings)?; if stmt.is_noop() { continue; @@ -3909,7 +3910,7 @@ impl Engine { (Token::EOF, ..) => break, // stmt ; (Token::SemiColon, ..) if need_semicolon => { - eat_token(input, Token::SemiColon); + eat_token(&mut input, Token::SemiColon); } // stmt ; (Token::SemiColon, ..) if !need_semicolon => (), @@ -3936,15 +3937,14 @@ impl Engine { #[inline] pub(crate) fn parse( &self, - input: &mut TokenStream, + input: TokenStream, state: &mut ParseState, _optimization_level: OptimizationLevel, ) -> ParseResult { let (statements, _lib) = self.parse_global_level(input, state, |_| {})?; #[cfg(not(feature = "no_optimize"))] - return Ok(crate::optimizer::optimize_into_ast( - self, + return Ok(self.optimize_into_ast( state.scope, statements, #[cfg(not(feature = "no_function"))] diff --git a/src/tokenizer.rs b/src/tokenizer.rs index 8d7ee4a4..3f43f595 100644 --- a/src/tokenizer.rs +++ b/src/tokenizer.rs @@ -584,7 +584,10 @@ pub enum Token { #[cfg(not(feature = "no_custom_syntax"))] Custom(Box), /// End of the input stream. + /// Used as a placeholder for the end of input. EOF, + /// Placeholder to indicate the lack of a token. + NonToken, } impl fmt::Display for Token { @@ -610,6 +613,7 @@ impl fmt::Display for Token { Comment(s) => f.write_str(s), EOF => f.write_str("{EOF}"), + NonToken => f.write_str("{NONE}"), token => f.write_str(token.literal_syntax()), } @@ -638,7 +642,7 @@ impl Token { Custom(..) => false, LexError(..) | Comment(..) => false, - EOF => false, + EOF | NonToken => false, _ => true, } @@ -956,13 +960,6 @@ impl Token { } } - /// Is this token [`EOF`][Token::EOF]? - #[inline(always)] - #[must_use] - pub const fn is_eof(&self) -> bool { - matches!(self, Self::EOF) - } - /// If another operator is after these, it's probably a unary operator /// (not sure about `fn` name). #[must_use] @@ -2435,7 +2432,7 @@ impl<'a> Iterator for TokenIterator<'a> { Some((Token::Reserved(s), pos)) => (match (s.as_str(), #[cfg(not(feature = "no_custom_syntax"))] - self.engine.custom_keywords.as_ref().map_or(false, |m| m.contains_key(&*s)), + self.engine.custom_keywords.as_deref().map_or(false, |m| m.contains_key(&*s)), #[cfg(feature = "no_custom_syntax")] false ) @@ -2472,7 +2469,7 @@ impl<'a> Iterator for TokenIterator<'a> { #[cfg(feature = "no_custom_syntax")] (.., true) => unreachable!("no custom operators"), // Reserved keyword that is not custom and disabled. - (token, false) if self.engine.disabled_symbols.as_ref().map_or(false,|m| m.contains(token)) => { + (token, false) if self.engine.disabled_symbols.as_deref().map_or(false,|m| m.contains(token)) => { let msg = format!("reserved {} '{token}' is disabled", if is_valid_identifier(token) { "keyword"} else {"symbol"}); Token::LexError(LERR::ImproperSymbol(s.to_string(), msg).into()) }, @@ -2481,13 +2478,13 @@ impl<'a> Iterator for TokenIterator<'a> { }, pos), // Custom keyword #[cfg(not(feature = "no_custom_syntax"))] - Some((Token::Identifier(s), pos)) if self.engine.custom_keywords.as_ref().map_or(false,|m| m.contains_key(&*s)) => { + Some((Token::Identifier(s), pos)) if self.engine.custom_keywords.as_deref().map_or(false,|m| m.contains_key(&*s)) => { (Token::Custom(s), pos) } // Custom keyword/symbol - must be disabled #[cfg(not(feature = "no_custom_syntax"))] - Some((token, pos)) if token.is_literal() && self.engine.custom_keywords.as_ref().map_or(false,|m| m.contains_key(token.literal_syntax())) => { - if self.engine.disabled_symbols.as_ref().map_or(false,|m| m.contains(token.literal_syntax())) { + Some((token, pos)) if token.is_literal() && self.engine.custom_keywords.as_deref().map_or(false,|m| m.contains_key(token.literal_syntax())) => { + if self.engine.disabled_symbols.as_deref().map_or(false,|m| m.contains(token.literal_syntax())) { // Disabled standard keyword/symbol (Token::Custom(Box::new(token.literal_syntax().into())), pos) } else { @@ -2496,7 +2493,7 @@ impl<'a> Iterator for TokenIterator<'a> { } } // Disabled symbol - Some((token, pos)) if token.is_literal() && self.engine.disabled_symbols.as_ref().map_or(false,|m| m.contains(token.literal_syntax())) => { + Some((token, pos)) if token.is_literal() && self.engine.disabled_symbols.as_deref().map_or(false,|m| m.contains(token.literal_syntax())) => { (Token::Reserved(Box::new(token.literal_syntax().into())), pos) } // Normal symbol From e8e1706d983c7fe5ff44dfef38404dfdb6377232 Mon Sep 17 00:00:00 2001 From: Stephen Chung Date: Fri, 25 Nov 2022 23:03:20 +0800 Subject: [PATCH 03/34] Use as_deref(). --- src/api/definitions/mod.rs | 5 +- src/api/register.rs | 2 +- src/api/type_names.rs | 10 +- src/engine.rs | 3 + src/eval/global_state.rs | 21 +- src/eval/stmt.rs | 7 +- src/func/call.rs | 48 +- src/func/script.rs | 4 +- src/module/mod.rs | 21 +- src/optimizer.rs | 7 +- src/packages/lang_core.rs | 7 +- src/parser.rs | 39 +- src/serde/metadata.rs | 2 +- t.txt | 36444 +++++++++++++++++++++++++++++++++++ 14 files changed, 36546 insertions(+), 74 deletions(-) create mode 100644 t.txt diff --git a/src/api/definitions/mod.rs b/src/api/definitions/mod.rs index 86ce3f69..39b27a71 100644 --- a/src/api/definitions/mod.rs +++ b/src/api/definitions/mod.rs @@ -368,8 +368,9 @@ impl Definitions<'_> { let mut m = self .engine .global_sub_modules - .iter() - .flat_map(|m| m.iter()) + .as_deref() + .into_iter() + .flatten() .map(move |(name, module)| { ( name.to_string(), diff --git a/src/api/register.rs b/src/api/register.rs index 1591c564..844120f2 100644 --- a/src/api/register.rs +++ b/src/api/register.rs @@ -743,7 +743,7 @@ impl Engine { signatures.extend(self.global_namespace().gen_fn_signatures()); #[cfg(not(feature = "no_module"))] - for (name, m) in self.global_sub_modules.iter().flat_map(|m| m.iter()) { + for (name, m) in self.global_sub_modules.as_deref().into_iter().flatten() { signatures.extend(m.gen_fn_signatures().map(|f| format!("{name}::{f}"))); } diff --git a/src/api/type_names.rs b/src/api/type_names.rs index 258991ab..e6beb268 100644 --- a/src/api/type_names.rs +++ b/src/api/type_names.rs @@ -204,8 +204,9 @@ impl Engine { #[cfg(not(feature = "no_module"))] return self .global_sub_modules - .iter() - .flat_map(|m| m.iter()) + .as_deref() + .into_iter() + .flatten() .find_map(|(_, m)| m.get_custom_type(name)); #[cfg(feature = "no_module")] return None; @@ -238,8 +239,9 @@ impl Engine { #[cfg(not(feature = "no_module"))] return self .global_sub_modules - .iter() - .flat_map(|m| m.iter()) + .as_deref() + .into_iter() + .flatten() .find_map(|(_, m)| m.get_custom_type(name)); #[cfg(feature = "no_module")] return None; diff --git a/src/engine.rs b/src/engine.rs index 6d4e799d..9ad53e1e 100644 --- a/src/engine.rs +++ b/src/engine.rs @@ -191,6 +191,9 @@ impl fmt::Debug for Engine { #[cfg(not(feature = "unchecked"))] f.field("limits", &self.limits); + #[cfg(not(feature = "debugging"))] + f.field("debugger_interface", &self.debugger_interface.is_some()); + f.finish() } } diff --git a/src/eval/global_state.rs b/src/eval/global_state.rs index b41eb028..4cd202f5 100644 --- a/src/eval/global_state.rs +++ b/src/eval/global_state.rs @@ -195,10 +195,11 @@ impl GlobalRuntimeState { #[inline] pub fn iter_imports(&self) -> impl Iterator { self.imports - .iter() - .flat_map(|x| x.iter()) + .as_deref() + .into_iter() + .flatten() .rev() - .zip(self.modules.iter().flat_map(|x| x.iter()).rev()) + .zip(self.modules.as_deref().into_iter().flatten().rev()) .map(|(name, module)| (name.as_str(), &**module)) } /// Get an iterator to the stack of globally-imported [modules][crate::Module] in reverse order. @@ -210,10 +211,11 @@ impl GlobalRuntimeState { &self, ) -> impl Iterator { self.imports - .iter() - .flat_map(|x| x.iter()) + .as_deref() + .into_iter() + .flatten() .rev() - .zip(self.modules.iter().flat_map(|x| x.iter()).rev()) + .zip(self.modules.as_deref().into_iter().flatten()) } /// Get an iterator to the stack of globally-imported [modules][crate::Module] in forward order. /// @@ -224,9 +226,10 @@ impl GlobalRuntimeState { &self, ) -> impl Iterator { self.imports - .iter() - .flat_map(|x| x.iter()) - .zip(self.modules.iter().flat_map(|x| x.iter())) + .as_deref() + .into_iter() + .flatten() + .zip(self.modules.as_deref().into_iter().flatten()) } /// Can the particular function with [`Dynamic`] parameter(s) exist in the stack of /// globally-imported [modules][crate::Module]? diff --git a/src/eval/stmt.rs b/src/eval/stmt.rs index 7bfed3a8..2ccfcdad 100644 --- a/src/eval/stmt.rs +++ b/src/eval/stmt.rs @@ -503,9 +503,10 @@ impl Engine { #[cfg(not(feature = "no_module"))] let func = func.or_else(|| global.get_iter(iter_type)).or_else(|| { self.global_sub_modules - .iter() - .flat_map(|m| m.values()) - .find_map(|m| m.get_qualified_iter(iter_type)) + .as_deref() + .into_iter() + .flatten() + .find_map(|(_, m)| m.get_qualified_iter(iter_type)) }); let func = func.ok_or_else(|| ERR::ErrorFor(expr.start_position()))?; diff --git a/src/func/call.rs b/src/func/call.rs index 827a709e..70f52470 100644 --- a/src/func/call.rs +++ b/src/func/call.rs @@ -212,9 +212,12 @@ impl Engine { } else { func.or_else(|| _global.get_qualified_fn(hash)).or_else(|| { self.global_sub_modules - .iter() - .flat_map(|m| m.values()) - .find_map(|m| m.get_qualified_fn(hash).map(|f| (f, m.id_raw()))) + .as_deref() + .into_iter() + .flatten() + .find_map(|(_, m)| { + m.get_qualified_fn(hash).map(|f| (f, m.id_raw())) + }) }) }; @@ -251,11 +254,9 @@ impl Engine { #[cfg(not(feature = "no_module"))] let is_dynamic = is_dynamic || _global.may_contain_dynamic_fn(hash_base) - || self - .global_sub_modules - .iter() - .flat_map(|m| m.values()) - .any(|m| m.may_contain_dynamic_fn(hash_base)); + || self.global_sub_modules.as_deref().map_or(false, |m| { + m.values().any(|m| m.may_contain_dynamic_fn(hash_base)) + }); // Set maximum bitmask when there are dynamic versions of the function if is_dynamic { @@ -270,24 +271,25 @@ impl Engine { } // Try to find a built-in version - let builtin = - args.and_then(|args| match op_token { - Token::NonToken => None, - token if token.is_op_assignment() => { - let (first_arg, rest_args) = args.split_first().unwrap(); + let builtin = args.and_then(|args| match op_token { + Token::NonToken => None, + token if token.is_op_assignment() => { + let (first_arg, rest_args) = args.split_first().unwrap(); - get_builtin_op_assignment_fn(token, first_arg, rest_args[0]) - .map(|f| FnResolutionCacheEntry { - func: CallableFunction::Method(Shared::new(f)), - source: None, - }) - } - token => get_builtin_binary_op_fn(token.clone(), args[0], args[1]) - .map(|f| FnResolutionCacheEntry { + get_builtin_op_assignment_fn(token, first_arg, rest_args[0]).map( + |f| FnResolutionCacheEntry { func: CallableFunction::Method(Shared::new(f)), source: None, - }), - }); + }, + ) + } + token => get_builtin_binary_op_fn(token, args[0], args[1]).map(|f| { + FnResolutionCacheEntry { + func: CallableFunction::Method(Shared::new(f)), + source: None, + } + }), + }); return if cache.filter.is_absent_and_set(hash) { // Do not cache "one-hit wonders" diff --git a/src/func/script.rs b/src/func/script.rs index d73edd0f..db74c8bc 100644 --- a/src/func/script.rs +++ b/src/func/script.rs @@ -236,7 +236,9 @@ impl Engine { // Then check imported modules global.contains_qualified_fn(hash_script) // Then check sub-modules - || self.global_sub_modules.iter().flat_map(|m| m.values()).any(|m| m.contains_qualified_fn(hash_script)); + || self.global_sub_modules.as_deref().map_or(false, |m| { + m.values().any(|m| m.contains_qualified_fn(hash_script)) + }); if !result && !cache.filter.is_absent_and_set(hash_script) { // Do not cache "one-hit wonders" diff --git a/src/module/mod.rs b/src/module/mod.rs index 13f5add2..35c01c7d 100644 --- a/src/module/mod.rs +++ b/src/module/mod.rs @@ -231,7 +231,8 @@ impl fmt::Debug for Module { "modules", &self .modules - .iter() + .as_deref() + .into_iter() .flat_map(|m| m.keys()) .map(SmartString::as_str) .collect::>(), @@ -1025,8 +1026,8 @@ impl Module { #[cfg(feature = "metadata")] let (param_names, return_type_name) = { let mut names = _arg_names - .iter() - .flat_map(|&p| p.iter()) + .into_iter() + .flatten() .map(|&s| s.into()) .collect::>(); let return_type = if names.len() > arg_types.as_ref().len() { @@ -1908,16 +1909,20 @@ impl Module { #[inline] pub fn iter_sub_modules(&self) -> impl Iterator { self.modules - .iter() - .flat_map(|m| m.iter().map(|(k, m)| (k.as_str(), m))) + .as_deref() + .into_iter() + .flatten() + .map(|(k, m)| (k.as_str(), m)) } /// Get an iterator to the variables in the [`Module`]. #[inline] pub fn iter_var(&self) -> impl Iterator { self.variables - .iter() - .flat_map(|m| m.iter().map(|(k, v)| (k.as_str(), v))) + .as_deref() + .into_iter() + .flatten() + .map(|(k, v)| (k.as_str(), v)) } /// Get an iterator to the functions in the [`Module`]. @@ -2235,7 +2240,7 @@ impl Module { } // Index all Rust functions - for (&hash, f) in module.functions.iter().flat_map(|m| m.iter()) { + for (&hash, f) in module.functions.iter().flatten() { match f.metadata.namespace { FnNamespace::Global => { // Flatten all functions with global namespace diff --git a/src/optimizer.rs b/src/optimizer.rs index f1cf1e7e..f5cc2562 100644 --- a/src/optimizer.rs +++ b/src/optimizer.rs @@ -1247,9 +1247,10 @@ impl Engine { #[cfg(not(feature = "no_module"))] if self .global_sub_modules - .iter() - .flat_map(|m| m.values()) - .any(|m| m.contains_qualified_fn(hash)) + .as_deref() + .into_iter() + .flatten() + .any(|(_, m)| m.contains_qualified_fn(hash)) { return true; } diff --git a/src/packages/lang_core.rs b/src/packages/lang_core.rs index 717691d9..e0e6c1b0 100644 --- a/src/packages/lang_core.rs +++ b/src/packages/lang_core.rs @@ -267,9 +267,10 @@ fn collect_fn_metadata( #[cfg(not(feature = "no_module"))] ctx.engine() .global_sub_modules - .iter() - .flat_map(|m| m.values()) - .flat_map(|m| m.iter_script_fn()) + .as_deref() + .into_iter() + .flatten() + .flat_map(|(_, m)| m.iter_script_fn()) .filter(|(ns, a, n, p, f)| filter(*ns, *a, n, *p, f)) .for_each(|(.., f)| { list.push( diff --git a/src/parser.rs b/src/parser.rs index dd283e4e..7b79aedb 100644 --- a/src/parser.rs +++ b/src/parser.rs @@ -142,7 +142,8 @@ impl<'e, 's> ParseState<'e, 's> { ( self.stack - .iter() + .as_deref() + .into_iter() .flat_map(|s| s.iter_rev_raw()) .enumerate() .find(|&(.., (n, ..))| { @@ -196,9 +197,10 @@ impl<'e, 's> ParseState<'e, 's> { && index == 0 && !self .external_vars - .iter() - .flat_map(|v| v.iter()) - .any(|v| v.as_str() == name) + .as_deref() + .into_iter() + .flatten() + .any(|v| v.name == name) { self.external_vars .get_or_insert_with(Default::default) @@ -234,8 +236,9 @@ impl<'e, 's> ParseState<'e, 's> { #[must_use] pub fn find_module(&self, name: &str) -> Option { self.imports - .iter() - .flat_map(|m| m.iter()) + .as_deref() + .into_iter() + .flatten() .rev() .enumerate() .find(|(.., n)| n.as_str() == name) @@ -602,8 +605,9 @@ impl Engine { && !is_global && !state .global_imports - .iter() - .flat_map(|m| m.iter()) + .as_deref() + .into_iter() + .flatten() .any(|m| m.as_str() == root) && !self .global_sub_modules @@ -677,8 +681,9 @@ impl Engine { && !is_global && !state .global_imports - .iter() - .flat_map(|m| m.iter()) + .as_deref() + .into_iter() + .flatten() .any(|m| m.as_str() == root) && !self .global_sub_modules @@ -1433,7 +1438,7 @@ impl Engine { new_state .global_imports .get_or_insert_with(Default::default) - .extend(state.imports.iter().flat_map(|m| m.iter()).cloned()); + .extend(state.imports.as_deref().into_iter().flatten().cloned()); } #[cfg(not(feature = "no_closure"))] @@ -1468,8 +1473,9 @@ impl Engine { #[cfg(not(feature = "no_closure"))] new_state .external_vars - .iter() - .flat_map(|v| v.iter()) + .as_deref() + .into_iter() + .flatten() .try_for_each(|Ident { name, pos }| { let (index, is_func) = state.access_var(name, lib, *pos); @@ -1883,8 +1889,9 @@ impl Engine { && !is_global && !state .global_imports - .iter() - .flat_map(|m| m.iter()) + .as_deref() + .into_iter() + .flatten() .any(|m| m.as_str() == root) && !self .global_sub_modules @@ -3312,7 +3319,7 @@ impl Engine { new_state .global_imports .get_or_insert_with(Default::default) - .extend(state.imports.iter().flat_map(|m| m.iter()).cloned()); + .extend(state.imports.as_deref().into_iter().flatten().cloned()); } let options = self.options | (settings.options & LangOptions::STRICT_VAR); diff --git a/src/serde/metadata.rs b/src/serde/metadata.rs index 7249f1bd..b6895277 100644 --- a/src/serde/metadata.rs +++ b/src/serde/metadata.rs @@ -171,7 +171,7 @@ pub fn gen_metadata_to_json( let mut global = ModuleMetadata::new(); #[cfg(not(feature = "no_module"))] - for (name, m) in engine.global_sub_modules.iter().flat_map(|m| m.iter()) { + for (name, m) in engine.global_sub_modules.as_deref().into_iter().flatten() { global.modules.insert(name, m.as_ref().into()); } diff --git a/t.txt b/t.txt new file mode 100644 index 00000000..4ef66d7b --- /dev/null +++ b/t.txt @@ -0,0 +1,36444 @@ +print-type-size type: `smallvec::alloc::collections::btree::node::InternalNode<&str, serde::metadata::ModuleMetadata<'_>>`: 11376 bytes, alignment: 8 bytes +print-type-size field `.data`: 11280 bytes +print-type-size field `.edges`: 96 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 11376 bytes, alignment: 8 bytes +print-type-size field `.value`: 11376 bytes +print-type-size type: `std::mem::MaybeUninit>>`: 11376 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 11376 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 11376 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::LeafNode<&str, serde::metadata::ModuleMetadata<'_>>`: 11280 bytes, alignment: 8 bytes +print-type-size field `.parent`: 8 bytes +print-type-size field `.keys`: 176 bytes +print-type-size field `.vals`: 11088 bytes +print-type-size field `.parent_idx`: 2 bytes +print-type-size field `.len`: 2 bytes +print-type-size end padding: 4 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 11280 bytes, alignment: 8 bytes +print-type-size field `.value`: 11280 bytes +print-type-size type: `std::mem::MaybeUninit>>`: 11280 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 11280 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 11280 bytes +print-type-size type: `smallvec::alloc::collections::btree::dedup_sorted_iter::DedupSortedIter<&str, serde::metadata::ModuleMetadata<'_>, std::vec::IntoIter<(&str, serde::metadata::ModuleMetadata<'_>)>>`: 1064 bytes, alignment: 8 bytes +print-type-size field `.iter`: 1064 bytes +print-type-size type: `std::iter::Peekable)>>`: 1064 bytes, alignment: 8 bytes +print-type-size field `.iter`: 32 bytes +print-type-size field `.peeked`: 1032 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::SplitResult<'_, &str, serde::metadata::ModuleMetadata<'_>, smallvec::alloc::collections::btree::node::marker::Internal>`: 1056 bytes, alignment: 8 bytes +print-type-size field `.left`: 16 bytes +print-type-size field `.kv`: 1024 bytes +print-type-size field `.right`: 16 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::SplitResult<'_, &str, serde::metadata::ModuleMetadata<'_>, smallvec::alloc::collections::btree::node::marker::Leaf>`: 1056 bytes, alignment: 8 bytes +print-type-size field `.left`: 16 bytes +print-type-size field `.kv`: 1024 bytes +print-type-size field `.right`: 16 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::SplitResult<'_, &str, serde::metadata::ModuleMetadata<'_>, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>`: 1056 bytes, alignment: 8 bytes +print-type-size field `.left`: 16 bytes +print-type-size field `.kv`: 1024 bytes +print-type-size field `.right`: 16 bytes +print-type-size type: `std::option::Option, smallvec::alloc::collections::btree::node::marker::Internal>>`: 1056 bytes, alignment: 8 bytes +print-type-size variant `Some`: 1056 bytes +print-type-size field `.0`: 1056 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, smallvec::alloc::collections::btree::node::marker::Leaf>>`: 1056 bytes, alignment: 8 bytes +print-type-size variant `Some`: 1056 bytes +print-type-size field `.0`: 1056 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 1056 bytes, alignment: 8 bytes +print-type-size variant `Some`: 1056 bytes +print-type-size field `.0`: 1056 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::mem::ManuallyDrop)>>>`: 1032 bytes, alignment: 8 bytes +print-type-size field `.value`: 1032 bytes +print-type-size type: `std::mem::MaybeUninit)>>>`: 1032 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 1032 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 1032 bytes +print-type-size type: `std::option::Option)>>`: 1032 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Some`: 1024 bytes +print-type-size field `.0`: 1024 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::mem::ManuallyDrop<(&str, serde::metadata::ModuleMetadata<'_>)>`: 1024 bytes, alignment: 8 bytes +print-type-size field `.value`: 1024 bytes +print-type-size type: `std::mem::ManuallyDrop)>>`: 1024 bytes, alignment: 8 bytes +print-type-size field `.value`: 1024 bytes +print-type-size type: `std::mem::MaybeUninit<(&str, serde::metadata::ModuleMetadata<'_>)>`: 1024 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 1024 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 1024 bytes +print-type-size type: `std::mem::MaybeUninit)>>`: 1024 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 1024 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 1024 bytes +print-type-size type: `std::option::Option<(&str, serde::metadata::ModuleMetadata<'_>)>`: 1024 bytes, alignment: 8 bytes +print-type-size variant `Some`: 1024 bytes +print-type-size field `.0`: 1024 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `serde::metadata::ModuleMetadata<'_>`: 1008 bytes, alignment: 8 bytes +print-type-size field `.doc`: 16 bytes +print-type-size field `.modules`: 24 bytes +print-type-size field `.functions`: 968 bytes +print-type-size type: `std::mem::ManuallyDrop>`: 1008 bytes, alignment: 8 bytes +print-type-size field `.value`: 1008 bytes +print-type-size type: `std::mem::MaybeUninit>`: 1008 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 1008 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 1008 bytes +print-type-size type: `std::option::Option>`: 1008 bytes, alignment: 8 bytes +print-type-size variant `Some`: 1008 bytes +print-type-size field `.0`: 1008 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `smallvec::SmallVec<[serde::metadata::FnMetadata<'_>; 3]>`: 968 bytes, alignment: 8 bytes +print-type-size field `.capacity`: 8 bytes +print-type-size field `.data`: 960 bytes +print-type-size type: `smallvec::SmallVecData<[serde::metadata::FnMetadata<'_>; 3]>`: 960 bytes, alignment: 8 bytes +print-type-size variant `SmallVecData`: 960 bytes +print-type-size field `.heap`: 16 bytes +print-type-size field `.inline`: 960 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size type: `std::mem::ManuallyDrop<[serde::metadata::FnMetadata<'_>; 3]>`: 960 bytes, alignment: 8 bytes +print-type-size field `.value`: 960 bytes +print-type-size type: `std::mem::ManuallyDrop; 3]>>`: 960 bytes, alignment: 8 bytes +print-type-size field `.value`: 960 bytes +print-type-size type: `std::mem::MaybeUninit<[serde::metadata::FnMetadata<'_>; 3]>`: 960 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 960 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 960 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::InternalNode, api::custom_syntax::CustomSyntax>`: 816 bytes, alignment: 8 bytes +print-type-size field `.data`: 720 bytes +print-type-size field `.edges`: 96 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::LeafNode, api::custom_syntax::CustomSyntax>`: 720 bytes, alignment: 8 bytes +print-type-size field `.parent`: 8 bytes +print-type-size field `.keys`: 264 bytes +print-type-size field `.vals`: 440 bytes +print-type-size field `.parent_idx`: 2 bytes +print-type-size field `.len`: 2 bytes +print-type-size end padding: 4 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::InternalNode, types::custom_types::CustomTypeInfo>`: 640 bytes, alignment: 8 bytes +print-type-size field `.data`: 544 bytes +print-type-size field `.edges`: 96 bytes +print-type-size type: `std::mem::ManuallyDrop, types::custom_types::CustomTypeInfo>>`: 640 bytes, alignment: 8 bytes +print-type-size field `.value`: 640 bytes +print-type-size type: `std::mem::MaybeUninit, types::custom_types::CustomTypeInfo>>`: 640 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 640 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 640 bytes +print-type-size type: `module::resolvers::file::FileModuleResolver`: 632 bytes, alignment: 8 bytes +print-type-size field `.base_path`: 32 bytes +print-type-size field `.extension`: 24 bytes +print-type-size field `.scope`: 536 bytes +print-type-size field `.cache`: 32 bytes +print-type-size field `.cache_enabled`: 1 bytes +print-type-size end padding: 7 bytes +print-type-size type: `std::iter::Map, std::iter::Zip; 8]>, smallvec::IntoIter<[std::vec::Vec; 8]>>>, [closure@src\types\scope.rs:137:22: 137:46]>`: 632 bytes, alignment: 8 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 632 bytes +print-type-size type: `std::iter::Zip, std::iter::Zip; 8]>, smallvec::IntoIter<[std::vec::Vec; 8]>>>`: 632 bytes, alignment: 8 bytes +print-type-size field `.a`: 152 bytes +print-type-size field `.b`: 456 bytes +print-type-size field `.index`: 8 bytes +print-type-size field `.len`: 8 bytes +print-type-size field `.a_len`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::InternalNode, types::dynamic::Dynamic>`: 552 bytes, alignment: 8 bytes +print-type-size field `.data`: 456 bytes +print-type-size field `.edges`: 96 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::InternalNode>`: 552 bytes, alignment: 8 bytes +print-type-size field `.data`: 456 bytes +print-type-size field `.edges`: 96 bytes +print-type-size type: `std::mem::ManuallyDrop, types::dynamic::Dynamic>>`: 552 bytes, alignment: 8 bytes +print-type-size field `.value`: 552 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 552 bytes, alignment: 8 bytes +print-type-size field `.value`: 552 bytes +print-type-size type: `std::mem::MaybeUninit, types::dynamic::Dynamic>>`: 552 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 552 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 552 bytes +print-type-size type: `std::mem::MaybeUninit>>`: 552 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 552 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 552 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::LeafNode, types::custom_types::CustomTypeInfo>`: 544 bytes, alignment: 8 bytes +print-type-size field `.parent`: 8 bytes +print-type-size field `.keys`: 264 bytes +print-type-size field `.vals`: 264 bytes +print-type-size field `.parent_idx`: 2 bytes +print-type-size field `.len`: 2 bytes +print-type-size end padding: 4 bytes +print-type-size type: `std::mem::ManuallyDrop, types::custom_types::CustomTypeInfo>>`: 544 bytes, alignment: 8 bytes +print-type-size field `.value`: 544 bytes +print-type-size type: `std::mem::MaybeUninit, types::custom_types::CustomTypeInfo>>`: 544 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 544 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 544 bytes +print-type-size type: `types::scope::Scope<'_, 8>`: 536 bytes, alignment: 8 bytes +print-type-size field `.dummy`: 0 bytes +print-type-size field `.values`: 136 bytes +print-type-size field `.names`: 200 bytes +print-type-size field `.aliases`: 200 bytes +print-type-size type: `optimizer::OptimizerState<'_>`: 504 bytes, alignment: 8 bytes +print-type-size field `.variables`: 152 bytes +print-type-size field `.engine`: 8 bytes +print-type-size field `.global`: 136 bytes +print-type-size field `.caches`: 200 bytes +print-type-size field `.changed`: 1 bytes +print-type-size field `.propagate_constants`: 1 bytes +print-type-size field `.optimization_level`: 1 bytes +print-type-size end padding: 5 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::InternalNode, std::rc::Rc>`: 464 bytes, alignment: 8 bytes +print-type-size field `.data`: 368 bytes +print-type-size field `.edges`: 96 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::InternalNode>`: 464 bytes, alignment: 8 bytes +print-type-size field `.data`: 368 bytes +print-type-size field `.edges`: 96 bytes +print-type-size type: `std::mem::ManuallyDrop, std::rc::Rc>>`: 464 bytes, alignment: 8 bytes +print-type-size field `.value`: 464 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 464 bytes, alignment: 8 bytes +print-type-size field `.value`: 464 bytes +print-type-size type: `std::mem::MaybeUninit, std::rc::Rc>>`: 464 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 464 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 464 bytes +print-type-size type: `std::mem::MaybeUninit>>`: 464 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 464 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 464 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::LeafNode, types::dynamic::Dynamic>`: 456 bytes, alignment: 8 bytes +print-type-size field `.parent`: 8 bytes +print-type-size field `.keys`: 264 bytes +print-type-size field `.vals`: 176 bytes +print-type-size field `.parent_idx`: 2 bytes +print-type-size field `.len`: 2 bytes +print-type-size end padding: 4 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::LeafNode>`: 456 bytes, alignment: 8 bytes +print-type-size field `.parent`: 8 bytes +print-type-size field `.keys`: 352 bytes +print-type-size field `.vals`: 88 bytes +print-type-size field `.parent_idx`: 2 bytes +print-type-size field `.len`: 2 bytes +print-type-size end padding: 4 bytes +print-type-size type: `std::iter::Zip; 8]>, smallvec::IntoIter<[std::vec::Vec; 8]>>`: 456 bytes, alignment: 8 bytes +print-type-size field `.a`: 216 bytes +print-type-size field `.b`: 216 bytes +print-type-size field `.index`: 8 bytes +print-type-size field `.len`: 8 bytes +print-type-size field `.a_len`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop, types::dynamic::Dynamic>>`: 456 bytes, alignment: 8 bytes +print-type-size field `.value`: 456 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 456 bytes, alignment: 8 bytes +print-type-size field `.value`: 456 bytes +print-type-size type: `std::mem::MaybeUninit, types::dynamic::Dynamic>>`: 456 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 456 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 456 bytes +print-type-size type: `std::mem::MaybeUninit>>`: 456 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 456 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 456 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::InternalNode, std::option::Option>`: 384 bytes, alignment: 8 bytes +print-type-size field `.data`: 288 bytes +print-type-size field `.edges`: 96 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::InternalNode, smallvec::alloc::collections::btree::set_val::SetValZST>`: 376 bytes, alignment: 8 bytes +print-type-size field `.data`: 280 bytes +print-type-size field `.edges`: 96 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::InternalNode std::boxed::Box>>>>>`: 376 bytes, alignment: 8 bytes +print-type-size field `.data`: 280 bytes +print-type-size field `.edges`: 96 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::InternalNode`: 376 bytes, alignment: 8 bytes +print-type-size field `.data`: 280 bytes +print-type-size field `.edges`: 96 bytes +print-type-size type: `std::mem::ManuallyDrop, smallvec::alloc::collections::btree::set_val::SetValZST>>`: 376 bytes, alignment: 8 bytes +print-type-size field `.value`: 376 bytes +print-type-size type: `std::mem::ManuallyDrop std::boxed::Box>>>>>>`: 376 bytes, alignment: 8 bytes +print-type-size field `.value`: 376 bytes +print-type-size type: `std::mem::ManuallyDrop>`: 376 bytes, alignment: 8 bytes +print-type-size field `.value`: 376 bytes +print-type-size type: `std::mem::MaybeUninit, smallvec::alloc::collections::btree::set_val::SetValZST>>`: 376 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 376 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 376 bytes +print-type-size type: `std::mem::MaybeUninit std::boxed::Box>>>>>>`: 376 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 376 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 376 bytes +print-type-size type: `std::mem::MaybeUninit>`: 376 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 376 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 376 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::LeafNode, std::rc::Rc>`: 368 bytes, alignment: 8 bytes +print-type-size field `.parent`: 8 bytes +print-type-size field `.keys`: 264 bytes +print-type-size field `.vals`: 88 bytes +print-type-size field `.parent_idx`: 2 bytes +print-type-size field `.len`: 2 bytes +print-type-size end padding: 4 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::LeafNode>`: 368 bytes, alignment: 8 bytes +print-type-size field `.parent`: 8 bytes +print-type-size field `.keys`: 88 bytes +print-type-size field `.vals`: 264 bytes +print-type-size field `.parent_idx`: 2 bytes +print-type-size field `.len`: 2 bytes +print-type-size end padding: 4 bytes +print-type-size type: `std::mem::ManuallyDrop, std::rc::Rc>>`: 368 bytes, alignment: 8 bytes +print-type-size field `.value`: 368 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 368 bytes, alignment: 8 bytes +print-type-size field `.value`: 368 bytes +print-type-size type: `std::mem::MaybeUninit, std::rc::Rc>>`: 368 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 368 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 368 bytes +print-type-size type: `std::mem::MaybeUninit>>`: 368 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 368 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 368 bytes +print-type-size type: `std::iter::Filter, std::rc::Rc>>>, std::collections::btree_map::Values<'_, smartstring::SmartString, std::rc::Rc>, [closure@src\packages\lang_core.rs:271:19: 271:22]>, std::iter::Map>, std::collections::hash_map::Values<'_, u64, module::FuncInfo>, [closure@src\module\mod.rs:1927:40: 1927:43]>, [closure@src\module\mod.rs:1951:31: 1951:35]>, [closure@src\module\mod.rs:1951:60: 1951:63]>, [closure@src\packages\lang_core.rs:272:19: 272:22]>, [closure@src\packages\lang_core.rs:273:17: 273:35]>`: 360 bytes, alignment: 8 bytes +print-type-size field `.iter`: 352 bytes +print-type-size field `.predicate`: 8 bytes +print-type-size type: `std::iter::FlatMap, std::rc::Rc>>>, std::collections::btree_map::Values<'_, smartstring::SmartString, std::rc::Rc>, [closure@src\packages\lang_core.rs:271:19: 271:22]>, std::iter::Map>, std::collections::hash_map::Values<'_, u64, module::FuncInfo>, [closure@src\module\mod.rs:1927:40: 1927:43]>, [closure@src\module\mod.rs:1951:31: 1951:35]>, [closure@src\module\mod.rs:1951:60: 1951:63]>, [closure@src\packages\lang_core.rs:272:19: 272:22]>`: 352 bytes, alignment: 8 bytes +print-type-size field `.inner`: 352 bytes +print-type-size type: `std::iter::adapters::flatten::FlattenCompat, std::rc::Rc>>>, std::collections::btree_map::Values<'_, smartstring::SmartString, std::rc::Rc>, [closure@src\packages\lang_core.rs:271:19: 271:22]>, [closure@src\packages\lang_core.rs:272:19: 272:22]>, std::iter::Map>, std::collections::hash_map::Values<'_, u64, module::FuncInfo>, [closure@src\module\mod.rs:1927:40: 1927:43]>, [closure@src\module\mod.rs:1951:31: 1951:35]>, [closure@src\module\mod.rs:1951:60: 1951:63]>>`: 352 bytes, alignment: 8 bytes +print-type-size field `.iter`: 160 bytes +print-type-size field `.frontiter`: 96 bytes +print-type-size field `.backiter`: 96 bytes +print-type-size type: `engine::Engine`: 344 bytes, alignment: 8 bytes +print-type-size field `.global_modules`: 32 bytes +print-type-size field `.global_sub_modules`: 8 bytes +print-type-size field `.module_resolver`: 16 bytes +print-type-size field `.interned_strings`: 72 bytes +print-type-size field `.disabled_symbols`: 8 bytes +print-type-size field `.custom_keywords`: 8 bytes +print-type-size field `.custom_syntax`: 8 bytes +print-type-size field `.def_var_filter`: 16 bytes +print-type-size field `.resolve_var`: 16 bytes +print-type-size field `.token_mapper`: 16 bytes +print-type-size field `.print`: 16 bytes +print-type-size field `.debug`: 16 bytes +print-type-size field `.progress`: 16 bytes +print-type-size field `.def_tag`: 16 bytes +print-type-size field `.limits`: 64 bytes +print-type-size field `.debugger_interface`: 8 bytes +print-type-size field `.options`: 2 bytes +print-type-size field `.optimization_level`: 1 bytes +print-type-size end padding: 5 bytes +print-type-size type: `std::iter::FlatMap>>, std::iter::FlatMap, types::dynamic::Dynamic>>>, std::iter::Map, types::dynamic::Dynamic>, [closure@src\module\mod.rs:1920:40: 1920:48]>, [closure@src\module\mod.rs:1920:23: 1920:26]>, [closure@src\optimizer.rs:1287:72: 1287:75]>`: 336 bytes, alignment: 8 bytes +print-type-size field `.inner`: 336 bytes +print-type-size type: `std::iter::adapters::flatten::FlattenCompat>>, [closure@src\optimizer.rs:1287:72: 1287:75]>, std::iter::FlatMap, types::dynamic::Dynamic>>>, std::iter::Map, types::dynamic::Dynamic>, [closure@src\module\mod.rs:1920:40: 1920:48]>, [closure@src\module\mod.rs:1920:23: 1920:26]>>`: 336 bytes, alignment: 8 bytes +print-type-size field `.iter`: 16 bytes +print-type-size field `.frontiter`: 160 bytes +print-type-size field `.backiter`: 160 bytes +print-type-size type: `serde::metadata::FnMetadata<'_>`: 320 bytes, alignment: 8 bytes +print-type-size field `.base_hash`: 8 bytes +print-type-size field `.full_hash`: 8 bytes +print-type-size field `.name`: 16 bytes +print-type-size field `.num_params`: 8 bytes +print-type-size field `.params`: 152 bytes +print-type-size field `._dummy`: 16 bytes +print-type-size field `.return_type`: 24 bytes +print-type-size field `.signature`: 24 bytes +print-type-size field `.doc_comments`: 56 bytes +print-type-size field `.namespace`: 1 bytes +print-type-size field `.access`: 1 bytes +print-type-size field `.typ`: 1 bytes +print-type-size end padding: 5 bytes +print-type-size type: `std::mem::ManuallyDrop>`: 320 bytes, alignment: 8 bytes +print-type-size field `.value`: 320 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 320 bytes, alignment: 8 bytes +print-type-size field `.value`: 320 bytes +print-type-size type: `std::mem::MaybeUninit>`: 320 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 320 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 320 bytes +print-type-size type: `std::mem::MaybeUninit>>`: 320 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 320 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 320 bytes +print-type-size type: `std::option::Option>`: 320 bytes, alignment: 8 bytes +print-type-size variant `Some`: 320 bytes +print-type-size field `.0`: 320 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `ast::stmt::TryCatchBlock`: 304 bytes, alignment: 8 bytes +print-type-size field `.try_block`: 144 bytes +print-type-size field `.catch_var`: 16 bytes +print-type-size field `.catch_block`: 144 bytes +print-type-size type: `std::mem::ManuallyDrop<(ast::expr::Expr, ast::stmt::StmtBlock, ast::stmt::StmtBlock)>`: 304 bytes, alignment: 8 bytes +print-type-size field `.value`: 304 bytes +print-type-size type: `std::mem::ManuallyDrop`: 304 bytes, alignment: 8 bytes +print-type-size field `.value`: 304 bytes +print-type-size type: `std::mem::MaybeUninit<(ast::expr::Expr, ast::stmt::StmtBlock, ast::stmt::StmtBlock)>`: 304 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 304 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 304 bytes +print-type-size type: `std::mem::MaybeUninit`: 304 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 304 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 304 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::LeafNode, std::option::Option>`: 288 bytes, alignment: 8 bytes +print-type-size field `.parent`: 8 bytes +print-type-size field `.keys`: 264 bytes +print-type-size field `.parent_idx`: 2 bytes +print-type-size field `.len`: 2 bytes +print-type-size field `.vals`: 11 bytes +print-type-size end padding: 1 bytes +print-type-size type: `std::mem::ManuallyDrop<(ast::expr::Expr, ast::stmt::SwitchCasesCollection)>`: 288 bytes, alignment: 8 bytes +print-type-size field `.value`: 288 bytes +print-type-size type: `std::mem::MaybeUninit<(ast::expr::Expr, ast::stmt::SwitchCasesCollection)>`: 288 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 288 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 288 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::LeafNode, smallvec::alloc::collections::btree::set_val::SetValZST>`: 280 bytes, alignment: 8 bytes +print-type-size field `.vals`: 0 bytes +print-type-size field `.parent`: 8 bytes +print-type-size field `.keys`: 264 bytes +print-type-size field `.parent_idx`: 2 bytes +print-type-size field `.len`: 2 bytes +print-type-size end padding: 4 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::LeafNode std::boxed::Box>>>>>`: 280 bytes, alignment: 8 bytes +print-type-size field `.parent`: 8 bytes +print-type-size field `.keys`: 88 bytes +print-type-size field `.vals`: 176 bytes +print-type-size field `.parent_idx`: 2 bytes +print-type-size field `.len`: 2 bytes +print-type-size end padding: 4 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::LeafNode`: 280 bytes, alignment: 8 bytes +print-type-size field `.parent`: 8 bytes +print-type-size field `.keys`: 88 bytes +print-type-size field `.vals`: 176 bytes +print-type-size field `.parent_idx`: 2 bytes +print-type-size field `.len`: 2 bytes +print-type-size end padding: 4 bytes +print-type-size type: `std::mem::ManuallyDrop, smallvec::alloc::collections::btree::set_val::SetValZST>>`: 280 bytes, alignment: 8 bytes +print-type-size field `.value`: 280 bytes +print-type-size type: `std::mem::ManuallyDrop std::boxed::Box>>>>>>`: 280 bytes, alignment: 8 bytes +print-type-size field `.value`: 280 bytes +print-type-size type: `std::mem::ManuallyDrop>`: 280 bytes, alignment: 8 bytes +print-type-size field `.value`: 280 bytes +print-type-size type: `std::mem::MaybeUninit, smallvec::alloc::collections::btree::set_val::SetValZST>>`: 280 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 280 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 280 bytes +print-type-size type: `std::mem::MaybeUninit std::boxed::Box>>>>>>`: 280 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 280 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 280 bytes +print-type-size type: `std::mem::MaybeUninit>`: 280 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 280 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 280 bytes +print-type-size type: `ast::stmt::SwitchCasesCollection`: 272 bytes, alignment: 8 bytes +print-type-size field `.expressions`: 104 bytes +print-type-size field `.cases`: 24 bytes +print-type-size field `.ranges`: 128 bytes +print-type-size field `.def_case`: 16 bytes +print-type-size type: `std::ops::ControlFlow, (ast::expr::Expr, ast::script_fn::ScriptFnDef)>`: 248 bytes, alignment: 8 bytes +print-type-size variant `Continue`: 248 bytes +print-type-size field `.0`: 248 bytes +print-type-size variant `Break`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::rc::RcBox`: 248 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 232 bytes +print-type-size type: `std::result::Result<(ast::expr::Expr, ast::script_fn::ScriptFnDef), types::parse_error::ParseError>`: 248 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 248 bytes +print-type-size field `.0`: 248 bytes +print-type-size variant `Err`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `ast::script_fn::ScriptFnDef`: 232 bytes, alignment: 8 bytes +print-type-size field `.body`: 144 bytes +print-type-size field `.environ`: 8 bytes +print-type-size field `.name`: 8 bytes +print-type-size field `.params`: 48 bytes +print-type-size field `.comments`: 16 bytes +print-type-size field `.access`: 1 bytes +print-type-size end padding: 7 bytes +print-type-size type: `std::mem::ManuallyDrop`: 232 bytes, alignment: 8 bytes +print-type-size field `.value`: 232 bytes +print-type-size type: `std::mem::MaybeUninit`: 232 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 232 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 232 bytes +print-type-size type: `std::ops::ControlFlow, ast::script_fn::ScriptFnDef>`: 232 bytes, alignment: 8 bytes +print-type-size variant `Continue`: 232 bytes +print-type-size field `.0`: 232 bytes +print-type-size variant `Break`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::result::Result>`: 232 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 232 bytes +print-type-size field `.0`: 232 bytes +print-type-size variant `Err`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::result::Result`: 232 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 232 bytes +print-type-size field `.0`: 232 bytes +print-type-size variant `Err`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::iter::FlatMap>>, [closure@src\api\register.rs:760:25: 760:28]>, std::iter::Map>, std::collections::hash_map::Values<'_, u64, module::FuncInfo>, [closure@src\module\mod.rs:1927:40: 1927:43]>, [closure@src\module\mod.rs:601:21: 601:25]>, for<'a> fn(&'a module::FuncInfo) -> std::string::String {module::FuncInfo::gen_signature}>, [closure@src\api\register.rs:761:27: 761:30]>`: 224 bytes, alignment: 8 bytes +print-type-size field `.inner`: 224 bytes +print-type-size type: `std::iter::adapters::flatten::FlattenCompat>>, [closure@src\api\register.rs:760:25: 760:28]>, [closure@src\api\register.rs:761:27: 761:30]>, std::iter::Map>, std::collections::hash_map::Values<'_, u64, module::FuncInfo>, [closure@src\module\mod.rs:1927:40: 1927:43]>, [closure@src\module\mod.rs:601:21: 601:25]>, for<'a> fn(&'a module::FuncInfo) -> std::string::String {module::FuncInfo::gen_signature}>>`: 224 bytes, alignment: 8 bytes +print-type-size field `.iter`: 32 bytes +print-type-size field `.frontiter`: 96 bytes +print-type-size field `.backiter`: 96 bytes +print-type-size type: `smallvec::IntoIter<[smartstring::SmartString; 8]>`: 216 bytes, alignment: 8 bytes +print-type-size field `.data`: 200 bytes +print-type-size field `.current`: 8 bytes +print-type-size field `.end`: 8 bytes +print-type-size type: `smallvec::IntoIter<[std::vec::Vec; 8]>`: 216 bytes, alignment: 8 bytes +print-type-size field `.data`: 200 bytes +print-type-size field `.current`: 8 bytes +print-type-size field `.end`: 8 bytes +print-type-size type: `std::iter::Filter>, for<'a> fn(&'a std::rc::Rc) -> &'a module::Module { as std::convert::AsRef>::as_ref}>, std::iter::Map>, std::collections::hash_map::Values<'_, u64, module::FuncInfo>, [closure@src\module\mod.rs:1927:40: 1927:43]>, [closure@src\module\mod.rs:1951:31: 1951:35]>, [closure@src\module\mod.rs:1951:60: 1951:63]>, for<'a> fn(&'a module::Module) -> impl std::iter::Iterator)> + 'a {module::Module::iter_script_fn}>, [closure@src\packages\lang_core.rs:237:17: 237:34]>`: 216 bytes, alignment: 8 bytes +print-type-size field `.iter`: 208 bytes +print-type-size field `.predicate`: 8 bytes +print-type-size type: `std::iter::Filter>, std::iter::Map>, std::collections::hash_map::Values<'_, u64, module::FuncInfo>, [closure@src\module\mod.rs:1927:40: 1927:43]>, [closure@src\module\mod.rs:1951:31: 1951:35]>, [closure@src\module\mod.rs:1951:60: 1951:63]>, [closure@src\packages\lang_core.rs:253:19: 253:22]>, [closure@src\packages\lang_core.rs:254:17: 254:35]>`: 216 bytes, alignment: 8 bytes +print-type-size field `.iter`: 208 bytes +print-type-size field `.predicate`: 8 bytes +print-type-size type: `std::iter::FlatMap>, [closure@src\serde\metadata.rs:187:17: 187:20]>, std::iter::FlatMap>, std::collections::hash_map::Values<'_, u64, module::FuncInfo>, [closure@src\module\mod.rs:1927:40: 1927:43]>, [closure@src\serde\metadata.rs:188:19: 188:22]>`: 216 bytes, alignment: 8 bytes +print-type-size field `.inner`: 216 bytes +print-type-size type: `std::iter::adapters::flatten::FlattenCompat>, [closure@src\serde\metadata.rs:187:17: 187:20]>, [closure@src\serde\metadata.rs:188:19: 188:22]>, std::iter::FlatMap>, std::collections::hash_map::Values<'_, u64, module::FuncInfo>, [closure@src\module\mod.rs:1927:40: 1927:43]>>`: 216 bytes, alignment: 8 bytes +print-type-size field `.iter`: 24 bytes +print-type-size field `.frontiter`: 96 bytes +print-type-size field `.backiter`: 96 bytes +print-type-size type: `std::iter::FlatMap>, for<'a> fn(&'a std::rc::Rc) -> &'a module::Module { as std::convert::AsRef>::as_ref}>, std::iter::Map>, std::collections::hash_map::Values<'_, u64, module::FuncInfo>, [closure@src\module\mod.rs:1927:40: 1927:43]>, [closure@src\module\mod.rs:1951:31: 1951:35]>, [closure@src\module\mod.rs:1951:60: 1951:63]>, for<'a> fn(&'a module::Module) -> impl std::iter::Iterator)> + 'a {module::Module::iter_script_fn}>`: 208 bytes, alignment: 8 bytes +print-type-size field `.inner`: 208 bytes +print-type-size type: `std::iter::FlatMap>, std::iter::Map>, std::collections::hash_map::Values<'_, u64, module::FuncInfo>, [closure@src\module\mod.rs:1927:40: 1927:43]>, [closure@src\module\mod.rs:1951:31: 1951:35]>, [closure@src\module\mod.rs:1951:60: 1951:63]>, [closure@src\eval\expr.rs:160:31: 160:34]>`: 208 bytes, alignment: 8 bytes +print-type-size field `.inner`: 208 bytes +print-type-size type: `std::iter::FlatMap>, std::iter::Map>, std::collections::hash_map::Values<'_, u64, module::FuncInfo>, [closure@src\module\mod.rs:1927:40: 1927:43]>, [closure@src\module\mod.rs:1951:31: 1951:35]>, [closure@src\module\mod.rs:1951:60: 1951:63]>, [closure@src\packages\lang_core.rs:253:19: 253:22]>`: 208 bytes, alignment: 8 bytes +print-type-size field `.inner`: 208 bytes +print-type-size type: `std::iter::adapters::flatten::FlattenCompat>, for<'a> fn(&'a std::rc::Rc) -> &'a module::Module { as std::convert::AsRef>::as_ref}>, for<'a> fn(&'a module::Module) -> impl std::iter::Iterator)> + 'a {module::Module::iter_script_fn}>, std::iter::Map>, std::collections::hash_map::Values<'_, u64, module::FuncInfo>, [closure@src\module\mod.rs:1927:40: 1927:43]>, [closure@src\module\mod.rs:1951:31: 1951:35]>, [closure@src\module\mod.rs:1951:60: 1951:63]>>`: 208 bytes, alignment: 8 bytes +print-type-size field `.iter`: 16 bytes +print-type-size field `.frontiter`: 96 bytes +print-type-size field `.backiter`: 96 bytes +print-type-size type: `std::iter::adapters::flatten::FlattenCompat>, [closure@src\eval\expr.rs:160:31: 160:34]>, std::iter::Map>, std::collections::hash_map::Values<'_, u64, module::FuncInfo>, [closure@src\module\mod.rs:1927:40: 1927:43]>, [closure@src\module\mod.rs:1951:31: 1951:35]>, [closure@src\module\mod.rs:1951:60: 1951:63]>>`: 208 bytes, alignment: 8 bytes +print-type-size field `.iter`: 16 bytes +print-type-size field `.frontiter`: 96 bytes +print-type-size field `.backiter`: 96 bytes +print-type-size type: `std::iter::adapters::flatten::FlattenCompat>, [closure@src\packages\lang_core.rs:253:19: 253:22]>, std::iter::Map>, std::collections::hash_map::Values<'_, u64, module::FuncInfo>, [closure@src\module\mod.rs:1927:40: 1927:43]>, [closure@src\module\mod.rs:1951:31: 1951:35]>, [closure@src\module\mod.rs:1951:60: 1951:63]>>`: 208 bytes, alignment: 8 bytes +print-type-size field `.iter`: 16 bytes +print-type-size field `.frontiter`: 96 bytes +print-type-size field `.backiter`: 96 bytes +print-type-size type: `eval::cache::Caches`: 200 bytes, alignment: 8 bytes +print-type-size field `.0`: 200 bytes +print-type-size type: `smallvec::SmallVec<[eval::cache::FnResolutionCache; 3]>`: 200 bytes, alignment: 8 bytes +print-type-size field `.capacity`: 8 bytes +print-type-size field `.data`: 192 bytes +print-type-size type: `smallvec::SmallVec<[smartstring::SmartString; 8]>`: 200 bytes, alignment: 8 bytes +print-type-size field `.capacity`: 8 bytes +print-type-size field `.data`: 192 bytes +print-type-size type: `smallvec::SmallVec<[std::vec::Vec; 8]>`: 200 bytes, alignment: 8 bytes +print-type-size field `.capacity`: 8 bytes +print-type-size field `.data`: 192 bytes +print-type-size type: `std::option::Option>>`: 200 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Some`: 192 bytes +print-type-size field `.0`: 192 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `ast::ast::AST`: 192 bytes, alignment: 8 bytes +print-type-size field `.source`: 8 bytes +print-type-size field `.doc`: 24 bytes +print-type-size field `.body`: 144 bytes +print-type-size field `.lib`: 8 bytes +print-type-size field `.resolver`: 8 bytes +print-type-size type: `func::native::NativeCallContextStore`: 192 bytes, alignment: 8 bytes +print-type-size field `.fn_name`: 24 bytes +print-type-size field `.source`: 24 bytes +print-type-size field `.global`: 136 bytes +print-type-size field `.pos`: 4 bytes +print-type-size end padding: 4 bytes +print-type-size type: `smallvec::SmallVecData<[eval::cache::FnResolutionCache; 3]>`: 192 bytes, alignment: 8 bytes +print-type-size variant `SmallVecData`: 192 bytes +print-type-size field `.heap`: 16 bytes +print-type-size field `.inline`: 192 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size type: `smallvec::SmallVecData<[smartstring::SmartString; 8]>`: 192 bytes, alignment: 8 bytes +print-type-size variant `SmallVecData`: 192 bytes +print-type-size field `.heap`: 16 bytes +print-type-size field `.inline`: 192 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size type: `smallvec::SmallVecData<[std::vec::Vec; 8]>`: 192 bytes, alignment: 8 bytes +print-type-size variant `SmallVecData`: 192 bytes +print-type-size field `.heap`: 16 bytes +print-type-size field `.inline`: 192 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size type: `std::mem::ManuallyDrop<(ast::ident::Ident, ast::ident::Ident, ast::expr::Expr, ast::stmt::StmtBlock)>`: 192 bytes, alignment: 8 bytes +print-type-size field `.value`: 192 bytes +print-type-size type: `std::mem::ManuallyDrop<[eval::cache::FnResolutionCache; 3]>`: 192 bytes, alignment: 8 bytes +print-type-size field `.value`: 192 bytes +print-type-size type: `std::mem::ManuallyDrop<[smartstring::SmartString; 8]>`: 192 bytes, alignment: 8 bytes +print-type-size field `.value`: 192 bytes +print-type-size type: `std::mem::ManuallyDrop<[std::vec::Vec; 8]>`: 192 bytes, alignment: 8 bytes +print-type-size field `.value`: 192 bytes +print-type-size type: `std::mem::ManuallyDrop>`: 192 bytes, alignment: 8 bytes +print-type-size field `.value`: 192 bytes +print-type-size type: `std::mem::ManuallyDrop; 8]>>`: 192 bytes, alignment: 8 bytes +print-type-size field `.value`: 192 bytes +print-type-size type: `std::mem::ManuallyDrop; 8]>>`: 192 bytes, alignment: 8 bytes +print-type-size field `.value`: 192 bytes +print-type-size type: `std::mem::MaybeUninit<(ast::ident::Ident, ast::ident::Ident, ast::expr::Expr, ast::stmt::StmtBlock)>`: 192 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 192 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 192 bytes +print-type-size type: `std::mem::MaybeUninit<[eval::cache::FnResolutionCache; 3]>`: 192 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 192 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 192 bytes +print-type-size type: `std::mem::MaybeUninit<[smartstring::SmartString; 8]>`: 192 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 192 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 192 bytes +print-type-size type: `std::mem::MaybeUninit<[std::vec::Vec; 8]>`: 192 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 192 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 192 bytes +print-type-size type: `std::ops::ControlFlow>, ast::ast::AST>`: 192 bytes, alignment: 8 bytes +print-type-size variant `Continue`: 192 bytes +print-type-size field `.0`: 192 bytes +print-type-size variant `Break`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::ops::ControlFlow, ast::ast::AST>`: 192 bytes, alignment: 8 bytes +print-type-size variant `Continue`: 192 bytes +print-type-size field `.0`: 192 bytes +print-type-size variant `Break`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::result::Result>`: 192 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 192 bytes +print-type-size field `.0`: 192 bytes +print-type-size variant `Err`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::result::Result`: 192 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 192 bytes +print-type-size field `.0`: 192 bytes +print-type-size variant `Err`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::iter::Peekable>`: 184 bytes, alignment: 8 bytes +print-type-size field `.iter`: 160 bytes +print-type-size field `.peeked`: 24 bytes +print-type-size type: `module::FuncInfoMetadata`: 176 bytes, alignment: 8 bytes +print-type-size field `.name`: 8 bytes +print-type-size field `.num_params`: 8 bytes +print-type-size field `.param_types`: 32 bytes +print-type-size field `.params_info`: 80 bytes +print-type-size field `.return_type`: 24 bytes +print-type-size field `.comments`: 16 bytes +print-type-size field `.namespace`: 1 bytes +print-type-size field `.access`: 1 bytes +print-type-size end padding: 6 bytes +print-type-size type: `std::iter::Map, std::rc::Rc>>>, std::collections::btree_map::Iter<'_, smartstring::SmartString, std::rc::Rc>, [closure@src\api\definitions\mod.rs:372:23: 372:26]>, [closure@src\api\definitions\mod.rs:373:18: 373:39]>`: 176 bytes, alignment: 8 bytes +print-type-size field `.iter`: 160 bytes +print-type-size field `.f`: 16 bytes +print-type-size type: `std::mem::ManuallyDrop`: 176 bytes, alignment: 8 bytes +print-type-size field `.value`: 176 bytes +print-type-size type: `std::mem::MaybeUninit`: 176 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 176 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 176 bytes +print-type-size type: `std::ops::ControlFlow, (smallvec::SmallVec<[ast::stmt::Stmt; 8]>, smallvec::SmallVec<[std::rc::Rc; 3]>)>`: 176 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Continue`: 168 bytes +print-type-size field `.0`: 168 bytes +print-type-size variant `Break`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::result::Result<(smallvec::SmallVec<[ast::stmt::Stmt; 8]>, smallvec::SmallVec<[std::rc::Rc; 3]>), types::parse_error::ParseError>`: 176 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Ok`: 168 bytes +print-type-size field `.0`: 168 bytes +print-type-size variant `Err`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `ast::expr::FnCallExpr`: 168 bytes, alignment: 8 bytes +print-type-size field `.namespace`: 64 bytes +print-type-size field `.name`: 8 bytes +print-type-size field `.hashes`: 16 bytes +print-type-size field `.args`: 56 bytes +print-type-size field `.op_token`: 16 bytes +print-type-size field `.capture_parent_scope`: 1 bytes +print-type-size end padding: 7 bytes +print-type-size type: `std::mem::ManuallyDrop`: 168 bytes, alignment: 8 bytes +print-type-size field `.value`: 168 bytes +print-type-size type: `std::mem::MaybeUninit`: 168 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 168 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 168 bytes +print-type-size type: `std::iter::FlatMap, api::custom_syntax::CustomSyntax>>>, std::collections::btree_map::Keys<'_, smartstring::SmartString, api::custom_syntax::CustomSyntax>, [closure@src\engine.rs:177:27: 177:30]>`: 160 bytes, alignment: 8 bytes +print-type-size field `.inner`: 160 bytes +print-type-size type: `std::iter::FlatMap, std::rc::Rc>>>, std::collections::btree_map::Iter<'_, smartstring::SmartString, std::rc::Rc>, [closure@src\api\definitions\mod.rs:372:23: 372:26]>`: 160 bytes, alignment: 8 bytes +print-type-size field `.inner`: 160 bytes +print-type-size type: `std::iter::FlatMap, std::rc::Rc>>>, std::collections::btree_map::Iter<'_, smartstring::SmartString, std::rc::Rc>, [closure@src\api\register.rs:746:66: 746:69]>`: 160 bytes, alignment: 8 bytes +print-type-size field `.inner`: 160 bytes +print-type-size type: `std::iter::FlatMap, std::rc::Rc>>>, std::collections::btree_map::Iter<'_, smartstring::SmartString, std::rc::Rc>, [closure@src\api\type_names.rs:208:31: 208:34]>`: 160 bytes, alignment: 8 bytes +print-type-size field `.inner`: 160 bytes +print-type-size type: `std::iter::FlatMap, std::rc::Rc>>>, std::collections::btree_map::Iter<'_, smartstring::SmartString, std::rc::Rc>, [closure@src\api\type_names.rs:242:31: 242:34]>`: 160 bytes, alignment: 8 bytes +print-type-size field `.inner`: 160 bytes +print-type-size type: `std::iter::FlatMap, std::rc::Rc>>>, std::collections::btree_map::Iter<'_, smartstring::SmartString, std::rc::Rc>, [closure@src\serde\metadata.rs:174:64: 174:67]>`: 160 bytes, alignment: 8 bytes +print-type-size field `.inner`: 160 bytes +print-type-size type: `std::iter::FlatMap, std::rc::Rc>>>, std::collections::btree_map::Keys<'_, smartstring::SmartString, std::rc::Rc>, [closure@src\module\mod.rs:235:31: 235:34]>`: 160 bytes, alignment: 8 bytes +print-type-size field `.inner`: 160 bytes +print-type-size type: `std::iter::FlatMap, std::rc::Rc>>>, std::collections::btree_map::Values<'_, smartstring::SmartString, std::rc::Rc>, [closure@src\eval\stmt.rs:507:35: 507:38]>`: 160 bytes, alignment: 8 bytes +print-type-size field `.inner`: 160 bytes +print-type-size type: `std::iter::FlatMap, std::rc::Rc>>>, std::collections::btree_map::Values<'_, smartstring::SmartString, std::rc::Rc>, [closure@src\func\call.rs:216:43: 216:46]>`: 160 bytes, alignment: 8 bytes +print-type-size field `.inner`: 160 bytes +print-type-size type: `std::iter::FlatMap, std::rc::Rc>>>, std::collections::btree_map::Values<'_, smartstring::SmartString, std::rc::Rc>, [closure@src\func\call.rs:257:43: 257:46]>`: 160 bytes, alignment: 8 bytes +print-type-size field `.inner`: 160 bytes +print-type-size type: `std::iter::FlatMap, std::rc::Rc>>>, std::collections::btree_map::Values<'_, smartstring::SmartString, std::rc::Rc>, [closure@src\func\script.rs:239:56: 239:59]>`: 160 bytes, alignment: 8 bytes +print-type-size field `.inner`: 160 bytes +print-type-size type: `std::iter::FlatMap, std::rc::Rc>>>, std::collections::btree_map::Values<'_, smartstring::SmartString, std::rc::Rc>, [closure@src\optimizer.rs:1251:23: 1251:26]>`: 160 bytes, alignment: 8 bytes +print-type-size field `.inner`: 160 bytes +print-type-size type: `std::iter::FlatMap, std::rc::Rc>>>, std::collections::btree_map::Values<'_, smartstring::SmartString, std::rc::Rc>, [closure@src\packages\lang_core.rs:271:19: 271:22]>`: 160 bytes, alignment: 8 bytes +print-type-size field `.inner`: 160 bytes +print-type-size type: `std::iter::FlatMap, std::rc::Rc>>>, std::iter::Map, std::rc::Rc>, [closure@src\module\mod.rs:1912:40: 1912:48]>, [closure@src\module\mod.rs:1912:23: 1912:26]>`: 160 bytes, alignment: 8 bytes +print-type-size field `.inner`: 160 bytes +print-type-size type: `std::iter::FlatMap, types::dynamic::Dynamic>>>, std::iter::Map, types::dynamic::Dynamic>, [closure@src\module\mod.rs:1920:40: 1920:48]>, [closure@src\module\mod.rs:1920:23: 1920:26]>`: 160 bytes, alignment: 8 bytes +print-type-size field `.inner`: 160 bytes +print-type-size type: `std::iter::Fuse, std::rc::Rc>>>, std::collections::btree_map::Values<'_, smartstring::SmartString, std::rc::Rc>, [closure@src\packages\lang_core.rs:271:19: 271:22]>, [closure@src\packages\lang_core.rs:272:19: 272:22]>>`: 160 bytes, alignment: 8 bytes +print-type-size field `.iter`: 160 bytes +print-type-size type: `std::iter::Map, api::custom_syntax::CustomSyntax>>>, std::collections::btree_map::Keys<'_, smartstring::SmartString, api::custom_syntax::CustomSyntax>, [closure@src\engine.rs:177:27: 177:30]>, for<'a> fn(&'a smartstring::SmartString) -> &'a str {smartstring::SmartString::::as_str}>`: 160 bytes, alignment: 8 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 160 bytes +print-type-size type: `std::iter::Map, std::rc::Rc>>>, std::collections::btree_map::Keys<'_, smartstring::SmartString, std::rc::Rc>, [closure@src\module\mod.rs:235:31: 235:34]>, for<'a> fn(&'a smartstring::SmartString) -> &'a str {smartstring::SmartString::::as_str}>`: 160 bytes, alignment: 8 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 160 bytes +print-type-size type: `std::iter::Map, std::rc::Rc>>>, std::collections::btree_map::Values<'_, smartstring::SmartString, std::rc::Rc>, [closure@src\packages\lang_core.rs:271:19: 271:22]>, [closure@src\packages\lang_core.rs:272:19: 272:22]>`: 160 bytes, alignment: 8 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 160 bytes +print-type-size type: `std::iter::Map, std::rc::Rc>>>, std::iter::Map, std::rc::Rc>, [closure@src\module\mod.rs:1912:40: 1912:48]>, [closure@src\module\mod.rs:1912:23: 1912:26]>, [closure@src\serde\metadata.rs:157:22: 157:33]>`: 160 bytes, alignment: 8 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 160 bytes +print-type-size type: `std::iter::adapters::flatten::FlattenCompat, api::custom_syntax::CustomSyntax>>>, [closure@src\engine.rs:177:27: 177:30]>, std::collections::btree_map::Keys<'_, smartstring::SmartString, api::custom_syntax::CustomSyntax>>`: 160 bytes, alignment: 8 bytes +print-type-size field `.iter`: 16 bytes +print-type-size field `.frontiter`: 72 bytes +print-type-size field `.backiter`: 72 bytes +print-type-size type: `std::iter::adapters::flatten::FlattenCompat, std::rc::Rc>>>, [closure@src\api\definitions\mod.rs:372:23: 372:26]>, std::collections::btree_map::Iter<'_, smartstring::SmartString, std::rc::Rc>>`: 160 bytes, alignment: 8 bytes +print-type-size field `.iter`: 16 bytes +print-type-size field `.frontiter`: 72 bytes +print-type-size field `.backiter`: 72 bytes +print-type-size type: `std::iter::adapters::flatten::FlattenCompat, std::rc::Rc>>>, [closure@src\api\register.rs:746:66: 746:69]>, std::collections::btree_map::Iter<'_, smartstring::SmartString, std::rc::Rc>>`: 160 bytes, alignment: 8 bytes +print-type-size field `.iter`: 16 bytes +print-type-size field `.frontiter`: 72 bytes +print-type-size field `.backiter`: 72 bytes +print-type-size type: `std::iter::adapters::flatten::FlattenCompat, std::rc::Rc>>>, [closure@src\api\type_names.rs:208:31: 208:34]>, std::collections::btree_map::Iter<'_, smartstring::SmartString, std::rc::Rc>>`: 160 bytes, alignment: 8 bytes +print-type-size field `.iter`: 16 bytes +print-type-size field `.frontiter`: 72 bytes +print-type-size field `.backiter`: 72 bytes +print-type-size type: `std::iter::adapters::flatten::FlattenCompat, std::rc::Rc>>>, [closure@src\api\type_names.rs:242:31: 242:34]>, std::collections::btree_map::Iter<'_, smartstring::SmartString, std::rc::Rc>>`: 160 bytes, alignment: 8 bytes +print-type-size field `.iter`: 16 bytes +print-type-size field `.frontiter`: 72 bytes +print-type-size field `.backiter`: 72 bytes +print-type-size type: `std::iter::adapters::flatten::FlattenCompat, std::rc::Rc>>>, [closure@src\eval\stmt.rs:507:35: 507:38]>, std::collections::btree_map::Values<'_, smartstring::SmartString, std::rc::Rc>>`: 160 bytes, alignment: 8 bytes +print-type-size field `.iter`: 16 bytes +print-type-size field `.frontiter`: 72 bytes +print-type-size field `.backiter`: 72 bytes +print-type-size type: `std::iter::adapters::flatten::FlattenCompat, std::rc::Rc>>>, [closure@src\func\call.rs:216:43: 216:46]>, std::collections::btree_map::Values<'_, smartstring::SmartString, std::rc::Rc>>`: 160 bytes, alignment: 8 bytes +print-type-size field `.iter`: 16 bytes +print-type-size field `.frontiter`: 72 bytes +print-type-size field `.backiter`: 72 bytes +print-type-size type: `std::iter::adapters::flatten::FlattenCompat, std::rc::Rc>>>, [closure@src\func\call.rs:257:43: 257:46]>, std::collections::btree_map::Values<'_, smartstring::SmartString, std::rc::Rc>>`: 160 bytes, alignment: 8 bytes +print-type-size field `.iter`: 16 bytes +print-type-size field `.frontiter`: 72 bytes +print-type-size field `.backiter`: 72 bytes +print-type-size type: `std::iter::adapters::flatten::FlattenCompat, std::rc::Rc>>>, [closure@src\func\script.rs:239:56: 239:59]>, std::collections::btree_map::Values<'_, smartstring::SmartString, std::rc::Rc>>`: 160 bytes, alignment: 8 bytes +print-type-size field `.iter`: 16 bytes +print-type-size field `.frontiter`: 72 bytes +print-type-size field `.backiter`: 72 bytes +print-type-size type: `std::iter::adapters::flatten::FlattenCompat, std::rc::Rc>>>, [closure@src\module\mod.rs:1912:23: 1912:26]>, std::iter::Map, std::rc::Rc>, [closure@src\module\mod.rs:1912:40: 1912:48]>>`: 160 bytes, alignment: 8 bytes +print-type-size field `.iter`: 16 bytes +print-type-size field `.frontiter`: 72 bytes +print-type-size field `.backiter`: 72 bytes +print-type-size type: `std::iter::adapters::flatten::FlattenCompat, std::rc::Rc>>>, [closure@src\module\mod.rs:235:31: 235:34]>, std::collections::btree_map::Keys<'_, smartstring::SmartString, std::rc::Rc>>`: 160 bytes, alignment: 8 bytes +print-type-size field `.iter`: 16 bytes +print-type-size field `.frontiter`: 72 bytes +print-type-size field `.backiter`: 72 bytes +print-type-size type: `std::iter::adapters::flatten::FlattenCompat, std::rc::Rc>>>, [closure@src\optimizer.rs:1251:23: 1251:26]>, std::collections::btree_map::Values<'_, smartstring::SmartString, std::rc::Rc>>`: 160 bytes, alignment: 8 bytes +print-type-size field `.iter`: 16 bytes +print-type-size field `.frontiter`: 72 bytes +print-type-size field `.backiter`: 72 bytes +print-type-size type: `std::iter::adapters::flatten::FlattenCompat, std::rc::Rc>>>, [closure@src\packages\lang_core.rs:271:19: 271:22]>, std::collections::btree_map::Values<'_, smartstring::SmartString, std::rc::Rc>>`: 160 bytes, alignment: 8 bytes +print-type-size field `.iter`: 16 bytes +print-type-size field `.frontiter`: 72 bytes +print-type-size field `.backiter`: 72 bytes +print-type-size type: `std::iter::adapters::flatten::FlattenCompat, std::rc::Rc>>>, [closure@src\serde\metadata.rs:174:64: 174:67]>, std::collections::btree_map::Iter<'_, smartstring::SmartString, std::rc::Rc>>`: 160 bytes, alignment: 8 bytes +print-type-size field `.iter`: 16 bytes +print-type-size field `.frontiter`: 72 bytes +print-type-size field `.backiter`: 72 bytes +print-type-size type: `std::iter::adapters::flatten::FlattenCompat, types::dynamic::Dynamic>>>, [closure@src\module\mod.rs:1920:23: 1920:26]>, std::iter::Map, types::dynamic::Dynamic>, [closure@src\module\mod.rs:1920:40: 1920:48]>>`: 160 bytes, alignment: 8 bytes +print-type-size field `.iter`: 16 bytes +print-type-size field `.frontiter`: 72 bytes +print-type-size field `.backiter`: 72 bytes +print-type-size type: `std::mem::ManuallyDrop<(ast::expr::Expr, ast::stmt::StmtBlock)>`: 160 bytes, alignment: 8 bytes +print-type-size field `.value`: 160 bytes +print-type-size type: `std::mem::MaybeUninit<(ast::expr::Expr, ast::stmt::StmtBlock)>`: 160 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 160 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 160 bytes +print-type-size type: `std::option::Option, types::dynamic::Dynamic>>>, std::iter::Map, types::dynamic::Dynamic>, [closure@src\module\mod.rs:1920:40: 1920:48]>, [closure@src\module\mod.rs:1920:23: 1920:26]>>`: 160 bytes, alignment: 8 bytes +print-type-size variant `Some`: 160 bytes +print-type-size field `.0`: 160 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, std::rc::Rc>>>, std::collections::btree_map::Values<'_, smartstring::SmartString, std::rc::Rc>, [closure@src\packages\lang_core.rs:271:19: 271:22]>, [closure@src\packages\lang_core.rs:272:19: 272:22]>>`: 160 bytes, alignment: 8 bytes +print-type-size variant `Some`: 160 bytes +print-type-size field `.0`: 160 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `tokenizer::TokenIterator<'_>`: 160 bytes, alignment: 8 bytes +print-type-size field `.engine`: 8 bytes +print-type-size field `.state`: 32 bytes +print-type-size field `.stream`: 96 bytes +print-type-size field `.token_mapper`: 16 bytes +print-type-size field `.pos`: 4 bytes +print-type-size end padding: 4 bytes +print-type-size type: `smallvec::IntoIter<[ast::stmt::Stmt; 8]>`: 152 bytes, alignment: 8 bytes +print-type-size field `.data`: 136 bytes +print-type-size field `.current`: 8 bytes +print-type-size field `.end`: 8 bytes +print-type-size type: `smallvec::IntoIter<[types::dynamic::Dynamic; 8]>`: 152 bytes, alignment: 8 bytes +print-type-size field `.data`: 136 bytes +print-type-size field `.current`: 8 bytes +print-type-size field `.end`: 8 bytes +print-type-size type: `smallvec::SmallVec<[(smartstring::SmartString, types::dynamic::AccessMode, types::dynamic::Dynamic); 3]>`: 152 bytes, alignment: 8 bytes +print-type-size field `.capacity`: 8 bytes +print-type-size field `.data`: 144 bytes +print-type-size type: `smallvec::SmallVec<[serde::metadata::FnParam<'_>; 3]>`: 152 bytes, alignment: 8 bytes +print-type-size field `.capacity`: 8 bytes +print-type-size field `.data`: 144 bytes +print-type-size type: `ast::stmt::StmtBlock`: 144 bytes, alignment: 8 bytes +print-type-size field `.block`: 136 bytes +print-type-size field `.span`: 8 bytes +print-type-size type: `smallvec::SmallVecData<[(smartstring::SmartString, types::dynamic::AccessMode, types::dynamic::Dynamic); 3]>`: 144 bytes, alignment: 8 bytes +print-type-size variant `SmallVecData`: 144 bytes +print-type-size field `.heap`: 16 bytes +print-type-size field `.inline`: 144 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size type: `smallvec::SmallVecData<[serde::metadata::FnParam<'_>; 3]>`: 144 bytes, alignment: 8 bytes +print-type-size variant `SmallVecData`: 144 bytes +print-type-size field `.heap`: 16 bytes +print-type-size field `.inline`: 144 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size type: `std::iter::Chain, std::iter::Once<(std::string::String, std::string::String)>>, std::iter::Map>, [closure@src\api\definitions\mod.rs:236:38: 236:46]>>, std::iter::Map, [closure@src\api\definitions\mod.rs:246:26: 246:39]>>`: 144 bytes, alignment: 8 bytes +print-type-size field `.a`: 112 bytes +print-type-size field `.b`: 32 bytes +print-type-size type: `std::mem::ManuallyDrop<[(smartstring::SmartString, types::dynamic::AccessMode, types::dynamic::Dynamic); 3]>`: 144 bytes, alignment: 8 bytes +print-type-size field `.value`: 144 bytes +print-type-size type: `std::mem::ManuallyDrop<[serde::metadata::FnParam<'_>; 3]>`: 144 bytes, alignment: 8 bytes +print-type-size field `.value`: 144 bytes +print-type-size type: `std::mem::ManuallyDrop`: 144 bytes, alignment: 8 bytes +print-type-size field `.value`: 144 bytes +print-type-size type: `std::mem::ManuallyDrop, types::dynamic::AccessMode, types::dynamic::Dynamic); 3]>>`: 144 bytes, alignment: 8 bytes +print-type-size field `.value`: 144 bytes +print-type-size type: `std::mem::ManuallyDrop; 3]>>`: 144 bytes, alignment: 8 bytes +print-type-size field `.value`: 144 bytes +print-type-size type: `std::mem::MaybeUninit<[(smartstring::SmartString, types::dynamic::AccessMode, types::dynamic::Dynamic); 3]>`: 144 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 144 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 144 bytes +print-type-size type: `std::mem::MaybeUninit<[serde::metadata::FnParam<'_>; 3]>`: 144 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 144 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 144 bytes +print-type-size type: `std::mem::MaybeUninit`: 144 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 144 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 144 bytes +print-type-size type: `core::str::iter::SplitNInternal<'_, &str>`: 136 bytes, alignment: 8 bytes +print-type-size field `.iter`: 128 bytes +print-type-size field `.count`: 8 bytes +print-type-size type: `eval::global_state::GlobalRuntimeState`: 136 bytes, alignment: 8 bytes +print-type-size field `.imports`: 8 bytes +print-type-size field `.modules`: 8 bytes +print-type-size field `.lib`: 32 bytes +print-type-size field `.source`: 8 bytes +print-type-size field `.num_operations`: 8 bytes +print-type-size field `.num_modules_loaded`: 8 bytes +print-type-size field `.level`: 8 bytes +print-type-size field `.scope_level`: 8 bytes +print-type-size field `.embedded_module_resolver`: 8 bytes +print-type-size field `.constants`: 8 bytes +print-type-size field `.tag`: 16 bytes +print-type-size field `.debugger`: 8 bytes +print-type-size field `.always_search_scope`: 1 bytes +print-type-size end padding: 7 bytes +print-type-size type: `smallvec::SmallVec<[ast::stmt::Stmt; 8]>`: 136 bytes, alignment: 8 bytes +print-type-size field `.capacity`: 8 bytes +print-type-size field `.data`: 128 bytes +print-type-size type: `smallvec::SmallVec<[types::dynamic::Dynamic; 8]>`: 136 bytes, alignment: 8 bytes +print-type-size field `.capacity`: 8 bytes +print-type-size field `.data`: 128 bytes +print-type-size type: `std::iter::Enumerate>>, std::iter::Map>>, std::iter::Rev>>, [closure@src\types\scope.rs:823:18: 823:33]>, [closure@src\parser.rs:146:27: 146:30]>>`: 136 bytes, alignment: 8 bytes +print-type-size field `.iter`: 128 bytes +print-type-size field `.count`: 8 bytes +print-type-size type: `std::iter::Map, fn(&str) -> types::dynamic::Dynamic {<&str as std::convert::Into>::into}>`: 136 bytes, alignment: 8 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 136 bytes +print-type-size type: `std::iter::Map, fn(&str) -> types::dynamic::Dynamic {<&str as std::convert::Into>::into}>`: 136 bytes, alignment: 8 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 136 bytes +print-type-size type: `std::mem::ManuallyDrop>`: 136 bytes, alignment: 8 bytes +print-type-size field `.value`: 136 bytes +print-type-size type: `std::mem::MaybeUninit>`: 136 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 136 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 136 bytes +print-type-size type: `std::rc::RcBox`: 136 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 120 bytes +print-type-size type: `std::str::RSplitN<'_, &str>`: 136 bytes, alignment: 8 bytes +print-type-size field `.0`: 136 bytes +print-type-size type: `std::str::SplitN<'_, &str>`: 136 bytes, alignment: 8 bytes +print-type-size field `.0`: 136 bytes +print-type-size type: `core::str::iter::SplitInternal<'_, &str>`: 128 bytes, alignment: 8 bytes +print-type-size field `.start`: 8 bytes +print-type-size field `.end`: 8 bytes +print-type-size field `.matcher`: 104 bytes +print-type-size field `.allow_trailing_empty`: 1 bytes +print-type-size field `.finished`: 1 bytes +print-type-size end padding: 6 bytes +print-type-size type: `smallvec::SmallVec<[(types::immutable_string::ImmutableString, std::option::Option, tokenizer::Position); 5]>`: 128 bytes, alignment: 8 bytes +print-type-size field `.capacity`: 8 bytes +print-type-size field `.data`: 120 bytes +print-type-size type: `smallvec::SmallVec<[ast::stmt::RangeCase; 3]>`: 128 bytes, alignment: 8 bytes +print-type-size field `.capacity`: 8 bytes +print-type-size field `.data`: 120 bytes +print-type-size type: `smallvec::SmallVecData<[ast::stmt::Stmt; 8]>`: 128 bytes, alignment: 8 bytes +print-type-size variant `SmallVecData`: 128 bytes +print-type-size field `.heap`: 16 bytes +print-type-size field `.inline`: 128 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size type: `smallvec::SmallVecData<[types::dynamic::Dynamic; 8]>`: 128 bytes, alignment: 8 bytes +print-type-size variant `SmallVecData`: 128 bytes +print-type-size field `.heap`: 16 bytes +print-type-size field `.inline`: 128 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size type: `std::iter::FlatMap>, std::collections::hash_map::Values<'_, u64, module::FuncInfo>, [closure@src\module\mod.rs:1927:40: 1927:43]>, [closure@src\module\mod.rs:1951:31: 1951:35]>, [closure@src\module\mod.rs:1951:60: 1951:63]>, [closure@src\ast\ast.rs:756:18: 756:32]>, std::slice::Iter<'_, ast::stmt::Stmt>, [closure@src\ast\ast.rs:898:49: 898:52]>`: 128 bytes, alignment: 8 bytes +print-type-size field `.inner`: 128 bytes +print-type-size type: `std::iter::FlatMap>>, std::iter::Map>>, std::iter::Rev>>, [closure@src\types\scope.rs:823:18: 823:33]>, [closure@src\parser.rs:146:27: 146:30]>`: 128 bytes, alignment: 8 bytes +print-type-size field `.inner`: 128 bytes +print-type-size type: `std::iter::Map, fn(&str) -> types::dynamic::Dynamic {<&str as std::convert::Into>::into}>`: 128 bytes, alignment: 8 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 128 bytes +print-type-size type: `std::iter::Map, fn(&str) -> types::dynamic::Dynamic {<&str as std::convert::Into>::into}>`: 128 bytes, alignment: 8 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 128 bytes +print-type-size type: `std::iter::Skip>>, std::slice::Iter<'_, types::immutable_string::ImmutableString>, [closure@src\eval\global_state.rs:228:23: 228:26]>, std::iter::FlatMap; 3]>>>, std::slice::Iter<'_, std::rc::Rc>, [closure@src\eval\global_state.rs:229:47: 229:50]>>>`: 128 bytes, alignment: 8 bytes +print-type-size field `.iter`: 120 bytes +print-type-size field `.n`: 8 bytes +print-type-size type: `std::iter::adapters::flatten::FlattenCompat>, std::collections::hash_map::Values<'_, u64, module::FuncInfo>, [closure@src\module\mod.rs:1927:40: 1927:43]>, [closure@src\module\mod.rs:1951:31: 1951:35]>, [closure@src\module\mod.rs:1951:60: 1951:63]>, [closure@src\ast\ast.rs:756:18: 756:32]>, [closure@src\ast\ast.rs:898:49: 898:52]>, std::slice::Iter<'_, ast::stmt::Stmt>>`: 128 bytes, alignment: 8 bytes +print-type-size field `.iter`: 96 bytes +print-type-size field `.frontiter`: 16 bytes +print-type-size field `.backiter`: 16 bytes +print-type-size type: `std::iter::adapters::flatten::FlattenCompat>>, [closure@src\parser.rs:146:27: 146:30]>, std::iter::Map>>, std::iter::Rev>>, [closure@src\types\scope.rs:823:18: 823:33]>>`: 128 bytes, alignment: 8 bytes +print-type-size field `.iter`: 16 bytes +print-type-size field `.frontiter`: 56 bytes +print-type-size field `.backiter`: 56 bytes +print-type-size type: `std::mem::ManuallyDrop<(smallvec::SmallVec<[(ast::ident::Ident, ast::expr::Expr); 3]>, std::collections::BTreeMap, types::dynamic::Dynamic>)>`: 128 bytes, alignment: 8 bytes +print-type-size field `.value`: 128 bytes +print-type-size type: `std::mem::ManuallyDrop<[ast::stmt::Stmt; 8]>`: 128 bytes, alignment: 8 bytes +print-type-size field `.value`: 128 bytes +print-type-size type: `std::mem::ManuallyDrop<[types::dynamic::Dynamic; 8]>`: 128 bytes, alignment: 8 bytes +print-type-size field `.value`: 128 bytes +print-type-size type: `std::mem::ManuallyDrop, tokenizer::Position); 5]>>`: 128 bytes, alignment: 8 bytes +print-type-size field `.value`: 128 bytes +print-type-size type: `std::mem::ManuallyDrop>`: 128 bytes, alignment: 8 bytes +print-type-size field `.value`: 128 bytes +print-type-size type: `std::mem::ManuallyDrop>`: 128 bytes, alignment: 8 bytes +print-type-size field `.value`: 128 bytes +print-type-size type: `std::mem::MaybeUninit<(smallvec::SmallVec<[(ast::ident::Ident, ast::expr::Expr); 3]>, std::collections::BTreeMap, types::dynamic::Dynamic>)>`: 128 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 128 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 128 bytes +print-type-size type: `std::mem::MaybeUninit<[ast::stmt::Stmt; 8]>`: 128 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 128 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 128 bytes +print-type-size type: `std::mem::MaybeUninit<[types::dynamic::Dynamic; 8]>`: 128 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 128 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 128 bytes +print-type-size type: `std::mem::MaybeUninit, tokenizer::Position); 5]>>`: 128 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 128 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 128 bytes +print-type-size type: `std::ops::ControlFlow>, module::Module>`: 128 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Continue`: 120 bytes +print-type-size field `.0`: 120 bytes +print-type-size variant `Break`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::result::Result>`: 128 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Ok`: 120 bytes +print-type-size field `.0`: 120 bytes +print-type-size variant `Err`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::result::Result>`: 128 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Ok`: 120 bytes +print-type-size field `.0`: 120 bytes +print-type-size variant `Err`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::str::RSplit<'_, &str>`: 128 bytes, alignment: 8 bytes +print-type-size field `.0`: 128 bytes +print-type-size type: `std::str::Split<'_, &str>`: 128 bytes, alignment: 8 bytes +print-type-size field `.0`: 128 bytes +print-type-size type: `module::Module`: 120 bytes, alignment: 8 bytes +print-type-size field `.id`: 8 bytes +print-type-size field `.doc`: 8 bytes +print-type-size field `.custom_types`: 8 bytes +print-type-size field `.modules`: 8 bytes +print-type-size field `.variables`: 8 bytes +print-type-size field `.all_variables`: 8 bytes +print-type-size field `.functions`: 32 bytes +print-type-size field `.all_functions`: 8 bytes +print-type-size field `.dynamic_functions_filter`: 8 bytes +print-type-size field `.type_iterators`: 8 bytes +print-type-size field `.all_type_iterators`: 8 bytes +print-type-size field `.flags`: 1 bytes +print-type-size end padding: 7 bytes +print-type-size type: `smallvec::IntoIter<[(ast::ident::Ident, ast::expr::Expr); 3]>`: 120 bytes, alignment: 8 bytes +print-type-size field `.data`: 104 bytes +print-type-size field `.current`: 8 bytes +print-type-size field `.end`: 8 bytes +print-type-size type: `smallvec::SmallVecData<[(types::immutable_string::ImmutableString, std::option::Option, tokenizer::Position); 5]>`: 120 bytes, alignment: 8 bytes +print-type-size variant `SmallVecData`: 120 bytes +print-type-size field `.heap`: 16 bytes +print-type-size field `.inline`: 120 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size type: `smallvec::SmallVecData<[ast::stmt::RangeCase; 3]>`: 120 bytes, alignment: 8 bytes +print-type-size variant `SmallVecData`: 120 bytes +print-type-size field `.heap`: 16 bytes +print-type-size field `.inline`: 120 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size type: `std::iter::Map, [closure@src\parser.rs:3700:22: 3700:43]>`: 120 bytes, alignment: 8 bytes +print-type-size field `.iter`: 104 bytes +print-type-size field `.f`: 16 bytes +print-type-size type: `std::iter::Map>>, std::slice::Iter<'_, types::immutable_string::ImmutableString>, [closure@src\eval\global_state.rs:199:23: 199:26]>>, std::iter::Rev; 3]>>>, std::slice::Iter<'_, std::rc::Rc>, [closure@src\eval\global_state.rs:201:47: 201:50]>>>, [closure@src\eval\global_state.rs:202:18: 202:34]>`: 120 bytes, alignment: 8 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 120 bytes +print-type-size type: `std::iter::Zip>>, std::slice::Iter<'_, types::immutable_string::ImmutableString>, [closure@src\eval\global_state.rs:228:23: 228:26]>, std::iter::FlatMap; 3]>>>, std::slice::Iter<'_, std::rc::Rc>, [closure@src\eval\global_state.rs:229:47: 229:50]>>`: 120 bytes, alignment: 8 bytes +print-type-size field `.a`: 48 bytes +print-type-size field `.b`: 48 bytes +print-type-size field `.index`: 8 bytes +print-type-size field `.len`: 8 bytes +print-type-size field `.a_len`: 8 bytes +print-type-size type: `std::iter::Zip>>, std::slice::Iter<'_, types::immutable_string::ImmutableString>, [closure@src\eval\global_state.rs:199:23: 199:26]>>, std::iter::Rev; 3]>>>, std::slice::Iter<'_, std::rc::Rc>, [closure@src\eval\global_state.rs:201:47: 201:50]>>>`: 120 bytes, alignment: 8 bytes +print-type-size field `.a`: 48 bytes +print-type-size field `.b`: 48 bytes +print-type-size field `.index`: 8 bytes +print-type-size field `.len`: 8 bytes +print-type-size field `.a_len`: 8 bytes +print-type-size type: `std::iter::Zip>>, std::slice::Iter<'_, types::immutable_string::ImmutableString>, [closure@src\eval\global_state.rs:214:23: 214:26]>>, std::iter::Rev; 3]>>>, std::slice::Iter<'_, std::rc::Rc>, [closure@src\eval\global_state.rs:216:47: 216:50]>>>`: 120 bytes, alignment: 8 bytes +print-type-size field `.a`: 48 bytes +print-type-size field `.b`: 48 bytes +print-type-size field `.index`: 8 bytes +print-type-size field `.len`: 8 bytes +print-type-size field `.a_len`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop<[(types::immutable_string::ImmutableString, std::option::Option, tokenizer::Position); 5]>`: 120 bytes, alignment: 8 bytes +print-type-size field `.value`: 120 bytes +print-type-size type: `std::mem::ManuallyDrop<[ast::stmt::RangeCase; 3]>`: 120 bytes, alignment: 8 bytes +print-type-size field `.value`: 120 bytes +print-type-size type: `std::mem::ManuallyDrop`: 120 bytes, alignment: 8 bytes +print-type-size field `.value`: 120 bytes +print-type-size type: `std::mem::ManuallyDrop, tokenizer::Position); 5]>>`: 120 bytes, alignment: 8 bytes +print-type-size field `.value`: 120 bytes +print-type-size type: `std::mem::ManuallyDrop>`: 120 bytes, alignment: 8 bytes +print-type-size field `.value`: 120 bytes +print-type-size type: `std::mem::MaybeUninit<[(types::immutable_string::ImmutableString, std::option::Option, tokenizer::Position); 5]>`: 120 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 120 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 120 bytes +print-type-size type: `std::mem::MaybeUninit<[ast::stmt::RangeCase; 3]>`: 120 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 120 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 120 bytes +print-type-size type: `std::mem::MaybeUninit`: 120 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 120 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 120 bytes +print-type-size type: `ast::expr::CustomExpr`: 112 bytes, alignment: 8 bytes +print-type-size field `.inputs`: 56 bytes +print-type-size field `.tokens`: 32 bytes +print-type-size field `.state`: 16 bytes +print-type-size field `.scope_may_be_changed`: 1 bytes +print-type-size field `.self_terminated`: 1 bytes +print-type-size end padding: 6 bytes +print-type-size type: `std::iter::Chain, std::iter::Once<(std::string::String, std::string::String)>>, std::iter::Map>, [closure@src\api\definitions\mod.rs:236:38: 236:46]>>`: 112 bytes, alignment: 8 bytes +print-type-size field `.a`: 88 bytes +print-type-size field `.b`: 24 bytes +print-type-size type: `std::mem::ManuallyDrop`: 112 bytes, alignment: 8 bytes +print-type-size field `.value`: 112 bytes +print-type-size type: `std::mem::MaybeUninit`: 112 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 112 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 112 bytes +print-type-size type: `std::option::Option, std::iter::Once<(std::string::String, std::string::String)>>, std::iter::Map>, [closure@src\api\definitions\mod.rs:236:38: 236:46]>>>`: 112 bytes, alignment: 8 bytes +print-type-size variant `Some`: 112 bytes +print-type-size field `.0`: 112 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `smallvec::IntoIter<[ast::ident::Ident; 5]>`: 104 bytes, alignment: 8 bytes +print-type-size field `.data`: 88 bytes +print-type-size field `.current`: 8 bytes +print-type-size field `.end`: 8 bytes +print-type-size type: `smallvec::IntoIter<[types::dynamic::Dynamic; 5]>`: 104 bytes, alignment: 8 bytes +print-type-size field `.data`: 88 bytes +print-type-size field `.current`: 8 bytes +print-type-size field `.end`: 8 bytes +print-type-size type: `smallvec::SmallVec<[(ast::ident::Ident, ast::expr::Expr); 3]>`: 104 bytes, alignment: 8 bytes +print-type-size field `.capacity`: 8 bytes +print-type-size field `.data`: 96 bytes +print-type-size type: `smallvec::SmallVec<[ast::stmt::ConditionalExpr; 3]>`: 104 bytes, alignment: 8 bytes +print-type-size field `.capacity`: 8 bytes +print-type-size field `.data`: 96 bytes +print-type-size type: `std::iter::Filter>, std::collections::hash_map::Values<'_, u64, module::FuncInfo>, [closure@src\module\mod.rs:1927:40: 1927:43]>, [closure@src\module\mod.rs:1951:31: 1951:35]>, [closure@src\module\mod.rs:1951:60: 1951:63]>, [closure@src\packages\lang_core.rs:300:25: 300:42]>`: 104 bytes, alignment: 8 bytes +print-type-size field `.iter`: 96 bytes +print-type-size field `.predicate`: 8 bytes +print-type-size type: `std::iter::FlatMap>, std::slice::Iter<'_, usize>, [closure@src\ast\stmt.rs:822:51: 822:58]>`: 104 bytes, alignment: 8 bytes +print-type-size field `.inner`: 104 bytes +print-type-size type: `std::iter::FlatMap>, std::slice::Iter<'_, usize>, [closure@src\optimizer.rs:716:48: 716:51]>`: 104 bytes, alignment: 8 bytes +print-type-size field `.inner`: 104 bytes +print-type-size type: `std::iter::Map>, std::collections::hash_map::Values<'_, u64, module::FuncInfo>, [closure@src\module\mod.rs:1927:40: 1927:43]>, [closure@src\module\mod.rs:601:21: 601:25]>, for<'a> fn(&'a module::FuncInfo) -> std::string::String {module::FuncInfo::gen_signature}>, [closure@src\api\register.rs:747:57: 747:60]>`: 104 bytes, alignment: 8 bytes +print-type-size field `.iter`: 96 bytes +print-type-size field `.f`: 8 bytes +print-type-size type: `std::iter::adapters::flatten::FlattenCompat>, [closure@src\ast\stmt.rs:822:51: 822:58]>, std::slice::Iter<'_, usize>>`: 104 bytes, alignment: 8 bytes +print-type-size field `.iter`: 72 bytes +print-type-size field `.frontiter`: 16 bytes +print-type-size field `.backiter`: 16 bytes +print-type-size type: `std::iter::adapters::flatten::FlattenCompat>, [closure@src\optimizer.rs:716:48: 716:51]>, std::slice::Iter<'_, usize>>`: 104 bytes, alignment: 8 bytes +print-type-size field `.iter`: 72 bytes +print-type-size field `.frontiter`: 16 bytes +print-type-size field `.backiter`: 16 bytes +print-type-size type: `std::mem::ManuallyDrop>`: 104 bytes, alignment: 8 bytes +print-type-size field `.value`: 104 bytes +print-type-size type: `std::mem::MaybeUninit>`: 104 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 104 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 104 bytes +print-type-size type: `std::str::pattern::StrSearcher<'_, '_>`: 104 bytes, alignment: 8 bytes +print-type-size field `.haystack`: 16 bytes +print-type-size field `.needle`: 16 bytes +print-type-size field `.searcher`: 72 bytes +print-type-size type: `smallvec::IntoIter<[smartstring::SmartString; 3]>`: 96 bytes, alignment: 8 bytes +print-type-size field `.data`: 80 bytes +print-type-size field `.current`: 8 bytes +print-type-size field `.end`: 8 bytes +print-type-size type: `smallvec::SmallVecData<[(ast::ident::Ident, ast::expr::Expr); 3]>`: 96 bytes, alignment: 8 bytes +print-type-size variant `SmallVecData`: 96 bytes +print-type-size field `.heap`: 16 bytes +print-type-size field `.inline`: 96 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size type: `smallvec::SmallVecData<[ast::stmt::ConditionalExpr; 3]>`: 96 bytes, alignment: 8 bytes +print-type-size variant `SmallVecData`: 96 bytes +print-type-size field `.heap`: 16 bytes +print-type-size field `.inline`: 96 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size type: `std::iter::Filter>, std::collections::hash_map::Values<'_, u64, module::FuncInfo>, [closure@src\module\mod.rs:1927:40: 1927:43]>, [closure@src\module\mod.rs:2155:25: 2155:29]>, [closure@src\module\mod.rs:2159:25: 2159:29]>`: 96 bytes, alignment: 8 bytes +print-type-size field `.predicate`: 0 bytes +print-type-size field `.iter`: 96 bytes +print-type-size type: `std::iter::Filter>, std::collections::hash_map::Values<'_, u64, module::FuncInfo>, [closure@src\module\mod.rs:1927:40: 1927:43]>, [closure@src\module\mod.rs:1951:31: 1951:35]>`: 96 bytes, alignment: 8 bytes +print-type-size field `.predicate`: 0 bytes +print-type-size field `.iter`: 96 bytes +print-type-size type: `std::iter::Filter>, std::collections::hash_map::Values<'_, u64, module::FuncInfo>, [closure@src\module\mod.rs:1927:40: 1927:43]>, [closure@src\module\mod.rs:2155:25: 2155:29]>`: 96 bytes, alignment: 8 bytes +print-type-size field `.predicate`: 0 bytes +print-type-size field `.iter`: 96 bytes +print-type-size type: `std::iter::Filter>, std::collections::hash_map::Values<'_, u64, module::FuncInfo>, [closure@src\module\mod.rs:1927:40: 1927:43]>, [closure@src\module\mod.rs:601:21: 601:25]>`: 96 bytes, alignment: 8 bytes +print-type-size field `.predicate`: 0 bytes +print-type-size field `.iter`: 96 bytes +print-type-size type: `std::iter::FlatMap>, std::collections::hash_map::Iter<'_, u64, module::FuncInfo>, [closure@src\module\mod.rs:2238:64: 2238:67]>`: 96 bytes, alignment: 8 bytes +print-type-size field `.inner`: 96 bytes +print-type-size type: `std::iter::FlatMap>, std::collections::hash_map::Values<'_, u64, module::FuncInfo>, [closure@src\module\mod.rs:1927:40: 1927:43]>`: 96 bytes, alignment: 8 bytes +print-type-size field `.inner`: 96 bytes +print-type-size type: `std::iter::Fuse>, std::collections::hash_map::Values<'_, u64, module::FuncInfo>, [closure@src\module\mod.rs:1927:40: 1927:43]>, [closure@src\module\mod.rs:1951:31: 1951:35]>, [closure@src\module\mod.rs:1951:60: 1951:63]>, [closure@src\ast\ast.rs:756:18: 756:32]>, [closure@src\ast\ast.rs:898:49: 898:52]>>`: 96 bytes, alignment: 8 bytes +print-type-size field `.iter`: 96 bytes +print-type-size type: `std::iter::Map; 3]>, [closure@src\parser.rs:3642:22: 3642:25]>`: 96 bytes, alignment: 8 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 96 bytes +print-type-size type: `std::iter::Map>, std::collections::hash_map::Values<'_, u64, module::FuncInfo>, [closure@src\module\mod.rs:1927:40: 1927:43]>, [closure@src\module\mod.rs:1951:31: 1951:35]>, [closure@src\module\mod.rs:1951:60: 1951:63]>`: 96 bytes, alignment: 8 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 96 bytes +print-type-size type: `std::iter::Map>, std::collections::hash_map::Values<'_, u64, module::FuncInfo>, [closure@src\module\mod.rs:1927:40: 1927:43]>, [closure@src\module\mod.rs:601:21: 601:25]>, for<'a> fn(&'a module::FuncInfo) -> std::string::String {module::FuncInfo::gen_signature}>`: 96 bytes, alignment: 8 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 96 bytes +print-type-size type: `std::iter::Map>, std::collections::hash_map::Values<'_, u64, module::FuncInfo>, [closure@src\module\mod.rs:1927:40: 1927:43]>, [closure@src\api\optimize.rs:60:22: 60:25]>`: 96 bytes, alignment: 8 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 96 bytes +print-type-size type: `std::iter::Map>, std::collections::hash_map::Values<'_, u64, module::FuncInfo>, [closure@src\module\mod.rs:1927:40: 1927:43]>, [closure@src\module\mod.rs:244:26: 244:29]>`: 96 bytes, alignment: 8 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 96 bytes +print-type-size type: `std::iter::Map>, std::collections::hash_map::Values<'_, u64, module::FuncInfo>, [closure@src\module\mod.rs:1927:40: 1927:43]>, fn(&module::FuncInfo) -> serde::metadata::FnMetadata<'_> {<&module::FuncInfo as std::convert::Into>>::into}>`: 96 bytes, alignment: 8 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 96 bytes +print-type-size type: `std::iter::Map>, std::collections::hash_map::Values<'_, u64, module::FuncInfo>, [closure@src\module\mod.rs:1927:40: 1927:43]>, [closure@src\module\mod.rs:1951:31: 1951:35]>, [closure@src\module\mod.rs:1951:60: 1951:63]>, [closure@src\ast\ast.rs:756:18: 756:32]>`: 96 bytes, alignment: 8 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 96 bytes +print-type-size type: `std::iter::Map>, std::collections::hash_map::Values<'_, u64, module::FuncInfo>, [closure@src\module\mod.rs:1927:40: 1927:43]>, [closure@src\module\mod.rs:1951:31: 1951:35]>, [closure@src\module\mod.rs:1951:60: 1951:63]>, [closure@src\ast\ast.rs:778:18: 778:32]>`: 96 bytes, alignment: 8 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 96 bytes +print-type-size type: `std::iter::Map>, std::collections::hash_map::Values<'_, u64, module::FuncInfo>, [closure@src\module\mod.rs:1927:40: 1927:43]>, [closure@src\module\mod.rs:1951:31: 1951:35]>, [closure@src\module\mod.rs:1951:60: 1951:63]>, [closure@src\ast\ast.rs:756:18: 756:32]>, [closure@src\ast\ast.rs:898:49: 898:52]>`: 96 bytes, alignment: 8 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 96 bytes +print-type-size type: `std::iter::Map, std::iter::Zip>, std::slice::Iter<'_, std::vec::Vec>>>, [closure@src\types\scope.rs:152:22: 152:46]>`: 96 bytes, alignment: 8 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 96 bytes +print-type-size type: `std::iter::Zip, std::iter::Zip>, std::slice::Iter<'_, std::vec::Vec>>>`: 96 bytes, alignment: 8 bytes +print-type-size field `.a`: 16 bytes +print-type-size field `.b`: 56 bytes +print-type-size field `.index`: 8 bytes +print-type-size field `.len`: 8 bytes +print-type-size field `.a_len`: 8 bytes +print-type-size type: `std::iter::adapters::flatten::FlattenCompat>, [closure@src\module\mod.rs:1927:40: 1927:43]>, std::collections::hash_map::Values<'_, u64, module::FuncInfo>>`: 96 bytes, alignment: 8 bytes +print-type-size field `.iter`: 16 bytes +print-type-size field `.frontiter`: 40 bytes +print-type-size field `.backiter`: 40 bytes +print-type-size type: `std::iter::adapters::flatten::FlattenCompat>, [closure@src\module\mod.rs:2238:64: 2238:67]>, std::collections::hash_map::Iter<'_, u64, module::FuncInfo>>`: 96 bytes, alignment: 8 bytes +print-type-size field `.iter`: 16 bytes +print-type-size field `.frontiter`: 40 bytes +print-type-size field `.backiter`: 40 bytes +print-type-size type: `std::mem::ManuallyDrop<[(ast::ident::Ident, ast::expr::Expr); 3]>`: 96 bytes, alignment: 8 bytes +print-type-size field `.value`: 96 bytes +print-type-size type: `std::mem::ManuallyDrop<[ast::stmt::ConditionalExpr; 3]>`: 96 bytes, alignment: 8 bytes +print-type-size field `.value`: 96 bytes +print-type-size type: `std::mem::ManuallyDrop>`: 96 bytes, alignment: 8 bytes +print-type-size field `.value`: 96 bytes +print-type-size type: `std::mem::ManuallyDrop>`: 96 bytes, alignment: 8 bytes +print-type-size field `.value`: 96 bytes +print-type-size type: `std::mem::MaybeUninit<[(ast::ident::Ident, ast::expr::Expr); 3]>`: 96 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 96 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 96 bytes +print-type-size type: `std::mem::MaybeUninit<[ast::stmt::ConditionalExpr; 3]>`: 96 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 96 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 96 bytes +print-type-size type: `std::option::Option>, std::collections::hash_map::Values<'_, u64, module::FuncInfo>, [closure@src\module\mod.rs:1927:40: 1927:43]>>`: 96 bytes, alignment: 8 bytes +print-type-size variant `Some`: 96 bytes +print-type-size field `.0`: 96 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>, std::collections::hash_map::Values<'_, u64, module::FuncInfo>, [closure@src\module\mod.rs:1927:40: 1927:43]>, [closure@src\module\mod.rs:1951:31: 1951:35]>, [closure@src\module\mod.rs:1951:60: 1951:63]>>`: 96 bytes, alignment: 8 bytes +print-type-size variant `Some`: 96 bytes +print-type-size field `.0`: 96 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>, std::collections::hash_map::Values<'_, u64, module::FuncInfo>, [closure@src\module\mod.rs:1927:40: 1927:43]>, [closure@src\module\mod.rs:601:21: 601:25]>, for<'a> fn(&'a module::FuncInfo) -> std::string::String {module::FuncInfo::gen_signature}>>`: 96 bytes, alignment: 8 bytes +print-type-size variant `Some`: 96 bytes +print-type-size field `.0`: 96 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>, std::collections::hash_map::Values<'_, u64, module::FuncInfo>, [closure@src\module\mod.rs:1927:40: 1927:43]>, [closure@src\module\mod.rs:1951:31: 1951:35]>, [closure@src\module\mod.rs:1951:60: 1951:63]>, [closure@src\ast\ast.rs:756:18: 756:32]>, [closure@src\ast\ast.rs:898:49: 898:52]>>`: 96 bytes, alignment: 8 bytes +print-type-size variant `Some`: 96 bytes +print-type-size field `.0`: 96 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `tokenizer::MultiInputsStream<'_>`: 96 bytes, alignment: 8 bytes +print-type-size field `.index`: 8 bytes +print-type-size field `.streams`: 80 bytes +print-type-size field `.buf`: 4 bytes +print-type-size end padding: 4 bytes +print-type-size type: `parser::ParseState<'_, '_>`: 88 bytes, alignment: 8 bytes +print-type-size field `.tokenizer_control`: 8 bytes +print-type-size field `.expr_filter`: 8 bytes +print-type-size field `.interned_strings`: 8 bytes +print-type-size field `.scope`: 8 bytes +print-type-size field `.global`: 8 bytes +print-type-size field `.stack`: 8 bytes +print-type-size field `.block_stack_len`: 8 bytes +print-type-size field `.external_vars`: 8 bytes +print-type-size field `.imports`: 8 bytes +print-type-size field `.global_imports`: 8 bytes +print-type-size field `.allow_capture`: 1 bytes +print-type-size end padding: 7 bytes +print-type-size type: `smallvec::SmallVec<[&str; 5]>`: 88 bytes, alignment: 8 bytes +print-type-size field `.capacity`: 8 bytes +print-type-size field `.data`: 80 bytes +print-type-size type: `smallvec::SmallVec<[ast::ident::Ident; 5]>`: 88 bytes, alignment: 8 bytes +print-type-size field `.capacity`: 8 bytes +print-type-size field `.data`: 80 bytes +print-type-size type: `smallvec::SmallVec<[types::dynamic::Dynamic; 5]>`: 88 bytes, alignment: 8 bytes +print-type-size field `.capacity`: 8 bytes +print-type-size field `.data`: 80 bytes +print-type-size type: `std::iter::Chain, std::iter::Once<(std::string::String, std::string::String)>>`: 88 bytes, alignment: 8 bytes +print-type-size field `.a`: 32 bytes +print-type-size field `.b`: 56 bytes +print-type-size type: `std::mem::ManuallyDrop<(ast::stmt::OpAssignment, ast::expr::BinaryExpr)>`: 88 bytes, alignment: 8 bytes +print-type-size field `.value`: 88 bytes +print-type-size type: `std::mem::ManuallyDrop<(std::option::Option, ast::namespace::Namespace, u64, types::immutable_string::ImmutableString)>`: 88 bytes, alignment: 8 bytes +print-type-size field `.value`: 88 bytes +print-type-size type: `std::mem::MaybeUninit<(ast::stmt::OpAssignment, ast::expr::BinaryExpr)>`: 88 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 88 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 88 bytes +print-type-size type: `std::mem::MaybeUninit<(std::option::Option, ast::namespace::Namespace, u64, types::immutable_string::ImmutableString)>`: 88 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 88 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 88 bytes +print-type-size type: `std::option::Option, std::iter::Once<(std::string::String, std::string::String)>>>`: 88 bytes, alignment: 8 bytes +print-type-size variant `Some`: 88 bytes +print-type-size field `.0`: 88 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `core::str::iter::SplitNInternal<'_, char>`: 80 bytes, alignment: 8 bytes +print-type-size field `.iter`: 72 bytes +print-type-size field `.count`: 8 bytes +print-type-size type: `eval::debugger::CallStackFrame`: 80 bytes, alignment: 8 bytes +print-type-size field `.fn_name`: 8 bytes +print-type-size field `.args`: 56 bytes +print-type-size field `.source`: 8 bytes +print-type-size field `.pos`: 4 bytes +print-type-size end padding: 4 bytes +print-type-size type: `eval::debugger::Debugger`: 80 bytes, alignment: 8 bytes +print-type-size field `.status`: 16 bytes +print-type-size field `.break_points`: 24 bytes +print-type-size field `.call_stack`: 24 bytes +print-type-size field `.state`: 16 bytes +print-type-size type: `smallvec::SmallVec<[smartstring::SmartString; 3]>`: 80 bytes, alignment: 8 bytes +print-type-size field `.capacity`: 8 bytes +print-type-size field `.data`: 72 bytes +print-type-size type: `smallvec::SmallVec<[std::borrow::Cow<'_, str>; 3]>`: 80 bytes, alignment: 8 bytes +print-type-size field `.capacity`: 8 bytes +print-type-size field `.data`: 72 bytes +print-type-size type: `smallvec::SmallVec<[std::iter::Peekable>; 3]>`: 80 bytes, alignment: 8 bytes +print-type-size field `.capacity`: 8 bytes +print-type-size field `.data`: 72 bytes +print-type-size type: `smallvec::SmallVec<[std::string::String; 3]>`: 80 bytes, alignment: 8 bytes +print-type-size field `.capacity`: 8 bytes +print-type-size field `.data`: 72 bytes +print-type-size type: `smallvec::SmallVecData<[&str; 5]>`: 80 bytes, alignment: 8 bytes +print-type-size variant `SmallVecData`: 80 bytes +print-type-size field `.heap`: 16 bytes +print-type-size field `.inline`: 80 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size type: `smallvec::SmallVecData<[ast::ident::Ident; 5]>`: 80 bytes, alignment: 8 bytes +print-type-size variant `SmallVecData`: 80 bytes +print-type-size field `.heap`: 16 bytes +print-type-size field `.inline`: 80 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size type: `smallvec::SmallVecData<[types::dynamic::Dynamic; 5]>`: 80 bytes, alignment: 8 bytes +print-type-size variant `SmallVecData`: 80 bytes +print-type-size field `.heap`: 16 bytes +print-type-size field `.inline`: 80 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size type: `std::iter::Enumerate, types::dynamic::Dynamic>>`: 80 bytes, alignment: 8 bytes +print-type-size field `.iter`: 72 bytes +print-type-size field `.count`: 8 bytes +print-type-size type: `std::iter::Map, fn(&str) -> types::dynamic::Dynamic {<&str as std::convert::Into>::into}>`: 80 bytes, alignment: 8 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 80 bytes +print-type-size type: `std::iter::Map, fn(&str) -> types::dynamic::Dynamic {<&str as std::convert::Into>::into}>`: 80 bytes, alignment: 8 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 80 bytes +print-type-size type: `std::mem::ManuallyDrop<[&str; 5]>`: 80 bytes, alignment: 8 bytes +print-type-size field `.value`: 80 bytes +print-type-size type: `std::mem::ManuallyDrop<[ast::ident::Ident; 5]>`: 80 bytes, alignment: 8 bytes +print-type-size field `.value`: 80 bytes +print-type-size type: `std::mem::ManuallyDrop<[types::dynamic::Dynamic; 5]>`: 80 bytes, alignment: 8 bytes +print-type-size field `.value`: 80 bytes +print-type-size type: `std::mem::ManuallyDrop`: 80 bytes, alignment: 8 bytes +print-type-size field `.value`: 80 bytes +print-type-size type: `std::mem::ManuallyDrop`: 80 bytes, alignment: 8 bytes +print-type-size field `.value`: 80 bytes +print-type-size type: `std::mem::ManuallyDrop>`: 80 bytes, alignment: 8 bytes +print-type-size field `.value`: 80 bytes +print-type-size type: `std::mem::ManuallyDrop>`: 80 bytes, alignment: 8 bytes +print-type-size field `.value`: 80 bytes +print-type-size type: `std::mem::ManuallyDrop>`: 80 bytes, alignment: 8 bytes +print-type-size field `.value`: 80 bytes +print-type-size type: `std::mem::MaybeUninit<[&str; 5]>`: 80 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 80 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 80 bytes +print-type-size type: `std::mem::MaybeUninit<[ast::ident::Ident; 5]>`: 80 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 80 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 80 bytes +print-type-size type: `std::mem::MaybeUninit<[types::dynamic::Dynamic; 5]>`: 80 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 80 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 80 bytes +print-type-size type: `std::mem::MaybeUninit`: 80 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 80 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 80 bytes +print-type-size type: `std::mem::MaybeUninit`: 80 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 80 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 80 bytes +print-type-size type: `std::str::RSplitN<'_, char>`: 80 bytes, alignment: 8 bytes +print-type-size field `.0`: 80 bytes +print-type-size type: `std::str::SplitN<'_, char>`: 80 bytes, alignment: 8 bytes +print-type-size field `.0`: 80 bytes +print-type-size type: `[closure@src\api\call_fn.rs:252:19: 252:22]`: 72 bytes, alignment: 8 bytes +print-type-size end padding: 72 bytes +print-type-size type: `ast::script_fn::ScriptFnMetadata<'_>`: 72 bytes, alignment: 8 bytes +print-type-size field `.name`: 16 bytes +print-type-size field `.params`: 24 bytes +print-type-size field `.comments`: 24 bytes +print-type-size field `.access`: 1 bytes +print-type-size end padding: 7 bytes +print-type-size type: `core::str::iter::SplitInternal<'_, char>`: 72 bytes, alignment: 8 bytes +print-type-size field `.start`: 8 bytes +print-type-size field `.end`: 8 bytes +print-type-size field `.matcher`: 48 bytes +print-type-size field `.allow_trailing_empty`: 1 bytes +print-type-size field `.finished`: 1 bytes +print-type-size end padding: 6 bytes +print-type-size type: `smallvec::IntoIter<[(types::immutable_string::ImmutableString, std::rc::Rc); 3]>`: 72 bytes, alignment: 8 bytes +print-type-size field `.data`: 56 bytes +print-type-size field `.current`: 8 bytes +print-type-size field `.end`: 8 bytes +print-type-size type: `smallvec::IntoIter<[(types::immutable_string::ImmutableString, tokenizer::Position); 3]>`: 72 bytes, alignment: 8 bytes +print-type-size field `.data`: 56 bytes +print-type-size field `.current`: 8 bytes +print-type-size field `.end`: 8 bytes +print-type-size type: `smallvec::IntoIter<[ast::expr::Expr; 3]>`: 72 bytes, alignment: 8 bytes +print-type-size field `.data`: 56 bytes +print-type-size field `.current`: 8 bytes +print-type-size field `.end`: 8 bytes +print-type-size type: `smallvec::IntoIter<[ast::stmt::Stmt; 3]>`: 72 bytes, alignment: 8 bytes +print-type-size field `.data`: 56 bytes +print-type-size field `.current`: 8 bytes +print-type-size field `.end`: 8 bytes +print-type-size type: `smallvec::IntoIter<[std::boxed::Box; 3]>`: 72 bytes, alignment: 8 bytes +print-type-size field `.data`: 56 bytes +print-type-size field `.current`: 8 bytes +print-type-size field `.end`: 8 bytes +print-type-size type: `smallvec::IntoIter<[types::dynamic::Dynamic; 3]>`: 72 bytes, alignment: 8 bytes +print-type-size field `.data`: 56 bytes +print-type-size field `.current`: 8 bytes +print-type-size field `.end`: 8 bytes +print-type-size type: `smallvec::SmallVecData<[smartstring::SmartString; 3]>`: 72 bytes, alignment: 8 bytes +print-type-size variant `SmallVecData`: 72 bytes +print-type-size field `.heap`: 16 bytes +print-type-size field `.inline`: 72 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size type: `smallvec::SmallVecData<[std::borrow::Cow<'_, str>; 3]>`: 72 bytes, alignment: 8 bytes +print-type-size variant `SmallVecData`: 72 bytes +print-type-size field `.heap`: 16 bytes +print-type-size field `.inline`: 72 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size type: `smallvec::SmallVecData<[std::iter::Peekable>; 3]>`: 72 bytes, alignment: 8 bytes +print-type-size variant `SmallVecData`: 72 bytes +print-type-size field `.heap`: 16 bytes +print-type-size field `.inline`: 72 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size type: `smallvec::SmallVecData<[std::string::String; 3]>`: 72 bytes, alignment: 8 bytes +print-type-size variant `SmallVecData`: 72 bytes +print-type-size field `.heap`: 16 bytes +print-type-size field `.inline`: 72 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::dedup_sorted_iter::DedupSortedIter, types::dynamic::Dynamic, std::vec::IntoIter<(smartstring::SmartString, types::dynamic::Dynamic)>>`: 72 bytes, alignment: 8 bytes +print-type-size field `.iter`: 72 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::SplitResult<'_, smartstring::SmartString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::Internal>`: 72 bytes, alignment: 8 bytes +print-type-size field `.left`: 16 bytes +print-type-size field `.kv`: 40 bytes +print-type-size field `.right`: 16 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::SplitResult<'_, smartstring::SmartString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::Leaf>`: 72 bytes, alignment: 8 bytes +print-type-size field `.left`: 16 bytes +print-type-size field `.kv`: 40 bytes +print-type-size field `.right`: 16 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::SplitResult<'_, smartstring::SmartString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>`: 72 bytes, alignment: 8 bytes +print-type-size field `.left`: 16 bytes +print-type-size field `.kv`: 40 bytes +print-type-size field `.right`: 16 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::SplitResult<'_, std::path::PathBuf, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::Internal>`: 72 bytes, alignment: 8 bytes +print-type-size field `.left`: 16 bytes +print-type-size field `.kv`: 40 bytes +print-type-size field `.right`: 16 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::SplitResult<'_, std::path::PathBuf, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::Leaf>`: 72 bytes, alignment: 8 bytes +print-type-size field `.left`: 16 bytes +print-type-size field `.kv`: 40 bytes +print-type-size field `.right`: 16 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::SplitResult<'_, std::path::PathBuf, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>`: 72 bytes, alignment: 8 bytes +print-type-size field `.left`: 16 bytes +print-type-size field `.kv`: 40 bytes +print-type-size field `.right`: 16 bytes +print-type-size type: `std::cell::RefCell`: 72 bytes, alignment: 8 bytes +print-type-size field `.borrow`: 8 bytes +print-type-size field `.value`: 64 bytes +print-type-size type: `std::collections::btree_map::IntoIter<&str, serde::metadata::ModuleMetadata<'_>>`: 72 bytes, alignment: 8 bytes +print-type-size field `.alloc`: 0 bytes +print-type-size field `.range`: 64 bytes +print-type-size field `.length`: 8 bytes +print-type-size type: `std::collections::btree_map::IntoIter, smallvec::alloc::collections::btree::set_val::SetValZST>`: 72 bytes, alignment: 8 bytes +print-type-size field `.alloc`: 0 bytes +print-type-size field `.range`: 64 bytes +print-type-size field `.length`: 8 bytes +print-type-size type: `std::collections::btree_map::IntoIter, std::option::Option>`: 72 bytes, alignment: 8 bytes +print-type-size field `.alloc`: 0 bytes +print-type-size field `.range`: 64 bytes +print-type-size field `.length`: 8 bytes +print-type-size type: `std::collections::btree_map::IntoIter, std::rc::Rc>`: 72 bytes, alignment: 8 bytes +print-type-size field `.alloc`: 0 bytes +print-type-size field `.range`: 64 bytes +print-type-size field `.length`: 8 bytes +print-type-size type: `std::collections::btree_map::IntoIter, types::custom_types::CustomTypeInfo>`: 72 bytes, alignment: 8 bytes +print-type-size field `.alloc`: 0 bytes +print-type-size field `.range`: 64 bytes +print-type-size field `.length`: 8 bytes +print-type-size type: `std::collections::btree_map::IntoIter, types::dynamic::Dynamic>`: 72 bytes, alignment: 8 bytes +print-type-size field `.alloc`: 0 bytes +print-type-size field `.range`: 64 bytes +print-type-size field `.length`: 8 bytes +print-type-size type: `std::collections::btree_map::IntoIter std::boxed::Box>>>>>`: 72 bytes, alignment: 8 bytes +print-type-size field `.alloc`: 0 bytes +print-type-size field `.range`: 64 bytes +print-type-size field `.length`: 8 bytes +print-type-size type: `std::collections::btree_map::IntoIter`: 72 bytes, alignment: 8 bytes +print-type-size field `.alloc`: 0 bytes +print-type-size field `.range`: 64 bytes +print-type-size field `.length`: 8 bytes +print-type-size type: `std::collections::btree_map::IntoIter>`: 72 bytes, alignment: 8 bytes +print-type-size field `.alloc`: 0 bytes +print-type-size field `.range`: 64 bytes +print-type-size field `.length`: 8 bytes +print-type-size type: `std::collections::btree_map::IntoValues, std::rc::Rc>`: 72 bytes, alignment: 8 bytes +print-type-size field `.inner`: 72 bytes +print-type-size type: `std::collections::btree_map::Iter<'_, &str, serde::metadata::ModuleMetadata<'_>>`: 72 bytes, alignment: 8 bytes +print-type-size field `.range`: 64 bytes +print-type-size field `.length`: 8 bytes +print-type-size type: `std::collections::btree_map::Iter<'_, smartstring::SmartString, api::custom_syntax::CustomSyntax>`: 72 bytes, alignment: 8 bytes +print-type-size field `.range`: 64 bytes +print-type-size field `.length`: 8 bytes +print-type-size type: `std::collections::btree_map::Iter<'_, smartstring::SmartString, smallvec::alloc::collections::btree::set_val::SetValZST>`: 72 bytes, alignment: 8 bytes +print-type-size field `.range`: 64 bytes +print-type-size field `.length`: 8 bytes +print-type-size type: `std::collections::btree_map::Iter<'_, smartstring::SmartString, std::option::Option>`: 72 bytes, alignment: 8 bytes +print-type-size field `.range`: 64 bytes +print-type-size field `.length`: 8 bytes +print-type-size type: `std::collections::btree_map::Iter<'_, smartstring::SmartString, std::rc::Rc>`: 72 bytes, alignment: 8 bytes +print-type-size field `.range`: 64 bytes +print-type-size field `.length`: 8 bytes +print-type-size type: `std::collections::btree_map::Iter<'_, smartstring::SmartString, types::custom_types::CustomTypeInfo>`: 72 bytes, alignment: 8 bytes +print-type-size field `.range`: 64 bytes +print-type-size field `.length`: 8 bytes +print-type-size type: `std::collections::btree_map::Iter<'_, smartstring::SmartString, types::dynamic::Dynamic>`: 72 bytes, alignment: 8 bytes +print-type-size field `.range`: 64 bytes +print-type-size field `.length`: 8 bytes +print-type-size type: `std::collections::btree_map::Iter<'_, std::any::TypeId, std::rc::Rc std::boxed::Box>>>>>`: 72 bytes, alignment: 8 bytes +print-type-size field `.range`: 64 bytes +print-type-size field `.length`: 8 bytes +print-type-size type: `std::collections::btree_map::Iter<'_, std::path::PathBuf, std::rc::Rc>`: 72 bytes, alignment: 8 bytes +print-type-size field `.range`: 64 bytes +print-type-size field `.length`: 8 bytes +print-type-size type: `std::collections::btree_map::Iter<'_, types::immutable_string::ImmutableString, types::dynamic::Dynamic>`: 72 bytes, alignment: 8 bytes +print-type-size field `.range`: 64 bytes +print-type-size field `.length`: 8 bytes +print-type-size type: `std::collections::btree_map::Iter<'_, u64, smallvec::SmallVec<[usize; 1]>>`: 72 bytes, alignment: 8 bytes +print-type-size field `.range`: 64 bytes +print-type-size field `.length`: 8 bytes +print-type-size type: `std::collections::btree_map::IterMut<'_, smartstring::SmartString, types::dynamic::Dynamic>`: 72 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.range`: 64 bytes +print-type-size field `.length`: 8 bytes +print-type-size type: `std::collections::btree_map::Keys<'_, smartstring::SmartString, api::custom_syntax::CustomSyntax>`: 72 bytes, alignment: 8 bytes +print-type-size field `.inner`: 72 bytes +print-type-size type: `std::collections::btree_map::Keys<'_, smartstring::SmartString, smallvec::alloc::collections::btree::set_val::SetValZST>`: 72 bytes, alignment: 8 bytes +print-type-size field `.inner`: 72 bytes +print-type-size type: `std::collections::btree_map::Keys<'_, smartstring::SmartString, std::rc::Rc>`: 72 bytes, alignment: 8 bytes +print-type-size field `.inner`: 72 bytes +print-type-size type: `std::collections::btree_map::Keys<'_, smartstring::SmartString, types::dynamic::Dynamic>`: 72 bytes, alignment: 8 bytes +print-type-size field `.inner`: 72 bytes +print-type-size type: `std::collections::btree_map::Values<'_, smartstring::SmartString, std::rc::Rc>`: 72 bytes, alignment: 8 bytes +print-type-size field `.inner`: 72 bytes +print-type-size type: `std::collections::btree_map::Values<'_, smartstring::SmartString, types::dynamic::Dynamic>`: 72 bytes, alignment: 8 bytes +print-type-size field `.inner`: 72 bytes +print-type-size type: `std::collections::btree_map::Values<'_, u64, smallvec::SmallVec<[usize; 1]>>`: 72 bytes, alignment: 8 bytes +print-type-size field `.inner`: 72 bytes +print-type-size type: `std::collections::btree_map::ValuesMut<'_, smartstring::SmartString, types::dynamic::Dynamic>`: 72 bytes, alignment: 8 bytes +print-type-size field `.inner`: 72 bytes +print-type-size type: `std::collections::btree_set::Iter<'_, smartstring::SmartString>`: 72 bytes, alignment: 8 bytes +print-type-size field `.iter`: 72 bytes +print-type-size type: `std::iter::Cloned, types::dynamic::Dynamic>>`: 72 bytes, alignment: 8 bytes +print-type-size field `.it`: 72 bytes +print-type-size type: `std::iter::Cloned, types::dynamic::Dynamic>>`: 72 bytes, alignment: 8 bytes +print-type-size field `.it`: 72 bytes +print-type-size type: `std::iter::Fuse>, [closure@src\ast\stmt.rs:822:51: 822:58]>>`: 72 bytes, alignment: 8 bytes +print-type-size field `.iter`: 72 bytes +print-type-size type: `std::iter::Fuse>, [closure@src\optimizer.rs:716:48: 716:51]>>`: 72 bytes, alignment: 8 bytes +print-type-size field `.iter`: 72 bytes +print-type-size type: `std::iter::Map, [closure@src\parser.rs:3628:63: 3628:72]>`: 72 bytes, alignment: 8 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 72 bytes +print-type-size type: `std::iter::Map, types::dynamic::Dynamic>, [closure@src\types\dynamic.rs:2240:26: 2240:34]>`: 72 bytes, alignment: 8 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 72 bytes +print-type-size type: `std::iter::Map, std::rc::Rc>, [closure@src\module\mod.rs:1912:40: 1912:48]>`: 72 bytes, alignment: 8 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 72 bytes +print-type-size type: `std::iter::Map, types::dynamic::Dynamic>, [closure@src\module\mod.rs:1920:40: 1920:48]>`: 72 bytes, alignment: 8 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 72 bytes +print-type-size type: `std::iter::Map>, [closure@src\ast\stmt.rs:822:51: 822:58]>`: 72 bytes, alignment: 8 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 72 bytes +print-type-size type: `std::iter::Map>, [closure@src\optimizer.rs:716:48: 716:51]>`: 72 bytes, alignment: 8 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 72 bytes +print-type-size type: `std::iter::Map, types::dynamic::Dynamic>>, fn(smartstring::SmartString) -> types::dynamic::Dynamic { as std::convert::Into>::into}>`: 72 bytes, alignment: 8 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 72 bytes +print-type-size type: `std::iter::Map, fn(&str) -> types::dynamic::Dynamic {<&str as std::convert::Into>::into}>`: 72 bytes, alignment: 8 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 72 bytes +print-type-size type: `std::iter::Map, fn(&str) -> types::dynamic::Dynamic {<&str as std::convert::Into>::into}>`: 72 bytes, alignment: 8 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 72 bytes +print-type-size type: `std::iter::Peekable, types::dynamic::Dynamic)>>`: 72 bytes, alignment: 8 bytes +print-type-size field `.iter`: 32 bytes +print-type-size field `.peeked`: 40 bytes +print-type-size type: `std::mem::ManuallyDrop<[smartstring::SmartString; 3]>`: 72 bytes, alignment: 8 bytes +print-type-size field `.value`: 72 bytes +print-type-size type: `std::mem::ManuallyDrop<[std::borrow::Cow<'_, str>; 3]>`: 72 bytes, alignment: 8 bytes +print-type-size field `.value`: 72 bytes +print-type-size type: `std::mem::ManuallyDrop<[std::iter::Peekable>; 3]>`: 72 bytes, alignment: 8 bytes +print-type-size field `.value`: 72 bytes +print-type-size type: `std::mem::ManuallyDrop<[std::string::String; 3]>`: 72 bytes, alignment: 8 bytes +print-type-size field `.value`: 72 bytes +print-type-size type: `std::mem::ManuallyDrop; 3]>>`: 72 bytes, alignment: 8 bytes +print-type-size field `.value`: 72 bytes +print-type-size type: `std::mem::ManuallyDrop; 3]>>`: 72 bytes, alignment: 8 bytes +print-type-size field `.value`: 72 bytes +print-type-size type: `std::mem::ManuallyDrop>; 3]>>`: 72 bytes, alignment: 8 bytes +print-type-size field `.value`: 72 bytes +print-type-size type: `std::mem::ManuallyDrop>`: 72 bytes, alignment: 8 bytes +print-type-size field `.value`: 72 bytes +print-type-size type: `std::mem::MaybeUninit<[smartstring::SmartString; 3]>`: 72 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 72 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 72 bytes +print-type-size type: `std::mem::MaybeUninit<[std::borrow::Cow<'_, str>; 3]>`: 72 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 72 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 72 bytes +print-type-size type: `std::mem::MaybeUninit<[std::iter::Peekable>; 3]>`: 72 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 72 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 72 bytes +print-type-size type: `std::mem::MaybeUninit<[std::string::String; 3]>`: 72 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 72 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 72 bytes +print-type-size type: `std::option::Option, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::Internal>>`: 72 bytes, alignment: 8 bytes +print-type-size variant `Some`: 72 bytes +print-type-size field `.0`: 72 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::Leaf>>`: 72 bytes, alignment: 8 bytes +print-type-size variant `Some`: 72 bytes +print-type-size field `.0`: 72 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 72 bytes, alignment: 8 bytes +print-type-size variant `Some`: 72 bytes +print-type-size field `.0`: 72 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, smallvec::alloc::collections::btree::node::marker::Internal>>`: 72 bytes, alignment: 8 bytes +print-type-size variant `Some`: 72 bytes +print-type-size field `.0`: 72 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, smallvec::alloc::collections::btree::node::marker::Leaf>>`: 72 bytes, alignment: 8 bytes +print-type-size variant `Some`: 72 bytes +print-type-size field `.0`: 72 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 72 bytes, alignment: 8 bytes +print-type-size variant `Some`: 72 bytes +print-type-size field `.0`: 72 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, std::rc::Rc>>`: 72 bytes, alignment: 8 bytes +print-type-size variant `Some`: 72 bytes +print-type-size field `.0`: 72 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, api::custom_syntax::CustomSyntax>>`: 72 bytes, alignment: 8 bytes +print-type-size variant `Some`: 72 bytes +print-type-size field `.0`: 72 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, std::rc::Rc>>`: 72 bytes, alignment: 8 bytes +print-type-size variant `Some`: 72 bytes +print-type-size field `.0`: 72 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, std::rc::Rc>>`: 72 bytes, alignment: 8 bytes +print-type-size variant `Some`: 72 bytes +print-type-size field `.0`: 72 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, std::rc::Rc>, [closure@src\module\mod.rs:1912:40: 1912:48]>>`: 72 bytes, alignment: 8 bytes +print-type-size variant `Some`: 72 bytes +print-type-size field `.0`: 72 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, types::dynamic::Dynamic>, [closure@src\module\mod.rs:1920:40: 1920:48]>>`: 72 bytes, alignment: 8 bytes +print-type-size variant `Some`: 72 bytes +print-type-size field `.0`: 72 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>, [closure@src\ast\stmt.rs:822:51: 822:58]>>`: 72 bytes, alignment: 8 bytes +print-type-size variant `Some`: 72 bytes +print-type-size field `.0`: 72 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>, [closure@src\optimizer.rs:716:48: 716:51]>>`: 72 bytes, alignment: 8 bytes +print-type-size variant `Some`: 72 bytes +print-type-size field `.0`: 72 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::str::RSplit<'_, char>`: 72 bytes, alignment: 8 bytes +print-type-size field `.0`: 72 bytes +print-type-size type: `std::str::Split<'_, char>`: 72 bytes, alignment: 8 bytes +print-type-size field `.0`: 72 bytes +print-type-size type: `std::str::pattern::StrSearcherImpl`: 72 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `TwoWay`: 64 bytes +print-type-size field `.0`: 64 bytes +print-type-size variant `Empty`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size type: `std::vec::Splice<'_, std::vec::IntoIter>`: 72 bytes, alignment: 8 bytes +print-type-size field `.drain`: 40 bytes +print-type-size field `.replace_with`: 32 bytes +print-type-size type: `std::vec::Splice<'_, std::vec::IntoIter>`: 72 bytes, alignment: 8 bytes +print-type-size field `.drain`: 40 bytes +print-type-size field `.replace_with`: 32 bytes +print-type-size type: `[closure@src\eval\chaining.rs:818:34: 818:39]`: 64 bytes, alignment: 8 bytes +print-type-size end padding: 64 bytes +print-type-size type: `[closure@src\eval\chaining.rs:995:41: 995:46]`: 64 bytes, alignment: 8 bytes +print-type-size end padding: 64 bytes +print-type-size type: `[closure@src\packages\array_basic.rs:1655:26: 1655:31]`: 64 bytes, alignment: 8 bytes +print-type-size end padding: 64 bytes +print-type-size type: `api::limits::Limits`: 64 bytes, alignment: 8 bytes +print-type-size field `.max_call_stack_depth`: 8 bytes +print-type-size field `.max_expr_depth`: 8 bytes +print-type-size field `.max_function_expr_depth`: 8 bytes +print-type-size field `.max_operations`: 8 bytes +print-type-size field `.max_modules`: 8 bytes +print-type-size field `.max_string_size`: 8 bytes +print-type-size field `.max_array_size`: 8 bytes +print-type-size field `.max_map_size`: 8 bytes +print-type-size type: `ast::namespace::Namespace`: 64 bytes, alignment: 8 bytes +print-type-size field `.path`: 56 bytes +print-type-size field `.index`: 8 bytes +print-type-size type: `core::str::iter::SplitInternal<'_, core::str::IsWhitespace>`: 64 bytes, alignment: 8 bytes +print-type-size field `.start`: 8 bytes +print-type-size field `.end`: 8 bytes +print-type-size field `.matcher`: 40 bytes +print-type-size field `.allow_trailing_empty`: 1 bytes +print-type-size field `.finished`: 1 bytes +print-type-size end padding: 6 bytes +print-type-size type: `eval::cache::FnResolutionCache`: 64 bytes, alignment: 8 bytes +print-type-size field `.map`: 32 bytes +print-type-size field `.filter`: 32 bytes +print-type-size type: `hashbrown::map::IntoIter`: 64 bytes, alignment: 8 bytes +print-type-size field `.inner`: 64 bytes +print-type-size type: `hashbrown::map::IntoIter>`: 64 bytes, alignment: 8 bytes +print-type-size field `.inner`: 64 bytes +print-type-size type: `hashbrown::map::IntoIter`: 64 bytes, alignment: 8 bytes +print-type-size field `.inner`: 64 bytes +print-type-size type: `hashbrown::raw::RawIntoIter<(u64, module::FuncInfo)>`: 64 bytes, alignment: 8 bytes +print-type-size field `.marker`: 0 bytes +print-type-size field `.alloc`: 0 bytes +print-type-size field `.iter`: 40 bytes +print-type-size field `.allocation`: 24 bytes +print-type-size type: `hashbrown::raw::RawIntoIter<(u64, std::rc::Rc)>`: 64 bytes, alignment: 8 bytes +print-type-size field `.marker`: 0 bytes +print-type-size field `.alloc`: 0 bytes +print-type-size field `.iter`: 40 bytes +print-type-size field `.allocation`: 24 bytes +print-type-size type: `hashbrown::raw::RawIntoIter<(u64, types::immutable_string::ImmutableString)>`: 64 bytes, alignment: 8 bytes +print-type-size field `.marker`: 0 bytes +print-type-size field `.alloc`: 0 bytes +print-type-size field `.iter`: 40 bytes +print-type-size field `.allocation`: 24 bytes +print-type-size type: `packages::iter_basic::StepRange`: 64 bytes, alignment: 8 bytes +print-type-size field `.from`: 16 bytes +print-type-size field `.to`: 16 bytes +print-type-size field `.step`: 16 bytes +print-type-size field `.add`: 8 bytes +print-type-size field `.dir`: 1 bytes +print-type-size end padding: 7 bytes +print-type-size type: `packages::iter_basic::StepRange`: 64 bytes, alignment: 8 bytes +print-type-size field `.add`: 8 bytes +print-type-size field `.from`: 16 bytes +print-type-size field `.to`: 16 bytes +print-type-size field `.step`: 16 bytes +print-type-size field `.dir`: 1 bytes +print-type-size end padding: 7 bytes +print-type-size type: `packages::iter_basic::StepRange`: 64 bytes, alignment: 8 bytes +print-type-size field `.from`: 16 bytes +print-type-size field `.to`: 16 bytes +print-type-size field `.step`: 16 bytes +print-type-size field `.add`: 8 bytes +print-type-size field `.dir`: 1 bytes +print-type-size end padding: 7 bytes +print-type-size type: `smallvec::alloc::collections::btree::navigate::LazyLeafRange>`: 64 bytes, alignment: 8 bytes +print-type-size field `.front`: 32 bytes +print-type-size field `.back`: 32 bytes +print-type-size type: `smallvec::alloc::collections::btree::navigate::LazyLeafRange, smallvec::alloc::collections::btree::set_val::SetValZST>`: 64 bytes, alignment: 8 bytes +print-type-size field `.front`: 32 bytes +print-type-size field `.back`: 32 bytes +print-type-size type: `smallvec::alloc::collections::btree::navigate::LazyLeafRange, std::option::Option>`: 64 bytes, alignment: 8 bytes +print-type-size field `.front`: 32 bytes +print-type-size field `.back`: 32 bytes +print-type-size type: `smallvec::alloc::collections::btree::navigate::LazyLeafRange, std::rc::Rc>`: 64 bytes, alignment: 8 bytes +print-type-size field `.front`: 32 bytes +print-type-size field `.back`: 32 bytes +print-type-size type: `smallvec::alloc::collections::btree::navigate::LazyLeafRange, types::custom_types::CustomTypeInfo>`: 64 bytes, alignment: 8 bytes +print-type-size field `.front`: 32 bytes +print-type-size field `.back`: 32 bytes +print-type-size type: `smallvec::alloc::collections::btree::navigate::LazyLeafRange, types::dynamic::Dynamic>`: 64 bytes, alignment: 8 bytes +print-type-size field `.front`: 32 bytes +print-type-size field `.back`: 32 bytes +print-type-size type: `smallvec::alloc::collections::btree::navigate::LazyLeafRange std::boxed::Box>>>>>`: 64 bytes, alignment: 8 bytes +print-type-size field `.front`: 32 bytes +print-type-size field `.back`: 32 bytes +print-type-size type: `smallvec::alloc::collections::btree::navigate::LazyLeafRange`: 64 bytes, alignment: 8 bytes +print-type-size field `.front`: 32 bytes +print-type-size field `.back`: 32 bytes +print-type-size type: `smallvec::alloc::collections::btree::navigate::LazyLeafRange>`: 64 bytes, alignment: 8 bytes +print-type-size field `.front`: 32 bytes +print-type-size field `.back`: 32 bytes +print-type-size type: `smallvec::alloc::collections::btree::navigate::LazyLeafRange, &str, serde::metadata::ModuleMetadata<'_>>`: 64 bytes, alignment: 8 bytes +print-type-size field `.front`: 32 bytes +print-type-size field `.back`: 32 bytes +print-type-size type: `smallvec::alloc::collections::btree::navigate::LazyLeafRange, smartstring::SmartString, api::custom_syntax::CustomSyntax>`: 64 bytes, alignment: 8 bytes +print-type-size field `.front`: 32 bytes +print-type-size field `.back`: 32 bytes +print-type-size type: `smallvec::alloc::collections::btree::navigate::LazyLeafRange, smartstring::SmartString, smallvec::alloc::collections::btree::set_val::SetValZST>`: 64 bytes, alignment: 8 bytes +print-type-size field `.front`: 32 bytes +print-type-size field `.back`: 32 bytes +print-type-size type: `smallvec::alloc::collections::btree::navigate::LazyLeafRange, smartstring::SmartString, std::option::Option>`: 64 bytes, alignment: 8 bytes +print-type-size field `.front`: 32 bytes +print-type-size field `.back`: 32 bytes +print-type-size type: `smallvec::alloc::collections::btree::navigate::LazyLeafRange, smartstring::SmartString, std::rc::Rc>`: 64 bytes, alignment: 8 bytes +print-type-size field `.front`: 32 bytes +print-type-size field `.back`: 32 bytes +print-type-size type: `smallvec::alloc::collections::btree::navigate::LazyLeafRange, smartstring::SmartString, types::custom_types::CustomTypeInfo>`: 64 bytes, alignment: 8 bytes +print-type-size field `.front`: 32 bytes +print-type-size field `.back`: 32 bytes +print-type-size type: `smallvec::alloc::collections::btree::navigate::LazyLeafRange, smartstring::SmartString, types::dynamic::Dynamic>`: 64 bytes, alignment: 8 bytes +print-type-size field `.front`: 32 bytes +print-type-size field `.back`: 32 bytes +print-type-size type: `smallvec::alloc::collections::btree::navigate::LazyLeafRange, std::any::TypeId, std::rc::Rc std::boxed::Box>>>>>`: 64 bytes, alignment: 8 bytes +print-type-size field `.front`: 32 bytes +print-type-size field `.back`: 32 bytes +print-type-size type: `smallvec::alloc::collections::btree::navigate::LazyLeafRange, std::path::PathBuf, std::rc::Rc>`: 64 bytes, alignment: 8 bytes +print-type-size field `.front`: 32 bytes +print-type-size field `.back`: 32 bytes +print-type-size type: `smallvec::alloc::collections::btree::navigate::LazyLeafRange, types::immutable_string::ImmutableString, types::dynamic::Dynamic>`: 64 bytes, alignment: 8 bytes +print-type-size field `.front`: 32 bytes +print-type-size field `.back`: 32 bytes +print-type-size type: `smallvec::alloc::collections::btree::navigate::LazyLeafRange, u64, smallvec::SmallVec<[usize; 1]>>`: 64 bytes, alignment: 8 bytes +print-type-size field `.front`: 32 bytes +print-type-size field `.back`: 32 bytes +print-type-size type: `smallvec::alloc::collections::btree::navigate::LazyLeafRange, smartstring::SmartString, types::dynamic::Dynamic>`: 64 bytes, alignment: 8 bytes +print-type-size field `.front`: 32 bytes +print-type-size field `.back`: 32 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::LeftOrRight, std::rc::Rc>>`: 64 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Left`: 56 bytes +print-type-size field `.0`: 56 bytes +print-type-size variant `Right`: 56 bytes +print-type-size field `.0`: 56 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::LeftOrRight, types::dynamic::Dynamic>>`: 64 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Left`: 56 bytes +print-type-size field `.0`: 56 bytes +print-type-size variant `Right`: 56 bytes +print-type-size field `.0`: 56 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::LeftOrRight>>`: 64 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Left`: 56 bytes +print-type-size field `.0`: 56 bytes +print-type-size variant `Right`: 56 bytes +print-type-size field `.0`: 56 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::SplitResult<'_, smartstring::SmartString, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::Internal>`: 64 bytes, alignment: 8 bytes +print-type-size field `.left`: 16 bytes +print-type-size field `.kv`: 32 bytes +print-type-size field `.right`: 16 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::SplitResult<'_, smartstring::SmartString, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::Leaf>`: 64 bytes, alignment: 8 bytes +print-type-size field `.left`: 16 bytes +print-type-size field `.kv`: 32 bytes +print-type-size field `.right`: 16 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::SplitResult<'_, smartstring::SmartString, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>`: 64 bytes, alignment: 8 bytes +print-type-size field `.left`: 16 bytes +print-type-size field `.kv`: 32 bytes +print-type-size field `.right`: 16 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::SplitResult<'_, u64, smallvec::SmallVec<[usize; 1]>, smallvec::alloc::collections::btree::node::marker::Internal>`: 64 bytes, alignment: 8 bytes +print-type-size field `.left`: 16 bytes +print-type-size field `.kv`: 32 bytes +print-type-size field `.right`: 16 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::SplitResult<'_, u64, smallvec::SmallVec<[usize; 1]>, smallvec::alloc::collections::btree::node::marker::Leaf>`: 64 bytes, alignment: 8 bytes +print-type-size field `.left`: 16 bytes +print-type-size field `.kv`: 32 bytes +print-type-size field `.right`: 16 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::SplitResult<'_, u64, smallvec::SmallVec<[usize; 1]>, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>`: 64 bytes, alignment: 8 bytes +print-type-size field `.left`: 16 bytes +print-type-size field `.kv`: 32 bytes +print-type-size field `.right`: 16 bytes +print-type-size type: `std::cell::UnsafeCell`: 64 bytes, alignment: 8 bytes +print-type-size field `.value`: 64 bytes +print-type-size type: `std::collections::btree_map::Entry<'_, std::path::PathBuf, std::rc::Rc>`: 64 bytes, alignment: 8 bytes +print-type-size variant `Vacant`: 64 bytes +print-type-size field `.0`: 64 bytes +print-type-size variant `Occupied`: 64 bytes +print-type-size padding: 32 bytes +print-type-size field `.0`: 32 bytes, alignment: 8 bytes +print-type-size type: `std::collections::btree_map::VacantEntry<'_, std::path::PathBuf, std::rc::Rc>`: 64 bytes, alignment: 8 bytes +print-type-size field `.alloc`: 0 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.key`: 32 bytes +print-type-size field `.handle`: 24 bytes +print-type-size field `.dormant_map`: 8 bytes +print-type-size type: `std::collections::hash_map::IntoIter`: 64 bytes, alignment: 8 bytes +print-type-size field `.base`: 64 bytes +print-type-size type: `std::collections::hash_map::IntoIter>`: 64 bytes, alignment: 8 bytes +print-type-size field `.base`: 64 bytes +print-type-size type: `std::collections::hash_map::IntoIter`: 64 bytes, alignment: 8 bytes +print-type-size field `.base`: 64 bytes +print-type-size type: `std::fmt::Formatter<'_>`: 64 bytes, alignment: 8 bytes +print-type-size field `.width`: 16 bytes +print-type-size field `.precision`: 16 bytes +print-type-size field `.buf`: 16 bytes +print-type-size field `.flags`: 4 bytes +print-type-size field `.fill`: 4 bytes +print-type-size field `.align`: 1 bytes +print-type-size end padding: 7 bytes +print-type-size type: `std::iter::Chain, for<'a> fn(&'a mut ast::stmt::Stmt) -> ast::stmt::Stmt {std::mem::take::}>, std::iter::Map, for<'a> fn(&'a mut ast::stmt::Stmt) -> ast::stmt::Stmt {std::mem::take::}>>, std::iter::Map>, for<'a> fn(&'a mut ast::stmt::Stmt) -> ast::stmt::Stmt {std::mem::take::}>>`: 64 bytes, alignment: 8 bytes +print-type-size field `.a`: 40 bytes +print-type-size field `.b`: 24 bytes +print-type-size type: `std::iter::Enumerate>, std::slice::Iter<'_, types::dynamic::Dynamic>>, [closure@src\types\scope.rs:813:18: 813:33]>>`: 64 bytes, alignment: 8 bytes +print-type-size field `.iter`: 56 bytes +print-type-size field `.count`: 8 bytes +print-type-size type: `std::iter::Filter, core::str::IsNotEmpty>`: 64 bytes, alignment: 8 bytes +print-type-size field `.predicate`: 0 bytes +print-type-size field `.iter`: 64 bytes +print-type-size type: `std::iter::Map, fn(i128) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>`: 64 bytes, alignment: 8 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 64 bytes +print-type-size type: `std::iter::Map, fn(rust_decimal::Decimal) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>`: 64 bytes, alignment: 8 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 64 bytes +print-type-size type: `std::iter::Map, fn(u128) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>`: 64 bytes, alignment: 8 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 64 bytes +print-type-size type: `std::iter::Map>, [closure@src\parser.rs:3933:51: 3933:60]>`: 64 bytes, alignment: 8 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 64 bytes +print-type-size type: `std::iter::Map>, std::slice::Iter<'_, types::dynamic::Dynamic>>, [closure@src\types\scope.rs:813:18: 813:33]>, [closure@src\types\scope.rs:804:18: 804:43]>>, [closure@src\func\script.rs:104:55: 104:64]>`: 64 bytes, alignment: 8 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 64 bytes +print-type-size type: `std::iter::Map, fn(&str) -> types::dynamic::Dynamic {<&str as std::convert::Into>::into}>`: 64 bytes, alignment: 8 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 64 bytes +print-type-size type: `std::iter::Skip>, std::slice::Iter<'_, types::dynamic::Dynamic>>, [closure@src\types\scope.rs:813:18: 813:33]>, [closure@src\types\scope.rs:804:18: 804:43]>>`: 64 bytes, alignment: 8 bytes +print-type-size field `.iter`: 56 bytes +print-type-size field `.n`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>`: 64 bytes, alignment: 8 bytes +print-type-size field `.value`: 64 bytes +print-type-size type: `std::mem::ManuallyDrop>`: 64 bytes, alignment: 8 bytes +print-type-size field `.value`: 64 bytes +print-type-size type: `std::mem::ManuallyDrop>`: 64 bytes, alignment: 8 bytes +print-type-size field `.value`: 64 bytes +print-type-size type: `std::mem::ManuallyDrop>`: 64 bytes, alignment: 8 bytes +print-type-size field `.value`: 64 bytes +print-type-size type: `std::mem::ManuallyDrop`: 64 bytes, alignment: 8 bytes +print-type-size field `.value`: 64 bytes +print-type-size type: `std::mem::ManuallyDrop`: 64 bytes, alignment: 8 bytes +print-type-size field `.value`: 64 bytes +print-type-size type: `std::mem::MaybeUninit>`: 64 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 64 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 64 bytes +print-type-size type: `std::mem::MaybeUninit>`: 64 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 64 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 64 bytes +print-type-size type: `std::mem::MaybeUninit>`: 64 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 64 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 64 bytes +print-type-size type: `std::mem::MaybeUninit>`: 64 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 64 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 64 bytes +print-type-size type: `std::mem::MaybeUninit`: 64 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 64 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 64 bytes +print-type-size type: `std::mem::MaybeUninit`: 64 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 64 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 64 bytes +print-type-size type: `std::ops::ControlFlow, types::fn_ptr::FnPtr>`: 64 bytes, alignment: 8 bytes +print-type-size variant `Continue`: 64 bytes +print-type-size field `.0`: 64 bytes +print-type-size variant `Break`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::ops::ControlFlow, char>`: 64 bytes, alignment: 8 bytes +print-type-size variant `Break`: 64 bytes +print-type-size field `.0`: 64 bytes +print-type-size variant `Continue`: 12 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 4 bytes, alignment: 4 bytes +print-type-size type: `std::ops::ControlFlow, u32>`: 64 bytes, alignment: 8 bytes +print-type-size variant `Break`: 64 bytes +print-type-size field `.0`: 64 bytes +print-type-size variant `Continue`: 12 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 4 bytes, alignment: 4 bytes +print-type-size type: `std::ops::ControlFlow>, smallvec::SmallVec<[types::dynamic::Dynamic; 3]>>`: 64 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Continue`: 56 bytes +print-type-size field `.0`: 56 bytes +print-type-size variant `Break`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::ops::ControlFlow>, types::fn_ptr::FnPtr>`: 64 bytes, alignment: 8 bytes +print-type-size variant `Continue`: 64 bytes +print-type-size field `.0`: 64 bytes +print-type-size variant `Break`: 16 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size type: `std::ops::ControlFlow, &dyn std::ops::Fn(types::dynamic::Dynamic) -> std::boxed::Box>>>>`: 64 bytes, alignment: 8 bytes +print-type-size variant `Break`: 64 bytes +print-type-size field `.0`: 64 bytes +print-type-size variant `Continue`: 24 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 16 bytes, alignment: 8 bytes +print-type-size type: `std::ops::ControlFlow, char>`: 64 bytes, alignment: 8 bytes +print-type-size variant `Break`: 64 bytes +print-type-size field `.0`: 64 bytes +print-type-size variant `Continue`: 8 bytes +print-type-size padding: 4 bytes +print-type-size field `.0`: 4 bytes, alignment: 4 bytes +print-type-size type: `std::ops::ControlFlow, std::fs::File>`: 64 bytes, alignment: 8 bytes +print-type-size variant `Break`: 64 bytes +print-type-size field `.0`: 64 bytes +print-type-size variant `Continue`: 16 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size type: `std::ops::ControlFlow, std::rc::Rc>`: 64 bytes, alignment: 8 bytes +print-type-size variant `Break`: 64 bytes +print-type-size field `.0`: 64 bytes +print-type-size variant `Continue`: 16 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size type: `std::ops::ControlFlow, types::immutable_string::ImmutableString>`: 64 bytes, alignment: 8 bytes +print-type-size variant `Break`: 64 bytes +print-type-size field `.0`: 64 bytes +print-type-size variant `Continue`: 16 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size type: `std::ops::ControlFlow, usize>`: 64 bytes, alignment: 8 bytes +print-type-size variant `Break`: 64 bytes +print-type-size field `.0`: 64 bytes +print-type-size variant `Continue`: 16 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size type: `std::ops::ControlFlow, (std::string::String, types::dynamic::Dynamic, std::vec::Vec)>`: 64 bytes, alignment: 8 bytes +print-type-size variant `Continue`: 64 bytes +print-type-size field `.0`: 64 bytes +print-type-size variant `Break`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::option::Option<(std::string::String, types::dynamic::Dynamic, std::vec::Vec)>`: 64 bytes, alignment: 8 bytes +print-type-size variant `Some`: 64 bytes +print-type-size field `.0`: 64 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<(types::dynamic::Dynamic, (smartstring::SmartString, std::vec::Vec))>`: 64 bytes, alignment: 8 bytes +print-type-size variant `Some`: 64 bytes +print-type-size field `.0`: 64 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>`: 64 bytes, alignment: 8 bytes +print-type-size variant `Some`: 64 bytes +print-type-size field `.0`: 64 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>`: 64 bytes, alignment: 8 bytes +print-type-size variant `Some`: 64 bytes +print-type-size field `.0`: 64 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>`: 64 bytes, alignment: 8 bytes +print-type-size variant `Some`: 64 bytes +print-type-size field `.0`: 64 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>`: 64 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Some`: 56 bytes +print-type-size field `.0`: 56 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::Internal>>`: 64 bytes, alignment: 8 bytes +print-type-size variant `Some`: 64 bytes +print-type-size field `.0`: 64 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::Leaf>>`: 64 bytes, alignment: 8 bytes +print-type-size variant `Some`: 64 bytes +print-type-size field `.0`: 64 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 64 bytes, alignment: 8 bytes +print-type-size variant `Some`: 64 bytes +print-type-size field `.0`: 64 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, smallvec::alloc::collections::btree::node::marker::Internal>>`: 64 bytes, alignment: 8 bytes +print-type-size variant `Some`: 64 bytes +print-type-size field `.0`: 64 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, smallvec::alloc::collections::btree::node::marker::Leaf>>`: 64 bytes, alignment: 8 bytes +print-type-size variant `Some`: 64 bytes +print-type-size field `.0`: 64 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 64 bytes, alignment: 8 bytes +print-type-size variant `Some`: 64 bytes +print-type-size field `.0`: 64 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option`: 64 bytes, alignment: 8 bytes +print-type-size variant `Some`: 64 bytes +print-type-size field `.0`: 64 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::path::Components<'_>`: 64 bytes, alignment: 8 bytes +print-type-size field `.path`: 16 bytes +print-type-size field `.prefix`: 40 bytes +print-type-size field `.has_physical_root`: 1 bytes +print-type-size field `.front`: 1 bytes +print-type-size field `.back`: 1 bytes +print-type-size end padding: 5 bytes +print-type-size type: `std::result::Result<&dyn std::ops::Fn(types::dynamic::Dynamic) -> std::boxed::Box>>>, types::error::EvalAltResult>`: 64 bytes, alignment: 8 bytes +print-type-size variant `Err`: 64 bytes +print-type-size field `.0`: 64 bytes +print-type-size variant `Ok`: 24 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 16 bytes, alignment: 8 bytes +print-type-size type: `std::result::Result<(smartstring::SmartString, bool, tokenizer::Position), (types::parse_error::LexError, tokenizer::Position)>`: 64 bytes, alignment: 8 bytes +print-type-size variant `Err`: 64 bytes +print-type-size field `.0`: 64 bytes +print-type-size variant `Ok`: 40 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 32 bytes, alignment: 8 bytes +print-type-size type: `std::result::Result<(std::string::String, types::dynamic::Dynamic, std::vec::Vec), usize>`: 64 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 64 bytes +print-type-size field `.0`: 64 bytes +print-type-size variant `Err`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::result::Result`: 64 bytes, alignment: 8 bytes +print-type-size variant `Err`: 64 bytes +print-type-size field `.0`: 64 bytes +print-type-size variant `Ok`: 12 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 4 bytes, alignment: 4 bytes +print-type-size type: `std::result::Result`: 64 bytes, alignment: 8 bytes +print-type-size variant `Err`: 64 bytes +print-type-size field `.0`: 64 bytes +print-type-size variant `Ok`: 8 bytes +print-type-size padding: 4 bytes +print-type-size field `.0`: 4 bytes, alignment: 4 bytes +print-type-size type: `std::result::Result, std::boxed::Box>`: 64 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 64 bytes +print-type-size field `.0`: 64 bytes +print-type-size variant `Err`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::result::Result, std::boxed::Box>`: 64 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 64 bytes +print-type-size field `.0`: 64 bytes +print-type-size variant `Err`: 16 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size type: `std::result::Result, std::boxed::Box>`: 64 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 64 bytes +print-type-size field `.0`: 64 bytes +print-type-size variant `Err`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::result::Result, std::boxed::Box>`: 64 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Ok`: 56 bytes +print-type-size field `.0`: 56 bytes +print-type-size variant `Err`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::result::Result, std::rc::Rc>>, smallvec::alloc::collections::btree::node::NodeRef, smartstring::SmartString, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 64 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 64 bytes +print-type-size field `.0`: 64 bytes +print-type-size variant `Err`: 24 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 16 bytes, alignment: 8 bytes +print-type-size type: `std::result::Result, types::dynamic::Dynamic>>, smallvec::alloc::collections::btree::node::NodeRef, smartstring::SmartString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 64 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 64 bytes +print-type-size field `.0`: 64 bytes +print-type-size variant `Err`: 24 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 16 bytes, alignment: 8 bytes +print-type-size type: `std::result::Result>>, smallvec::alloc::collections::btree::node::NodeRef, u64, smallvec::SmallVec<[usize; 1]>, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 64 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 64 bytes +print-type-size field `.0`: 64 bytes +print-type-size variant `Err`: 24 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 16 bytes, alignment: 8 bytes +print-type-size type: `std::result::Result`: 64 bytes, alignment: 8 bytes +print-type-size variant `Err`: 64 bytes +print-type-size field `.0`: 64 bytes +print-type-size type: `std::result::Result`: 64 bytes, alignment: 8 bytes +print-type-size variant `Err`: 64 bytes +print-type-size field `.0`: 64 bytes +print-type-size type: `std::result::Result`: 64 bytes, alignment: 8 bytes +print-type-size variant `Err`: 64 bytes +print-type-size field `.0`: 64 bytes +print-type-size variant `Ok`: 16 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size type: `std::result::Result, types::error::EvalAltResult>`: 64 bytes, alignment: 8 bytes +print-type-size variant `Err`: 64 bytes +print-type-size field `.0`: 64 bytes +print-type-size variant `Ok`: 16 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size type: `std::result::Result>`: 64 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 64 bytes +print-type-size field `.0`: 64 bytes +print-type-size variant `Err`: 16 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size type: `std::result::Result`: 64 bytes, alignment: 8 bytes +print-type-size variant `Err`: 64 bytes +print-type-size field `.0`: 64 bytes +print-type-size variant `Ok`: 16 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size type: `std::result::Result`: 64 bytes, alignment: 8 bytes +print-type-size variant `Err`: 64 bytes +print-type-size field `.0`: 64 bytes +print-type-size variant `Ok`: 12 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 4 bytes, alignment: 4 bytes +print-type-size type: `std::result::Result`: 64 bytes, alignment: 8 bytes +print-type-size variant `Err`: 64 bytes +print-type-size field `.0`: 64 bytes +print-type-size variant `Ok`: 16 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size type: `std::str::Split<'_, core::str::IsWhitespace>`: 64 bytes, alignment: 8 bytes +print-type-size field `.0`: 64 bytes +print-type-size type: `std::str::SplitWhitespace<'_>`: 64 bytes, alignment: 8 bytes +print-type-size field `.inner`: 64 bytes +print-type-size type: `std::str::pattern::TwoWaySearcher`: 64 bytes, alignment: 8 bytes +print-type-size field `.crit_pos`: 8 bytes +print-type-size field `.crit_pos_back`: 8 bytes +print-type-size field `.period`: 8 bytes +print-type-size field `.byteset`: 8 bytes +print-type-size field `.position`: 8 bytes +print-type-size field `.end`: 8 bytes +print-type-size field `.memory`: 8 bytes +print-type-size field `.memory_back`: 8 bytes +print-type-size type: `types::error::EvalAltResult`: 64 bytes, alignment: 8 bytes +print-type-size discriminant: 1 bytes +print-type-size variant `ErrorParsing`: 63 bytes +print-type-size padding: 1 bytes +print-type-size field `.1`: 4 bytes, alignment: 2 bytes +print-type-size padding: 2 bytes +print-type-size field `.0`: 56 bytes, alignment: 8 bytes +print-type-size variant `ErrorInFunctionCall`: 63 bytes +print-type-size padding: 1 bytes +print-type-size field `.3`: 4 bytes, alignment: 2 bytes +print-type-size padding: 2 bytes +print-type-size field `.0`: 24 bytes, alignment: 8 bytes +print-type-size field `.1`: 24 bytes +print-type-size field `.2`: 8 bytes +print-type-size variant `ErrorMismatchDataType`: 55 bytes +print-type-size padding: 1 bytes +print-type-size field `.2`: 4 bytes, alignment: 2 bytes +print-type-size padding: 2 bytes +print-type-size field `.0`: 24 bytes, alignment: 8 bytes +print-type-size field `.1`: 24 bytes +print-type-size variant `ErrorMismatchOutputType`: 55 bytes +print-type-size padding: 1 bytes +print-type-size field `.2`: 4 bytes, alignment: 2 bytes +print-type-size padding: 2 bytes +print-type-size field `.0`: 24 bytes, alignment: 8 bytes +print-type-size field `.1`: 24 bytes +print-type-size variant `ErrorCustomSyntax`: 55 bytes +print-type-size padding: 1 bytes +print-type-size field `.2`: 4 bytes, alignment: 2 bytes +print-type-size padding: 2 bytes +print-type-size field `.0`: 24 bytes, alignment: 8 bytes +print-type-size field `.1`: 24 bytes +print-type-size variant `ErrorSystem`: 47 bytes +print-type-size padding: 7 bytes +print-type-size field `.0`: 24 bytes, alignment: 8 bytes +print-type-size field `.1`: 16 bytes +print-type-size variant `ErrorInModule`: 39 bytes +print-type-size padding: 1 bytes +print-type-size field `.2`: 4 bytes, alignment: 2 bytes +print-type-size padding: 2 bytes +print-type-size field `.0`: 24 bytes, alignment: 8 bytes +print-type-size field `.1`: 8 bytes +print-type-size variant `ErrorVariableExists`: 31 bytes +print-type-size padding: 1 bytes +print-type-size field `.1`: 4 bytes, alignment: 2 bytes +print-type-size padding: 2 bytes +print-type-size field `.0`: 24 bytes, alignment: 8 bytes +print-type-size variant `ErrorForbiddenVariable`: 31 bytes +print-type-size padding: 1 bytes +print-type-size field `.1`: 4 bytes, alignment: 2 bytes +print-type-size padding: 2 bytes +print-type-size field `.0`: 24 bytes, alignment: 8 bytes +print-type-size variant `ErrorVariableNotFound`: 31 bytes +print-type-size padding: 1 bytes +print-type-size field `.1`: 4 bytes, alignment: 2 bytes +print-type-size padding: 2 bytes +print-type-size field `.0`: 24 bytes, alignment: 8 bytes +print-type-size variant `ErrorPropertyNotFound`: 31 bytes +print-type-size padding: 1 bytes +print-type-size field `.1`: 4 bytes, alignment: 2 bytes +print-type-size padding: 2 bytes +print-type-size field `.0`: 24 bytes, alignment: 8 bytes +print-type-size variant `ErrorFunctionNotFound`: 31 bytes +print-type-size padding: 1 bytes +print-type-size field `.1`: 4 bytes, alignment: 2 bytes +print-type-size padding: 2 bytes +print-type-size field `.0`: 24 bytes, alignment: 8 bytes +print-type-size variant `ErrorModuleNotFound`: 31 bytes +print-type-size padding: 1 bytes +print-type-size field `.1`: 4 bytes, alignment: 2 bytes +print-type-size padding: 2 bytes +print-type-size field `.0`: 24 bytes, alignment: 8 bytes +print-type-size variant `ErrorIndexingType`: 31 bytes +print-type-size padding: 1 bytes +print-type-size field `.1`: 4 bytes, alignment: 2 bytes +print-type-size padding: 2 bytes +print-type-size field `.0`: 24 bytes, alignment: 8 bytes +print-type-size variant `ErrorDataRace`: 31 bytes +print-type-size padding: 1 bytes +print-type-size field `.1`: 4 bytes, alignment: 2 bytes +print-type-size padding: 2 bytes +print-type-size field `.0`: 24 bytes, alignment: 8 bytes +print-type-size variant `ErrorNonPureMethodCallOnConstant`: 31 bytes +print-type-size padding: 1 bytes +print-type-size field `.1`: 4 bytes, alignment: 2 bytes +print-type-size padding: 2 bytes +print-type-size field `.0`: 24 bytes, alignment: 8 bytes +print-type-size variant `ErrorAssignmentToConstant`: 31 bytes +print-type-size padding: 1 bytes +print-type-size field `.1`: 4 bytes, alignment: 2 bytes +print-type-size padding: 2 bytes +print-type-size field `.0`: 24 bytes, alignment: 8 bytes +print-type-size variant `ErrorDotExpr`: 31 bytes +print-type-size padding: 1 bytes +print-type-size field `.1`: 4 bytes, alignment: 2 bytes +print-type-size padding: 2 bytes +print-type-size field `.0`: 24 bytes, alignment: 8 bytes +print-type-size variant `ErrorArithmetic`: 31 bytes +print-type-size padding: 1 bytes +print-type-size field `.1`: 4 bytes, alignment: 2 bytes +print-type-size padding: 2 bytes +print-type-size field `.0`: 24 bytes, alignment: 8 bytes +print-type-size variant `ErrorDataTooLarge`: 31 bytes +print-type-size padding: 1 bytes +print-type-size field `.1`: 4 bytes, alignment: 2 bytes +print-type-size padding: 2 bytes +print-type-size field `.0`: 24 bytes, alignment: 8 bytes +print-type-size variant `ErrorIndexNotFound`: 23 bytes +print-type-size padding: 1 bytes +print-type-size field `.1`: 4 bytes, alignment: 2 bytes +print-type-size padding: 2 bytes +print-type-size field `.0`: 16 bytes, alignment: 8 bytes +print-type-size variant `ErrorArrayBounds`: 23 bytes +print-type-size padding: 1 bytes +print-type-size field `.2`: 4 bytes, alignment: 2 bytes +print-type-size padding: 2 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 8 bytes +print-type-size variant `ErrorStringBounds`: 23 bytes +print-type-size padding: 1 bytes +print-type-size field `.2`: 4 bytes, alignment: 2 bytes +print-type-size padding: 2 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 8 bytes +print-type-size variant `ErrorBitFieldBounds`: 23 bytes +print-type-size padding: 1 bytes +print-type-size field `.2`: 4 bytes, alignment: 2 bytes +print-type-size padding: 2 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 8 bytes +print-type-size variant `ErrorTerminated`: 23 bytes +print-type-size padding: 1 bytes +print-type-size field `.1`: 4 bytes, alignment: 2 bytes +print-type-size padding: 2 bytes +print-type-size field `.0`: 16 bytes, alignment: 8 bytes +print-type-size variant `ErrorRuntime`: 23 bytes +print-type-size padding: 1 bytes +print-type-size field `.1`: 4 bytes, alignment: 2 bytes +print-type-size padding: 2 bytes +print-type-size field `.0`: 16 bytes, alignment: 8 bytes +print-type-size variant `LoopBreak`: 23 bytes +print-type-size field `.0`: 1 bytes +print-type-size field `.2`: 4 bytes +print-type-size padding: 2 bytes +print-type-size field `.1`: 16 bytes, alignment: 8 bytes +print-type-size variant `Return`: 23 bytes +print-type-size padding: 1 bytes +print-type-size field `.1`: 4 bytes, alignment: 2 bytes +print-type-size padding: 2 bytes +print-type-size field `.0`: 16 bytes, alignment: 8 bytes +print-type-size variant `ErrorUnboundThis`: 5 bytes +print-type-size padding: 1 bytes +print-type-size field `.0`: 4 bytes, alignment: 2 bytes +print-type-size variant `ErrorFor`: 5 bytes +print-type-size padding: 1 bytes +print-type-size field `.0`: 4 bytes, alignment: 2 bytes +print-type-size variant `ErrorTooManyOperations`: 5 bytes +print-type-size padding: 1 bytes +print-type-size field `.0`: 4 bytes, alignment: 2 bytes +print-type-size variant `ErrorTooManyModules`: 5 bytes +print-type-size padding: 1 bytes +print-type-size field `.0`: 4 bytes, alignment: 2 bytes +print-type-size variant `ErrorStackOverflow`: 5 bytes +print-type-size padding: 1 bytes +print-type-size field `.0`: 4 bytes, alignment: 2 bytes +print-type-size type: `types::fn_ptr::FnPtr`: 64 bytes, alignment: 8 bytes +print-type-size field `.name`: 8 bytes +print-type-size field `.curry`: 56 bytes +print-type-size type: `types::interner::StringsInterner`: 64 bytes, alignment: 8 bytes +print-type-size field `.cache`: 32 bytes +print-type-size field `.bloom_filter`: 32 bytes +print-type-size type: `[closure@src\api\call_fn.rs:263:21: 263:29]`: 56 bytes, alignment: 8 bytes +print-type-size end padding: 56 bytes +print-type-size type: `[closure@src\eval\expr.rs:295:35: 295:41]`: 56 bytes, alignment: 8 bytes +print-type-size end padding: 56 bytes +print-type-size type: `[closure@src\eval\stmt.rs:64:51: 64:60]`: 56 bytes, alignment: 8 bytes +print-type-size end padding: 56 bytes +print-type-size type: `[closure@src\packages\array_basic.rs:1493:26: 1493:31]`: 56 bytes, alignment: 8 bytes +print-type-size end padding: 56 bytes +print-type-size type: `[closure@std::iter::Iterator::try_for_each::call<&ast::expr::Expr, std::result::Result<(), std::boxed::Box>, [closure@src\eval\expr.rs:295:35: 295:41]>::{closure#0}]`: 56 bytes, alignment: 8 bytes +print-type-size end padding: 56 bytes +print-type-size type: `ast::stmt::OpAssignment`: 56 bytes, alignment: 8 bytes +print-type-size field `.hash_op_assign`: 8 bytes +print-type-size field `.hash_op`: 8 bytes +print-type-size field `.op_assign`: 16 bytes +print-type-size field `.op`: 16 bytes +print-type-size field `.pos`: 4 bytes +print-type-size end padding: 4 bytes +print-type-size type: `func::native::NativeCallContext<'_>`: 56 bytes, alignment: 8 bytes +print-type-size field `.engine`: 8 bytes +print-type-size field `.fn_name`: 16 bytes +print-type-size field `.source`: 16 bytes +print-type-size field `.global`: 8 bytes +print-type-size field `.pos`: 4 bytes +print-type-size end padding: 4 bytes +print-type-size type: `module::resolvers::collection::ModuleResolversCollection`: 56 bytes, alignment: 8 bytes +print-type-size field `.0`: 56 bytes +print-type-size type: `serde_json::Deserializer>`: 56 bytes, alignment: 8 bytes +print-type-size field `.read`: 24 bytes +print-type-size field `.scratch`: 24 bytes +print-type-size field `.remaining_depth`: 1 bytes +print-type-size end padding: 7 bytes +print-type-size type: `smallvec::SmallVec<[&str; 3]>`: 56 bytes, alignment: 8 bytes +print-type-size field `.capacity`: 8 bytes +print-type-size field `.data`: 48 bytes +print-type-size type: `smallvec::SmallVec<[(types::immutable_string::ImmutableString, std::rc::Rc); 3]>`: 56 bytes, alignment: 8 bytes +print-type-size field `.capacity`: 8 bytes +print-type-size field `.data`: 48 bytes +print-type-size type: `smallvec::SmallVec<[(types::immutable_string::ImmutableString, tokenizer::Position); 3]>`: 56 bytes, alignment: 8 bytes +print-type-size field `.capacity`: 8 bytes +print-type-size field `.data`: 48 bytes +print-type-size type: `smallvec::SmallVec<[ast::expr::Expr; 3]>`: 56 bytes, alignment: 8 bytes +print-type-size field `.capacity`: 8 bytes +print-type-size field `.data`: 48 bytes +print-type-size type: `smallvec::SmallVec<[ast::ident::Ident; 3]>`: 56 bytes, alignment: 8 bytes +print-type-size field `.capacity`: 8 bytes +print-type-size field `.data`: 48 bytes +print-type-size type: `smallvec::SmallVec<[ast::stmt::Stmt; 3]>`: 56 bytes, alignment: 8 bytes +print-type-size field `.capacity`: 8 bytes +print-type-size field `.data`: 48 bytes +print-type-size type: `smallvec::SmallVec<[std::boxed::Box; 3]>`: 56 bytes, alignment: 8 bytes +print-type-size field `.capacity`: 8 bytes +print-type-size field `.data`: 48 bytes +print-type-size type: `smallvec::SmallVec<[types::dynamic::Dynamic; 3]>`: 56 bytes, alignment: 8 bytes +print-type-size field `.capacity`: 8 bytes +print-type-size field `.data`: 48 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::BalancingContext<'_, &str, serde::metadata::ModuleMetadata<'_>>`: 56 bytes, alignment: 8 bytes +print-type-size field `.parent`: 24 bytes +print-type-size field `.left_child`: 16 bytes +print-type-size field `.right_child`: 16 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::BalancingContext<'_, smartstring::SmartString, std::rc::Rc>`: 56 bytes, alignment: 8 bytes +print-type-size field `.parent`: 24 bytes +print-type-size field `.left_child`: 16 bytes +print-type-size field `.right_child`: 16 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::BalancingContext<'_, smartstring::SmartString, types::dynamic::Dynamic>`: 56 bytes, alignment: 8 bytes +print-type-size field `.parent`: 24 bytes +print-type-size field `.left_child`: 16 bytes +print-type-size field `.right_child`: 16 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::BalancingContext<'_, u64, smallvec::SmallVec<[usize; 1]>>`: 56 bytes, alignment: 8 bytes +print-type-size field `.parent`: 24 bytes +print-type-size field `.left_child`: 16 bytes +print-type-size field `.right_child`: 16 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::SplitResult<'_, smartstring::SmartString, smallvec::alloc::collections::btree::set_val::SetValZST, smallvec::alloc::collections::btree::node::marker::Internal>`: 56 bytes, alignment: 8 bytes +print-type-size field `.left`: 16 bytes +print-type-size field `.kv`: 24 bytes +print-type-size field `.right`: 16 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::SplitResult<'_, smartstring::SmartString, smallvec::alloc::collections::btree::set_val::SetValZST, smallvec::alloc::collections::btree::node::marker::Leaf>`: 56 bytes, alignment: 8 bytes +print-type-size field `.left`: 16 bytes +print-type-size field `.kv`: 24 bytes +print-type-size field `.right`: 16 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::SplitResult<'_, smartstring::SmartString, smallvec::alloc::collections::btree::set_val::SetValZST, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>`: 56 bytes, alignment: 8 bytes +print-type-size field `.left`: 16 bytes +print-type-size field `.kv`: 24 bytes +print-type-size field `.right`: 16 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::SplitResult<'_, std::any::TypeId, std::rc::Rc std::boxed::Box>>>>, smallvec::alloc::collections::btree::node::marker::Internal>`: 56 bytes, alignment: 8 bytes +print-type-size field `.left`: 16 bytes +print-type-size field `.kv`: 24 bytes +print-type-size field `.right`: 16 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::SplitResult<'_, std::any::TypeId, std::rc::Rc std::boxed::Box>>>>, smallvec::alloc::collections::btree::node::marker::Leaf>`: 56 bytes, alignment: 8 bytes +print-type-size field `.left`: 16 bytes +print-type-size field `.kv`: 24 bytes +print-type-size field `.right`: 16 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::SplitResult<'_, std::any::TypeId, std::rc::Rc std::boxed::Box>>>>, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>`: 56 bytes, alignment: 8 bytes +print-type-size field `.left`: 16 bytes +print-type-size field `.kv`: 24 bytes +print-type-size field `.right`: 16 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::SplitResult<'_, types::immutable_string::ImmutableString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::Internal>`: 56 bytes, alignment: 8 bytes +print-type-size field `.left`: 16 bytes +print-type-size field `.kv`: 24 bytes +print-type-size field `.right`: 16 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::SplitResult<'_, types::immutable_string::ImmutableString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::Leaf>`: 56 bytes, alignment: 8 bytes +print-type-size field `.left`: 16 bytes +print-type-size field `.kv`: 24 bytes +print-type-size field `.right`: 16 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::SplitResult<'_, types::immutable_string::ImmutableString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>`: 56 bytes, alignment: 8 bytes +print-type-size field `.left`: 16 bytes +print-type-size field `.kv`: 24 bytes +print-type-size field `.right`: 16 bytes +print-type-size type: `std::collections::btree_map::Entry<'_, smartstring::SmartString, smallvec::alloc::collections::btree::set_val::SetValZST>`: 56 bytes, alignment: 8 bytes +print-type-size variant `Vacant`: 56 bytes +print-type-size field `.0`: 56 bytes +print-type-size variant `Occupied`: 32 bytes +print-type-size field `.0`: 32 bytes +print-type-size type: `std::collections::btree_map::Entry<'_, smartstring::SmartString, std::rc::Rc>`: 56 bytes, alignment: 8 bytes +print-type-size variant `Vacant`: 56 bytes +print-type-size field `.0`: 56 bytes +print-type-size variant `Occupied`: 32 bytes +print-type-size field `.0`: 32 bytes +print-type-size type: `std::collections::btree_map::Entry<'_, smartstring::SmartString, types::dynamic::Dynamic>`: 56 bytes, alignment: 8 bytes +print-type-size variant `Vacant`: 56 bytes +print-type-size field `.0`: 56 bytes +print-type-size variant `Occupied`: 32 bytes +print-type-size field `.0`: 32 bytes +print-type-size type: `std::collections::btree_map::VacantEntry<'_, smartstring::SmartString, smallvec::alloc::collections::btree::set_val::SetValZST>`: 56 bytes, alignment: 8 bytes +print-type-size field `.alloc`: 0 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.key`: 24 bytes +print-type-size field `.handle`: 24 bytes +print-type-size field `.dormant_map`: 8 bytes +print-type-size type: `std::collections::btree_map::VacantEntry<'_, smartstring::SmartString, std::rc::Rc>`: 56 bytes, alignment: 8 bytes +print-type-size field `.alloc`: 0 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.key`: 24 bytes +print-type-size field `.handle`: 24 bytes +print-type-size field `.dormant_map`: 8 bytes +print-type-size type: `std::collections::btree_map::VacantEntry<'_, smartstring::SmartString, types::dynamic::Dynamic>`: 56 bytes, alignment: 8 bytes +print-type-size field `.alloc`: 0 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.key`: 24 bytes +print-type-size field `.handle`: 24 bytes +print-type-size field `.dormant_map`: 8 bytes +print-type-size type: `std::fmt::rt::v1::Argument`: 56 bytes, alignment: 8 bytes +print-type-size field `.position`: 8 bytes +print-type-size field `.format`: 48 bytes +print-type-size type: `std::iter::Enumerate>>, std::slice::Iter<'_, types::immutable_string::ImmutableString>, [closure@src\parser.rs:238:23: 238:26]>>>`: 56 bytes, alignment: 8 bytes +print-type-size field `.iter`: 48 bytes +print-type-size field `.count`: 8 bytes +print-type-size type: `std::iter::Map>, std::slice::Iter<'_, types::dynamic::Dynamic>>, [closure@src\types\scope.rs:813:18: 813:33]>, [closure@src\types\scope.rs:804:18: 804:43]>`: 56 bytes, alignment: 8 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 56 bytes +print-type-size type: `std::iter::Map>>, std::iter::Rev>>, [closure@src\types\scope.rs:823:18: 823:33]>`: 56 bytes, alignment: 8 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 56 bytes +print-type-size type: `std::iter::Map>, std::slice::Iter<'_, types::dynamic::Dynamic>>, [closure@src\types\scope.rs:813:18: 813:33]>`: 56 bytes, alignment: 8 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 56 bytes +print-type-size type: `std::iter::Zip>, std::iter::Map, [closure@src\func\script.rs:92:76: 92:79]>>`: 56 bytes, alignment: 8 bytes +print-type-size field `.a`: 16 bytes +print-type-size field `.b`: 16 bytes +print-type-size field `.index`: 8 bytes +print-type-size field `.len`: 8 bytes +print-type-size field `.a_len`: 8 bytes +print-type-size type: `std::iter::Zip>>, std::iter::Rev>>`: 56 bytes, alignment: 8 bytes +print-type-size field `.a`: 16 bytes +print-type-size field `.b`: 16 bytes +print-type-size field `.index`: 8 bytes +print-type-size field `.len`: 8 bytes +print-type-size field `.a_len`: 8 bytes +print-type-size type: `std::iter::Zip>, std::slice::Iter<'_, std::vec::Vec>>`: 56 bytes, alignment: 8 bytes +print-type-size field `.a`: 16 bytes +print-type-size field `.b`: 16 bytes +print-type-size field `.index`: 8 bytes +print-type-size field `.len`: 8 bytes +print-type-size field `.a_len`: 8 bytes +print-type-size type: `std::iter::Zip>, std::slice::Iter<'_, types::dynamic::Dynamic>>`: 56 bytes, alignment: 8 bytes +print-type-size field `.a`: 16 bytes +print-type-size field `.b`: 16 bytes +print-type-size field `.index`: 8 bytes +print-type-size field `.len`: 8 bytes +print-type-size field `.a_len`: 8 bytes +print-type-size type: `std::iter::Zip, std::slice::IterMut<'_, types::dynamic::Dynamic>>`: 56 bytes, alignment: 8 bytes +print-type-size field `.a`: 16 bytes +print-type-size field `.b`: 16 bytes +print-type-size field `.index`: 8 bytes +print-type-size field `.len`: 8 bytes +print-type-size field `.a_len`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop); 3]>>`: 56 bytes, alignment: 8 bytes +print-type-size field `.value`: 56 bytes +print-type-size type: `std::mem::ManuallyDrop>`: 56 bytes, alignment: 8 bytes +print-type-size field `.value`: 56 bytes +print-type-size type: `std::mem::ManuallyDrop`: 56 bytes, alignment: 8 bytes +print-type-size field `.value`: 56 bytes +print-type-size type: `std::mem::MaybeUninit>`: 56 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 56 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 56 bytes +print-type-size type: `std::mem::MaybeUninit`: 56 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 56 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 56 bytes +print-type-size type: `std::option::Option, smallvec::alloc::collections::btree::set_val::SetValZST, smallvec::alloc::collections::btree::node::marker::Internal>>`: 56 bytes, alignment: 8 bytes +print-type-size variant `Some`: 56 bytes +print-type-size field `.0`: 56 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, smallvec::alloc::collections::btree::set_val::SetValZST, smallvec::alloc::collections::btree::node::marker::Leaf>>`: 56 bytes, alignment: 8 bytes +print-type-size variant `Some`: 56 bytes +print-type-size field `.0`: 56 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, smallvec::alloc::collections::btree::set_val::SetValZST, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 56 bytes, alignment: 8 bytes +print-type-size variant `Some`: 56 bytes +print-type-size field `.0`: 56 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option std::boxed::Box>>>>, smallvec::alloc::collections::btree::node::marker::Internal>>`: 56 bytes, alignment: 8 bytes +print-type-size variant `Some`: 56 bytes +print-type-size field `.0`: 56 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option std::boxed::Box>>>>, smallvec::alloc::collections::btree::node::marker::Leaf>>`: 56 bytes, alignment: 8 bytes +print-type-size variant `Some`: 56 bytes +print-type-size field `.0`: 56 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option std::boxed::Box>>>>, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 56 bytes, alignment: 8 bytes +print-type-size variant `Some`: 56 bytes +print-type-size field `.0`: 56 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>`: 56 bytes, alignment: 8 bytes +print-type-size variant `Some`: 56 bytes +print-type-size field `.0`: 56 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>`: 56 bytes, alignment: 8 bytes +print-type-size variant `Some`: 56 bytes +print-type-size field `.0`: 56 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>`: 56 bytes, alignment: 8 bytes +print-type-size variant `Some`: 56 bytes +print-type-size field `.0`: 56 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>>, std::iter::Rev>>, [closure@src\types\scope.rs:823:18: 823:33]>>`: 56 bytes, alignment: 8 bytes +print-type-size variant `Some`: 56 bytes +print-type-size field `.0`: 56 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>`: 56 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Some`: 48 bytes +print-type-size field `.0`: 48 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::rc::RcBox>`: 56 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 40 bytes +print-type-size type: `types::parse_error::LexError`: 56 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `ImproperSymbol`: 48 bytes +print-type-size field `.0`: 24 bytes +print-type-size field `.1`: 24 bytes +print-type-size variant `UnexpectedInput`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `MalformedEscapeSequence`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `MalformedNumber`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `MalformedChar`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `MalformedIdentifier`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `StringTooLong`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `UnterminatedString`: 0 bytes +print-type-size type: `types::parse_error::ParseErrorType`: 56 bytes, alignment: 8 bytes +print-type-size variant `BadInput`: 56 bytes +print-type-size field `.0`: 56 bytes +print-type-size variant `MissingToken`: 56 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 24 bytes, alignment: 8 bytes +print-type-size field `.1`: 24 bytes +print-type-size variant `MismatchedType`: 56 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 24 bytes, alignment: 8 bytes +print-type-size field `.1`: 24 bytes +print-type-size variant `FnDuplicatedParam`: 56 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 24 bytes, alignment: 8 bytes +print-type-size field `.1`: 24 bytes +print-type-size variant `FnDuplicatedDefinition`: 40 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 24 bytes, alignment: 8 bytes +print-type-size field `.1`: 8 bytes +print-type-size variant `LiteralTooLarge`: 40 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 24 bytes, alignment: 8 bytes +print-type-size field `.1`: 8 bytes +print-type-size variant `UnknownOperator`: 32 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 24 bytes, alignment: 8 bytes +print-type-size variant `MissingSymbol`: 32 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 24 bytes, alignment: 8 bytes +print-type-size variant `MalformedCallExpr`: 32 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 24 bytes, alignment: 8 bytes +print-type-size variant `MalformedIndexExpr`: 32 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 24 bytes, alignment: 8 bytes +print-type-size variant `MalformedInExpr`: 32 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 24 bytes, alignment: 8 bytes +print-type-size variant `MalformedCapture`: 32 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 24 bytes, alignment: 8 bytes +print-type-size variant `DuplicatedProperty`: 32 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 24 bytes, alignment: 8 bytes +print-type-size variant `DuplicatedVariable`: 32 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 24 bytes, alignment: 8 bytes +print-type-size variant `ForbiddenVariable`: 32 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 24 bytes, alignment: 8 bytes +print-type-size variant `Reserved`: 32 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 24 bytes, alignment: 8 bytes +print-type-size variant `ExprExpected`: 32 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 24 bytes, alignment: 8 bytes +print-type-size variant `FnMissingParams`: 32 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 24 bytes, alignment: 8 bytes +print-type-size variant `FnMissingBody`: 32 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 24 bytes, alignment: 8 bytes +print-type-size variant `AssignmentToConstant`: 32 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 24 bytes, alignment: 8 bytes +print-type-size variant `AssignmentToInvalidLHS`: 32 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 24 bytes, alignment: 8 bytes +print-type-size variant `VariableExists`: 32 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 24 bytes, alignment: 8 bytes +print-type-size variant `VariableUndefined`: 32 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 24 bytes, alignment: 8 bytes +print-type-size variant `ModuleUndefined`: 32 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 24 bytes, alignment: 8 bytes +print-type-size variant `UnexpectedEOF`: 0 bytes +print-type-size variant `DuplicatedSwitchCase`: 0 bytes +print-type-size variant `WrongSwitchIntegerCase`: 0 bytes +print-type-size variant `WrongSwitchDefaultCase`: 0 bytes +print-type-size variant `WrongSwitchCaseCondition`: 0 bytes +print-type-size variant `PropertyExpected`: 0 bytes +print-type-size variant `VariableExpected`: 0 bytes +print-type-size variant `WrongDocComment`: 0 bytes +print-type-size variant `WrongFnDefinition`: 0 bytes +print-type-size variant `FnMissingName`: 0 bytes +print-type-size variant `WrongExport`: 0 bytes +print-type-size variant `ExprTooDeep`: 0 bytes +print-type-size variant `LoopBreak`: 0 bytes +print-type-size type: `[closure@src\eval\chaining.rs:778:42: 778:47]`: 48 bytes, alignment: 8 bytes +print-type-size end padding: 48 bytes +print-type-size type: `[closure@src\eval\chaining.rs:852:29: 852:34]`: 48 bytes, alignment: 8 bytes +print-type-size end padding: 48 bytes +print-type-size type: `[closure@src\eval\chaining.rs:954:46: 954:51]`: 48 bytes, alignment: 8 bytes +print-type-size end padding: 48 bytes +print-type-size type: `[closure@src\eval\expr.rs:316:25: 316:47]`: 48 bytes, alignment: 8 bytes +print-type-size end padding: 48 bytes +print-type-size type: `[closure@src\eval\expr.rs:348:44: 348:72]`: 48 bytes, alignment: 8 bytes +print-type-size end padding: 48 bytes +print-type-size type: `[closure@src\func\call.rs:1173:31: 1173:37]`: 48 bytes, alignment: 8 bytes +print-type-size end padding: 48 bytes +print-type-size type: `[closure@src\func\call.rs:1205:44: 1205:50]`: 48 bytes, alignment: 8 bytes +print-type-size end padding: 48 bytes +print-type-size type: `[closure@src\func\call.rs:1237:35: 1237:41]`: 48 bytes, alignment: 8 bytes +print-type-size end padding: 48 bytes +print-type-size type: `[closure@src\func\call.rs:1284:55: 1284:61]`: 48 bytes, alignment: 8 bytes +print-type-size end padding: 48 bytes +print-type-size type: `[closure@src\func\call.rs:1313:47: 1313:53]`: 48 bytes, alignment: 8 bytes +print-type-size end padding: 48 bytes +print-type-size type: `[closure@std::iter::Iterator::try_for_each::call<&ast::expr::Expr, std::result::Result<(), std::boxed::Box>, [closure@src\func\call.rs:1173:31: 1173:37]>::{closure#0}]`: 48 bytes, alignment: 8 bytes +print-type-size end padding: 48 bytes +print-type-size type: `[closure@std::iter::Iterator::try_for_each::call<&ast::expr::Expr, std::result::Result<(), std::boxed::Box>, [closure@src\func\call.rs:1205:44: 1205:50]>::{closure#0}]`: 48 bytes, alignment: 8 bytes +print-type-size end padding: 48 bytes +print-type-size type: `[closure@std::iter::Iterator::try_for_each::call<&ast::expr::Expr, std::result::Result<(), std::boxed::Box>, [closure@src\func\call.rs:1237:35: 1237:41]>::{closure#0}]`: 48 bytes, alignment: 8 bytes +print-type-size end padding: 48 bytes +print-type-size type: `[closure@std::iter::Iterator::try_for_each::call<&ast::expr::Expr, std::result::Result<(), std::boxed::Box>, [closure@src\func\call.rs:1284:55: 1284:61]>::{closure#0}]`: 48 bytes, alignment: 8 bytes +print-type-size end padding: 48 bytes +print-type-size type: `[closure@std::iter::Iterator::try_for_each::call<&ast::expr::Expr, std::result::Result<(), std::boxed::Box>, [closure@src\func\call.rs:1313:47: 1313:53]>::{closure#0}]`: 48 bytes, alignment: 8 bytes +print-type-size end padding: 48 bytes +print-type-size type: `config::hashing::SusLock>`: 48 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.data`: 40 bytes +print-type-size field `.initialized`: 1 bytes +print-type-size end padding: 7 bytes +print-type-size type: `hashbrown::scopeguard::ScopeGuard, [closure@hashbrown::raw::RawTableInner::prepare_resize::{closure#0}]>`: 48 bytes, alignment: 8 bytes +print-type-size field `.dropfn`: 16 bytes +print-type-size field `.value`: 32 bytes +print-type-size type: `serde::deserialize:: for types::scope::Scope<'de>>::deserialize::ScopeEntry`: 48 bytes, alignment: 8 bytes +print-type-size field `.name`: 24 bytes +print-type-size field `.value`: 16 bytes +print-type-size field `.is_constant`: 1 bytes +print-type-size end padding: 7 bytes +print-type-size type: `serde::metadata::FnParam<'_>`: 48 bytes, alignment: 8 bytes +print-type-size field `.name`: 16 bytes +print-type-size field `.typ`: 32 bytes +print-type-size type: `smallvec::IntoIter<[std::rc::Rc; 3]>`: 48 bytes, alignment: 8 bytes +print-type-size field `.data`: 32 bytes +print-type-size field `.current`: 8 bytes +print-type-size field `.end`: 8 bytes +print-type-size type: `smallvec::SmallVec<[&mut types::dynamic::Dynamic; 5]>`: 48 bytes, alignment: 8 bytes +print-type-size field `.capacity`: 8 bytes +print-type-size field `.data`: 40 bytes +print-type-size type: `smallvec::SmallVec<[types::immutable_string::ImmutableString; 5]>`: 48 bytes, alignment: 8 bytes +print-type-size field `.capacity`: 8 bytes +print-type-size field `.data`: 40 bytes +print-type-size type: `smallvec::SmallVecData<[&str; 3]>`: 48 bytes, alignment: 8 bytes +print-type-size variant `SmallVecData`: 48 bytes +print-type-size field `.heap`: 16 bytes +print-type-size field `.inline`: 48 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size type: `smallvec::SmallVecData<[(types::immutable_string::ImmutableString, std::rc::Rc); 3]>`: 48 bytes, alignment: 8 bytes +print-type-size variant `SmallVecData`: 48 bytes +print-type-size field `.heap`: 16 bytes +print-type-size field `.inline`: 48 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size type: `smallvec::SmallVecData<[(types::immutable_string::ImmutableString, tokenizer::Position); 3]>`: 48 bytes, alignment: 8 bytes +print-type-size variant `SmallVecData`: 48 bytes +print-type-size field `.heap`: 16 bytes +print-type-size field `.inline`: 48 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size type: `smallvec::SmallVecData<[ast::expr::Expr; 3]>`: 48 bytes, alignment: 8 bytes +print-type-size variant `SmallVecData`: 48 bytes +print-type-size field `.heap`: 16 bytes +print-type-size field `.inline`: 48 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size type: `smallvec::SmallVecData<[ast::ident::Ident; 3]>`: 48 bytes, alignment: 8 bytes +print-type-size variant `SmallVecData`: 48 bytes +print-type-size field `.heap`: 16 bytes +print-type-size field `.inline`: 48 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size type: `smallvec::SmallVecData<[ast::stmt::Stmt; 3]>`: 48 bytes, alignment: 8 bytes +print-type-size variant `SmallVecData`: 48 bytes +print-type-size field `.heap`: 16 bytes +print-type-size field `.inline`: 48 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size type: `smallvec::SmallVecData<[std::boxed::Box; 3]>`: 48 bytes, alignment: 8 bytes +print-type-size variant `SmallVecData`: 48 bytes +print-type-size field `.heap`: 16 bytes +print-type-size field `.inline`: 48 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size type: `smallvec::SmallVecData<[types::dynamic::Dynamic; 3]>`: 48 bytes, alignment: 8 bytes +print-type-size variant `SmallVecData`: 48 bytes +print-type-size field `.heap`: 16 bytes +print-type-size field `.inline`: 48 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size type: `std::array::IntoIter`: 48 bytes, alignment: 8 bytes +print-type-size field `.data`: 32 bytes +print-type-size field `.alive`: 16 bytes +print-type-size type: `std::collections::btree_map::DrainFilter<'_, u64, smallvec::SmallVec<[usize; 1]>, [closure@std::collections::BTreeMap>::retain<[closure@src\optimizer.rs:670:26: 670:35]>::{closure#0}]>`: 48 bytes, alignment: 8 bytes +print-type-size field `.alloc`: 0 bytes +print-type-size field `.pred`: 8 bytes +print-type-size field `.inner`: 40 bytes +print-type-size type: `std::collections::btree_map::Entry<'_, &str, serde::metadata::ModuleMetadata<'_>>`: 48 bytes, alignment: 8 bytes +print-type-size variant `Vacant`: 48 bytes +print-type-size field `.0`: 48 bytes +print-type-size variant `Occupied`: 40 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 32 bytes, alignment: 8 bytes +print-type-size type: `std::collections::btree_map::VacantEntry<'_, &str, serde::metadata::ModuleMetadata<'_>>`: 48 bytes, alignment: 8 bytes +print-type-size field `.alloc`: 0 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.key`: 16 bytes +print-type-size field `.handle`: 24 bytes +print-type-size field `.dormant_map`: 8 bytes +print-type-size type: `std::fmt::Arguments<'_>`: 48 bytes, alignment: 8 bytes +print-type-size field `.pieces`: 16 bytes +print-type-size field `.fmt`: 16 bytes +print-type-size field `.args`: 16 bytes +print-type-size type: `std::fmt::rt::v1::FormatSpec`: 48 bytes, alignment: 8 bytes +print-type-size field `.precision`: 16 bytes +print-type-size field `.width`: 16 bytes +print-type-size field `.fill`: 4 bytes +print-type-size field `.flags`: 4 bytes +print-type-size field `.align`: 1 bytes +print-type-size end padding: 7 bytes +print-type-size type: `std::iter::Cloned>>, std::slice::Iter<'_, types::immutable_string::ImmutableString>, [closure@src\parser.rs:1436:63: 1436:66]>>`: 48 bytes, alignment: 8 bytes +print-type-size field `.it`: 48 bytes +print-type-size type: `std::iter::Cloned>>, std::slice::Iter<'_, types::immutable_string::ImmutableString>, [closure@src\parser.rs:3315:71: 3315:74]>>`: 48 bytes, alignment: 8 bytes +print-type-size field `.it`: 48 bytes +print-type-size type: `std::iter::FlatMap, std::slice::Iter<'_, &str>, [closure@src\module\mod.rs:1029:27: 1029:31]>`: 48 bytes, alignment: 8 bytes +print-type-size field `.inner`: 48 bytes +print-type-size type: `std::iter::FlatMap>>, std::slice::Iter<'_, ast::ident::Ident>, [closure@src\parser.rs:1472:31: 1472:34]>`: 48 bytes, alignment: 8 bytes +print-type-size field `.inner`: 48 bytes +print-type-size type: `std::iter::FlatMap>>, std::slice::Iter<'_, ast::ident::Ident>, [closure@src\parser.rs:200:31: 200:34]>`: 48 bytes, alignment: 8 bytes +print-type-size field `.inner`: 48 bytes +print-type-size type: `std::iter::FlatMap; 3]>>>, std::slice::Iter<'_, std::rc::Rc>, [closure@src\eval\global_state.rs:201:47: 201:50]>`: 48 bytes, alignment: 8 bytes +print-type-size field `.inner`: 48 bytes +print-type-size type: `std::iter::FlatMap; 3]>>>, std::slice::Iter<'_, std::rc::Rc>, [closure@src\eval\global_state.rs:216:47: 216:50]>`: 48 bytes, alignment: 8 bytes +print-type-size field `.inner`: 48 bytes +print-type-size type: `std::iter::FlatMap; 3]>>>, std::slice::Iter<'_, std::rc::Rc>, [closure@src\eval\global_state.rs:229:47: 229:50]>`: 48 bytes, alignment: 8 bytes +print-type-size field `.inner`: 48 bytes +print-type-size type: `std::iter::FlatMap>>, std::slice::Iter<'_, types::immutable_string::ImmutableString>, [closure@src\eval\global_state.rs:199:23: 199:26]>`: 48 bytes, alignment: 8 bytes +print-type-size field `.inner`: 48 bytes +print-type-size type: `std::iter::FlatMap>>, std::slice::Iter<'_, types::immutable_string::ImmutableString>, [closure@src\eval\global_state.rs:214:23: 214:26]>`: 48 bytes, alignment: 8 bytes +print-type-size field `.inner`: 48 bytes +print-type-size type: `std::iter::FlatMap>>, std::slice::Iter<'_, types::immutable_string::ImmutableString>, [closure@src\eval\global_state.rs:228:23: 228:26]>`: 48 bytes, alignment: 8 bytes +print-type-size field `.inner`: 48 bytes +print-type-size type: `std::iter::FlatMap>>, std::slice::Iter<'_, types::immutable_string::ImmutableString>, [closure@src\parser.rs:1436:63: 1436:66]>`: 48 bytes, alignment: 8 bytes +print-type-size field `.inner`: 48 bytes +print-type-size type: `std::iter::FlatMap>>, std::slice::Iter<'_, types::immutable_string::ImmutableString>, [closure@src\parser.rs:1887:39: 1887:42]>`: 48 bytes, alignment: 8 bytes +print-type-size field `.inner`: 48 bytes +print-type-size type: `std::iter::FlatMap>>, std::slice::Iter<'_, types::immutable_string::ImmutableString>, [closure@src\parser.rs:238:23: 238:26]>`: 48 bytes, alignment: 8 bytes +print-type-size field `.inner`: 48 bytes +print-type-size type: `std::iter::FlatMap>>, std::slice::Iter<'_, types::immutable_string::ImmutableString>, [closure@src\parser.rs:3315:71: 3315:74]>`: 48 bytes, alignment: 8 bytes +print-type-size field `.inner`: 48 bytes +print-type-size type: `std::iter::FlatMap>>, std::slice::Iter<'_, types::immutable_string::ImmutableString>, [closure@src\parser.rs:606:39: 606:42]>`: 48 bytes, alignment: 8 bytes +print-type-size field `.inner`: 48 bytes +print-type-size type: `std::iter::FlatMap>>, std::slice::Iter<'_, types::immutable_string::ImmutableString>, [closure@src\parser.rs:681:43: 681:46]>`: 48 bytes, alignment: 8 bytes +print-type-size field `.inner`: 48 bytes +print-type-size type: `std::iter::Map, std::slice::Iter<'_, &str>, [closure@src\module\mod.rs:1029:27: 1029:31]>, [closure@src\module\mod.rs:1030:22: 1030:26]>`: 48 bytes, alignment: 8 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 48 bytes +print-type-size type: `std::iter::Once<(std::string::String, std::string::String)>`: 48 bytes, alignment: 8 bytes +print-type-size field `.inner`: 48 bytes +print-type-size type: `std::iter::Rev; 3]>>>, std::slice::Iter<'_, std::rc::Rc>, [closure@src\eval\global_state.rs:201:47: 201:50]>>`: 48 bytes, alignment: 8 bytes +print-type-size field `.iter`: 48 bytes +print-type-size type: `std::iter::Rev; 3]>>>, std::slice::Iter<'_, std::rc::Rc>, [closure@src\eval\global_state.rs:216:47: 216:50]>>`: 48 bytes, alignment: 8 bytes +print-type-size field `.iter`: 48 bytes +print-type-size type: `std::iter::Rev>>, std::slice::Iter<'_, types::immutable_string::ImmutableString>, [closure@src\eval\global_state.rs:199:23: 199:26]>>`: 48 bytes, alignment: 8 bytes +print-type-size field `.iter`: 48 bytes +print-type-size type: `std::iter::Rev>>, std::slice::Iter<'_, types::immutable_string::ImmutableString>, [closure@src\eval\global_state.rs:214:23: 214:26]>>`: 48 bytes, alignment: 8 bytes +print-type-size field `.iter`: 48 bytes +print-type-size type: `std::iter::Rev>>, std::slice::Iter<'_, types::immutable_string::ImmutableString>, [closure@src\parser.rs:238:23: 238:26]>>`: 48 bytes, alignment: 8 bytes +print-type-size field `.iter`: 48 bytes +print-type-size type: `std::iter::Take>`: 48 bytes, alignment: 8 bytes +print-type-size field `.iter`: 40 bytes +print-type-size field `.n`: 8 bytes +print-type-size type: `std::iter::adapters::flatten::FlattenCompat, [closure@src\module\mod.rs:1029:27: 1029:31]>, std::slice::Iter<'_, &str>>`: 48 bytes, alignment: 8 bytes +print-type-size field `.iter`: 16 bytes +print-type-size field `.frontiter`: 16 bytes +print-type-size field `.backiter`: 16 bytes +print-type-size type: `std::iter::adapters::flatten::FlattenCompat>>, [closure@src\parser.rs:1472:31: 1472:34]>, std::slice::Iter<'_, ast::ident::Ident>>`: 48 bytes, alignment: 8 bytes +print-type-size field `.iter`: 16 bytes +print-type-size field `.frontiter`: 16 bytes +print-type-size field `.backiter`: 16 bytes +print-type-size type: `std::iter::adapters::flatten::FlattenCompat>>, [closure@src\parser.rs:200:31: 200:34]>, std::slice::Iter<'_, ast::ident::Ident>>`: 48 bytes, alignment: 8 bytes +print-type-size field `.iter`: 16 bytes +print-type-size field `.frontiter`: 16 bytes +print-type-size field `.backiter`: 16 bytes +print-type-size type: `std::iter::adapters::flatten::FlattenCompat; 3]>>>, [closure@src\eval\global_state.rs:201:47: 201:50]>, std::slice::Iter<'_, std::rc::Rc>>`: 48 bytes, alignment: 8 bytes +print-type-size field `.iter`: 16 bytes +print-type-size field `.frontiter`: 16 bytes +print-type-size field `.backiter`: 16 bytes +print-type-size type: `std::iter::adapters::flatten::FlattenCompat; 3]>>>, [closure@src\eval\global_state.rs:216:47: 216:50]>, std::slice::Iter<'_, std::rc::Rc>>`: 48 bytes, alignment: 8 bytes +print-type-size field `.iter`: 16 bytes +print-type-size field `.frontiter`: 16 bytes +print-type-size field `.backiter`: 16 bytes +print-type-size type: `std::iter::adapters::flatten::FlattenCompat; 3]>>>, [closure@src\eval\global_state.rs:229:47: 229:50]>, std::slice::Iter<'_, std::rc::Rc>>`: 48 bytes, alignment: 8 bytes +print-type-size field `.iter`: 16 bytes +print-type-size field `.frontiter`: 16 bytes +print-type-size field `.backiter`: 16 bytes +print-type-size type: `std::iter::adapters::flatten::FlattenCompat>>, [closure@src\eval\global_state.rs:199:23: 199:26]>, std::slice::Iter<'_, types::immutable_string::ImmutableString>>`: 48 bytes, alignment: 8 bytes +print-type-size field `.iter`: 16 bytes +print-type-size field `.frontiter`: 16 bytes +print-type-size field `.backiter`: 16 bytes +print-type-size type: `std::iter::adapters::flatten::FlattenCompat>>, [closure@src\eval\global_state.rs:214:23: 214:26]>, std::slice::Iter<'_, types::immutable_string::ImmutableString>>`: 48 bytes, alignment: 8 bytes +print-type-size field `.iter`: 16 bytes +print-type-size field `.frontiter`: 16 bytes +print-type-size field `.backiter`: 16 bytes +print-type-size type: `std::iter::adapters::flatten::FlattenCompat>>, [closure@src\eval\global_state.rs:228:23: 228:26]>, std::slice::Iter<'_, types::immutable_string::ImmutableString>>`: 48 bytes, alignment: 8 bytes +print-type-size field `.iter`: 16 bytes +print-type-size field `.frontiter`: 16 bytes +print-type-size field `.backiter`: 16 bytes +print-type-size type: `std::iter::adapters::flatten::FlattenCompat>>, [closure@src\parser.rs:1436:63: 1436:66]>, std::slice::Iter<'_, types::immutable_string::ImmutableString>>`: 48 bytes, alignment: 8 bytes +print-type-size field `.iter`: 16 bytes +print-type-size field `.frontiter`: 16 bytes +print-type-size field `.backiter`: 16 bytes +print-type-size type: `std::iter::adapters::flatten::FlattenCompat>>, [closure@src\parser.rs:1887:39: 1887:42]>, std::slice::Iter<'_, types::immutable_string::ImmutableString>>`: 48 bytes, alignment: 8 bytes +print-type-size field `.iter`: 16 bytes +print-type-size field `.frontiter`: 16 bytes +print-type-size field `.backiter`: 16 bytes +print-type-size type: `std::iter::adapters::flatten::FlattenCompat>>, [closure@src\parser.rs:238:23: 238:26]>, std::slice::Iter<'_, types::immutable_string::ImmutableString>>`: 48 bytes, alignment: 8 bytes +print-type-size field `.iter`: 16 bytes +print-type-size field `.frontiter`: 16 bytes +print-type-size field `.backiter`: 16 bytes +print-type-size type: `std::iter::adapters::flatten::FlattenCompat>>, [closure@src\parser.rs:3315:71: 3315:74]>, std::slice::Iter<'_, types::immutable_string::ImmutableString>>`: 48 bytes, alignment: 8 bytes +print-type-size field `.iter`: 16 bytes +print-type-size field `.frontiter`: 16 bytes +print-type-size field `.backiter`: 16 bytes +print-type-size type: `std::iter::adapters::flatten::FlattenCompat>>, [closure@src\parser.rs:606:39: 606:42]>, std::slice::Iter<'_, types::immutable_string::ImmutableString>>`: 48 bytes, alignment: 8 bytes +print-type-size field `.iter`: 16 bytes +print-type-size field `.frontiter`: 16 bytes +print-type-size field `.backiter`: 16 bytes +print-type-size type: `std::iter::adapters::flatten::FlattenCompat>>, [closure@src\parser.rs:681:43: 681:46]>, std::slice::Iter<'_, types::immutable_string::ImmutableString>>`: 48 bytes, alignment: 8 bytes +print-type-size field `.iter`: 16 bytes +print-type-size field `.frontiter`: 16 bytes +print-type-size field `.backiter`: 16 bytes +print-type-size type: `std::mem::ManuallyDrop<(std::string::String, std::string::String)>`: 48 bytes, alignment: 8 bytes +print-type-size field `.value`: 48 bytes +print-type-size type: `std::mem::ManuallyDrop<[&str; 3]>`: 48 bytes, alignment: 8 bytes +print-type-size field `.value`: 48 bytes +print-type-size type: `std::mem::ManuallyDrop<[(types::immutable_string::ImmutableString, std::rc::Rc); 3]>`: 48 bytes, alignment: 8 bytes +print-type-size field `.value`: 48 bytes +print-type-size type: `std::mem::ManuallyDrop<[(types::immutable_string::ImmutableString, tokenizer::Position); 3]>`: 48 bytes, alignment: 8 bytes +print-type-size field `.value`: 48 bytes +print-type-size type: `std::mem::ManuallyDrop<[ast::expr::Expr; 3]>`: 48 bytes, alignment: 8 bytes +print-type-size field `.value`: 48 bytes +print-type-size type: `std::mem::ManuallyDrop<[ast::ident::Ident; 3]>`: 48 bytes, alignment: 8 bytes +print-type-size field `.value`: 48 bytes +print-type-size type: `std::mem::ManuallyDrop<[ast::stmt::Stmt; 3]>`: 48 bytes, alignment: 8 bytes +print-type-size field `.value`: 48 bytes +print-type-size type: `std::mem::ManuallyDrop<[std::boxed::Box; 3]>`: 48 bytes, alignment: 8 bytes +print-type-size field `.value`: 48 bytes +print-type-size type: `std::mem::ManuallyDrop<[types::dynamic::Dynamic; 3]>`: 48 bytes, alignment: 8 bytes +print-type-size field `.value`: 48 bytes +print-type-size type: `std::mem::ManuallyDrop>`: 48 bytes, alignment: 8 bytes +print-type-size field `.value`: 48 bytes +print-type-size type: `std::mem::ManuallyDrop>`: 48 bytes, alignment: 8 bytes +print-type-size field `.value`: 48 bytes +print-type-size type: `std::mem::ManuallyDrop); 3]>>`: 48 bytes, alignment: 8 bytes +print-type-size field `.value`: 48 bytes +print-type-size type: `std::mem::ManuallyDrop>`: 48 bytes, alignment: 8 bytes +print-type-size field `.value`: 48 bytes +print-type-size type: `std::mem::ManuallyDrop>`: 48 bytes, alignment: 8 bytes +print-type-size field `.value`: 48 bytes +print-type-size type: `std::mem::ManuallyDrop>`: 48 bytes, alignment: 8 bytes +print-type-size field `.value`: 48 bytes +print-type-size type: `std::mem::ManuallyDrop>`: 48 bytes, alignment: 8 bytes +print-type-size field `.value`: 48 bytes +print-type-size type: `std::mem::ManuallyDrop; 3]>>`: 48 bytes, alignment: 8 bytes +print-type-size field `.value`: 48 bytes +print-type-size type: `std::mem::ManuallyDrop>`: 48 bytes, alignment: 8 bytes +print-type-size field `.value`: 48 bytes +print-type-size type: `std::mem::MaybeUninit<(std::string::String, std::string::String)>`: 48 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 48 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 48 bytes +print-type-size type: `std::mem::MaybeUninit<[&str; 3]>`: 48 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 48 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 48 bytes +print-type-size type: `std::mem::MaybeUninit<[(types::immutable_string::ImmutableString, std::rc::Rc); 3]>`: 48 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 48 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 48 bytes +print-type-size type: `std::mem::MaybeUninit<[(types::immutable_string::ImmutableString, tokenizer::Position); 3]>`: 48 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 48 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 48 bytes +print-type-size type: `std::mem::MaybeUninit<[ast::expr::Expr; 3]>`: 48 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 48 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 48 bytes +print-type-size type: `std::mem::MaybeUninit<[ast::ident::Ident; 3]>`: 48 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 48 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 48 bytes +print-type-size type: `std::mem::MaybeUninit<[ast::stmt::Stmt; 3]>`: 48 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 48 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 48 bytes +print-type-size type: `std::mem::MaybeUninit<[std::boxed::Box; 3]>`: 48 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 48 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 48 bytes +print-type-size type: `std::mem::MaybeUninit<[types::dynamic::Dynamic; 3]>`: 48 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 48 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 48 bytes +print-type-size type: `std::mem::MaybeUninit>`: 48 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 48 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 48 bytes +print-type-size type: `std::ops::ControlFlow, (smartstring::SmartString, std::vec::Vec)>`: 48 bytes, alignment: 8 bytes +print-type-size variant `Continue`: 48 bytes +print-type-size field `.0`: 48 bytes +print-type-size variant `Break`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::ops::ControlFlow, hashbrown::scopeguard::ScopeGuard, [closure@hashbrown::raw::RawTableInner::prepare_resize::{closure#0}]>>`: 48 bytes, alignment: 8 bytes +print-type-size variant `Continue`: 48 bytes +print-type-size field `.0`: 48 bytes +print-type-size variant `Break`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::option::IntoIter<(std::string::String, std::string::String)>`: 48 bytes, alignment: 8 bytes +print-type-size field `.inner`: 48 bytes +print-type-size type: `std::option::Item<(std::string::String, std::string::String)>`: 48 bytes, alignment: 8 bytes +print-type-size field `.opt`: 48 bytes +print-type-size type: `std::option::Option<(smallvec::alloc::collections::btree::node::Handle, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>, smallvec::alloc::collections::btree::node::Handle, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::KV>)>`: 48 bytes, alignment: 8 bytes +print-type-size variant `Some`: 48 bytes +print-type-size field `.0`: 48 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<(smallvec::alloc::collections::btree::node::Handle, smallvec::alloc::collections::btree::set_val::SetValZST, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>, smallvec::alloc::collections::btree::node::Handle, smallvec::alloc::collections::btree::set_val::SetValZST, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::KV>)>`: 48 bytes, alignment: 8 bytes +print-type-size variant `Some`: 48 bytes +print-type-size field `.0`: 48 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<(smallvec::alloc::collections::btree::node::Handle, std::option::Option, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>, smallvec::alloc::collections::btree::node::Handle, std::option::Option, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::KV>)>`: 48 bytes, alignment: 8 bytes +print-type-size variant `Some`: 48 bytes +print-type-size field `.0`: 48 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<(smallvec::alloc::collections::btree::node::Handle, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>, smallvec::alloc::collections::btree::node::Handle, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::KV>)>`: 48 bytes, alignment: 8 bytes +print-type-size variant `Some`: 48 bytes +print-type-size field `.0`: 48 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<(smallvec::alloc::collections::btree::node::Handle, types::custom_types::CustomTypeInfo, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>, smallvec::alloc::collections::btree::node::Handle, types::custom_types::CustomTypeInfo, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::KV>)>`: 48 bytes, alignment: 8 bytes +print-type-size variant `Some`: 48 bytes +print-type-size field `.0`: 48 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<(smallvec::alloc::collections::btree::node::Handle, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>, smallvec::alloc::collections::btree::node::Handle, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::KV>)>`: 48 bytes, alignment: 8 bytes +print-type-size variant `Some`: 48 bytes +print-type-size field `.0`: 48 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<(smallvec::alloc::collections::btree::node::Handle std::boxed::Box>>>>, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>, smallvec::alloc::collections::btree::node::Handle std::boxed::Box>>>>, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::KV>)>`: 48 bytes, alignment: 8 bytes +print-type-size variant `Some`: 48 bytes +print-type-size field `.0`: 48 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<(smallvec::alloc::collections::btree::node::Handle, smallvec::alloc::collections::btree::node::marker::Edge>, smallvec::alloc::collections::btree::node::Handle, smallvec::alloc::collections::btree::node::marker::KV>)>`: 48 bytes, alignment: 8 bytes +print-type-size variant `Some`: 48 bytes +print-type-size field `.0`: 48 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<(smallvec::alloc::collections::btree::node::Handle, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>, smallvec::alloc::collections::btree::node::Handle, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::KV>)>`: 48 bytes, alignment: 8 bytes +print-type-size variant `Some`: 48 bytes +print-type-size field `.0`: 48 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<(smartstring::SmartString, std::vec::Vec)>`: 48 bytes, alignment: 8 bytes +print-type-size variant `Some`: 48 bytes +print-type-size field `.0`: 48 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<(std::string::String, std::string::String)>`: 48 bytes, alignment: 8 bytes +print-type-size variant `Some`: 48 bytes +print-type-size field `.0`: 48 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option for types::scope::Scope<'de>>::deserialize::ScopeEntry>`: 48 bytes, alignment: 8 bytes +print-type-size variant `Some`: 48 bytes +print-type-size field `.0`: 48 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>`: 48 bytes, alignment: 8 bytes +print-type-size variant `Some`: 48 bytes +print-type-size field `.0`: 48 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>`: 48 bytes, alignment: 8 bytes +print-type-size variant `Some`: 48 bytes +print-type-size field `.0`: 48 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::rc::RcBox`: 48 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 32 bytes +print-type-size type: `std::rc::RcBox>>`: 48 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 32 bytes +print-type-size type: `std::result::Result, [closure@hashbrown::raw::RawTableInner::prepare_resize::{closure#0}]>, hashbrown::TryReserveError>`: 48 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 48 bytes +print-type-size field `.0`: 48 bytes +print-type-size variant `Err`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::str::pattern::CharSearcher<'_>`: 48 bytes, alignment: 8 bytes +print-type-size field `.haystack`: 16 bytes +print-type-size field `.finger`: 8 bytes +print-type-size field `.finger_back`: 8 bytes +print-type-size field `.utf8_size`: 8 bytes +print-type-size field `.needle`: 4 bytes +print-type-size field `.utf8_encoded`: 4 bytes +print-type-size type: `[closure@src\eval\expr.rs:304:26: 304:29]`: 40 bytes, alignment: 8 bytes +print-type-size end padding: 40 bytes +print-type-size type: `[closure@src\eval\stmt.rs:394:48: 394:54]`: 40 bytes, alignment: 8 bytes +print-type-size end padding: 40 bytes +print-type-size type: `[closure@src\func\call.rs:1060:65: 1060:84]`: 40 bytes, alignment: 8 bytes +print-type-size end padding: 40 bytes +print-type-size type: `[closure@src\packages\array_basic.rs:1934:26: 1934:31]`: 40 bytes, alignment: 8 bytes +print-type-size end padding: 40 bytes +print-type-size type: `[closure@src\packages\array_basic.rs:2130:26: 2130:31]`: 40 bytes, alignment: 8 bytes +print-type-size end padding: 40 bytes +print-type-size type: `[closure@src\packages\array_basic.rs:665:30: 665:35]`: 40 bytes, alignment: 8 bytes +print-type-size end padding: 40 bytes +print-type-size type: `api::custom_syntax::CustomSyntax`: 40 bytes, alignment: 8 bytes +print-type-size field `.parse`: 16 bytes +print-type-size field `.func`: 16 bytes +print-type-size field `.scope_may_be_changed`: 1 bytes +print-type-size end padding: 7 bytes +print-type-size type: `ast::stmt::RangeCase`: 40 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `InclusiveInt`: 32 bytes +print-type-size field `.0`: 24 bytes +print-type-size field `.1`: 8 bytes +print-type-size variant `ExclusiveInt`: 24 bytes +print-type-size field `.0`: 16 bytes +print-type-size field `.1`: 8 bytes +print-type-size type: `eval::eval_context::EvalContext<'_, '_, '_, '_, '_, '_>`: 40 bytes, alignment: 8 bytes +print-type-size field `.engine`: 8 bytes +print-type-size field `.global`: 8 bytes +print-type-size field `.caches`: 8 bytes +print-type-size field `.scope`: 8 bytes +print-type-size field `.this_ptr`: 8 bytes +print-type-size type: `eval::target::Target<'_>`: 40 bytes, alignment: 8 bytes +print-type-size discriminant: 1 bytes +print-type-size variant `SharedValue`: 39 bytes +print-type-size padding: 7 bytes +print-type-size field `.source`: 16 bytes, alignment: 8 bytes +print-type-size field `.value`: 16 bytes +print-type-size variant `BitField`: 39 bytes +print-type-size field `.shift`: 1 bytes +print-type-size padding: 6 bytes +print-type-size field `.source`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 16 bytes +print-type-size field `.mask`: 8 bytes +print-type-size variant `BlobByte`: 39 bytes +print-type-size padding: 7 bytes +print-type-size field `.source`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 16 bytes +print-type-size field `.index`: 8 bytes +print-type-size variant `StringChar`: 39 bytes +print-type-size padding: 7 bytes +print-type-size field `.source`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 16 bytes +print-type-size field `.index`: 8 bytes +print-type-size variant `Bit`: 31 bytes +print-type-size field `.bit`: 1 bytes +print-type-size padding: 6 bytes +print-type-size field `.source`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 16 bytes +print-type-size variant `TempValue`: 23 bytes +print-type-size padding: 7 bytes +print-type-size field `.0`: 16 bytes, alignment: 8 bytes +print-type-size variant `RefMut`: 15 bytes +print-type-size padding: 7 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size type: `hashbrown::map::Iter<'_, u64, module::FuncInfo>`: 40 bytes, alignment: 8 bytes +print-type-size field `.marker`: 0 bytes +print-type-size field `.inner`: 40 bytes +print-type-size type: `hashbrown::map::Iter<'_, u64, std::option::Option>`: 40 bytes, alignment: 8 bytes +print-type-size field `.marker`: 0 bytes +print-type-size field `.inner`: 40 bytes +print-type-size type: `hashbrown::map::Iter<'_, u64, std::rc::Rc>`: 40 bytes, alignment: 8 bytes +print-type-size field `.marker`: 0 bytes +print-type-size field `.inner`: 40 bytes +print-type-size type: `hashbrown::map::Iter<'_, u64, types::immutable_string::ImmutableString>`: 40 bytes, alignment: 8 bytes +print-type-size field `.marker`: 0 bytes +print-type-size field `.inner`: 40 bytes +print-type-size type: `hashbrown::raw::RawIter<(u64, func::callable_function::CallableFunction)>`: 40 bytes, alignment: 8 bytes +print-type-size field `.iter`: 32 bytes +print-type-size field `.items`: 8 bytes +print-type-size type: `hashbrown::raw::RawIter<(u64, module::FuncInfo)>`: 40 bytes, alignment: 8 bytes +print-type-size field `.iter`: 32 bytes +print-type-size field `.items`: 8 bytes +print-type-size type: `hashbrown::raw::RawIter<(u64, std::option::Option)>`: 40 bytes, alignment: 8 bytes +print-type-size field `.iter`: 32 bytes +print-type-size field `.items`: 8 bytes +print-type-size type: `hashbrown::raw::RawIter<(u64, std::rc::Rc)>`: 40 bytes, alignment: 8 bytes +print-type-size field `.iter`: 32 bytes +print-type-size field `.items`: 8 bytes +print-type-size type: `hashbrown::raw::RawIter<(u64, types::dynamic::Dynamic)>`: 40 bytes, alignment: 8 bytes +print-type-size field `.iter`: 32 bytes +print-type-size field `.items`: 8 bytes +print-type-size type: `hashbrown::raw::RawIter<(u64, types::immutable_string::ImmutableString)>`: 40 bytes, alignment: 8 bytes +print-type-size field `.iter`: 32 bytes +print-type-size field `.items`: 8 bytes +print-type-size type: `itoa::Buffer`: 40 bytes, alignment: 1 bytes +print-type-size field `.bytes`: 40 bytes +print-type-size type: `packages::iter_basic::StepRange`: 40 bytes, alignment: 8 bytes +print-type-size field `.from`: 8 bytes +print-type-size field `.to`: 8 bytes +print-type-size field `.step`: 8 bytes +print-type-size field `.add`: 8 bytes +print-type-size field `.dir`: 1 bytes +print-type-size end padding: 7 bytes +print-type-size type: `packages::iter_basic::StepRange`: 40 bytes, alignment: 8 bytes +print-type-size field `.from`: 8 bytes +print-type-size field `.to`: 8 bytes +print-type-size field `.step`: 8 bytes +print-type-size field `.add`: 8 bytes +print-type-size field `.dir`: 1 bytes +print-type-size end padding: 7 bytes +print-type-size type: `packages::iter_basic::StepRange`: 40 bytes, alignment: 8 bytes +print-type-size field `.from`: 8 bytes +print-type-size field `.to`: 8 bytes +print-type-size field `.step`: 8 bytes +print-type-size field `.add`: 8 bytes +print-type-size field `.dir`: 1 bytes +print-type-size end padding: 7 bytes +print-type-size type: `serde::ser::DynamicSerializer`: 40 bytes, alignment: 8 bytes +print-type-size field `._key`: 24 bytes +print-type-size field `._value`: 16 bytes +print-type-size type: `serde::ser::StructVariantSerializer`: 40 bytes, alignment: 8 bytes +print-type-size field `.variant`: 16 bytes +print-type-size field `.map`: 24 bytes +print-type-size type: `serde::ser::TupleVariantSerializer`: 40 bytes, alignment: 8 bytes +print-type-size field `.variant`: 16 bytes +print-type-size field `.array`: 24 bytes +print-type-size type: `serde_json::error::ErrorImpl`: 40 bytes, alignment: 8 bytes +print-type-size field `.code`: 24 bytes +print-type-size field `.line`: 8 bytes +print-type-size field `.column`: 8 bytes +print-type-size type: `serde_json::ser::Serializer<&mut std::vec::Vec, serde_json::ser::PrettyFormatter<'_>>`: 40 bytes, alignment: 8 bytes +print-type-size field `.writer`: 8 bytes +print-type-size field `.formatter`: 32 bytes +print-type-size type: `smallvec::Drain<'_, [smartstring::SmartString; 8]>`: 40 bytes, alignment: 8 bytes +print-type-size field `.tail_start`: 8 bytes +print-type-size field `.tail_len`: 8 bytes +print-type-size field `.iter`: 16 bytes +print-type-size field `.vec`: 8 bytes +print-type-size type: `smallvec::Drain<'_, [std::vec::Vec; 8]>`: 40 bytes, alignment: 8 bytes +print-type-size field `.tail_start`: 8 bytes +print-type-size field `.tail_len`: 8 bytes +print-type-size field `.iter`: 16 bytes +print-type-size field `.vec`: 8 bytes +print-type-size type: `smallvec::Drain<'_, [types::dynamic::Dynamic; 8]>`: 40 bytes, alignment: 8 bytes +print-type-size field `.tail_start`: 8 bytes +print-type-size field `.tail_len`: 8 bytes +print-type-size field `.iter`: 16 bytes +print-type-size field `.vec`: 8 bytes +print-type-size type: `smallvec::Drain<'_, [types::immutable_string::ImmutableString; 3]>`: 40 bytes, alignment: 8 bytes +print-type-size field `.tail_start`: 8 bytes +print-type-size field `.tail_len`: 8 bytes +print-type-size field `.iter`: 16 bytes +print-type-size field `.vec`: 8 bytes +print-type-size type: `smallvec::IntoIter<[char; 3]>`: 40 bytes, alignment: 8 bytes +print-type-size field `.data`: 24 bytes +print-type-size field `.current`: 8 bytes +print-type-size field `.end`: 8 bytes +print-type-size type: `smallvec::SmallVecData<[&mut types::dynamic::Dynamic; 5]>`: 40 bytes, alignment: 8 bytes +print-type-size variant `SmallVecData`: 40 bytes +print-type-size field `.heap`: 16 bytes +print-type-size field `.inline`: 40 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size type: `smallvec::SmallVecData<[types::immutable_string::ImmutableString; 5]>`: 40 bytes, alignment: 8 bytes +print-type-size variant `SmallVecData`: 40 bytes +print-type-size field `.heap`: 16 bytes +print-type-size field `.inline`: 40 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::map::DrainFilterInner<'_, u64, smallvec::SmallVec<[usize; 1]>>`: 40 bytes, alignment: 8 bytes +print-type-size field `.length`: 8 bytes +print-type-size field `.dormant_root`: 8 bytes +print-type-size field `.cur_leaf_edge`: 24 bytes +print-type-size type: `std::cell::RefCell`: 40 bytes, alignment: 8 bytes +print-type-size field `.borrow`: 8 bytes +print-type-size field `.value`: 32 bytes +print-type-size type: `std::cell::UnsafeCell>>`: 40 bytes, alignment: 8 bytes +print-type-size field `.value`: 40 bytes +print-type-size type: `std::collections::btree_map::Entry<'_, std::any::TypeId, std::rc::Rc std::boxed::Box>>>>>`: 40 bytes, alignment: 8 bytes +print-type-size variant `Vacant`: 40 bytes +print-type-size field `.0`: 40 bytes +print-type-size variant `Occupied`: 32 bytes +print-type-size field `.0`: 32 bytes +print-type-size type: `std::collections::btree_map::Entry<'_, types::immutable_string::ImmutableString, types::dynamic::Dynamic>`: 40 bytes, alignment: 8 bytes +print-type-size variant `Vacant`: 40 bytes +print-type-size field `.0`: 40 bytes +print-type-size variant `Occupied`: 40 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 32 bytes, alignment: 8 bytes +print-type-size type: `std::collections::btree_map::Entry<'_, u64, smallvec::SmallVec<[usize; 1]>>`: 40 bytes, alignment: 8 bytes +print-type-size variant `Vacant`: 40 bytes +print-type-size field `.0`: 40 bytes +print-type-size variant `Occupied`: 32 bytes +print-type-size field `.0`: 32 bytes +print-type-size type: `std::collections::btree_map::VacantEntry<'_, std::any::TypeId, std::rc::Rc std::boxed::Box>>>>>`: 40 bytes, alignment: 8 bytes +print-type-size field `.alloc`: 0 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.key`: 8 bytes +print-type-size field `.handle`: 24 bytes +print-type-size field `.dormant_map`: 8 bytes +print-type-size type: `std::collections::btree_map::VacantEntry<'_, types::immutable_string::ImmutableString, types::dynamic::Dynamic>`: 40 bytes, alignment: 8 bytes +print-type-size field `.alloc`: 0 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.key`: 8 bytes +print-type-size field `.handle`: 24 bytes +print-type-size field `.dormant_map`: 8 bytes +print-type-size type: `std::collections::btree_map::VacantEntry<'_, u64, smallvec::SmallVec<[usize; 1]>>`: 40 bytes, alignment: 8 bytes +print-type-size field `.alloc`: 0 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.key`: 8 bytes +print-type-size field `.handle`: 24 bytes +print-type-size field `.dormant_map`: 8 bytes +print-type-size type: `std::collections::hash_map::Iter<'_, u64, module::FuncInfo>`: 40 bytes, alignment: 8 bytes +print-type-size field `.base`: 40 bytes +print-type-size type: `std::collections::hash_map::Iter<'_, u64, std::option::Option>`: 40 bytes, alignment: 8 bytes +print-type-size field `.base`: 40 bytes +print-type-size type: `std::collections::hash_map::Iter<'_, u64, std::rc::Rc>`: 40 bytes, alignment: 8 bytes +print-type-size field `.base`: 40 bytes +print-type-size type: `std::collections::hash_map::Iter<'_, u64, types::immutable_string::ImmutableString>`: 40 bytes, alignment: 8 bytes +print-type-size field `.base`: 40 bytes +print-type-size type: `std::collections::hash_map::Values<'_, u64, module::FuncInfo>`: 40 bytes, alignment: 8 bytes +print-type-size field `.inner`: 40 bytes +print-type-size type: `std::collections::hash_map::Values<'_, u64, std::rc::Rc>`: 40 bytes, alignment: 8 bytes +print-type-size field `.inner`: 40 bytes +print-type-size type: `std::collections::hash_map::Values<'_, u64, types::immutable_string::ImmutableString>`: 40 bytes, alignment: 8 bytes +print-type-size field `.inner`: 40 bytes +print-type-size type: `std::fs::OpenOptions`: 40 bytes, alignment: 8 bytes +print-type-size field `.0`: 40 bytes +print-type-size type: `std::iter::Enumerate>`: 40 bytes, alignment: 8 bytes +print-type-size field `.iter`: 32 bytes +print-type-size field `.count`: 8 bytes +print-type-size type: `std::iter::Map, fn(f64) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>`: 40 bytes, alignment: 8 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 40 bytes +print-type-size type: `std::iter::Map, fn(i64) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>`: 40 bytes, alignment: 8 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 40 bytes +print-type-size type: `std::iter::Map, fn(u64) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>`: 40 bytes, alignment: 8 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 40 bytes +print-type-size type: `std::iter::Map>, [closure@src\func\call.rs:1351:49: 1351:57]>`: 40 bytes, alignment: 8 bytes +print-type-size field `.iter`: 24 bytes +print-type-size field `.f`: 16 bytes +print-type-size type: `std::iter::Map>, [closure@src\func\call.rs:310:34: 310:42]>`: 40 bytes, alignment: 8 bytes +print-type-size field `.iter`: 24 bytes +print-type-size field `.f`: 16 bytes +print-type-size type: `std::iter::Map>, [closure@src\eval\target.rs:354:26: 354:35]>`: 40 bytes, alignment: 8 bytes +print-type-size field `.iter`: 24 bytes +print-type-size field `.f`: 16 bytes +print-type-size type: `std::iter::Map>, [closure@src\packages\string_more.rs:819:22: 819:31]>`: 40 bytes, alignment: 8 bytes +print-type-size field `.iter`: 24 bytes +print-type-size field `.f`: 16 bytes +print-type-size type: `std::iter::Map>, [closure@src\packages\string_more.rs:836:26: 836:35]>`: 40 bytes, alignment: 8 bytes +print-type-size field `.iter`: 24 bytes +print-type-size field `.f`: 16 bytes +print-type-size type: `std::iter::Map, fn(i128) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>`: 40 bytes, alignment: 8 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 40 bytes +print-type-size type: `std::iter::Map, fn(u128) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>`: 40 bytes, alignment: 8 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 40 bytes +print-type-size type: `std::iter::Rev>`: 40 bytes, alignment: 8 bytes +print-type-size field `.iter`: 40 bytes +print-type-size type: `std::iter::Take>`: 40 bytes, alignment: 8 bytes +print-type-size field `.iter`: 32 bytes +print-type-size field `.n`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop<((types::immutable_string::ImmutableString, u64), (types::immutable_string::ImmutableString, u64), types::immutable_string::ImmutableString)>`: 40 bytes, alignment: 8 bytes +print-type-size field `.value`: 40 bytes +print-type-size type: `std::mem::ManuallyDrop<(ast::ident::Ident, ast::expr::Expr, std::option::Option)>`: 40 bytes, alignment: 8 bytes +print-type-size field `.value`: 40 bytes +print-type-size type: `std::mem::ManuallyDrop<(smartstring::SmartString, types::dynamic::Dynamic)>`: 40 bytes, alignment: 8 bytes +print-type-size field `.value`: 40 bytes +print-type-size type: `std::mem::ManuallyDrop<[&mut types::dynamic::Dynamic; 5]>`: 40 bytes, alignment: 8 bytes +print-type-size field `.value`: 40 bytes +print-type-size type: `std::mem::ManuallyDrop<[types::immutable_string::ImmutableString; 5]>`: 40 bytes, alignment: 8 bytes +print-type-size field `.value`: 40 bytes +print-type-size type: `std::mem::ManuallyDrop`: 40 bytes, alignment: 8 bytes +print-type-size field `.value`: 40 bytes +print-type-size type: `std::mem::ManuallyDrop`: 40 bytes, alignment: 8 bytes +print-type-size field `.value`: 40 bytes +print-type-size type: `std::mem::ManuallyDrop>`: 40 bytes, alignment: 8 bytes +print-type-size field `.value`: 40 bytes +print-type-size type: `std::mem::ManuallyDrop>`: 40 bytes, alignment: 8 bytes +print-type-size field `.value`: 40 bytes +print-type-size type: `std::mem::ManuallyDrop>`: 40 bytes, alignment: 8 bytes +print-type-size field `.value`: 40 bytes +print-type-size type: `std::mem::ManuallyDrop, types::dynamic::Dynamic)>>`: 40 bytes, alignment: 8 bytes +print-type-size field `.value`: 40 bytes +print-type-size type: `std::mem::ManuallyDrop>`: 40 bytes, alignment: 8 bytes +print-type-size field `.value`: 40 bytes +print-type-size type: `std::mem::ManuallyDrop>`: 40 bytes, alignment: 8 bytes +print-type-size field `.value`: 40 bytes +print-type-size type: `std::mem::ManuallyDrop>`: 40 bytes, alignment: 8 bytes +print-type-size field `.value`: 40 bytes +print-type-size type: `std::mem::ManuallyDrop>`: 40 bytes, alignment: 8 bytes +print-type-size field `.value`: 40 bytes +print-type-size type: `std::mem::ManuallyDrop>`: 40 bytes, alignment: 8 bytes +print-type-size field `.value`: 40 bytes +print-type-size type: `std::mem::ManuallyDrop, types::dynamic::Dynamic)>>>`: 40 bytes, alignment: 8 bytes +print-type-size field `.value`: 40 bytes +print-type-size type: `std::mem::MaybeUninit<((types::immutable_string::ImmutableString, u64), (types::immutable_string::ImmutableString, u64), types::immutable_string::ImmutableString)>`: 40 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 40 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 40 bytes +print-type-size type: `std::mem::MaybeUninit<(ast::ident::Ident, ast::expr::Expr, std::option::Option)>`: 40 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 40 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 40 bytes +print-type-size type: `std::mem::MaybeUninit<(smartstring::SmartString, types::dynamic::Dynamic)>`: 40 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 40 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 40 bytes +print-type-size type: `std::mem::MaybeUninit<[&mut types::dynamic::Dynamic; 5]>`: 40 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 40 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 40 bytes +print-type-size type: `std::mem::MaybeUninit<[types::immutable_string::ImmutableString; 5]>`: 40 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 40 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 40 bytes +print-type-size type: `std::mem::MaybeUninit`: 40 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 40 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 40 bytes +print-type-size type: `std::mem::MaybeUninit`: 40 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 40 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 40 bytes +print-type-size type: `std::mem::MaybeUninit>`: 40 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 40 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 40 bytes +print-type-size type: `std::mem::MaybeUninit>`: 40 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 40 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 40 bytes +print-type-size type: `std::mem::MaybeUninit>`: 40 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 40 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 40 bytes +print-type-size type: `std::mem::MaybeUninit, types::dynamic::Dynamic)>>`: 40 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 40 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 40 bytes +print-type-size type: `std::mem::MaybeUninit>`: 40 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 40 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 40 bytes +print-type-size type: `std::mem::MaybeUninit>`: 40 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 40 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 40 bytes +print-type-size type: `std::mem::MaybeUninit>`: 40 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 40 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 40 bytes +print-type-size type: `std::mem::MaybeUninit, types::dynamic::Dynamic)>>>`: 40 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 40 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 40 bytes +print-type-size type: `std::ops::ControlFlow<(usize, (&str, bool, &types::dynamic::Dynamic)), std::convert::Infallible>`: 40 bytes, alignment: 8 bytes +print-type-size variant `Break`: 40 bytes +print-type-size field `.0`: 40 bytes +print-type-size type: `std::ops::ControlFlow<(usize, (&str, bool, &types::dynamic::Dynamic))>`: 40 bytes, alignment: 8 bytes +print-type-size variant `Break`: 40 bytes +print-type-size field `.0`: 40 bytes +print-type-size variant `Continue`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::ops::ControlFlow>`: 40 bytes, alignment: 8 bytes +print-type-size variant `Break`: 40 bytes +print-type-size field `.0`: 40 bytes +print-type-size variant `Continue`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::ops::ControlFlow, std::option::Option<(smartstring::SmartString, types::dynamic::Dynamic)>>`: 40 bytes, alignment: 8 bytes +print-type-size variant `Continue`: 40 bytes +print-type-size field `.0`: 40 bytes +print-type-size variant `Break`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::ops::ControlFlow>, eval::target::Target<'_>>`: 40 bytes, alignment: 8 bytes +print-type-size variant `Continue`: 40 bytes +print-type-size field `.0`: 40 bytes +print-type-size variant `Break`: 16 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size type: `std::ops::ControlFlow, (smartstring::SmartString, tokenizer::Position)>`: 40 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Continue`: 32 bytes +print-type-size field `.0`: 32 bytes +print-type-size variant `Break`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::ops::ControlFlow, (&str, bool, types::dynamic::Dynamic)>`: 40 bytes, alignment: 8 bytes +print-type-size variant `Continue`: 40 bytes +print-type-size field `.0`: 40 bytes +print-type-size variant `Break`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::ops::RangeInclusive`: 40 bytes, alignment: 8 bytes +print-type-size field `.start`: 16 bytes +print-type-size field `.end`: 16 bytes +print-type-size field `.exhausted`: 1 bytes +print-type-size end padding: 7 bytes +print-type-size type: `std::ops::RangeInclusive`: 40 bytes, alignment: 8 bytes +print-type-size field `.start`: 16 bytes +print-type-size field `.end`: 16 bytes +print-type-size field `.exhausted`: 1 bytes +print-type-size end padding: 7 bytes +print-type-size type: `std::option::Option<(&str, bool, types::dynamic::Dynamic)>`: 40 bytes, alignment: 8 bytes +print-type-size variant `Some`: 40 bytes +print-type-size field `.0`: 40 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<(module::FnNamespace, ast::flags::FnAccess, &str, usize, &std::rc::Rc)>`: 40 bytes, alignment: 8 bytes +print-type-size variant `Some`: 40 bytes +print-type-size field `.0`: 40 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<(smartstring::SmartString, types::dynamic::Dynamic)>`: 40 bytes, alignment: 8 bytes +print-type-size variant `Some`: 40 bytes +print-type-size field `.0`: 40 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<(std::path::PathBuf, std::rc::Rc)>`: 40 bytes, alignment: 8 bytes +print-type-size variant `Some`: 40 bytes +print-type-size field `.0`: 40 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<(u64, smallvec::SmallVec<[usize; 1]>)>`: 40 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Some`: 32 bytes +print-type-size field `.0`: 32 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<(usize, (&str, bool, &types::dynamic::Dynamic))>`: 40 bytes, alignment: 8 bytes +print-type-size variant `Some`: 40 bytes +print-type-size field `.0`: 40 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<[u64; 4]>`: 40 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Some`: 32 bytes +print-type-size field `.0`: 32 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option`: 40 bytes, alignment: 8 bytes +print-type-size variant `Some`: 40 bytes +print-type-size field `.0`: 40 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option`: 40 bytes, alignment: 8 bytes +print-type-size variant `Some`: 40 bytes +print-type-size field `.0`: 40 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>`: 40 bytes, alignment: 8 bytes +print-type-size variant `Some`: 40 bytes +print-type-size field `.0`: 40 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>`: 40 bytes, alignment: 8 bytes +print-type-size variant `Some`: 40 bytes +print-type-size field `.0`: 40 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>`: 40 bytes, alignment: 8 bytes +print-type-size variant `Some`: 40 bytes +print-type-size field `.0`: 40 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>`: 40 bytes, alignment: 8 bytes +print-type-size variant `Some`: 40 bytes +print-type-size field `.0`: 40 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>`: 40 bytes, alignment: 8 bytes +print-type-size variant `Some`: 40 bytes +print-type-size field `.0`: 40 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>`: 40 bytes, alignment: 8 bytes +print-type-size variant `Some`: 40 bytes +print-type-size field `.0`: 40 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, for<'a> fn(&'a mut ast::stmt::Stmt) -> ast::stmt::Stmt {std::mem::take::}>, std::iter::Map, for<'a> fn(&'a mut ast::stmt::Stmt) -> ast::stmt::Stmt {std::mem::take::}>>>`: 40 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Some`: 32 bytes +print-type-size field `.0`: 32 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>`: 40 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Some`: 32 bytes +print-type-size field `.0`: 32 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>`: 40 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Some`: 32 bytes +print-type-size field `.0`: 32 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>`: 40 bytes, alignment: 8 bytes +print-type-size variant `Some`: 40 bytes +print-type-size field `.0`: 40 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>`: 40 bytes, alignment: 8 bytes +print-type-size variant `Some`: 40 bytes +print-type-size field `.0`: 40 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, types::dynamic::Dynamic)>>`: 40 bytes, alignment: 8 bytes +print-type-size variant `Some`: 40 bytes +print-type-size field `.0`: 40 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>`: 40 bytes, alignment: 8 bytes +print-type-size variant `Some`: 40 bytes +print-type-size field `.0`: 40 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::path::Prefix<'_>`: 40 bytes, alignment: 8 bytes +print-type-size discriminant: 1 bytes +print-type-size variant `VerbatimUNC`: 39 bytes +print-type-size padding: 7 bytes +print-type-size field `.0`: 16 bytes, alignment: 8 bytes +print-type-size field `.1`: 16 bytes +print-type-size variant `UNC`: 39 bytes +print-type-size padding: 7 bytes +print-type-size field `.0`: 16 bytes, alignment: 8 bytes +print-type-size field `.1`: 16 bytes +print-type-size variant `Verbatim`: 23 bytes +print-type-size padding: 7 bytes +print-type-size field `.0`: 16 bytes, alignment: 8 bytes +print-type-size variant `DeviceNS`: 23 bytes +print-type-size padding: 7 bytes +print-type-size field `.0`: 16 bytes, alignment: 8 bytes +print-type-size variant `VerbatimDisk`: 1 bytes +print-type-size field `.0`: 1 bytes +print-type-size variant `Disk`: 1 bytes +print-type-size field `.0`: 1 bytes +print-type-size type: `std::rc::RcBox`: 40 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::rc::RcBox>`: 40 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::rc::RcBox>`: 40 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::rc::RcBox>>`: 40 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::result::Result<(&str, bool, types::dynamic::Dynamic), usize>`: 40 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 40 bytes +print-type-size field `.0`: 40 bytes +print-type-size variant `Err`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::result::Result<(smartstring::SmartString, tokenizer::Position), types::parse_error::ParseError>`: 40 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Ok`: 32 bytes +print-type-size field `.0`: 32 bytes +print-type-size variant `Err`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::result::Result, std::boxed::Box>`: 40 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 40 bytes +print-type-size field `.0`: 40 bytes +print-type-size variant `Err`: 16 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size type: `std::result::Result, std::boxed::Box>`: 40 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 40 bytes +print-type-size field `.0`: 40 bytes +print-type-size variant `Err`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::result::Result, std::boxed::Box>`: 40 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 40 bytes +print-type-size field `.0`: 40 bytes +print-type-size variant `Err`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::result::Result, std::boxed::Box>`: 40 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 40 bytes +print-type-size field `.0`: 40 bytes +print-type-size variant `Err`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::result::Result>`: 40 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 40 bytes +print-type-size field `.0`: 40 bytes +print-type-size variant `Err`: 16 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size type: `std::result::Result>`: 40 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 40 bytes +print-type-size field `.0`: 40 bytes +print-type-size variant `Err`: 16 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size type: `std::result::Result, std::boxed::Box>`: 40 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Ok`: 32 bytes +print-type-size field `.0`: 32 bytes +print-type-size variant `Err`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::result::Result, std::boxed::Box>`: 40 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Ok`: 32 bytes +print-type-size field `.0`: 32 bytes +print-type-size variant `Err`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::result::Result, types::dynamic::Dynamic)>, serde_json::Error>`: 40 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 40 bytes +print-type-size field `.0`: 40 bytes +print-type-size variant `Err`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::result::Result`: 40 bytes, alignment: 8 bytes +print-type-size variant `Err`: 40 bytes +print-type-size field `.0`: 40 bytes +print-type-size variant `Ok`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size type: `std::str::pattern::CharPredicateSearcher<'_, core::str::IsWhitespace>`: 40 bytes, alignment: 8 bytes +print-type-size field `.0`: 40 bytes +print-type-size type: `std::str::pattern::MultiCharEqSearcher<'_, core::str::IsWhitespace>`: 40 bytes, alignment: 8 bytes +print-type-size field `.char_eq`: 0 bytes +print-type-size field `.haystack`: 16 bytes +print-type-size field `.char_indices`: 24 bytes +print-type-size type: `std::string::Drain<'_>`: 40 bytes, alignment: 8 bytes +print-type-size field `.string`: 8 bytes +print-type-size field `.start`: 8 bytes +print-type-size field `.end`: 8 bytes +print-type-size field `.iter`: 16 bytes +print-type-size type: `std::string::FromUtf8Error`: 40 bytes, alignment: 8 bytes +print-type-size field `.bytes`: 24 bytes +print-type-size field `.error`: 16 bytes +print-type-size type: `std::sys::windows::fs::OpenOptions`: 40 bytes, alignment: 8 bytes +print-type-size field `.security_attributes`: 8 bytes +print-type-size field `.custom_flags`: 4 bytes +print-type-size field `.access_mode`: 8 bytes +print-type-size field `.attributes`: 4 bytes +print-type-size field `.share_mode`: 4 bytes +print-type-size field `.security_qos_flags`: 4 bytes +print-type-size field `.read`: 1 bytes +print-type-size field `.write`: 1 bytes +print-type-size field `.append`: 1 bytes +print-type-size field `.truncate`: 1 bytes +print-type-size field `.create`: 1 bytes +print-type-size field `.create_new`: 1 bytes +print-type-size end padding: 2 bytes +print-type-size type: `std::vec::Drain<'_, types::dynamic::Dynamic>`: 40 bytes, alignment: 8 bytes +print-type-size field `.tail_start`: 8 bytes +print-type-size field `.tail_len`: 8 bytes +print-type-size field `.iter`: 16 bytes +print-type-size field `.vec`: 8 bytes +print-type-size type: `std::vec::Drain<'_, u8>`: 40 bytes, alignment: 8 bytes +print-type-size field `.tail_start`: 8 bytes +print-type-size field `.tail_len`: 8 bytes +print-type-size field `.iter`: 16 bytes +print-type-size field `.vec`: 8 bytes +print-type-size type: `std::option::Option>`: 36 bytes, alignment: 4 bytes +print-type-size discriminant: 4 bytes +print-type-size variant `Some`: 32 bytes +print-type-size field `.0`: 32 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `[closure@ as std::iter::Iterator>::fold::enumerate<&&mut types::dynamic::Dynamic, (), [closure@std::iter::adapters::map::map_fold<(usize, &&mut types::dynamic::Dynamic), std::any::TypeId, (), [closure@src\func\call.rs:1351:49: 1351:57], [closure@std::iter::Iterator::for_each::call::{closure#0}]>::{closure#0}]>::{closure#0}]`: 32 bytes, alignment: 8 bytes +print-type-size end padding: 32 bytes +print-type-size type: `[closure@ as std::iter::Iterator>::fold::enumerate<&&mut types::dynamic::Dynamic, (), [closure@std::iter::adapters::map::map_fold<(usize, &&mut types::dynamic::Dynamic), std::any::TypeId, (), [closure@src\func\call.rs:310:34: 310:42], [closure@std::iter::Iterator::for_each::call::{closure#0}]>::{closure#0}]>::{closure#0}]`: 32 bytes, alignment: 8 bytes +print-type-size end padding: 32 bytes +print-type-size type: `[closure@ as std::iter::Iterator>::fold::enumerate<&mut types::dynamic::Dynamic, (), [closure@std::iter::Iterator::for_each::call<(usize, &mut types::dynamic::Dynamic), [closure@src\packages\string_basic.rs:185:47: 185:55]>::{closure#0}]>::{closure#0}]`: 32 bytes, alignment: 8 bytes +print-type-size end padding: 32 bytes +print-type-size type: `[closure@ as std::iter::Iterator>::fold::enumerate<(&smartstring::SmartString, &mut types::dynamic::Dynamic), (), [closure@std::iter::Iterator::for_each::call<(usize, (&smartstring::SmartString, &mut types::dynamic::Dynamic)), [closure@src\packages\string_basic.rs:210:45: 210:58]>::{closure#0}]>::{closure#0}]`: 32 bytes, alignment: 8 bytes +print-type-size end padding: 32 bytes +print-type-size type: `[closure@ as std::iter::Iterator>::try_fold::enumerate<'_, &eval::debugger::BreakPoint, (), std::ops::ControlFlow<(usize, &eval::debugger::BreakPoint)>, [closure@std::iter::adapters::filter::filter_try_fold<'_, (usize, &eval::debugger::BreakPoint), (), std::ops::ControlFlow<(usize, &eval::debugger::BreakPoint)>, [closure@src\eval\debugger.rs:335:21: 335:32], [closure@std::iter::Iterator::find::check<(usize, &eval::debugger::BreakPoint), [closure@src\eval\debugger.rs:336:19: 336:30]>::{closure#0}]>::{closure#0}]>::{closure#0}]`: 32 bytes, alignment: 8 bytes +print-type-size end padding: 32 bytes +print-type-size type: `[closure@ as std::iter::Iterator>::fold::flatten, (), [closure@std::iter::adapters::filter::filter_fold<&module::FuncInfo, (), [closure@src\module\mod.rs:1951:31: 1951:35], [closure@std::iter::adapters::map::map_fold<&module::FuncInfo, (module::FnNamespace, ast::flags::FnAccess, &str, usize, &std::rc::Rc), (), [closure@src\module\mod.rs:1951:60: 1951:63], [closure@std::iter::adapters::filter::filter_fold<(module::FnNamespace, ast::flags::FnAccess, &str, usize, &std::rc::Rc), (), [closure@src\packages\lang_core.rs:300:25: 300:42], [closure@std::iter::Iterator::for_each::call<(module::FnNamespace, ast::flags::FnAccess, &str, usize, &std::rc::Rc), [closure@src\packages\lang_core.rs:301:27: 301:36]>::{closure#0}]>::{closure#0}]>::{closure#0}]>::{closure#0}]>::{closure#0}]`: 32 bytes, alignment: 8 bytes +print-type-size end padding: 32 bytes +print-type-size type: `[closure@ as std::iter::Iterator>::try_fold::flatten, (), std::ops::ControlFlow<()>, [closure@std::iter::adapters::filter::filter_try_fold<'_, &module::FuncInfo, (), std::ops::ControlFlow<()>, [closure@src\module\mod.rs:1951:31: 1951:35], [closure@std::iter::adapters::map::map_try_fold<'_, &module::FuncInfo, (module::FnNamespace, ast::flags::FnAccess, &str, usize, &std::rc::Rc), (), std::ops::ControlFlow<()>, [closure@src\module\mod.rs:1951:60: 1951:63], [closure@std::iter::adapters::map::map_try_fold<'_, (module::FnNamespace, ast::flags::FnAccess, &str, usize, &std::rc::Rc), &ast::script_fn::ScriptFnDef, (), std::ops::ControlFlow<()>, [closure@src\ast\ast.rs:756:18: 756:32], [closure@std::iter::Iterator::any::check<&ast::script_fn::ScriptFnDef, [closure@src\module\mod.rs:2110:42: 2110:45]>::{closure#0}]>::{closure#0}]>::{closure#0}]>::{closure#0}]>::{closure#0}]`: 32 bytes, alignment: 8 bytes +print-type-size end padding: 32 bytes +print-type-size type: `[closure@src\eval\stmt.rs:793:31: 793:34]`: 32 bytes, alignment: 8 bytes +print-type-size end padding: 32 bytes +print-type-size type: `[closure@src\eval\stmt.rs:797:30: 797:32]`: 32 bytes, alignment: 8 bytes +print-type-size end padding: 32 bytes +print-type-size type: `[closure@src\optimizer.rs:1122:35: 1122:38]`: 32 bytes, alignment: 8 bytes +print-type-size end padding: 32 bytes +print-type-size type: `[closure@src\packages\array_basic.rs:1064:26: 1064:31]`: 32 bytes, alignment: 8 bytes +print-type-size end padding: 32 bytes +print-type-size type: `[closure@src\packages\array_basic.rs:1163:26: 1163:31]`: 32 bytes, alignment: 8 bytes +print-type-size end padding: 32 bytes +print-type-size type: `[closure@src\packages\array_basic.rs:1250:26: 1250:31]`: 32 bytes, alignment: 8 bytes +print-type-size end padding: 32 bytes +print-type-size type: `[closure@src\packages\array_basic.rs:754:26: 754:31]`: 32 bytes, alignment: 8 bytes +print-type-size end padding: 32 bytes +print-type-size type: `[closure@std::iter::adapters::filter::filter_fold<&module::FuncInfo, (), [closure@src\module\mod.rs:1951:31: 1951:35], [closure@std::iter::adapters::map::map_fold<&module::FuncInfo, (module::FnNamespace, ast::flags::FnAccess, &str, usize, &std::rc::Rc), (), [closure@src\module\mod.rs:1951:60: 1951:63], [closure@std::iter::adapters::filter::filter_fold<(module::FnNamespace, ast::flags::FnAccess, &str, usize, &std::rc::Rc), (), [closure@src\packages\lang_core.rs:300:25: 300:42], [closure@std::iter::Iterator::for_each::call<(module::FnNamespace, ast::flags::FnAccess, &str, usize, &std::rc::Rc), [closure@src\packages\lang_core.rs:301:27: 301:36]>::{closure#0}]>::{closure#0}]>::{closure#0}]>::{closure#0}]`: 32 bytes, alignment: 8 bytes +print-type-size end padding: 32 bytes +print-type-size type: `[closure@std::iter::adapters::filter::filter_fold<&std::rc::Rc, (), [closure@src\api\definitions\mod.rs:318:21: 318:24], [closure@ as std::iter::Iterator>::fold::enumerate<&std::rc::Rc, (), [closure@std::iter::Iterator::for_each::call<(usize, &std::rc::Rc), [closure@src\api\definitions\mod.rs:320:23: 320:31]>::{closure#0}]>::{closure#0}]>::{closure#0}]`: 32 bytes, alignment: 8 bytes +print-type-size end padding: 32 bytes +print-type-size type: `[closure@std::iter::adapters::filter::filter_fold<(module::FnNamespace, ast::flags::FnAccess, &str, usize, &std::rc::Rc), (), [closure@src\packages\lang_core.rs:300:25: 300:42], [closure@std::iter::Iterator::for_each::call<(module::FnNamespace, ast::flags::FnAccess, &str, usize, &std::rc::Rc), [closure@src\packages\lang_core.rs:301:27: 301:36]>::{closure#0}]>::{closure#0}]`: 32 bytes, alignment: 8 bytes +print-type-size end padding: 32 bytes +print-type-size type: `[closure@std::iter::adapters::filter::filter_try_fold<'_, &module::FuncInfo, (), std::ops::ControlFlow<()>, [closure@src\module\mod.rs:1951:31: 1951:35], [closure@std::iter::adapters::map::map_try_fold<'_, &module::FuncInfo, (module::FnNamespace, ast::flags::FnAccess, &str, usize, &std::rc::Rc), (), std::ops::ControlFlow<()>, [closure@src\module\mod.rs:1951:60: 1951:63], [closure@std::iter::adapters::map::map_try_fold<'_, (module::FnNamespace, ast::flags::FnAccess, &str, usize, &std::rc::Rc), &ast::script_fn::ScriptFnDef, (), std::ops::ControlFlow<()>, [closure@src\ast\ast.rs:756:18: 756:32], [closure@std::iter::Iterator::any::check<&ast::script_fn::ScriptFnDef, [closure@src\module\mod.rs:2110:42: 2110:45]>::{closure#0}]>::{closure#0}]>::{closure#0}]>::{closure#0}]`: 32 bytes, alignment: 8 bytes +print-type-size end padding: 32 bytes +print-type-size type: `[closure@std::iter::adapters::map::map_fold<&module::FuncInfo, (module::FnNamespace, ast::flags::FnAccess, &str, usize, &std::rc::Rc), (), [closure@src\module\mod.rs:1951:60: 1951:63], [closure@std::iter::adapters::filter::filter_fold<(module::FnNamespace, ast::flags::FnAccess, &str, usize, &std::rc::Rc), (), [closure@src\packages\lang_core.rs:300:25: 300:42], [closure@std::iter::Iterator::for_each::call<(module::FnNamespace, ast::flags::FnAccess, &str, usize, &std::rc::Rc), [closure@src\packages\lang_core.rs:301:27: 301:36]>::{closure#0}]>::{closure#0}]>::{closure#0}]`: 32 bytes, alignment: 8 bytes +print-type-size end padding: 32 bytes +print-type-size type: `[closure@std::iter::adapters::map::map_fold<&std::boxed::Box, types::dynamic::Dynamic, (), [closure@src\packages\lang_core.rs:223:26: 223:29], [closure@std::iter::Iterator::for_each::call as std::vec::spec_extend::SpecExtend>, [closure@src\packages\lang_core.rs:223:26: 223:29]>>>::spec_extend::{closure#0}]>::{closure#0}]>::{closure#0}]`: 32 bytes, alignment: 8 bytes +print-type-size end padding: 32 bytes +print-type-size type: `[closure@std::iter::adapters::map::map_fold<&types::immutable_string::ImmutableString, types::dynamic::Dynamic, (), [closure@src\packages\lang_core.rs:213:22: 213:25], [closure@std::iter::Iterator::for_each::call as std::vec::spec_extend::SpecExtend, [closure@src\packages\lang_core.rs:213:22: 213:25]>>>::spec_extend::{closure#0}]>::{closure#0}]>::{closure#0}]`: 32 bytes, alignment: 8 bytes +print-type-size end padding: 32 bytes +print-type-size type: `ahash::AHasher`: 32 bytes, alignment: 8 bytes +print-type-size field `.buffer`: 8 bytes +print-type-size field `.pad`: 8 bytes +print-type-size field `.extra_keys`: 16 bytes +print-type-size type: `ahash::RandomState`: 32 bytes, alignment: 8 bytes +print-type-size field `.k0`: 8 bytes +print-type-size field `.k1`: 8 bytes +print-type-size field `.k2`: 8 bytes +print-type-size field `.k3`: 8 bytes +print-type-size type: `api::call_fn::CallFnOptions<'_>`: 32 bytes, alignment: 8 bytes +print-type-size field `.this_ptr`: 8 bytes +print-type-size field `.tag`: 16 bytes +print-type-size field `.eval_ast`: 1 bytes +print-type-size field `.rewind_scope`: 1 bytes +print-type-size end padding: 6 bytes +print-type-size type: `api::events::VarDefInfo<'_>`: 32 bytes, alignment: 8 bytes +print-type-size field `.name`: 16 bytes +print-type-size field `.nesting_level`: 8 bytes +print-type-size field `.is_const`: 1 bytes +print-type-size field `.will_shadow`: 1 bytes +print-type-size end padding: 6 bytes +print-type-size type: `ast::expr::BinaryExpr`: 32 bytes, alignment: 8 bytes +print-type-size field `.lhs`: 16 bytes +print-type-size field `.rhs`: 16 bytes +print-type-size type: `ast::script_fn::EncapsulatedEnviron`: 32 bytes, alignment: 8 bytes +print-type-size field `.lib`: 8 bytes +print-type-size field `.imports`: 16 bytes +print-type-size field `.constants`: 8 bytes +print-type-size type: `ast::stmt::ConditionalExpr`: 32 bytes, alignment: 8 bytes +print-type-size field `.condition`: 16 bytes +print-type-size field `.expr`: 16 bytes +print-type-size type: `eval::cache::FnResolutionCacheEntry`: 32 bytes, alignment: 8 bytes +print-type-size field `.func`: 24 bytes +print-type-size field `.source`: 8 bytes +print-type-size type: `hashbrown::map::HashMap`: 32 bytes, alignment: 8 bytes +print-type-size field `.hash_builder`: 0 bytes +print-type-size field `.table`: 32 bytes +print-type-size type: `hashbrown::map::HashMap`: 32 bytes, alignment: 8 bytes +print-type-size field `.hash_builder`: 0 bytes +print-type-size field `.table`: 32 bytes +print-type-size type: `hashbrown::map::HashMap, func::hashing::StraightHasherBuilder>`: 32 bytes, alignment: 8 bytes +print-type-size field `.hash_builder`: 0 bytes +print-type-size field `.table`: 32 bytes +print-type-size type: `hashbrown::map::HashMap, func::hashing::StraightHasherBuilder>`: 32 bytes, alignment: 8 bytes +print-type-size field `.hash_builder`: 0 bytes +print-type-size field `.table`: 32 bytes +print-type-size type: `hashbrown::map::HashMap`: 32 bytes, alignment: 8 bytes +print-type-size field `.hash_builder`: 0 bytes +print-type-size field `.table`: 32 bytes +print-type-size type: `hashbrown::map::HashMap`: 32 bytes, alignment: 8 bytes +print-type-size field `.hash_builder`: 0 bytes +print-type-size field `.table`: 32 bytes +print-type-size type: `hashbrown::raw::RawIterRange<(u64, func::callable_function::CallableFunction)>`: 32 bytes, alignment: 8 bytes +print-type-size field `.data`: 8 bytes +print-type-size field `.next_ctrl`: 8 bytes +print-type-size field `.end`: 8 bytes +print-type-size field `.current_group`: 2 bytes +print-type-size end padding: 6 bytes +print-type-size type: `hashbrown::raw::RawIterRange<(u64, module::FuncInfo)>`: 32 bytes, alignment: 8 bytes +print-type-size field `.data`: 8 bytes +print-type-size field `.next_ctrl`: 8 bytes +print-type-size field `.end`: 8 bytes +print-type-size field `.current_group`: 2 bytes +print-type-size end padding: 6 bytes +print-type-size type: `hashbrown::raw::RawIterRange<(u64, std::option::Option)>`: 32 bytes, alignment: 8 bytes +print-type-size field `.data`: 8 bytes +print-type-size field `.next_ctrl`: 8 bytes +print-type-size field `.end`: 8 bytes +print-type-size field `.current_group`: 2 bytes +print-type-size end padding: 6 bytes +print-type-size type: `hashbrown::raw::RawIterRange<(u64, std::rc::Rc)>`: 32 bytes, alignment: 8 bytes +print-type-size field `.data`: 8 bytes +print-type-size field `.next_ctrl`: 8 bytes +print-type-size field `.end`: 8 bytes +print-type-size field `.current_group`: 2 bytes +print-type-size end padding: 6 bytes +print-type-size type: `hashbrown::raw::RawIterRange<(u64, types::dynamic::Dynamic)>`: 32 bytes, alignment: 8 bytes +print-type-size field `.data`: 8 bytes +print-type-size field `.next_ctrl`: 8 bytes +print-type-size field `.end`: 8 bytes +print-type-size field `.current_group`: 2 bytes +print-type-size end padding: 6 bytes +print-type-size type: `hashbrown::raw::RawIterRange<(u64, types::immutable_string::ImmutableString)>`: 32 bytes, alignment: 8 bytes +print-type-size field `.data`: 8 bytes +print-type-size field `.next_ctrl`: 8 bytes +print-type-size field `.end`: 8 bytes +print-type-size field `.current_group`: 2 bytes +print-type-size end padding: 6 bytes +print-type-size type: `hashbrown::raw::RawTable<(u64, func::callable_function::CallableFunction)>`: 32 bytes, alignment: 8 bytes +print-type-size field `.marker`: 0 bytes +print-type-size field `.table`: 32 bytes +print-type-size type: `hashbrown::raw::RawTable<(u64, module::FuncInfo)>`: 32 bytes, alignment: 8 bytes +print-type-size field `.marker`: 0 bytes +print-type-size field `.table`: 32 bytes +print-type-size type: `hashbrown::raw::RawTable<(u64, std::option::Option)>`: 32 bytes, alignment: 8 bytes +print-type-size field `.marker`: 0 bytes +print-type-size field `.table`: 32 bytes +print-type-size type: `hashbrown::raw::RawTable<(u64, std::rc::Rc)>`: 32 bytes, alignment: 8 bytes +print-type-size field `.marker`: 0 bytes +print-type-size field `.table`: 32 bytes +print-type-size type: `hashbrown::raw::RawTable<(u64, types::dynamic::Dynamic)>`: 32 bytes, alignment: 8 bytes +print-type-size field `.marker`: 0 bytes +print-type-size field `.table`: 32 bytes +print-type-size type: `hashbrown::raw::RawTable<(u64, types::immutable_string::ImmutableString)>`: 32 bytes, alignment: 8 bytes +print-type-size field `.marker`: 0 bytes +print-type-size field `.table`: 32 bytes +print-type-size type: `hashbrown::raw::RawTableInner`: 32 bytes, alignment: 8 bytes +print-type-size field `.alloc`: 0 bytes +print-type-size field `.bucket_mask`: 8 bytes +print-type-size field `.ctrl`: 8 bytes +print-type-size field `.growth_left`: 8 bytes +print-type-size field `.items`: 8 bytes +print-type-size type: `hashbrown::rustc_entry::RustcEntry<'_, u64, std::option::Option>`: 32 bytes, alignment: 8 bytes +print-type-size variant `Occupied`: 32 bytes +print-type-size field `.0`: 32 bytes +print-type-size variant `Vacant`: 32 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 24 bytes, alignment: 8 bytes +print-type-size type: `hashbrown::rustc_entry::RustcEntry<'_, u64, types::immutable_string::ImmutableString>`: 32 bytes, alignment: 8 bytes +print-type-size variant `Occupied`: 32 bytes +print-type-size field `.0`: 32 bytes +print-type-size variant `Vacant`: 32 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 24 bytes, alignment: 8 bytes +print-type-size type: `hashbrown::rustc_entry::RustcOccupiedEntry<'_, u64, module::FuncInfo>`: 32 bytes, alignment: 8 bytes +print-type-size field `.key`: 16 bytes +print-type-size field `.elem`: 8 bytes +print-type-size field `.table`: 8 bytes +print-type-size type: `hashbrown::rustc_entry::RustcOccupiedEntry<'_, u64, std::option::Option>`: 32 bytes, alignment: 8 bytes +print-type-size field `.key`: 16 bytes +print-type-size field `.elem`: 8 bytes +print-type-size field `.table`: 8 bytes +print-type-size type: `hashbrown::rustc_entry::RustcOccupiedEntry<'_, u64, types::immutable_string::ImmutableString>`: 32 bytes, alignment: 8 bytes +print-type-size field `.key`: 16 bytes +print-type-size field `.elem`: 8 bytes +print-type-size field `.table`: 8 bytes +print-type-size type: `hashbrown::scopeguard::ScopeGuard>, [closure@ as std::clone::Clone>::clone::{closure#0}]>`: 32 bytes, alignment: 8 bytes +print-type-size field `.dropfn`: 0 bytes +print-type-size field `.value`: 32 bytes +print-type-size type: `hashbrown::scopeguard::ScopeGuard>, [closure@ as std::clone::Clone>::clone::{closure#0}]>`: 32 bytes, alignment: 8 bytes +print-type-size field `.dropfn`: 0 bytes +print-type-size field `.value`: 32 bytes +print-type-size type: `hashbrown::scopeguard::ScopeGuard>, [closure@ as std::clone::Clone>::clone::{closure#0}]>`: 32 bytes, alignment: 8 bytes +print-type-size field `.dropfn`: 0 bytes +print-type-size field `.value`: 32 bytes +print-type-size type: `module::FuncInfo`: 32 bytes, alignment: 8 bytes +print-type-size field `.func`: 24 bytes +print-type-size field `.metadata`: 8 bytes +print-type-size type: `packages::iter_basic::CharsStream`: 32 bytes, alignment: 8 bytes +print-type-size field `.0`: 24 bytes +print-type-size field `.1`: 8 bytes +print-type-size type: `rust_decimal::Error`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 4 bytes +print-type-size variant `ErrorString`: 28 bytes +print-type-size padding: 4 bytes +print-type-size field `.0`: 24 bytes, alignment: 8 bytes +print-type-size variant `ConversionTo`: 28 bytes +print-type-size padding: 4 bytes +print-type-size field `.0`: 24 bytes, alignment: 8 bytes +print-type-size variant `ScaleExceedsMaximumPrecision`: 4 bytes +print-type-size field `.0`: 4 bytes +print-type-size variant `ExceedsMaximumPossibleValue`: 0 bytes +print-type-size variant `LessThanMinimumPossibleValue`: 0 bytes +print-type-size variant `Underflow`: 0 bytes +print-type-size type: `serde::serialize::>::serialize::ScopeEntry<'_>`: 32 bytes, alignment: 8 bytes +print-type-size field `.name`: 16 bytes +print-type-size field `.value`: 8 bytes +print-type-size field `.is_constant`: 1 bytes +print-type-size end padding: 7 bytes +print-type-size type: `serde_json::ser::PrettyFormatter<'_>`: 32 bytes, alignment: 8 bytes +print-type-size field `.current_indent`: 8 bytes +print-type-size field `.indent`: 16 bytes +print-type-size field `.has_value`: 1 bytes +print-type-size end padding: 7 bytes +print-type-size type: `smallvec::SmallVec<[&mut types::dynamic::Dynamic; 3]>`: 32 bytes, alignment: 8 bytes +print-type-size field `.capacity`: 8 bytes +print-type-size field `.data`: 24 bytes +print-type-size type: `smallvec::SmallVec<[api::custom_syntax::Expression<'_>; 3]>`: 32 bytes, alignment: 8 bytes +print-type-size field `.capacity`: 8 bytes +print-type-size field `.data`: 24 bytes +print-type-size type: `smallvec::SmallVec<[std::any::TypeId; 3]>`: 32 bytes, alignment: 8 bytes +print-type-size field `.capacity`: 8 bytes +print-type-size field `.data`: 24 bytes +print-type-size type: `smallvec::SmallVec<[std::rc::Rc; 3]>`: 32 bytes, alignment: 8 bytes +print-type-size field `.capacity`: 8 bytes +print-type-size field `.data`: 24 bytes +print-type-size type: `smallvec::SmallVec<[std::rc::Rc; 3]>`: 32 bytes, alignment: 8 bytes +print-type-size field `.capacity`: 8 bytes +print-type-size field `.data`: 24 bytes +print-type-size type: `smallvec::SmallVec<[types::immutable_string::ImmutableString; 3]>`: 32 bytes, alignment: 8 bytes +print-type-size field `.capacity`: 8 bytes +print-type-size field `.data`: 24 bytes +print-type-size type: `smallvec::alloc::collections::btree::navigate::LazyLeafHandle>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Edge`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Root`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `smallvec::alloc::collections::btree::navigate::LazyLeafHandle, smallvec::alloc::collections::btree::set_val::SetValZST>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Edge`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Root`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `smallvec::alloc::collections::btree::navigate::LazyLeafHandle, std::option::Option>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Edge`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Root`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `smallvec::alloc::collections::btree::navigate::LazyLeafHandle, std::rc::Rc>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Edge`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Root`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `smallvec::alloc::collections::btree::navigate::LazyLeafHandle, types::custom_types::CustomTypeInfo>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Edge`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Root`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `smallvec::alloc::collections::btree::navigate::LazyLeafHandle, types::dynamic::Dynamic>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Edge`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Root`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `smallvec::alloc::collections::btree::navigate::LazyLeafHandle std::boxed::Box>>>>>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Edge`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Root`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `smallvec::alloc::collections::btree::navigate::LazyLeafHandle`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Edge`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Root`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `smallvec::alloc::collections::btree::navigate::LazyLeafHandle>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Edge`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Root`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `smallvec::alloc::collections::btree::navigate::LazyLeafHandle, &str, serde::metadata::ModuleMetadata<'_>>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Edge`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Root`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `smallvec::alloc::collections::btree::navigate::LazyLeafHandle, smartstring::SmartString, api::custom_syntax::CustomSyntax>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Edge`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Root`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `smallvec::alloc::collections::btree::navigate::LazyLeafHandle, smartstring::SmartString, smallvec::alloc::collections::btree::set_val::SetValZST>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Edge`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Root`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `smallvec::alloc::collections::btree::navigate::LazyLeafHandle, smartstring::SmartString, std::option::Option>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Edge`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Root`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `smallvec::alloc::collections::btree::navigate::LazyLeafHandle, smartstring::SmartString, std::rc::Rc>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Edge`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Root`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `smallvec::alloc::collections::btree::navigate::LazyLeafHandle, smartstring::SmartString, types::custom_types::CustomTypeInfo>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Edge`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Root`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `smallvec::alloc::collections::btree::navigate::LazyLeafHandle, smartstring::SmartString, types::dynamic::Dynamic>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Edge`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Root`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `smallvec::alloc::collections::btree::navigate::LazyLeafHandle, std::any::TypeId, std::rc::Rc std::boxed::Box>>>>>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Edge`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Root`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `smallvec::alloc::collections::btree::navigate::LazyLeafHandle, std::path::PathBuf, std::rc::Rc>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Edge`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Root`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `smallvec::alloc::collections::btree::navigate::LazyLeafHandle, types::immutable_string::ImmutableString, types::dynamic::Dynamic>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Edge`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Root`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `smallvec::alloc::collections::btree::navigate::LazyLeafHandle, u64, smallvec::SmallVec<[usize; 1]>>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Edge`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Root`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `smallvec::alloc::collections::btree::navigate::LazyLeafHandle, smartstring::SmartString, types::dynamic::Dynamic>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Edge`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Root`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::ForceResult, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::KV>, smallvec::alloc::collections::btree::node::Handle, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::KV>>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Leaf`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Internal`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::ForceResult, smallvec::alloc::collections::btree::set_val::SetValZST, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::KV>, smallvec::alloc::collections::btree::node::Handle, smallvec::alloc::collections::btree::set_val::SetValZST, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::KV>>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Leaf`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Internal`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::ForceResult, std::option::Option, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::KV>, smallvec::alloc::collections::btree::node::Handle, std::option::Option, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::KV>>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Leaf`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Internal`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::ForceResult, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::KV>, smallvec::alloc::collections::btree::node::Handle, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::KV>>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Leaf`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Internal`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::ForceResult, types::custom_types::CustomTypeInfo, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::KV>, smallvec::alloc::collections::btree::node::Handle, types::custom_types::CustomTypeInfo, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::KV>>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Leaf`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Internal`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::ForceResult, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::KV>, smallvec::alloc::collections::btree::node::Handle, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::KV>>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Leaf`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Internal`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::ForceResult std::boxed::Box>>>>, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::KV>, smallvec::alloc::collections::btree::node::Handle std::boxed::Box>>>>, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::KV>>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Leaf`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Internal`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::ForceResult, smallvec::alloc::collections::btree::node::marker::KV>, smallvec::alloc::collections::btree::node::Handle, smallvec::alloc::collections::btree::node::marker::KV>>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Leaf`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Internal`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::ForceResult, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::KV>, smallvec::alloc::collections::btree::node::Handle, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::KV>>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Leaf`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Internal`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::ForceResult, &str, serde::metadata::ModuleMetadata<'_>, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::KV>, smallvec::alloc::collections::btree::node::Handle, &str, serde::metadata::ModuleMetadata<'_>, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::KV>>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Leaf`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Internal`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::ForceResult, smartstring::SmartString, api::custom_syntax::CustomSyntax, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>, smallvec::alloc::collections::btree::node::Handle, smartstring::SmartString, api::custom_syntax::CustomSyntax, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Leaf`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Internal`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::ForceResult, smartstring::SmartString, api::custom_syntax::CustomSyntax, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::KV>, smallvec::alloc::collections::btree::node::Handle, smartstring::SmartString, api::custom_syntax::CustomSyntax, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::KV>>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Leaf`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Internal`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::ForceResult, smartstring::SmartString, smallvec::alloc::collections::btree::set_val::SetValZST, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>, smallvec::alloc::collections::btree::node::Handle, smartstring::SmartString, smallvec::alloc::collections::btree::set_val::SetValZST, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Leaf`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Internal`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::ForceResult, smartstring::SmartString, smallvec::alloc::collections::btree::set_val::SetValZST, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::KV>, smallvec::alloc::collections::btree::node::Handle, smartstring::SmartString, smallvec::alloc::collections::btree::set_val::SetValZST, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::KV>>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Leaf`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Internal`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::ForceResult, smartstring::SmartString, std::option::Option, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>, smallvec::alloc::collections::btree::node::Handle, smartstring::SmartString, std::option::Option, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Leaf`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Internal`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::ForceResult, smartstring::SmartString, std::option::Option, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::KV>, smallvec::alloc::collections::btree::node::Handle, smartstring::SmartString, std::option::Option, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::KV>>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Leaf`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Internal`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::ForceResult, smartstring::SmartString, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>, smallvec::alloc::collections::btree::node::Handle, smartstring::SmartString, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Leaf`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Internal`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::ForceResult, smartstring::SmartString, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::KV>, smallvec::alloc::collections::btree::node::Handle, smartstring::SmartString, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::KV>>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Leaf`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Internal`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::ForceResult, smartstring::SmartString, types::custom_types::CustomTypeInfo, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>, smallvec::alloc::collections::btree::node::Handle, smartstring::SmartString, types::custom_types::CustomTypeInfo, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Leaf`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Internal`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::ForceResult, smartstring::SmartString, types::custom_types::CustomTypeInfo, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::KV>, smallvec::alloc::collections::btree::node::Handle, smartstring::SmartString, types::custom_types::CustomTypeInfo, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::KV>>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Leaf`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Internal`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::ForceResult, smartstring::SmartString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>, smallvec::alloc::collections::btree::node::Handle, smartstring::SmartString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Leaf`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Internal`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::ForceResult, smartstring::SmartString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::KV>, smallvec::alloc::collections::btree::node::Handle, smartstring::SmartString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::KV>>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Leaf`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Internal`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::ForceResult, std::any::TypeId, std::rc::Rc std::boxed::Box>>>>, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>, smallvec::alloc::collections::btree::node::Handle, std::any::TypeId, std::rc::Rc std::boxed::Box>>>>, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Leaf`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Internal`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::ForceResult, std::any::TypeId, std::rc::Rc std::boxed::Box>>>>, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::KV>, smallvec::alloc::collections::btree::node::Handle, std::any::TypeId, std::rc::Rc std::boxed::Box>>>>, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::KV>>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Leaf`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Internal`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::ForceResult, std::path::PathBuf, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>, smallvec::alloc::collections::btree::node::Handle, std::path::PathBuf, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Leaf`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Internal`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::ForceResult, std::path::PathBuf, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::KV>, smallvec::alloc::collections::btree::node::Handle, std::path::PathBuf, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::KV>>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Leaf`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Internal`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::ForceResult, types::immutable_string::ImmutableString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::KV>, smallvec::alloc::collections::btree::node::Handle, types::immutable_string::ImmutableString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::KV>>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Leaf`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Internal`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::ForceResult, u64, smallvec::SmallVec<[usize; 1]>, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>, smallvec::alloc::collections::btree::node::Handle, u64, smallvec::SmallVec<[usize; 1]>, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Leaf`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Internal`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::ForceResult, u64, smallvec::SmallVec<[usize; 1]>, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::KV>, smallvec::alloc::collections::btree::node::Handle, u64, smallvec::SmallVec<[usize; 1]>, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::KV>>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Leaf`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Internal`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::ForceResult, &str, serde::metadata::ModuleMetadata<'_>, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>, smallvec::alloc::collections::btree::node::Handle, &str, serde::metadata::ModuleMetadata<'_>, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Leaf`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Internal`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::ForceResult, smartstring::SmartString, smallvec::alloc::collections::btree::set_val::SetValZST, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>, smallvec::alloc::collections::btree::node::Handle, smartstring::SmartString, smallvec::alloc::collections::btree::set_val::SetValZST, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Leaf`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Internal`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::ForceResult, smartstring::SmartString, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>, smallvec::alloc::collections::btree::node::Handle, smartstring::SmartString, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Leaf`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Internal`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::ForceResult, smartstring::SmartString, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::KV>, smallvec::alloc::collections::btree::node::Handle, smartstring::SmartString, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::KV>>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Leaf`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Internal`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::ForceResult, smartstring::SmartString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>, smallvec::alloc::collections::btree::node::Handle, smartstring::SmartString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Leaf`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Internal`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::ForceResult, smartstring::SmartString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::KV>, smallvec::alloc::collections::btree::node::Handle, smartstring::SmartString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::KV>>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Leaf`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Internal`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::ForceResult, std::any::TypeId, std::rc::Rc std::boxed::Box>>>>, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>, smallvec::alloc::collections::btree::node::Handle, std::any::TypeId, std::rc::Rc std::boxed::Box>>>>, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Leaf`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Internal`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::ForceResult, std::path::PathBuf, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>, smallvec::alloc::collections::btree::node::Handle, std::path::PathBuf, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Leaf`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Internal`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::ForceResult, types::immutable_string::ImmutableString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>, smallvec::alloc::collections::btree::node::Handle, types::immutable_string::ImmutableString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Leaf`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Internal`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::ForceResult, u64, smallvec::SmallVec<[usize; 1]>, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>, smallvec::alloc::collections::btree::node::Handle, u64, smallvec::SmallVec<[usize; 1]>, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Leaf`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Internal`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::ForceResult, u64, smallvec::SmallVec<[usize; 1]>, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::KV>, smallvec::alloc::collections::btree::node::Handle, u64, smallvec::SmallVec<[usize; 1]>, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::KV>>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Leaf`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Internal`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::ForceResult, smartstring::SmartString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::KV>, smallvec::alloc::collections::btree::node::Handle, smartstring::SmartString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::KV>>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Leaf`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Internal`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size type: `smallvec::alloc::collections::btree::search::SearchResult, smartstring::SmartString, api::custom_syntax::CustomSyntax, smallvec::alloc::collections::btree::node::marker::LeafOrInternal, smallvec::alloc::collections::btree::node::marker::Leaf>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Found`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `GoDown`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size type: `smallvec::alloc::collections::btree::search::SearchResult, smartstring::SmartString, api::custom_syntax::CustomSyntax, smallvec::alloc::collections::btree::node::marker::LeafOrInternal, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Found`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `GoDown`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size type: `smallvec::alloc::collections::btree::search::SearchResult, smartstring::SmartString, smallvec::alloc::collections::btree::set_val::SetValZST, smallvec::alloc::collections::btree::node::marker::LeafOrInternal, smallvec::alloc::collections::btree::node::marker::Leaf>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Found`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `GoDown`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size type: `smallvec::alloc::collections::btree::search::SearchResult, smartstring::SmartString, smallvec::alloc::collections::btree::set_val::SetValZST, smallvec::alloc::collections::btree::node::marker::LeafOrInternal, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Found`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `GoDown`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size type: `smallvec::alloc::collections::btree::search::SearchResult, smartstring::SmartString, std::option::Option, smallvec::alloc::collections::btree::node::marker::LeafOrInternal, smallvec::alloc::collections::btree::node::marker::Leaf>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Found`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `GoDown`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size type: `smallvec::alloc::collections::btree::search::SearchResult, smartstring::SmartString, std::option::Option, smallvec::alloc::collections::btree::node::marker::LeafOrInternal, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Found`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `GoDown`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size type: `smallvec::alloc::collections::btree::search::SearchResult, smartstring::SmartString, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::LeafOrInternal, smallvec::alloc::collections::btree::node::marker::Leaf>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Found`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `GoDown`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size type: `smallvec::alloc::collections::btree::search::SearchResult, smartstring::SmartString, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::LeafOrInternal, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Found`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `GoDown`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size type: `smallvec::alloc::collections::btree::search::SearchResult, smartstring::SmartString, types::custom_types::CustomTypeInfo, smallvec::alloc::collections::btree::node::marker::LeafOrInternal, smallvec::alloc::collections::btree::node::marker::Leaf>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Found`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `GoDown`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size type: `smallvec::alloc::collections::btree::search::SearchResult, smartstring::SmartString, types::custom_types::CustomTypeInfo, smallvec::alloc::collections::btree::node::marker::LeafOrInternal, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Found`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `GoDown`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size type: `smallvec::alloc::collections::btree::search::SearchResult, smartstring::SmartString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::LeafOrInternal, smallvec::alloc::collections::btree::node::marker::Leaf>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Found`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `GoDown`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size type: `smallvec::alloc::collections::btree::search::SearchResult, smartstring::SmartString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::LeafOrInternal, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Found`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `GoDown`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size type: `smallvec::alloc::collections::btree::search::SearchResult, std::any::TypeId, std::rc::Rc std::boxed::Box>>>>, smallvec::alloc::collections::btree::node::marker::LeafOrInternal, smallvec::alloc::collections::btree::node::marker::Leaf>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Found`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `GoDown`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size type: `smallvec::alloc::collections::btree::search::SearchResult, std::any::TypeId, std::rc::Rc std::boxed::Box>>>>, smallvec::alloc::collections::btree::node::marker::LeafOrInternal, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Found`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `GoDown`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size type: `smallvec::alloc::collections::btree::search::SearchResult, std::path::PathBuf, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::LeafOrInternal, smallvec::alloc::collections::btree::node::marker::Leaf>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Found`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `GoDown`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size type: `smallvec::alloc::collections::btree::search::SearchResult, std::path::PathBuf, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::LeafOrInternal, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Found`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `GoDown`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size type: `smallvec::alloc::collections::btree::search::SearchResult, u64, smallvec::SmallVec<[usize; 1]>, smallvec::alloc::collections::btree::node::marker::LeafOrInternal, smallvec::alloc::collections::btree::node::marker::Leaf>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Found`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `GoDown`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size type: `smallvec::alloc::collections::btree::search::SearchResult, u64, smallvec::SmallVec<[usize; 1]>, smallvec::alloc::collections::btree::node::marker::LeafOrInternal, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Found`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `GoDown`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size type: `smallvec::alloc::collections::btree::search::SearchResult, &str, serde::metadata::ModuleMetadata<'_>, smallvec::alloc::collections::btree::node::marker::LeafOrInternal, smallvec::alloc::collections::btree::node::marker::Leaf>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Found`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `GoDown`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size type: `smallvec::alloc::collections::btree::search::SearchResult, &str, serde::metadata::ModuleMetadata<'_>, smallvec::alloc::collections::btree::node::marker::LeafOrInternal, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Found`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `GoDown`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size type: `smallvec::alloc::collections::btree::search::SearchResult, smartstring::SmartString, smallvec::alloc::collections::btree::set_val::SetValZST, smallvec::alloc::collections::btree::node::marker::LeafOrInternal, smallvec::alloc::collections::btree::node::marker::Leaf>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Found`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `GoDown`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size type: `smallvec::alloc::collections::btree::search::SearchResult, smartstring::SmartString, smallvec::alloc::collections::btree::set_val::SetValZST, smallvec::alloc::collections::btree::node::marker::LeafOrInternal, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Found`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `GoDown`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size type: `smallvec::alloc::collections::btree::search::SearchResult, smartstring::SmartString, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::LeafOrInternal, smallvec::alloc::collections::btree::node::marker::Leaf>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Found`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `GoDown`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size type: `smallvec::alloc::collections::btree::search::SearchResult, smartstring::SmartString, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::LeafOrInternal, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Found`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `GoDown`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size type: `smallvec::alloc::collections::btree::search::SearchResult, smartstring::SmartString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::LeafOrInternal, smallvec::alloc::collections::btree::node::marker::Leaf>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Found`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `GoDown`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size type: `smallvec::alloc::collections::btree::search::SearchResult, smartstring::SmartString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::LeafOrInternal, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Found`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `GoDown`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size type: `smallvec::alloc::collections::btree::search::SearchResult, std::any::TypeId, std::rc::Rc std::boxed::Box>>>>, smallvec::alloc::collections::btree::node::marker::LeafOrInternal, smallvec::alloc::collections::btree::node::marker::Leaf>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Found`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `GoDown`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size type: `smallvec::alloc::collections::btree::search::SearchResult, std::any::TypeId, std::rc::Rc std::boxed::Box>>>>, smallvec::alloc::collections::btree::node::marker::LeafOrInternal, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Found`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `GoDown`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size type: `smallvec::alloc::collections::btree::search::SearchResult, std::path::PathBuf, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::LeafOrInternal, smallvec::alloc::collections::btree::node::marker::Leaf>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Found`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `GoDown`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size type: `smallvec::alloc::collections::btree::search::SearchResult, std::path::PathBuf, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::LeafOrInternal, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Found`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `GoDown`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size type: `smallvec::alloc::collections::btree::search::SearchResult, types::immutable_string::ImmutableString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::LeafOrInternal, smallvec::alloc::collections::btree::node::marker::Leaf>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Found`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `GoDown`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size type: `smallvec::alloc::collections::btree::search::SearchResult, types::immutable_string::ImmutableString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::LeafOrInternal, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Found`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `GoDown`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size type: `smallvec::alloc::collections::btree::search::SearchResult, u64, smallvec::SmallVec<[usize; 1]>, smallvec::alloc::collections::btree::node::marker::LeafOrInternal, smallvec::alloc::collections::btree::node::marker::Leaf>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Found`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `GoDown`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size type: `smallvec::alloc::collections::btree::search::SearchResult, u64, smallvec::SmallVec<[usize; 1]>, smallvec::alloc::collections::btree::node::marker::LeafOrInternal, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Found`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `GoDown`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size type: `std::cell::RefCell>>`: 32 bytes, alignment: 8 bytes +print-type-size field `.borrow`: 8 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::cell::RefCell>`: 32 bytes, alignment: 8 bytes +print-type-size field `.borrow`: 8 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::cell::UnsafeCell`: 32 bytes, alignment: 8 bytes +print-type-size field `.value`: 32 bytes +print-type-size type: `std::collections::HashMap`: 32 bytes, alignment: 8 bytes +print-type-size field `.base`: 32 bytes +print-type-size type: `std::collections::HashMap`: 32 bytes, alignment: 8 bytes +print-type-size field `.base`: 32 bytes +print-type-size type: `std::collections::HashMap, func::hashing::StraightHasherBuilder>`: 32 bytes, alignment: 8 bytes +print-type-size field `.base`: 32 bytes +print-type-size type: `std::collections::HashMap, func::hashing::StraightHasherBuilder>`: 32 bytes, alignment: 8 bytes +print-type-size field `.base`: 32 bytes +print-type-size type: `std::collections::HashMap`: 32 bytes, alignment: 8 bytes +print-type-size field `.base`: 32 bytes +print-type-size type: `std::collections::HashMap`: 32 bytes, alignment: 8 bytes +print-type-size field `.base`: 32 bytes +print-type-size type: `std::collections::btree_map::OccupiedEntry<'_, &str, serde::metadata::ModuleMetadata<'_>>`: 32 bytes, alignment: 8 bytes +print-type-size field `.alloc`: 0 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.handle`: 24 bytes +print-type-size field `.dormant_map`: 8 bytes +print-type-size type: `std::collections::btree_map::OccupiedEntry<'_, smartstring::SmartString, smallvec::alloc::collections::btree::set_val::SetValZST>`: 32 bytes, alignment: 8 bytes +print-type-size field `.alloc`: 0 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.handle`: 24 bytes +print-type-size field `.dormant_map`: 8 bytes +print-type-size type: `std::collections::btree_map::OccupiedEntry<'_, smartstring::SmartString, std::rc::Rc>`: 32 bytes, alignment: 8 bytes +print-type-size field `.alloc`: 0 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.handle`: 24 bytes +print-type-size field `.dormant_map`: 8 bytes +print-type-size type: `std::collections::btree_map::OccupiedEntry<'_, smartstring::SmartString, types::dynamic::Dynamic>`: 32 bytes, alignment: 8 bytes +print-type-size field `.alloc`: 0 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.handle`: 24 bytes +print-type-size field `.dormant_map`: 8 bytes +print-type-size type: `std::collections::btree_map::OccupiedEntry<'_, std::any::TypeId, std::rc::Rc std::boxed::Box>>>>>`: 32 bytes, alignment: 8 bytes +print-type-size field `.alloc`: 0 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.handle`: 24 bytes +print-type-size field `.dormant_map`: 8 bytes +print-type-size type: `std::collections::btree_map::OccupiedEntry<'_, std::path::PathBuf, std::rc::Rc>`: 32 bytes, alignment: 8 bytes +print-type-size field `.alloc`: 0 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.handle`: 24 bytes +print-type-size field `.dormant_map`: 8 bytes +print-type-size type: `std::collections::btree_map::OccupiedEntry<'_, types::immutable_string::ImmutableString, types::dynamic::Dynamic>`: 32 bytes, alignment: 8 bytes +print-type-size field `.alloc`: 0 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.handle`: 24 bytes +print-type-size field `.dormant_map`: 8 bytes +print-type-size type: `std::collections::btree_map::OccupiedEntry<'_, u64, smallvec::SmallVec<[usize; 1]>>`: 32 bytes, alignment: 8 bytes +print-type-size field `.alloc`: 0 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.handle`: 24 bytes +print-type-size field `.dormant_map`: 8 bytes +print-type-size type: `std::collections::hash_map::Entry<'_, u64, module::FuncInfo>`: 32 bytes, alignment: 8 bytes +print-type-size variant `Occupied`: 32 bytes +print-type-size field `.0`: 32 bytes +print-type-size variant `Vacant`: 32 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 24 bytes, alignment: 8 bytes +print-type-size type: `std::collections::hash_map::Entry<'_, u64, std::option::Option>`: 32 bytes, alignment: 8 bytes +print-type-size variant `Occupied`: 32 bytes +print-type-size field `.0`: 32 bytes +print-type-size variant `Vacant`: 32 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 24 bytes, alignment: 8 bytes +print-type-size type: `std::collections::hash_map::Entry<'_, u64, types::immutable_string::ImmutableString>`: 32 bytes, alignment: 8 bytes +print-type-size variant `Occupied`: 32 bytes +print-type-size field `.0`: 32 bytes +print-type-size variant `Vacant`: 32 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 24 bytes, alignment: 8 bytes +print-type-size type: `std::collections::hash_map::OccupiedEntry<'_, u64, module::FuncInfo>`: 32 bytes, alignment: 8 bytes +print-type-size field `.base`: 32 bytes +print-type-size type: `std::collections::hash_map::OccupiedEntry<'_, u64, std::option::Option>`: 32 bytes, alignment: 8 bytes +print-type-size field `.base`: 32 bytes +print-type-size type: `std::collections::hash_map::OccupiedEntry<'_, u64, types::immutable_string::ImmutableString>`: 32 bytes, alignment: 8 bytes +print-type-size field `.base`: 32 bytes +print-type-size type: `std::ffi::OsString`: 32 bytes, alignment: 8 bytes +print-type-size field `.inner`: 32 bytes +print-type-size type: `std::iter::Chain>, std::iter::Map, for<'a> fn(&'a mut types::dynamic::Dynamic) -> types::dynamic::Dynamic {std::mem::take::}>>`: 32 bytes, alignment: 8 bytes +print-type-size field `.a`: 16 bytes +print-type-size field `.b`: 16 bytes +print-type-size type: `std::iter::Chain>, std::slice::Iter<'_, ast::expr::Expr>>`: 32 bytes, alignment: 8 bytes +print-type-size field `.a`: 16 bytes +print-type-size field `.b`: 16 bytes +print-type-size type: `std::iter::Chain, for<'a> fn(&'a mut ast::stmt::Stmt) -> ast::stmt::Stmt {std::mem::take::}>, std::iter::Map, for<'a> fn(&'a mut ast::stmt::Stmt) -> ast::stmt::Stmt {std::mem::take::}>>`: 32 bytes, alignment: 8 bytes +print-type-size field `.a`: 16 bytes +print-type-size field `.b`: 16 bytes +print-type-size type: `std::iter::Chain>>, std::slice::Iter<'_, std::rc::Rc>>`: 32 bytes, alignment: 8 bytes +print-type-size field `.a`: 16 bytes +print-type-size field `.b`: 16 bytes +print-type-size type: `std::iter::Chain, std::slice::Iter<'_, ast::expr::Expr>>`: 32 bytes, alignment: 8 bytes +print-type-size field `.a`: 16 bytes +print-type-size field `.b`: 16 bytes +print-type-size type: `std::iter::Copied>>>`: 32 bytes, alignment: 8 bytes +print-type-size field `.it`: 32 bytes +print-type-size type: `std::iter::Enumerate>, [closure@src\api\definitions\mod.rs:318:21: 318:24]>>`: 32 bytes, alignment: 8 bytes +print-type-size field `.iter`: 24 bytes +print-type-size field `.count`: 8 bytes +print-type-size type: `std::iter::Enumerate, for<'a> fn(&'a char) -> bool {std::char::methods::::is_ascii}>>, [closure@src\packages\blob_basic.rs:1470:22: 1470:26]>>`: 32 bytes, alignment: 8 bytes +print-type-size field `.iter`: 24 bytes +print-type-size field `.count`: 8 bytes +print-type-size type: `std::iter::Filter>>, [closure@src\api\register.rs:760:25: 760:28]>`: 32 bytes, alignment: 8 bytes +print-type-size field `.iter`: 24 bytes +print-type-size field `.predicate`: 8 bytes +print-type-size type: `std::iter::Fuse>>, [closure@src\api\register.rs:760:25: 760:28]>, [closure@src\api\register.rs:761:27: 761:30]>>`: 32 bytes, alignment: 8 bytes +print-type-size field `.iter`: 32 bytes +print-type-size type: `std::iter::Map types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>`: 32 bytes, alignment: 8 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 32 bytes +print-type-size type: `std::iter::Map>, [closure@src\parser.rs:3669:51: 3669:72]>`: 32 bytes, alignment: 8 bytes +print-type-size field `.iter`: 16 bytes +print-type-size field `.f`: 16 bytes +print-type-size type: `std::iter::Map>>, [closure@src\module\mod.rs:1017:18: 1017:32]>`: 32 bytes, alignment: 8 bytes +print-type-size field `.iter`: 24 bytes +print-type-size field `.f`: 8 bytes +print-type-size type: `std::iter::Map>>, [closure@src\api\register.rs:760:25: 760:28]>, [closure@src\api\register.rs:761:27: 761:30]>`: 32 bytes, alignment: 8 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 32 bytes +print-type-size type: `std::iter::Map, fn(i128) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>`: 32 bytes, alignment: 8 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 32 bytes +print-type-size type: `std::iter::Map, fn(u128) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>`: 32 bytes, alignment: 8 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 32 bytes +print-type-size type: `std::iter::Map, [closure@src\api\definitions\mod.rs:246:26: 246:39]>`: 32 bytes, alignment: 8 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 32 bytes +print-type-size type: `std::iter::Map, fn(types::dynamic::Dynamic) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>`: 32 bytes, alignment: 8 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 32 bytes +print-type-size type: `std::iter::Map, fn(u8) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>`: 32 bytes, alignment: 8 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 32 bytes +print-type-size type: `std::iter::Skip>>`: 32 bytes, alignment: 8 bytes +print-type-size field `.iter`: 24 bytes +print-type-size field `.n`: 8 bytes +print-type-size type: `std::iter::Skip>>`: 32 bytes, alignment: 8 bytes +print-type-size field `.iter`: 24 bytes +print-type-size field `.n`: 8 bytes +print-type-size type: `std::iter::Skip>>`: 32 bytes, alignment: 8 bytes +print-type-size field `.iter`: 24 bytes +print-type-size field `.n`: 8 bytes +print-type-size type: `std::iter::StepBy>`: 32 bytes, alignment: 8 bytes +print-type-size field `.iter`: 16 bytes +print-type-size field `.step`: 8 bytes +print-type-size field `.first_take`: 1 bytes +print-type-size end padding: 7 bytes +print-type-size type: `std::iter::Take>>`: 32 bytes, alignment: 8 bytes +print-type-size field `.iter`: 24 bytes +print-type-size field `.n`: 8 bytes +print-type-size type: `std::iter::Take>>`: 32 bytes, alignment: 8 bytes +print-type-size field `.iter`: 24 bytes +print-type-size field `.n`: 8 bytes +print-type-size type: `std::iter::Take>>>`: 32 bytes, alignment: 8 bytes +print-type-size field `.iter`: 24 bytes +print-type-size field `.n`: 8 bytes +print-type-size type: `std::iter::Take>>`: 32 bytes, alignment: 8 bytes +print-type-size field `.iter`: 24 bytes +print-type-size field `.n`: 8 bytes +print-type-size type: `std::iter::Take>>`: 32 bytes, alignment: 8 bytes +print-type-size field `.iter`: 24 bytes +print-type-size field `.n`: 8 bytes +print-type-size type: `std::iter::Take>>`: 32 bytes, alignment: 8 bytes +print-type-size field `.iter`: 24 bytes +print-type-size field `.n`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop<(ast::expr::Expr, ast::ident::Ident)>`: 32 bytes, alignment: 8 bytes +print-type-size field `.value`: 32 bytes +print-type-size type: `std::mem::ManuallyDrop<(ast::ident::Ident, ast::expr::Expr)>`: 32 bytes, alignment: 8 bytes +print-type-size field `.value`: 32 bytes +print-type-size type: `std::mem::ManuallyDrop<(ast::ident::Ident, ast::ident::Ident)>`: 32 bytes, alignment: 8 bytes +print-type-size field `.value`: 32 bytes +print-type-size type: `std::mem::ManuallyDrop<[ast::stmt::Stmt; 2]>`: 32 bytes, alignment: 8 bytes +print-type-size field `.value`: 32 bytes +print-type-size type: `std::mem::ManuallyDrop<[std::mem::MaybeUninit; 2]>`: 32 bytes, alignment: 8 bytes +print-type-size field `.value`: 32 bytes +print-type-size type: `std::mem::ManuallyDrop`: 32 bytes, alignment: 8 bytes +print-type-size field `.value`: 32 bytes +print-type-size type: `std::mem::ManuallyDrop`: 32 bytes, alignment: 8 bytes +print-type-size field `.value`: 32 bytes +print-type-size type: `std::mem::ManuallyDrop>`: 32 bytes, alignment: 8 bytes +print-type-size field `.value`: 32 bytes +print-type-size type: `std::mem::ManuallyDrop>`: 32 bytes, alignment: 8 bytes +print-type-size field `.value`: 32 bytes +print-type-size type: `std::mem::ManuallyDrop)>>`: 32 bytes, alignment: 8 bytes +print-type-size field `.value`: 32 bytes +print-type-size type: `std::mem::ManuallyDrop>`: 32 bytes, alignment: 8 bytes +print-type-size field `.value`: 32 bytes +print-type-size type: `std::mem::ManuallyDrop>`: 32 bytes, alignment: 8 bytes +print-type-size field `.value`: 32 bytes +print-type-size type: `std::mem::ManuallyDrop>, [closure@ as std::clone::Clone>::clone::{closure#0}]>>`: 32 bytes, alignment: 8 bytes +print-type-size field `.value`: 32 bytes +print-type-size type: `std::mem::ManuallyDrop>, [closure@ as std::clone::Clone>::clone::{closure#0}]>>`: 32 bytes, alignment: 8 bytes +print-type-size field `.value`: 32 bytes +print-type-size type: `std::mem::ManuallyDrop>, [closure@ as std::clone::Clone>::clone::{closure#0}]>>`: 32 bytes, alignment: 8 bytes +print-type-size field `.value`: 32 bytes +print-type-size type: `std::mem::ManuallyDrop`: 32 bytes, alignment: 8 bytes +print-type-size field `.value`: 32 bytes +print-type-size type: `std::mem::ManuallyDrop`: 32 bytes, alignment: 8 bytes +print-type-size field `.value`: 32 bytes +print-type-size type: `std::mem::ManuallyDrop; 3]>>`: 32 bytes, alignment: 8 bytes +print-type-size field `.value`: 32 bytes +print-type-size type: `std::mem::ManuallyDrop>`: 32 bytes, alignment: 8 bytes +print-type-size field `.value`: 32 bytes +print-type-size type: `std::mem::ManuallyDrop>`: 32 bytes, alignment: 8 bytes +print-type-size field `.value`: 32 bytes +print-type-size type: `std::mem::ManuallyDrop>`: 32 bytes, alignment: 8 bytes +print-type-size field `.value`: 32 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 32 bytes, alignment: 8 bytes +print-type-size field `.value`: 32 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 32 bytes, alignment: 8 bytes +print-type-size field `.value`: 32 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 32 bytes, alignment: 8 bytes +print-type-size field `.value`: 32 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 32 bytes, alignment: 8 bytes +print-type-size field `.value`: 32 bytes +print-type-size type: `std::mem::ManuallyDrop>`: 32 bytes, alignment: 8 bytes +print-type-size field `.value`: 32 bytes +print-type-size type: `std::mem::ManuallyDrop>`: 32 bytes, alignment: 4 bytes +print-type-size field `.value`: 32 bytes +print-type-size type: `std::mem::ManuallyDrop>`: 32 bytes, alignment: 8 bytes +print-type-size field `.value`: 32 bytes +print-type-size type: `std::mem::ManuallyDrop>`: 32 bytes, alignment: 8 bytes +print-type-size field `.value`: 32 bytes +print-type-size type: `std::mem::ManuallyDrop>>>`: 32 bytes, alignment: 8 bytes +print-type-size field `.value`: 32 bytes +print-type-size type: `std::mem::ManuallyDrop, smallvec::alloc::collections::btree::set_val::SetValZST>>>`: 32 bytes, alignment: 8 bytes +print-type-size field `.value`: 32 bytes +print-type-size type: `std::mem::ManuallyDrop, std::option::Option>>>`: 32 bytes, alignment: 8 bytes +print-type-size field `.value`: 32 bytes +print-type-size type: `std::mem::ManuallyDrop, std::rc::Rc>>>`: 32 bytes, alignment: 8 bytes +print-type-size field `.value`: 32 bytes +print-type-size type: `std::mem::ManuallyDrop, types::custom_types::CustomTypeInfo>>>`: 32 bytes, alignment: 8 bytes +print-type-size field `.value`: 32 bytes +print-type-size type: `std::mem::ManuallyDrop, types::dynamic::Dynamic>>>`: 32 bytes, alignment: 8 bytes +print-type-size field `.value`: 32 bytes +print-type-size type: `std::mem::ManuallyDrop std::boxed::Box>>>>>>>`: 32 bytes, alignment: 8 bytes +print-type-size field `.value`: 32 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 32 bytes, alignment: 8 bytes +print-type-size field `.value`: 32 bytes +print-type-size type: `std::mem::ManuallyDrop>>>`: 32 bytes, alignment: 8 bytes +print-type-size field `.value`: 32 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 32 bytes, alignment: 8 bytes +print-type-size field `.value`: 32 bytes +print-type-size type: `std::mem::ManuallyDrop`: 32 bytes, alignment: 8 bytes +print-type-size field `.value`: 32 bytes +print-type-size type: `std::mem::ManuallyDrop`: 32 bytes, alignment: 8 bytes +print-type-size field `.value`: 32 bytes +print-type-size type: `std::mem::MaybeUninit<(ast::expr::Expr, ast::ident::Ident)>`: 32 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 32 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 32 bytes +print-type-size type: `std::mem::MaybeUninit<(ast::ident::Ident, ast::expr::Expr)>`: 32 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 32 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 32 bytes +print-type-size type: `std::mem::MaybeUninit<(ast::ident::Ident, ast::ident::Ident)>`: 32 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 32 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 32 bytes +print-type-size type: `std::mem::MaybeUninit<[std::mem::MaybeUninit; 2]>`: 32 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 32 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 32 bytes +print-type-size type: `std::mem::MaybeUninit`: 32 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 32 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 32 bytes +print-type-size type: `std::mem::MaybeUninit`: 32 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 32 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 32 bytes +print-type-size type: `std::mem::MaybeUninit>`: 32 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 32 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 32 bytes +print-type-size type: `std::mem::MaybeUninit`: 32 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 32 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 32 bytes +print-type-size type: `std::mem::MaybeUninit`: 32 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 32 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 32 bytes +print-type-size type: `std::mem::MaybeUninit; 3]>>`: 32 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 32 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 32 bytes +print-type-size type: `std::mem::MaybeUninit>`: 32 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 32 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 32 bytes +print-type-size type: `std::mem::MaybeUninit>`: 32 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 32 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 32 bytes +print-type-size type: `std::mem::MaybeUninit>`: 32 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 32 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 32 bytes +print-type-size type: `std::mem::MaybeUninit>>`: 32 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 32 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 32 bytes +print-type-size type: `std::mem::MaybeUninit>>`: 32 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 32 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 32 bytes +print-type-size type: `std::mem::MaybeUninit>>`: 32 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 32 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 32 bytes +print-type-size type: `std::mem::MaybeUninit>>`: 32 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 32 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 32 bytes +print-type-size type: `std::mem::MaybeUninit>`: 32 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 32 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 32 bytes +print-type-size type: `std::mem::MaybeUninit>`: 32 bytes, alignment: 4 bytes +print-type-size variant `MaybeUninit`: 32 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 32 bytes +print-type-size type: `std::mem::MaybeUninit>`: 32 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 32 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 32 bytes +print-type-size type: `std::mem::MaybeUninit>`: 32 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 32 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 32 bytes +print-type-size type: `std::mem::MaybeUninit>>>`: 32 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 32 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 32 bytes +print-type-size type: `std::mem::MaybeUninit, smallvec::alloc::collections::btree::set_val::SetValZST>>>`: 32 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 32 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 32 bytes +print-type-size type: `std::mem::MaybeUninit, std::option::Option>>>`: 32 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 32 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 32 bytes +print-type-size type: `std::mem::MaybeUninit, std::rc::Rc>>>`: 32 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 32 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 32 bytes +print-type-size type: `std::mem::MaybeUninit, types::custom_types::CustomTypeInfo>>>`: 32 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 32 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 32 bytes +print-type-size type: `std::mem::MaybeUninit, types::dynamic::Dynamic>>>`: 32 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 32 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 32 bytes +print-type-size type: `std::mem::MaybeUninit std::boxed::Box>>>>>>>`: 32 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 32 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 32 bytes +print-type-size type: `std::mem::MaybeUninit>>`: 32 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 32 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 32 bytes +print-type-size type: `std::mem::MaybeUninit>>>`: 32 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 32 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 32 bytes +print-type-size type: `std::mem::MaybeUninit>>`: 32 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 32 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 32 bytes +print-type-size type: `std::mem::MaybeUninit`: 32 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 32 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 32 bytes +print-type-size type: `std::mem::MaybeUninit`: 32 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 32 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 32 bytes +print-type-size type: `std::ops::ControlFlow<(ast::ident::Ident, ast::expr::Expr), std::convert::Infallible>`: 32 bytes, alignment: 8 bytes +print-type-size variant `Break`: 32 bytes +print-type-size field `.0`: 32 bytes +print-type-size type: `std::ops::ControlFlow<(ast::ident::Ident, ast::expr::Expr)>`: 32 bytes, alignment: 8 bytes +print-type-size variant `Break`: 32 bytes +print-type-size field `.0`: 32 bytes +print-type-size variant `Continue`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::ops::ControlFlow>`: 32 bytes, alignment: 8 bytes +print-type-size variant `Break`: 32 bytes +print-type-size field `.0`: 32 bytes +print-type-size variant `Continue`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::ops::ControlFlow, (&str, bool, &types::dynamic::Dynamic)>`: 32 bytes, alignment: 8 bytes +print-type-size variant `Continue`: 32 bytes +print-type-size field `.0`: 32 bytes +print-type-size variant `Break`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::ops::ControlFlow, smallvec::alloc::collections::btree::navigate::LazyLeafHandle>>`: 32 bytes, alignment: 8 bytes +print-type-size variant `Continue`: 32 bytes +print-type-size field `.0`: 32 bytes +print-type-size variant `Break`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::ops::ControlFlow, smallvec::alloc::collections::btree::navigate::LazyLeafHandle, smallvec::alloc::collections::btree::set_val::SetValZST>>`: 32 bytes, alignment: 8 bytes +print-type-size variant `Continue`: 32 bytes +print-type-size field `.0`: 32 bytes +print-type-size variant `Break`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::ops::ControlFlow, smallvec::alloc::collections::btree::navigate::LazyLeafHandle, std::option::Option>>`: 32 bytes, alignment: 8 bytes +print-type-size variant `Continue`: 32 bytes +print-type-size field `.0`: 32 bytes +print-type-size variant `Break`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::ops::ControlFlow, smallvec::alloc::collections::btree::navigate::LazyLeafHandle, std::rc::Rc>>`: 32 bytes, alignment: 8 bytes +print-type-size variant `Continue`: 32 bytes +print-type-size field `.0`: 32 bytes +print-type-size variant `Break`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::ops::ControlFlow, smallvec::alloc::collections::btree::navigate::LazyLeafHandle, types::custom_types::CustomTypeInfo>>`: 32 bytes, alignment: 8 bytes +print-type-size variant `Continue`: 32 bytes +print-type-size field `.0`: 32 bytes +print-type-size variant `Break`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::ops::ControlFlow, smallvec::alloc::collections::btree::navigate::LazyLeafHandle, types::dynamic::Dynamic>>`: 32 bytes, alignment: 8 bytes +print-type-size variant `Continue`: 32 bytes +print-type-size field `.0`: 32 bytes +print-type-size variant `Break`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::ops::ControlFlow, smallvec::alloc::collections::btree::navigate::LazyLeafHandle std::boxed::Box>>>>>>`: 32 bytes, alignment: 8 bytes +print-type-size variant `Continue`: 32 bytes +print-type-size field `.0`: 32 bytes +print-type-size variant `Break`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::ops::ControlFlow, smallvec::alloc::collections::btree::navigate::LazyLeafHandle>`: 32 bytes, alignment: 8 bytes +print-type-size variant `Continue`: 32 bytes +print-type-size field `.0`: 32 bytes +print-type-size variant `Break`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::ops::ControlFlow, smallvec::alloc::collections::btree::navigate::LazyLeafHandle>>`: 32 bytes, alignment: 8 bytes +print-type-size variant `Continue`: 32 bytes +print-type-size field `.0`: 32 bytes +print-type-size variant `Break`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::ops::ControlFlow, smartstring::SmartString>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Continue`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Break`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::ops::ControlFlow, hashbrown::raw::RawTableInner>`: 32 bytes, alignment: 8 bytes +print-type-size variant `Continue`: 32 bytes +print-type-size field `.0`: 32 bytes +print-type-size variant `Break`: 32 bytes +print-type-size padding: 16 bytes +print-type-size field `.0`: 16 bytes, alignment: 8 bytes +print-type-size type: `std::ops::ControlFlow>, std::collections::BTreeMap, types::dynamic::Dynamic>>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Continue`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Break`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::ops::ControlFlow, parser::ParseSettings>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Continue`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Break`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::ops::Range`: 32 bytes, alignment: 8 bytes +print-type-size field `.start`: 16 bytes +print-type-size field `.end`: 16 bytes +print-type-size type: `std::ops::Range`: 32 bytes, alignment: 4 bytes +print-type-size field `.start`: 16 bytes +print-type-size field `.end`: 16 bytes +print-type-size type: `std::ops::Range`: 32 bytes, alignment: 8 bytes +print-type-size field `.start`: 16 bytes +print-type-size field `.end`: 16 bytes +print-type-size type: `std::option::Option<(&str, bool, &types::dynamic::Dynamic)>`: 32 bytes, alignment: 8 bytes +print-type-size variant `Some`: 32 bytes +print-type-size field `.0`: 32 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<(ast::ident::Ident, ast::expr::Expr)>`: 32 bytes, alignment: 8 bytes +print-type-size variant `Some`: 32 bytes +print-type-size field `.0`: 32 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<(smartstring::SmartString, std::rc::Rc)>`: 32 bytes, alignment: 8 bytes +print-type-size variant `Some`: 32 bytes +print-type-size field `.0`: 32 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option`: 32 bytes, alignment: 8 bytes +print-type-size variant `Some`: 32 bytes +print-type-size field `.0`: 32 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option`: 32 bytes, alignment: 8 bytes +print-type-size variant `Some`: 32 bytes +print-type-size field `.0`: 32 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option`: 32 bytes, alignment: 8 bytes +print-type-size variant `Some`: 32 bytes +print-type-size field `.0`: 32 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option`: 32 bytes, alignment: 8 bytes +print-type-size variant `Some`: 32 bytes +print-type-size field `.0`: 32 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>>`: 32 bytes, alignment: 8 bytes +print-type-size variant `Some`: 32 bytes +print-type-size field `.0`: 32 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, smallvec::alloc::collections::btree::set_val::SetValZST>>`: 32 bytes, alignment: 8 bytes +print-type-size variant `Some`: 32 bytes +print-type-size field `.0`: 32 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, std::option::Option>>`: 32 bytes, alignment: 8 bytes +print-type-size variant `Some`: 32 bytes +print-type-size field `.0`: 32 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, std::rc::Rc>>`: 32 bytes, alignment: 8 bytes +print-type-size variant `Some`: 32 bytes +print-type-size field `.0`: 32 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, types::custom_types::CustomTypeInfo>>`: 32 bytes, alignment: 8 bytes +print-type-size variant `Some`: 32 bytes +print-type-size field `.0`: 32 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, types::dynamic::Dynamic>>`: 32 bytes, alignment: 8 bytes +print-type-size variant `Some`: 32 bytes +print-type-size field `.0`: 32 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option std::boxed::Box>>>>>>`: 32 bytes, alignment: 8 bytes +print-type-size variant `Some`: 32 bytes +print-type-size field `.0`: 32 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>`: 32 bytes, alignment: 8 bytes +print-type-size variant `Some`: 32 bytes +print-type-size field `.0`: 32 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>>`: 32 bytes, alignment: 8 bytes +print-type-size variant `Some`: 32 bytes +print-type-size field `.0`: 32 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, &str, serde::metadata::ModuleMetadata<'_>>>`: 32 bytes, alignment: 8 bytes +print-type-size variant `Some`: 32 bytes +print-type-size field `.0`: 32 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, smartstring::SmartString, api::custom_syntax::CustomSyntax>>`: 32 bytes, alignment: 8 bytes +print-type-size variant `Some`: 32 bytes +print-type-size field `.0`: 32 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, smartstring::SmartString, smallvec::alloc::collections::btree::set_val::SetValZST>>`: 32 bytes, alignment: 8 bytes +print-type-size variant `Some`: 32 bytes +print-type-size field `.0`: 32 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, smartstring::SmartString, std::option::Option>>`: 32 bytes, alignment: 8 bytes +print-type-size variant `Some`: 32 bytes +print-type-size field `.0`: 32 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, smartstring::SmartString, std::rc::Rc>>`: 32 bytes, alignment: 8 bytes +print-type-size variant `Some`: 32 bytes +print-type-size field `.0`: 32 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, smartstring::SmartString, types::custom_types::CustomTypeInfo>>`: 32 bytes, alignment: 8 bytes +print-type-size variant `Some`: 32 bytes +print-type-size field `.0`: 32 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, smartstring::SmartString, types::dynamic::Dynamic>>`: 32 bytes, alignment: 8 bytes +print-type-size variant `Some`: 32 bytes +print-type-size field `.0`: 32 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, std::any::TypeId, std::rc::Rc std::boxed::Box>>>>>>`: 32 bytes, alignment: 8 bytes +print-type-size variant `Some`: 32 bytes +print-type-size field `.0`: 32 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, std::path::PathBuf, std::rc::Rc>>`: 32 bytes, alignment: 8 bytes +print-type-size variant `Some`: 32 bytes +print-type-size field `.0`: 32 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, types::immutable_string::ImmutableString, types::dynamic::Dynamic>>`: 32 bytes, alignment: 8 bytes +print-type-size variant `Some`: 32 bytes +print-type-size field `.0`: 32 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, u64, smallvec::SmallVec<[usize; 1]>>>`: 32 bytes, alignment: 8 bytes +print-type-size variant `Some`: 32 bytes +print-type-size field `.0`: 32 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, smartstring::SmartString, types::dynamic::Dynamic>>`: 32 bytes, alignment: 8 bytes +print-type-size variant `Some`: 32 bytes +print-type-size field `.0`: 32 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Some`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Some`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, types::dynamic::Dynamic>>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Some`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>`: 32 bytes, alignment: 8 bytes +print-type-size variant `Some`: 32 bytes +print-type-size field `.0`: 32 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>>, [closure@src\api\register.rs:760:25: 760:28]>, [closure@src\api\register.rs:761:27: 761:30]>>`: 32 bytes, alignment: 8 bytes +print-type-size variant `Some`: 32 bytes +print-type-size field `.0`: 32 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, [closure@src\api\definitions\mod.rs:246:26: 246:39]>>`: 32 bytes, alignment: 8 bytes +print-type-size variant `Some`: 32 bytes +print-type-size field `.0`: 32 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>`: 32 bytes, alignment: 8 bytes +print-type-size variant `Some`: 32 bytes +print-type-size field `.0`: 32 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option`: 32 bytes, alignment: 8 bytes +print-type-size variant `Some`: 32 bytes +print-type-size field `.0`: 32 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>`: 32 bytes, alignment: 8 bytes +print-type-size variant `Some`: 32 bytes +print-type-size field `.0`: 32 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Some`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::path::PathBuf`: 32 bytes, alignment: 8 bytes +print-type-size field `.inner`: 32 bytes +print-type-size type: `std::result::Result`: 32 bytes, alignment: 8 bytes +print-type-size variant `Err`: 32 bytes +print-type-size field `.0`: 32 bytes +print-type-size variant `Ok`: 16 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size type: `std::result::Result, hashbrown::TryReserveError>`: 32 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 32 bytes +print-type-size field `.0`: 32 bytes +print-type-size variant `Err`: 32 bytes +print-type-size padding: 16 bytes +print-type-size field `.0`: 16 bytes, alignment: 8 bytes +print-type-size type: `std::result::Result, hashbrown::TryReserveError>`: 32 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 32 bytes +print-type-size field `.0`: 32 bytes +print-type-size variant `Err`: 32 bytes +print-type-size padding: 16 bytes +print-type-size field `.0`: 16 bytes, alignment: 8 bytes +print-type-size type: `std::result::Result, hashbrown::TryReserveError>`: 32 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 32 bytes +print-type-size field `.0`: 32 bytes +print-type-size variant `Err`: 32 bytes +print-type-size padding: 16 bytes +print-type-size field `.0`: 16 bytes, alignment: 8 bytes +print-type-size type: `std::result::Result, hashbrown::TryReserveError>`: 32 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 32 bytes +print-type-size field `.0`: 32 bytes +print-type-size variant `Err`: 32 bytes +print-type-size padding: 16 bytes +print-type-size field `.0`: 16 bytes, alignment: 8 bytes +print-type-size type: `std::result::Result>`: 32 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 32 bytes +print-type-size field `.0`: 32 bytes +print-type-size variant `Err`: 16 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size type: `std::result::Result`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Ok`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Err`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::result::Result`: 32 bytes, alignment: 8 bytes +print-type-size variant `Err`: 32 bytes +print-type-size field `.0`: 32 bytes +print-type-size variant `Ok`: 20 bytes +print-type-size padding: 4 bytes +print-type-size field `.0`: 16 bytes, alignment: 4 bytes +print-type-size type: `std::result::Result, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::Edge>, smallvec::alloc::collections::btree::node::NodeRef, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Ok`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Err`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::result::Result, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::KV>, smallvec::alloc::collections::btree::node::Handle, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Ok`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Err`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size type: `std::result::Result, smallvec::alloc::collections::btree::set_val::SetValZST, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::Edge>, smallvec::alloc::collections::btree::node::NodeRef, smallvec::alloc::collections::btree::set_val::SetValZST, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Ok`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Err`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::result::Result, smallvec::alloc::collections::btree::set_val::SetValZST, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::KV>, smallvec::alloc::collections::btree::node::Handle, smallvec::alloc::collections::btree::set_val::SetValZST, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Ok`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Err`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size type: `std::result::Result, std::option::Option, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::Edge>, smallvec::alloc::collections::btree::node::NodeRef, std::option::Option, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Ok`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Err`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::result::Result, std::option::Option, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::KV>, smallvec::alloc::collections::btree::node::Handle, std::option::Option, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Ok`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Err`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size type: `std::result::Result, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::Edge>, smallvec::alloc::collections::btree::node::NodeRef, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Ok`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Err`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::result::Result, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::KV>, smallvec::alloc::collections::btree::node::Handle, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Ok`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Err`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size type: `std::result::Result, types::custom_types::CustomTypeInfo, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::Edge>, smallvec::alloc::collections::btree::node::NodeRef, types::custom_types::CustomTypeInfo, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Ok`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Err`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::result::Result, types::custom_types::CustomTypeInfo, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::KV>, smallvec::alloc::collections::btree::node::Handle, types::custom_types::CustomTypeInfo, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Ok`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Err`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size type: `std::result::Result, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::Edge>, smallvec::alloc::collections::btree::node::NodeRef, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Ok`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Err`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::result::Result, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::KV>, smallvec::alloc::collections::btree::node::Handle, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Ok`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Err`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size type: `std::result::Result std::boxed::Box>>>>, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::Edge>, smallvec::alloc::collections::btree::node::NodeRef std::boxed::Box>>>>, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Ok`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Err`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::result::Result std::boxed::Box>>>>, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::KV>, smallvec::alloc::collections::btree::node::Handle std::boxed::Box>>>>, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Ok`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Err`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size type: `std::result::Result, smallvec::alloc::collections::btree::node::marker::Edge>, smallvec::alloc::collections::btree::node::NodeRef>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Ok`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Err`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::result::Result, smallvec::alloc::collections::btree::node::marker::KV>, smallvec::alloc::collections::btree::node::Handle, smallvec::alloc::collections::btree::node::marker::Edge>>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Ok`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Err`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size type: `std::result::Result, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::Edge>, smallvec::alloc::collections::btree::node::NodeRef, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Ok`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Err`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::result::Result, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::KV>, smallvec::alloc::collections::btree::node::Handle, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Ok`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Err`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size type: `std::result::Result, &str, serde::metadata::ModuleMetadata<'_>, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::Edge>, smallvec::alloc::collections::btree::node::NodeRef, &str, serde::metadata::ModuleMetadata<'_>, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Ok`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Err`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::result::Result, &str, serde::metadata::ModuleMetadata<'_>, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::KV>, smallvec::alloc::collections::btree::node::Handle, &str, serde::metadata::ModuleMetadata<'_>, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Ok`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Err`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size type: `std::result::Result, &str, serde::metadata::ModuleMetadata<'_>, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::KV>, smallvec::alloc::collections::btree::node::NodeRef, &str, serde::metadata::ModuleMetadata<'_>, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Ok`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Err`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::result::Result, smartstring::SmartString, api::custom_syntax::CustomSyntax, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::Edge>, smallvec::alloc::collections::btree::node::NodeRef, smartstring::SmartString, api::custom_syntax::CustomSyntax, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Ok`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Err`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::result::Result, smartstring::SmartString, api::custom_syntax::CustomSyntax, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::KV>, smallvec::alloc::collections::btree::node::Handle, smartstring::SmartString, api::custom_syntax::CustomSyntax, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Ok`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Err`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size type: `std::result::Result, smartstring::SmartString, api::custom_syntax::CustomSyntax, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::KV>, smallvec::alloc::collections::btree::node::NodeRef, smartstring::SmartString, api::custom_syntax::CustomSyntax, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Ok`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Err`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::result::Result, smartstring::SmartString, smallvec::alloc::collections::btree::set_val::SetValZST, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::Edge>, smallvec::alloc::collections::btree::node::NodeRef, smartstring::SmartString, smallvec::alloc::collections::btree::set_val::SetValZST, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Ok`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Err`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::result::Result, smartstring::SmartString, smallvec::alloc::collections::btree::set_val::SetValZST, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::KV>, smallvec::alloc::collections::btree::node::Handle, smartstring::SmartString, smallvec::alloc::collections::btree::set_val::SetValZST, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Ok`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Err`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size type: `std::result::Result, smartstring::SmartString, smallvec::alloc::collections::btree::set_val::SetValZST, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::KV>, smallvec::alloc::collections::btree::node::NodeRef, smartstring::SmartString, smallvec::alloc::collections::btree::set_val::SetValZST, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Ok`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Err`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::result::Result, smartstring::SmartString, std::option::Option, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::Edge>, smallvec::alloc::collections::btree::node::NodeRef, smartstring::SmartString, std::option::Option, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Ok`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Err`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::result::Result, smartstring::SmartString, std::option::Option, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::KV>, smallvec::alloc::collections::btree::node::Handle, smartstring::SmartString, std::option::Option, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Ok`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Err`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size type: `std::result::Result, smartstring::SmartString, std::option::Option, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::KV>, smallvec::alloc::collections::btree::node::NodeRef, smartstring::SmartString, std::option::Option, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Ok`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Err`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::result::Result, smartstring::SmartString, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::Edge>, smallvec::alloc::collections::btree::node::NodeRef, smartstring::SmartString, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Ok`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Err`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::result::Result, smartstring::SmartString, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::KV>, smallvec::alloc::collections::btree::node::Handle, smartstring::SmartString, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Ok`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Err`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size type: `std::result::Result, smartstring::SmartString, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::KV>, smallvec::alloc::collections::btree::node::Handle, smartstring::SmartString, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Ok`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Err`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size type: `std::result::Result, smartstring::SmartString, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::KV>, smallvec::alloc::collections::btree::node::Handle, smartstring::SmartString, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Ok`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Err`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size type: `std::result::Result, smartstring::SmartString, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::KV>, smallvec::alloc::collections::btree::node::NodeRef, smartstring::SmartString, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Ok`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Err`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::result::Result, smartstring::SmartString, types::custom_types::CustomTypeInfo, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::Edge>, smallvec::alloc::collections::btree::node::NodeRef, smartstring::SmartString, types::custom_types::CustomTypeInfo, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Ok`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Err`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::result::Result, smartstring::SmartString, types::custom_types::CustomTypeInfo, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::KV>, smallvec::alloc::collections::btree::node::Handle, smartstring::SmartString, types::custom_types::CustomTypeInfo, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Ok`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Err`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size type: `std::result::Result, smartstring::SmartString, types::custom_types::CustomTypeInfo, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::KV>, smallvec::alloc::collections::btree::node::Handle, smartstring::SmartString, types::custom_types::CustomTypeInfo, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Ok`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Err`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size type: `std::result::Result, smartstring::SmartString, types::custom_types::CustomTypeInfo, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::KV>, smallvec::alloc::collections::btree::node::Handle, smartstring::SmartString, types::custom_types::CustomTypeInfo, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Ok`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Err`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size type: `std::result::Result, smartstring::SmartString, types::custom_types::CustomTypeInfo, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::KV>, smallvec::alloc::collections::btree::node::NodeRef, smartstring::SmartString, types::custom_types::CustomTypeInfo, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Ok`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Err`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::result::Result, smartstring::SmartString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::Edge>, smallvec::alloc::collections::btree::node::NodeRef, smartstring::SmartString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Ok`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Err`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::result::Result, smartstring::SmartString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::KV>, smallvec::alloc::collections::btree::node::Handle, smartstring::SmartString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Ok`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Err`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size type: `std::result::Result, smartstring::SmartString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::KV>, smallvec::alloc::collections::btree::node::Handle, smartstring::SmartString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Ok`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Err`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size type: `std::result::Result, smartstring::SmartString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::KV>, smallvec::alloc::collections::btree::node::Handle, smartstring::SmartString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Ok`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Err`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size type: `std::result::Result, smartstring::SmartString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::KV>, smallvec::alloc::collections::btree::node::NodeRef, smartstring::SmartString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Ok`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Err`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::result::Result, std::any::TypeId, std::rc::Rc std::boxed::Box>>>>, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::Edge>, smallvec::alloc::collections::btree::node::NodeRef, std::any::TypeId, std::rc::Rc std::boxed::Box>>>>, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Ok`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Err`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::result::Result, std::any::TypeId, std::rc::Rc std::boxed::Box>>>>, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::KV>, smallvec::alloc::collections::btree::node::Handle, std::any::TypeId, std::rc::Rc std::boxed::Box>>>>, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Ok`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Err`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size type: `std::result::Result, std::any::TypeId, std::rc::Rc std::boxed::Box>>>>, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::KV>, smallvec::alloc::collections::btree::node::Handle, std::any::TypeId, std::rc::Rc std::boxed::Box>>>>, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Ok`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Err`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size type: `std::result::Result, std::any::TypeId, std::rc::Rc std::boxed::Box>>>>, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::KV>, smallvec::alloc::collections::btree::node::Handle, std::any::TypeId, std::rc::Rc std::boxed::Box>>>>, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Ok`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Err`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size type: `std::result::Result, std::any::TypeId, std::rc::Rc std::boxed::Box>>>>, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::KV>, smallvec::alloc::collections::btree::node::NodeRef, std::any::TypeId, std::rc::Rc std::boxed::Box>>>>, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Ok`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Err`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::result::Result, std::path::PathBuf, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::Edge>, smallvec::alloc::collections::btree::node::NodeRef, std::path::PathBuf, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Ok`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Err`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::result::Result, std::path::PathBuf, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::KV>, smallvec::alloc::collections::btree::node::Handle, std::path::PathBuf, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Ok`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Err`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size type: `std::result::Result, std::path::PathBuf, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::KV>, smallvec::alloc::collections::btree::node::NodeRef, std::path::PathBuf, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Ok`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Err`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::result::Result, types::immutable_string::ImmutableString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::Edge>, smallvec::alloc::collections::btree::node::NodeRef, types::immutable_string::ImmutableString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Ok`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Err`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::result::Result, types::immutable_string::ImmutableString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::KV>, smallvec::alloc::collections::btree::node::Handle, types::immutable_string::ImmutableString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Ok`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Err`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size type: `std::result::Result, types::immutable_string::ImmutableString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::KV>, smallvec::alloc::collections::btree::node::NodeRef, types::immutable_string::ImmutableString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Ok`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Err`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::result::Result, u64, smallvec::SmallVec<[usize; 1]>, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::Edge>, smallvec::alloc::collections::btree::node::NodeRef, u64, smallvec::SmallVec<[usize; 1]>, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Ok`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Err`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::result::Result, u64, smallvec::SmallVec<[usize; 1]>, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::KV>, smallvec::alloc::collections::btree::node::Handle, u64, smallvec::SmallVec<[usize; 1]>, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Ok`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Err`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size type: `std::result::Result, u64, smallvec::SmallVec<[usize; 1]>, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::KV>, smallvec::alloc::collections::btree::node::Handle, u64, smallvec::SmallVec<[usize; 1]>, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Ok`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Err`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size type: `std::result::Result, u64, smallvec::SmallVec<[usize; 1]>, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::KV>, smallvec::alloc::collections::btree::node::Handle, u64, smallvec::SmallVec<[usize; 1]>, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Ok`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Err`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size type: `std::result::Result, u64, smallvec::SmallVec<[usize; 1]>, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::KV>, smallvec::alloc::collections::btree::node::NodeRef, u64, smallvec::SmallVec<[usize; 1]>, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Ok`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Err`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::result::Result, &str, serde::metadata::ModuleMetadata<'_>, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::Edge>, smallvec::alloc::collections::btree::node::NodeRef, &str, serde::metadata::ModuleMetadata<'_>, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Ok`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Err`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::result::Result, smartstring::SmartString, smallvec::alloc::collections::btree::set_val::SetValZST, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::Edge>, smallvec::alloc::collections::btree::node::NodeRef, smartstring::SmartString, smallvec::alloc::collections::btree::set_val::SetValZST, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Ok`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Err`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::result::Result, smartstring::SmartString, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::Edge>, smallvec::alloc::collections::btree::node::NodeRef, smartstring::SmartString, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::Leaf>>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Ok`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Err`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::result::Result, smartstring::SmartString, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::Edge>, smallvec::alloc::collections::btree::node::NodeRef, smartstring::SmartString, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Ok`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Err`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::result::Result, smartstring::SmartString, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::KV>, smallvec::alloc::collections::btree::node::Handle, smartstring::SmartString, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Ok`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Err`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size type: `std::result::Result, smartstring::SmartString, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::KV>, smallvec::alloc::collections::btree::node::Handle, smartstring::SmartString, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Ok`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Err`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size type: `std::result::Result, smartstring::SmartString, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::KV>, smallvec::alloc::collections::btree::node::Handle, smartstring::SmartString, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Ok`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Err`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size type: `std::result::Result, smartstring::SmartString, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::KV>, smallvec::alloc::collections::btree::node::NodeRef, smartstring::SmartString, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Ok`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Err`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::result::Result, smartstring::SmartString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::Edge>, smallvec::alloc::collections::btree::node::NodeRef, smartstring::SmartString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::Leaf>>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Ok`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Err`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::result::Result, smartstring::SmartString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::Edge>, smallvec::alloc::collections::btree::node::NodeRef, smartstring::SmartString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Ok`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Err`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::result::Result, smartstring::SmartString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::KV>, smallvec::alloc::collections::btree::node::Handle, smartstring::SmartString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Ok`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Err`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size type: `std::result::Result, smartstring::SmartString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::KV>, smallvec::alloc::collections::btree::node::Handle, smartstring::SmartString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Ok`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Err`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size type: `std::result::Result, smartstring::SmartString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::KV>, smallvec::alloc::collections::btree::node::Handle, smartstring::SmartString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Ok`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Err`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size type: `std::result::Result, smartstring::SmartString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::KV>, smallvec::alloc::collections::btree::node::NodeRef, smartstring::SmartString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Ok`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Err`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::result::Result, std::any::TypeId, std::rc::Rc std::boxed::Box>>>>, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::Edge>, smallvec::alloc::collections::btree::node::NodeRef, std::any::TypeId, std::rc::Rc std::boxed::Box>>>>, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Ok`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Err`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::result::Result, std::path::PathBuf, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::Edge>, smallvec::alloc::collections::btree::node::NodeRef, std::path::PathBuf, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Ok`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Err`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::result::Result, types::immutable_string::ImmutableString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::Edge>, smallvec::alloc::collections::btree::node::NodeRef, types::immutable_string::ImmutableString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Ok`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Err`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::result::Result, u64, smallvec::SmallVec<[usize; 1]>, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::Edge>, smallvec::alloc::collections::btree::node::NodeRef, u64, smallvec::SmallVec<[usize; 1]>, smallvec::alloc::collections::btree::node::marker::Leaf>>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Ok`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Err`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::result::Result, u64, smallvec::SmallVec<[usize; 1]>, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::Edge>, smallvec::alloc::collections::btree::node::NodeRef, u64, smallvec::SmallVec<[usize; 1]>, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Ok`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Err`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::result::Result, u64, smallvec::SmallVec<[usize; 1]>, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::KV>, smallvec::alloc::collections::btree::node::Handle, u64, smallvec::SmallVec<[usize; 1]>, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Ok`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Err`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size type: `std::result::Result, u64, smallvec::SmallVec<[usize; 1]>, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::KV>, smallvec::alloc::collections::btree::node::Handle, u64, smallvec::SmallVec<[usize; 1]>, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Ok`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Err`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size type: `std::result::Result, u64, smallvec::SmallVec<[usize; 1]>, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::KV>, smallvec::alloc::collections::btree::node::Handle, u64, smallvec::SmallVec<[usize; 1]>, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Ok`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Err`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size type: `std::result::Result, u64, smallvec::SmallVec<[usize; 1]>, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::KV>, smallvec::alloc::collections::btree::node::NodeRef, u64, smallvec::SmallVec<[usize; 1]>, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Ok`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Err`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::result::Result, smartstring::SmartString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::Edge>, smallvec::alloc::collections::btree::node::NodeRef, smartstring::SmartString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Ok`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Err`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::result::Result, smartstring::SmartString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::KV>, smallvec::alloc::collections::btree::node::Handle, smartstring::SmartString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Ok`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Err`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size type: `std::result::Result, smartstring::SmartString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::KV>, smallvec::alloc::collections::btree::node::NodeRef, smartstring::SmartString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Ok`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Err`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::result::Result, serde_json::Error>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Ok`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Err`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::result::Result, std::rc::Rc>>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Ok`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Err`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::result::Result, tokenizer::Token>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Ok`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Err`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::result::Result, rust_decimal::Error>`: 32 bytes, alignment: 8 bytes +print-type-size variant `Err`: 32 bytes +print-type-size field `.0`: 32 bytes +print-type-size variant `Ok`: 16 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size type: `std::result::Result, std::rc::Rc>>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Ok`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Err`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::result::Result, types::dynamic::Dynamic>, std::boxed::Box>`: 32 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Ok`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Err`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::result::Result>, serde_json::Error>`: 32 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 32 bytes +print-type-size field `.0`: 32 bytes +print-type-size variant `Err`: 16 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size type: `std::result::Result`: 32 bytes, alignment: 8 bytes +print-type-size variant `Err`: 32 bytes +print-type-size field `.0`: 32 bytes +print-type-size variant `Ok`: 24 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 16 bytes, alignment: 8 bytes +print-type-size type: `std::sys::windows::os_str::Buf`: 32 bytes, alignment: 8 bytes +print-type-size field `.inner`: 32 bytes +print-type-size type: `std::sys_common::wtf8::Wtf8Buf`: 32 bytes, alignment: 8 bytes +print-type-size field `.bytes`: 24 bytes +print-type-size field `.is_known_utf8`: 1 bytes +print-type-size end padding: 7 bytes +print-type-size type: `std::vec::IntoIter<&module::FuncInfo>`: 32 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.alloc`: 0 bytes +print-type-size field `.buf`: 8 bytes +print-type-size field `.cap`: 8 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size field `.end`: 8 bytes +print-type-size type: `std::vec::IntoIter<(&str, &std::rc::Rc)>`: 32 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.alloc`: 0 bytes +print-type-size field `.buf`: 8 bytes +print-type-size field `.cap`: 8 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size field `.end`: 8 bytes +print-type-size type: `std::vec::IntoIter<(&str, &types::dynamic::Dynamic)>`: 32 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.alloc`: 0 bytes +print-type-size field `.buf`: 8 bytes +print-type-size field `.cap`: 8 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size field `.end`: 8 bytes +print-type-size type: `std::vec::IntoIter<(&str, serde::metadata::ModuleMetadata<'_>)>`: 32 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.alloc`: 0 bytes +print-type-size field `.buf`: 8 bytes +print-type-size field `.cap`: 8 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size field `.end`: 8 bytes +print-type-size type: `std::vec::IntoIter<(smartstring::SmartString, types::dynamic::Dynamic)>`: 32 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.alloc`: 0 bytes +print-type-size field `.buf`: 8 bytes +print-type-size field `.cap`: 8 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size field `.end`: 8 bytes +print-type-size type: `std::vec::IntoIter<(std::string::String, std::string::String)>`: 32 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.alloc`: 0 bytes +print-type-size field `.buf`: 8 bytes +print-type-size field `.cap`: 8 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size field `.end`: 8 bytes +print-type-size type: `std::vec::IntoIter`: 32 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.alloc`: 0 bytes +print-type-size field `.buf`: 8 bytes +print-type-size field `.cap`: 8 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size field `.end`: 8 bytes +print-type-size type: `std::vec::IntoIter`: 32 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.alloc`: 0 bytes +print-type-size field `.buf`: 8 bytes +print-type-size field `.cap`: 8 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size field `.end`: 8 bytes +print-type-size type: `std::vec::IntoIter`: 32 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.alloc`: 0 bytes +print-type-size field `.buf`: 8 bytes +print-type-size field `.cap`: 8 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size field `.end`: 8 bytes +print-type-size type: `std::vec::IntoIter`: 32 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.alloc`: 0 bytes +print-type-size field `.buf`: 8 bytes +print-type-size field `.cap`: 8 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size field `.end`: 8 bytes +print-type-size type: `tokenizer::TokenizeState`: 32 bytes, alignment: 8 bytes +print-type-size field `.max_string_size`: 8 bytes +print-type-size field `.tokenizer_control`: 8 bytes +print-type-size field `.comment_level`: 8 bytes +print-type-size field `.is_within_text_terminated_by`: 4 bytes +print-type-size field `.next_token_cannot_be_unary`: 1 bytes +print-type-size field `.include_comments`: 1 bytes +print-type-size end padding: 2 bytes +print-type-size type: `tokenizer::TokenizerControlBlock`: 32 bytes, alignment: 8 bytes +print-type-size field `.global_comments`: 24 bytes +print-type-size field `.is_within_text`: 1 bytes +print-type-size end padding: 7 bytes +print-type-size type: `types::bloom_filter::BloomFilterU64`: 32 bytes, alignment: 8 bytes +print-type-size field `.0`: 32 bytes +print-type-size type: `[closure@ as std::iter::Iterator>::fold::enumerate<&std::rc::Rc, (), [closure@std::iter::Iterator::for_each::call<(usize, &std::rc::Rc), [closure@src\api\definitions\mod.rs:320:23: 320:31]>::{closure#0}]>::{closure#0}]`: 24 bytes, alignment: 8 bytes +print-type-size end padding: 24 bytes +print-type-size type: `[closure@ as std::iter::Iterator>::fold::enumerate::{closure#0}]>::{closure#0}]`: 24 bytes, alignment: 8 bytes +print-type-size end padding: 24 bytes +print-type-size type: `[closure@ as std::iter::Iterator>::try_fold::enumerate<'_, &smartstring::SmartString, (), std::ops::ControlFlow, [closure@std::iter::Iterator::find_map::check<(usize, &smartstring::SmartString), usize, [closure@src\types\scope.rs:454:23: 454:33]>::{closure#0}]>::{closure#0}]`: 24 bytes, alignment: 8 bytes +print-type-size end padding: 24 bytes +print-type-size type: `[closure@ as std::iter::Iterator>::try_fold::enumerate<'_, (&str, bool, &types::dynamic::Dynamic), (), std::ops::ControlFlow<(usize, (&str, bool, &types::dynamic::Dynamic))>, [closure@std::iter::Iterator::find::check<(usize, (&str, bool, &types::dynamic::Dynamic)), [closure@src\parser.rs:148:23: 148:39]>::{closure#0}]>::{closure#0}]`: 24 bytes, alignment: 8 bytes +print-type-size end padding: 24 bytes +print-type-size type: `[closure@ as std::iter::Iterator>::fold::flatten>, std::collections::hash_map::Values<'_, u64, module::FuncInfo>, [closure@src\module\mod.rs:1927:40: 1927:43]>, [closure@src\module\mod.rs:1951:31: 1951:35]>, [closure@src\module\mod.rs:1951:60: 1951:63]>, (), [closure@std::iter::adapters::filter::filter_fold<(module::FnNamespace, ast::flags::FnAccess, &str, usize, &std::rc::Rc), (), [closure@src\packages\lang_core.rs:237:17: 237:34], [closure@std::iter::Iterator::for_each::call<(module::FnNamespace, ast::flags::FnAccess, &str, usize, &std::rc::Rc), [closure@src\packages\lang_core.rs:238:19: 238:28]>::{closure#0}]>::{closure#0}]>::{closure#0}]`: 24 bytes, alignment: 8 bytes +print-type-size end padding: 24 bytes +print-type-size type: `[closure@ as std::iter::Iterator>::fold::flatten>, std::collections::hash_map::Values<'_, u64, module::FuncInfo>, [closure@src\module\mod.rs:1927:40: 1927:43]>, [closure@src\module\mod.rs:1951:31: 1951:35]>, [closure@src\module\mod.rs:1951:60: 1951:63]>, (), [closure@std::iter::adapters::filter::filter_fold<(module::FnNamespace, ast::flags::FnAccess, &str, usize, &std::rc::Rc), (), [closure@src\packages\lang_core.rs:254:17: 254:35], [closure@std::iter::Iterator::for_each::call<(module::FnNamespace, ast::flags::FnAccess, &str, usize, &std::rc::Rc), [closure@src\packages\lang_core.rs:255:19: 255:28]>::{closure#0}]>::{closure#0}]>::{closure#0}]`: 24 bytes, alignment: 8 bytes +print-type-size end padding: 24 bytes +print-type-size type: `[closure@ as std::iter::Iterator>::fold::flatten>, std::collections::hash_map::Values<'_, u64, module::FuncInfo>, [closure@src\module\mod.rs:1927:40: 1927:43]>, [closure@src\module\mod.rs:1951:31: 1951:35]>, [closure@src\module\mod.rs:1951:60: 1951:63]>, (), [closure@std::iter::adapters::filter::filter_fold<(module::FnNamespace, ast::flags::FnAccess, &str, usize, &std::rc::Rc), (), [closure@src\packages\lang_core.rs:273:17: 273:35], [closure@std::iter::Iterator::for_each::call<(module::FnNamespace, ast::flags::FnAccess, &str, usize, &std::rc::Rc), [closure@src\packages\lang_core.rs:274:19: 274:28]>::{closure#0}]>::{closure#0}]>::{closure#0}]`: 24 bytes, alignment: 8 bytes +print-type-size end padding: 24 bytes +print-type-size type: `[closure@ as std::iter::Iterator>::try_fold::flatten, (), std::ops::ControlFlow<()>, [closure@std::iter::adapters::filter::filter_try_fold<'_, &module::FuncInfo, (), std::ops::ControlFlow<()>, [closure@src\module\mod.rs:1951:31: 1951:35], [closure@std::iter::adapters::map::map_try_fold<'_, &module::FuncInfo, (module::FnNamespace, ast::flags::FnAccess, &str, usize, &std::rc::Rc), (), std::ops::ControlFlow<()>, [closure@src\module\mod.rs:1951:60: 1951:63], &mut [closure@std::iter::Iterator::any::check<(module::FnNamespace, ast::flags::FnAccess, &str, usize, &std::rc::Rc), [closure@src\eval\expr.rs:161:26: 161:41]>::{closure#0}]>::{closure#0}]>::{closure#0}]>::{closure#0}]`: 24 bytes, alignment: 8 bytes +print-type-size end padding: 24 bytes +print-type-size type: `[closure@ as std::iter::Iterator>::try_fold::flatten>>, std::iter::Rev>>, [closure@src\types\scope.rs:823:18: 823:33]>, (), std::ops::ControlFlow<(usize, (&str, bool, &types::dynamic::Dynamic))>, [closure@ as std::iter::Iterator>::try_fold::enumerate<'_, (&str, bool, &types::dynamic::Dynamic), (), std::ops::ControlFlow<(usize, (&str, bool, &types::dynamic::Dynamic))>, [closure@std::iter::Iterator::find::check<(usize, (&str, bool, &types::dynamic::Dynamic)), [closure@src\parser.rs:148:23: 148:39]>::{closure#0}]>::{closure#0}]>::{closure#0}]`: 24 bytes, alignment: 8 bytes +print-type-size end padding: 24 bytes +print-type-size type: `[closure@ as std::iter::Iterator>::try_fold::flatten, (), std::result::Result<(), types::parse_error::ParseError>, [closure@std::iter::Iterator::try_for_each::call<&ast::ident::Ident, std::result::Result<(), types::parse_error::ParseError>, [closure@src\parser.rs:1473:35: 1473:56]>::{closure#0}]>::{closure#0}]`: 24 bytes, alignment: 8 bytes +print-type-size end padding: 24 bytes +print-type-size type: `[closure@ as std::vec::spec_extend::SpecExtend<&str, std::iter::Take>>>::spec_extend::{closure#0}]`: 24 bytes, alignment: 8 bytes +print-type-size end padding: 24 bytes +print-type-size type: `[closure@> as std::vec::spec_extend::SpecExtend, std::iter::Map, [closure@src\module\mod.rs:1125:55: 1125:58]>>>::spec_extend::{closure#0}]`: 24 bytes, alignment: 8 bytes +print-type-size end padding: 24 bytes +print-type-size type: `[closure@> as std::vec::spec_extend::SpecExtend, std::iter::Map, [closure@src\module\mod.rs:946:55: 946:58]>>>::spec_extend::{closure#0}]`: 24 bytes, alignment: 8 bytes +print-type-size end padding: 24 bytes +print-type-size type: `[closure@ as std::vec::spec_extend::SpecExtend, for<'a> fn(&'a types::immutable_string::ImmutableString) -> std::string::String {::to_string}>>>::spec_extend::{closure#0}]`: 24 bytes, alignment: 8 bytes +print-type-size end padding: 24 bytes +print-type-size type: `[closure@ as std::vec::spec_extend::SpecExtend>>::spec_extend::{closure#0}]`: 24 bytes, alignment: 8 bytes +print-type-size end padding: 24 bytes +print-type-size type: `[closure@ as std::vec::spec_extend::SpecExtend, [closure@src\ast\expr.rs:494:41: 494:44]>>>::spec_extend::{closure#0}]`: 24 bytes, alignment: 8 bytes +print-type-size end padding: 24 bytes +print-type-size type: `[closure@ as std::vec::spec_extend::SpecExtend>, [closure@src\packages\lang_core.rs:223:26: 223:29]>>>::spec_extend::{closure#0}]`: 24 bytes, alignment: 8 bytes +print-type-size end padding: 24 bytes +print-type-size type: `[closure@ as std::vec::spec_extend::SpecExtend, fn(&std::string::String) -> types::dynamic::Dynamic {<&std::string::String as std::convert::Into>::into}>>>::spec_extend::{closure#0}]`: 24 bytes, alignment: 8 bytes +print-type-size end padding: 24 bytes +print-type-size type: `[closure@ as std::vec::spec_extend::SpecExtend, [closure@src\packages\lang_core.rs:213:22: 213:25]>>>::spec_extend::{closure#0}]`: 24 bytes, alignment: 8 bytes +print-type-size end padding: 24 bytes +print-type-size type: `[closure@ as std::vec::spec_extend::SpecExtend, [closure@src\packages\blob_basic.rs:104:25: 104:30]>>>::spec_extend::{closure#0}]`: 24 bytes, alignment: 8 bytes +print-type-size end padding: 24 bytes +print-type-size type: `[closure@ as std::vec::spec_extend::SpecExtend, fn(types::dynamic::Dynamic) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>>::spec_extend::{closure#0}]`: 24 bytes, alignment: 8 bytes +print-type-size end padding: 24 bytes +print-type-size type: `[closure@ as std::vec::spec_extend::SpecExtend>>::spec_extend::{closure#0}]`: 24 bytes, alignment: 8 bytes +print-type-size end padding: 24 bytes +print-type-size type: `[closure@ as std::vec::spec_extend::SpecExtend>>::spec_extend::{closure#0}]`: 24 bytes, alignment: 8 bytes +print-type-size end padding: 24 bytes +print-type-size type: `[closure@ as std::vec::spec_extend::SpecExtend>>::spec_extend::{closure#0}]`: 24 bytes, alignment: 8 bytes +print-type-size end padding: 24 bytes +print-type-size type: `[closure@src\api\files.rs:109:41: 109:51]`: 24 bytes, alignment: 8 bytes +print-type-size end padding: 24 bytes +print-type-size type: `[closure@src\eval\chaining.rs:138:67: 138:69]`: 24 bytes, alignment: 8 bytes +print-type-size end padding: 24 bytes +print-type-size type: `[closure@src\eval\chaining.rs:152:67: 152:69]`: 24 bytes, alignment: 8 bytes +print-type-size end padding: 24 bytes +print-type-size type: `[closure@src\eval\chaining.rs:168:82: 168:84]`: 24 bytes, alignment: 8 bytes +print-type-size end padding: 24 bytes +print-type-size type: `[closure@src\eval\chaining.rs:177:21: 177:23]`: 24 bytes, alignment: 8 bytes +print-type-size end padding: 24 bytes +print-type-size type: `[closure@src\eval\chaining.rs:298:58: 298:60]`: 24 bytes, alignment: 8 bytes +print-type-size end padding: 24 bytes +print-type-size type: `[closure@src\eval\chaining.rs:316:68: 316:70]`: 24 bytes, alignment: 8 bytes +print-type-size end padding: 24 bytes +print-type-size type: `[closure@src\eval\expr.rs:413:33: 413:35]`: 24 bytes, alignment: 8 bytes +print-type-size end padding: 24 bytes +print-type-size type: `[closure@src\eval\stmt.rs:783:78: 783:80]`: 24 bytes, alignment: 8 bytes +print-type-size end padding: 24 bytes +print-type-size type: `[closure@src\eval\stmt.rs:834:21: 834:28]`: 24 bytes, alignment: 8 bytes +print-type-size end padding: 24 bytes +print-type-size type: `[closure@src\func\script.rs:142:22: 142:27]`: 24 bytes, alignment: 8 bytes +print-type-size end padding: 24 bytes +print-type-size type: `[closure@src\packages\lang_core.rs:301:27: 301:36]`: 24 bytes, alignment: 8 bytes +print-type-size end padding: 24 bytes +print-type-size type: `[closure@src\packages\string_basic.rs:185:47: 185:55]`: 24 bytes, alignment: 8 bytes +print-type-size end padding: 24 bytes +print-type-size type: `[closure@src\packages\string_basic.rs:210:45: 210:58]`: 24 bytes, alignment: 8 bytes +print-type-size end padding: 24 bytes +print-type-size type: `[closure@src\parser.rs:1473:35: 1473:56]`: 24 bytes, alignment: 8 bytes +print-type-size end padding: 24 bytes +print-type-size type: `[closure@std::iter::Iterator::for_each::call<&str, [closure@ as std::vec::spec_extend::SpecExtend<&str, std::iter::Take>>>::spec_extend::{closure#0}]>::{closure#0}]`: 24 bytes, alignment: 8 bytes +print-type-size end padding: 24 bytes +print-type-size type: `[closure@std::iter::Iterator::for_each::call<(module::FnNamespace, ast::flags::FnAccess, &str, usize, &std::rc::Rc), [closure@src\packages\lang_core.rs:301:27: 301:36]>::{closure#0}]`: 24 bytes, alignment: 8 bytes +print-type-size end padding: 24 bytes +print-type-size type: `[closure@std::iter::Iterator::for_each::call<(usize, &mut types::dynamic::Dynamic), [closure@src\packages\string_basic.rs:185:47: 185:55]>::{closure#0}]`: 24 bytes, alignment: 8 bytes +print-type-size end padding: 24 bytes +print-type-size type: `[closure@std::iter::Iterator::for_each::call<(usize, (&smartstring::SmartString, &mut types::dynamic::Dynamic)), [closure@src\packages\string_basic.rs:210:45: 210:58]>::{closure#0}]`: 24 bytes, alignment: 8 bytes +print-type-size end padding: 24 bytes +print-type-size type: `[closure@std::iter::Iterator::for_each::call, [closure@> as std::vec::spec_extend::SpecExtend, std::iter::Map, [closure@src\module\mod.rs:1125:55: 1125:58]>>>::spec_extend::{closure#0}]>::{closure#0}]`: 24 bytes, alignment: 8 bytes +print-type-size end padding: 24 bytes +print-type-size type: `[closure@std::iter::Iterator::for_each::call, [closure@> as std::vec::spec_extend::SpecExtend, std::iter::Map, [closure@src\module\mod.rs:946:55: 946:58]>>>::spec_extend::{closure#0}]>::{closure#0}]`: 24 bytes, alignment: 8 bytes +print-type-size end padding: 24 bytes +print-type-size type: `[closure@std::iter::Iterator::for_each::call as std::vec::spec_extend::SpecExtend, for<'a> fn(&'a types::immutable_string::ImmutableString) -> std::string::String {::to_string}>>>::spec_extend::{closure#0}]>::{closure#0}]`: 24 bytes, alignment: 8 bytes +print-type-size end padding: 24 bytes +print-type-size type: `[closure@std::iter::Iterator::for_each::call as std::vec::spec_extend::SpecExtend>>::spec_extend::{closure#0}]>::{closure#0}]`: 24 bytes, alignment: 8 bytes +print-type-size end padding: 24 bytes +print-type-size type: `[closure@std::iter::Iterator::for_each::call as std::vec::spec_extend::SpecExtend, [closure@src\ast\expr.rs:494:41: 494:44]>>>::spec_extend::{closure#0}]>::{closure#0}]`: 24 bytes, alignment: 8 bytes +print-type-size end padding: 24 bytes +print-type-size type: `[closure@std::iter::Iterator::for_each::call as std::vec::spec_extend::SpecExtend>, [closure@src\packages\lang_core.rs:223:26: 223:29]>>>::spec_extend::{closure#0}]>::{closure#0}]`: 24 bytes, alignment: 8 bytes +print-type-size end padding: 24 bytes +print-type-size type: `[closure@std::iter::Iterator::for_each::call as std::vec::spec_extend::SpecExtend, fn(&std::string::String) -> types::dynamic::Dynamic {<&std::string::String as std::convert::Into>::into}>>>::spec_extend::{closure#0}]>::{closure#0}]`: 24 bytes, alignment: 8 bytes +print-type-size end padding: 24 bytes +print-type-size type: `[closure@std::iter::Iterator::for_each::call as std::vec::spec_extend::SpecExtend, [closure@src\packages\lang_core.rs:213:22: 213:25]>>>::spec_extend::{closure#0}]>::{closure#0}]`: 24 bytes, alignment: 8 bytes +print-type-size end padding: 24 bytes +print-type-size type: `[closure@std::iter::Iterator::for_each::call as std::vec::spec_extend::SpecExtend, [closure@src\packages\blob_basic.rs:104:25: 104:30]>>>::spec_extend::{closure#0}]>::{closure#0}]`: 24 bytes, alignment: 8 bytes +print-type-size end padding: 24 bytes +print-type-size type: `[closure@std::iter::Iterator::for_each::call as std::vec::spec_extend::SpecExtend, fn(types::dynamic::Dynamic) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>>::spec_extend::{closure#0}]>::{closure#0}]`: 24 bytes, alignment: 8 bytes +print-type-size end padding: 24 bytes +print-type-size type: `[closure@std::iter::Iterator::for_each::call as std::vec::spec_extend::SpecExtend>>::spec_extend::{closure#0}]>::{closure#0}]`: 24 bytes, alignment: 8 bytes +print-type-size end padding: 24 bytes +print-type-size type: `[closure@std::iter::Iterator::for_each::call as std::vec::spec_extend::SpecExtend>>::spec_extend::{closure#0}]>::{closure#0}]`: 24 bytes, alignment: 8 bytes +print-type-size end padding: 24 bytes +print-type-size type: `[closure@std::iter::Iterator::for_each::call as std::vec::spec_extend::SpecExtend>>::spec_extend::{closure#0}]>::{closure#0}]`: 24 bytes, alignment: 8 bytes +print-type-size end padding: 24 bytes +print-type-size type: `[closure@std::iter::Iterator::try_for_each::call<&ast::ident::Ident, std::result::Result<(), types::parse_error::ParseError>, [closure@src\parser.rs:1473:35: 1473:56]>::{closure#0}]`: 24 bytes, alignment: 8 bytes +print-type-size end padding: 24 bytes +print-type-size type: `[closure@std::iter::adapters::filter::filter_fold<(module::FnNamespace, ast::flags::FnAccess, &str, usize, &std::rc::Rc), (), [closure@src\packages\lang_core.rs:237:17: 237:34], [closure@std::iter::Iterator::for_each::call<(module::FnNamespace, ast::flags::FnAccess, &str, usize, &std::rc::Rc), [closure@src\packages\lang_core.rs:238:19: 238:28]>::{closure#0}]>::{closure#0}]`: 24 bytes, alignment: 8 bytes +print-type-size end padding: 24 bytes +print-type-size type: `[closure@std::iter::adapters::filter::filter_fold<(module::FnNamespace, ast::flags::FnAccess, &str, usize, &std::rc::Rc), (), [closure@src\packages\lang_core.rs:254:17: 254:35], [closure@std::iter::Iterator::for_each::call<(module::FnNamespace, ast::flags::FnAccess, &str, usize, &std::rc::Rc), [closure@src\packages\lang_core.rs:255:19: 255:28]>::{closure#0}]>::{closure#0}]`: 24 bytes, alignment: 8 bytes +print-type-size end padding: 24 bytes +print-type-size type: `[closure@std::iter::adapters::filter::filter_fold<(module::FnNamespace, ast::flags::FnAccess, &str, usize, &std::rc::Rc), (), [closure@src\packages\lang_core.rs:273:17: 273:35], [closure@std::iter::Iterator::for_each::call<(module::FnNamespace, ast::flags::FnAccess, &str, usize, &std::rc::Rc), [closure@src\packages\lang_core.rs:274:19: 274:28]>::{closure#0}]>::{closure#0}]`: 24 bytes, alignment: 8 bytes +print-type-size end padding: 24 bytes +print-type-size type: `[closure@std::iter::adapters::filter::filter_try_fold<'_, &module::FuncInfo, (), std::ops::ControlFlow<()>, [closure@src\module\mod.rs:1951:31: 1951:35], [closure@std::iter::adapters::map::map_try_fold<'_, &module::FuncInfo, (module::FnNamespace, ast::flags::FnAccess, &str, usize, &std::rc::Rc), (), std::ops::ControlFlow<()>, [closure@src\module\mod.rs:1951:60: 1951:63], &mut [closure@std::iter::Iterator::any::check<(module::FnNamespace, ast::flags::FnAccess, &str, usize, &std::rc::Rc), [closure@src\eval\expr.rs:161:26: 161:41]>::{closure#0}]>::{closure#0}]>::{closure#0}]`: 24 bytes, alignment: 8 bytes +print-type-size end padding: 24 bytes +print-type-size type: `[closure@std::iter::adapters::filter::filter_try_fold<'_, (usize, &eval::debugger::BreakPoint), (), std::ops::ControlFlow<(usize, &eval::debugger::BreakPoint)>, [closure@src\eval\debugger.rs:335:21: 335:32], [closure@std::iter::Iterator::find::check<(usize, &eval::debugger::BreakPoint), [closure@src\eval\debugger.rs:336:19: 336:30]>::{closure#0}]>::{closure#0}]`: 24 bytes, alignment: 8 bytes +print-type-size end padding: 24 bytes +print-type-size type: `[closure@std::iter::adapters::filter::filter_try_fold<'_, char, (), std::ops::ControlFlow>, for<'a> fn(&'a char) -> bool {std::char::methods::::is_ascii}, [closure@ as std::iter::Iterator>::try_fold::check<'_, char, (), std::ops::try_trait::NeverShortCircuit<()>, core::const_closure::ConstFnMutClosure<&mut [closure@std::iter::adapters::map::map_fold as std::iter::Iterator>::fold::enumerate::{closure#0}]>::{closure#0}]>::{closure#0}], for<'a> fn(&'a mut [closure@std::iter::adapters::map::map_fold as std::iter::Iterator>::fold::enumerate::{closure#0}]>::{closure#0}]>::{closure#0}], ((), char)) -> std::ops::try_trait::NeverShortCircuit<()> {std::ops::try_trait::NeverShortCircuit::<()>::wrap_mut_2_imp::<(), char, [closure@std::iter::adapters::map::map_fold as std::iter::Iterator>::fold::enumerate::{closure#0}]>::{closure#0}]>::{closure#0}]>}>>::{closure#0}]>::{closure#0}]`: 24 bytes, alignment: 8 bytes +print-type-size end padding: 24 bytes +print-type-size type: `[closure@std::iter::adapters::map::map_fold<&&str, std::boxed::Box, (), [closure@src\module\mod.rs:1125:55: 1125:58], [closure@std::iter::Iterator::for_each::call, [closure@> as std::vec::spec_extend::SpecExtend, std::iter::Map, [closure@src\module\mod.rs:1125:55: 1125:58]>>>::spec_extend::{closure#0}]>::{closure#0}]>::{closure#0}]`: 24 bytes, alignment: 8 bytes +print-type-size end padding: 24 bytes +print-type-size type: `[closure@std::iter::adapters::map::map_fold<&&str, std::boxed::Box, (), [closure@src\module\mod.rs:946:55: 946:58], [closure@std::iter::Iterator::for_each::call, [closure@> as std::vec::spec_extend::SpecExtend, std::iter::Map, [closure@src\module\mod.rs:946:55: 946:58]>>>::spec_extend::{closure#0}]>::{closure#0}]>::{closure#0}]`: 24 bytes, alignment: 8 bytes +print-type-size end padding: 24 bytes +print-type-size type: `[closure@std::iter::adapters::map::map_fold<&ast::expr::Expr, types::dynamic::Dynamic, (), [closure@src\ast\expr.rs:494:41: 494:44], [closure@std::iter::Iterator::for_each::call as std::vec::spec_extend::SpecExtend, [closure@src\ast\expr.rs:494:41: 494:44]>>>::spec_extend::{closure#0}]>::{closure#0}]>::{closure#0}]`: 24 bytes, alignment: 8 bytes +print-type-size end padding: 24 bytes +print-type-size type: `[closure@std::iter::adapters::map::map_fold<&std::string::String, types::dynamic::Dynamic, (), fn(&std::string::String) -> types::dynamic::Dynamic {<&std::string::String as std::convert::Into>::into}, [closure@std::iter::Iterator::for_each::call as std::vec::spec_extend::SpecExtend, fn(&std::string::String) -> types::dynamic::Dynamic {<&std::string::String as std::convert::Into>::into}>>>::spec_extend::{closure#0}]>::{closure#0}]>::{closure#0}]`: 24 bytes, alignment: 8 bytes +print-type-size end padding: 24 bytes +print-type-size type: `[closure@std::iter::adapters::map::map_fold<&types::immutable_string::ImmutableString, std::string::String, (), for<'a> fn(&'a types::immutable_string::ImmutableString) -> std::string::String {::to_string}, [closure@std::iter::Iterator::for_each::call as std::vec::spec_extend::SpecExtend, for<'a> fn(&'a types::immutable_string::ImmutableString) -> std::string::String {::to_string}>>>::spec_extend::{closure#0}]>::{closure#0}]>::{closure#0}]`: 24 bytes, alignment: 8 bytes +print-type-size end padding: 24 bytes +print-type-size type: `[closure@std::iter::adapters::map::map_fold<&u8, types::dynamic::Dynamic, (), [closure@src\packages\blob_basic.rs:104:25: 104:30], [closure@std::iter::Iterator::for_each::call as std::vec::spec_extend::SpecExtend, [closure@src\packages\blob_basic.rs:104:25: 104:30]>>>::spec_extend::{closure#0}]>::{closure#0}]>::{closure#0}]`: 24 bytes, alignment: 8 bytes +print-type-size end padding: 24 bytes +print-type-size type: `[closure@std::iter::adapters::map::map_fold<(usize, &&mut types::dynamic::Dynamic), std::any::TypeId, (), [closure@src\func\call.rs:1351:49: 1351:57], [closure@std::iter::Iterator::for_each::call::{closure#0}]>::{closure#0}]`: 24 bytes, alignment: 8 bytes +print-type-size end padding: 24 bytes +print-type-size type: `[closure@std::iter::adapters::map::map_fold<(usize, &&mut types::dynamic::Dynamic), std::any::TypeId, (), [closure@src\func\call.rs:310:34: 310:42], [closure@std::iter::Iterator::for_each::call::{closure#0}]>::{closure#0}]`: 24 bytes, alignment: 8 bytes +print-type-size end padding: 24 bytes +print-type-size type: `[closure@std::iter::adapters::map::map_fold as std::iter::Iterator>::fold::enumerate::{closure#0}]>::{closure#0}]>::{closure#0}]`: 24 bytes, alignment: 8 bytes +print-type-size end padding: 24 bytes +print-type-size type: `[closure@std::iter::adapters::map::map_fold types::dynamic::Dynamic {types::dynamic::Dynamic::from::}, [closure@std::iter::Iterator::for_each::call as std::vec::spec_extend::SpecExtend, fn(types::dynamic::Dynamic) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>>::spec_extend::{closure#0}]>::{closure#0}]>::{closure#0}]`: 24 bytes, alignment: 8 bytes +print-type-size end padding: 24 bytes +print-type-size type: `[closure@std::iter::adapters::map::map_try_fold<'_, &ast::expr::Expr, std::option::Option, (), std::ops::ControlFlow>, for<'a> fn(&'a ast::expr::Expr) -> std::option::Option {ast::expr::Expr::get_literal_value}, [closure@, for<'a> fn(&'a ast::expr::Expr) -> std::option::Option {ast::expr::Expr::get_literal_value}>, std::option::Option> as std::iter::Iterator>::try_fold<(), [closure@std::iter::Iterator::try_for_each::call, fn(types::dynamic::Dynamic) -> std::ops::ControlFlow {std::ops::ControlFlow::::Break}>::{closure#0}], std::ops::ControlFlow>::{closure#0}]>::{closure#0}]`: 24 bytes, alignment: 8 bytes +print-type-size end padding: 24 bytes +print-type-size type: `[closure@std::iter::adapters::map::map_try_fold<'_, &module::FuncInfo, (module::FnNamespace, ast::flags::FnAccess, &str, usize, &std::rc::Rc), (), std::ops::ControlFlow<()>, [closure@src\module\mod.rs:1951:60: 1951:63], [closure@std::iter::adapters::map::map_try_fold<'_, (module::FnNamespace, ast::flags::FnAccess, &str, usize, &std::rc::Rc), &ast::script_fn::ScriptFnDef, (), std::ops::ControlFlow<()>, [closure@src\ast\ast.rs:756:18: 756:32], [closure@std::iter::Iterator::any::check<&ast::script_fn::ScriptFnDef, [closure@src\module\mod.rs:2110:42: 2110:45]>::{closure#0}]>::{closure#0}]>::{closure#0}]`: 24 bytes, alignment: 8 bytes +print-type-size end padding: 24 bytes +print-type-size type: `[closure@std::iter::adapters::map::map_try_fold<'_, &smallvec::SmallVec<[usize; 1]>, std::slice::Iter<'_, usize>, (), std::ops::ControlFlow<()>, [closure@src\ast\stmt.rs:822:51: 822:58], [closure@std::iter::adapters::flatten::FlattenCompat::iter_try_fold::flatten, (), std::ops::ControlFlow<()>, [closure@ as std::iter::Iterator>::try_fold::flatten, (), std::ops::ControlFlow<()>, [closure@std::iter::Iterator::all::check<&usize, [closure@src\ast\stmt.rs:822:77: 822:81]>::{closure#0}]>::{closure#0}]>::{closure#0}]>::{closure#0}]`: 24 bytes, alignment: 8 bytes +print-type-size end padding: 24 bytes +print-type-size type: `[closure@std::iter::adapters::map::map_try_fold<'_, &smallvec::SmallVec<[usize; 1]>, std::slice::Iter<'_, usize>, (), std::ops::ControlFlow<()>, [closure@src\optimizer.rs:716:48: 716:51], [closure@std::iter::adapters::flatten::FlattenCompat::iter_try_fold::flatten, (), std::ops::ControlFlow<()>, [closure@ as std::iter::Iterator>::try_fold::flatten, (), std::ops::ControlFlow<()>, [closure@std::iter::Iterator::any::check<&usize, [closure@src\optimizer.rs:716:66: 716:70]>::{closure#0}]>::{closure#0}]>::{closure#0}]>::{closure#0}]`: 24 bytes, alignment: 8 bytes +print-type-size end padding: 24 bytes +print-type-size type: `[closure@std::iter::adapters::map::map_try_fold<'_, &std::boxed::Box>, std::slice::Iter<'_, ast::ident::Ident>, (), std::ops::ControlFlow<()>, [closure@src\parser.rs:200:31: 200:34], [closure@std::iter::adapters::flatten::FlattenCompat::iter_try_fold::flatten, (), std::ops::ControlFlow<()>, [closure@ as std::iter::Iterator>::try_fold::flatten, (), std::ops::ControlFlow<()>, [closure@std::iter::Iterator::any::check<&ast::ident::Ident, [closure@src\parser.rs:201:26: 201:29]>::{closure#0}]>::{closure#0}]>::{closure#0}]>::{closure#0}]`: 24 bytes, alignment: 8 bytes +print-type-size end padding: 24 bytes +print-type-size type: `[closure@std::iter::adapters::map::map_try_fold<'_, &std::boxed::Box>, std::slice::Iter<'_, ast::ident::Ident>, (), std::result::Result<(), types::parse_error::ParseError>, [closure@src\parser.rs:1472:31: 1472:34], [closure@std::iter::adapters::flatten::FlattenCompat::iter_try_fold::flatten, (), std::result::Result<(), types::parse_error::ParseError>, [closure@ as std::iter::Iterator>::try_fold::flatten, (), std::result::Result<(), types::parse_error::ParseError>, [closure@std::iter::Iterator::try_for_each::call<&ast::ident::Ident, std::result::Result<(), types::parse_error::ParseError>, [closure@src\parser.rs:1473:35: 1473:56]>::{closure#0}]>::{closure#0}]>::{closure#0}]>::{closure#0}]`: 24 bytes, alignment: 8 bytes +print-type-size end padding: 24 bytes +print-type-size type: `[closure@std::iter::adapters::map::map_try_fold<'_, &std::boxed::Box>, std::slice::Iter<'_, types::immutable_string::ImmutableString>, (), std::ops::ControlFlow<()>, [closure@src\parser.rs:1887:39: 1887:42], [closure@std::iter::adapters::flatten::FlattenCompat::iter_try_fold::flatten, (), std::ops::ControlFlow<()>, [closure@ as std::iter::Iterator>::try_fold::flatten, (), std::ops::ControlFlow<()>, [closure@std::iter::Iterator::any::check<&types::immutable_string::ImmutableString, [closure@src\parser.rs:1888:34: 1888:37]>::{closure#0}]>::{closure#0}]>::{closure#0}]>::{closure#0}]`: 24 bytes, alignment: 8 bytes +print-type-size end padding: 24 bytes +print-type-size type: `[closure@std::iter::adapters::map::map_try_fold<'_, &std::boxed::Box>, std::slice::Iter<'_, types::immutable_string::ImmutableString>, (), std::ops::ControlFlow<()>, [closure@src\parser.rs:606:39: 606:42], [closure@std::iter::adapters::flatten::FlattenCompat::iter_try_fold::flatten, (), std::ops::ControlFlow<()>, [closure@ as std::iter::Iterator>::try_fold::flatten, (), std::ops::ControlFlow<()>, [closure@std::iter::Iterator::any::check<&types::immutable_string::ImmutableString, [closure@src\parser.rs:607:34: 607:37]>::{closure#0}]>::{closure#0}]>::{closure#0}]>::{closure#0}]`: 24 bytes, alignment: 8 bytes +print-type-size end padding: 24 bytes +print-type-size type: `[closure@std::iter::adapters::map::map_try_fold<'_, &std::boxed::Box>, std::slice::Iter<'_, types::immutable_string::ImmutableString>, (), std::ops::ControlFlow<()>, [closure@src\parser.rs:681:43: 681:46], [closure@std::iter::adapters::flatten::FlattenCompat::iter_try_fold::flatten, (), std::ops::ControlFlow<()>, [closure@ as std::iter::Iterator>::try_fold::flatten, (), std::ops::ControlFlow<()>, [closure@std::iter::Iterator::any::check<&types::immutable_string::ImmutableString, [closure@src\parser.rs:682:38: 682:41]>::{closure#0}]>::{closure#0}]>::{closure#0}]>::{closure#0}]`: 24 bytes, alignment: 8 bytes +print-type-size end padding: 24 bytes +print-type-size type: `[closure@std::iter::adapters::map::map_try_fold<'_, &std::boxed::Box>, std::slice::Iter<'_, types::immutable_string::ImmutableString>, (), std::ops::ControlFlow<(usize, &types::immutable_string::ImmutableString)>, [closure@src\parser.rs:238:23: 238:26], [closure@std::iter::adapters::flatten::FlattenCompat::iter_try_rfold::flatten, (), std::ops::ControlFlow<(usize, &types::immutable_string::ImmutableString)>, [closure@ as std::iter::DoubleEndedIterator>::try_rfold::flatten, (), std::ops::ControlFlow<(usize, &types::immutable_string::ImmutableString)>, [closure@ as std::iter::Iterator>::try_fold::enumerate<'_, &types::immutable_string::ImmutableString, (), std::ops::ControlFlow<(usize, &types::immutable_string::ImmutableString)>, [closure@std::iter::Iterator::find::check<(usize, &types::immutable_string::ImmutableString), [closure@src\parser.rs:241:19: 241:28]>::{closure#0}]>::{closure#0}]>::{closure#0}]>::{closure#0}]>::{closure#0}]`: 24 bytes, alignment: 8 bytes +print-type-size end padding: 24 bytes +print-type-size type: `[closure@std::iter::adapters::map::map_try_fold<'_, &std::boxed::Box, std::rc::Rc>>, std::collections::btree_map::Iter<'_, smartstring::SmartString, std::rc::Rc>, (), std::ops::ControlFlow<&str>, [closure@src\api\type_names.rs:208:31: 208:34], [closure@std::iter::adapters::flatten::FlattenCompat::iter_try_fold::flatten, std::rc::Rc>, (), std::ops::ControlFlow<&str>, [closure@ as std::iter::Iterator>::try_fold::flatten, std::rc::Rc>, (), std::ops::ControlFlow<&str>, [closure@std::iter::Iterator::find_map::check<(&smartstring::SmartString, &std::rc::Rc), &str, [closure@src\api\type_names.rs:209:31: 209:39]>::{closure#0}]>::{closure#0}]>::{closure#0}]>::{closure#0}]`: 24 bytes, alignment: 8 bytes +print-type-size end padding: 24 bytes +print-type-size type: `[closure@std::iter::adapters::map::map_try_fold<'_, &std::boxed::Box, std::rc::Rc>>, std::collections::btree_map::Iter<'_, smartstring::SmartString, std::rc::Rc>, (), std::ops::ControlFlow<&str>, [closure@src\api\type_names.rs:242:31: 242:34], [closure@std::iter::adapters::flatten::FlattenCompat::iter_try_fold::flatten, std::rc::Rc>, (), std::ops::ControlFlow<&str>, [closure@ as std::iter::Iterator>::try_fold::flatten, std::rc::Rc>, (), std::ops::ControlFlow<&str>, [closure@std::iter::Iterator::find_map::check<(&smartstring::SmartString, &std::rc::Rc), &str, [closure@src\api\type_names.rs:243:31: 243:39]>::{closure#0}]>::{closure#0}]>::{closure#0}]>::{closure#0}]`: 24 bytes, alignment: 8 bytes +print-type-size end padding: 24 bytes +print-type-size type: `[closure@std::iter::adapters::map::map_try_fold<'_, &std::boxed::Box, std::rc::Rc>>, std::collections::btree_map::Values<'_, smartstring::SmartString, std::rc::Rc>, (), std::ops::ControlFlow<&dyn std::ops::Fn(types::dynamic::Dynamic) -> std::boxed::Box>>>>, [closure@src\eval\stmt.rs:507:35: 507:38], [closure@std::iter::adapters::flatten::FlattenCompat::iter_try_fold::flatten, std::rc::Rc>, (), std::ops::ControlFlow<&dyn std::ops::Fn(types::dynamic::Dynamic) -> std::boxed::Box>>>>, [closure@ as std::iter::Iterator>::try_fold::flatten, std::rc::Rc>, (), std::ops::ControlFlow<&dyn std::ops::Fn(types::dynamic::Dynamic) -> std::boxed::Box>>>>, [closure@std::iter::Iterator::find_map::check<&std::rc::Rc, &dyn std::ops::Fn(types::dynamic::Dynamic) -> std::boxed::Box>>>, [closure@src\eval\stmt.rs:508:35: 508:38]>::{closure#0}]>::{closure#0}]>::{closure#0}]>::{closure#0}]`: 24 bytes, alignment: 8 bytes +print-type-size end padding: 24 bytes +print-type-size type: `[closure@std::iter::adapters::map::map_try_fold<'_, &std::boxed::Box, std::rc::Rc>>, std::collections::btree_map::Values<'_, smartstring::SmartString, std::rc::Rc>, (), std::ops::ControlFlow<(&func::callable_function::CallableFunction, std::option::Option<&types::immutable_string::ImmutableString>)>, [closure@src\func\call.rs:216:43: 216:46], [closure@std::iter::adapters::flatten::FlattenCompat::iter_try_fold::flatten, std::rc::Rc>, (), std::ops::ControlFlow<(&func::callable_function::CallableFunction, std::option::Option<&types::immutable_string::ImmutableString>)>, [closure@ as std::iter::Iterator>::try_fold::flatten, std::rc::Rc>, (), std::ops::ControlFlow<(&func::callable_function::CallableFunction, std::option::Option<&types::immutable_string::ImmutableString>)>, [closure@std::iter::Iterator::find_map::check<&std::rc::Rc, (&func::callable_function::CallableFunction, std::option::Option<&types::immutable_string::ImmutableString>), [closure@src\func\call.rs:217:43: 217:46]>::{closure#0}]>::{closure#0}]>::{closure#0}]>::{closure#0}]`: 24 bytes, alignment: 8 bytes +print-type-size end padding: 24 bytes +print-type-size type: `[closure@std::iter::adapters::map::map_try_fold<'_, &std::boxed::Box, std::rc::Rc>>, std::collections::btree_map::Values<'_, smartstring::SmartString, std::rc::Rc>, (), std::ops::ControlFlow<()>, [closure@src\func\call.rs:257:43: 257:46], [closure@std::iter::adapters::flatten::FlattenCompat::iter_try_fold::flatten, std::rc::Rc>, (), std::ops::ControlFlow<()>, [closure@ as std::iter::Iterator>::try_fold::flatten, std::rc::Rc>, (), std::ops::ControlFlow<()>, [closure@std::iter::Iterator::any::check<&std::rc::Rc, [closure@src\func\call.rs:258:38: 258:41]>::{closure#0}]>::{closure#0}]>::{closure#0}]>::{closure#0}]`: 24 bytes, alignment: 8 bytes +print-type-size end padding: 24 bytes +print-type-size type: `[closure@std::iter::adapters::map::map_try_fold<'_, &std::boxed::Box, std::rc::Rc>>, std::collections::btree_map::Values<'_, smartstring::SmartString, std::rc::Rc>, (), std::ops::ControlFlow<()>, [closure@src\func\script.rs:239:56: 239:59], [closure@std::iter::adapters::flatten::FlattenCompat::iter_try_fold::flatten, std::rc::Rc>, (), std::ops::ControlFlow<()>, [closure@ as std::iter::Iterator>::try_fold::flatten, std::rc::Rc>, (), std::ops::ControlFlow<()>, [closure@std::iter::Iterator::any::check<&std::rc::Rc, [closure@src\func\script.rs:239:76: 239:79]>::{closure#0}]>::{closure#0}]>::{closure#0}]>::{closure#0}]`: 24 bytes, alignment: 8 bytes +print-type-size end padding: 24 bytes +print-type-size type: `[closure@std::iter::adapters::map::map_try_fold<'_, &std::boxed::Box, std::rc::Rc>>, std::collections::btree_map::Values<'_, smartstring::SmartString, std::rc::Rc>, (), std::ops::ControlFlow<()>, [closure@src\optimizer.rs:1251:23: 1251:26], [closure@std::iter::adapters::flatten::FlattenCompat::iter_try_fold::flatten, std::rc::Rc>, (), std::ops::ControlFlow<()>, [closure@ as std::iter::Iterator>::try_fold::flatten, std::rc::Rc>, (), std::ops::ControlFlow<()>, [closure@std::iter::Iterator::any::check<&std::rc::Rc, [closure@src\optimizer.rs:1252:18: 1252:21]>::{closure#0}]>::{closure#0}]>::{closure#0}]>::{closure#0}]`: 24 bytes, alignment: 8 bytes +print-type-size end padding: 24 bytes +print-type-size type: `[closure@std::iter::adapters::map::map_try_fold<'_, &std::boxed::Box>, std::iter::Map>>, std::iter::Rev>>, [closure@src\types\scope.rs:823:18: 823:33]>, (), std::ops::ControlFlow<(usize, (&str, bool, &types::dynamic::Dynamic))>, [closure@src\parser.rs:146:27: 146:30], [closure@std::iter::adapters::flatten::FlattenCompat::iter_try_fold::flatten>>, std::iter::Rev>>, [closure@src\types\scope.rs:823:18: 823:33]>, (), std::ops::ControlFlow<(usize, (&str, bool, &types::dynamic::Dynamic))>, [closure@ as std::iter::Iterator>::try_fold::flatten>>, std::iter::Rev>>, [closure@src\types\scope.rs:823:18: 823:33]>, (), std::ops::ControlFlow<(usize, (&str, bool, &types::dynamic::Dynamic))>, [closure@ as std::iter::Iterator>::try_fold::enumerate<'_, (&str, bool, &types::dynamic::Dynamic), (), std::ops::ControlFlow<(usize, (&str, bool, &types::dynamic::Dynamic))>, [closure@std::iter::Iterator::find::check<(usize, (&str, bool, &types::dynamic::Dynamic)), [closure@src\parser.rs:148:23: 148:39]>::{closure#0}]>::{closure#0}]>::{closure#0}]>::{closure#0}]>::{closure#0}]`: 24 bytes, alignment: 8 bytes +print-type-size end padding: 24 bytes +print-type-size type: `[closure@std::iter::adapters::map::map_try_fold<'_, &std::collections::HashMap, std::collections::hash_map::Values<'_, u64, module::FuncInfo>, (), std::ops::ControlFlow<&module::FuncInfo>, [closure@src\module\mod.rs:1927:40: 1927:43], [closure@std::iter::adapters::flatten::FlattenCompat::iter_try_fold::flatten, (), std::ops::ControlFlow<&module::FuncInfo>, [closure@ as std::iter::Iterator>::try_fold::flatten, (), std::ops::ControlFlow<&module::FuncInfo>, [closure@std::iter::Iterator::find::check<&module::FuncInfo, &mut [closure@src\module\mod.rs:1951:31: 1951:35]>::{closure#0}]>::{closure#0}]>::{closure#0}]>::{closure#0}]`: 24 bytes, alignment: 8 bytes +print-type-size end padding: 24 bytes +print-type-size type: `[closure@std::iter::adapters::map::map_try_fold<'_, &std::collections::HashMap, std::collections::hash_map::Values<'_, u64, module::FuncInfo>, (), std::ops::ControlFlow<()>, [closure@src\module\mod.rs:1927:40: 1927:43], [closure@std::iter::adapters::flatten::FlattenCompat::iter_try_fold::flatten, (), std::ops::ControlFlow<()>, [closure@ as std::iter::Iterator>::try_fold::flatten, (), std::ops::ControlFlow<()>, [closure@std::iter::adapters::filter::filter_try_fold<'_, &module::FuncInfo, (), std::ops::ControlFlow<()>, [closure@src\module\mod.rs:1951:31: 1951:35], [closure@std::iter::adapters::map::map_try_fold<'_, &module::FuncInfo, (module::FnNamespace, ast::flags::FnAccess, &str, usize, &std::rc::Rc), (), std::ops::ControlFlow<()>, [closure@src\module\mod.rs:1951:60: 1951:63], &mut [closure@std::iter::Iterator::any::check<(module::FnNamespace, ast::flags::FnAccess, &str, usize, &std::rc::Rc), [closure@src\eval\expr.rs:161:26: 161:41]>::{closure#0}]>::{closure#0}]>::{closure#0}]>::{closure#0}]>::{closure#0}]>::{closure#0}]`: 24 bytes, alignment: 8 bytes +print-type-size end padding: 24 bytes +print-type-size type: `[closure@std::iter::adapters::map::map_try_fold<'_, &std::collections::HashMap, std::collections::hash_map::Values<'_, u64, module::FuncInfo>, (), std::ops::ControlFlow<()>, [closure@src\module\mod.rs:1927:40: 1927:43], [closure@std::iter::adapters::flatten::FlattenCompat::iter_try_fold::flatten, (), std::ops::ControlFlow<()>, [closure@ as std::iter::Iterator>::try_fold::flatten, (), std::ops::ControlFlow<()>, [closure@std::iter::adapters::filter::filter_try_fold<'_, &module::FuncInfo, (), std::ops::ControlFlow<()>, [closure@src\module\mod.rs:1951:31: 1951:35], [closure@std::iter::adapters::map::map_try_fold<'_, &module::FuncInfo, (module::FnNamespace, ast::flags::FnAccess, &str, usize, &std::rc::Rc), (), std::ops::ControlFlow<()>, [closure@src\module\mod.rs:1951:60: 1951:63], [closure@std::iter::adapters::map::map_try_fold<'_, (module::FnNamespace, ast::flags::FnAccess, &str, usize, &std::rc::Rc), &ast::script_fn::ScriptFnDef, (), std::ops::ControlFlow<()>, [closure@src\ast\ast.rs:756:18: 756:32], [closure@std::iter::Iterator::any::check<&ast::script_fn::ScriptFnDef, [closure@src\module\mod.rs:2110:42: 2110:45]>::{closure#0}]>::{closure#0}]>::{closure#0}]>::{closure#0}]>::{closure#0}]>::{closure#0}]>::{closure#0}]`: 24 bytes, alignment: 8 bytes +print-type-size end padding: 24 bytes +print-type-size type: `[closure@std::iter::adapters::map::map_try_fold<'_, &std::rc::Rc, std::iter::Map>, std::collections::hash_map::Values<'_, u64, module::FuncInfo>, [closure@src\module\mod.rs:1927:40: 1927:43]>, [closure@src\module\mod.rs:1951:31: 1951:35]>, [closure@src\module\mod.rs:1951:60: 1951:63]>, (), std::ops::ControlFlow<()>, [closure@src\eval\expr.rs:160:31: 160:34], [closure@std::iter::adapters::flatten::FlattenCompat::iter_try_fold::flatten>, std::collections::hash_map::Values<'_, u64, module::FuncInfo>, [closure@src\module\mod.rs:1927:40: 1927:43]>, [closure@src\module\mod.rs:1951:31: 1951:35]>, [closure@src\module\mod.rs:1951:60: 1951:63]>, (), std::ops::ControlFlow<()>, [closure@ as std::iter::Iterator>::try_fold::flatten>, std::collections::hash_map::Values<'_, u64, module::FuncInfo>, [closure@src\module\mod.rs:1927:40: 1927:43]>, [closure@src\module\mod.rs:1951:31: 1951:35]>, [closure@src\module\mod.rs:1951:60: 1951:63]>, (), std::ops::ControlFlow<()>, [closure@std::iter::Iterator::any::check<(module::FnNamespace, ast::flags::FnAccess, &str, usize, &std::rc::Rc), [closure@src\eval\expr.rs:161:26: 161:41]>::{closure#0}]>::{closure#0}]>::{closure#0}]>::{closure#0}]`: 24 bytes, alignment: 8 bytes +print-type-size end padding: 24 bytes +print-type-size type: `[closure@std::iter::adapters::map::map_try_fold<'_, (&smartstring::SmartString, &types::dynamic::Dynamic), (&str, bool, &types::dynamic::Dynamic), (), std::ops::ControlFlow<()>, [closure@src\types\scope.rs:813:18: 813:33], [closure@std::iter::adapters::map::map_try_fold<'_, (&str, bool, &types::dynamic::Dynamic), (&str, bool, types::dynamic::Dynamic), (), std::ops::ControlFlow<()>, [closure@src\types\scope.rs:804:18: 804:43], [closure@std::iter::Iterator::any::check<(&str, bool, types::dynamic::Dynamic), [closure@src\parser.rs:2908:60: 2908:69]>::{closure#0}]>::{closure#0}]>::{closure#0}]`: 24 bytes, alignment: 8 bytes +print-type-size end padding: 24 bytes +print-type-size type: `[closure@std::iter::adapters::map::map_try_fold<'_, (&smartstring::SmartString, &types::dynamic::Dynamic), (&str, bool, &types::dynamic::Dynamic), (), std::ops::ControlFlow<()>, [closure@src\types\scope.rs:813:18: 813:33], [closure@std::iter::adapters::map::map_try_fold<'_, (&str, bool, &types::dynamic::Dynamic), (&str, bool, types::dynamic::Dynamic), (), std::ops::ControlFlow<()>, [closure@src\types\scope.rs:804:18: 804:43], [closure@std::iter::Iterator::any::check<(&str, bool, types::dynamic::Dynamic), [closure@src\parser.rs:2913:52: 2913:61]>::{closure#0}]>::{closure#0}]>::{closure#0}]`: 24 bytes, alignment: 8 bytes +print-type-size end padding: 24 bytes +print-type-size type: `api::definitions::Definitions<'_>`: 24 bytes, alignment: 8 bytes +print-type-size field `.engine`: 8 bytes +print-type-size field `.scope`: 8 bytes +print-type-size field `.config`: 2 bytes +print-type-size end padding: 6 bytes +print-type-size type: `config::hashing::SusLock<(u64, u64)>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.data`: 16 bytes +print-type-size field `.initialized`: 1 bytes +print-type-size end padding: 7 bytes +print-type-size type: `eval::debugger::BreakPoint`: 24 bytes, alignment: 8 bytes +print-type-size discriminant: 1 bytes +print-type-size variant `AtFunctionCall`: 23 bytes +print-type-size field `.enabled`: 1 bytes +print-type-size padding: 6 bytes +print-type-size field `.name`: 8 bytes, alignment: 8 bytes +print-type-size field `.args`: 8 bytes +print-type-size variant `AtPosition`: 15 bytes +print-type-size field `.enabled`: 1 bytes +print-type-size field `.pos`: 4 bytes +print-type-size padding: 2 bytes +print-type-size field `.source`: 8 bytes, alignment: 8 bytes +print-type-size variant `AtFunctionName`: 15 bytes +print-type-size field `.enabled`: 1 bytes +print-type-size padding: 6 bytes +print-type-size field `.name`: 8 bytes, alignment: 8 bytes +print-type-size variant `AtProperty`: 15 bytes +print-type-size field `.enabled`: 1 bytes +print-type-size padding: 6 bytes +print-type-size field `.name`: 8 bytes, alignment: 8 bytes +print-type-size type: `func::call::ArgBackup<'_>`: 24 bytes, alignment: 8 bytes +print-type-size field `.orig_mut`: 8 bytes +print-type-size field `.value_copy`: 16 bytes +print-type-size type: `func::callable_function::CallableFunction`: 24 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Pure`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `Method`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `Iterator`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `Plugin`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `Script`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `hashbrown::rustc_entry::RustcVacantEntry<'_, u64, module::FuncInfo>`: 24 bytes, alignment: 8 bytes +print-type-size field `.hash`: 8 bytes +print-type-size field `.key`: 8 bytes +print-type-size field `.table`: 8 bytes +print-type-size type: `hashbrown::rustc_entry::RustcVacantEntry<'_, u64, std::option::Option>`: 24 bytes, alignment: 8 bytes +print-type-size field `.hash`: 8 bytes +print-type-size field `.key`: 8 bytes +print-type-size field `.table`: 8 bytes +print-type-size type: `hashbrown::rustc_entry::RustcVacantEntry<'_, u64, types::immutable_string::ImmutableString>`: 24 bytes, alignment: 8 bytes +print-type-size field `.hash`: 8 bytes +print-type-size field `.key`: 8 bytes +print-type-size field `.table`: 8 bytes +print-type-size type: `hashbrown::scopeguard::ScopeGuard<&mut hashbrown::raw::RawTableInner, [closure@hashbrown::raw::RawTableInner::rehash_in_place::{closure#0}]>`: 24 bytes, alignment: 8 bytes +print-type-size field `.dropfn`: 16 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `module::_::_serde::de::Unexpected<'_>`: 24 bytes, alignment: 8 bytes +print-type-size discriminant: 1 bytes +print-type-size variant `Str`: 23 bytes +print-type-size padding: 7 bytes +print-type-size field `.0`: 16 bytes, alignment: 8 bytes +print-type-size variant `Bytes`: 23 bytes +print-type-size padding: 7 bytes +print-type-size field `.0`: 16 bytes, alignment: 8 bytes +print-type-size variant `Other`: 23 bytes +print-type-size padding: 7 bytes +print-type-size field `.0`: 16 bytes, alignment: 8 bytes +print-type-size variant `Unsigned`: 15 bytes +print-type-size padding: 7 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `Signed`: 15 bytes +print-type-size padding: 7 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `Float`: 15 bytes +print-type-size padding: 7 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `Char`: 7 bytes +print-type-size padding: 3 bytes +print-type-size field `.0`: 4 bytes, alignment: 4 bytes +print-type-size variant `Bool`: 1 bytes +print-type-size field `.0`: 1 bytes +print-type-size variant `Unit`: 0 bytes +print-type-size variant `Option`: 0 bytes +print-type-size variant `NewtypeStruct`: 0 bytes +print-type-size variant `Seq`: 0 bytes +print-type-size variant `Map`: 0 bytes +print-type-size variant `Enum`: 0 bytes +print-type-size variant `UnitVariant`: 0 bytes +print-type-size variant `NewtypeVariant`: 0 bytes +print-type-size variant `TupleVariant`: 0 bytes +print-type-size variant `StructVariant`: 0 bytes +print-type-size type: `module::resolvers::stat::StaticModuleResolver`: 24 bytes, alignment: 8 bytes +print-type-size field `.0`: 24 bytes +print-type-size type: `packages::iter_basic::StepRange`: 24 bytes, alignment: 8 bytes +print-type-size field `.add`: 8 bytes +print-type-size field `.from`: 4 bytes +print-type-size field `.to`: 4 bytes +print-type-size field `.step`: 4 bytes +print-type-size field `.dir`: 1 bytes +print-type-size end padding: 3 bytes +print-type-size type: `packages::iter_basic::StepRange`: 24 bytes, alignment: 8 bytes +print-type-size field `.add`: 8 bytes +print-type-size field `.from`: 4 bytes +print-type-size field `.to`: 4 bytes +print-type-size field `.step`: 4 bytes +print-type-size field `.dir`: 1 bytes +print-type-size end padding: 3 bytes +print-type-size type: `parser::ParseSettings`: 24 bytes, alignment: 8 bytes +print-type-size field `.level`: 8 bytes +print-type-size field `.max_expr_depth`: 8 bytes +print-type-size field `.options`: 2 bytes +print-type-size field `.pos`: 4 bytes +print-type-size field `.flags`: 1 bytes +print-type-size end padding: 1 bytes +print-type-size type: `ryu::buffer::Buffer`: 24 bytes, alignment: 1 bytes +print-type-size field `.bytes`: 24 bytes +print-type-size type: `serde::de::EnumDeserializer<'_>`: 24 bytes, alignment: 8 bytes +print-type-size field `.tag`: 16 bytes +print-type-size field `.content`: 8 bytes +print-type-size type: `serde_json::de::SliceRead<'_>`: 24 bytes, alignment: 8 bytes +print-type-size field `.slice`: 16 bytes +print-type-size field `.index`: 8 bytes +print-type-size type: `serde_json::de::StrRead<'_>`: 24 bytes, alignment: 8 bytes +print-type-size field `.delegate`: 24 bytes +print-type-size type: `serde_json::error::ErrorCode`: 24 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Message`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `Io`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size variant `EofWhileParsingList`: 0 bytes +print-type-size variant `EofWhileParsingObject`: 0 bytes +print-type-size variant `EofWhileParsingString`: 0 bytes +print-type-size variant `EofWhileParsingValue`: 0 bytes +print-type-size variant `ExpectedColon`: 0 bytes +print-type-size variant `ExpectedListCommaOrEnd`: 0 bytes +print-type-size variant `ExpectedObjectCommaOrEnd`: 0 bytes +print-type-size variant `ExpectedSomeIdent`: 0 bytes +print-type-size variant `ExpectedSomeValue`: 0 bytes +print-type-size variant `InvalidEscape`: 0 bytes +print-type-size variant `InvalidNumber`: 0 bytes +print-type-size variant `NumberOutOfRange`: 0 bytes +print-type-size variant `InvalidUnicodeCodePoint`: 0 bytes +print-type-size variant `ControlCharacterWhileParsingString`: 0 bytes +print-type-size variant `KeyMustBeAString`: 0 bytes +print-type-size variant `LoneLeadingSurrogateInHexEscape`: 0 bytes +print-type-size variant `TrailingComma`: 0 bytes +print-type-size variant `TrailingCharacters`: 0 bytes +print-type-size variant `UnexpectedEndOfHexEscape`: 0 bytes +print-type-size variant `RecursionLimitExceeded`: 0 bytes +print-type-size type: `smallvec::SmallVec<[char; 3]>`: 24 bytes, alignment: 8 bytes +print-type-size field `.capacity`: 8 bytes +print-type-size field `.data`: 16 bytes +print-type-size type: `smallvec::SmallVec<[usize; 1]>`: 24 bytes, alignment: 8 bytes +print-type-size field `.capacity`: 8 bytes +print-type-size field `.data`: 16 bytes +print-type-size type: `smallvec::SmallVecData<[&mut types::dynamic::Dynamic; 3]>`: 24 bytes, alignment: 8 bytes +print-type-size variant `SmallVecData`: 24 bytes +print-type-size field `.heap`: 16 bytes +print-type-size field `.inline`: 24 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size type: `smallvec::SmallVecData<[api::custom_syntax::Expression<'_>; 3]>`: 24 bytes, alignment: 8 bytes +print-type-size variant `SmallVecData`: 24 bytes +print-type-size field `.heap`: 16 bytes +print-type-size field `.inline`: 24 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size type: `smallvec::SmallVecData<[std::any::TypeId; 3]>`: 24 bytes, alignment: 8 bytes +print-type-size variant `SmallVecData`: 24 bytes +print-type-size field `.heap`: 16 bytes +print-type-size field `.inline`: 24 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size type: `smallvec::SmallVecData<[std::rc::Rc; 3]>`: 24 bytes, alignment: 8 bytes +print-type-size variant `SmallVecData`: 24 bytes +print-type-size field `.heap`: 16 bytes +print-type-size field `.inline`: 24 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size type: `smallvec::SmallVecData<[std::rc::Rc; 3]>`: 24 bytes, alignment: 8 bytes +print-type-size variant `SmallVecData`: 24 bytes +print-type-size field `.heap`: 16 bytes +print-type-size field `.inline`: 24 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size type: `smallvec::SmallVecData<[types::immutable_string::ImmutableString; 3]>`: 24 bytes, alignment: 8 bytes +print-type-size variant `SmallVecData`: 24 bytes +print-type-size field `.heap`: 16 bytes +print-type-size field `.inline`: 24 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::ForceResult, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::NodeRef, smallvec::alloc::collections::btree::node::marker::Internal>>`: 24 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Leaf`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `Internal`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::ForceResult, smallvec::alloc::collections::btree::set_val::SetValZST, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::NodeRef, smallvec::alloc::collections::btree::set_val::SetValZST, smallvec::alloc::collections::btree::node::marker::Internal>>`: 24 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Leaf`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `Internal`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::ForceResult, std::option::Option, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::NodeRef, std::option::Option, smallvec::alloc::collections::btree::node::marker::Internal>>`: 24 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Leaf`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `Internal`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::ForceResult, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::NodeRef, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::Internal>>`: 24 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Leaf`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `Internal`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::ForceResult, types::custom_types::CustomTypeInfo, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::NodeRef, types::custom_types::CustomTypeInfo, smallvec::alloc::collections::btree::node::marker::Internal>>`: 24 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Leaf`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `Internal`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::ForceResult, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::NodeRef, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::Internal>>`: 24 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Leaf`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `Internal`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::ForceResult std::boxed::Box>>>>, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::NodeRef std::boxed::Box>>>>, smallvec::alloc::collections::btree::node::marker::Internal>>`: 24 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Leaf`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `Internal`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::ForceResult, smallvec::alloc::collections::btree::node::NodeRef>`: 24 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Leaf`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `Internal`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::ForceResult, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::NodeRef, smallvec::alloc::collections::btree::node::marker::Internal>>`: 24 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Leaf`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `Internal`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::ForceResult, &str, serde::metadata::ModuleMetadata<'_>, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::NodeRef, &str, serde::metadata::ModuleMetadata<'_>, smallvec::alloc::collections::btree::node::marker::Internal>>`: 24 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Leaf`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `Internal`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::ForceResult, smartstring::SmartString, api::custom_syntax::CustomSyntax, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::NodeRef, smartstring::SmartString, api::custom_syntax::CustomSyntax, smallvec::alloc::collections::btree::node::marker::Internal>>`: 24 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Leaf`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `Internal`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::ForceResult, smartstring::SmartString, smallvec::alloc::collections::btree::set_val::SetValZST, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::NodeRef, smartstring::SmartString, smallvec::alloc::collections::btree::set_val::SetValZST, smallvec::alloc::collections::btree::node::marker::Internal>>`: 24 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Leaf`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `Internal`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::ForceResult, smartstring::SmartString, std::option::Option, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::NodeRef, smartstring::SmartString, std::option::Option, smallvec::alloc::collections::btree::node::marker::Internal>>`: 24 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Leaf`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `Internal`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::ForceResult, smartstring::SmartString, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::NodeRef, smartstring::SmartString, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::Internal>>`: 24 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Leaf`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `Internal`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::ForceResult, smartstring::SmartString, types::custom_types::CustomTypeInfo, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::NodeRef, smartstring::SmartString, types::custom_types::CustomTypeInfo, smallvec::alloc::collections::btree::node::marker::Internal>>`: 24 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Leaf`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `Internal`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::ForceResult, smartstring::SmartString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::NodeRef, smartstring::SmartString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::Internal>>`: 24 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Leaf`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `Internal`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::ForceResult, std::any::TypeId, std::rc::Rc std::boxed::Box>>>>, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::NodeRef, std::any::TypeId, std::rc::Rc std::boxed::Box>>>>, smallvec::alloc::collections::btree::node::marker::Internal>>`: 24 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Leaf`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `Internal`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::ForceResult, std::path::PathBuf, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::NodeRef, std::path::PathBuf, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::Internal>>`: 24 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Leaf`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `Internal`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::ForceResult, types::immutable_string::ImmutableString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::NodeRef, types::immutable_string::ImmutableString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::Internal>>`: 24 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Leaf`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `Internal`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::ForceResult, u64, smallvec::SmallVec<[usize; 1]>, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::NodeRef, u64, smallvec::SmallVec<[usize; 1]>, smallvec::alloc::collections::btree::node::marker::Internal>>`: 24 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Leaf`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `Internal`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::ForceResult, &str, serde::metadata::ModuleMetadata<'_>, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::NodeRef, &str, serde::metadata::ModuleMetadata<'_>, smallvec::alloc::collections::btree::node::marker::Internal>>`: 24 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Leaf`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `Internal`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::ForceResult, smartstring::SmartString, smallvec::alloc::collections::btree::set_val::SetValZST, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::NodeRef, smartstring::SmartString, smallvec::alloc::collections::btree::set_val::SetValZST, smallvec::alloc::collections::btree::node::marker::Internal>>`: 24 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Leaf`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `Internal`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::ForceResult, smartstring::SmartString, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::NodeRef, smartstring::SmartString, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::Internal>>`: 24 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Leaf`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `Internal`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::ForceResult, smartstring::SmartString, types::custom_types::CustomTypeInfo, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::NodeRef, smartstring::SmartString, types::custom_types::CustomTypeInfo, smallvec::alloc::collections::btree::node::marker::Internal>>`: 24 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Leaf`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `Internal`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::ForceResult, smartstring::SmartString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::NodeRef, smartstring::SmartString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::Internal>>`: 24 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Leaf`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `Internal`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::ForceResult, std::any::TypeId, std::rc::Rc std::boxed::Box>>>>, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::NodeRef, std::any::TypeId, std::rc::Rc std::boxed::Box>>>>, smallvec::alloc::collections::btree::node::marker::Internal>>`: 24 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Leaf`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `Internal`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::ForceResult, std::path::PathBuf, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::NodeRef, std::path::PathBuf, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::Internal>>`: 24 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Leaf`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `Internal`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::ForceResult, types::immutable_string::ImmutableString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::NodeRef, types::immutable_string::ImmutableString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::Internal>>`: 24 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Leaf`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `Internal`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::ForceResult, u64, smallvec::SmallVec<[usize; 1]>, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::NodeRef, u64, smallvec::SmallVec<[usize; 1]>, smallvec::alloc::collections::btree::node::marker::Internal>>`: 24 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Leaf`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `Internal`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::ForceResult, smartstring::SmartString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::NodeRef, smartstring::SmartString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::Internal>>`: 24 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Leaf`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `Internal`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::Edge>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::KV>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::KV>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::Edge>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::KV>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, smallvec::alloc::collections::btree::set_val::SetValZST, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::Edge>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, smallvec::alloc::collections::btree::set_val::SetValZST, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::KV>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, smallvec::alloc::collections::btree::set_val::SetValZST, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, smallvec::alloc::collections::btree::set_val::SetValZST, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::KV>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, smallvec::alloc::collections::btree::set_val::SetValZST, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::Edge>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, smallvec::alloc::collections::btree::set_val::SetValZST, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::KV>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, std::option::Option, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::Edge>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, std::option::Option, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::KV>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, std::option::Option, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, std::option::Option, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::KV>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, std::option::Option, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::Edge>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, std::option::Option, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::KV>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::Edge>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::KV>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::KV>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::Edge>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::KV>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, types::custom_types::CustomTypeInfo, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::Edge>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, types::custom_types::CustomTypeInfo, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::KV>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, types::custom_types::CustomTypeInfo, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, types::custom_types::CustomTypeInfo, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::KV>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, types::custom_types::CustomTypeInfo, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::Edge>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, types::custom_types::CustomTypeInfo, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::KV>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::Edge>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::KV>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::KV>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::Edge>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::KV>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle std::boxed::Box>>>>, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::Edge>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle std::boxed::Box>>>>, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::KV>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle std::boxed::Box>>>>, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle std::boxed::Box>>>>, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::KV>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle std::boxed::Box>>>>, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::Edge>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle std::boxed::Box>>>>, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::KV>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, smallvec::alloc::collections::btree::node::marker::Edge>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, smallvec::alloc::collections::btree::node::marker::KV>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, smallvec::alloc::collections::btree::node::marker::Edge>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, smallvec::alloc::collections::btree::node::marker::KV>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, smallvec::alloc::collections::btree::node::marker::Edge>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, smallvec::alloc::collections::btree::node::marker::KV>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::Edge>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::KV>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::KV>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::Edge>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::KV>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, &str, serde::metadata::ModuleMetadata<'_>, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::Edge>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, &str, serde::metadata::ModuleMetadata<'_>, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::KV>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, &str, serde::metadata::ModuleMetadata<'_>, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, &str, serde::metadata::ModuleMetadata<'_>, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::KV>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, &str, serde::metadata::ModuleMetadata<'_>, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::Edge>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, &str, serde::metadata::ModuleMetadata<'_>, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::KV>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, smartstring::SmartString, api::custom_syntax::CustomSyntax, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::Edge>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, smartstring::SmartString, api::custom_syntax::CustomSyntax, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::KV>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, smartstring::SmartString, api::custom_syntax::CustomSyntax, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, smartstring::SmartString, api::custom_syntax::CustomSyntax, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::KV>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, smartstring::SmartString, api::custom_syntax::CustomSyntax, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::Edge>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, smartstring::SmartString, api::custom_syntax::CustomSyntax, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::KV>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, smartstring::SmartString, smallvec::alloc::collections::btree::set_val::SetValZST, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::Edge>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, smartstring::SmartString, smallvec::alloc::collections::btree::set_val::SetValZST, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::KV>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, smartstring::SmartString, smallvec::alloc::collections::btree::set_val::SetValZST, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, smartstring::SmartString, smallvec::alloc::collections::btree::set_val::SetValZST, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::KV>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, smartstring::SmartString, smallvec::alloc::collections::btree::set_val::SetValZST, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::Edge>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, smartstring::SmartString, smallvec::alloc::collections::btree::set_val::SetValZST, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::KV>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, smartstring::SmartString, std::option::Option, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::Edge>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, smartstring::SmartString, std::option::Option, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::KV>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, smartstring::SmartString, std::option::Option, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, smartstring::SmartString, std::option::Option, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::KV>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, smartstring::SmartString, std::option::Option, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::Edge>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, smartstring::SmartString, std::option::Option, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::KV>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, smartstring::SmartString, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::Edge>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, smartstring::SmartString, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::KV>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, smartstring::SmartString, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, smartstring::SmartString, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::KV>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, smartstring::SmartString, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::Edge>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, smartstring::SmartString, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::KV>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, smartstring::SmartString, types::custom_types::CustomTypeInfo, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::Edge>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, smartstring::SmartString, types::custom_types::CustomTypeInfo, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::KV>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, smartstring::SmartString, types::custom_types::CustomTypeInfo, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, smartstring::SmartString, types::custom_types::CustomTypeInfo, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::KV>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, smartstring::SmartString, types::custom_types::CustomTypeInfo, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::Edge>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, smartstring::SmartString, types::custom_types::CustomTypeInfo, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::KV>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, smartstring::SmartString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::Edge>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, smartstring::SmartString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::KV>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, smartstring::SmartString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, smartstring::SmartString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::KV>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, smartstring::SmartString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::Edge>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, smartstring::SmartString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::KV>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, std::any::TypeId, std::rc::Rc std::boxed::Box>>>>, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::Edge>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, std::any::TypeId, std::rc::Rc std::boxed::Box>>>>, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::KV>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, std::any::TypeId, std::rc::Rc std::boxed::Box>>>>, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, std::any::TypeId, std::rc::Rc std::boxed::Box>>>>, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::KV>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, std::any::TypeId, std::rc::Rc std::boxed::Box>>>>, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::Edge>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, std::any::TypeId, std::rc::Rc std::boxed::Box>>>>, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::KV>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, std::path::PathBuf, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::Edge>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, std::path::PathBuf, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::KV>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, std::path::PathBuf, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, std::path::PathBuf, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::KV>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, std::path::PathBuf, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::Edge>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, std::path::PathBuf, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::KV>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, types::immutable_string::ImmutableString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::Edge>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, types::immutable_string::ImmutableString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::KV>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, types::immutable_string::ImmutableString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, types::immutable_string::ImmutableString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::KV>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, types::immutable_string::ImmutableString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::Edge>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, types::immutable_string::ImmutableString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::KV>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, u64, smallvec::SmallVec<[usize; 1]>, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::Edge>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, u64, smallvec::SmallVec<[usize; 1]>, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::KV>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, u64, smallvec::SmallVec<[usize; 1]>, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, u64, smallvec::SmallVec<[usize; 1]>, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::KV>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, u64, smallvec::SmallVec<[usize; 1]>, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::Edge>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, u64, smallvec::SmallVec<[usize; 1]>, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::KV>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, &str, serde::metadata::ModuleMetadata<'_>, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::Edge>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, &str, serde::metadata::ModuleMetadata<'_>, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::KV>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, &str, serde::metadata::ModuleMetadata<'_>, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, &str, serde::metadata::ModuleMetadata<'_>, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::KV>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, &str, serde::metadata::ModuleMetadata<'_>, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::Edge>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, &str, serde::metadata::ModuleMetadata<'_>, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::KV>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, smartstring::SmartString, smallvec::alloc::collections::btree::set_val::SetValZST, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::Edge>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, smartstring::SmartString, smallvec::alloc::collections::btree::set_val::SetValZST, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::KV>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, smartstring::SmartString, smallvec::alloc::collections::btree::set_val::SetValZST, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, smartstring::SmartString, smallvec::alloc::collections::btree::set_val::SetValZST, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::KV>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, smartstring::SmartString, smallvec::alloc::collections::btree::set_val::SetValZST, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::Edge>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, smartstring::SmartString, smallvec::alloc::collections::btree::set_val::SetValZST, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::KV>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, smartstring::SmartString, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::Edge>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, smartstring::SmartString, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::KV>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, smartstring::SmartString, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, smartstring::SmartString, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::KV>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, smartstring::SmartString, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::Edge>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, smartstring::SmartString, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::KV>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, smartstring::SmartString, types::custom_types::CustomTypeInfo, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::Edge>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, smartstring::SmartString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::Edge>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, smartstring::SmartString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::KV>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, smartstring::SmartString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, smartstring::SmartString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::KV>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, smartstring::SmartString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::Edge>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, smartstring::SmartString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::KV>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, std::any::TypeId, std::rc::Rc std::boxed::Box>>>>, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::Edge>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, std::any::TypeId, std::rc::Rc std::boxed::Box>>>>, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::KV>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, std::any::TypeId, std::rc::Rc std::boxed::Box>>>>, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, std::any::TypeId, std::rc::Rc std::boxed::Box>>>>, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::KV>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, std::any::TypeId, std::rc::Rc std::boxed::Box>>>>, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::Edge>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, std::any::TypeId, std::rc::Rc std::boxed::Box>>>>, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::KV>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, std::path::PathBuf, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::Edge>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, std::path::PathBuf, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::KV>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, std::path::PathBuf, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, std::path::PathBuf, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::KV>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, std::path::PathBuf, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::Edge>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, std::path::PathBuf, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::KV>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, types::immutable_string::ImmutableString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::Edge>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, types::immutable_string::ImmutableString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::KV>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, types::immutable_string::ImmutableString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, types::immutable_string::ImmutableString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::KV>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, types::immutable_string::ImmutableString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::Edge>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, types::immutable_string::ImmutableString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::KV>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, u64, smallvec::SmallVec<[usize; 1]>, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::Edge>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, u64, smallvec::SmallVec<[usize; 1]>, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::KV>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, u64, smallvec::SmallVec<[usize; 1]>, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, u64, smallvec::SmallVec<[usize; 1]>, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::KV>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, u64, smallvec::SmallVec<[usize; 1]>, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::Edge>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, u64, smallvec::SmallVec<[usize; 1]>, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::KV>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, smartstring::SmartString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::Edge>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, smartstring::SmartString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::KV>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, smartstring::SmartString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, smartstring::SmartString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::KV>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, smartstring::SmartString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::Edge>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::Handle, smartstring::SmartString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::KV>`: 24 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.node`: 16 bytes +print-type-size field `.idx`: 8 bytes +print-type-size type: `smartstring::SmartString`: 24 bytes, alignment: 8 bytes +print-type-size field `.mode`: 0 bytes +print-type-size field `.data`: 24 bytes +print-type-size type: `smartstring::boxed::BoxedString`: 24 bytes, alignment: 8 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size field `.cap`: 8 bytes +print-type-size field `.len`: 8 bytes +print-type-size type: `smartstring::inline::InlineString`: 24 bytes, alignment: 8 bytes +print-type-size field `.marker`: 1 bytes +print-type-size field `.data`: 23 bytes +print-type-size type: `std::borrow::Cow<'_, str>`: 24 bytes, alignment: 8 bytes +print-type-size variant `Borrowed`: 24 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 16 bytes, alignment: 8 bytes +print-type-size variant `Owned`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size type: `std::cell::RefCell`: 24 bytes, alignment: 8 bytes +print-type-size field `.borrow`: 8 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::cell::UnsafeCell>>`: 24 bytes, alignment: 8 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::cell::UnsafeCell>`: 24 bytes, alignment: 8 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::collections::BTreeMap<&str, serde::metadata::ModuleMetadata<'_>>`: 24 bytes, alignment: 8 bytes +print-type-size field `.alloc`: 0 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.root`: 16 bytes +print-type-size field `.length`: 8 bytes +print-type-size type: `std::collections::BTreeMap, api::custom_syntax::CustomSyntax>`: 24 bytes, alignment: 8 bytes +print-type-size field `.alloc`: 0 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.root`: 16 bytes +print-type-size field `.length`: 8 bytes +print-type-size type: `std::collections::BTreeMap, smallvec::alloc::collections::btree::set_val::SetValZST>`: 24 bytes, alignment: 8 bytes +print-type-size field `.alloc`: 0 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.root`: 16 bytes +print-type-size field `.length`: 8 bytes +print-type-size type: `std::collections::BTreeMap, std::option::Option>`: 24 bytes, alignment: 8 bytes +print-type-size field `.alloc`: 0 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.root`: 16 bytes +print-type-size field `.length`: 8 bytes +print-type-size type: `std::collections::BTreeMap, std::rc::Rc>`: 24 bytes, alignment: 8 bytes +print-type-size field `.alloc`: 0 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.root`: 16 bytes +print-type-size field `.length`: 8 bytes +print-type-size type: `std::collections::BTreeMap, types::custom_types::CustomTypeInfo>`: 24 bytes, alignment: 8 bytes +print-type-size field `.alloc`: 0 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.root`: 16 bytes +print-type-size field `.length`: 8 bytes +print-type-size type: `std::collections::BTreeMap, types::dynamic::Dynamic>`: 24 bytes, alignment: 8 bytes +print-type-size field `.alloc`: 0 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.root`: 16 bytes +print-type-size field `.length`: 8 bytes +print-type-size type: `std::collections::BTreeMap std::boxed::Box>>>>>`: 24 bytes, alignment: 8 bytes +print-type-size field `.alloc`: 0 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.root`: 16 bytes +print-type-size field `.length`: 8 bytes +print-type-size type: `std::collections::BTreeMap>`: 24 bytes, alignment: 8 bytes +print-type-size field `.alloc`: 0 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.root`: 16 bytes +print-type-size field `.length`: 8 bytes +print-type-size type: `std::collections::BTreeMap`: 24 bytes, alignment: 8 bytes +print-type-size field `.alloc`: 0 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.root`: 16 bytes +print-type-size field `.length`: 8 bytes +print-type-size type: `std::collections::BTreeMap>`: 24 bytes, alignment: 8 bytes +print-type-size field `.alloc`: 0 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.root`: 16 bytes +print-type-size field `.length`: 8 bytes +print-type-size type: `std::collections::BTreeSet>`: 24 bytes, alignment: 8 bytes +print-type-size field `.map`: 24 bytes +print-type-size type: `std::collections::hash_map::VacantEntry<'_, u64, module::FuncInfo>`: 24 bytes, alignment: 8 bytes +print-type-size field `.base`: 24 bytes +print-type-size type: `std::collections::hash_map::VacantEntry<'_, u64, std::option::Option>`: 24 bytes, alignment: 8 bytes +print-type-size field `.base`: 24 bytes +print-type-size type: `std::collections::hash_map::VacantEntry<'_, u64, types::immutable_string::ImmutableString>`: 24 bytes, alignment: 8 bytes +print-type-size field `.base`: 24 bytes +print-type-size type: `std::fmt::DebugTuple<'_, '_>`: 24 bytes, alignment: 8 bytes +print-type-size field `.fmt`: 8 bytes +print-type-size field `.fields`: 8 bytes +print-type-size field `.result`: 1 bytes +print-type-size field `.empty_name`: 1 bytes +print-type-size end padding: 6 bytes +print-type-size type: `std::io::error::Custom`: 24 bytes, alignment: 8 bytes +print-type-size field `.error`: 16 bytes +print-type-size field `.kind`: 1 bytes +print-type-size end padding: 7 bytes +print-type-size type: `std::io::error::SimpleMessage`: 24 bytes, alignment: 8 bytes +print-type-size field `.message`: 16 bytes +print-type-size field `.kind`: 1 bytes +print-type-size end padding: 7 bytes +print-type-size type: `std::iter::Enumerate>>>>`: 24 bytes, alignment: 8 bytes +print-type-size field `.iter`: 16 bytes +print-type-size field `.count`: 8 bytes +print-type-size type: `std::iter::Enumerate>>`: 24 bytes, alignment: 8 bytes +print-type-size field `.iter`: 16 bytes +print-type-size field `.count`: 8 bytes +print-type-size type: `std::iter::Enumerate>>`: 24 bytes, alignment: 8 bytes +print-type-size field `.iter`: 16 bytes +print-type-size field `.count`: 8 bytes +print-type-size type: `std::iter::Enumerate>>>`: 24 bytes, alignment: 8 bytes +print-type-size field `.iter`: 16 bytes +print-type-size field `.count`: 8 bytes +print-type-size type: `std::iter::Enumerate>>`: 24 bytes, alignment: 8 bytes +print-type-size field `.iter`: 16 bytes +print-type-size field `.count`: 8 bytes +print-type-size type: `std::iter::Enumerate>`: 24 bytes, alignment: 8 bytes +print-type-size field `.iter`: 16 bytes +print-type-size field `.count`: 8 bytes +print-type-size type: `std::iter::Enumerate>`: 24 bytes, alignment: 8 bytes +print-type-size field `.iter`: 16 bytes +print-type-size field `.count`: 8 bytes +print-type-size type: `std::iter::Enumerate>`: 24 bytes, alignment: 8 bytes +print-type-size field `.iter`: 16 bytes +print-type-size field `.count`: 8 bytes +print-type-size type: `std::iter::Enumerate>`: 24 bytes, alignment: 8 bytes +print-type-size field `.iter`: 16 bytes +print-type-size field `.count`: 8 bytes +print-type-size type: `std::iter::Enumerate>>`: 24 bytes, alignment: 8 bytes +print-type-size field `.iter`: 16 bytes +print-type-size field `.count`: 8 bytes +print-type-size type: `std::iter::Enumerate>`: 24 bytes, alignment: 8 bytes +print-type-size field `.iter`: 16 bytes +print-type-size field `.count`: 8 bytes +print-type-size type: `std::iter::Enumerate>>`: 24 bytes, alignment: 8 bytes +print-type-size field `.iter`: 16 bytes +print-type-size field `.count`: 8 bytes +print-type-size type: `std::iter::Enumerate>`: 24 bytes, alignment: 8 bytes +print-type-size field `.iter`: 16 bytes +print-type-size field `.count`: 8 bytes +print-type-size type: `std::iter::Enumerate>`: 24 bytes, alignment: 8 bytes +print-type-size field `.iter`: 16 bytes +print-type-size field `.count`: 8 bytes +print-type-size type: `std::iter::Enumerate>`: 24 bytes, alignment: 8 bytes +print-type-size field `.iter`: 16 bytes +print-type-size field `.count`: 8 bytes +print-type-size type: `std::iter::Enumerate>`: 24 bytes, alignment: 8 bytes +print-type-size field `.iter`: 16 bytes +print-type-size field `.count`: 8 bytes +print-type-size type: `std::iter::Enumerate>`: 24 bytes, alignment: 8 bytes +print-type-size field `.iter`: 16 bytes +print-type-size field `.count`: 8 bytes +print-type-size type: `std::iter::Enumerate>`: 24 bytes, alignment: 8 bytes +print-type-size field `.iter`: 16 bytes +print-type-size field `.count`: 8 bytes +print-type-size type: `std::iter::Enumerate>`: 24 bytes, alignment: 8 bytes +print-type-size field `.iter`: 16 bytes +print-type-size field `.count`: 8 bytes +print-type-size type: `std::iter::Filter>, [closure@src\eval\debugger.rs:335:21: 335:32]>`: 24 bytes, alignment: 8 bytes +print-type-size field `.predicate`: 0 bytes +print-type-size field `.iter`: 24 bytes +print-type-size type: `std::iter::Filter, [closure@src\eval\stmt.rs:371:55: 371:58]>`: 24 bytes, alignment: 8 bytes +print-type-size field `.iter`: 16 bytes +print-type-size field `.predicate`: 8 bytes +print-type-size type: `std::iter::Filter>, [closure@src\api\definitions\mod.rs:318:21: 318:24]>`: 24 bytes, alignment: 8 bytes +print-type-size field `.iter`: 16 bytes +print-type-size field `.predicate`: 8 bytes +print-type-size type: `std::iter::Filter>, [closure@src\serde\metadata.rs:187:17: 187:20]>`: 24 bytes, alignment: 8 bytes +print-type-size field `.iter`: 16 bytes +print-type-size field `.predicate`: 8 bytes +print-type-size type: `std::iter::FilterMap, [closure@src\ast\ast.rs:859:45: 859:56]>`: 24 bytes, alignment: 8 bytes +print-type-size field `.iter`: 16 bytes +print-type-size field `.f`: 2 bytes +print-type-size end padding: 6 bytes +print-type-size type: `std::iter::Fuse>, [closure@src\serde\metadata.rs:187:17: 187:20]>, [closure@src\serde\metadata.rs:188:19: 188:22]>>`: 24 bytes, alignment: 8 bytes +print-type-size field `.iter`: 24 bytes +print-type-size type: `std::iter::Map, fn(i32) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>`: 24 bytes, alignment: 8 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 24 bytes +print-type-size type: `std::iter::Map, fn(u32) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>`: 24 bytes, alignment: 8 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 24 bytes +print-type-size type: `std::iter::Map>, [closure@src\serde\metadata.rs:187:17: 187:20]>, [closure@src\serde\metadata.rs:188:19: 188:22]>`: 24 bytes, alignment: 8 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 24 bytes +print-type-size type: `std::iter::Map>, for<'a> fn(&'a mut ast::stmt::Stmt) -> ast::stmt::Stmt {std::mem::take::}>`: 24 bytes, alignment: 8 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 24 bytes +print-type-size type: `std::iter::Map, for<'a> fn(&'a char) -> bool {std::char::methods::::is_ascii}>>, [closure@src\packages\blob_basic.rs:1470:22: 1470:26]>`: 24 bytes, alignment: 8 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 24 bytes +print-type-size type: `std::iter::Map, fn(i64) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>`: 24 bytes, alignment: 8 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 24 bytes +print-type-size type: `std::iter::Map, fn(u64) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>`: 24 bytes, alignment: 8 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 24 bytes +print-type-size type: `std::iter::Map>, [closure@src\api\definitions\mod.rs:236:38: 236:46]>`: 24 bytes, alignment: 8 bytes +print-type-size field `.iter`: 8 bytes +print-type-size field `.f`: 16 bytes +print-type-size type: `std::iter::Map, [closure@src\func\call.rs:144:22: 144:25]>`: 24 bytes, alignment: 8 bytes +print-type-size field `.iter`: 16 bytes +print-type-size field `.f`: 8 bytes +print-type-size type: `std::iter::Map>, [closure@src\packages\lang_core.rs:223:26: 223:29]>`: 24 bytes, alignment: 8 bytes +print-type-size field `.iter`: 16 bytes +print-type-size field `.f`: 8 bytes +print-type-size type: `std::iter::Map, [closure@src\packages\lang_core.rs:213:22: 213:25]>`: 24 bytes, alignment: 8 bytes +print-type-size field `.iter`: 16 bytes +print-type-size field `.f`: 8 bytes +print-type-size type: `std::iter::Peekable>`: 24 bytes, alignment: 8 bytes +print-type-size field `.iter`: 16 bytes +print-type-size field `.peeked`: 4 bytes +print-type-size end padding: 4 bytes +print-type-size type: `std::iter::Skip>>`: 24 bytes, alignment: 8 bytes +print-type-size field `.iter`: 16 bytes +print-type-size field `.n`: 8 bytes +print-type-size type: `std::iter::Skip, for<'a> fn(&'a ast::ident::Ident) -> &'a str {ast::ident::Ident::as_str}>>`: 24 bytes, alignment: 8 bytes +print-type-size field `.iter`: 16 bytes +print-type-size field `.n`: 8 bytes +print-type-size type: `std::iter::Skip>`: 24 bytes, alignment: 8 bytes +print-type-size field `.iter`: 16 bytes +print-type-size field `.n`: 8 bytes +print-type-size type: `std::iter::Skip>`: 24 bytes, alignment: 8 bytes +print-type-size field `.iter`: 16 bytes +print-type-size field `.n`: 8 bytes +print-type-size type: `std::iter::Skip>`: 24 bytes, alignment: 8 bytes +print-type-size field `.iter`: 16 bytes +print-type-size field `.n`: 8 bytes +print-type-size type: `std::iter::Skip>>`: 24 bytes, alignment: 8 bytes +print-type-size field `.iter`: 16 bytes +print-type-size field `.n`: 8 bytes +print-type-size type: `std::iter::Skip>`: 24 bytes, alignment: 8 bytes +print-type-size field `.iter`: 16 bytes +print-type-size field `.n`: 8 bytes +print-type-size type: `std::iter::Skip>`: 24 bytes, alignment: 8 bytes +print-type-size field `.iter`: 16 bytes +print-type-size field `.n`: 8 bytes +print-type-size type: `std::iter::Take, for<'a> fn(&'a char) -> bool {std::char::methods::::is_ascii}>>`: 24 bytes, alignment: 8 bytes +print-type-size field `.iter`: 16 bytes +print-type-size field `.n`: 8 bytes +print-type-size type: `std::iter::Take>`: 24 bytes, alignment: 8 bytes +print-type-size field `.iter`: 16 bytes +print-type-size field `.n`: 8 bytes +print-type-size type: `std::iter::Take>`: 24 bytes, alignment: 8 bytes +print-type-size field `.iter`: 16 bytes +print-type-size field `.n`: 8 bytes +print-type-size type: `std::iter::adapters::GenericShunt<'_, std::iter::Map, for<'a> fn(&'a ast::expr::Expr) -> std::option::Option {ast::expr::Expr::get_literal_value}>, std::option::Option>`: 24 bytes, alignment: 8 bytes +print-type-size field `.iter`: 16 bytes +print-type-size field `.residual`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop<(&str, &std::rc::Rc)>`: 24 bytes, alignment: 8 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::ManuallyDrop<(&str, &types::dynamic::Dynamic)>`: 24 bytes, alignment: 8 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::ManuallyDrop<[&mut types::dynamic::Dynamic; 3]>`: 24 bytes, alignment: 8 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::ManuallyDrop<[api::custom_syntax::Expression<'_>; 3]>`: 24 bytes, alignment: 8 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::ManuallyDrop<[std::any::TypeId; 3]>`: 24 bytes, alignment: 8 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::ManuallyDrop<[std::rc::Rc; 3]>`: 24 bytes, alignment: 8 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::ManuallyDrop<[std::rc::Rc; 3]>`: 24 bytes, alignment: 8 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::ManuallyDrop<[types::immutable_string::ImmutableString; 3]>`: 24 bytes, alignment: 8 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::ManuallyDrop`: 24 bytes, alignment: 8 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::ManuallyDrop`: 24 bytes, alignment: 8 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::ManuallyDrop, [closure@hashbrown::raw::RawTableInner::rehash_in_place::{closure#0}]>>`: 24 bytes, alignment: 8 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::ManuallyDrop>`: 24 bytes, alignment: 8 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::ManuallyDrop>`: 24 bytes, alignment: 8 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::ManuallyDrop>`: 24 bytes, alignment: 8 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::ManuallyDrop, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 24 bytes, alignment: 8 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::ManuallyDrop, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::KV>>`: 24 bytes, alignment: 8 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::ManuallyDrop, smallvec::alloc::collections::btree::set_val::SetValZST, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 24 bytes, alignment: 8 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::ManuallyDrop, smallvec::alloc::collections::btree::set_val::SetValZST, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::KV>>`: 24 bytes, alignment: 8 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::ManuallyDrop, std::option::Option, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 24 bytes, alignment: 8 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::ManuallyDrop, std::option::Option, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::KV>>`: 24 bytes, alignment: 8 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::ManuallyDrop, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 24 bytes, alignment: 8 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::ManuallyDrop, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::KV>>`: 24 bytes, alignment: 8 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::ManuallyDrop, types::custom_types::CustomTypeInfo, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 24 bytes, alignment: 8 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::ManuallyDrop, types::custom_types::CustomTypeInfo, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::KV>>`: 24 bytes, alignment: 8 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::ManuallyDrop, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 24 bytes, alignment: 8 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::ManuallyDrop, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::KV>>`: 24 bytes, alignment: 8 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::ManuallyDrop std::boxed::Box>>>>, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 24 bytes, alignment: 8 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::ManuallyDrop std::boxed::Box>>>>, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::KV>>`: 24 bytes, alignment: 8 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::ManuallyDrop, smallvec::alloc::collections::btree::node::marker::Edge>>`: 24 bytes, alignment: 8 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::ManuallyDrop, smallvec::alloc::collections::btree::node::marker::KV>>`: 24 bytes, alignment: 8 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::ManuallyDrop, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 24 bytes, alignment: 8 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::ManuallyDrop, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::KV>>`: 24 bytes, alignment: 8 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::ManuallyDrop, &str, serde::metadata::ModuleMetadata<'_>, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 24 bytes, alignment: 8 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::ManuallyDrop, smartstring::SmartString, api::custom_syntax::CustomSyntax, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 24 bytes, alignment: 8 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::ManuallyDrop, smartstring::SmartString, smallvec::alloc::collections::btree::set_val::SetValZST, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 24 bytes, alignment: 8 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::ManuallyDrop, smartstring::SmartString, std::option::Option, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 24 bytes, alignment: 8 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::ManuallyDrop, smartstring::SmartString, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 24 bytes, alignment: 8 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::ManuallyDrop, smartstring::SmartString, types::custom_types::CustomTypeInfo, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 24 bytes, alignment: 8 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::ManuallyDrop, smartstring::SmartString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 24 bytes, alignment: 8 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::ManuallyDrop, std::any::TypeId, std::rc::Rc std::boxed::Box>>>>, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 24 bytes, alignment: 8 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::ManuallyDrop, std::path::PathBuf, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 24 bytes, alignment: 8 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::ManuallyDrop, types::immutable_string::ImmutableString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 24 bytes, alignment: 8 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::ManuallyDrop, u64, smallvec::SmallVec<[usize; 1]>, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 24 bytes, alignment: 8 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::ManuallyDrop, &str, serde::metadata::ModuleMetadata<'_>, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::KV>>`: 24 bytes, alignment: 8 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::ManuallyDrop, smartstring::SmartString, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::KV>>`: 24 bytes, alignment: 8 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::ManuallyDrop, smartstring::SmartString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::KV>>`: 24 bytes, alignment: 8 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::ManuallyDrop, u64, smallvec::SmallVec<[usize; 1]>, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::KV>>`: 24 bytes, alignment: 8 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::ManuallyDrop, smartstring::SmartString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 24 bytes, alignment: 8 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::ManuallyDrop, smartstring::SmartString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::KV>>`: 24 bytes, alignment: 8 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::ManuallyDrop>`: 24 bytes, alignment: 8 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::ManuallyDrop`: 24 bytes, alignment: 8 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::ManuallyDrop>`: 24 bytes, alignment: 8 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 24 bytes, alignment: 8 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::ManuallyDrop, smallvec::alloc::collections::btree::set_val::SetValZST>>`: 24 bytes, alignment: 8 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::ManuallyDrop, std::option::Option>>`: 24 bytes, alignment: 8 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::ManuallyDrop, std::rc::Rc>>`: 24 bytes, alignment: 8 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::ManuallyDrop, types::custom_types::CustomTypeInfo>>`: 24 bytes, alignment: 8 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::ManuallyDrop, types::dynamic::Dynamic>>`: 24 bytes, alignment: 8 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::ManuallyDrop std::boxed::Box>>>>>>`: 24 bytes, alignment: 8 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::ManuallyDrop>`: 24 bytes, alignment: 8 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 24 bytes, alignment: 8 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::ManuallyDrop)>>`: 24 bytes, alignment: 8 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::ManuallyDrop>`: 24 bytes, alignment: 8 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::ManuallyDrop>`: 24 bytes, alignment: 8 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::ManuallyDrop; 3]>>`: 24 bytes, alignment: 8 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::ManuallyDrop>`: 24 bytes, alignment: 8 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::ManuallyDrop; 3]>>`: 24 bytes, alignment: 8 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::ManuallyDrop; 3]>>`: 24 bytes, alignment: 8 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::ManuallyDrop>`: 24 bytes, alignment: 8 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::ManuallyDrop>`: 24 bytes, alignment: 8 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::ManuallyDrop>`: 24 bytes, alignment: 8 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::ManuallyDrop, u64, smallvec::SmallVec<[usize; 1]>, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>>>`: 24 bytes, alignment: 8 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 24 bytes, alignment: 8 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::ManuallyDrop`: 24 bytes, alignment: 8 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::ManuallyDrop>`: 24 bytes, alignment: 8 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::ManuallyDrop)>>`: 24 bytes, alignment: 8 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::ManuallyDrop>`: 24 bytes, alignment: 8 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::ManuallyDrop)>>`: 24 bytes, alignment: 8 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::ManuallyDrop, types::dynamic::Dynamic)>>`: 24 bytes, alignment: 8 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::ManuallyDrop>`: 24 bytes, alignment: 8 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::ManuallyDrop)>>`: 24 bytes, alignment: 8 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::ManuallyDrop::dedup_by::FillGapOnDrop<'_, types::dynamic::Dynamic, std::alloc::Global>>`: 24 bytes, alignment: 8 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::ManuallyDrop>`: 24 bytes, alignment: 8 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::ManuallyDrop>`: 24 bytes, alignment: 8 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::ManuallyDrop>`: 24 bytes, alignment: 8 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 24 bytes, alignment: 8 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::ManuallyDrop>`: 24 bytes, alignment: 8 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::ManuallyDrop>`: 24 bytes, alignment: 8 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::ManuallyDrop>`: 24 bytes, alignment: 8 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::ManuallyDrop>`: 24 bytes, alignment: 8 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::ManuallyDrop`: 24 bytes, alignment: 8 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::ManuallyDrop`: 24 bytes, alignment: 8 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::MaybeUninit<(&str, &std::rc::Rc)>`: 24 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 24 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::MaybeUninit<(&str, &types::dynamic::Dynamic)>`: 24 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 24 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::MaybeUninit<[&mut types::dynamic::Dynamic; 3]>`: 24 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 24 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::MaybeUninit<[api::custom_syntax::Expression<'_>; 3]>`: 24 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 24 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::MaybeUninit<[std::any::TypeId; 3]>`: 24 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 24 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::MaybeUninit<[std::rc::Rc; 3]>`: 24 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 24 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::MaybeUninit<[std::rc::Rc; 3]>`: 24 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 24 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::MaybeUninit<[types::immutable_string::ImmutableString; 3]>`: 24 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 24 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::MaybeUninit`: 24 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 24 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::MaybeUninit`: 24 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 24 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::MaybeUninit>`: 24 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 24 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::MaybeUninit>`: 24 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 24 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::MaybeUninit>`: 24 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 24 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::MaybeUninit, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 24 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 24 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::MaybeUninit, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::KV>>`: 24 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 24 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::MaybeUninit, smallvec::alloc::collections::btree::set_val::SetValZST, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 24 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 24 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::MaybeUninit, smallvec::alloc::collections::btree::set_val::SetValZST, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::KV>>`: 24 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 24 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::MaybeUninit, std::option::Option, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 24 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 24 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::MaybeUninit, std::option::Option, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::KV>>`: 24 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 24 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::MaybeUninit, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 24 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 24 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::MaybeUninit, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::KV>>`: 24 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 24 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::MaybeUninit, types::custom_types::CustomTypeInfo, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 24 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 24 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::MaybeUninit, types::custom_types::CustomTypeInfo, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::KV>>`: 24 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 24 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::MaybeUninit, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 24 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 24 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::MaybeUninit, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::KV>>`: 24 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 24 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::MaybeUninit std::boxed::Box>>>>, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 24 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 24 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::MaybeUninit std::boxed::Box>>>>, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::KV>>`: 24 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 24 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::MaybeUninit, smallvec::alloc::collections::btree::node::marker::Edge>>`: 24 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 24 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::MaybeUninit, smallvec::alloc::collections::btree::node::marker::KV>>`: 24 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 24 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::MaybeUninit, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 24 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 24 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::MaybeUninit, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::KV>>`: 24 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 24 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::MaybeUninit, &str, serde::metadata::ModuleMetadata<'_>, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 24 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 24 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::MaybeUninit, smartstring::SmartString, api::custom_syntax::CustomSyntax, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 24 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 24 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::MaybeUninit, smartstring::SmartString, smallvec::alloc::collections::btree::set_val::SetValZST, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 24 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 24 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::MaybeUninit, smartstring::SmartString, std::option::Option, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 24 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 24 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::MaybeUninit, smartstring::SmartString, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 24 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 24 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::MaybeUninit, smartstring::SmartString, types::custom_types::CustomTypeInfo, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 24 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 24 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::MaybeUninit, smartstring::SmartString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 24 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 24 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::MaybeUninit, std::any::TypeId, std::rc::Rc std::boxed::Box>>>>, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 24 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 24 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::MaybeUninit, std::path::PathBuf, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 24 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 24 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::MaybeUninit, types::immutable_string::ImmutableString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 24 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 24 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::MaybeUninit, u64, smallvec::SmallVec<[usize; 1]>, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 24 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 24 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::MaybeUninit, &str, serde::metadata::ModuleMetadata<'_>, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::KV>>`: 24 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 24 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::MaybeUninit, smartstring::SmartString, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::KV>>`: 24 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 24 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::MaybeUninit, smartstring::SmartString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::KV>>`: 24 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 24 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::MaybeUninit, u64, smallvec::SmallVec<[usize; 1]>, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::KV>>`: 24 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 24 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::MaybeUninit, smartstring::SmartString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 24 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 24 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::MaybeUninit, smartstring::SmartString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::KV>>`: 24 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 24 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::MaybeUninit>`: 24 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 24 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::MaybeUninit`: 24 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 24 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::MaybeUninit>`: 24 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 24 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::MaybeUninit>>`: 24 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 24 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::MaybeUninit, smallvec::alloc::collections::btree::set_val::SetValZST>>`: 24 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 24 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::MaybeUninit, std::option::Option>>`: 24 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 24 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::MaybeUninit, std::rc::Rc>>`: 24 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 24 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::MaybeUninit, types::custom_types::CustomTypeInfo>>`: 24 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 24 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::MaybeUninit, types::dynamic::Dynamic>>`: 24 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 24 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::MaybeUninit std::boxed::Box>>>>>>`: 24 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 24 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::MaybeUninit>`: 24 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 24 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::MaybeUninit>>`: 24 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 24 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::MaybeUninit)>>`: 24 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 24 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::MaybeUninit>`: 24 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 24 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::MaybeUninit>`: 24 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 24 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::MaybeUninit>`: 24 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 24 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::MaybeUninit, u64, smallvec::SmallVec<[usize; 1]>, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>>>`: 24 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 24 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::MaybeUninit>>`: 24 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 24 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::MaybeUninit`: 24 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 24 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::MaybeUninit>`: 24 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 24 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::MaybeUninit>`: 24 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 24 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::MaybeUninit>`: 24 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 24 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::MaybeUninit`: 24 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 24 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::mem::MaybeUninit`: 24 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 24 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 24 bytes +print-type-size type: `std::ops::ControlFlow, i128>`: 24 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Continue`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `Break`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::ops::ControlFlow, smallvec::alloc::collections::btree::node::Handle, u64, smallvec::SmallVec<[usize; 1]>, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 24 bytes, alignment: 8 bytes +print-type-size variant `Continue`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Break`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::ops::ControlFlow, std::vec::Vec>`: 24 bytes, alignment: 8 bytes +print-type-size variant `Continue`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Break`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::ops::ControlFlow, u128>`: 24 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Continue`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `Break`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::ops::ControlFlow, std::alloc::Layout>`: 24 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Continue`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `Break`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::ops::ControlFlow>, (types::dynamic::Dynamic, bool)>`: 24 bytes, alignment: 8 bytes +print-type-size variant `Continue`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Break`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::ops::ControlFlow>, (types::dynamic::Dynamic, tokenizer::Position)>`: 24 bytes, alignment: 8 bytes +print-type-size variant `Continue`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Break`: 16 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size type: `std::ops::ControlFlow>, rust_decimal::Decimal>`: 24 bytes, alignment: 8 bytes +print-type-size discriminant: 4 bytes +print-type-size variant `Continue`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `Break`: 12 bytes +print-type-size padding: 4 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 4 bytes +print-type-size type: `std::ops::ControlFlow>, std::vec::Vec>`: 24 bytes, alignment: 8 bytes +print-type-size variant `Continue`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Break`: 16 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size type: `std::ops::ControlFlow>, types::dynamic::DynamicReadLock<'_, types::immutable_string::ImmutableString>>`: 24 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Continue`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `Break`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::ops::ControlFlow, std::ptr::NonNull<[u8]>>`: 24 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Continue`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `Break`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::ops::ControlFlow, std::ptr::NonNull<[u8]>>`: 24 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Continue`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `Break`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::ops::ControlFlow, std::num::NonZeroU8>`: 24 bytes, alignment: 8 bytes +print-type-size variant `Break`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Continue`: 9 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 1 bytes, alignment: 1 bytes +print-type-size type: `std::ops::ControlFlow, ast::expr::Expr>`: 24 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Continue`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `Break`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::ops::ControlFlow, ast::stmt::Stmt>`: 24 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Continue`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `Break`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::ops::ControlFlow, types::dynamic::Dynamic>`: 24 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Continue`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `Break`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::ops::ControlFlow, (&smartstring::SmartString, &types::dynamic::Dynamic, &std::vec::Vec)>`: 24 bytes, alignment: 8 bytes +print-type-size variant `Continue`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Break`: 16 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size type: `std::ops::RangeInclusive`: 24 bytes, alignment: 8 bytes +print-type-size field `.start`: 8 bytes +print-type-size field `.end`: 8 bytes +print-type-size field `.exhausted`: 1 bytes +print-type-size end padding: 7 bytes +print-type-size type: `std::ops::RangeInclusive`: 24 bytes, alignment: 8 bytes +print-type-size field `.start`: 8 bytes +print-type-size field `.end`: 8 bytes +print-type-size field `.exhausted`: 1 bytes +print-type-size end padding: 7 bytes +print-type-size type: `std::ops::RangeInclusive`: 24 bytes, alignment: 8 bytes +print-type-size field `.start`: 8 bytes +print-type-size field `.end`: 8 bytes +print-type-size field `.exhausted`: 1 bytes +print-type-size end padding: 7 bytes +print-type-size type: `std::option::Option<(&&mut types::dynamic::Dynamic, &[&mut types::dynamic::Dynamic])>`: 24 bytes, alignment: 8 bytes +print-type-size variant `Some`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<(&ast::expr::Expr, &[ast::expr::Expr])>`: 24 bytes, alignment: 8 bytes +print-type-size variant `Some`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<(&mut &mut types::dynamic::Dynamic, &mut [&mut types::dynamic::Dynamic])>`: 24 bytes, alignment: 8 bytes +print-type-size variant `Some`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<(&mut types::dynamic::Dynamic, &mut [types::dynamic::Dynamic])>`: 24 bytes, alignment: 8 bytes +print-type-size variant `Some`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<(&smartstring::SmartString, &types::dynamic::Dynamic, &std::vec::Vec)>`: 24 bytes, alignment: 8 bytes +print-type-size variant `Some`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<(&str, &std::rc::Rc)>`: 24 bytes, alignment: 8 bytes +print-type-size variant `Some`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<(&str, &types::dynamic::Dynamic)>`: 24 bytes, alignment: 8 bytes +print-type-size variant `Some`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<(&types::dynamic::Dynamic, (&smartstring::SmartString, &std::vec::Vec))>`: 24 bytes, alignment: 8 bytes +print-type-size variant `Some`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<(std::alloc::Layout, usize)>`: 24 bytes, alignment: 8 bytes +print-type-size variant `Some`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<(std::ptr::NonNull, std::alloc::Layout)>`: 24 bytes, alignment: 8 bytes +print-type-size variant `Some`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<(tokenizer::Token, tokenizer::Position)>`: 24 bytes, alignment: 8 bytes +print-type-size variant `Some`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<(types::dynamic::Dynamic, &ast::stmt::OpAssignment)>`: 24 bytes, alignment: 8 bytes +print-type-size variant `Some`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<(types::immutable_string::ImmutableString, std::option::Option, tokenizer::Position)>`: 24 bytes, alignment: 8 bytes +print-type-size variant `Some`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<(types::immutable_string::ImmutableString, types::dynamic::Dynamic)>`: 24 bytes, alignment: 8 bytes +print-type-size variant `Some`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<(usize, &str)>`: 24 bytes, alignment: 8 bytes +print-type-size variant `Some`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<(usize, std::any::TypeId)>`: 24 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<(usize, std::result::Result>)>`: 24 bytes, alignment: 8 bytes +print-type-size variant `Some`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<(usize, types::dynamic::Dynamic)>`: 24 bytes, alignment: 8 bytes +print-type-size variant `Some`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<(usize, usize)>`: 24 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option`: 24 bytes, alignment: 8 bytes +print-type-size variant `Some`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option`: 24 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option`: 24 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>`: 24 bytes, alignment: 8 bytes +print-type-size variant `Some`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>`: 24 bytes, alignment: 8 bytes +print-type-size variant `Some`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 24 bytes, alignment: 8 bytes +print-type-size variant `Some`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 24 bytes, alignment: 8 bytes +print-type-size variant `Some`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::KV>>`: 24 bytes, alignment: 8 bytes +print-type-size variant `Some`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, smallvec::alloc::collections::btree::set_val::SetValZST, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 24 bytes, alignment: 8 bytes +print-type-size variant `Some`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, smallvec::alloc::collections::btree::set_val::SetValZST, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 24 bytes, alignment: 8 bytes +print-type-size variant `Some`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, smallvec::alloc::collections::btree::set_val::SetValZST, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::KV>>`: 24 bytes, alignment: 8 bytes +print-type-size variant `Some`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, std::option::Option, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 24 bytes, alignment: 8 bytes +print-type-size variant `Some`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, std::option::Option, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 24 bytes, alignment: 8 bytes +print-type-size variant `Some`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, std::option::Option, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::KV>>`: 24 bytes, alignment: 8 bytes +print-type-size variant `Some`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 24 bytes, alignment: 8 bytes +print-type-size variant `Some`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 24 bytes, alignment: 8 bytes +print-type-size variant `Some`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::KV>>`: 24 bytes, alignment: 8 bytes +print-type-size variant `Some`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, types::custom_types::CustomTypeInfo, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 24 bytes, alignment: 8 bytes +print-type-size variant `Some`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, types::custom_types::CustomTypeInfo, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 24 bytes, alignment: 8 bytes +print-type-size variant `Some`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, types::custom_types::CustomTypeInfo, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::KV>>`: 24 bytes, alignment: 8 bytes +print-type-size variant `Some`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 24 bytes, alignment: 8 bytes +print-type-size variant `Some`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 24 bytes, alignment: 8 bytes +print-type-size variant `Some`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::KV>>`: 24 bytes, alignment: 8 bytes +print-type-size variant `Some`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option std::boxed::Box>>>>, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 24 bytes, alignment: 8 bytes +print-type-size variant `Some`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option std::boxed::Box>>>>, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 24 bytes, alignment: 8 bytes +print-type-size variant `Some`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option std::boxed::Box>>>>, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::KV>>`: 24 bytes, alignment: 8 bytes +print-type-size variant `Some`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, smallvec::alloc::collections::btree::node::marker::Edge>>`: 24 bytes, alignment: 8 bytes +print-type-size variant `Some`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, smallvec::alloc::collections::btree::node::marker::Edge>>`: 24 bytes, alignment: 8 bytes +print-type-size variant `Some`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, smallvec::alloc::collections::btree::node::marker::KV>>`: 24 bytes, alignment: 8 bytes +print-type-size variant `Some`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 24 bytes, alignment: 8 bytes +print-type-size variant `Some`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 24 bytes, alignment: 8 bytes +print-type-size variant `Some`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::KV>>`: 24 bytes, alignment: 8 bytes +print-type-size variant `Some`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, &str, serde::metadata::ModuleMetadata<'_>, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 24 bytes, alignment: 8 bytes +print-type-size variant `Some`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, &str, serde::metadata::ModuleMetadata<'_>, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::KV>>`: 24 bytes, alignment: 8 bytes +print-type-size variant `Some`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, smartstring::SmartString, api::custom_syntax::CustomSyntax, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 24 bytes, alignment: 8 bytes +print-type-size variant `Some`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, smartstring::SmartString, api::custom_syntax::CustomSyntax, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::KV>>`: 24 bytes, alignment: 8 bytes +print-type-size variant `Some`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, smartstring::SmartString, smallvec::alloc::collections::btree::set_val::SetValZST, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 24 bytes, alignment: 8 bytes +print-type-size variant `Some`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, smartstring::SmartString, smallvec::alloc::collections::btree::set_val::SetValZST, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::KV>>`: 24 bytes, alignment: 8 bytes +print-type-size variant `Some`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, smartstring::SmartString, std::option::Option, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 24 bytes, alignment: 8 bytes +print-type-size variant `Some`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, smartstring::SmartString, std::option::Option, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::KV>>`: 24 bytes, alignment: 8 bytes +print-type-size variant `Some`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, smartstring::SmartString, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 24 bytes, alignment: 8 bytes +print-type-size variant `Some`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, smartstring::SmartString, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::KV>>`: 24 bytes, alignment: 8 bytes +print-type-size variant `Some`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, smartstring::SmartString, types::custom_types::CustomTypeInfo, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 24 bytes, alignment: 8 bytes +print-type-size variant `Some`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, smartstring::SmartString, types::custom_types::CustomTypeInfo, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::KV>>`: 24 bytes, alignment: 8 bytes +print-type-size variant `Some`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, smartstring::SmartString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 24 bytes, alignment: 8 bytes +print-type-size variant `Some`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, smartstring::SmartString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::KV>>`: 24 bytes, alignment: 8 bytes +print-type-size variant `Some`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, std::any::TypeId, std::rc::Rc std::boxed::Box>>>>, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 24 bytes, alignment: 8 bytes +print-type-size variant `Some`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, std::any::TypeId, std::rc::Rc std::boxed::Box>>>>, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::KV>>`: 24 bytes, alignment: 8 bytes +print-type-size variant `Some`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, std::path::PathBuf, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 24 bytes, alignment: 8 bytes +print-type-size variant `Some`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, std::path::PathBuf, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::KV>>`: 24 bytes, alignment: 8 bytes +print-type-size variant `Some`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, types::immutable_string::ImmutableString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 24 bytes, alignment: 8 bytes +print-type-size variant `Some`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, types::immutable_string::ImmutableString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::KV>>`: 24 bytes, alignment: 8 bytes +print-type-size variant `Some`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, u64, smallvec::SmallVec<[usize; 1]>, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 24 bytes, alignment: 8 bytes +print-type-size variant `Some`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, u64, smallvec::SmallVec<[usize; 1]>, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::KV>>`: 24 bytes, alignment: 8 bytes +print-type-size variant `Some`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, &str, serde::metadata::ModuleMetadata<'_>, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 24 bytes, alignment: 8 bytes +print-type-size variant `Some`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, &str, serde::metadata::ModuleMetadata<'_>, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 24 bytes, alignment: 8 bytes +print-type-size variant `Some`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, smartstring::SmartString, smallvec::alloc::collections::btree::set_val::SetValZST, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 24 bytes, alignment: 8 bytes +print-type-size variant `Some`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, smartstring::SmartString, smallvec::alloc::collections::btree::set_val::SetValZST, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 24 bytes, alignment: 8 bytes +print-type-size variant `Some`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, smartstring::SmartString, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 24 bytes, alignment: 8 bytes +print-type-size variant `Some`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, smartstring::SmartString, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 24 bytes, alignment: 8 bytes +print-type-size variant `Some`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, smartstring::SmartString, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::KV>>`: 24 bytes, alignment: 8 bytes +print-type-size variant `Some`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, smartstring::SmartString, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::KV>>`: 24 bytes, alignment: 8 bytes +print-type-size variant `Some`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, smartstring::SmartString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 24 bytes, alignment: 8 bytes +print-type-size variant `Some`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, smartstring::SmartString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 24 bytes, alignment: 8 bytes +print-type-size variant `Some`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, smartstring::SmartString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::KV>>`: 24 bytes, alignment: 8 bytes +print-type-size variant `Some`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, smartstring::SmartString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::KV>>`: 24 bytes, alignment: 8 bytes +print-type-size variant `Some`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, std::any::TypeId, std::rc::Rc std::boxed::Box>>>>, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 24 bytes, alignment: 8 bytes +print-type-size variant `Some`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, std::any::TypeId, std::rc::Rc std::boxed::Box>>>>, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 24 bytes, alignment: 8 bytes +print-type-size variant `Some`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, std::path::PathBuf, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 24 bytes, alignment: 8 bytes +print-type-size variant `Some`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, std::path::PathBuf, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 24 bytes, alignment: 8 bytes +print-type-size variant `Some`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, types::immutable_string::ImmutableString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 24 bytes, alignment: 8 bytes +print-type-size variant `Some`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, types::immutable_string::ImmutableString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 24 bytes, alignment: 8 bytes +print-type-size variant `Some`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, u64, smallvec::SmallVec<[usize; 1]>, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 24 bytes, alignment: 8 bytes +print-type-size variant `Some`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, u64, smallvec::SmallVec<[usize; 1]>, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 24 bytes, alignment: 8 bytes +print-type-size variant `Some`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, u64, smallvec::SmallVec<[usize; 1]>, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::KV>>`: 24 bytes, alignment: 8 bytes +print-type-size variant `Some`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, u64, smallvec::SmallVec<[usize; 1]>, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::KV>>`: 24 bytes, alignment: 8 bytes +print-type-size variant `Some`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, smartstring::SmartString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::Internal>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 24 bytes, alignment: 8 bytes +print-type-size variant `Some`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, smartstring::SmartString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, smallvec::alloc::collections::btree::node::marker::KV>>`: 24 bytes, alignment: 8 bytes +print-type-size variant `Some`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>, [closure@src\serde\metadata.rs:187:17: 187:20]>, [closure@src\serde\metadata.rs:188:19: 188:22]>>`: 24 bytes, alignment: 8 bytes +print-type-size variant `Some`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>, for<'a> fn(&'a mut ast::stmt::Stmt) -> ast::stmt::Stmt {std::mem::take::}>>`: 24 bytes, alignment: 8 bytes +print-type-size variant `Some`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>, [closure@src\api\definitions\mod.rs:236:38: 236:46]>>`: 24 bytes, alignment: 8 bytes +print-type-size variant `Some`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>>`: 24 bytes, alignment: 8 bytes +print-type-size variant `Some`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>`: 24 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>`: 24 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>`: 24 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>`: 24 bytes, alignment: 8 bytes +print-type-size variant `Some`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>`: 24 bytes, alignment: 8 bytes +print-type-size variant `Some`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>`: 24 bytes, alignment: 8 bytes +print-type-size variant `Some`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option`: 24 bytes, alignment: 8 bytes +print-type-size variant `Some`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>`: 24 bytes, alignment: 8 bytes +print-type-size variant `Some`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>`: 24 bytes, alignment: 8 bytes +print-type-size variant `Some`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>`: 24 bytes, alignment: 8 bytes +print-type-size variant `Some`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, types::dynamic::Dynamic>>>`: 24 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>>`: 24 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>>`: 24 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>>`: 24 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>>`: 24 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>`: 24 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>`: 24 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>`: 24 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, types::dynamic::Dynamic>>>`: 24 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>>`: 24 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>>`: 24 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>>`: 24 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>>`: 24 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>`: 24 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>`: 24 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>`: 24 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>`: 24 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>`: 24 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>`: 24 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>`: 24 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>`: 24 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, types::dynamic::Dynamic>>>`: 24 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>>`: 24 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>>`: 24 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>`: 24 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>>`: 24 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>>`: 24 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>`: 24 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>`: 24 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>`: 24 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>`: 24 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>`: 24 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>`: 24 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>`: 24 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>`: 24 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, types::dynamic::Dynamic>>>`: 24 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>>`: 24 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>>`: 24 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>`: 24 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>>`: 24 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>>`: 24 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>`: 24 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>`: 24 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>`: 24 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option`: 24 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::panic::Location<'_>`: 24 bytes, alignment: 8 bytes +print-type-size field `.file`: 16 bytes +print-type-size field `.line`: 4 bytes +print-type-size field `.col`: 4 bytes +print-type-size type: `std::rc::RcBox fn(func::native::NativeCallContext<'a>, &'b mut [&'c mut types::dynamic::Dynamic]) -> std::result::Result>>`: 24 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::result::Result<&mut engine::Engine, std::string::String>`: 24 bytes, alignment: 8 bytes +print-type-size variant `Err`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Ok`: 16 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size type: `std::result::Result<&str, &str>`: 24 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Ok`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `Err`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::result::Result<(&smartstring::SmartString, &types::dynamic::Dynamic, &std::vec::Vec), usize>`: 24 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Err`: 16 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size type: `std::result::Result<(std::alloc::Layout, usize), std::alloc::LayoutError>`: 24 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Err`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::result::Result<(types::dynamic::Dynamic, bool), std::boxed::Box>`: 24 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Err`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::result::Result<(types::dynamic::Dynamic, tokenizer::Position), std::boxed::Box>`: 24 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Err`: 16 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size type: `std::result::Result`: 24 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Ok`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `Err`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::result::Result`: 24 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Ok`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `Err`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::result::Result>`: 24 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Ok`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `Err`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::result::Result>`: 24 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Ok`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `Err`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::result::Result, std::boxed::Box>`: 24 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Err`: 16 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size type: `std::result::Result, std::boxed::Box>`: 24 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Err`: 16 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size type: `std::result::Result`: 24 bytes, alignment: 8 bytes +print-type-size discriminant: 4 bytes +print-type-size variant `Err`: 20 bytes +print-type-size padding: 4 bytes +print-type-size field `.0`: 16 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::result::Result>`: 24 bytes, alignment: 8 bytes +print-type-size discriminant: 4 bytes +print-type-size variant `Ok`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `Err`: 12 bytes +print-type-size padding: 4 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 4 bytes +print-type-size type: `std::result::Result`: 24 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Ok`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `Err`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::result::Result`: 24 bytes, alignment: 8 bytes +print-type-size variant `Err`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size type: `std::result::Result`: 24 bytes, alignment: 8 bytes +print-type-size variant `Err`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Ok`: 9 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 1 bytes, alignment: 1 bytes +print-type-size type: `std::result::Result, std::boxed::Box>`: 24 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Ok`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `Err`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::result::Result, std::boxed::Box>`: 24 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Ok`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `Err`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::result::Result, smartstring::SmartString, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::Internal>>, smallvec::alloc::collections::btree::node::NodeRef, smartstring::SmartString, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 24 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Ok`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `Err`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::result::Result, smartstring::SmartString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::Internal>>, smallvec::alloc::collections::btree::node::NodeRef, smartstring::SmartString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 24 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Ok`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `Err`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::result::Result, u64, smallvec::SmallVec<[usize; 1]>, smallvec::alloc::collections::btree::node::marker::Internal>>, smallvec::alloc::collections::btree::node::NodeRef, u64, smallvec::SmallVec<[usize; 1]>, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 24 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Ok`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `Err`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::result::Result, std::collections::TryReserveError>`: 24 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Ok`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `Err`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::result::Result, std::collections::TryReserveErrorKind>`: 24 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Ok`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `Err`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::result::Result`: 24 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Err`: 24 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 16 bytes, alignment: 8 bytes +print-type-size type: `std::result::Result`: 24 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Err`: 16 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size type: `std::result::Result>`: 24 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Err`: 16 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size type: `std::result::Result, &str>`: 24 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Err`: 24 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 16 bytes, alignment: 8 bytes +print-type-size type: `std::result::Result, std::boxed::Box>`: 24 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Err`: 16 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size type: `std::result::Result, &str>`: 24 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Err`: 24 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 16 bytes, alignment: 8 bytes +print-type-size type: `std::result::Result, std::boxed::Box>`: 24 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 24 bytes +print-type-size field `.0`: 24 bytes +print-type-size variant `Err`: 16 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size type: `std::result::Result`: 24 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Ok`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `Err`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::result::Result, std::boxed::Box>`: 24 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Ok`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `Err`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::result::Result>`: 24 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Ok`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `Err`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::slice::merge::MergeHole<&module::FuncInfo>`: 24 bytes, alignment: 8 bytes +print-type-size field `.start`: 8 bytes +print-type-size field `.end`: 8 bytes +print-type-size field `.dest`: 8 bytes +print-type-size type: `std::slice::merge::MergeHole<(&str, &std::rc::Rc)>`: 24 bytes, alignment: 8 bytes +print-type-size field `.start`: 8 bytes +print-type-size field `.end`: 8 bytes +print-type-size field `.dest`: 8 bytes +print-type-size type: `std::slice::merge::MergeHole<(&str, &types::dynamic::Dynamic)>`: 24 bytes, alignment: 8 bytes +print-type-size field `.start`: 8 bytes +print-type-size field `.end`: 8 bytes +print-type-size field `.dest`: 8 bytes +print-type-size type: `std::slice::merge::MergeHole<(&str, serde::metadata::ModuleMetadata<'_>)>`: 24 bytes, alignment: 8 bytes +print-type-size field `.start`: 8 bytes +print-type-size field `.end`: 8 bytes +print-type-size field `.dest`: 8 bytes +print-type-size type: `std::slice::merge::MergeHole<(smartstring::SmartString, types::dynamic::Dynamic)>`: 24 bytes, alignment: 8 bytes +print-type-size field `.start`: 8 bytes +print-type-size field `.end`: 8 bytes +print-type-size field `.dest`: 8 bytes +print-type-size type: `std::slice::merge::MergeHole<(std::string::String, std::string::String)>`: 24 bytes, alignment: 8 bytes +print-type-size field `.start`: 8 bytes +print-type-size field `.end`: 8 bytes +print-type-size field `.dest`: 8 bytes +print-type-size type: `std::slice::merge::MergeHole>`: 24 bytes, alignment: 8 bytes +print-type-size field `.start`: 8 bytes +print-type-size field `.end`: 8 bytes +print-type-size field `.dest`: 8 bytes +print-type-size type: `std::slice::merge::MergeHole`: 24 bytes, alignment: 8 bytes +print-type-size field `.start`: 8 bytes +print-type-size field `.end`: 8 bytes +print-type-size field `.dest`: 8 bytes +print-type-size type: `std::str::CharIndices<'_>`: 24 bytes, alignment: 8 bytes +print-type-size field `.front_offset`: 8 bytes +print-type-size field `.iter`: 16 bytes +print-type-size type: `std::str::pattern::EmptyNeedle`: 24 bytes, alignment: 8 bytes +print-type-size field `.position`: 8 bytes +print-type-size field `.end`: 8 bytes +print-type-size field `.is_match_fw`: 1 bytes +print-type-size field `.is_match_bw`: 1 bytes +print-type-size field `.is_finished`: 1 bytes +print-type-size end padding: 5 bytes +print-type-size type: `std::string::String`: 24 bytes, alignment: 8 bytes +print-type-size field `.vec`: 24 bytes +print-type-size type: `std::sys::windows::c::SECURITY_ATTRIBUTES`: 24 bytes, alignment: 8 bytes +print-type-size field `.nLength`: 4 bytes +print-type-size padding: 4 bytes +print-type-size field `.lpSecurityDescriptor`: 8 bytes, alignment: 8 bytes +print-type-size field `.bInheritHandle`: 4 bytes +print-type-size end padding: 4 bytes +print-type-size type: `std::vec::Vec<&module::FuncInfo>`: 24 bytes, alignment: 8 bytes +print-type-size field `.buf`: 16 bytes +print-type-size field `.len`: 8 bytes +print-type-size type: `std::vec::Vec<&mut types::dynamic::Dynamic>`: 24 bytes, alignment: 8 bytes +print-type-size field `.buf`: 16 bytes +print-type-size field `.len`: 8 bytes +print-type-size type: `std::vec::Vec<&str>`: 24 bytes, alignment: 8 bytes +print-type-size field `.buf`: 16 bytes +print-type-size field `.len`: 8 bytes +print-type-size type: `std::vec::Vec<(&str, &std::rc::Rc)>`: 24 bytes, alignment: 8 bytes +print-type-size field `.buf`: 16 bytes +print-type-size field `.len`: 8 bytes +print-type-size type: `std::vec::Vec<(&str, &types::dynamic::Dynamic)>`: 24 bytes, alignment: 8 bytes +print-type-size field `.buf`: 16 bytes +print-type-size field `.len`: 8 bytes +print-type-size type: `std::vec::Vec<(&str, serde::metadata::ModuleMetadata<'_>)>`: 24 bytes, alignment: 8 bytes +print-type-size field `.buf`: 16 bytes +print-type-size field `.len`: 8 bytes +print-type-size type: `std::vec::Vec<(&types::immutable_string::ImmutableString, &std::rc::Rc)>`: 24 bytes, alignment: 8 bytes +print-type-size field `.buf`: 16 bytes +print-type-size field `.len`: 8 bytes +print-type-size type: `std::vec::Vec<(ast::ident::Ident, ast::expr::Expr)>`: 24 bytes, alignment: 8 bytes +print-type-size field `.buf`: 16 bytes +print-type-size field `.len`: 8 bytes +print-type-size type: `std::vec::Vec<(smartstring::SmartString, types::dynamic::AccessMode, types::dynamic::Dynamic)>`: 24 bytes, alignment: 8 bytes +print-type-size field `.buf`: 16 bytes +print-type-size field `.len`: 8 bytes +print-type-size type: `std::vec::Vec<(smartstring::SmartString, types::dynamic::Dynamic)>`: 24 bytes, alignment: 8 bytes +print-type-size field `.buf`: 16 bytes +print-type-size field `.len`: 8 bytes +print-type-size type: `std::vec::Vec<(std::string::String, std::string::String)>`: 24 bytes, alignment: 8 bytes +print-type-size field `.buf`: 16 bytes +print-type-size field `.len`: 8 bytes +print-type-size type: `std::vec::Vec<(types::immutable_string::ImmutableString, std::option::Option, tokenizer::Position)>`: 24 bytes, alignment: 8 bytes +print-type-size field `.buf`: 16 bytes +print-type-size field `.len`: 8 bytes +print-type-size type: `std::vec::Vec<(types::immutable_string::ImmutableString, std::rc::Rc)>`: 24 bytes, alignment: 8 bytes +print-type-size field `.buf`: 16 bytes +print-type-size field `.len`: 8 bytes +print-type-size type: `std::vec::Vec<(types::immutable_string::ImmutableString, tokenizer::Position)>`: 24 bytes, alignment: 8 bytes +print-type-size field `.buf`: 16 bytes +print-type-size field `.len`: 8 bytes +print-type-size type: `std::vec::Vec::dedup_by::FillGapOnDrop<'_, types::dynamic::Dynamic, std::alloc::Global>`: 24 bytes, alignment: 8 bytes +print-type-size field `.read`: 8 bytes +print-type-size field `.write`: 8 bytes +print-type-size field `.vec`: 8 bytes +print-type-size type: `std::vec::Vec>`: 24 bytes, alignment: 8 bytes +print-type-size field `.buf`: 16 bytes +print-type-size field `.len`: 8 bytes +print-type-size type: `std::vec::Vec>`: 24 bytes, alignment: 8 bytes +print-type-size field `.buf`: 16 bytes +print-type-size field `.len`: 8 bytes +print-type-size type: `std::vec::Vec`: 24 bytes, alignment: 8 bytes +print-type-size field `.buf`: 16 bytes +print-type-size field `.len`: 8 bytes +print-type-size type: `std::vec::Vec`: 24 bytes, alignment: 8 bytes +print-type-size field `.buf`: 16 bytes +print-type-size field `.len`: 8 bytes +print-type-size type: `std::vec::Vec`: 24 bytes, alignment: 8 bytes +print-type-size field `.buf`: 16 bytes +print-type-size field `.len`: 8 bytes +print-type-size type: `std::vec::Vec`: 24 bytes, alignment: 8 bytes +print-type-size field `.buf`: 16 bytes +print-type-size field `.len`: 8 bytes +print-type-size type: `std::vec::Vec`: 24 bytes, alignment: 8 bytes +print-type-size field `.buf`: 16 bytes +print-type-size field `.len`: 8 bytes +print-type-size type: `std::vec::Vec`: 24 bytes, alignment: 8 bytes +print-type-size field `.buf`: 16 bytes +print-type-size field `.len`: 8 bytes +print-type-size type: `std::vec::Vec`: 24 bytes, alignment: 8 bytes +print-type-size field `.buf`: 16 bytes +print-type-size field `.len`: 8 bytes +print-type-size type: `std::vec::Vec`: 24 bytes, alignment: 8 bytes +print-type-size field `.buf`: 16 bytes +print-type-size field `.len`: 8 bytes +print-type-size type: `std::vec::Vec`: 24 bytes, alignment: 8 bytes +print-type-size field `.buf`: 16 bytes +print-type-size field `.len`: 8 bytes +print-type-size type: `std::vec::Vec>`: 24 bytes, alignment: 8 bytes +print-type-size field `.buf`: 16 bytes +print-type-size field `.len`: 8 bytes +print-type-size type: `std::vec::Vec>`: 24 bytes, alignment: 8 bytes +print-type-size field `.buf`: 16 bytes +print-type-size field `.len`: 8 bytes +print-type-size type: `std::vec::Vec>`: 24 bytes, alignment: 8 bytes +print-type-size field `.buf`: 16 bytes +print-type-size field `.len`: 8 bytes +print-type-size type: `std::vec::Vec`: 24 bytes, alignment: 8 bytes +print-type-size field `.buf`: 16 bytes +print-type-size field `.len`: 8 bytes +print-type-size type: `std::vec::Vec>`: 24 bytes, alignment: 8 bytes +print-type-size field `.buf`: 16 bytes +print-type-size field `.len`: 8 bytes +print-type-size type: `std::vec::Vec>`: 24 bytes, alignment: 8 bytes +print-type-size field `.buf`: 16 bytes +print-type-size field `.len`: 8 bytes +print-type-size type: `std::vec::Vec>>`: 24 bytes, alignment: 8 bytes +print-type-size field `.buf`: 16 bytes +print-type-size field `.len`: 8 bytes +print-type-size type: `std::vec::Vec>`: 24 bytes, alignment: 8 bytes +print-type-size field `.buf`: 16 bytes +print-type-size field `.len`: 8 bytes +print-type-size type: `std::vec::Vec>`: 24 bytes, alignment: 8 bytes +print-type-size field `.buf`: 16 bytes +print-type-size field `.len`: 8 bytes +print-type-size type: `std::vec::Vec`: 24 bytes, alignment: 8 bytes +print-type-size field `.buf`: 16 bytes +print-type-size field `.len`: 8 bytes +print-type-size type: `std::vec::Vec`: 24 bytes, alignment: 8 bytes +print-type-size field `.buf`: 16 bytes +print-type-size field `.len`: 8 bytes +print-type-size type: `std::vec::Vec>`: 24 bytes, alignment: 8 bytes +print-type-size field `.buf`: 16 bytes +print-type-size field `.len`: 8 bytes +print-type-size type: `std::vec::Vec`: 24 bytes, alignment: 8 bytes +print-type-size field `.buf`: 16 bytes +print-type-size field `.len`: 8 bytes +print-type-size type: `std::vec::Vec`: 24 bytes, alignment: 8 bytes +print-type-size field `.buf`: 16 bytes +print-type-size field `.len`: 8 bytes +print-type-size type: `std::vec::Vec`: 24 bytes, alignment: 8 bytes +print-type-size field `.buf`: 16 bytes +print-type-size field `.len`: 8 bytes +print-type-size type: `std::vec::Vec`: 24 bytes, alignment: 8 bytes +print-type-size field `.buf`: 16 bytes +print-type-size field `.len`: 8 bytes +print-type-size type: `std::vec::in_place_drop::InPlaceDstBufDrop`: 24 bytes, alignment: 8 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size field `.len`: 8 bytes +print-type-size field `.cap`: 8 bytes +print-type-size type: `types::custom_types::CustomTypeInfo`: 24 bytes, alignment: 8 bytes +print-type-size field `.display_name`: 24 bytes +print-type-size type: `types::custom_types::CustomTypesCollection`: 24 bytes, alignment: 8 bytes +print-type-size field `.0`: 24 bytes +print-type-size type: `types::restore::RestoreOnDrop<'_, [&mut types::dynamic::Dynamic], [closure@src\func\call.rs:385:58: 385:66]>`: 24 bytes, alignment: 8 bytes +print-type-size field `.value`: 16 bytes +print-type-size field `.restore`: 8 bytes +print-type-size type: `types::restore::RestoreOnDrop<'_, [&mut types::dynamic::Dynamic], [closure@src\func\call.rs:690:74: 690:82]>`: 24 bytes, alignment: 8 bytes +print-type-size field `.value`: 16 bytes +print-type-size field `.restore`: 8 bytes +print-type-size type: `types::restore::RestoreOnDrop<'_, eval::cache::Caches, [closure@src\eval\stmt.rs:59:56: 59:64]>`: 24 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size field `.restore`: 16 bytes +print-type-size type: `types::restore::RestoreOnDrop<'_, eval::global_state::GlobalRuntimeState, [closure@src\eval\chaining.rs:102:56: 102:64]>`: 24 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size field `.restore`: 16 bytes +print-type-size type: `types::restore::RestoreOnDrop<'_, eval::global_state::GlobalRuntimeState, [closure@src\eval\chaining.rs:1031:41: 1031:49]>`: 24 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size field `.restore`: 16 bytes +print-type-size type: `types::restore::RestoreOnDrop<'_, eval::global_state::GlobalRuntimeState, [closure@src\eval\chaining.rs:700:83: 700:91]>`: 24 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size field `.restore`: 16 bytes +print-type-size type: `types::restore::RestoreOnDrop<'_, eval::global_state::GlobalRuntimeState, [closure@src\eval\chaining.rs:73:56: 73:64]>`: 24 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size field `.restore`: 16 bytes +print-type-size type: `types::restore::RestoreOnDrop<'_, eval::global_state::GlobalRuntimeState, [closure@src\eval\chaining.rs:893:37: 893:45]>`: 24 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size field `.restore`: 16 bytes +print-type-size type: `types::restore::RestoreOnDrop<'_, eval::global_state::GlobalRuntimeState, [closure@src\eval\expr.rs:236:85: 236:93]>`: 24 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size field `.restore`: 16 bytes +print-type-size type: `types::restore::RestoreOnDrop<'_, eval::global_state::GlobalRuntimeState, [closure@src\eval\expr.rs:270:81: 270:89]>`: 24 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size field `.restore`: 16 bytes +print-type-size type: `types::restore::RestoreOnDrop<'_, eval::global_state::GlobalRuntimeState, [closure@src\eval\stmt.rs:140:64: 140:72]>`: 24 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size field `.restore`: 16 bytes +print-type-size type: `types::restore::RestoreOnDrop<'_, eval::global_state::GlobalRuntimeState, [closure@src\eval\stmt.rs:198:76: 198:84]>`: 24 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size field `.restore`: 16 bytes +print-type-size type: `types::restore::RestoreOnDrop<'_, eval::global_state::GlobalRuntimeState, [closure@src\eval\stmt.rs:46:79: 46:87]>`: 24 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size field `.restore`: 16 bytes +print-type-size type: `types::restore::RestoreOnDrop<'_, eval::global_state::GlobalRuntimeState, [closure@src\func\call.rs:1383:56: 1383:64]>`: 24 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size field `.restore`: 16 bytes +print-type-size type: `types::restore::RestoreOnDrop<'_, eval::global_state::GlobalRuntimeState, [closure@src\func\call.rs:1393:64: 1393:72]>`: 24 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size field `.restore`: 16 bytes +print-type-size type: `types::restore::RestoreOnDrop<'_, eval::global_state::GlobalRuntimeState, [closure@src\func\call.rs:1520:60: 1520:68]>`: 24 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size field `.restore`: 16 bytes +print-type-size type: `types::restore::RestoreOnDrop<'_, eval::global_state::GlobalRuntimeState, [closure@src\func\call.rs:583:56: 583:64]>`: 24 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size field `.restore`: 16 bytes +print-type-size type: `types::restore::RestoreOnDrop<'_, eval::global_state::GlobalRuntimeState, [closure@src\func\call.rs:670:64: 670:72]>`: 24 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size field `.restore`: 16 bytes +print-type-size type: `types::restore::RestoreOnDrop<'_, eval::global_state::GlobalRuntimeState, [closure@src\func\call.rs:738:76: 738:84]>`: 24 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size field `.restore`: 16 bytes +print-type-size type: `types::restore::RestoreOnDrop<'_, smallvec::SmallVec<[types::dynamic::Dynamic; 5]>, [closure@src\eval\chaining.rs:1041:79: 1041:87]>`: 24 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size field `.restore`: 16 bytes +print-type-size type: `types::restore::RestoreOnDrop<'_, smallvec::SmallVec<[types::dynamic::Dynamic; 5]>, [closure@src\eval\chaining.rs:711:67: 711:75]>`: 24 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size field `.restore`: 16 bytes +print-type-size type: `types::restore::RestoreOnDrop<'_, smallvec::SmallVec<[types::dynamic::Dynamic; 5]>, [closure@src\eval\chaining.rs:902:88: 902:96]>`: 24 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size field `.restore`: 16 bytes +print-type-size type: `types::restore::RestoreOnDrop<'_, types::scope::Scope<'_, 8>, [closure@src\api\call_fn.rs:244:75: 244:83]>`: 24 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size field `.restore`: 16 bytes +print-type-size type: `types::restore::RestoreOnDrop<'_, types::scope::Scope<'_, 8>, [closure@src\eval\stmt.rs:33:77: 33:85]>`: 24 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size field `.restore`: 16 bytes +print-type-size type: `types::restore::RestoreOnDrop<'_, types::scope::Scope<'_, 8>, [closure@src\eval\stmt.rs:515:62: 515:70]>`: 24 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size field `.restore`: 16 bytes +print-type-size type: `types::restore::RestoreOnDrop<'_, types::scope::Scope<'_, 8>, [closure@src\eval\stmt.rs:650:88: 650:96]>`: 24 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size field `.restore`: 16 bytes +print-type-size type: `rust_decimal::decimal::CalculationResult`: 20 bytes, alignment: 4 bytes +print-type-size discriminant: 4 bytes +print-type-size variant `Ok`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `Overflow`: 0 bytes +print-type-size variant `DivByZero`: 0 bytes +print-type-size type: `std::option::Option`: 20 bytes, alignment: 4 bytes +print-type-size discriminant: 4 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `::to_vec::DropGuard<'_, eval::debugger::BreakPoint, std::alloc::Global>`: 16 bytes, alignment: 8 bytes +print-type-size field `.vec`: 8 bytes +print-type-size field `.num_init`: 8 bytes +print-type-size type: `::to_vec::DropGuard<'_, eval::debugger::CallStackFrame, std::alloc::Global>`: 16 bytes, alignment: 8 bytes +print-type-size field `.vec`: 8 bytes +print-type-size field `.num_init`: 8 bytes +print-type-size type: `::to_vec::DropGuard<'_, std::boxed::Box, std::alloc::Global>`: 16 bytes, alignment: 8 bytes +print-type-size field `.vec`: 8 bytes +print-type-size field `.num_init`: 8 bytes +print-type-size type: `::to_vec::DropGuard<'_, types::dynamic::Dynamic, std::alloc::Global>`: 16 bytes, alignment: 8 bytes +print-type-size field `.vec`: 8 bytes +print-type-size field `.num_init`: 8 bytes +print-type-size type: `[closure@ as std::iter::Iterator>::try_fold::enumerate<'_, &ast::stmt::Stmt, (), std::ops::ControlFlow, [closure@std::iter::Iterator::find_map::check<(usize, &ast::stmt::Stmt), usize, [closure@src\optimizer.rs:253:23: 253:34]>::{closure#0}]>::{closure#0}]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@ as std::iter::Iterator>::try_fold::enumerate<'_, &types::immutable_string::ImmutableString, (), std::ops::ControlFlow<(usize, &types::immutable_string::ImmutableString)>, [closure@std::iter::Iterator::find::check<(usize, &types::immutable_string::ImmutableString), [closure@src\parser.rs:241:19: 241:28]>::{closure#0}]>::{closure#0}]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@ as std::iter::Iterator>::try_fold::enumerate<'_, &u8, (), std::result::Result<(), std::fmt::Error>, [closure@std::iter::Iterator::try_for_each::call<(usize, &u8), std::result::Result<(), std::fmt::Error>, [closure@src\types\dynamic.rs:557:51: 557:59]>::{closure#0}]>::{closure#0}]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@ as std::iter::Iterator>::try_fold::check<'_, &char, (), std::ops::try_trait::NeverShortCircuit<()>, core::const_closure::ConstFnMutClosure<&mut [closure@std::iter::adapters::copied::copy_fold>::extend>>>>::{closure#0}]>::{closure#0}]>::{closure#0}], for<'a> fn(&'a mut [closure@std::iter::adapters::copied::copy_fold>::extend>>>>::{closure#0}]>::{closure#0}]>::{closure#0}], ((), &char)) -> std::ops::try_trait::NeverShortCircuit<()> {std::ops::try_trait::NeverShortCircuit::<()>::wrap_mut_2_imp::<(), &char, [closure@std::iter::adapters::copied::copy_fold>::extend>>>>::{closure#0}]>::{closure#0}]>::{closure#0}]>}>>::{closure#0}]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@ as std::iter::Iterator>::try_fold::check<'_, &str, (), std::ops::try_trait::NeverShortCircuit<()>, core::const_closure::ConstFnMutClosure<&mut [closure@std::iter::Iterator::for_each::call<&str, [closure@ as std::vec::spec_extend::SpecExtend<&str, std::iter::Take>>>::spec_extend::{closure#0}]>::{closure#0}], for<'a> fn(&'a mut [closure@std::iter::Iterator::for_each::call<&str, [closure@ as std::vec::spec_extend::SpecExtend<&str, std::iter::Take>>>::spec_extend::{closure#0}]>::{closure#0}], ((), &str)) -> std::ops::try_trait::NeverShortCircuit<()> {std::ops::try_trait::NeverShortCircuit::<()>::wrap_mut_2_imp::<(), &str, [closure@std::iter::Iterator::for_each::call<&str, [closure@ as std::vec::spec_extend::SpecExtend<&str, std::iter::Take>>>::spec_extend::{closure#0}]>::{closure#0}]>}>>::{closure#0}]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@ as std::iter::Iterator>::try_fold::check<'_, char, (), std::ops::try_trait::NeverShortCircuit<()>, core::const_closure::ConstFnMutClosure<&mut [closure@std::iter::Iterator::for_each::call>::extend>>::{closure#0}]>::{closure#0}], for<'a> fn(&'a mut [closure@std::iter::Iterator::for_each::call>::extend>>::{closure#0}]>::{closure#0}], ((), char)) -> std::ops::try_trait::NeverShortCircuit<()> {std::ops::try_trait::NeverShortCircuit::<()>::wrap_mut_2_imp::<(), char, [closure@std::iter::Iterator::for_each::call>::extend>>::{closure#0}]>::{closure#0}]>}>>::{closure#0}]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@ as std::iter::Iterator>::try_fold::check<'_, char, (), std::ops::try_trait::NeverShortCircuit<()>, core::const_closure::ConstFnMutClosure<&mut [closure@std::iter::adapters::map::map_fold as std::iter::Iterator>::fold::enumerate::{closure#0}]>::{closure#0}]>::{closure#0}], for<'a> fn(&'a mut [closure@std::iter::adapters::map::map_fold as std::iter::Iterator>::fold::enumerate::{closure#0}]>::{closure#0}]>::{closure#0}], ((), char)) -> std::ops::try_trait::NeverShortCircuit<()> {std::ops::try_trait::NeverShortCircuit::<()>::wrap_mut_2_imp::<(), char, [closure@std::iter::adapters::map::map_fold as std::iter::Iterator>::fold::enumerate::{closure#0}]>::{closure#0}]>::{closure#0}]>}>>::{closure#0}]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@, for<'a> fn(&'a ast::expr::Expr) -> std::option::Option {ast::expr::Expr::get_literal_value}>, std::option::Option> as std::iter::Iterator>::try_fold<(), [closure@std::iter::Iterator::try_for_each::call, fn(types::dynamic::Dynamic) -> std::ops::ControlFlow {std::ops::ControlFlow::::Break}>::{closure#0}], std::ops::ControlFlow>::{closure#0}]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@ as std::iter::DoubleEndedIterator>::try_rfold::flatten, (), std::ops::ControlFlow<(usize, &types::immutable_string::ImmutableString)>, [closure@ as std::iter::Iterator>::try_fold::enumerate<'_, &types::immutable_string::ImmutableString, (), std::ops::ControlFlow<(usize, &types::immutable_string::ImmutableString)>, [closure@std::iter::Iterator::find::check<(usize, &types::immutable_string::ImmutableString), [closure@src\parser.rs:241:19: 241:28]>::{closure#0}]>::{closure#0}]>::{closure#0}]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@ as std::iter::Iterator>::fold::flatten, (), [closure@std::iter::adapters::filter::filter_fold<&module::FuncInfo, (), [closure@src\module\mod.rs:2155:25: 2155:29], [closure@std::iter::adapters::filter::filter_fold<&module::FuncInfo, (), [closure@src\module\mod.rs:2159:25: 2159:29], [closure@std::iter::Iterator::for_each::call<&module::FuncInfo, [closure@src\module\mod.rs:2160:27: 2160:30]>::{closure#0}]>::{closure#0}]>::{closure#0}]>::{closure#0}]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@ as std::iter::DoubleEndedIterator>::next_back::{closure#0}]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@hashbrown::raw::RawTable<(u64, func::callable_function::CallableFunction)>::find<[closure@hashbrown::map::equivalent_key::{closure#0}]>::{closure#0}]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@hashbrown::raw::RawTable<(u64, module::FuncInfo)>::find<[closure@hashbrown::map::equivalent_key::{closure#0}]>::{closure#0}]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@hashbrown::raw::RawTable<(u64, std::option::Option)>::find<[closure@hashbrown::map::equivalent_key>::{closure#0}]>::{closure#0}]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@hashbrown::raw::RawTable<(u64, std::option::Option)>::find<[closure@hashbrown::rustc_entry::, func::hashing::StraightHasherBuilder>>::rustc_entry::{closure#0}]>::{closure#0}]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@hashbrown::raw::RawTable<(u64, std::rc::Rc)>::find<[closure@hashbrown::map::equivalent_key>::{closure#0}]>::{closure#0}]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@hashbrown::raw::RawTable<(u64, types::dynamic::Dynamic)>::find<[closure@hashbrown::map::equivalent_key::{closure#0}]>::{closure#0}]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@hashbrown::raw::RawTable<(u64, types::immutable_string::ImmutableString)>::find<[closure@hashbrown::map::equivalent_key::{closure#0}]>::{closure#0}]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@hashbrown::raw::RawTable<(u64, types::immutable_string::ImmutableString)>::find<[closure@hashbrown::rustc_entry::>::rustc_entry::{closure#0}]>::{closure#0}]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@hashbrown::raw::RawTableInner::is_in_same_group::{closure#0}]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@hashbrown::raw::RawTableInner::prepare_resize::{closure#0}]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@hashbrown::raw::RawTableInner::rehash_in_place::{closure#0}]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@smallvec::alloc::collections::btree::map::DrainFilterInner<'_, u64, smallvec::SmallVec<[usize; 1]>>::next<[closure@std::collections::BTreeMap>::retain<[closure@src\optimizer.rs:670:26: 670:35]>::{closure#0}], std::alloc::Global>::{closure#0}]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@smallvec::alloc::collections::btree::node::NodeRef, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>::ascend::{closure#0}]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@smallvec::alloc::collections::btree::node::NodeRef, smallvec::alloc::collections::btree::set_val::SetValZST, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>::ascend::{closure#0}]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@smallvec::alloc::collections::btree::node::NodeRef, std::option::Option, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>::ascend::{closure#0}]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@smallvec::alloc::collections::btree::node::NodeRef, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>::ascend::{closure#0}]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@smallvec::alloc::collections::btree::node::NodeRef, types::custom_types::CustomTypeInfo, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>::ascend::{closure#0}]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@smallvec::alloc::collections::btree::node::NodeRef, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>::ascend::{closure#0}]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@smallvec::alloc::collections::btree::node::NodeRef std::boxed::Box>>>>, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>::ascend::{closure#0}]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@smallvec::alloc::collections::btree::node::NodeRef::ascend::{closure#0}]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@smallvec::alloc::collections::btree::node::NodeRef, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>::ascend::{closure#0}]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@smallvec::alloc::collections::btree::node::NodeRef, &str, serde::metadata::ModuleMetadata<'_>, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>::ascend::{closure#0}]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@smallvec::alloc::collections::btree::node::NodeRef, smartstring::SmartString, api::custom_syntax::CustomSyntax, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>::ascend::{closure#0}]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@smallvec::alloc::collections::btree::node::NodeRef, smartstring::SmartString, smallvec::alloc::collections::btree::set_val::SetValZST, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>::ascend::{closure#0}]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@smallvec::alloc::collections::btree::node::NodeRef, smartstring::SmartString, std::option::Option, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>::ascend::{closure#0}]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@smallvec::alloc::collections::btree::node::NodeRef, smartstring::SmartString, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>::ascend::{closure#0}]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@smallvec::alloc::collections::btree::node::NodeRef, smartstring::SmartString, types::custom_types::CustomTypeInfo, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>::ascend::{closure#0}]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@smallvec::alloc::collections::btree::node::NodeRef, smartstring::SmartString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>::ascend::{closure#0}]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@smallvec::alloc::collections::btree::node::NodeRef, std::any::TypeId, std::rc::Rc std::boxed::Box>>>>, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>::ascend::{closure#0}]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@smallvec::alloc::collections::btree::node::NodeRef, std::path::PathBuf, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>::ascend::{closure#0}]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@smallvec::alloc::collections::btree::node::NodeRef, types::immutable_string::ImmutableString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>::ascend::{closure#0}]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@smallvec::alloc::collections::btree::node::NodeRef, u64, smallvec::SmallVec<[usize; 1]>, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>::ascend::{closure#0}]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@smallvec::alloc::collections::btree::node::NodeRef, &str, serde::metadata::ModuleMetadata<'_>, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>::ascend::{closure#0}]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@smallvec::alloc::collections::btree::node::NodeRef, smartstring::SmartString, smallvec::alloc::collections::btree::set_val::SetValZST, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>::ascend::{closure#0}]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@smallvec::alloc::collections::btree::node::NodeRef, smartstring::SmartString, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::Leaf>::ascend::{closure#0}]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@smallvec::alloc::collections::btree::node::NodeRef, smartstring::SmartString, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>::ascend::{closure#0}]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@smallvec::alloc::collections::btree::node::NodeRef, smartstring::SmartString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::Leaf>::ascend::{closure#0}]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@smallvec::alloc::collections::btree::node::NodeRef, smartstring::SmartString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>::ascend::{closure#0}]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@smallvec::alloc::collections::btree::node::NodeRef, std::any::TypeId, std::rc::Rc std::boxed::Box>>>>, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>::ascend::{closure#0}]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@smallvec::alloc::collections::btree::node::NodeRef, std::path::PathBuf, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>::ascend::{closure#0}]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@smallvec::alloc::collections::btree::node::NodeRef, types::immutable_string::ImmutableString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>::ascend::{closure#0}]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@smallvec::alloc::collections::btree::node::NodeRef, u64, smallvec::SmallVec<[usize; 1]>, smallvec::alloc::collections::btree::node::marker::Leaf>::ascend::{closure#0}]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@smallvec::alloc::collections::btree::node::NodeRef, u64, smallvec::SmallVec<[usize; 1]>, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>::ascend::{closure#0}]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@smallvec::alloc::collections::btree::node::NodeRef, smartstring::SmartString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>::ascend::{closure#0}]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@src\api\compile.rs:101:27: 101:33]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@src\api\definitions\mod.rs:236:38: 236:46]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@src\api\definitions\mod.rs:320:23: 320:31]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@src\api\definitions\mod.rs:373:18: 373:39]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@src\api\files.rs:223:40: 223:50]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@src\api\type_names.rs:203:22: 203:24]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@src\api\type_names.rs:237:22: 237:24]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@src\eval\chaining.rs:1031:41: 1031:49]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@src\eval\chaining.rs:136:30: 136:35]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@src\eval\chaining.rs:150:30: 150:35]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@src\eval\chaining.rs:197:82: 197:84]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@src\eval\chaining.rs:200:78: 200:80]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@src\eval\chaining.rs:223:82: 223:84]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@src\eval\chaining.rs:226:78: 226:80]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@src\eval\chaining.rs:264:30: 264:35]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@src\eval\chaining.rs:266:75: 266:77]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@src\eval\chaining.rs:285:30: 285:35]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@src\eval\chaining.rs:700:83: 700:91]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@src\eval\chaining.rs:893:37: 893:45]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@src\eval\data_check.rs:131:18: 131:21]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@src\eval\debugger.rs:336:19: 336:30]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@src\eval\expr.rs:199:29: 199:31]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@src\eval\expr.rs:236:85: 236:93]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@src\eval\expr.rs:270:81: 270:89]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@src\eval\expr.rs:305:31: 305:34]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@src\eval\expr.rs:375:26: 375:31]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@src\eval\expr.rs:379:30: 379:35]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@src\eval\expr.rs:385:26: 385:31]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@src\eval\expr.rs:389:30: 389:35]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@src\eval\expr.rs:39:13: 39:15]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@src\eval\expr.rs:423:31: 423:34]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@src\eval\expr.rs:78:29: 78:31]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@src\eval\stmt.rs:198:76: 198:84]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@src\eval\stmt.rs:313:30: 313:35]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@src\eval\stmt.rs:357:46: 357:51]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@src\eval\stmt.rs:379:46: 379:51]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@src\eval\stmt.rs:393:30: 393:32]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@src\eval\stmt.rs:430:34: 430:39]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@src\eval\stmt.rs:46:79: 46:87]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@src\eval\stmt.rs:473:34: 473:39]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@src\eval\stmt.rs:504:41: 504:43]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@src\eval\stmt.rs:504:80: 504:82]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@src\eval\stmt.rs:803:37: 803:39]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@src\eval\stmt.rs:833:21: 833:23]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@src\eval\stmt.rs:849:38: 849:40]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@src\eval\stmt.rs:851:33: 851:35]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@src\eval\target.rs:354:26: 354:35]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@src\func\call.rs:1040:30: 1040:35]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@src\func\call.rs:1086:30: 1086:35]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@src\func\call.rs:1093:30: 1093:35]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@src\func\call.rs:1112:30: 1112:35]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@src\func\call.rs:1126:30: 1126:35]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@src\func\call.rs:1145:39: 1145:44]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@src\func\call.rs:1351:49: 1351:57]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@src\func\call.rs:1407:35: 1407:38]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@src\func\call.rs:1414:51: 1414:54]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@src\func\call.rs:202:45: 202:47]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@src\func\call.rs:213:38: 213:40]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@src\func\call.rs:213:81: 213:83]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@src\func\call.rs:273:53: 273:59]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@src\func\call.rs:310:34: 310:42]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@src\func\call.rs:410:35: 410:38]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@src\func\call.rs:415:31: 415:34]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@src\func\call.rs:460:71: 460:76]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@src\func\call.rs:467:71: 467:76]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@src\func\call.rs:738:76: 738:84]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@src\module\mod.rs:2086:27: 2086:35]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@src\module\mod.rs:2160:27: 2160:30]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@src\module\mod.rs:751:42: 751:47]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@src\module\mod.rs:755:23: 755:27]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@src\module\resolvers\file.rs:315:22: 315:27]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@src\module\resolvers\file.rs:330:18: 330:23]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@src\module\resolvers\file.rs:384:26: 384:31]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@src\module\resolvers\stat.rs:166:25: 166:27]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@src\optimizer.rs:209:27: 209:33]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@src\optimizer.rs:670:26: 670:35]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@src\optimizer.rs:672:29: 672:36]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@src\optimizer.rs:700:27: 700:30]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@src\packages\arithmetic.rs:108:64: 108:66]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@src\packages\arithmetic.rs:29:53: 29:55]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@src\packages\arithmetic.rs:37:53: 37:55]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@src\packages\arithmetic.rs:45:53: 45:55]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@src\packages\arithmetic.rs:501:29: 501:31]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@src\packages\arithmetic.rs:506:29: 506:31]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@src\packages\arithmetic.rs:511:29: 511:31]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@src\packages\arithmetic.rs:520:33: 520:35]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@src\packages\arithmetic.rs:526:29: 526:31]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@src\packages\arithmetic.rs:531:29: 531:31]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@src\packages\arithmetic.rs:57:57: 57:59]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@src\packages\arithmetic.rs:66:53: 66:55]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@src\packages\arithmetic.rs:79:64: 79:66]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@src\packages\arithmetic.rs:94:64: 94:66]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@src\packages\array_basic.rs:1350:24: 1350:30]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@src\packages\array_basic.rs:1741:23: 1741:29]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@src\packages\array_basic.rs:1747:21: 1747:23]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@src\packages\array_basic.rs:2320:26: 2320:31]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@src\packages\array_basic.rs:842:26: 842:31]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@src\packages\array_basic.rs:934:26: 934:31]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@src\packages\blob_basic.rs:1472:27: 1472:35]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@src\packages\lang_core.rs:160:38: 160:53]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@src\packages\lang_core.rs:238:19: 238:28]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@src\packages\lang_core.rs:255:19: 255:28]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@src\packages\lang_core.rs:274:19: 274:28]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@src\packages\string_more.rs:632:59: 632:66]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@src\packages\string_more.rs:716:32: 716:39]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@src\packages\string_more.rs:819:22: 819:31]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@src\packages\string_more.rs:836:26: 836:35]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@src\parser.rs:148:23: 148:39]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@src\parser.rs:1936:34: 1936:36]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@src\parser.rs:1942:37: 1942:39]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@src\parser.rs:2335:33: 2335:35]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@src\parser.rs:2361:33: 2361:35]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@src\parser.rs:3669:51: 3669:72]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@src\parser.rs:3700:22: 3700:43]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@src\tokenizer.rs:1351:37: 1351:39]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@src\tokenizer.rs:1359:37: 1359:39]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@src\tokenizer.rs:1364:37: 1364:39]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@src\types\scope.rs:454:23: 454:33]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@std::iter::Iterator::find::check<&module::FuncInfo, [closure@src\module\mod.rs:755:23: 755:27]>::{closure#0}]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@std::iter::Iterator::find::check<(usize, &eval::debugger::BreakPoint), [closure@src\eval\debugger.rs:336:19: 336:30]>::{closure#0}]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@std::iter::Iterator::find::check<(usize, (&str, bool, &types::dynamic::Dynamic)), [closure@src\parser.rs:148:23: 148:39]>::{closure#0}]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@std::iter::Iterator::find_map::check<(usize, &smartstring::SmartString), usize, [closure@src\types\scope.rs:454:23: 454:33]>::{closure#0}]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@std::iter::Iterator::for_each::call<&module::FuncInfo, [closure@src\module\mod.rs:2160:27: 2160:30]>::{closure#0}]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@std::iter::Iterator::for_each::call<(&types::immutable_string::ImmutableString, &std::rc::Rc), [closure@src\module\mod.rs:2086:27: 2086:35]>::{closure#0}]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@std::iter::Iterator::for_each::call<(module::FnNamespace, ast::flags::FnAccess, &str, usize, &std::rc::Rc), [closure@src\packages\lang_core.rs:238:19: 238:28]>::{closure#0}]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@std::iter::Iterator::for_each::call<(module::FnNamespace, ast::flags::FnAccess, &str, usize, &std::rc::Rc), [closure@src\packages\lang_core.rs:255:19: 255:28]>::{closure#0}]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@std::iter::Iterator::for_each::call<(module::FnNamespace, ast::flags::FnAccess, &str, usize, &std::rc::Rc), [closure@src\packages\lang_core.rs:274:19: 274:28]>::{closure#0}]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@std::iter::Iterator::for_each::call<(usize, &std::rc::Rc), [closure@src\api\definitions\mod.rs:320:23: 320:31]>::{closure#0}]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@std::iter::Iterator::for_each::call<(usize, u8), [closure@src\packages\blob_basic.rs:1472:27: 1472:35]>::{closure#0}]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@std::iter::adapters::filter::filter_fold<&module::FuncInfo, (), [closure@src\module\mod.rs:2155:25: 2155:29], [closure@std::iter::adapters::filter::filter_fold<&module::FuncInfo, (), [closure@src\module\mod.rs:2159:25: 2159:29], [closure@std::iter::Iterator::for_each::call<&module::FuncInfo, [closure@src\module\mod.rs:2160:27: 2160:30]>::{closure#0}]>::{closure#0}]>::{closure#0}]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@std::iter::adapters::filter::filter_fold<&module::FuncInfo, (), [closure@src\module\mod.rs:2159:25: 2159:29], [closure@std::iter::Iterator::for_each::call<&module::FuncInfo, [closure@src\module\mod.rs:2160:27: 2160:30]>::{closure#0}]>::{closure#0}]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@std::iter::adapters::filter::filter_fold<&std::rc::Rc, (), [closure@src\serde\metadata.rs:187:17: 187:20], [closure@std::iter::adapters::map::map_fold<&std::rc::Rc, std::iter::FlatMap>, std::collections::hash_map::Values<'_, u64, module::FuncInfo>, [closure@src\module\mod.rs:1927:40: 1927:43]>, (), [closure@src\serde\metadata.rs:188:19: 188:22], [closure@std::iter::adapters::flatten::FlattenCompat::iter_fold::flatten>, std::collections::hash_map::Values<'_, u64, module::FuncInfo>, [closure@src\module\mod.rs:1927:40: 1927:43]>, (), [closure@ as std::iter::Iterator>::fold::flatten>, std::collections::hash_map::Values<'_, u64, module::FuncInfo>, [closure@src\module\mod.rs:1927:40: 1927:43]>, (), [closure@std::iter::Iterator::for_each::call<&module::FuncInfo, [closure@src\serde\metadata.rs:189:19: 189:22]>::{closure#0}]>::{closure#0}]>::{closure#0}]>::{closure#0}]>::{closure#0}]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@std::iter::adapters::filter::filter_try_fold<'_, &std::rc::Rc, (), std::ops::ControlFlow<()>, [closure@src\optimizer.rs:1240:21: 1240:24], [closure@std::iter::Iterator::any::check<&std::rc::Rc, [closure@src\optimizer.rs:1241:18: 1241:21]>::{closure#0}]>::{closure#0}]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@std::iter::adapters::flatten::FlattenCompat::iter_try_fold::flatten, std::rc::Rc>, (), std::ops::ControlFlow<&str>, [closure@ as std::iter::Iterator>::try_fold::flatten, std::rc::Rc>, (), std::ops::ControlFlow<&str>, [closure@std::iter::Iterator::find_map::check<(&smartstring::SmartString, &std::rc::Rc), &str, [closure@src\api\type_names.rs:209:31: 209:39]>::{closure#0}]>::{closure#0}]>::{closure#0}]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@std::iter::adapters::flatten::FlattenCompat::iter_try_fold::flatten, std::rc::Rc>, (), std::ops::ControlFlow<&str>, [closure@ as std::iter::Iterator>::try_fold::flatten, std::rc::Rc>, (), std::ops::ControlFlow<&str>, [closure@std::iter::Iterator::find_map::check<(&smartstring::SmartString, &std::rc::Rc), &str, [closure@src\api\type_names.rs:243:31: 243:39]>::{closure#0}]>::{closure#0}]>::{closure#0}]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@std::iter::adapters::flatten::FlattenCompat::iter_try_fold::flatten, std::rc::Rc>, (), std::ops::ControlFlow<&dyn std::ops::Fn(types::dynamic::Dynamic) -> std::boxed::Box>>>>, [closure@ as std::iter::Iterator>::try_fold::flatten, std::rc::Rc>, (), std::ops::ControlFlow<&dyn std::ops::Fn(types::dynamic::Dynamic) -> std::boxed::Box>>>>, [closure@std::iter::Iterator::find_map::check<&std::rc::Rc, &dyn std::ops::Fn(types::dynamic::Dynamic) -> std::boxed::Box>>>, [closure@src\eval\stmt.rs:508:35: 508:38]>::{closure#0}]>::{closure#0}]>::{closure#0}]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@std::iter::adapters::flatten::FlattenCompat::iter_try_fold::flatten, std::rc::Rc>, (), std::ops::ControlFlow<(&func::callable_function::CallableFunction, std::option::Option<&types::immutable_string::ImmutableString>)>, [closure@ as std::iter::Iterator>::try_fold::flatten, std::rc::Rc>, (), std::ops::ControlFlow<(&func::callable_function::CallableFunction, std::option::Option<&types::immutable_string::ImmutableString>)>, [closure@std::iter::Iterator::find_map::check<&std::rc::Rc, (&func::callable_function::CallableFunction, std::option::Option<&types::immutable_string::ImmutableString>), [closure@src\func\call.rs:217:43: 217:46]>::{closure#0}]>::{closure#0}]>::{closure#0}]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@std::iter::adapters::flatten::FlattenCompat::iter_try_fold::flatten, std::rc::Rc>, (), std::ops::ControlFlow<()>, [closure@ as std::iter::Iterator>::try_fold::flatten, std::rc::Rc>, (), std::ops::ControlFlow<()>, [closure@std::iter::Iterator::any::check<&std::rc::Rc, [closure@src\func\call.rs:258:38: 258:41]>::{closure#0}]>::{closure#0}]>::{closure#0}]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@std::iter::adapters::flatten::FlattenCompat::iter_try_fold::flatten, std::rc::Rc>, (), std::ops::ControlFlow<()>, [closure@ as std::iter::Iterator>::try_fold::flatten, std::rc::Rc>, (), std::ops::ControlFlow<()>, [closure@std::iter::Iterator::any::check<&std::rc::Rc, [closure@src\func\script.rs:239:76: 239:79]>::{closure#0}]>::{closure#0}]>::{closure#0}]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@std::iter::adapters::flatten::FlattenCompat::iter_try_fold::flatten, std::rc::Rc>, (), std::ops::ControlFlow<()>, [closure@ as std::iter::Iterator>::try_fold::flatten, std::rc::Rc>, (), std::ops::ControlFlow<()>, [closure@std::iter::Iterator::any::check<&std::rc::Rc, [closure@src\optimizer.rs:1252:18: 1252:21]>::{closure#0}]>::{closure#0}]>::{closure#0}]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@std::iter::adapters::flatten::FlattenCompat::iter_try_fold::flatten, (), std::ops::ControlFlow<&module::FuncInfo>, [closure@ as std::iter::Iterator>::try_fold::flatten, (), std::ops::ControlFlow<&module::FuncInfo>, [closure@std::iter::Iterator::find::check<&module::FuncInfo, &mut [closure@src\module\mod.rs:1951:31: 1951:35]>::{closure#0}]>::{closure#0}]>::{closure#0}]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@std::iter::adapters::flatten::FlattenCompat::iter_try_fold::flatten, (), std::ops::ControlFlow<()>, [closure@ as std::iter::Iterator>::try_fold::flatten, (), std::ops::ControlFlow<()>, [closure@std::iter::adapters::filter::filter_try_fold<'_, &module::FuncInfo, (), std::ops::ControlFlow<()>, [closure@src\module\mod.rs:1951:31: 1951:35], [closure@std::iter::adapters::map::map_try_fold<'_, &module::FuncInfo, (module::FnNamespace, ast::flags::FnAccess, &str, usize, &std::rc::Rc), (), std::ops::ControlFlow<()>, [closure@src\module\mod.rs:1951:60: 1951:63], &mut [closure@std::iter::Iterator::any::check<(module::FnNamespace, ast::flags::FnAccess, &str, usize, &std::rc::Rc), [closure@src\eval\expr.rs:161:26: 161:41]>::{closure#0}]>::{closure#0}]>::{closure#0}]>::{closure#0}]>::{closure#0}]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@std::iter::adapters::flatten::FlattenCompat::iter_try_fold::flatten, (), std::ops::ControlFlow<()>, [closure@ as std::iter::Iterator>::try_fold::flatten, (), std::ops::ControlFlow<()>, [closure@std::iter::adapters::filter::filter_try_fold<'_, &module::FuncInfo, (), std::ops::ControlFlow<()>, [closure@src\module\mod.rs:1951:31: 1951:35], [closure@std::iter::adapters::map::map_try_fold<'_, &module::FuncInfo, (module::FnNamespace, ast::flags::FnAccess, &str, usize, &std::rc::Rc), (), std::ops::ControlFlow<()>, [closure@src\module\mod.rs:1951:60: 1951:63], [closure@std::iter::adapters::map::map_try_fold<'_, (module::FnNamespace, ast::flags::FnAccess, &str, usize, &std::rc::Rc), &ast::script_fn::ScriptFnDef, (), std::ops::ControlFlow<()>, [closure@src\ast\ast.rs:756:18: 756:32], [closure@std::iter::Iterator::any::check<&ast::script_fn::ScriptFnDef, [closure@src\module\mod.rs:2110:42: 2110:45]>::{closure#0}]>::{closure#0}]>::{closure#0}]>::{closure#0}]>::{closure#0}]>::{closure#0}]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@std::iter::adapters::flatten::FlattenCompat::iter_try_fold::flatten>, std::collections::hash_map::Values<'_, u64, module::FuncInfo>, [closure@src\module\mod.rs:1927:40: 1927:43]>, [closure@src\module\mod.rs:1951:31: 1951:35]>, [closure@src\module\mod.rs:1951:60: 1951:63]>, (), std::ops::ControlFlow<()>, [closure@ as std::iter::Iterator>::try_fold::flatten>, std::collections::hash_map::Values<'_, u64, module::FuncInfo>, [closure@src\module\mod.rs:1927:40: 1927:43]>, [closure@src\module\mod.rs:1951:31: 1951:35]>, [closure@src\module\mod.rs:1951:60: 1951:63]>, (), std::ops::ControlFlow<()>, [closure@std::iter::Iterator::any::check<(module::FnNamespace, ast::flags::FnAccess, &str, usize, &std::rc::Rc), [closure@src\eval\expr.rs:161:26: 161:41]>::{closure#0}]>::{closure#0}]>::{closure#0}]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@std::iter::adapters::flatten::FlattenCompat::iter_try_fold::flatten>>, std::iter::Rev>>, [closure@src\types\scope.rs:823:18: 823:33]>, (), std::ops::ControlFlow<(usize, (&str, bool, &types::dynamic::Dynamic))>, [closure@ as std::iter::Iterator>::try_fold::flatten>>, std::iter::Rev>>, [closure@src\types\scope.rs:823:18: 823:33]>, (), std::ops::ControlFlow<(usize, (&str, bool, &types::dynamic::Dynamic))>, [closure@ as std::iter::Iterator>::try_fold::enumerate<'_, (&str, bool, &types::dynamic::Dynamic), (), std::ops::ControlFlow<(usize, (&str, bool, &types::dynamic::Dynamic))>, [closure@std::iter::Iterator::find::check<(usize, (&str, bool, &types::dynamic::Dynamic)), [closure@src\parser.rs:148:23: 148:39]>::{closure#0}]>::{closure#0}]>::{closure#0}]>::{closure#0}]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@std::iter::adapters::flatten::FlattenCompat::iter_try_fold::flatten, (), std::ops::ControlFlow<()>, [closure@ as std::iter::Iterator>::try_fold::flatten, (), std::ops::ControlFlow<()>, [closure@std::iter::Iterator::any::check<&ast::ident::Ident, [closure@src\parser.rs:201:26: 201:29]>::{closure#0}]>::{closure#0}]>::{closure#0}]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@std::iter::adapters::flatten::FlattenCompat::iter_try_fold::flatten, (), std::result::Result<(), types::parse_error::ParseError>, [closure@ as std::iter::Iterator>::try_fold::flatten, (), std::result::Result<(), types::parse_error::ParseError>, [closure@std::iter::Iterator::try_for_each::call<&ast::ident::Ident, std::result::Result<(), types::parse_error::ParseError>, [closure@src\parser.rs:1473:35: 1473:56]>::{closure#0}]>::{closure#0}]>::{closure#0}]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@std::iter::adapters::flatten::FlattenCompat::iter_try_fold::flatten, (), std::ops::ControlFlow<()>, [closure@ as std::iter::Iterator>::try_fold::flatten, (), std::ops::ControlFlow<()>, [closure@std::iter::Iterator::any::check<&types::immutable_string::ImmutableString, [closure@src\parser.rs:1888:34: 1888:37]>::{closure#0}]>::{closure#0}]>::{closure#0}]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@std::iter::adapters::flatten::FlattenCompat::iter_try_fold::flatten, (), std::ops::ControlFlow<()>, [closure@ as std::iter::Iterator>::try_fold::flatten, (), std::ops::ControlFlow<()>, [closure@std::iter::Iterator::any::check<&types::immutable_string::ImmutableString, [closure@src\parser.rs:607:34: 607:37]>::{closure#0}]>::{closure#0}]>::{closure#0}]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@std::iter::adapters::flatten::FlattenCompat::iter_try_fold::flatten, (), std::ops::ControlFlow<()>, [closure@ as std::iter::Iterator>::try_fold::flatten, (), std::ops::ControlFlow<()>, [closure@std::iter::Iterator::any::check<&types::immutable_string::ImmutableString, [closure@src\parser.rs:682:38: 682:41]>::{closure#0}]>::{closure#0}]>::{closure#0}]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@std::iter::adapters::flatten::FlattenCompat::iter_try_fold::flatten, (), std::ops::ControlFlow<()>, [closure@ as std::iter::Iterator>::try_fold::flatten, (), std::ops::ControlFlow<()>, [closure@std::iter::Iterator::all::check<&usize, [closure@src\ast\stmt.rs:822:77: 822:81]>::{closure#0}]>::{closure#0}]>::{closure#0}]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@std::iter::adapters::flatten::FlattenCompat::iter_try_fold::flatten, (), std::ops::ControlFlow<()>, [closure@ as std::iter::Iterator>::try_fold::flatten, (), std::ops::ControlFlow<()>, [closure@std::iter::Iterator::any::check<&usize, [closure@src\optimizer.rs:716:66: 716:70]>::{closure#0}]>::{closure#0}]>::{closure#0}]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@std::iter::adapters::flatten::FlattenCompat::iter_try_rfold::flatten, (), std::ops::ControlFlow<(usize, &types::immutable_string::ImmutableString)>, [closure@ as std::iter::DoubleEndedIterator>::try_rfold::flatten, (), std::ops::ControlFlow<(usize, &types::immutable_string::ImmutableString)>, [closure@ as std::iter::Iterator>::try_fold::enumerate<'_, &types::immutable_string::ImmutableString, (), std::ops::ControlFlow<(usize, &types::immutable_string::ImmutableString)>, [closure@std::iter::Iterator::find::check<(usize, &types::immutable_string::ImmutableString), [closure@src\parser.rs:241:19: 241:28]>::{closure#0}]>::{closure#0}]>::{closure#0}]>::{closure#0}]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@std::iter::adapters::map::map_try_fold<'_, &module::FuncInfo, (module::FnNamespace, ast::flags::FnAccess, &str, usize, &std::rc::Rc), (), std::ops::ControlFlow<()>, [closure@src\module\mod.rs:1951:60: 1951:63], &mut [closure@std::iter::Iterator::any::check<(module::FnNamespace, ast::flags::FnAccess, &str, usize, &std::rc::Rc), [closure@src\eval\expr.rs:161:26: 161:41]>::{closure#0}]>::{closure#0}]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@std::iter::adapters::map::map_try_fold<'_, (&smartstring::SmartString, &types::dynamic::Dynamic), (&str, bool, &types::dynamic::Dynamic), (), std::ops::ControlFlow<(usize, (&str, bool, &types::dynamic::Dynamic))>, [closure@src\types\scope.rs:823:18: 823:33], &mut [closure@ as std::iter::Iterator>::try_fold::enumerate<'_, (&str, bool, &types::dynamic::Dynamic), (), std::ops::ControlFlow<(usize, (&str, bool, &types::dynamic::Dynamic))>, [closure@std::iter::Iterator::find::check<(usize, (&str, bool, &types::dynamic::Dynamic)), [closure@src\parser.rs:148:23: 148:39]>::{closure#0}]>::{closure#0}]>::{closure#0}]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@std::iter::adapters::map::map_try_fold<'_, (&str, bool, &types::dynamic::Dynamic), (&str, bool, types::dynamic::Dynamic), (), std::ops::ControlFlow<()>, [closure@src\types\scope.rs:804:18: 804:43], [closure@std::iter::Iterator::any::check<(&str, bool, types::dynamic::Dynamic), [closure@src\parser.rs:2908:60: 2908:69]>::{closure#0}]>::{closure#0}]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@std::iter::adapters::map::map_try_fold<'_, (&str, bool, &types::dynamic::Dynamic), (&str, bool, types::dynamic::Dynamic), (), std::ops::ControlFlow<()>, [closure@src\types\scope.rs:804:18: 804:43], [closure@std::iter::Iterator::any::check<(&str, bool, types::dynamic::Dynamic), [closure@src\parser.rs:2913:52: 2913:61]>::{closure#0}]>::{closure#0}]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@std::iter::adapters::map::map_try_fold<'_, (module::FnNamespace, ast::flags::FnAccess, &str, usize, &std::rc::Rc), &ast::script_fn::ScriptFnDef, (), std::ops::ControlFlow<()>, [closure@src\ast\ast.rs:756:18: 756:32], [closure@std::iter::Iterator::any::check<&ast::script_fn::ScriptFnDef, [closure@src\module\mod.rs:2110:42: 2110:45]>::{closure#0}]>::{closure#0}]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@std::iter::adapters::map::map_try_fold<'_, types::dynamic::Dynamic, types::dynamic::Dynamic, std::vec::in_place_drop::InPlaceDrop, std::result::Result, !>, fn(types::dynamic::Dynamic) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}, [closure@std::vec::in_place_collect::write_in_place_with_drop::{closure#0}]>::{closure#0}]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@std::str::join_generic_copy>::{closure#0}]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@std::str::join_generic_copy>::{closure#0}]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `[closure@std::str::join_generic_copy::{closure#0}]`: 16 bytes, alignment: 8 bytes +print-type-size end padding: 16 bytes +print-type-size type: `ast::ast::ASTNode<'_>`: 16 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Stmt`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Expr`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `ast::expr::Expr`: 16 bytes, alignment: 8 bytes +print-type-size discriminant: 1 bytes +print-type-size variant `DynamicConstant`: 15 bytes +print-type-size padding: 1 bytes +print-type-size field `.1`: 4 bytes, alignment: 2 bytes +print-type-size padding: 2 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `IntegerConstant`: 15 bytes +print-type-size padding: 1 bytes +print-type-size field `.1`: 4 bytes, alignment: 2 bytes +print-type-size padding: 2 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `FloatConstant`: 15 bytes +print-type-size padding: 1 bytes +print-type-size field `.1`: 4 bytes, alignment: 2 bytes +print-type-size padding: 2 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `StringConstant`: 15 bytes +print-type-size padding: 1 bytes +print-type-size field `.1`: 4 bytes, alignment: 2 bytes +print-type-size padding: 2 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `InterpolatedString`: 15 bytes +print-type-size padding: 1 bytes +print-type-size field `.1`: 4 bytes, alignment: 2 bytes +print-type-size padding: 2 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `Array`: 15 bytes +print-type-size padding: 1 bytes +print-type-size field `.1`: 4 bytes, alignment: 2 bytes +print-type-size padding: 2 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `Map`: 15 bytes +print-type-size padding: 1 bytes +print-type-size field `.1`: 4 bytes, alignment: 2 bytes +print-type-size padding: 2 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `Variable`: 15 bytes +print-type-size field `.1`: 1 bytes +print-type-size field `.2`: 4 bytes +print-type-size padding: 2 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `Property`: 15 bytes +print-type-size padding: 1 bytes +print-type-size field `.1`: 4 bytes, alignment: 2 bytes +print-type-size padding: 2 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `MethodCall`: 15 bytes +print-type-size padding: 1 bytes +print-type-size field `.1`: 4 bytes, alignment: 2 bytes +print-type-size padding: 2 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `Stmt`: 15 bytes +print-type-size padding: 7 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `FnCall`: 15 bytes +print-type-size padding: 1 bytes +print-type-size field `.1`: 4 bytes, alignment: 2 bytes +print-type-size padding: 2 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `Dot`: 15 bytes +print-type-size field `.1`: 1 bytes +print-type-size field `.2`: 4 bytes +print-type-size padding: 2 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `Index`: 15 bytes +print-type-size field `.1`: 1 bytes +print-type-size field `.2`: 4 bytes +print-type-size padding: 2 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `And`: 15 bytes +print-type-size padding: 1 bytes +print-type-size field `.1`: 4 bytes, alignment: 2 bytes +print-type-size padding: 2 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `Or`: 15 bytes +print-type-size padding: 1 bytes +print-type-size field `.1`: 4 bytes, alignment: 2 bytes +print-type-size padding: 2 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `Coalesce`: 15 bytes +print-type-size padding: 1 bytes +print-type-size field `.1`: 4 bytes, alignment: 2 bytes +print-type-size padding: 2 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `Custom`: 15 bytes +print-type-size padding: 1 bytes +print-type-size field `.1`: 4 bytes, alignment: 2 bytes +print-type-size padding: 2 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `CharConstant`: 11 bytes +print-type-size padding: 1 bytes +print-type-size field `.1`: 4 bytes, alignment: 2 bytes +print-type-size padding: 2 bytes +print-type-size field `.0`: 4 bytes, alignment: 4 bytes +print-type-size variant `BoolConstant`: 5 bytes +print-type-size field `.0`: 1 bytes +print-type-size field `.1`: 4 bytes +print-type-size variant `Unit`: 5 bytes +print-type-size padding: 1 bytes +print-type-size field `.0`: 4 bytes, alignment: 2 bytes +print-type-size type: `ast::expr::FnCallHashes`: 16 bytes, alignment: 8 bytes +print-type-size field `.script`: 8 bytes +print-type-size field `.native`: 8 bytes +print-type-size type: `ast::ident::Ident`: 16 bytes, alignment: 8 bytes +print-type-size field `.name`: 8 bytes +print-type-size field `.pos`: 4 bytes +print-type-size end padding: 4 bytes +print-type-size type: `ast::stmt::Stmt`: 16 bytes, alignment: 8 bytes +print-type-size discriminant: 1 bytes +print-type-size variant `If`: 15 bytes +print-type-size padding: 1 bytes +print-type-size field `.1`: 4 bytes, alignment: 2 bytes +print-type-size padding: 2 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `Switch`: 15 bytes +print-type-size padding: 1 bytes +print-type-size field `.1`: 4 bytes, alignment: 2 bytes +print-type-size padding: 2 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `While`: 15 bytes +print-type-size padding: 1 bytes +print-type-size field `.1`: 4 bytes, alignment: 2 bytes +print-type-size padding: 2 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `Do`: 15 bytes +print-type-size field `.1`: 1 bytes +print-type-size field `.2`: 4 bytes +print-type-size padding: 2 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `For`: 15 bytes +print-type-size padding: 1 bytes +print-type-size field `.1`: 4 bytes, alignment: 2 bytes +print-type-size padding: 2 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `Var`: 15 bytes +print-type-size field `.1`: 1 bytes +print-type-size field `.2`: 4 bytes +print-type-size padding: 2 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `Assignment`: 15 bytes +print-type-size padding: 7 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `FnCall`: 15 bytes +print-type-size padding: 1 bytes +print-type-size field `.1`: 4 bytes, alignment: 2 bytes +print-type-size padding: 2 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `Block`: 15 bytes +print-type-size padding: 7 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `TryCatch`: 15 bytes +print-type-size padding: 1 bytes +print-type-size field `.1`: 4 bytes, alignment: 2 bytes +print-type-size padding: 2 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `Expr`: 15 bytes +print-type-size padding: 7 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `BreakLoop`: 15 bytes +print-type-size field `.1`: 1 bytes +print-type-size field `.2`: 4 bytes +print-type-size padding: 2 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `Return`: 15 bytes +print-type-size field `.1`: 1 bytes +print-type-size field `.2`: 4 bytes +print-type-size padding: 2 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `Import`: 15 bytes +print-type-size padding: 1 bytes +print-type-size field `.1`: 4 bytes, alignment: 2 bytes +print-type-size padding: 2 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `Export`: 15 bytes +print-type-size padding: 1 bytes +print-type-size field `.1`: 4 bytes, alignment: 2 bytes +print-type-size padding: 2 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `Share`: 15 bytes +print-type-size padding: 7 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `Noop`: 5 bytes +print-type-size padding: 1 bytes +print-type-size field `.0`: 4 bytes, alignment: 2 bytes +print-type-size type: `config::hashing::WhenTheHokmaSuppression`: 16 bytes, alignment: 8 bytes +print-type-size field `.hokma`: 8 bytes +print-type-size field `.state`: 8 bytes +print-type-size type: `core::fmt::builders::DebugInner<'_, '_>`: 16 bytes, alignment: 8 bytes +print-type-size field `.fmt`: 8 bytes +print-type-size field `.result`: 1 bytes +print-type-size field `.has_fields`: 1 bytes +print-type-size end padding: 6 bytes +print-type-size type: `eval::debugger::DebuggerEvent<'_>`: 16 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `BreakPoint`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `FunctionExitWithValue`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `FunctionExitWithError`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Start`: 0 bytes +print-type-size variant `Step`: 0 bytes +print-type-size variant `End`: 0 bytes +print-type-size type: `eval::debugger::DebuggerStatus`: 16 bytes, alignment: 8 bytes +print-type-size discriminant: 1 bytes +print-type-size variant `FunctionExit`: 15 bytes +print-type-size padding: 7 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `Next`: 2 bytes +print-type-size field `.0`: 1 bytes +print-type-size field `.1`: 1 bytes +print-type-size variant `Init`: 0 bytes +print-type-size variant `Terminate`: 0 bytes +print-type-size type: `hashbrown::TryReserveError`: 16 bytes, alignment: 8 bytes +print-type-size variant `AllocError`: 16 bytes +print-type-size field `.layout`: 16 bytes +print-type-size variant `CapacityOverflow`: 0 bytes +print-type-size type: `hashbrown::raw::ProbeSeq`: 16 bytes, alignment: 8 bytes +print-type-size field `.pos`: 8 bytes +print-type-size field `.stride`: 8 bytes +print-type-size type: `hashbrown::raw::TableLayout`: 16 bytes, alignment: 8 bytes +print-type-size field `.size`: 8 bytes +print-type-size field `.ctrl_align`: 8 bytes +print-type-size type: `hashbrown::raw::sse2::Group`: 16 bytes, alignment: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `hashbrown::raw::sse2::Group::static_empty::AlignedBytes`: 16 bytes, alignment: 16 bytes +print-type-size field `._align`: 0 bytes +print-type-size field `.bytes`: 16 bytes +print-type-size type: `hashbrown::scopeguard::ScopeGuard<(usize, &mut hashbrown::raw::RawTable<(u64, func::callable_function::CallableFunction)>), [closure@hashbrown::raw::RawTable<(u64, func::callable_function::CallableFunction)>::clone_from_impl::{closure#0}]>`: 16 bytes, alignment: 8 bytes +print-type-size field `.dropfn`: 0 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `hashbrown::scopeguard::ScopeGuard<(usize, &mut hashbrown::raw::RawTable<(u64, module::FuncInfo)>), [closure@hashbrown::raw::RawTable<(u64, module::FuncInfo)>::clone_from_impl::{closure#0}]>`: 16 bytes, alignment: 8 bytes +print-type-size field `.dropfn`: 0 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `hashbrown::scopeguard::ScopeGuard<(usize, &mut hashbrown::raw::RawTable<(u64, types::dynamic::Dynamic)>), [closure@hashbrown::raw::RawTable<(u64, types::dynamic::Dynamic)>::clone_from_impl::{closure#0}]>`: 16 bytes, alignment: 8 bytes +print-type-size field `.dropfn`: 0 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `module::_::_serde::de::value::StrDeserializer<'_, std::boxed::Box>`: 16 bytes, alignment: 8 bytes +print-type-size field `.marker`: 0 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `packages::iter_basic::BitRange`: 16 bytes, alignment: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size field `.1`: 8 bytes +print-type-size type: `packages::iter_basic::StepRange`: 16 bytes, alignment: 8 bytes +print-type-size field `.add`: 8 bytes +print-type-size field `.from`: 2 bytes +print-type-size field `.to`: 2 bytes +print-type-size field `.step`: 2 bytes +print-type-size field `.dir`: 1 bytes +print-type-size end padding: 1 bytes +print-type-size type: `packages::iter_basic::StepRange`: 16 bytes, alignment: 8 bytes +print-type-size field `.add`: 8 bytes +print-type-size field `.from`: 1 bytes +print-type-size field `.to`: 1 bytes +print-type-size field `.step`: 1 bytes +print-type-size field `.dir`: 1 bytes +print-type-size end padding: 4 bytes +print-type-size type: `packages::iter_basic::StepRange`: 16 bytes, alignment: 8 bytes +print-type-size field `.add`: 8 bytes +print-type-size field `.from`: 2 bytes +print-type-size field `.to`: 2 bytes +print-type-size field `.step`: 2 bytes +print-type-size field `.dir`: 1 bytes +print-type-size end padding: 1 bytes +print-type-size type: `packages::iter_basic::StepRange`: 16 bytes, alignment: 8 bytes +print-type-size field `.add`: 8 bytes +print-type-size field `.from`: 1 bytes +print-type-size field `.to`: 1 bytes +print-type-size field `.step`: 1 bytes +print-type-size field `.dir`: 1 bytes +print-type-size end padding: 4 bytes +print-type-size type: `rust_decimal::Decimal`: 16 bytes, alignment: 4 bytes +print-type-size field `.flags`: 4 bytes +print-type-size field `.hi`: 4 bytes +print-type-size field `.lo`: 4 bytes +print-type-size field `.mid`: 4 bytes +print-type-size type: `serde_json::de::MapAccess<'_, serde_json::de::StrRead<'_>>`: 16 bytes, alignment: 8 bytes +print-type-size field `.de`: 8 bytes +print-type-size field `.first`: 1 bytes +print-type-size end padding: 7 bytes +print-type-size type: `serde_json::de::SeqAccess<'_, serde_json::de::StrRead<'_>>`: 16 bytes, alignment: 8 bytes +print-type-size field `.de`: 8 bytes +print-type-size field `.first`: 1 bytes +print-type-size end padding: 7 bytes +print-type-size type: `serde_json::ser::Compound<'_, &mut std::vec::Vec, serde_json::ser::CompactFormatter>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Map`: 9 bytes +print-type-size field `.ser`: 8 bytes +print-type-size field `.state`: 1 bytes +print-type-size end padding: 7 bytes +print-type-size type: `serde_json::ser::Compound<'_, &mut std::vec::Vec, serde_json::ser::PrettyFormatter<'_>>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Map`: 9 bytes +print-type-size field `.ser`: 8 bytes +print-type-size field `.state`: 1 bytes +print-type-size end padding: 7 bytes +print-type-size type: `smallvec::CollectionAllocErr`: 16 bytes, alignment: 8 bytes +print-type-size variant `AllocErr`: 16 bytes +print-type-size field `.layout`: 16 bytes +print-type-size variant `CapacityOverflow`: 0 bytes +print-type-size type: `smallvec::SetLenOnDrop<'_>`: 16 bytes, alignment: 8 bytes +print-type-size field `.len`: 8 bytes +print-type-size field `.local_len`: 8 bytes +print-type-size type: `smallvec::SmallVecData<[char; 3]>`: 16 bytes, alignment: 8 bytes +print-type-size variant `SmallVecData`: 16 bytes +print-type-size field `.inline`: 12 bytes +print-type-size field `.heap`: 16 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size type: `smallvec::SmallVecData<[usize; 1]>`: 16 bytes, alignment: 8 bytes +print-type-size variant `SmallVecData`: 16 bytes +print-type-size field `.inline`: 8 bytes +print-type-size field `.heap`: 16 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::LeftOrRight`: 16 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Left`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Right`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::NodeRef, smallvec::alloc::collections::btree::node::marker::Internal>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.height`: 8 bytes +print-type-size field `.node`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::NodeRef, smallvec::alloc::collections::btree::node::marker::Leaf>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.height`: 8 bytes +print-type-size field `.node`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::NodeRef, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.height`: 8 bytes +print-type-size field `.node`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::NodeRef, smallvec::alloc::collections::btree::set_val::SetValZST, smallvec::alloc::collections::btree::node::marker::Internal>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.height`: 8 bytes +print-type-size field `.node`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::NodeRef, smallvec::alloc::collections::btree::set_val::SetValZST, smallvec::alloc::collections::btree::node::marker::Leaf>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.height`: 8 bytes +print-type-size field `.node`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::NodeRef, smallvec::alloc::collections::btree::set_val::SetValZST, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.height`: 8 bytes +print-type-size field `.node`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::NodeRef, std::option::Option, smallvec::alloc::collections::btree::node::marker::Internal>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.height`: 8 bytes +print-type-size field `.node`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::NodeRef, std::option::Option, smallvec::alloc::collections::btree::node::marker::Leaf>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.height`: 8 bytes +print-type-size field `.node`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::NodeRef, std::option::Option, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.height`: 8 bytes +print-type-size field `.node`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::NodeRef, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::Internal>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.height`: 8 bytes +print-type-size field `.node`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::NodeRef, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::Leaf>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.height`: 8 bytes +print-type-size field `.node`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::NodeRef, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.height`: 8 bytes +print-type-size field `.node`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::NodeRef, types::custom_types::CustomTypeInfo, smallvec::alloc::collections::btree::node::marker::Internal>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.height`: 8 bytes +print-type-size field `.node`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::NodeRef, types::custom_types::CustomTypeInfo, smallvec::alloc::collections::btree::node::marker::Leaf>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.height`: 8 bytes +print-type-size field `.node`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::NodeRef, types::custom_types::CustomTypeInfo, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.height`: 8 bytes +print-type-size field `.node`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::NodeRef, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::Internal>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.height`: 8 bytes +print-type-size field `.node`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::NodeRef, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::Leaf>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.height`: 8 bytes +print-type-size field `.node`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::NodeRef, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.height`: 8 bytes +print-type-size field `.node`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::NodeRef std::boxed::Box>>>>, smallvec::alloc::collections::btree::node::marker::Internal>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.height`: 8 bytes +print-type-size field `.node`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::NodeRef std::boxed::Box>>>>, smallvec::alloc::collections::btree::node::marker::Leaf>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.height`: 8 bytes +print-type-size field `.node`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::NodeRef std::boxed::Box>>>>, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.height`: 8 bytes +print-type-size field `.node`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::NodeRef`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.height`: 8 bytes +print-type-size field `.node`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::NodeRef`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.height`: 8 bytes +print-type-size field `.node`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::NodeRef`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.height`: 8 bytes +print-type-size field `.node`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::NodeRef, smallvec::alloc::collections::btree::node::marker::Internal>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.height`: 8 bytes +print-type-size field `.node`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::NodeRef, smallvec::alloc::collections::btree::node::marker::Leaf>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.height`: 8 bytes +print-type-size field `.node`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::NodeRef, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.height`: 8 bytes +print-type-size field `.node`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::NodeRef, &str, serde::metadata::ModuleMetadata<'_>, smallvec::alloc::collections::btree::node::marker::Internal>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.height`: 8 bytes +print-type-size field `.node`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::NodeRef, &str, serde::metadata::ModuleMetadata<'_>, smallvec::alloc::collections::btree::node::marker::Leaf>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.height`: 8 bytes +print-type-size field `.node`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::NodeRef, &str, serde::metadata::ModuleMetadata<'_>, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.height`: 8 bytes +print-type-size field `.node`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::NodeRef, smartstring::SmartString, api::custom_syntax::CustomSyntax, smallvec::alloc::collections::btree::node::marker::Internal>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.height`: 8 bytes +print-type-size field `.node`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::NodeRef, smartstring::SmartString, api::custom_syntax::CustomSyntax, smallvec::alloc::collections::btree::node::marker::Leaf>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.height`: 8 bytes +print-type-size field `.node`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::NodeRef, smartstring::SmartString, api::custom_syntax::CustomSyntax, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.height`: 8 bytes +print-type-size field `.node`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::NodeRef, smartstring::SmartString, smallvec::alloc::collections::btree::set_val::SetValZST, smallvec::alloc::collections::btree::node::marker::Internal>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.height`: 8 bytes +print-type-size field `.node`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::NodeRef, smartstring::SmartString, smallvec::alloc::collections::btree::set_val::SetValZST, smallvec::alloc::collections::btree::node::marker::Leaf>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.height`: 8 bytes +print-type-size field `.node`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::NodeRef, smartstring::SmartString, smallvec::alloc::collections::btree::set_val::SetValZST, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.height`: 8 bytes +print-type-size field `.node`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::NodeRef, smartstring::SmartString, std::option::Option, smallvec::alloc::collections::btree::node::marker::Internal>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.height`: 8 bytes +print-type-size field `.node`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::NodeRef, smartstring::SmartString, std::option::Option, smallvec::alloc::collections::btree::node::marker::Leaf>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.height`: 8 bytes +print-type-size field `.node`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::NodeRef, smartstring::SmartString, std::option::Option, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.height`: 8 bytes +print-type-size field `.node`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::NodeRef, smartstring::SmartString, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::Internal>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.height`: 8 bytes +print-type-size field `.node`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::NodeRef, smartstring::SmartString, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::Leaf>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.height`: 8 bytes +print-type-size field `.node`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::NodeRef, smartstring::SmartString, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.height`: 8 bytes +print-type-size field `.node`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::NodeRef, smartstring::SmartString, types::custom_types::CustomTypeInfo, smallvec::alloc::collections::btree::node::marker::Internal>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.height`: 8 bytes +print-type-size field `.node`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::NodeRef, smartstring::SmartString, types::custom_types::CustomTypeInfo, smallvec::alloc::collections::btree::node::marker::Leaf>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.height`: 8 bytes +print-type-size field `.node`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::NodeRef, smartstring::SmartString, types::custom_types::CustomTypeInfo, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.height`: 8 bytes +print-type-size field `.node`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::NodeRef, smartstring::SmartString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::Internal>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.height`: 8 bytes +print-type-size field `.node`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::NodeRef, smartstring::SmartString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::Leaf>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.height`: 8 bytes +print-type-size field `.node`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::NodeRef, smartstring::SmartString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.height`: 8 bytes +print-type-size field `.node`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::NodeRef, std::any::TypeId, std::rc::Rc std::boxed::Box>>>>, smallvec::alloc::collections::btree::node::marker::Internal>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.height`: 8 bytes +print-type-size field `.node`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::NodeRef, std::any::TypeId, std::rc::Rc std::boxed::Box>>>>, smallvec::alloc::collections::btree::node::marker::Leaf>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.height`: 8 bytes +print-type-size field `.node`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::NodeRef, std::any::TypeId, std::rc::Rc std::boxed::Box>>>>, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.height`: 8 bytes +print-type-size field `.node`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::NodeRef, std::path::PathBuf, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::Internal>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.height`: 8 bytes +print-type-size field `.node`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::NodeRef, std::path::PathBuf, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::Leaf>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.height`: 8 bytes +print-type-size field `.node`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::NodeRef, std::path::PathBuf, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.height`: 8 bytes +print-type-size field `.node`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::NodeRef, types::immutable_string::ImmutableString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::Internal>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.height`: 8 bytes +print-type-size field `.node`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::NodeRef, types::immutable_string::ImmutableString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::Leaf>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.height`: 8 bytes +print-type-size field `.node`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::NodeRef, types::immutable_string::ImmutableString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.height`: 8 bytes +print-type-size field `.node`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::NodeRef, u64, smallvec::SmallVec<[usize; 1]>, smallvec::alloc::collections::btree::node::marker::Internal>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.height`: 8 bytes +print-type-size field `.node`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::NodeRef, u64, smallvec::SmallVec<[usize; 1]>, smallvec::alloc::collections::btree::node::marker::Leaf>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.height`: 8 bytes +print-type-size field `.node`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::NodeRef, u64, smallvec::SmallVec<[usize; 1]>, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.height`: 8 bytes +print-type-size field `.node`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::NodeRef, &str, serde::metadata::ModuleMetadata<'_>, smallvec::alloc::collections::btree::node::marker::Internal>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.height`: 8 bytes +print-type-size field `.node`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::NodeRef, &str, serde::metadata::ModuleMetadata<'_>, smallvec::alloc::collections::btree::node::marker::Leaf>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.height`: 8 bytes +print-type-size field `.node`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::NodeRef, &str, serde::metadata::ModuleMetadata<'_>, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.height`: 8 bytes +print-type-size field `.node`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::NodeRef, smartstring::SmartString, smallvec::alloc::collections::btree::set_val::SetValZST, smallvec::alloc::collections::btree::node::marker::Internal>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.height`: 8 bytes +print-type-size field `.node`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::NodeRef, smartstring::SmartString, smallvec::alloc::collections::btree::set_val::SetValZST, smallvec::alloc::collections::btree::node::marker::Leaf>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.height`: 8 bytes +print-type-size field `.node`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::NodeRef, smartstring::SmartString, smallvec::alloc::collections::btree::set_val::SetValZST, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.height`: 8 bytes +print-type-size field `.node`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::NodeRef, smartstring::SmartString, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::Internal>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.height`: 8 bytes +print-type-size field `.node`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::NodeRef, smartstring::SmartString, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::Leaf>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.height`: 8 bytes +print-type-size field `.node`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::NodeRef, smartstring::SmartString, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.height`: 8 bytes +print-type-size field `.node`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::NodeRef, smartstring::SmartString, types::custom_types::CustomTypeInfo, smallvec::alloc::collections::btree::node::marker::Internal>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.height`: 8 bytes +print-type-size field `.node`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::NodeRef, smartstring::SmartString, types::custom_types::CustomTypeInfo, smallvec::alloc::collections::btree::node::marker::Leaf>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.height`: 8 bytes +print-type-size field `.node`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::NodeRef, smartstring::SmartString, types::custom_types::CustomTypeInfo, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.height`: 8 bytes +print-type-size field `.node`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::NodeRef, smartstring::SmartString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::Internal>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.height`: 8 bytes +print-type-size field `.node`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::NodeRef, smartstring::SmartString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::Leaf>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.height`: 8 bytes +print-type-size field `.node`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::NodeRef, smartstring::SmartString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.height`: 8 bytes +print-type-size field `.node`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::NodeRef, std::any::TypeId, std::rc::Rc std::boxed::Box>>>>, smallvec::alloc::collections::btree::node::marker::Internal>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.height`: 8 bytes +print-type-size field `.node`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::NodeRef, std::any::TypeId, std::rc::Rc std::boxed::Box>>>>, smallvec::alloc::collections::btree::node::marker::Leaf>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.height`: 8 bytes +print-type-size field `.node`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::NodeRef, std::any::TypeId, std::rc::Rc std::boxed::Box>>>>, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.height`: 8 bytes +print-type-size field `.node`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::NodeRef, std::path::PathBuf, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::Internal>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.height`: 8 bytes +print-type-size field `.node`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::NodeRef, std::path::PathBuf, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::Leaf>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.height`: 8 bytes +print-type-size field `.node`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::NodeRef, std::path::PathBuf, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.height`: 8 bytes +print-type-size field `.node`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::NodeRef, types::immutable_string::ImmutableString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::Internal>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.height`: 8 bytes +print-type-size field `.node`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::NodeRef, types::immutable_string::ImmutableString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::Leaf>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.height`: 8 bytes +print-type-size field `.node`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::NodeRef, types::immutable_string::ImmutableString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.height`: 8 bytes +print-type-size field `.node`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::NodeRef, u64, smallvec::SmallVec<[usize; 1]>, smallvec::alloc::collections::btree::node::marker::Internal>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.height`: 8 bytes +print-type-size field `.node`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::NodeRef, u64, smallvec::SmallVec<[usize; 1]>, smallvec::alloc::collections::btree::node::marker::Leaf>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.height`: 8 bytes +print-type-size field `.node`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::NodeRef, u64, smallvec::SmallVec<[usize; 1]>, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.height`: 8 bytes +print-type-size field `.node`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::NodeRef, smallvec::alloc::collections::btree::node::marker::Internal>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.height`: 8 bytes +print-type-size field `.node`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::NodeRef, smallvec::alloc::collections::btree::node::marker::Leaf>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.height`: 8 bytes +print-type-size field `.node`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::NodeRef, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.height`: 8 bytes +print-type-size field `.node`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::NodeRef, api::custom_syntax::CustomSyntax, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.height`: 8 bytes +print-type-size field `.node`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::NodeRef, smallvec::alloc::collections::btree::set_val::SetValZST, smallvec::alloc::collections::btree::node::marker::Internal>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.height`: 8 bytes +print-type-size field `.node`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::NodeRef, smallvec::alloc::collections::btree::set_val::SetValZST, smallvec::alloc::collections::btree::node::marker::Leaf>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.height`: 8 bytes +print-type-size field `.node`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::NodeRef, smallvec::alloc::collections::btree::set_val::SetValZST, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.height`: 8 bytes +print-type-size field `.node`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::NodeRef, std::option::Option, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.height`: 8 bytes +print-type-size field `.node`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::NodeRef, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::Internal>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.height`: 8 bytes +print-type-size field `.node`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::NodeRef, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::Leaf>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.height`: 8 bytes +print-type-size field `.node`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::NodeRef, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.height`: 8 bytes +print-type-size field `.node`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::NodeRef, types::custom_types::CustomTypeInfo, smallvec::alloc::collections::btree::node::marker::Internal>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.height`: 8 bytes +print-type-size field `.node`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::NodeRef, types::custom_types::CustomTypeInfo, smallvec::alloc::collections::btree::node::marker::Leaf>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.height`: 8 bytes +print-type-size field `.node`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::NodeRef, types::custom_types::CustomTypeInfo, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.height`: 8 bytes +print-type-size field `.node`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::NodeRef, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::Internal>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.height`: 8 bytes +print-type-size field `.node`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::NodeRef, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::Leaf>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.height`: 8 bytes +print-type-size field `.node`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::NodeRef, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.height`: 8 bytes +print-type-size field `.node`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::NodeRef std::boxed::Box>>>>, smallvec::alloc::collections::btree::node::marker::Internal>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.height`: 8 bytes +print-type-size field `.node`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::NodeRef std::boxed::Box>>>>, smallvec::alloc::collections::btree::node::marker::Leaf>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.height`: 8 bytes +print-type-size field `.node`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::NodeRef std::boxed::Box>>>>, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.height`: 8 bytes +print-type-size field `.node`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::NodeRef, smallvec::alloc::collections::btree::node::marker::Internal>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.height`: 8 bytes +print-type-size field `.node`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::NodeRef, smallvec::alloc::collections::btree::node::marker::Leaf>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.height`: 8 bytes +print-type-size field `.node`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::NodeRef, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.height`: 8 bytes +print-type-size field `.node`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::NodeRef`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.height`: 8 bytes +print-type-size field `.node`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::NodeRef`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.height`: 8 bytes +print-type-size field `.node`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::NodeRef`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.height`: 8 bytes +print-type-size field `.node`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::NodeRef, smallvec::alloc::collections::btree::node::marker::Internal>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.height`: 8 bytes +print-type-size field `.node`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::NodeRef, smallvec::alloc::collections::btree::node::marker::Leaf>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.height`: 8 bytes +print-type-size field `.node`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::NodeRef, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.height`: 8 bytes +print-type-size field `.node`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::NodeRef, smartstring::SmartString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::Internal>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.height`: 8 bytes +print-type-size field `.node`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::NodeRef, smartstring::SmartString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::Leaf>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.height`: 8 bytes +print-type-size field `.node`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::NodeRef, smartstring::SmartString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.height`: 8 bytes +print-type-size field `.node`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::search::IndexResult`: 16 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `KV`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Edge`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `smallvec::alloc::raw_vec::RawVec<&module::FuncInfo>`: 16 bytes, alignment: 8 bytes +print-type-size field `.alloc`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size field `.cap`: 8 bytes +print-type-size type: `smallvec::alloc::raw_vec::RawVec<&mut types::dynamic::Dynamic>`: 16 bytes, alignment: 8 bytes +print-type-size field `.alloc`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size field `.cap`: 8 bytes +print-type-size type: `smallvec::alloc::raw_vec::RawVec<&str>`: 16 bytes, alignment: 8 bytes +print-type-size field `.alloc`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size field `.cap`: 8 bytes +print-type-size type: `smallvec::alloc::raw_vec::RawVec<(&str, &std::rc::Rc)>`: 16 bytes, alignment: 8 bytes +print-type-size field `.alloc`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size field `.cap`: 8 bytes +print-type-size type: `smallvec::alloc::raw_vec::RawVec<(&str, &types::dynamic::Dynamic)>`: 16 bytes, alignment: 8 bytes +print-type-size field `.alloc`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size field `.cap`: 8 bytes +print-type-size type: `smallvec::alloc::raw_vec::RawVec<(&str, serde::metadata::ModuleMetadata<'_>)>`: 16 bytes, alignment: 8 bytes +print-type-size field `.alloc`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size field `.cap`: 8 bytes +print-type-size type: `smallvec::alloc::raw_vec::RawVec<(&types::immutable_string::ImmutableString, &std::rc::Rc)>`: 16 bytes, alignment: 8 bytes +print-type-size field `.alloc`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size field `.cap`: 8 bytes +print-type-size type: `smallvec::alloc::raw_vec::RawVec<(ast::ident::Ident, ast::expr::Expr)>`: 16 bytes, alignment: 8 bytes +print-type-size field `.alloc`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size field `.cap`: 8 bytes +print-type-size type: `smallvec::alloc::raw_vec::RawVec<(smartstring::SmartString, types::dynamic::AccessMode, types::dynamic::Dynamic)>`: 16 bytes, alignment: 8 bytes +print-type-size field `.alloc`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size field `.cap`: 8 bytes +print-type-size type: `smallvec::alloc::raw_vec::RawVec<(smartstring::SmartString, types::dynamic::Dynamic)>`: 16 bytes, alignment: 8 bytes +print-type-size field `.alloc`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size field `.cap`: 8 bytes +print-type-size type: `smallvec::alloc::raw_vec::RawVec<(std::string::String, std::string::String)>`: 16 bytes, alignment: 8 bytes +print-type-size field `.alloc`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size field `.cap`: 8 bytes +print-type-size type: `smallvec::alloc::raw_vec::RawVec<(types::immutable_string::ImmutableString, std::option::Option, tokenizer::Position)>`: 16 bytes, alignment: 8 bytes +print-type-size field `.alloc`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size field `.cap`: 8 bytes +print-type-size type: `smallvec::alloc::raw_vec::RawVec<(types::immutable_string::ImmutableString, std::rc::Rc)>`: 16 bytes, alignment: 8 bytes +print-type-size field `.alloc`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size field `.cap`: 8 bytes +print-type-size type: `smallvec::alloc::raw_vec::RawVec<(types::immutable_string::ImmutableString, tokenizer::Position)>`: 16 bytes, alignment: 8 bytes +print-type-size field `.alloc`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size field `.cap`: 8 bytes +print-type-size type: `smallvec::alloc::raw_vec::RawVec>`: 16 bytes, alignment: 8 bytes +print-type-size field `.alloc`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size field `.cap`: 8 bytes +print-type-size type: `smallvec::alloc::raw_vec::RawVec>`: 16 bytes, alignment: 8 bytes +print-type-size field `.alloc`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size field `.cap`: 8 bytes +print-type-size type: `smallvec::alloc::raw_vec::RawVec`: 16 bytes, alignment: 8 bytes +print-type-size field `.alloc`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size field `.cap`: 8 bytes +print-type-size type: `smallvec::alloc::raw_vec::RawVec`: 16 bytes, alignment: 8 bytes +print-type-size field `.alloc`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size field `.cap`: 8 bytes +print-type-size type: `smallvec::alloc::raw_vec::RawVec`: 16 bytes, alignment: 8 bytes +print-type-size field `.alloc`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size field `.cap`: 8 bytes +print-type-size type: `smallvec::alloc::raw_vec::RawVec`: 16 bytes, alignment: 8 bytes +print-type-size field `.alloc`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size field `.cap`: 8 bytes +print-type-size type: `smallvec::alloc::raw_vec::RawVec`: 16 bytes, alignment: 8 bytes +print-type-size field `.alloc`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size field `.cap`: 8 bytes +print-type-size type: `smallvec::alloc::raw_vec::RawVec`: 16 bytes, alignment: 8 bytes +print-type-size field `.alloc`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size field `.cap`: 8 bytes +print-type-size type: `smallvec::alloc::raw_vec::RawVec`: 16 bytes, alignment: 8 bytes +print-type-size field `.alloc`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size field `.cap`: 8 bytes +print-type-size type: `smallvec::alloc::raw_vec::RawVec`: 16 bytes, alignment: 8 bytes +print-type-size field `.alloc`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size field `.cap`: 8 bytes +print-type-size type: `smallvec::alloc::raw_vec::RawVec`: 16 bytes, alignment: 8 bytes +print-type-size field `.alloc`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size field `.cap`: 8 bytes +print-type-size type: `smallvec::alloc::raw_vec::RawVec>`: 16 bytes, alignment: 8 bytes +print-type-size field `.alloc`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size field `.cap`: 8 bytes +print-type-size type: `smallvec::alloc::raw_vec::RawVec>`: 16 bytes, alignment: 8 bytes +print-type-size field `.alloc`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size field `.cap`: 8 bytes +print-type-size type: `smallvec::alloc::raw_vec::RawVec>`: 16 bytes, alignment: 8 bytes +print-type-size field `.alloc`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size field `.cap`: 8 bytes +print-type-size type: `smallvec::alloc::raw_vec::RawVec`: 16 bytes, alignment: 8 bytes +print-type-size field `.alloc`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size field `.cap`: 8 bytes +print-type-size type: `smallvec::alloc::raw_vec::RawVec>`: 16 bytes, alignment: 8 bytes +print-type-size field `.alloc`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size field `.cap`: 8 bytes +print-type-size type: `smallvec::alloc::raw_vec::RawVec>`: 16 bytes, alignment: 8 bytes +print-type-size field `.alloc`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size field `.cap`: 8 bytes +print-type-size type: `smallvec::alloc::raw_vec::RawVec>>`: 16 bytes, alignment: 8 bytes +print-type-size field `.alloc`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size field `.cap`: 8 bytes +print-type-size type: `smallvec::alloc::raw_vec::RawVec>`: 16 bytes, alignment: 8 bytes +print-type-size field `.alloc`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size field `.cap`: 8 bytes +print-type-size type: `smallvec::alloc::raw_vec::RawVec>`: 16 bytes, alignment: 8 bytes +print-type-size field `.alloc`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size field `.cap`: 8 bytes +print-type-size type: `smallvec::alloc::raw_vec::RawVec`: 16 bytes, alignment: 8 bytes +print-type-size field `.alloc`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size field `.cap`: 8 bytes +print-type-size type: `smallvec::alloc::raw_vec::RawVec`: 16 bytes, alignment: 8 bytes +print-type-size field `.alloc`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size field `.cap`: 8 bytes +print-type-size type: `smallvec::alloc::raw_vec::RawVec>`: 16 bytes, alignment: 8 bytes +print-type-size field `.alloc`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size field `.cap`: 8 bytes +print-type-size type: `smallvec::alloc::raw_vec::RawVec`: 16 bytes, alignment: 8 bytes +print-type-size field `.alloc`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size field `.cap`: 8 bytes +print-type-size type: `smallvec::alloc::raw_vec::RawVec`: 16 bytes, alignment: 8 bytes +print-type-size field `.alloc`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size field `.cap`: 8 bytes +print-type-size type: `smallvec::alloc::raw_vec::RawVec`: 16 bytes, alignment: 8 bytes +print-type-size field `.alloc`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size field `.cap`: 8 bytes +print-type-size type: `smallvec::alloc::raw_vec::RawVec`: 16 bytes, alignment: 8 bytes +print-type-size field `.alloc`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size field `.cap`: 8 bytes +print-type-size type: `smartstring::casts::StringCast<'_>`: 16 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Boxed`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Inline`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `smartstring::casts::StringCastMut<'_>`: 16 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Boxed`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Inline`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::alloc::Layout`: 16 bytes, alignment: 8 bytes +print-type-size field `.size`: 8 bytes +print-type-size field `.align`: 8 bytes +print-type-size type: `std::arch::x86_64::__m128i`: 16 bytes, alignment: 16 bytes +print-type-size field `.0`: 8 bytes +print-type-size field `.1`: 8 bytes +print-type-size type: `std::boxed::Box<[&str]>`: 16 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::boxed::Box<[(std::string::String, std::string::String)]>`: 16 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::boxed::Box<[(types::immutable_string::ImmutableString, std::rc::Rc)]>`: 16 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::boxed::Box<[ast::stmt::Stmt]>`: 16 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::boxed::Box<[std::any::TypeId]>`: 16 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::boxed::Box<[std::boxed::Box]>`: 16 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::boxed::Box<[std::mem::MaybeUninit<(types::immutable_string::ImmutableString, std::rc::Rc)>]>`: 16 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::boxed::Box<[std::mem::MaybeUninit]>`: 16 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::boxed::Box<[std::mem::MaybeUninit>]>`: 16 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::boxed::Box<[std::mem::MaybeUninit]>`: 16 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::boxed::Box<[types::dynamic::Dynamic]>`: 16 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::boxed::Box<[u8]>`: 16 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::boxed::Box std::ops::Fn(&'a mut eval::eval_context::EvalContext<'b, 'c, 'd, 'e, 'f, 'g>, &'h [api::custom_syntax::Expression<'i>], &'j types::dynamic::Dynamic) -> std::result::Result>>`: 16 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::boxed::Box std::ops::Fn(eval::eval_context::EvalContext<'a, 'b, 'c, 'd, 'e, 'f>, eval::debugger::DebuggerEvent<'g>, ast::ast::ASTNode<'h>, std::option::Option<&'i str>, tokenizer::Position) -> std::result::Result>>`: 16 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::boxed::Box std::ops::Fn(&'a str, usize, eval::eval_context::EvalContext<'b, 'c, 'd, 'e, 'f, 'g>) -> std::result::Result, std::boxed::Box>>`: 16 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::boxed::Box std::ops::Fn(bool, api::events::VarDefInfo<'a>, eval::eval_context::EvalContext<'b, 'c, 'd, 'e, 'f, 'g>) -> std::result::Result>>`: 16 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::boxed::Box std::ops::Fn(&'a [types::immutable_string::ImmutableString], &'b str, &'c mut types::dynamic::Dynamic) -> std::result::Result, types::parse_error::ParseError>>`: 16 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::boxed::Box std::ops::Fn(&'a str, std::option::Option<&'b str>, tokenizer::Position)>`: 16 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::boxed::Box std::ops::Fn(&'a engine::Engine, eval::debugger::Debugger) -> eval::debugger::Debugger>`: 16 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::boxed::Box std::ops::Fn(&'a str)>`: 16 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::boxed::Box std::ops::Fn(tokenizer::Token, tokenizer::Position, &'a tokenizer::TokenizeState) -> tokenizer::Token>`: 16 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::boxed::Box`: 16 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::boxed::Box`: 16 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::boxed::Box`: 16 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::boxed::Box`: 16 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::boxed::Box, &types::dynamic::Dynamic, &std::vec::Vec)>>`: 16 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::boxed::Box)>>`: 16 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::boxed::Box>`: 16 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::boxed::Box>>>`: 16 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::boxed::Box>`: 16 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::boxed::Box std::option::Option>`: 16 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::boxed::Box`: 16 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::boxed::Box`: 16 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::cell::Ref<'_, std::collections::BTreeMap>>`: 16 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size field `.borrow`: 8 bytes +print-type-size type: `std::cell::Ref<'_, std::collections::BTreeMap>`: 16 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size field `.borrow`: 8 bytes +print-type-size type: `std::cell::Ref<'_, tokenizer::TokenizerControlBlock>`: 16 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size field `.borrow`: 8 bytes +print-type-size type: `std::cell::Ref<'_, types::dynamic::Dynamic>`: 16 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size field `.borrow`: 8 bytes +print-type-size type: `std::cell::RefMut<'_, std::collections::BTreeMap>>`: 16 bytes, alignment: 8 bytes +print-type-size field `.marker`: 0 bytes +print-type-size field `.value`: 8 bytes +print-type-size field `.borrow`: 8 bytes +print-type-size type: `std::cell::RefMut<'_, std::collections::BTreeMap>`: 16 bytes, alignment: 8 bytes +print-type-size field `.marker`: 0 bytes +print-type-size field `.value`: 8 bytes +print-type-size field `.borrow`: 8 bytes +print-type-size type: `std::cell::RefMut<'_, tokenizer::TokenizerControlBlock>`: 16 bytes, alignment: 8 bytes +print-type-size field `.marker`: 0 bytes +print-type-size field `.value`: 8 bytes +print-type-size field `.borrow`: 8 bytes +print-type-size type: `std::cell::RefMut<'_, types::dynamic::Dynamic>`: 16 bytes, alignment: 8 bytes +print-type-size field `.marker`: 0 bytes +print-type-size field `.value`: 8 bytes +print-type-size field `.borrow`: 8 bytes +print-type-size type: `std::cell::RefMut<'_, types::interner::StringsInterner>`: 16 bytes, alignment: 8 bytes +print-type-size field `.marker`: 0 bytes +print-type-size field `.value`: 8 bytes +print-type-size field `.borrow`: 8 bytes +print-type-size type: `std::cell::UnsafeCell>`: 16 bytes, alignment: 8 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::cell::UnsafeCell`: 16 bytes, alignment: 8 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::collections::Bound<&i64>`: 16 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Included`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Excluded`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Unbounded`: 0 bytes +print-type-size type: `std::collections::Bound<&usize>`: 16 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Included`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Excluded`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Unbounded`: 0 bytes +print-type-size type: `std::collections::TryReserveError`: 16 bytes, alignment: 8 bytes +print-type-size field `.kind`: 16 bytes +print-type-size type: `std::collections::TryReserveErrorKind`: 16 bytes, alignment: 8 bytes +print-type-size variant `AllocError`: 16 bytes +print-type-size field `.non_exhaustive`: 0 bytes +print-type-size field `.layout`: 16 bytes +print-type-size variant `CapacityOverflow`: 0 bytes +print-type-size type: `std::collections::hash_map::RandomState`: 16 bytes, alignment: 8 bytes +print-type-size field `.k0`: 8 bytes +print-type-size field `.k1`: 8 bytes +print-type-size type: `std::fmt::ArgumentV1<'_>`: 16 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size field `.formatter`: 8 bytes +print-type-size type: `std::fmt::DebugList<'_, '_>`: 16 bytes, alignment: 8 bytes +print-type-size field `.inner`: 16 bytes +print-type-size type: `std::fmt::DebugMap<'_, '_>`: 16 bytes, alignment: 8 bytes +print-type-size field `.fmt`: 8 bytes +print-type-size field `.result`: 1 bytes +print-type-size field `.has_fields`: 1 bytes +print-type-size field `.has_key`: 1 bytes +print-type-size field `.state`: 1 bytes +print-type-size end padding: 4 bytes +print-type-size type: `std::fmt::DebugSet<'_, '_>`: 16 bytes, alignment: 8 bytes +print-type-size field `.inner`: 16 bytes +print-type-size type: `std::fmt::DebugStruct<'_, '_>`: 16 bytes, alignment: 8 bytes +print-type-size field `.fmt`: 8 bytes +print-type-size field `.result`: 1 bytes +print-type-size field `.has_fields`: 1 bytes +print-type-size end padding: 6 bytes +print-type-size type: `std::fmt::rt::v1::Count`: 16 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Is`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Param`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Implied`: 0 bytes +print-type-size type: `std::io::error::ErrorData>`: 16 bytes, alignment: 8 bytes +print-type-size discriminant: 1 bytes +print-type-size variant `SimpleMessage`: 15 bytes +print-type-size padding: 7 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `Custom`: 15 bytes +print-type-size padding: 7 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `Os`: 7 bytes +print-type-size padding: 3 bytes +print-type-size field `.0`: 4 bytes, alignment: 4 bytes +print-type-size variant `Simple`: 1 bytes +print-type-size field `.0`: 1 bytes +print-type-size type: `std::iter::Cloned>`: 16 bytes, alignment: 8 bytes +print-type-size field `.it`: 16 bytes +print-type-size type: `std::iter::Cloned, tokenizer::Position)>>`: 16 bytes, alignment: 8 bytes +print-type-size field `.it`: 16 bytes +print-type-size type: `std::iter::Cloned)>>`: 16 bytes, alignment: 8 bytes +print-type-size field `.it`: 16 bytes +print-type-size type: `std::iter::Cloned>`: 16 bytes, alignment: 8 bytes +print-type-size field `.it`: 16 bytes +print-type-size type: `std::iter::Cloned>`: 16 bytes, alignment: 8 bytes +print-type-size field `.it`: 16 bytes +print-type-size type: `std::iter::Cloned>`: 16 bytes, alignment: 8 bytes +print-type-size field `.it`: 16 bytes +print-type-size type: `std::iter::Cloned>`: 16 bytes, alignment: 8 bytes +print-type-size field `.it`: 16 bytes +print-type-size type: `std::iter::Cloned>`: 16 bytes, alignment: 8 bytes +print-type-size field `.it`: 16 bytes +print-type-size type: `std::iter::Cloned>>`: 16 bytes, alignment: 8 bytes +print-type-size field `.it`: 16 bytes +print-type-size type: `std::iter::Cloned>`: 16 bytes, alignment: 8 bytes +print-type-size field `.it`: 16 bytes +print-type-size type: `std::iter::Cloned>>`: 16 bytes, alignment: 8 bytes +print-type-size field `.it`: 16 bytes +print-type-size type: `std::iter::Cloned>`: 16 bytes, alignment: 8 bytes +print-type-size field `.it`: 16 bytes +print-type-size type: `std::iter::Cloned>`: 16 bytes, alignment: 8 bytes +print-type-size field `.it`: 16 bytes +print-type-size type: `std::iter::Cloned>`: 16 bytes, alignment: 8 bytes +print-type-size field `.it`: 16 bytes +print-type-size type: `std::iter::Copied>`: 16 bytes, alignment: 8 bytes +print-type-size field `.it`: 16 bytes +print-type-size type: `std::iter::Copied>`: 16 bytes, alignment: 8 bytes +print-type-size field `.it`: 16 bytes +print-type-size type: `std::iter::Filter>, [closure@src\packages\debugging.rs:44:25: 44:63]>`: 16 bytes, alignment: 8 bytes +print-type-size field `.predicate`: 0 bytes +print-type-size field `.iter`: 16 bytes +print-type-size type: `std::iter::Filter>, [closure@src\optimizer.rs:1240:21: 1240:24]>`: 16 bytes, alignment: 8 bytes +print-type-size field `.predicate`: 0 bytes +print-type-size field `.iter`: 16 bytes +print-type-size type: `std::iter::Filter, for<'a> fn(&'a char) -> bool {std::char::methods::::is_ascii}>`: 16 bytes, alignment: 8 bytes +print-type-size field `.predicate`: 0 bytes +print-type-size field `.iter`: 16 bytes +print-type-size type: `std::iter::Fuse>, for<'a> fn(&'a std::rc::Rc) -> &'a module::Module { as std::convert::AsRef>::as_ref}>, for<'a> fn(&'a module::Module) -> impl std::iter::Iterator)> + 'a {module::Module::iter_script_fn}>>`: 16 bytes, alignment: 8 bytes +print-type-size field `.iter`: 16 bytes +print-type-size type: `std::iter::Fuse>>, [closure@src\optimizer.rs:1287:72: 1287:75]>>`: 16 bytes, alignment: 8 bytes +print-type-size field `.iter`: 16 bytes +print-type-size type: `std::iter::Fuse, [closure@src\module\mod.rs:1029:27: 1029:31]>>`: 16 bytes, alignment: 8 bytes +print-type-size field `.iter`: 16 bytes +print-type-size type: `std::iter::Fuse>>, [closure@src\parser.rs:1472:31: 1472:34]>>`: 16 bytes, alignment: 8 bytes +print-type-size field `.iter`: 16 bytes +print-type-size type: `std::iter::Fuse>>, [closure@src\parser.rs:200:31: 200:34]>>`: 16 bytes, alignment: 8 bytes +print-type-size field `.iter`: 16 bytes +print-type-size type: `std::iter::Fuse; 3]>>>, [closure@src\eval\global_state.rs:201:47: 201:50]>>`: 16 bytes, alignment: 8 bytes +print-type-size field `.iter`: 16 bytes +print-type-size type: `std::iter::Fuse; 3]>>>, [closure@src\eval\global_state.rs:216:47: 216:50]>>`: 16 bytes, alignment: 8 bytes +print-type-size field `.iter`: 16 bytes +print-type-size type: `std::iter::Fuse; 3]>>>, [closure@src\eval\global_state.rs:229:47: 229:50]>>`: 16 bytes, alignment: 8 bytes +print-type-size field `.iter`: 16 bytes +print-type-size type: `std::iter::Fuse>>, [closure@src\eval\global_state.rs:199:23: 199:26]>>`: 16 bytes, alignment: 8 bytes +print-type-size field `.iter`: 16 bytes +print-type-size type: `std::iter::Fuse>>, [closure@src\eval\global_state.rs:214:23: 214:26]>>`: 16 bytes, alignment: 8 bytes +print-type-size field `.iter`: 16 bytes +print-type-size type: `std::iter::Fuse>>, [closure@src\eval\global_state.rs:228:23: 228:26]>>`: 16 bytes, alignment: 8 bytes +print-type-size field `.iter`: 16 bytes +print-type-size type: `std::iter::Fuse>>, [closure@src\parser.rs:1436:63: 1436:66]>>`: 16 bytes, alignment: 8 bytes +print-type-size field `.iter`: 16 bytes +print-type-size type: `std::iter::Fuse>>, [closure@src\parser.rs:1887:39: 1887:42]>>`: 16 bytes, alignment: 8 bytes +print-type-size field `.iter`: 16 bytes +print-type-size type: `std::iter::Fuse>>, [closure@src\parser.rs:238:23: 238:26]>>`: 16 bytes, alignment: 8 bytes +print-type-size field `.iter`: 16 bytes +print-type-size type: `std::iter::Fuse>>, [closure@src\parser.rs:3315:71: 3315:74]>>`: 16 bytes, alignment: 8 bytes +print-type-size field `.iter`: 16 bytes +print-type-size type: `std::iter::Fuse>>, [closure@src\parser.rs:606:39: 606:42]>>`: 16 bytes, alignment: 8 bytes +print-type-size field `.iter`: 16 bytes +print-type-size type: `std::iter::Fuse>>, [closure@src\parser.rs:681:43: 681:46]>>`: 16 bytes, alignment: 8 bytes +print-type-size field `.iter`: 16 bytes +print-type-size type: `std::iter::Fuse, api::custom_syntax::CustomSyntax>>>, [closure@src\engine.rs:177:27: 177:30]>>`: 16 bytes, alignment: 8 bytes +print-type-size field `.iter`: 16 bytes +print-type-size type: `std::iter::Fuse, std::rc::Rc>>>, [closure@src\api\definitions\mod.rs:372:23: 372:26]>>`: 16 bytes, alignment: 8 bytes +print-type-size field `.iter`: 16 bytes +print-type-size type: `std::iter::Fuse, std::rc::Rc>>>, [closure@src\api\register.rs:746:66: 746:69]>>`: 16 bytes, alignment: 8 bytes +print-type-size field `.iter`: 16 bytes +print-type-size type: `std::iter::Fuse, std::rc::Rc>>>, [closure@src\api\type_names.rs:208:31: 208:34]>>`: 16 bytes, alignment: 8 bytes +print-type-size field `.iter`: 16 bytes +print-type-size type: `std::iter::Fuse, std::rc::Rc>>>, [closure@src\api\type_names.rs:242:31: 242:34]>>`: 16 bytes, alignment: 8 bytes +print-type-size field `.iter`: 16 bytes +print-type-size type: `std::iter::Fuse, std::rc::Rc>>>, [closure@src\eval\stmt.rs:507:35: 507:38]>>`: 16 bytes, alignment: 8 bytes +print-type-size field `.iter`: 16 bytes +print-type-size type: `std::iter::Fuse, std::rc::Rc>>>, [closure@src\func\call.rs:216:43: 216:46]>>`: 16 bytes, alignment: 8 bytes +print-type-size field `.iter`: 16 bytes +print-type-size type: `std::iter::Fuse, std::rc::Rc>>>, [closure@src\func\call.rs:257:43: 257:46]>>`: 16 bytes, alignment: 8 bytes +print-type-size field `.iter`: 16 bytes +print-type-size type: `std::iter::Fuse, std::rc::Rc>>>, [closure@src\func\script.rs:239:56: 239:59]>>`: 16 bytes, alignment: 8 bytes +print-type-size field `.iter`: 16 bytes +print-type-size type: `std::iter::Fuse, std::rc::Rc>>>, [closure@src\module\mod.rs:1912:23: 1912:26]>>`: 16 bytes, alignment: 8 bytes +print-type-size field `.iter`: 16 bytes +print-type-size type: `std::iter::Fuse, std::rc::Rc>>>, [closure@src\module\mod.rs:235:31: 235:34]>>`: 16 bytes, alignment: 8 bytes +print-type-size field `.iter`: 16 bytes +print-type-size type: `std::iter::Fuse, std::rc::Rc>>>, [closure@src\optimizer.rs:1251:23: 1251:26]>>`: 16 bytes, alignment: 8 bytes +print-type-size field `.iter`: 16 bytes +print-type-size type: `std::iter::Fuse, std::rc::Rc>>>, [closure@src\packages\lang_core.rs:271:19: 271:22]>>`: 16 bytes, alignment: 8 bytes +print-type-size field `.iter`: 16 bytes +print-type-size type: `std::iter::Fuse, std::rc::Rc>>>, [closure@src\serde\metadata.rs:174:64: 174:67]>>`: 16 bytes, alignment: 8 bytes +print-type-size field `.iter`: 16 bytes +print-type-size type: `std::iter::Fuse, types::dynamic::Dynamic>>>, [closure@src\module\mod.rs:1920:23: 1920:26]>>`: 16 bytes, alignment: 8 bytes +print-type-size field `.iter`: 16 bytes +print-type-size type: `std::iter::Fuse>>, [closure@src\parser.rs:146:27: 146:30]>>`: 16 bytes, alignment: 8 bytes +print-type-size field `.iter`: 16 bytes +print-type-size type: `std::iter::Fuse>, [closure@src\module\mod.rs:1927:40: 1927:43]>>`: 16 bytes, alignment: 8 bytes +print-type-size field `.iter`: 16 bytes +print-type-size type: `std::iter::Fuse>, [closure@src\module\mod.rs:2238:64: 2238:67]>>`: 16 bytes, alignment: 8 bytes +print-type-size field `.iter`: 16 bytes +print-type-size type: `std::iter::Fuse>, [closure@src\eval\expr.rs:160:31: 160:34]>>`: 16 bytes, alignment: 8 bytes +print-type-size field `.iter`: 16 bytes +print-type-size type: `std::iter::Fuse>, [closure@src\packages\lang_core.rs:253:19: 253:22]>>`: 16 bytes, alignment: 8 bytes +print-type-size field `.iter`: 16 bytes +print-type-size type: `std::iter::Map types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>`: 16 bytes, alignment: 8 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 16 bytes +print-type-size type: `std::iter::Map, fn(i16) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>`: 16 bytes, alignment: 8 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 16 bytes +print-type-size type: `std::iter::Map, fn(i8) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>`: 16 bytes, alignment: 8 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 16 bytes +print-type-size type: `std::iter::Map, fn(u16) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>`: 16 bytes, alignment: 8 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 16 bytes +print-type-size type: `std::iter::Map, fn(u8) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>`: 16 bytes, alignment: 8 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 16 bytes +print-type-size type: `std::iter::Map>, fn(types::dynamic::Dynamic) -> std::result::Result> {std::result::Result::>::Ok}>`: 16 bytes, alignment: 8 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 16 bytes +print-type-size type: `std::iter::Map>, [closure@src\packages\debugging.rs:44:25: 44:63]>, [closure@src\packages\debugging.rs:48:21: 53:24]>`: 16 bytes, alignment: 8 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 16 bytes +print-type-size type: `std::iter::Map>, for<'a> fn(&'a std::rc::Rc) -> &'a module::Module { as std::convert::AsRef>::as_ref}>, for<'a> fn(&'a module::Module) -> impl std::iter::Iterator)> + 'a {module::Module::iter_script_fn}>`: 16 bytes, alignment: 8 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 16 bytes +print-type-size type: `std::iter::Map>>, [closure@src\optimizer.rs:1287:72: 1287:75]>`: 16 bytes, alignment: 8 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 16 bytes +print-type-size type: `std::iter::Map, fn(i64) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>`: 16 bytes, alignment: 8 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 16 bytes +print-type-size type: `std::iter::Map, fn(u64) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>`: 16 bytes, alignment: 8 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 16 bytes +print-type-size type: `std::iter::Map, [closure@src\func\call.rs:1331:81: 1331:84]>`: 16 bytes, alignment: 8 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 16 bytes +print-type-size type: `std::iter::Map, [closure@src\func\call.rs:178:58: 178:61]>`: 16 bytes, alignment: 8 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 16 bytes +print-type-size type: `std::iter::Map, [closure@src\func\call.rs:393:37: 393:40]>`: 16 bytes, alignment: 8 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 16 bytes +print-type-size type: `std::iter::Map, [closure@src\tokenizer.rs:2569:30: 2569:33]>`: 16 bytes, alignment: 8 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 16 bytes +print-type-size type: `std::iter::Map, [closure@src\module\mod.rs:1125:55: 1125:58]>`: 16 bytes, alignment: 8 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 16 bytes +print-type-size type: `std::iter::Map, [closure@src\module\mod.rs:889:18: 889:21]>`: 16 bytes, alignment: 8 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 16 bytes +print-type-size type: `std::iter::Map, [closure@src\module\mod.rs:946:55: 946:58]>`: 16 bytes, alignment: 8 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 16 bytes +print-type-size type: `std::iter::Map, [closure@src\tokenizer.rs:2569:30: 2569:33]>`: 16 bytes, alignment: 8 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 16 bytes +print-type-size type: `std::iter::Map, [closure@src\ast\expr.rs:388:45: 388:53]>`: 16 bytes, alignment: 8 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 16 bytes +print-type-size type: `std::iter::Map, [closure@src\ast\expr.rs:762:48: 762:57]>`: 16 bytes, alignment: 8 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 16 bytes +print-type-size type: `std::iter::Map, [closure@src\ast\expr.rs:798:48: 798:60]>`: 16 bytes, alignment: 8 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 16 bytes +print-type-size type: `std::iter::Map)>, for<'a> fn(&'a (types::immutable_string::ImmutableString, std::rc::Rc)) -> (types::immutable_string::ImmutableString, std::rc::Rc) {<(types::immutable_string::ImmutableString, std::rc::Rc) as std::clone::Clone>::clone}>`: 16 bytes, alignment: 8 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 16 bytes +print-type-size type: `std::iter::Map, [closure@src\ast\expr.rs:494:41: 494:44]>`: 16 bytes, alignment: 8 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 16 bytes +print-type-size type: `std::iter::Map, [closure@src\eval\chaining.rs:387:53: 387:59]>`: 16 bytes, alignment: 8 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 16 bytes +print-type-size type: `std::iter::Map, [closure@src\optimizer.rs:1103:53: 1103:56]>`: 16 bytes, alignment: 8 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 16 bytes +print-type-size type: `std::iter::Map, fn(&ast::expr::Expr) -> api::custom_syntax::Expression<'_> {<&ast::expr::Expr as std::convert::Into>>::into}>`: 16 bytes, alignment: 8 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 16 bytes +print-type-size type: `std::iter::Map, for<'a> fn(&'a ast::expr::Expr) -> std::option::Option {ast::expr::Expr::get_literal_value}>`: 16 bytes, alignment: 8 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 16 bytes +print-type-size type: `std::iter::Map, [closure@src\parser.rs:3778:48: 3778:68]>`: 16 bytes, alignment: 8 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 16 bytes +print-type-size type: `std::iter::Map, for<'a> fn(&'a ast::ident::Ident) -> &'a str {ast::ident::Ident::as_str}>`: 16 bytes, alignment: 8 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 16 bytes +print-type-size type: `std::iter::Map>, [closure@src\module\mod.rs:122:22: 122:29]>`: 16 bytes, alignment: 8 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 16 bytes +print-type-size type: `std::iter::Map>, [closure@src\serde\metadata.rs:92:22: 92:25]>`: 16 bytes, alignment: 8 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 16 bytes +print-type-size type: `std::iter::Map>, [closure@std::str::join_generic_copy>::{closure#0}::{closure#0}]>`: 16 bytes, alignment: 8 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 16 bytes +print-type-size type: `std::iter::Map>, [closure@std::str::join_generic_copy>::{closure#1}]>`: 16 bytes, alignment: 8 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 16 bytes +print-type-size type: `std::iter::Map>, [closure@std::str::join_generic_copy>::{closure#0}::{closure#0}]>`: 16 bytes, alignment: 8 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 16 bytes +print-type-size type: `std::iter::Map>, [closure@std::str::join_generic_copy>::{closure#1}]>`: 16 bytes, alignment: 8 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 16 bytes +print-type-size type: `std::iter::Map>, for<'a> fn(&'a std::boxed::Box) -> &'a str { as std::convert::AsRef>::as_ref}>`: 16 bytes, alignment: 8 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 16 bytes +print-type-size type: `std::iter::Map>, [closure@src\eval\expr.rs:160:31: 160:34]>`: 16 bytes, alignment: 8 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 16 bytes +print-type-size type: `std::iter::Map>, [closure@src\packages\lang_core.rs:253:19: 253:22]>`: 16 bytes, alignment: 8 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 16 bytes +print-type-size type: `std::iter::Map>, for<'a> fn(&'a std::rc::Rc) -> &'a module::Module { as std::convert::AsRef>::as_ref}>`: 16 bytes, alignment: 8 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 16 bytes +print-type-size type: `std::iter::Map, [closure@std::str::join_generic_copy::{closure#0}::{closure#0}]>`: 16 bytes, alignment: 8 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 16 bytes +print-type-size type: `std::iter::Map, [closure@std::str::join_generic_copy::{closure#1}]>`: 16 bytes, alignment: 8 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 16 bytes +print-type-size type: `std::iter::Map, fn(&std::string::String) -> types::dynamic::Dynamic {<&std::string::String as std::convert::Into>::into}>`: 16 bytes, alignment: 8 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 16 bytes +print-type-size type: `std::iter::Map, for<'a> fn(&'a std::string::String) -> &'a str {std::string::String::as_str}>`: 16 bytes, alignment: 8 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 16 bytes +print-type-size type: `std::iter::Map, for<'a> fn(&'a types::dynamic::Dynamic) -> std::any::TypeId {types::dynamic::Dynamic::type_id}>`: 16 bytes, alignment: 8 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 16 bytes +print-type-size type: `std::iter::Map, [closure@src\ast\script_fn.rs:74:22: 74:25]>`: 16 bytes, alignment: 8 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 16 bytes +print-type-size type: `std::iter::Map, fn(&types::immutable_string::ImmutableString) -> smartstring::SmartString {<&types::immutable_string::ImmutableString as std::convert::Into>>::into}>`: 16 bytes, alignment: 8 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 16 bytes +print-type-size type: `std::iter::Map, for<'a> fn(&'a types::immutable_string::ImmutableString) -> std::string::String {::to_string}>`: 16 bytes, alignment: 8 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 16 bytes +print-type-size type: `std::iter::Map, [closure@src\packages\blob_basic.rs:104:25: 104:30]>`: 16 bytes, alignment: 8 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 16 bytes +print-type-size type: `std::iter::Map, [closure@src\func\script.rs:92:76: 92:79]>`: 16 bytes, alignment: 8 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 16 bytes +print-type-size type: `std::iter::Map, for<'a> fn(&'a mut ast::stmt::Stmt) -> ast::stmt::Stmt {std::mem::take::}>`: 16 bytes, alignment: 8 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 16 bytes +print-type-size type: `std::iter::Map, for<'a> fn(&'a mut types::dynamic::Dynamic) -> types::dynamic::Dynamic {std::mem::take::}>`: 16 bytes, alignment: 8 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 16 bytes +print-type-size type: `std::iter::Map, fn(char) -> types::dynamic::Dynamic {>::into}>`: 16 bytes, alignment: 8 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 16 bytes +print-type-size type: `std::iter::Once`: 16 bytes, alignment: 8 bytes +print-type-size field `.inner`: 16 bytes +print-type-size type: `std::iter::Repeat<&str>`: 16 bytes, alignment: 8 bytes +print-type-size field `.element`: 16 bytes +print-type-size type: `std::iter::Rev>`: 16 bytes, alignment: 8 bytes +print-type-size field `.iter`: 16 bytes +print-type-size type: `std::iter::Rev, types::dynamic::AccessMode, types::dynamic::Dynamic)>>`: 16 bytes, alignment: 8 bytes +print-type-size field `.iter`: 16 bytes +print-type-size type: `std::iter::Rev>`: 16 bytes, alignment: 8 bytes +print-type-size field `.iter`: 16 bytes +print-type-size type: `std::iter::Rev>`: 16 bytes, alignment: 8 bytes +print-type-size field `.iter`: 16 bytes +print-type-size type: `std::iter::Rev>>`: 16 bytes, alignment: 8 bytes +print-type-size field `.iter`: 16 bytes +print-type-size type: `std::iter::Rev>>`: 16 bytes, alignment: 8 bytes +print-type-size field `.iter`: 16 bytes +print-type-size type: `std::iter::Rev>`: 16 bytes, alignment: 8 bytes +print-type-size field `.iter`: 16 bytes +print-type-size type: `std::iter::Rev>`: 16 bytes, alignment: 8 bytes +print-type-size field `.iter`: 16 bytes +print-type-size type: `std::iter::Rev>`: 16 bytes, alignment: 8 bytes +print-type-size field `.iter`: 16 bytes +print-type-size type: `std::mem::ManuallyDrop<&str>`: 16 bytes, alignment: 8 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::ManuallyDrop<(types::immutable_string::ImmutableString, std::rc::Rc)>`: 16 bytes, alignment: 8 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::ManuallyDrop<(types::immutable_string::ImmutableString, tokenizer::Position)>`: 16 bytes, alignment: 8 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::ManuallyDrop<(u64, std::rc::Rc)>`: 16 bytes, alignment: 8 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::ManuallyDrop<(u64, types::immutable_string::ImmutableString)>`: 16 bytes, alignment: 8 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::ManuallyDrop<(u64, u64)>`: 16 bytes, alignment: 8 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::ManuallyDrop<::to_vec::DropGuard<'_, eval::debugger::BreakPoint, std::alloc::Global>>`: 16 bytes, alignment: 8 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::ManuallyDrop<::to_vec::DropGuard<'_, eval::debugger::CallStackFrame, std::alloc::Global>>`: 16 bytes, alignment: 8 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::ManuallyDrop<::to_vec::DropGuard<'_, std::boxed::Box, std::alloc::Global>>`: 16 bytes, alignment: 8 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::ManuallyDrop<::to_vec::DropGuard<'_, types::dynamic::Dynamic, std::alloc::Global>>`: 16 bytes, alignment: 8 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::ManuallyDrop>`: 16 bytes, alignment: 8 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::ManuallyDrop`: 16 bytes, alignment: 8 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::ManuallyDrop`: 16 bytes, alignment: 8 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::ManuallyDrop`: 16 bytes, alignment: 8 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::ManuallyDrop`: 16 bytes, alignment: 8 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::ManuallyDrop`: 16 bytes, alignment: 8 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::ManuallyDrop), [closure@hashbrown::raw::RawTable<(u64, func::callable_function::CallableFunction)>::clone_from_impl::{closure#0}]>>`: 16 bytes, alignment: 8 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::ManuallyDrop), [closure@hashbrown::raw::RawTable<(u64, module::FuncInfo)>::clone_from_impl::{closure#0}]>>`: 16 bytes, alignment: 8 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::ManuallyDrop), [closure@hashbrown::raw::RawTable<(u64, types::dynamic::Dynamic)>::clone_from_impl::{closure#0}]>>`: 16 bytes, alignment: 8 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::ManuallyDrop`: 16 bytes, alignment: 8 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::ManuallyDrop`: 16 bytes, alignment: 8 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::ManuallyDrop>`: 16 bytes, alignment: 8 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::ManuallyDrop>`: 16 bytes, alignment: 8 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::ManuallyDrop>`: 16 bytes, alignment: 8 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::ManuallyDrop>`: 16 bytes, alignment: 8 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::ManuallyDrop`: 16 bytes, alignment: 4 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::ManuallyDrop, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 16 bytes, alignment: 8 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::ManuallyDrop, smallvec::alloc::collections::btree::set_val::SetValZST, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 16 bytes, alignment: 8 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::ManuallyDrop, std::option::Option, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 16 bytes, alignment: 8 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::ManuallyDrop, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 16 bytes, alignment: 8 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::ManuallyDrop, types::custom_types::CustomTypeInfo, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 16 bytes, alignment: 8 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::ManuallyDrop, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 16 bytes, alignment: 8 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::ManuallyDrop std::boxed::Box>>>>, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 16 bytes, alignment: 8 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::ManuallyDrop>`: 16 bytes, alignment: 8 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::ManuallyDrop, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 16 bytes, alignment: 8 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::ManuallyDrop, &str, serde::metadata::ModuleMetadata<'_>, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 16 bytes, alignment: 8 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::ManuallyDrop, smartstring::SmartString, api::custom_syntax::CustomSyntax, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 16 bytes, alignment: 8 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::ManuallyDrop, smartstring::SmartString, smallvec::alloc::collections::btree::set_val::SetValZST, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 16 bytes, alignment: 8 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::ManuallyDrop, smartstring::SmartString, std::option::Option, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 16 bytes, alignment: 8 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::ManuallyDrop, smartstring::SmartString, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 16 bytes, alignment: 8 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::ManuallyDrop, smartstring::SmartString, types::custom_types::CustomTypeInfo, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 16 bytes, alignment: 8 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::ManuallyDrop, smartstring::SmartString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 16 bytes, alignment: 8 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::ManuallyDrop, std::any::TypeId, std::rc::Rc std::boxed::Box>>>>, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 16 bytes, alignment: 8 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::ManuallyDrop, std::path::PathBuf, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 16 bytes, alignment: 8 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::ManuallyDrop, types::immutable_string::ImmutableString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 16 bytes, alignment: 8 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::ManuallyDrop, u64, smallvec::SmallVec<[usize; 1]>, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 16 bytes, alignment: 8 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::ManuallyDrop, smartstring::SmartString, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 16 bytes, alignment: 8 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::ManuallyDrop, smartstring::SmartString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 16 bytes, alignment: 8 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::ManuallyDrop, u64, smallvec::SmallVec<[usize; 1]>, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 16 bytes, alignment: 8 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::ManuallyDrop, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 16 bytes, alignment: 8 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::ManuallyDrop, smallvec::alloc::collections::btree::set_val::SetValZST, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 16 bytes, alignment: 8 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::ManuallyDrop, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 16 bytes, alignment: 8 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::ManuallyDrop, types::custom_types::CustomTypeInfo, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 16 bytes, alignment: 8 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::ManuallyDrop, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 16 bytes, alignment: 8 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::ManuallyDrop std::boxed::Box>>>>, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 16 bytes, alignment: 8 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::ManuallyDrop, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 16 bytes, alignment: 8 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::ManuallyDrop>`: 16 bytes, alignment: 8 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::ManuallyDrop, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 16 bytes, alignment: 8 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::ManuallyDrop, smartstring::SmartString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 16 bytes, alignment: 8 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::ManuallyDrop)>>`: 16 bytes, alignment: 8 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::ManuallyDrop>`: 16 bytes, alignment: 8 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 16 bytes, alignment: 8 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::ManuallyDrop>`: 16 bytes, alignment: 8 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::ManuallyDrop>`: 16 bytes, alignment: 8 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::ManuallyDrop)>]>>`: 16 bytes, alignment: 8 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::ManuallyDrop]>>`: 16 bytes, alignment: 8 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::ManuallyDrop>]>>`: 16 bytes, alignment: 8 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::ManuallyDrop>`: 16 bytes, alignment: 8 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::ManuallyDrop>`: 16 bytes, alignment: 8 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::ManuallyDrop>`: 16 bytes, alignment: 8 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::ManuallyDrop>`: 16 bytes, alignment: 8 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::ManuallyDrop>`: 16 bytes, alignment: 8 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::ManuallyDrop>`: 16 bytes, alignment: 8 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::ManuallyDrop>`: 16 bytes, alignment: 8 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::ManuallyDrop>`: 16 bytes, alignment: 8 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::ManuallyDrop>`: 16 bytes, alignment: 8 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::ManuallyDrop>`: 16 bytes, alignment: 8 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::ManuallyDrop>`: 16 bytes, alignment: 8 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::ManuallyDrop>`: 16 bytes, alignment: 8 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::ManuallyDrop>`: 16 bytes, alignment: 8 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::ManuallyDrop>`: 16 bytes, alignment: 8 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::ManuallyDrop>`: 16 bytes, alignment: 8 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::ManuallyDrop>`: 16 bytes, alignment: 8 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::ManuallyDrop>`: 16 bytes, alignment: 8 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::ManuallyDrop>`: 16 bytes, alignment: 8 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::ManuallyDrop>`: 16 bytes, alignment: 8 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::ManuallyDrop>`: 16 bytes, alignment: 8 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::ManuallyDrop>`: 16 bytes, alignment: 8 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::ManuallyDrop>`: 16 bytes, alignment: 8 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::ManuallyDrop>`: 16 bytes, alignment: 8 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::ManuallyDrop>`: 16 bytes, alignment: 8 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::ManuallyDrop>`: 16 bytes, alignment: 8 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::ManuallyDrop>`: 16 bytes, alignment: 8 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::ManuallyDrop>`: 16 bytes, alignment: 8 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::ManuallyDrop>`: 16 bytes, alignment: 8 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::ManuallyDrop>`: 16 bytes, alignment: 8 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::ManuallyDrop>`: 16 bytes, alignment: 8 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::ManuallyDrop>`: 16 bytes, alignment: 8 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::ManuallyDrop, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>>`: 16 bytes, alignment: 8 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::ManuallyDrop, smallvec::alloc::collections::btree::set_val::SetValZST, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>>`: 16 bytes, alignment: 8 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::ManuallyDrop, std::option::Option, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>>`: 16 bytes, alignment: 8 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::ManuallyDrop, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>>`: 16 bytes, alignment: 8 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::ManuallyDrop, types::custom_types::CustomTypeInfo, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>>`: 16 bytes, alignment: 8 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::ManuallyDrop, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>>`: 16 bytes, alignment: 8 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::ManuallyDrop std::boxed::Box>>>>, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>>`: 16 bytes, alignment: 8 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 16 bytes, alignment: 8 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::ManuallyDrop, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>>`: 16 bytes, alignment: 8 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::ManuallyDrop std::boxed::Box>>>>>`: 16 bytes, alignment: 8 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::ManuallyDrop>`: 16 bytes, alignment: 8 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::ManuallyDrop>`: 16 bytes, alignment: 8 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::ManuallyDrop`: 16 bytes, alignment: 8 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::ManuallyDrop`: 16 bytes, alignment: 8 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::ManuallyDrop>`: 16 bytes, alignment: 8 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::ManuallyDrop`: 16 bytes, alignment: 8 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::ManuallyDrop`: 16 bytes, alignment: 8 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::MaybeUninit<&str>`: 16 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 16 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::MaybeUninit<(types::immutable_string::ImmutableString, std::rc::Rc)>`: 16 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 16 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::MaybeUninit<(types::immutable_string::ImmutableString, tokenizer::Position)>`: 16 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 16 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::MaybeUninit<(u64, std::rc::Rc)>`: 16 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 16 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::MaybeUninit<(u64, types::immutable_string::ImmutableString)>`: 16 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 16 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::MaybeUninit<(u64, u64)>`: 16 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 16 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::MaybeUninit>`: 16 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 16 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::MaybeUninit`: 16 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 16 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::MaybeUninit`: 16 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 16 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::MaybeUninit`: 16 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 16 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::MaybeUninit`: 16 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 16 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::MaybeUninit`: 16 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 16 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::MaybeUninit`: 16 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 16 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::MaybeUninit>`: 16 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 16 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::MaybeUninit>`: 16 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 16 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::MaybeUninit>`: 16 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 16 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::MaybeUninit>`: 16 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 16 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::MaybeUninit`: 16 bytes, alignment: 4 bytes +print-type-size variant `MaybeUninit`: 16 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::MaybeUninit, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 16 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 16 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::MaybeUninit, smallvec::alloc::collections::btree::set_val::SetValZST, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 16 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 16 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::MaybeUninit, std::option::Option, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 16 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 16 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::MaybeUninit, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 16 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 16 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::MaybeUninit, types::custom_types::CustomTypeInfo, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 16 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 16 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::MaybeUninit, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 16 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 16 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::MaybeUninit std::boxed::Box>>>>, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 16 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 16 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::MaybeUninit>`: 16 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 16 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::MaybeUninit, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 16 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 16 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::MaybeUninit, &str, serde::metadata::ModuleMetadata<'_>, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 16 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 16 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::MaybeUninit, smartstring::SmartString, api::custom_syntax::CustomSyntax, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 16 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 16 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::MaybeUninit, smartstring::SmartString, smallvec::alloc::collections::btree::set_val::SetValZST, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 16 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 16 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::MaybeUninit, smartstring::SmartString, std::option::Option, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 16 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 16 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::MaybeUninit, smartstring::SmartString, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 16 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 16 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::MaybeUninit, smartstring::SmartString, types::custom_types::CustomTypeInfo, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 16 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 16 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::MaybeUninit, smartstring::SmartString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 16 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 16 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::MaybeUninit, std::any::TypeId, std::rc::Rc std::boxed::Box>>>>, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 16 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 16 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::MaybeUninit, std::path::PathBuf, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 16 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 16 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::MaybeUninit, types::immutable_string::ImmutableString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 16 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 16 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::MaybeUninit, u64, smallvec::SmallVec<[usize; 1]>, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 16 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 16 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::MaybeUninit, smartstring::SmartString, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 16 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 16 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::MaybeUninit, smartstring::SmartString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 16 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 16 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::MaybeUninit, u64, smallvec::SmallVec<[usize; 1]>, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 16 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 16 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::MaybeUninit, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 16 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 16 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::MaybeUninit, smallvec::alloc::collections::btree::set_val::SetValZST, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 16 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 16 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::MaybeUninit, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 16 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 16 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::MaybeUninit, types::custom_types::CustomTypeInfo, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 16 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 16 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::MaybeUninit, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 16 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 16 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::MaybeUninit std::boxed::Box>>>>, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 16 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 16 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::MaybeUninit, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 16 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 16 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::MaybeUninit>`: 16 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 16 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::MaybeUninit, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 16 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 16 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::MaybeUninit, smartstring::SmartString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 16 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 16 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::MaybeUninit)>>`: 16 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 16 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::MaybeUninit>`: 16 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 16 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::MaybeUninit>>`: 16 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 16 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::MaybeUninit>`: 16 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 16 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::MaybeUninit>`: 16 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 16 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::MaybeUninit>`: 16 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 16 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::MaybeUninit>`: 16 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 16 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::MaybeUninit>`: 16 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 16 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::MaybeUninit>`: 16 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 16 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::MaybeUninit>`: 16 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 16 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::MaybeUninit>`: 16 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 16 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::MaybeUninit>`: 16 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 16 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::MaybeUninit>`: 16 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 16 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::MaybeUninit>`: 16 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 16 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::MaybeUninit>`: 16 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 16 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::MaybeUninit>`: 16 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 16 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::MaybeUninit>`: 16 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 16 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::MaybeUninit>`: 16 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 16 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::MaybeUninit>`: 16 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 16 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::MaybeUninit>`: 16 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 16 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::MaybeUninit>`: 16 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 16 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::MaybeUninit>`: 16 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 16 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::MaybeUninit>`: 16 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 16 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::MaybeUninit>`: 16 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 16 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::MaybeUninit>`: 16 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 16 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::MaybeUninit>`: 16 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 16 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::MaybeUninit>`: 16 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 16 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::MaybeUninit>`: 16 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 16 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::MaybeUninit>`: 16 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 16 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::MaybeUninit>`: 16 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 16 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::MaybeUninit>`: 16 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 16 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::MaybeUninit>`: 16 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 16 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::MaybeUninit, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>>`: 16 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 16 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::MaybeUninit, smallvec::alloc::collections::btree::set_val::SetValZST, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>>`: 16 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 16 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::MaybeUninit, std::option::Option, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>>`: 16 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 16 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::MaybeUninit, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>>`: 16 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 16 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::MaybeUninit, types::custom_types::CustomTypeInfo, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>>`: 16 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 16 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::MaybeUninit, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>>`: 16 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 16 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::MaybeUninit std::boxed::Box>>>>, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>>`: 16 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 16 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::MaybeUninit>>`: 16 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 16 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::MaybeUninit, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>>`: 16 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 16 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::MaybeUninit std::boxed::Box>>>>>`: 16 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 16 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::MaybeUninit>`: 16 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 16 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::MaybeUninit>`: 16 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 16 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::MaybeUninit`: 16 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 16 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::MaybeUninit`: 16 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 16 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::MaybeUninit`: 16 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 16 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::mem::MaybeUninit`: 16 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 16 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 16 bytes +print-type-size type: `std::ops::ControlFlow<&dyn std::ops::Fn(types::dynamic::Dynamic) -> std::boxed::Box>>>, std::convert::Infallible>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Break`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::ops::ControlFlow<&dyn std::ops::Fn(types::dynamic::Dynamic) -> std::boxed::Box>>>>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Break`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `Continue`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::ops::ControlFlow<&str, std::convert::Infallible>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Break`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::ops::ControlFlow<&str>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Break`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `Continue`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::ops::ControlFlow<(&func::callable_function::CallableFunction, std::option::Option<&types::immutable_string::ImmutableString>), std::convert::Infallible>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Break`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::ops::ControlFlow<(&func::callable_function::CallableFunction, std::option::Option<&types::immutable_string::ImmutableString>)>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Break`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `Continue`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::ops::ControlFlow<(usize, &&mut types::dynamic::Dynamic), std::convert::Infallible>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Break`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::ops::ControlFlow<(usize, &&mut types::dynamic::Dynamic)>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Break`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `Continue`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::ops::ControlFlow<(usize, &eval::debugger::BreakPoint), std::convert::Infallible>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Break`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::ops::ControlFlow<(usize, &eval::debugger::BreakPoint)>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Break`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `Continue`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::ops::ControlFlow<(usize, &types::immutable_string::ImmutableString), std::convert::Infallible>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Break`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::ops::ControlFlow<(usize, &types::immutable_string::ImmutableString)>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Break`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `Continue`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::ops::ControlFlow std::boxed::Box>>>, std::convert::Infallible>>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Break`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `Continue`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::ops::ControlFlow>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Break`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `Continue`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::ops::ControlFlow), std::convert::Infallible>>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Break`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `Continue`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::ops::ControlFlow>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Break`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `Continue`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::ops::ControlFlow>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Break`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `Continue`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::ops::ControlFlow>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Break`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `Continue`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::ops::ControlFlow, std::convert::Infallible>>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Break`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `Continue`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::ops::ControlFlow>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Break`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `Continue`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::ops::ControlFlow, std::convert::Infallible>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Break`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::ops::ControlFlow>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Break`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `Continue`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::ops::ControlFlow, usize>`: 16 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Continue`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Break`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::ops::ControlFlow>`: 16 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Break`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Continue`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::ops::ControlFlow, f64>`: 16 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Continue`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Break`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::ops::ControlFlow, i64>`: 16 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Continue`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Break`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::ops::ControlFlow, std::any::TypeId>`: 16 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Continue`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Break`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::ops::ControlFlow, std::result::Result>>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Continue`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `Break`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::ops::ControlFlow, types::dynamic::Dynamic>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Continue`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `Break`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::ops::ControlFlow, u64>`: 16 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Continue`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Break`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::ops::ControlFlow, usize>`: 16 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Continue`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Break`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::ops::ControlFlow, std::vec::in_place_drop::InPlaceDrop>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Continue`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::ops::ControlFlow, usize>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Break`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `Continue`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::ops::ControlFlow, serde_json::ser::Compound<'_, &mut std::vec::Vec, serde_json::ser::CompactFormatter>>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Continue`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `Break`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::ops::ControlFlow, serde_json::ser::Compound<'_, &mut std::vec::Vec, serde_json::ser::PrettyFormatter<'_>>>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Continue`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `Break`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::ops::ControlFlow, std::option::Option>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Continue`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `Break`: 16 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size type: `std::ops::ControlFlow, std::ptr::NonNull>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Break`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `Continue`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::ops::ControlFlow, usize>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Break`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `Continue`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::ops::ControlFlow, std::ptr::NonNull<[u8]>>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Continue`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `Break`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::ops::ControlFlow>, &api::custom_syntax::CustomSyntax>`: 16 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Continue`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Break`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::ops::ControlFlow>, &types::dynamic::Dynamic>`: 16 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Continue`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Break`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::ops::ControlFlow>, bool>`: 16 bytes, alignment: 8 bytes +print-type-size discriminant: 1 bytes +print-type-size variant `Break`: 15 bytes +print-type-size padding: 7 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `Continue`: 1 bytes +print-type-size field `.0`: 1 bytes +print-type-size type: `std::ops::ControlFlow>, char>`: 16 bytes, alignment: 8 bytes +print-type-size discriminant: 4 bytes +print-type-size variant `Break`: 12 bytes +print-type-size padding: 4 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `Continue`: 4 bytes +print-type-size field `.0`: 4 bytes +print-type-size type: `std::ops::ControlFlow>, eval::debugger::DebuggerCommand>`: 16 bytes, alignment: 8 bytes +print-type-size discriminant: 1 bytes +print-type-size variant `Break`: 15 bytes +print-type-size padding: 7 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `Continue`: 1 bytes +print-type-size field `.0`: 1 bytes +print-type-size type: `std::ops::ControlFlow>, i64>`: 16 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Continue`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Break`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::ops::ControlFlow>, std::option::Option>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Continue`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `Break`: 16 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size type: `std::ops::ControlFlow>, std::rc::Rc>`: 16 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Continue`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Break`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::ops::ControlFlow>, std::time::Instant>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Continue`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `Break`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::ops::ControlFlow>, types::dynamic::Dynamic>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Continue`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `Break`: 16 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size type: `std::ops::ControlFlow>, types::immutable_string::ImmutableString>`: 16 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Continue`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Break`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::ops::ControlFlow>, usize>`: 16 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Continue`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Break`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::ops::ControlFlow, usize>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Break`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `Continue`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::ops::ControlFlow, std::option::Option>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Break`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `Continue`: 9 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 1 bytes, alignment: 1 bytes +print-type-size type: `std::ops::ControlFlow>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Break`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `Continue`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::ops::ControlFlow, &str>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Continue`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `Break`: 16 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size type: `std::ops::ControlFlow, char>`: 16 bytes, alignment: 8 bytes +print-type-size discriminant: 4 bytes +print-type-size variant `Break`: 12 bytes +print-type-size padding: 4 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `Continue`: 4 bytes +print-type-size field `.0`: 4 bytes +print-type-size type: `std::ops::ControlFlow, i64>`: 16 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Continue`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Break`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::ops::ControlFlow, std::result::Result>>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Continue`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `Break`: 16 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size type: `std::ops::ControlFlow, types::dynamic::Dynamic>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Continue`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `Break`: 16 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size type: `std::ops::ControlFlow`: 16 bytes, alignment: 8 bytes +print-type-size variant `Break`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::ops::ControlFlow`: 16 bytes, alignment: 8 bytes +print-type-size variant `Break`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `Continue`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::ops::ControlFlow`: 16 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Continue`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Break`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::ops::ControlFlow`: 16 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Break`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Continue`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::ops::Range<*mut &module::FuncInfo>`: 16 bytes, alignment: 8 bytes +print-type-size field `.start`: 8 bytes +print-type-size field `.end`: 8 bytes +print-type-size type: `std::ops::Range<*mut (&str, &std::rc::Rc)>`: 16 bytes, alignment: 8 bytes +print-type-size field `.start`: 8 bytes +print-type-size field `.end`: 8 bytes +print-type-size type: `std::ops::Range<*mut (&str, &types::dynamic::Dynamic)>`: 16 bytes, alignment: 8 bytes +print-type-size field `.start`: 8 bytes +print-type-size field `.end`: 8 bytes +print-type-size type: `std::ops::Range<*mut (&str, serde::metadata::ModuleMetadata<'_>)>`: 16 bytes, alignment: 8 bytes +print-type-size field `.start`: 8 bytes +print-type-size field `.end`: 8 bytes +print-type-size type: `std::ops::Range<*mut serde::metadata::FnMetadata<'_>>`: 16 bytes, alignment: 8 bytes +print-type-size field `.start`: 8 bytes +print-type-size field `.end`: 8 bytes +print-type-size type: `std::ops::Range<*mut types::dynamic::Dynamic>`: 16 bytes, alignment: 8 bytes +print-type-size field `.start`: 8 bytes +print-type-size field `.end`: 8 bytes +print-type-size type: `std::ops::Range<*mut u8>`: 16 bytes, alignment: 8 bytes +print-type-size field `.start`: 8 bytes +print-type-size field `.end`: 8 bytes +print-type-size type: `std::ops::Range`: 16 bytes, alignment: 8 bytes +print-type-size field `.start`: 8 bytes +print-type-size field `.end`: 8 bytes +print-type-size type: `std::ops::Range`: 16 bytes, alignment: 8 bytes +print-type-size field `.start`: 8 bytes +print-type-size field `.end`: 8 bytes +print-type-size type: `std::ops::Range`: 16 bytes, alignment: 8 bytes +print-type-size field `.start`: 8 bytes +print-type-size field `.end`: 8 bytes +print-type-size type: `std::ops::Range`: 16 bytes, alignment: 8 bytes +print-type-size field `.start`: 8 bytes +print-type-size field `.end`: 8 bytes +print-type-size type: `std::ops::index_range::IndexRange`: 16 bytes, alignment: 8 bytes +print-type-size field `.start`: 8 bytes +print-type-size field `.end`: 8 bytes +print-type-size type: `std::option::IntoIter<&str>`: 16 bytes, alignment: 8 bytes +print-type-size field `.inner`: 16 bytes +print-type-size type: `std::option::IntoIter`: 16 bytes, alignment: 8 bytes +print-type-size field `.inner`: 16 bytes +print-type-size type: `std::option::Item<&str>`: 16 bytes, alignment: 8 bytes +print-type-size field `.opt`: 16 bytes +print-type-size type: `std::option::Item`: 16 bytes, alignment: 8 bytes +print-type-size field `.opt`: 16 bytes +print-type-size type: `std::option::Option<&[&mut types::dynamic::Dynamic]>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&[&str]>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&[std::fmt::rt::v1::Argument]>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&[std::mem::MaybeUninit]>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&dyn for<'a> std::ops::Fn(tokenizer::Token, tokenizer::Position, &'a tokenizer::TokenizeState) -> tokenizer::Token>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&dyn std::error::Error>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&dyn std::ops::Fn(types::dynamic::Dynamic) -> std::boxed::Box>>>>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&mut [&mut types::dynamic::Dynamic]>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&std::path::Path>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&str>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<(&&str, &serde::metadata::ModuleMetadata<'_>)>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<(&ast::ident::Ident, &ast::expr::Expr)>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<(&func::callable_function::CallableFunction, std::option::Option<&types::immutable_string::ImmutableString>)>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<(&mut types::dynamic::Dynamic, &mut types::dynamic::Dynamic)>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<(&smartstring::SmartString, &api::custom_syntax::CustomSyntax)>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<(&smartstring::SmartString, &mut types::dynamic::Dynamic)>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<(&smartstring::SmartString, &smallvec::alloc::collections::btree::set_val::SetValZST)>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<(&smartstring::SmartString, &std::option::Option)>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<(&smartstring::SmartString, &std::rc::Rc)>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<(&smartstring::SmartString, &types::custom_types::CustomTypeInfo)>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<(&smartstring::SmartString, &types::dynamic::Dynamic)>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<(&std::any::TypeId, &std::rc::Rc std::boxed::Box>>>>)>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<(&std::path::PathBuf, &std::rc::Rc)>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<(&types::immutable_string::ImmutableString, &std::rc::Rc)>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<(&types::immutable_string::ImmutableString, &types::dynamic::Dynamic)>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<(&u64, &module::FuncInfo)>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<(&u64, &smallvec::SmallVec<[usize; 1]>)>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<(&u64, &std::option::Option)>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<(&u64, &std::rc::Rc)>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<(&u64, &types::immutable_string::ImmutableString)>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<(types::immutable_string::ImmutableString, std::rc::Rc)>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<(types::immutable_string::ImmutableString, tokenizer::Position)>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<(u64, std::rc::Rc)>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<(u64, types::immutable_string::ImmutableString)>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<(usize, &&mut types::dynamic::Dynamic)>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<(usize, &&str)>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<(usize, &eval::debugger::BreakPoint)>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<(usize, &eval::debugger::CallStackFrame)>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<(usize, &mut types::dynamic::Dynamic)>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<(usize, &smartstring::SmartString)>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<(usize, &std::any::TypeId)>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<(usize, &std::boxed::Box)>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<(usize, &std::path::PathBuf)>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<(usize, &types::dynamic::Dynamic)>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<(usize, &types::immutable_string::ImmutableString)>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<(usize, &u64)>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<(usize, char)>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<(usize, types::dynamic::AccessMode)>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<[closure@src\api\call_fn.rs:244:75: 244:83]>`: 16 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<[closure@src\eval\chaining.rs:102:56: 102:64]>`: 16 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<[closure@src\eval\chaining.rs:1031:41: 1031:49]>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<[closure@src\eval\chaining.rs:1041:79: 1041:87]>`: 16 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<[closure@src\eval\chaining.rs:700:83: 700:91]>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<[closure@src\eval\chaining.rs:711:67: 711:75]>`: 16 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<[closure@src\eval\chaining.rs:73:56: 73:64]>`: 16 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<[closure@src\eval\chaining.rs:893:37: 893:45]>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<[closure@src\eval\chaining.rs:902:88: 902:96]>`: 16 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<[closure@src\eval\expr.rs:236:85: 236:93]>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<[closure@src\eval\expr.rs:270:81: 270:89]>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<[closure@src\eval\stmt.rs:140:64: 140:72]>`: 16 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<[closure@src\eval\stmt.rs:198:76: 198:84]>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<[closure@src\eval\stmt.rs:33:77: 33:85]>`: 16 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<[closure@src\eval\stmt.rs:46:79: 46:87]>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<[closure@src\eval\stmt.rs:515:62: 515:70]>`: 16 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<[closure@src\eval\stmt.rs:59:56: 59:64]>`: 16 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<[closure@src\eval\stmt.rs:650:88: 650:96]>`: 16 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<[closure@src\func\call.rs:1383:56: 1383:64]>`: 16 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<[closure@src\func\call.rs:1393:64: 1393:72]>`: 16 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<[closure@src\func\call.rs:1520:60: 1520:68]>`: 16 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<[closure@src\func\call.rs:583:56: 583:64]>`: 16 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<[closure@src\func\call.rs:670:64: 670:72]>`: 16 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<[closure@src\func\call.rs:738:76: 738:84]>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option`: 16 bytes, alignment: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option`: 16 bytes, alignment: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option`: 16 bytes, alignment: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option`: 16 bytes, alignment: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option`: 16 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option`: 16 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, smartstring::SmartString, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::Internal>>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, smartstring::SmartString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::Internal>>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, u64, smallvec::SmallVec<[usize; 1]>, smallvec::alloc::collections::btree::node::marker::Internal>>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, api::custom_syntax::CustomSyntax, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, smallvec::alloc::collections::btree::set_val::SetValZST, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, std::option::Option, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, types::custom_types::CustomTypeInfo, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option std::boxed::Box>>>>, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option`: 16 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option std::ops::Fn(&'a str, usize, eval::eval_context::EvalContext<'b, 'c, 'd, 'e, 'f, 'g>) -> std::result::Result, std::boxed::Box>>>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option std::ops::Fn(bool, api::events::VarDefInfo<'a>, eval::eval_context::EvalContext<'b, 'c, 'd, 'e, 'f, 'g>) -> std::result::Result>>>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option std::ops::Fn(tokenizer::Token, tokenizer::Position, &'a tokenizer::TokenizeState) -> tokenizer::Token>>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option std::option::Option>>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>>`: 16 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>, for<'a> fn(&'a std::rc::Rc) -> &'a module::Module { as std::convert::AsRef>::as_ref}>, for<'a> fn(&'a module::Module) -> impl std::iter::Iterator)> + 'a {module::Module::iter_script_fn}>>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>>, [closure@src\optimizer.rs:1287:72: 1287:75]>>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, [closure@src\module\mod.rs:1029:27: 1029:31]>>`: 16 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>>, [closure@src\parser.rs:1472:31: 1472:34]>>`: 16 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>>, [closure@src\parser.rs:200:31: 200:34]>>`: 16 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option; 3]>>>, [closure@src\eval\global_state.rs:201:47: 201:50]>>`: 16 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option; 3]>>>, [closure@src\eval\global_state.rs:216:47: 216:50]>>`: 16 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option; 3]>>>, [closure@src\eval\global_state.rs:229:47: 229:50]>>`: 16 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>>, [closure@src\eval\global_state.rs:199:23: 199:26]>>`: 16 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>>, [closure@src\eval\global_state.rs:214:23: 214:26]>>`: 16 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>>, [closure@src\eval\global_state.rs:228:23: 228:26]>>`: 16 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>>, [closure@src\parser.rs:1436:63: 1436:66]>>`: 16 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>>, [closure@src\parser.rs:1887:39: 1887:42]>>`: 16 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>>, [closure@src\parser.rs:238:23: 238:26]>>`: 16 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>>, [closure@src\parser.rs:3315:71: 3315:74]>>`: 16 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>>, [closure@src\parser.rs:606:39: 606:42]>>`: 16 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>>, [closure@src\parser.rs:681:43: 681:46]>>`: 16 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, api::custom_syntax::CustomSyntax>>>, [closure@src\engine.rs:177:27: 177:30]>>`: 16 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, std::rc::Rc>>>, [closure@src\api\definitions\mod.rs:372:23: 372:26]>>`: 16 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, std::rc::Rc>>>, [closure@src\api\register.rs:746:66: 746:69]>>`: 16 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, std::rc::Rc>>>, [closure@src\api\type_names.rs:208:31: 208:34]>>`: 16 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, std::rc::Rc>>>, [closure@src\api\type_names.rs:242:31: 242:34]>>`: 16 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, std::rc::Rc>>>, [closure@src\eval\stmt.rs:507:35: 507:38]>>`: 16 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, std::rc::Rc>>>, [closure@src\func\call.rs:216:43: 216:46]>>`: 16 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, std::rc::Rc>>>, [closure@src\func\call.rs:257:43: 257:46]>>`: 16 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, std::rc::Rc>>>, [closure@src\func\script.rs:239:56: 239:59]>>`: 16 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, std::rc::Rc>>>, [closure@src\module\mod.rs:1912:23: 1912:26]>>`: 16 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, std::rc::Rc>>>, [closure@src\module\mod.rs:235:31: 235:34]>>`: 16 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, std::rc::Rc>>>, [closure@src\optimizer.rs:1251:23: 1251:26]>>`: 16 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, std::rc::Rc>>>, [closure@src\packages\lang_core.rs:271:19: 271:22]>>`: 16 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, std::rc::Rc>>>, [closure@src\serde\metadata.rs:174:64: 174:67]>>`: 16 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, types::dynamic::Dynamic>>>, [closure@src\module\mod.rs:1920:23: 1920:26]>>`: 16 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>>, [closure@src\parser.rs:146:27: 146:30]>>`: 16 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>, [closure@src\module\mod.rs:1927:40: 1927:43]>>`: 16 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>, [closure@src\module\mod.rs:2238:64: 2238:67]>>`: 16 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>, [closure@src\eval\expr.rs:160:31: 160:34]>>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>, [closure@src\packages\lang_core.rs:253:19: 253:22]>>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, for<'a> fn(&'a mut ast::stmt::Stmt) -> ast::stmt::Stmt {std::mem::take::}>>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, for<'a> fn(&'a mut types::dynamic::Dynamic) -> types::dynamic::Dynamic {std::mem::take::}>>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>>>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>`: 16 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>>>>`: 16 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option std::boxed::Box>>>>>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, std::boxed::Box>>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option`: 16 bytes, alignment: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option`: 16 bytes, alignment: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option`: 16 bytes, alignment: 8 bytes +print-type-size variant `Some`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option`: 16 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option`: 16 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::ptr::NonNull<[&str]>`: 16 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 16 bytes +print-type-size type: `std::ptr::NonNull<[(std::string::String, std::string::String)]>`: 16 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 16 bytes +print-type-size type: `std::ptr::NonNull<[(types::immutable_string::ImmutableString, std::rc::Rc)]>`: 16 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 16 bytes +print-type-size type: `std::ptr::NonNull<[ast::stmt::Stmt]>`: 16 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 16 bytes +print-type-size type: `std::ptr::NonNull<[std::any::TypeId]>`: 16 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 16 bytes +print-type-size type: `std::ptr::NonNull<[std::boxed::Box]>`: 16 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 16 bytes +print-type-size type: `std::ptr::NonNull<[std::mem::MaybeUninit<(types::immutable_string::ImmutableString, std::rc::Rc)>]>`: 16 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 16 bytes +print-type-size type: `std::ptr::NonNull<[std::mem::MaybeUninit]>`: 16 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 16 bytes +print-type-size type: `std::ptr::NonNull<[std::mem::MaybeUninit>]>`: 16 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 16 bytes +print-type-size type: `std::ptr::NonNull<[std::mem::MaybeUninit]>`: 16 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 16 bytes +print-type-size type: `std::ptr::NonNull<[types::dynamic::Dynamic]>`: 16 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 16 bytes +print-type-size type: `std::ptr::NonNull<[u8]>`: 16 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 16 bytes +print-type-size type: `std::ptr::NonNull std::ops::Fn(&'a mut eval::eval_context::EvalContext<'b, 'c, 'd, 'e, 'f, 'g>, &'h [api::custom_syntax::Expression<'i>], &'j types::dynamic::Dynamic) -> std::result::Result>>`: 16 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 16 bytes +print-type-size type: `std::ptr::NonNull std::ops::Fn(eval::eval_context::EvalContext<'a, 'b, 'c, 'd, 'e, 'f>, eval::debugger::DebuggerEvent<'g>, ast::ast::ASTNode<'h>, std::option::Option<&'i str>, tokenizer::Position) -> std::result::Result>>`: 16 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 16 bytes +print-type-size type: `std::ptr::NonNull std::ops::Fn(&'a str, usize, eval::eval_context::EvalContext<'b, 'c, 'd, 'e, 'f, 'g>) -> std::result::Result, std::boxed::Box>>`: 16 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 16 bytes +print-type-size type: `std::ptr::NonNull std::ops::Fn(bool, api::events::VarDefInfo<'a>, eval::eval_context::EvalContext<'b, 'c, 'd, 'e, 'f, 'g>) -> std::result::Result>>`: 16 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 16 bytes +print-type-size type: `std::ptr::NonNull std::ops::Fn(&'a [types::immutable_string::ImmutableString], &'b str, &'c mut types::dynamic::Dynamic) -> std::result::Result, types::parse_error::ParseError>>`: 16 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 16 bytes +print-type-size type: `std::ptr::NonNull std::ops::Fn(&'a str, std::option::Option<&'b str>, tokenizer::Position)>`: 16 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 16 bytes +print-type-size type: `std::ptr::NonNull std::ops::Fn(&'a engine::Engine, eval::debugger::Debugger) -> eval::debugger::Debugger>`: 16 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 16 bytes +print-type-size type: `std::ptr::NonNull std::ops::Fn(&'a str)>`: 16 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 16 bytes +print-type-size type: `std::ptr::NonNull std::ops::Fn(tokenizer::Token, tokenizer::Position, &'a tokenizer::TokenizeState) -> tokenizer::Token>`: 16 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 16 bytes +print-type-size type: `std::ptr::NonNull`: 16 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 16 bytes +print-type-size type: `std::ptr::NonNull`: 16 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 16 bytes +print-type-size type: `std::ptr::NonNull`: 16 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 16 bytes +print-type-size type: `std::ptr::NonNull`: 16 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 16 bytes +print-type-size type: `std::ptr::NonNull, &types::dynamic::Dynamic, &std::vec::Vec)>>`: 16 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 16 bytes +print-type-size type: `std::ptr::NonNull)>>`: 16 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 16 bytes +print-type-size type: `std::ptr::NonNull>`: 16 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 16 bytes +print-type-size type: `std::ptr::NonNull>>>`: 16 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 16 bytes +print-type-size type: `std::ptr::NonNull>`: 16 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 16 bytes +print-type-size type: `std::ptr::NonNull std::option::Option>`: 16 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 16 bytes +print-type-size type: `std::ptr::NonNull`: 16 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 16 bytes +print-type-size type: `std::ptr::NonNull std::ops::Fn(func::native::NativeCallContext<'a>, &'b mut [&'c mut types::dynamic::Dynamic]) -> std::result::Result>>>`: 16 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 16 bytes +print-type-size type: `std::ptr::NonNull>`: 16 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 16 bytes +print-type-size type: `std::ptr::NonNull std::boxed::Box>>>>>`: 16 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 16 bytes +print-type-size type: `std::ptr::NonNull`: 16 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 16 bytes +print-type-size type: `std::ptr::Unique<[&str]>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 16 bytes +print-type-size type: `std::ptr::Unique<[(std::string::String, std::string::String)]>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 16 bytes +print-type-size type: `std::ptr::Unique<[(types::immutable_string::ImmutableString, std::rc::Rc)]>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 16 bytes +print-type-size type: `std::ptr::Unique<[ast::stmt::Stmt]>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 16 bytes +print-type-size type: `std::ptr::Unique<[std::any::TypeId]>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 16 bytes +print-type-size type: `std::ptr::Unique<[std::boxed::Box]>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 16 bytes +print-type-size type: `std::ptr::Unique<[std::mem::MaybeUninit<(types::immutable_string::ImmutableString, std::rc::Rc)>]>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 16 bytes +print-type-size type: `std::ptr::Unique<[std::mem::MaybeUninit]>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 16 bytes +print-type-size type: `std::ptr::Unique<[std::mem::MaybeUninit>]>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 16 bytes +print-type-size type: `std::ptr::Unique<[std::mem::MaybeUninit]>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 16 bytes +print-type-size type: `std::ptr::Unique<[types::dynamic::Dynamic]>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 16 bytes +print-type-size type: `std::ptr::Unique<[u8]>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 16 bytes +print-type-size type: `std::ptr::Unique std::ops::Fn(&'a mut eval::eval_context::EvalContext<'b, 'c, 'd, 'e, 'f, 'g>, &'h [api::custom_syntax::Expression<'i>], &'j types::dynamic::Dynamic) -> std::result::Result>>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 16 bytes +print-type-size type: `std::ptr::Unique std::ops::Fn(eval::eval_context::EvalContext<'a, 'b, 'c, 'd, 'e, 'f>, eval::debugger::DebuggerEvent<'g>, ast::ast::ASTNode<'h>, std::option::Option<&'i str>, tokenizer::Position) -> std::result::Result>>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 16 bytes +print-type-size type: `std::ptr::Unique std::ops::Fn(&'a str, usize, eval::eval_context::EvalContext<'b, 'c, 'd, 'e, 'f, 'g>) -> std::result::Result, std::boxed::Box>>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 16 bytes +print-type-size type: `std::ptr::Unique std::ops::Fn(bool, api::events::VarDefInfo<'a>, eval::eval_context::EvalContext<'b, 'c, 'd, 'e, 'f, 'g>) -> std::result::Result>>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 16 bytes +print-type-size type: `std::ptr::Unique std::ops::Fn(&'a [types::immutable_string::ImmutableString], &'b str, &'c mut types::dynamic::Dynamic) -> std::result::Result, types::parse_error::ParseError>>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 16 bytes +print-type-size type: `std::ptr::Unique std::ops::Fn(&'a str, std::option::Option<&'b str>, tokenizer::Position)>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 16 bytes +print-type-size type: `std::ptr::Unique std::ops::Fn(&'a engine::Engine, eval::debugger::Debugger) -> eval::debugger::Debugger>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 16 bytes +print-type-size type: `std::ptr::Unique std::ops::Fn(&'a str)>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 16 bytes +print-type-size type: `std::ptr::Unique std::ops::Fn(tokenizer::Token, tokenizer::Position, &'a tokenizer::TokenizeState) -> tokenizer::Token>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 16 bytes +print-type-size type: `std::ptr::Unique`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 16 bytes +print-type-size type: `std::ptr::Unique`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 16 bytes +print-type-size type: `std::ptr::Unique`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 16 bytes +print-type-size type: `std::ptr::Unique`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 16 bytes +print-type-size type: `std::ptr::Unique, &types::dynamic::Dynamic, &std::vec::Vec)>>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 16 bytes +print-type-size type: `std::ptr::Unique)>>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 16 bytes +print-type-size type: `std::ptr::Unique>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 16 bytes +print-type-size type: `std::ptr::Unique>>>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 16 bytes +print-type-size type: `std::ptr::Unique>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 16 bytes +print-type-size type: `std::ptr::Unique std::option::Option>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 16 bytes +print-type-size type: `std::ptr::Unique`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 16 bytes +print-type-size type: `std::ptr::Unique`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 16 bytes +print-type-size type: `std::ptr::metadata::PtrComponents<[&module::FuncInfo]>`: 16 bytes, alignment: 8 bytes +print-type-size field `.data_address`: 8 bytes +print-type-size field `.metadata`: 8 bytes +print-type-size type: `std::ptr::metadata::PtrComponents<[&mut types::dynamic::Dynamic]>`: 16 bytes, alignment: 8 bytes +print-type-size field `.data_address`: 8 bytes +print-type-size field `.metadata`: 8 bytes +print-type-size type: `std::ptr::metadata::PtrComponents<[&str]>`: 16 bytes, alignment: 8 bytes +print-type-size field `.data_address`: 8 bytes +print-type-size field `.metadata`: 8 bytes +print-type-size type: `std::ptr::metadata::PtrComponents<[(&str, &std::rc::Rc)]>`: 16 bytes, alignment: 8 bytes +print-type-size field `.data_address`: 8 bytes +print-type-size field `.metadata`: 8 bytes +print-type-size type: `std::ptr::metadata::PtrComponents<[(&str, &types::dynamic::Dynamic)]>`: 16 bytes, alignment: 8 bytes +print-type-size field `.data_address`: 8 bytes +print-type-size field `.metadata`: 8 bytes +print-type-size type: `std::ptr::metadata::PtrComponents<[(&str, serde::metadata::ModuleMetadata<'_>)]>`: 16 bytes, alignment: 8 bytes +print-type-size field `.data_address`: 8 bytes +print-type-size field `.metadata`: 8 bytes +print-type-size type: `std::ptr::metadata::PtrComponents<[(&types::immutable_string::ImmutableString, &std::rc::Rc)]>`: 16 bytes, alignment: 8 bytes +print-type-size field `.data_address`: 8 bytes +print-type-size field `.metadata`: 8 bytes +print-type-size type: `std::ptr::metadata::PtrComponents<[(ast::ident::Ident, ast::expr::Expr)]>`: 16 bytes, alignment: 8 bytes +print-type-size field `.data_address`: 8 bytes +print-type-size field `.metadata`: 8 bytes +print-type-size type: `std::ptr::metadata::PtrComponents<[(smartstring::SmartString, types::dynamic::AccessMode, types::dynamic::Dynamic)]>`: 16 bytes, alignment: 8 bytes +print-type-size field `.data_address`: 8 bytes +print-type-size field `.metadata`: 8 bytes +print-type-size type: `std::ptr::metadata::PtrComponents<[(smartstring::SmartString, types::dynamic::Dynamic)]>`: 16 bytes, alignment: 8 bytes +print-type-size field `.data_address`: 8 bytes +print-type-size field `.metadata`: 8 bytes +print-type-size type: `std::ptr::metadata::PtrComponents<[(std::string::String, std::string::String)]>`: 16 bytes, alignment: 8 bytes +print-type-size field `.data_address`: 8 bytes +print-type-size field `.metadata`: 8 bytes +print-type-size type: `std::ptr::metadata::PtrComponents<[(types::immutable_string::ImmutableString, std::option::Option, tokenizer::Position)]>`: 16 bytes, alignment: 8 bytes +print-type-size field `.data_address`: 8 bytes +print-type-size field `.metadata`: 8 bytes +print-type-size type: `std::ptr::metadata::PtrComponents<[(types::immutable_string::ImmutableString, std::rc::Rc)]>`: 16 bytes, alignment: 8 bytes +print-type-size field `.data_address`: 8 bytes +print-type-size field `.metadata`: 8 bytes +print-type-size type: `std::ptr::metadata::PtrComponents<[(types::immutable_string::ImmutableString, tokenizer::Position)]>`: 16 bytes, alignment: 8 bytes +print-type-size field `.data_address`: 8 bytes +print-type-size field `.metadata`: 8 bytes +print-type-size type: `std::ptr::metadata::PtrComponents<[api::custom_syntax::Expression<'_>]>`: 16 bytes, alignment: 8 bytes +print-type-size field `.data_address`: 8 bytes +print-type-size field `.metadata`: 8 bytes +print-type-size type: `std::ptr::metadata::PtrComponents<[ast::ast::ASTNode<'_>]>`: 16 bytes, alignment: 8 bytes +print-type-size field `.data_address`: 8 bytes +print-type-size field `.metadata`: 8 bytes +print-type-size type: `std::ptr::metadata::PtrComponents<[ast::expr::Expr]>`: 16 bytes, alignment: 8 bytes +print-type-size field `.data_address`: 8 bytes +print-type-size field `.metadata`: 8 bytes +print-type-size type: `std::ptr::metadata::PtrComponents<[ast::ident::Ident]>`: 16 bytes, alignment: 8 bytes +print-type-size field `.data_address`: 8 bytes +print-type-size field `.metadata`: 8 bytes +print-type-size type: `std::ptr::metadata::PtrComponents<[ast::stmt::ConditionalExpr]>`: 16 bytes, alignment: 8 bytes +print-type-size field `.data_address`: 8 bytes +print-type-size field `.metadata`: 8 bytes +print-type-size type: `std::ptr::metadata::PtrComponents<[ast::stmt::RangeCase]>`: 16 bytes, alignment: 8 bytes +print-type-size field `.data_address`: 8 bytes +print-type-size field `.metadata`: 8 bytes +print-type-size type: `std::ptr::metadata::PtrComponents<[ast::stmt::Stmt]>`: 16 bytes, alignment: 8 bytes +print-type-size field `.data_address`: 8 bytes +print-type-size field `.metadata`: 8 bytes +print-type-size type: `std::ptr::metadata::PtrComponents<[char]>`: 16 bytes, alignment: 8 bytes +print-type-size field `.data_address`: 8 bytes +print-type-size field `.metadata`: 8 bytes +print-type-size type: `std::ptr::metadata::PtrComponents<[eval::cache::FnResolutionCache]>`: 16 bytes, alignment: 8 bytes +print-type-size field `.data_address`: 8 bytes +print-type-size field `.metadata`: 8 bytes +print-type-size type: `std::ptr::metadata::PtrComponents<[eval::debugger::BreakPoint]>`: 16 bytes, alignment: 8 bytes +print-type-size field `.data_address`: 8 bytes +print-type-size field `.metadata`: 8 bytes +print-type-size type: `std::ptr::metadata::PtrComponents<[eval::debugger::CallStackFrame]>`: 16 bytes, alignment: 8 bytes +print-type-size field `.data_address`: 8 bytes +print-type-size field `.metadata`: 8 bytes +print-type-size type: `std::ptr::metadata::PtrComponents<[serde::metadata::FnMetadata<'_>]>`: 16 bytes, alignment: 8 bytes +print-type-size field `.data_address`: 8 bytes +print-type-size field `.metadata`: 8 bytes +print-type-size type: `std::ptr::metadata::PtrComponents<[serde::metadata::FnParam<'_>]>`: 16 bytes, alignment: 8 bytes +print-type-size field `.data_address`: 8 bytes +print-type-size field `.metadata`: 8 bytes +print-type-size type: `std::ptr::metadata::PtrComponents<[smartstring::SmartString]>`: 16 bytes, alignment: 8 bytes +print-type-size field `.data_address`: 8 bytes +print-type-size field `.metadata`: 8 bytes +print-type-size type: `std::ptr::metadata::PtrComponents<[std::any::TypeId]>`: 16 bytes, alignment: 8 bytes +print-type-size field `.data_address`: 8 bytes +print-type-size field `.metadata`: 8 bytes +print-type-size type: `std::ptr::metadata::PtrComponents<[std::borrow::Cow<'_, str>]>`: 16 bytes, alignment: 8 bytes +print-type-size field `.data_address`: 8 bytes +print-type-size field `.metadata`: 8 bytes +print-type-size type: `std::ptr::metadata::PtrComponents<[std::boxed::Box]>`: 16 bytes, alignment: 8 bytes +print-type-size field `.data_address`: 8 bytes +print-type-size field `.metadata`: 8 bytes +print-type-size type: `std::ptr::metadata::PtrComponents<[std::boxed::Box]>`: 16 bytes, alignment: 8 bytes +print-type-size field `.data_address`: 8 bytes +print-type-size field `.metadata`: 8 bytes +print-type-size type: `std::ptr::metadata::PtrComponents<[std::iter::Peekable>]>`: 16 bytes, alignment: 8 bytes +print-type-size field `.data_address`: 8 bytes +print-type-size field `.metadata`: 8 bytes +print-type-size type: `std::ptr::metadata::PtrComponents<[std::mem::MaybeUninit<&str>]>`: 16 bytes, alignment: 8 bytes +print-type-size field `.data_address`: 8 bytes +print-type-size field `.metadata`: 8 bytes +print-type-size type: `std::ptr::metadata::PtrComponents<[std::mem::MaybeUninit<(types::immutable_string::ImmutableString, std::rc::Rc)>]>`: 16 bytes, alignment: 8 bytes +print-type-size field `.data_address`: 8 bytes +print-type-size field `.metadata`: 8 bytes +print-type-size type: `std::ptr::metadata::PtrComponents<[std::mem::MaybeUninit]>`: 16 bytes, alignment: 8 bytes +print-type-size field `.data_address`: 8 bytes +print-type-size field `.metadata`: 8 bytes +print-type-size type: `std::ptr::metadata::PtrComponents<[std::mem::MaybeUninit]>`: 16 bytes, alignment: 8 bytes +print-type-size field `.data_address`: 8 bytes +print-type-size field `.metadata`: 8 bytes +print-type-size type: `std::ptr::metadata::PtrComponents<[std::mem::MaybeUninit]>`: 16 bytes, alignment: 8 bytes +print-type-size field `.data_address`: 8 bytes +print-type-size field `.metadata`: 8 bytes +print-type-size type: `std::ptr::metadata::PtrComponents<[std::mem::MaybeUninit>]>`: 16 bytes, alignment: 8 bytes +print-type-size field `.data_address`: 8 bytes +print-type-size field `.metadata`: 8 bytes +print-type-size type: `std::ptr::metadata::PtrComponents<[std::mem::MaybeUninit>]>`: 16 bytes, alignment: 8 bytes +print-type-size field `.data_address`: 8 bytes +print-type-size field `.metadata`: 8 bytes +print-type-size type: `std::ptr::metadata::PtrComponents<[std::mem::MaybeUninit]>`: 16 bytes, alignment: 8 bytes +print-type-size field `.data_address`: 8 bytes +print-type-size field `.metadata`: 8 bytes +print-type-size type: `std::ptr::metadata::PtrComponents<[std::mem::MaybeUninit>]>`: 16 bytes, alignment: 8 bytes +print-type-size field `.data_address`: 8 bytes +print-type-size field `.metadata`: 8 bytes +print-type-size type: `std::ptr::metadata::PtrComponents<[std::mem::MaybeUninit]>`: 16 bytes, alignment: 8 bytes +print-type-size field `.data_address`: 8 bytes +print-type-size field `.metadata`: 8 bytes +print-type-size type: `std::ptr::metadata::PtrComponents<[std::mem::MaybeUninit>]>`: 16 bytes, alignment: 8 bytes +print-type-size field `.data_address`: 8 bytes +print-type-size field `.metadata`: 8 bytes +print-type-size type: `std::ptr::metadata::PtrComponents<[std::mem::MaybeUninit]>`: 16 bytes, alignment: 8 bytes +print-type-size field `.data_address`: 8 bytes +print-type-size field `.metadata`: 8 bytes +print-type-size type: `std::ptr::metadata::PtrComponents<[std::mem::MaybeUninit>>>]>`: 16 bytes, alignment: 8 bytes +print-type-size field `.data_address`: 8 bytes +print-type-size field `.metadata`: 8 bytes +print-type-size type: `std::ptr::metadata::PtrComponents<[std::mem::MaybeUninit, smallvec::alloc::collections::btree::set_val::SetValZST>>>]>`: 16 bytes, alignment: 8 bytes +print-type-size field `.data_address`: 8 bytes +print-type-size field `.metadata`: 8 bytes +print-type-size type: `std::ptr::metadata::PtrComponents<[std::mem::MaybeUninit, std::rc::Rc>>>]>`: 16 bytes, alignment: 8 bytes +print-type-size field `.data_address`: 8 bytes +print-type-size field `.metadata`: 8 bytes +print-type-size type: `std::ptr::metadata::PtrComponents<[std::mem::MaybeUninit, types::dynamic::Dynamic>>>]>`: 16 bytes, alignment: 8 bytes +print-type-size field `.data_address`: 8 bytes +print-type-size field `.metadata`: 8 bytes +print-type-size type: `std::ptr::metadata::PtrComponents<[std::mem::MaybeUninit std::boxed::Box>>>>>>>]>`: 16 bytes, alignment: 8 bytes +print-type-size field `.data_address`: 8 bytes +print-type-size field `.metadata`: 8 bytes +print-type-size type: `std::ptr::metadata::PtrComponents<[std::mem::MaybeUninit>>>]>`: 16 bytes, alignment: 8 bytes +print-type-size field `.data_address`: 8 bytes +print-type-size field `.metadata`: 8 bytes +print-type-size type: `std::ptr::metadata::PtrComponents<[std::mem::MaybeUninit>>]>`: 16 bytes, alignment: 8 bytes +print-type-size field `.data_address`: 8 bytes +print-type-size field `.metadata`: 8 bytes +print-type-size type: `std::ptr::metadata::PtrComponents<[std::mem::MaybeUninit>>>]>`: 16 bytes, alignment: 8 bytes +print-type-size field `.data_address`: 8 bytes +print-type-size field `.metadata`: 8 bytes +print-type-size type: `std::ptr::metadata::PtrComponents<[std::mem::MaybeUninit std::boxed::Box>>>>>]>`: 16 bytes, alignment: 8 bytes +print-type-size field `.data_address`: 8 bytes +print-type-size field `.metadata`: 8 bytes +print-type-size type: `std::ptr::metadata::PtrComponents<[std::mem::MaybeUninit>]>`: 16 bytes, alignment: 8 bytes +print-type-size field `.data_address`: 8 bytes +print-type-size field `.metadata`: 8 bytes +print-type-size type: `std::ptr::metadata::PtrComponents<[std::mem::MaybeUninit]>`: 16 bytes, alignment: 8 bytes +print-type-size field `.data_address`: 8 bytes +print-type-size field `.metadata`: 8 bytes +print-type-size type: `std::ptr::metadata::PtrComponents<[std::mem::MaybeUninit]>`: 16 bytes, alignment: 8 bytes +print-type-size field `.data_address`: 8 bytes +print-type-size field `.metadata`: 8 bytes +print-type-size type: `std::ptr::metadata::PtrComponents<[std::mem::MaybeUninit]>`: 16 bytes, alignment: 8 bytes +print-type-size field `.data_address`: 8 bytes +print-type-size field `.metadata`: 8 bytes +print-type-size type: `std::ptr::metadata::PtrComponents<[std::path::PathBuf]>`: 16 bytes, alignment: 8 bytes +print-type-size field `.data_address`: 8 bytes +print-type-size field `.metadata`: 8 bytes +print-type-size type: `std::ptr::metadata::PtrComponents<[std::rc::Rc]>`: 16 bytes, alignment: 8 bytes +print-type-size field `.data_address`: 8 bytes +print-type-size field `.metadata`: 8 bytes +print-type-size type: `std::ptr::metadata::PtrComponents<[std::rc::Rc]>`: 16 bytes, alignment: 8 bytes +print-type-size field `.data_address`: 8 bytes +print-type-size field `.metadata`: 8 bytes +print-type-size type: `std::ptr::metadata::PtrComponents<[std::slice::merge_sort::Run]>`: 16 bytes, alignment: 8 bytes +print-type-size field `.data_address`: 8 bytes +print-type-size field `.metadata`: 8 bytes +print-type-size type: `std::ptr::metadata::PtrComponents<[std::string::String]>`: 16 bytes, alignment: 8 bytes +print-type-size field `.data_address`: 8 bytes +print-type-size field `.metadata`: 8 bytes +print-type-size type: `std::ptr::metadata::PtrComponents<[std::vec::Vec]>`: 16 bytes, alignment: 8 bytes +print-type-size field `.data_address`: 8 bytes +print-type-size field `.metadata`: 8 bytes +print-type-size type: `std::ptr::metadata::PtrComponents<[types::dynamic::Dynamic]>`: 16 bytes, alignment: 8 bytes +print-type-size field `.data_address`: 8 bytes +print-type-size field `.metadata`: 8 bytes +print-type-size type: `std::ptr::metadata::PtrComponents<[types::immutable_string::ImmutableString]>`: 16 bytes, alignment: 8 bytes +print-type-size field `.data_address`: 8 bytes +print-type-size field `.metadata`: 8 bytes +print-type-size type: `std::ptr::metadata::PtrComponents<[u64]>`: 16 bytes, alignment: 8 bytes +print-type-size field `.data_address`: 8 bytes +print-type-size field `.metadata`: 8 bytes +print-type-size type: `std::ptr::metadata::PtrComponents<[u8]>`: 16 bytes, alignment: 8 bytes +print-type-size field `.data_address`: 8 bytes +print-type-size field `.metadata`: 8 bytes +print-type-size type: `std::ptr::metadata::PtrComponents<[usize]>`: 16 bytes, alignment: 8 bytes +print-type-size field `.data_address`: 8 bytes +print-type-size field `.metadata`: 8 bytes +print-type-size type: `std::ptr::metadata::PtrRepr<[&module::FuncInfo]>`: 16 bytes, alignment: 8 bytes +print-type-size variant `PtrRepr`: 16 bytes +print-type-size field `.const_ptr`: 16 bytes +print-type-size field `.mut_ptr`: 16 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size field `.components`: 16 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size type: `std::ptr::metadata::PtrRepr<[&mut types::dynamic::Dynamic]>`: 16 bytes, alignment: 8 bytes +print-type-size variant `PtrRepr`: 16 bytes +print-type-size field `.const_ptr`: 16 bytes +print-type-size field `.mut_ptr`: 16 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size field `.components`: 16 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size type: `std::ptr::metadata::PtrRepr<[&str]>`: 16 bytes, alignment: 8 bytes +print-type-size variant `PtrRepr`: 16 bytes +print-type-size field `.const_ptr`: 16 bytes +print-type-size field `.mut_ptr`: 16 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size field `.components`: 16 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size type: `std::ptr::metadata::PtrRepr<[(&str, &std::rc::Rc)]>`: 16 bytes, alignment: 8 bytes +print-type-size variant `PtrRepr`: 16 bytes +print-type-size field `.const_ptr`: 16 bytes +print-type-size field `.mut_ptr`: 16 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size field `.components`: 16 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size type: `std::ptr::metadata::PtrRepr<[(&str, &types::dynamic::Dynamic)]>`: 16 bytes, alignment: 8 bytes +print-type-size variant `PtrRepr`: 16 bytes +print-type-size field `.const_ptr`: 16 bytes +print-type-size field `.mut_ptr`: 16 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size field `.components`: 16 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size type: `std::ptr::metadata::PtrRepr<[(&str, serde::metadata::ModuleMetadata<'_>)]>`: 16 bytes, alignment: 8 bytes +print-type-size variant `PtrRepr`: 16 bytes +print-type-size field `.const_ptr`: 16 bytes +print-type-size field `.mut_ptr`: 16 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size field `.components`: 16 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size type: `std::ptr::metadata::PtrRepr<[(&types::immutable_string::ImmutableString, &std::rc::Rc)]>`: 16 bytes, alignment: 8 bytes +print-type-size variant `PtrRepr`: 16 bytes +print-type-size field `.const_ptr`: 16 bytes +print-type-size field `.mut_ptr`: 16 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size field `.components`: 16 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size type: `std::ptr::metadata::PtrRepr<[(ast::ident::Ident, ast::expr::Expr)]>`: 16 bytes, alignment: 8 bytes +print-type-size variant `PtrRepr`: 16 bytes +print-type-size field `.const_ptr`: 16 bytes +print-type-size field `.mut_ptr`: 16 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size field `.components`: 16 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size type: `std::ptr::metadata::PtrRepr<[(smartstring::SmartString, types::dynamic::AccessMode, types::dynamic::Dynamic)]>`: 16 bytes, alignment: 8 bytes +print-type-size variant `PtrRepr`: 16 bytes +print-type-size field `.const_ptr`: 16 bytes +print-type-size field `.mut_ptr`: 16 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size field `.components`: 16 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size type: `std::ptr::metadata::PtrRepr<[(smartstring::SmartString, types::dynamic::Dynamic)]>`: 16 bytes, alignment: 8 bytes +print-type-size variant `PtrRepr`: 16 bytes +print-type-size field `.const_ptr`: 16 bytes +print-type-size field `.mut_ptr`: 16 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size field `.components`: 16 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size type: `std::ptr::metadata::PtrRepr<[(std::string::String, std::string::String)]>`: 16 bytes, alignment: 8 bytes +print-type-size variant `PtrRepr`: 16 bytes +print-type-size field `.const_ptr`: 16 bytes +print-type-size field `.mut_ptr`: 16 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size field `.components`: 16 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size type: `std::ptr::metadata::PtrRepr<[(types::immutable_string::ImmutableString, std::option::Option, tokenizer::Position)]>`: 16 bytes, alignment: 8 bytes +print-type-size variant `PtrRepr`: 16 bytes +print-type-size field `.const_ptr`: 16 bytes +print-type-size field `.mut_ptr`: 16 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size field `.components`: 16 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size type: `std::ptr::metadata::PtrRepr<[(types::immutable_string::ImmutableString, std::rc::Rc)]>`: 16 bytes, alignment: 8 bytes +print-type-size variant `PtrRepr`: 16 bytes +print-type-size field `.const_ptr`: 16 bytes +print-type-size field `.mut_ptr`: 16 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size field `.components`: 16 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size type: `std::ptr::metadata::PtrRepr<[(types::immutable_string::ImmutableString, tokenizer::Position)]>`: 16 bytes, alignment: 8 bytes +print-type-size variant `PtrRepr`: 16 bytes +print-type-size field `.const_ptr`: 16 bytes +print-type-size field `.mut_ptr`: 16 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size field `.components`: 16 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size type: `std::ptr::metadata::PtrRepr<[api::custom_syntax::Expression<'_>]>`: 16 bytes, alignment: 8 bytes +print-type-size variant `PtrRepr`: 16 bytes +print-type-size field `.const_ptr`: 16 bytes +print-type-size field `.mut_ptr`: 16 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size field `.components`: 16 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size type: `std::ptr::metadata::PtrRepr<[ast::ast::ASTNode<'_>]>`: 16 bytes, alignment: 8 bytes +print-type-size variant `PtrRepr`: 16 bytes +print-type-size field `.const_ptr`: 16 bytes +print-type-size field `.mut_ptr`: 16 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size field `.components`: 16 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size type: `std::ptr::metadata::PtrRepr<[ast::expr::Expr]>`: 16 bytes, alignment: 8 bytes +print-type-size variant `PtrRepr`: 16 bytes +print-type-size field `.const_ptr`: 16 bytes +print-type-size field `.mut_ptr`: 16 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size field `.components`: 16 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size type: `std::ptr::metadata::PtrRepr<[ast::ident::Ident]>`: 16 bytes, alignment: 8 bytes +print-type-size variant `PtrRepr`: 16 bytes +print-type-size field `.const_ptr`: 16 bytes +print-type-size field `.mut_ptr`: 16 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size field `.components`: 16 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size type: `std::ptr::metadata::PtrRepr<[ast::stmt::ConditionalExpr]>`: 16 bytes, alignment: 8 bytes +print-type-size variant `PtrRepr`: 16 bytes +print-type-size field `.const_ptr`: 16 bytes +print-type-size field `.mut_ptr`: 16 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size field `.components`: 16 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size type: `std::ptr::metadata::PtrRepr<[ast::stmt::RangeCase]>`: 16 bytes, alignment: 8 bytes +print-type-size variant `PtrRepr`: 16 bytes +print-type-size field `.const_ptr`: 16 bytes +print-type-size field `.mut_ptr`: 16 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size field `.components`: 16 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size type: `std::ptr::metadata::PtrRepr<[ast::stmt::Stmt]>`: 16 bytes, alignment: 8 bytes +print-type-size variant `PtrRepr`: 16 bytes +print-type-size field `.const_ptr`: 16 bytes +print-type-size field `.mut_ptr`: 16 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size field `.components`: 16 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size type: `std::ptr::metadata::PtrRepr<[char]>`: 16 bytes, alignment: 8 bytes +print-type-size variant `PtrRepr`: 16 bytes +print-type-size field `.const_ptr`: 16 bytes +print-type-size field `.mut_ptr`: 16 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size field `.components`: 16 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size type: `std::ptr::metadata::PtrRepr<[eval::cache::FnResolutionCache]>`: 16 bytes, alignment: 8 bytes +print-type-size variant `PtrRepr`: 16 bytes +print-type-size field `.const_ptr`: 16 bytes +print-type-size field `.mut_ptr`: 16 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size field `.components`: 16 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size type: `std::ptr::metadata::PtrRepr<[eval::debugger::BreakPoint]>`: 16 bytes, alignment: 8 bytes +print-type-size variant `PtrRepr`: 16 bytes +print-type-size field `.const_ptr`: 16 bytes +print-type-size field `.mut_ptr`: 16 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size field `.components`: 16 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size type: `std::ptr::metadata::PtrRepr<[eval::debugger::CallStackFrame]>`: 16 bytes, alignment: 8 bytes +print-type-size variant `PtrRepr`: 16 bytes +print-type-size field `.const_ptr`: 16 bytes +print-type-size field `.mut_ptr`: 16 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size field `.components`: 16 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size type: `std::ptr::metadata::PtrRepr<[serde::metadata::FnMetadata<'_>]>`: 16 bytes, alignment: 8 bytes +print-type-size variant `PtrRepr`: 16 bytes +print-type-size field `.const_ptr`: 16 bytes +print-type-size field `.mut_ptr`: 16 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size field `.components`: 16 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size type: `std::ptr::metadata::PtrRepr<[serde::metadata::FnParam<'_>]>`: 16 bytes, alignment: 8 bytes +print-type-size variant `PtrRepr`: 16 bytes +print-type-size field `.const_ptr`: 16 bytes +print-type-size field `.mut_ptr`: 16 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size field `.components`: 16 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size type: `std::ptr::metadata::PtrRepr<[smartstring::SmartString]>`: 16 bytes, alignment: 8 bytes +print-type-size variant `PtrRepr`: 16 bytes +print-type-size field `.const_ptr`: 16 bytes +print-type-size field `.mut_ptr`: 16 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size field `.components`: 16 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size type: `std::ptr::metadata::PtrRepr<[std::any::TypeId]>`: 16 bytes, alignment: 8 bytes +print-type-size variant `PtrRepr`: 16 bytes +print-type-size field `.const_ptr`: 16 bytes +print-type-size field `.mut_ptr`: 16 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size field `.components`: 16 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size type: `std::ptr::metadata::PtrRepr<[std::borrow::Cow<'_, str>]>`: 16 bytes, alignment: 8 bytes +print-type-size variant `PtrRepr`: 16 bytes +print-type-size field `.const_ptr`: 16 bytes +print-type-size field `.mut_ptr`: 16 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size field `.components`: 16 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size type: `std::ptr::metadata::PtrRepr<[std::boxed::Box]>`: 16 bytes, alignment: 8 bytes +print-type-size variant `PtrRepr`: 16 bytes +print-type-size field `.const_ptr`: 16 bytes +print-type-size field `.mut_ptr`: 16 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size field `.components`: 16 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size type: `std::ptr::metadata::PtrRepr<[std::boxed::Box]>`: 16 bytes, alignment: 8 bytes +print-type-size variant `PtrRepr`: 16 bytes +print-type-size field `.const_ptr`: 16 bytes +print-type-size field `.mut_ptr`: 16 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size field `.components`: 16 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size type: `std::ptr::metadata::PtrRepr<[std::iter::Peekable>]>`: 16 bytes, alignment: 8 bytes +print-type-size variant `PtrRepr`: 16 bytes +print-type-size field `.const_ptr`: 16 bytes +print-type-size field `.mut_ptr`: 16 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size field `.components`: 16 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size type: `std::ptr::metadata::PtrRepr<[std::mem::MaybeUninit<&str>]>`: 16 bytes, alignment: 8 bytes +print-type-size variant `PtrRepr`: 16 bytes +print-type-size field `.const_ptr`: 16 bytes +print-type-size field `.mut_ptr`: 16 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size field `.components`: 16 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size type: `std::ptr::metadata::PtrRepr<[std::mem::MaybeUninit<(types::immutable_string::ImmutableString, std::rc::Rc)>]>`: 16 bytes, alignment: 8 bytes +print-type-size variant `PtrRepr`: 16 bytes +print-type-size field `.const_ptr`: 16 bytes +print-type-size field `.mut_ptr`: 16 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size field `.components`: 16 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size type: `std::ptr::metadata::PtrRepr<[std::mem::MaybeUninit]>`: 16 bytes, alignment: 8 bytes +print-type-size variant `PtrRepr`: 16 bytes +print-type-size field `.const_ptr`: 16 bytes +print-type-size field `.mut_ptr`: 16 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size field `.components`: 16 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size type: `std::ptr::metadata::PtrRepr<[std::mem::MaybeUninit]>`: 16 bytes, alignment: 8 bytes +print-type-size variant `PtrRepr`: 16 bytes +print-type-size field `.const_ptr`: 16 bytes +print-type-size field `.mut_ptr`: 16 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size field `.components`: 16 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size type: `std::ptr::metadata::PtrRepr<[std::mem::MaybeUninit]>`: 16 bytes, alignment: 8 bytes +print-type-size variant `PtrRepr`: 16 bytes +print-type-size field `.const_ptr`: 16 bytes +print-type-size field `.mut_ptr`: 16 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size field `.components`: 16 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size type: `std::ptr::metadata::PtrRepr<[std::mem::MaybeUninit>]>`: 16 bytes, alignment: 8 bytes +print-type-size variant `PtrRepr`: 16 bytes +print-type-size field `.const_ptr`: 16 bytes +print-type-size field `.mut_ptr`: 16 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size field `.components`: 16 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size type: `std::ptr::metadata::PtrRepr<[std::mem::MaybeUninit>]>`: 16 bytes, alignment: 8 bytes +print-type-size variant `PtrRepr`: 16 bytes +print-type-size field `.const_ptr`: 16 bytes +print-type-size field `.mut_ptr`: 16 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size field `.components`: 16 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size type: `std::ptr::metadata::PtrRepr<[std::mem::MaybeUninit]>`: 16 bytes, alignment: 8 bytes +print-type-size variant `PtrRepr`: 16 bytes +print-type-size field `.const_ptr`: 16 bytes +print-type-size field `.mut_ptr`: 16 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size field `.components`: 16 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size type: `std::ptr::metadata::PtrRepr<[std::mem::MaybeUninit>]>`: 16 bytes, alignment: 8 bytes +print-type-size variant `PtrRepr`: 16 bytes +print-type-size field `.const_ptr`: 16 bytes +print-type-size field `.mut_ptr`: 16 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size field `.components`: 16 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size type: `std::ptr::metadata::PtrRepr<[std::mem::MaybeUninit]>`: 16 bytes, alignment: 8 bytes +print-type-size variant `PtrRepr`: 16 bytes +print-type-size field `.const_ptr`: 16 bytes +print-type-size field `.mut_ptr`: 16 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size field `.components`: 16 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size type: `std::ptr::metadata::PtrRepr<[std::mem::MaybeUninit>]>`: 16 bytes, alignment: 8 bytes +print-type-size variant `PtrRepr`: 16 bytes +print-type-size field `.const_ptr`: 16 bytes +print-type-size field `.mut_ptr`: 16 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size field `.components`: 16 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size type: `std::ptr::metadata::PtrRepr<[std::mem::MaybeUninit]>`: 16 bytes, alignment: 8 bytes +print-type-size variant `PtrRepr`: 16 bytes +print-type-size field `.const_ptr`: 16 bytes +print-type-size field `.mut_ptr`: 16 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size field `.components`: 16 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size type: `std::ptr::metadata::PtrRepr<[std::mem::MaybeUninit>>>]>`: 16 bytes, alignment: 8 bytes +print-type-size variant `PtrRepr`: 16 bytes +print-type-size field `.const_ptr`: 16 bytes +print-type-size field `.mut_ptr`: 16 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size field `.components`: 16 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size type: `std::ptr::metadata::PtrRepr<[std::mem::MaybeUninit, smallvec::alloc::collections::btree::set_val::SetValZST>>>]>`: 16 bytes, alignment: 8 bytes +print-type-size variant `PtrRepr`: 16 bytes +print-type-size field `.const_ptr`: 16 bytes +print-type-size field `.mut_ptr`: 16 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size field `.components`: 16 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size type: `std::ptr::metadata::PtrRepr<[std::mem::MaybeUninit, std::rc::Rc>>>]>`: 16 bytes, alignment: 8 bytes +print-type-size variant `PtrRepr`: 16 bytes +print-type-size field `.const_ptr`: 16 bytes +print-type-size field `.mut_ptr`: 16 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size field `.components`: 16 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size type: `std::ptr::metadata::PtrRepr<[std::mem::MaybeUninit, types::dynamic::Dynamic>>>]>`: 16 bytes, alignment: 8 bytes +print-type-size variant `PtrRepr`: 16 bytes +print-type-size field `.const_ptr`: 16 bytes +print-type-size field `.mut_ptr`: 16 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size field `.components`: 16 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size type: `std::ptr::metadata::PtrRepr<[std::mem::MaybeUninit std::boxed::Box>>>>>>>]>`: 16 bytes, alignment: 8 bytes +print-type-size variant `PtrRepr`: 16 bytes +print-type-size field `.const_ptr`: 16 bytes +print-type-size field `.mut_ptr`: 16 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size field `.components`: 16 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size type: `std::ptr::metadata::PtrRepr<[std::mem::MaybeUninit>>>]>`: 16 bytes, alignment: 8 bytes +print-type-size variant `PtrRepr`: 16 bytes +print-type-size field `.const_ptr`: 16 bytes +print-type-size field `.mut_ptr`: 16 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size field `.components`: 16 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size type: `std::ptr::metadata::PtrRepr<[std::mem::MaybeUninit>>]>`: 16 bytes, alignment: 8 bytes +print-type-size variant `PtrRepr`: 16 bytes +print-type-size field `.const_ptr`: 16 bytes +print-type-size field `.mut_ptr`: 16 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size field `.components`: 16 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size type: `std::ptr::metadata::PtrRepr<[std::mem::MaybeUninit>>>]>`: 16 bytes, alignment: 8 bytes +print-type-size variant `PtrRepr`: 16 bytes +print-type-size field `.const_ptr`: 16 bytes +print-type-size field `.mut_ptr`: 16 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size field `.components`: 16 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size type: `std::ptr::metadata::PtrRepr<[std::mem::MaybeUninit std::boxed::Box>>>>>]>`: 16 bytes, alignment: 8 bytes +print-type-size variant `PtrRepr`: 16 bytes +print-type-size field `.const_ptr`: 16 bytes +print-type-size field `.mut_ptr`: 16 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size field `.components`: 16 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size type: `std::ptr::metadata::PtrRepr<[std::mem::MaybeUninit>]>`: 16 bytes, alignment: 8 bytes +print-type-size variant `PtrRepr`: 16 bytes +print-type-size field `.const_ptr`: 16 bytes +print-type-size field `.mut_ptr`: 16 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size field `.components`: 16 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size type: `std::ptr::metadata::PtrRepr<[std::mem::MaybeUninit]>`: 16 bytes, alignment: 8 bytes +print-type-size variant `PtrRepr`: 16 bytes +print-type-size field `.const_ptr`: 16 bytes +print-type-size field `.mut_ptr`: 16 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size field `.components`: 16 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size type: `std::ptr::metadata::PtrRepr<[std::mem::MaybeUninit]>`: 16 bytes, alignment: 8 bytes +print-type-size variant `PtrRepr`: 16 bytes +print-type-size field `.const_ptr`: 16 bytes +print-type-size field `.mut_ptr`: 16 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size field `.components`: 16 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size type: `std::ptr::metadata::PtrRepr<[std::mem::MaybeUninit]>`: 16 bytes, alignment: 8 bytes +print-type-size variant `PtrRepr`: 16 bytes +print-type-size field `.const_ptr`: 16 bytes +print-type-size field `.mut_ptr`: 16 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size field `.components`: 16 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size type: `std::ptr::metadata::PtrRepr<[std::path::PathBuf]>`: 16 bytes, alignment: 8 bytes +print-type-size variant `PtrRepr`: 16 bytes +print-type-size field `.const_ptr`: 16 bytes +print-type-size field `.mut_ptr`: 16 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size field `.components`: 16 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size type: `std::ptr::metadata::PtrRepr<[std::rc::Rc]>`: 16 bytes, alignment: 8 bytes +print-type-size variant `PtrRepr`: 16 bytes +print-type-size field `.const_ptr`: 16 bytes +print-type-size field `.mut_ptr`: 16 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size field `.components`: 16 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size type: `std::ptr::metadata::PtrRepr<[std::rc::Rc]>`: 16 bytes, alignment: 8 bytes +print-type-size variant `PtrRepr`: 16 bytes +print-type-size field `.const_ptr`: 16 bytes +print-type-size field `.mut_ptr`: 16 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size field `.components`: 16 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size type: `std::ptr::metadata::PtrRepr<[std::slice::merge_sort::Run]>`: 16 bytes, alignment: 8 bytes +print-type-size variant `PtrRepr`: 16 bytes +print-type-size field `.const_ptr`: 16 bytes +print-type-size field `.mut_ptr`: 16 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size field `.components`: 16 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size type: `std::ptr::metadata::PtrRepr<[std::string::String]>`: 16 bytes, alignment: 8 bytes +print-type-size variant `PtrRepr`: 16 bytes +print-type-size field `.const_ptr`: 16 bytes +print-type-size field `.mut_ptr`: 16 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size field `.components`: 16 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size type: `std::ptr::metadata::PtrRepr<[std::vec::Vec]>`: 16 bytes, alignment: 8 bytes +print-type-size variant `PtrRepr`: 16 bytes +print-type-size field `.const_ptr`: 16 bytes +print-type-size field `.mut_ptr`: 16 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size field `.components`: 16 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size type: `std::ptr::metadata::PtrRepr<[types::dynamic::Dynamic]>`: 16 bytes, alignment: 8 bytes +print-type-size variant `PtrRepr`: 16 bytes +print-type-size field `.const_ptr`: 16 bytes +print-type-size field `.mut_ptr`: 16 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size field `.components`: 16 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size type: `std::ptr::metadata::PtrRepr<[types::immutable_string::ImmutableString]>`: 16 bytes, alignment: 8 bytes +print-type-size variant `PtrRepr`: 16 bytes +print-type-size field `.const_ptr`: 16 bytes +print-type-size field `.mut_ptr`: 16 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size field `.components`: 16 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size type: `std::ptr::metadata::PtrRepr<[u64]>`: 16 bytes, alignment: 8 bytes +print-type-size variant `PtrRepr`: 16 bytes +print-type-size field `.const_ptr`: 16 bytes +print-type-size field `.mut_ptr`: 16 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size field `.components`: 16 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size type: `std::ptr::metadata::PtrRepr<[u8]>`: 16 bytes, alignment: 8 bytes +print-type-size variant `PtrRepr`: 16 bytes +print-type-size field `.const_ptr`: 16 bytes +print-type-size field `.mut_ptr`: 16 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size field `.components`: 16 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size type: `std::ptr::metadata::PtrRepr<[usize]>`: 16 bytes, alignment: 8 bytes +print-type-size variant `PtrRepr`: 16 bytes +print-type-size field `.const_ptr`: 16 bytes +print-type-size field `.mut_ptr`: 16 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size field `.components`: 16 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size type: `std::rc::Rc std::ops::Fn(func::native::NativeCallContext<'a>, &'b mut [&'c mut types::dynamic::Dynamic]) -> std::result::Result>>`: 16 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 16 bytes +print-type-size type: `std::rc::Rc`: 16 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 16 bytes +print-type-size type: `std::rc::Rc std::boxed::Box>>>>`: 16 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 16 bytes +print-type-size type: `std::rc::RcBox<()>`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox<[closure@src\func\register.rs:197:52: 197:105]>`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox<[closure@src\module\mod.rs:2345:39: 2345:47]>`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox std::ops::Fn(func::native::NativeCallContext<'a>, &'b mut [&'c mut types::dynamic::Dynamic]) -> std::result::Result>>`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox std::boxed::Box>>>>`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::RcBox`: 16 bytes, alignment: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::rc::WeakInner<'_>`: 16 bytes, alignment: 8 bytes +print-type-size field `.weak`: 8 bytes +print-type-size field `.strong`: 8 bytes +print-type-size type: `std::result::Result<&api::custom_syntax::CustomSyntax, std::boxed::Box>`: 16 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Ok`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Err`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::result::Result<&mut engine::Engine, types::parse_error::ParseError>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 16 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `Err`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::result::Result<&str, std::cell::BorrowError>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `Err`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::result::Result<&str, usize>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `Err`: 16 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size type: `std::result::Result<&types::dynamic::Dynamic, std::boxed::Box>`: 16 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Ok`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Err`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::result::Result<(), hashbrown::TryReserveError>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Err`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `Ok`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::result::Result<(), smallvec::CollectionAllocErr>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Err`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `Ok`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::result::Result<(), std::collections::TryReserveError>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Err`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `Ok`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::result::Result<(), types::parse_error::ParseError>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Err`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `Ok`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::result::Result<(), usize>`: 16 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Err`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Ok`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::result::Result<*mut [[u64; 4]; 2], *mut [[u64; 4]; 2]>`: 16 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Ok`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Err`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::result::Result<*mut std::rc::RcBox>>, std::alloc::AllocError>`: 16 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Ok`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Err`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::result::Result`: 16 bytes, alignment: 8 bytes +print-type-size variant `Err`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `Ok`: 9 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 1 bytes, alignment: 1 bytes +print-type-size type: `std::result::Result>`: 16 bytes, alignment: 8 bytes +print-type-size discriminant: 1 bytes +print-type-size variant `Err`: 15 bytes +print-type-size padding: 7 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 1 bytes +print-type-size field `.0`: 1 bytes +print-type-size type: `std::result::Result`: 16 bytes, alignment: 8 bytes +print-type-size variant `Err`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `Ok`: 12 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 4 bytes, alignment: 4 bytes +print-type-size type: `std::result::Result>`: 16 bytes, alignment: 8 bytes +print-type-size discriminant: 4 bytes +print-type-size variant `Err`: 12 bytes +print-type-size padding: 4 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 4 bytes +print-type-size field `.0`: 4 bytes +print-type-size type: `std::result::Result`: 16 bytes, alignment: 8 bytes +print-type-size discriminant: 4 bytes +print-type-size variant `Err`: 12 bytes +print-type-size padding: 4 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 4 bytes +print-type-size field `.0`: 4 bytes +print-type-size type: `std::result::Result>`: 16 bytes, alignment: 8 bytes +print-type-size discriminant: 1 bytes +print-type-size variant `Err`: 15 bytes +print-type-size padding: 7 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 1 bytes +print-type-size field `.0`: 1 bytes +print-type-size type: `std::result::Result>`: 16 bytes, alignment: 8 bytes +print-type-size discriminant: 4 bytes +print-type-size variant `Err`: 12 bytes +print-type-size padding: 4 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 4 bytes +print-type-size field `.0`: 4 bytes +print-type-size type: `std::result::Result`: 16 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 16 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `Err`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::result::Result>`: 16 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Ok`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Err`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::result::Result`: 16 bytes, alignment: 8 bytes +print-type-size discriminant: 1 bytes +print-type-size variant `Ok`: 15 bytes +print-type-size padding: 7 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `Err`: 1 bytes +print-type-size field `.0`: 1 bytes +print-type-size type: `std::result::Result>`: 16 bytes, alignment: 8 bytes +print-type-size discriminant: 2 bytes +print-type-size variant `Err`: 14 bytes +print-type-size padding: 6 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 2 bytes +print-type-size field `.0`: 2 bytes +print-type-size type: `std::result::Result>`: 16 bytes, alignment: 8 bytes +print-type-size discriminant: 4 bytes +print-type-size variant `Err`: 12 bytes +print-type-size padding: 4 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 4 bytes +print-type-size field `.0`: 4 bytes +print-type-size type: `std::result::Result`: 16 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 16 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `Err`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::result::Result>`: 16 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Ok`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Err`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::result::Result`: 16 bytes, alignment: 8 bytes +print-type-size discriminant: 1 bytes +print-type-size variant `Ok`: 15 bytes +print-type-size padding: 7 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `Err`: 1 bytes +print-type-size field `.0`: 1 bytes +print-type-size type: `std::result::Result`: 16 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Ok`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Err`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::result::Result>`: 16 bytes, alignment: 8 bytes +print-type-size discriminant: 1 bytes +print-type-size variant `Err`: 15 bytes +print-type-size padding: 7 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 1 bytes +print-type-size field `.0`: 1 bytes +print-type-size type: `std::result::Result, std::boxed::Box>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `Err`: 16 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size type: `std::result::Result, std::boxed::Box>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `Err`: 16 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size type: `std::result::Result, std::boxed::Box>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `Err`: 16 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size type: `std::result::Result, std::boxed::Box>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `Err`: 16 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size type: `std::result::Result, serde_json::ser::CompactFormatter>, serde_json::Error>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `Err`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::result::Result, serde_json::ser::PrettyFormatter<'_>>, serde_json::Error>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `Err`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::result::Result`: 16 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `Err`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::result::Result, std::boxed::Box>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 16 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `Err`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::result::Result, std::boxed::Box>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 16 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `Err`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::result::Result, std::boxed::Box>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 16 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `Err`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::result::Result, std::boxed::Box>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 16 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `Err`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::result::Result, std::boxed::Box>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 16 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `Err`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::result::Result, std::boxed::Box>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 16 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `Err`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::result::Result, std::boxed::Box>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 16 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `Err`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::result::Result, std::boxed::Box>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 16 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `Err`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::result::Result, std::boxed::Box>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 16 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `Err`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::result::Result, std::boxed::Box>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 16 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `Err`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::result::Result, std::boxed::Box>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 16 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `Err`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::result::Result, std::boxed::Box>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 16 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `Err`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::result::Result, std::boxed::Box>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 16 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `Err`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::result::Result>, std::boxed::Box>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 16 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `Err`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::result::Result>, std::boxed::Box>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 16 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `Err`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::result::Result>, std::boxed::Box>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 16 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `Err`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::result::Result>, std::boxed::Box>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 16 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `Err`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::result::Result>, std::boxed::Box>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 16 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `Err`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::result::Result>, std::boxed::Box>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 16 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `Err`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::result::Result>, std::boxed::Box>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 16 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `Err`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::result::Result>, std::boxed::Box>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 16 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `Err`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::result::Result>, std::boxed::Box>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 16 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `Err`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::result::Result>, std::boxed::Box>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 16 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `Err`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::result::Result>, std::boxed::Box>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 16 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `Err`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::result::Result>, std::boxed::Box>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 16 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `Err`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::result::Result, std::boxed::Box>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 16 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `Err`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::result::Result, types::dynamic::Dynamic>>, std::boxed::Box>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 16 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `Err`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::result::Result>, std::boxed::Box>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 16 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `Err`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::result::Result>, std::boxed::Box>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 16 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `Err`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::result::Result>, std::boxed::Box>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 16 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `Err`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::result::Result>, std::boxed::Box>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 16 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `Err`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::result::Result>, std::boxed::Box>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 16 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `Err`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::result::Result>, std::boxed::Box>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 16 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `Err`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::result::Result>, std::boxed::Box>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 16 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `Err`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::result::Result>, std::boxed::Box>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 16 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `Err`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::result::Result>, std::boxed::Box>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 16 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `Err`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::result::Result>, std::boxed::Box>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 16 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `Err`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::result::Result>, std::boxed::Box>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 16 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `Err`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::result::Result>, std::boxed::Box>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 16 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `Err`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::result::Result>, std::boxed::Box>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 16 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `Err`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::result::Result>, std::boxed::Box>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 16 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `Err`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::result::Result>, std::boxed::Box>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 16 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `Err`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::result::Result>, std::boxed::Box>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 16 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `Err`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::result::Result>, std::boxed::Box>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 16 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `Err`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::result::Result>, std::boxed::Box>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 16 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `Err`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::result::Result>, std::boxed::Box>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 16 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `Err`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::result::Result>, std::boxed::Box>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 16 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `Err`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::result::Result>, std::boxed::Box>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 16 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `Err`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::result::Result>, std::boxed::Box>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 16 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `Err`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::result::Result, std::boxed::Box>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 16 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `Err`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::result::Result>, std::boxed::Box>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 16 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `Err`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::result::Result>, std::boxed::Box>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 16 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `Err`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::result::Result, std::boxed::Box>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 16 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `Err`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::result::Result, std::boxed::Box>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 16 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `Err`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::result::Result, std::boxed::Box>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 16 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `Err`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::result::Result, std::boxed::Box>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 16 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `Err`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::result::Result, std::boxed::Box>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 16 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `Err`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::result::Result, std::boxed::Box>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 16 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `Err`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::result::Result, std::boxed::Box>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 16 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `Err`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::result::Result, std::boxed::Box>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 16 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `Err`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::result::Result>>, std::cell::BorrowError>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `Err`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::result::Result>, std::cell::BorrowError>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `Err`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::result::Result, std::cell::BorrowError>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `Err`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::result::Result, std::cell::BorrowError>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `Err`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::result::Result>>, std::cell::BorrowMutError>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `Err`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::result::Result>, std::cell::BorrowMutError>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `Err`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::result::Result, std::cell::BorrowMutError>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `Err`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::result::Result, std::cell::BorrowMutError>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `Err`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::result::Result, std::cell::BorrowMutError>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `Err`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::result::Result`: 16 bytes, alignment: 8 bytes +print-type-size variant `Err`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::result::Result`: 16 bytes, alignment: 8 bytes +print-type-size variant `Err`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::result::Result`: 16 bytes, alignment: 8 bytes +print-type-size variant `Err`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::result::Result`: 16 bytes, alignment: 8 bytes +print-type-size variant `Err`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::result::Result`: 16 bytes, alignment: 8 bytes +print-type-size variant `Err`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::result::Result`: 16 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Ok`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Err`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::result::Result, std::boxed::Box>`: 16 bytes, alignment: 8 bytes +print-type-size discriminant: 2 bytes +print-type-size variant `Err`: 14 bytes +print-type-size padding: 6 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 4 bytes +print-type-size field `.0`: 4 bytes +print-type-size type: `std::result::Result, std::boxed::Box>`: 16 bytes, alignment: 8 bytes +print-type-size discriminant: 4 bytes +print-type-size variant `Err`: 12 bytes +print-type-size padding: 4 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::result::Result, std::boxed::Box>`: 16 bytes, alignment: 8 bytes +print-type-size discriminant: 1 bytes +print-type-size variant `Err`: 15 bytes +print-type-size padding: 7 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 2 bytes +print-type-size field `.0`: 2 bytes +print-type-size type: `std::result::Result, std::boxed::Box>`: 16 bytes, alignment: 8 bytes +print-type-size discriminant: 2 bytes +print-type-size variant `Err`: 14 bytes +print-type-size padding: 6 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 4 bytes +print-type-size field `.0`: 4 bytes +print-type-size type: `std::result::Result, std::boxed::Box>`: 16 bytes, alignment: 8 bytes +print-type-size discriminant: 4 bytes +print-type-size variant `Err`: 12 bytes +print-type-size padding: 4 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::result::Result, std::boxed::Box>`: 16 bytes, alignment: 8 bytes +print-type-size discriminant: 1 bytes +print-type-size variant `Err`: 15 bytes +print-type-size padding: 7 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 2 bytes +print-type-size field `.0`: 2 bytes +print-type-size type: `std::result::Result, std::boxed::Box>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `Err`: 16 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size type: `std::result::Result, types::parse_error::ParseError>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Err`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `Ok`: 9 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 1 bytes, alignment: 1 bytes +print-type-size type: `std::result::Result, serde_json::Error>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `Err`: 16 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size type: `std::result::Result, std::boxed::Box>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `Err`: 16 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size type: `std::result::Result, types::parse_error::ParseError>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 16 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `Err`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::result::Result, std::alloc::AllocError>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `Err`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::result::Result, smallvec::CollectionAllocErr>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Err`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `Ok`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::result::Result, std::boxed::Box>`: 16 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Ok`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Err`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::result::Result>, usize>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `Err`: 16 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size type: `std::result::Result>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `Err`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::result::Result, !>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::result::Result`: 16 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `Err`: 5 bytes +print-type-size padding: 4 bytes +print-type-size field `.0`: 1 bytes, alignment: 1 bytes +print-type-size type: `std::result::Result`: 16 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `Err`: 5 bytes +print-type-size padding: 4 bytes +print-type-size field `.0`: 1 bytes, alignment: 1 bytes +print-type-size type: `std::result::Result`: 16 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `Err`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::result::Result`: 16 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `Err`: 16 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size type: `std::result::Result>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `Err`: 16 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size type: `std::result::Result`: 16 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `Err`: 16 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size type: `std::result::Result, std::num::ParseFloatError>`: 16 bytes, alignment: 8 bytes +print-type-size discriminant: 1 bytes +print-type-size variant `Ok`: 15 bytes +print-type-size padding: 7 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `Err`: 1 bytes +print-type-size field `.0`: 1 bytes +print-type-size type: `std::result::Result`: 16 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 16 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `Err`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::result::Result>`: 16 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Ok`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Err`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::result::Result>`: 16 bytes, alignment: 8 bytes +print-type-size discriminant: 2 bytes +print-type-size variant `Err`: 14 bytes +print-type-size padding: 6 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 2 bytes +print-type-size field `.0`: 2 bytes +print-type-size type: `std::result::Result>`: 16 bytes, alignment: 8 bytes +print-type-size discriminant: 4 bytes +print-type-size variant `Err`: 12 bytes +print-type-size padding: 4 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 4 bytes +print-type-size field `.0`: 4 bytes +print-type-size type: `std::result::Result>`: 16 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Ok`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Err`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::result::Result`: 16 bytes, alignment: 8 bytes +print-type-size discriminant: 1 bytes +print-type-size variant `Ok`: 15 bytes +print-type-size padding: 7 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `Err`: 1 bytes +print-type-size field `.0`: 1 bytes +print-type-size type: `std::result::Result>`: 16 bytes, alignment: 8 bytes +print-type-size discriminant: 1 bytes +print-type-size variant `Err`: 15 bytes +print-type-size padding: 7 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 1 bytes +print-type-size field `.0`: 1 bytes +print-type-size type: `std::result::Result`: 16 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Ok`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Err`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::result::Result`: 16 bytes, alignment: 8 bytes +print-type-size variant `Err`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `Ok`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::result::Result`: 16 bytes, alignment: 8 bytes +print-type-size variant `Err`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `Ok`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::result::Result>`: 16 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Ok`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Err`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::result::Result`: 16 bytes, alignment: 8 bytes +print-type-size variant `Err`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size variant `Ok`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::result::Result`: 16 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `Ok`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Err`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::slice::Iter<'_, &mut types::dynamic::Dynamic>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size field `.end`: 8 bytes +print-type-size type: `std::slice::Iter<'_, &std::string::String>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size field `.end`: 8 bytes +print-type-size type: `std::slice::Iter<'_, &str>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size field `.end`: 8 bytes +print-type-size type: `std::slice::Iter<'_, (&types::immutable_string::ImmutableString, &std::rc::Rc)>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size field `.end`: 8 bytes +print-type-size type: `std::slice::Iter<'_, (ast::ident::Ident, ast::expr::Expr)>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size field `.end`: 8 bytes +print-type-size type: `std::slice::Iter<'_, (smartstring::SmartString, types::dynamic::AccessMode, types::dynamic::Dynamic)>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size field `.end`: 8 bytes +print-type-size type: `std::slice::Iter<'_, (types::immutable_string::ImmutableString, std::option::Option, tokenizer::Position)>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size field `.end`: 8 bytes +print-type-size type: `std::slice::Iter<'_, (types::immutable_string::ImmutableString, std::rc::Rc)>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size field `.end`: 8 bytes +print-type-size type: `std::slice::Iter<'_, (types::immutable_string::ImmutableString, tokenizer::Position)>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size field `.end`: 8 bytes +print-type-size type: `std::slice::Iter<'_, ast::expr::Expr>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size field `.end`: 8 bytes +print-type-size type: `std::slice::Iter<'_, ast::ident::Ident>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size field `.end`: 8 bytes +print-type-size type: `std::slice::Iter<'_, ast::stmt::ConditionalExpr>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size field `.end`: 8 bytes +print-type-size type: `std::slice::Iter<'_, ast::stmt::RangeCase>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size field `.end`: 8 bytes +print-type-size type: `std::slice::Iter<'_, ast::stmt::Stmt>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size field `.end`: 8 bytes +print-type-size type: `std::slice::Iter<'_, char>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size field `.end`: 8 bytes +print-type-size type: `std::slice::Iter<'_, eval::cache::FnResolutionCache>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size field `.end`: 8 bytes +print-type-size type: `std::slice::Iter<'_, eval::debugger::BreakPoint>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size field `.end`: 8 bytes +print-type-size type: `std::slice::Iter<'_, eval::debugger::CallStackFrame>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size field `.end`: 8 bytes +print-type-size type: `std::slice::Iter<'_, serde::metadata::FnMetadata<'_>>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size field `.end`: 8 bytes +print-type-size type: `std::slice::Iter<'_, serde::metadata::FnParam<'_>>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size field `.end`: 8 bytes +print-type-size type: `std::slice::Iter<'_, smartstring::SmartString>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size field `.end`: 8 bytes +print-type-size type: `std::slice::Iter<'_, std::any::TypeId>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size field `.end`: 8 bytes +print-type-size type: `std::slice::Iter<'_, std::borrow::Cow<'_, str>>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size field `.end`: 8 bytes +print-type-size type: `std::slice::Iter<'_, std::boxed::Box>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size field `.end`: 8 bytes +print-type-size type: `std::slice::Iter<'_, std::boxed::Box>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size field `.end`: 8 bytes +print-type-size type: `std::slice::Iter<'_, std::path::PathBuf>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size field `.end`: 8 bytes +print-type-size type: `std::slice::Iter<'_, std::rc::Rc>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size field `.end`: 8 bytes +print-type-size type: `std::slice::Iter<'_, std::rc::Rc>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size field `.end`: 8 bytes +print-type-size type: `std::slice::Iter<'_, std::string::String>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size field `.end`: 8 bytes +print-type-size type: `std::slice::Iter<'_, std::vec::Vec>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size field `.end`: 8 bytes +print-type-size type: `std::slice::Iter<'_, types::dynamic::Dynamic>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size field `.end`: 8 bytes +print-type-size type: `std::slice::Iter<'_, types::immutable_string::ImmutableString>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size field `.end`: 8 bytes +print-type-size type: `std::slice::Iter<'_, u64>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size field `.end`: 8 bytes +print-type-size type: `std::slice::Iter<'_, u8>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size field `.end`: 8 bytes +print-type-size type: `std::slice::Iter<'_, usize>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size field `.end`: 8 bytes +print-type-size type: `std::slice::IterMut<'_, &mut types::dynamic::Dynamic>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size field `.end`: 8 bytes +print-type-size type: `std::slice::IterMut<'_, (ast::ident::Ident, ast::expr::Expr)>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size field `.end`: 8 bytes +print-type-size type: `std::slice::IterMut<'_, (types::immutable_string::ImmutableString, std::option::Option, tokenizer::Position)>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size field `.end`: 8 bytes +print-type-size type: `std::slice::IterMut<'_, ast::expr::Expr>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size field `.end`: 8 bytes +print-type-size type: `std::slice::IterMut<'_, ast::stmt::ConditionalExpr>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size field `.end`: 8 bytes +print-type-size type: `std::slice::IterMut<'_, ast::stmt::Stmt>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size field `.end`: 8 bytes +print-type-size type: `std::slice::IterMut<'_, types::dynamic::Dynamic>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size field `.end`: 8 bytes +print-type-size type: `std::slice::IterMut<'_, u8>`: 16 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size field `.end`: 8 bytes +print-type-size type: `std::slice::insert_head::InsertionHole<&module::FuncInfo>`: 16 bytes, alignment: 8 bytes +print-type-size field `.src`: 8 bytes +print-type-size field `.dest`: 8 bytes +print-type-size type: `std::slice::insert_head::InsertionHole<(&str, &std::rc::Rc)>`: 16 bytes, alignment: 8 bytes +print-type-size field `.src`: 8 bytes +print-type-size field `.dest`: 8 bytes +print-type-size type: `std::slice::insert_head::InsertionHole<(&str, &types::dynamic::Dynamic)>`: 16 bytes, alignment: 8 bytes +print-type-size field `.src`: 8 bytes +print-type-size field `.dest`: 8 bytes +print-type-size type: `std::slice::insert_head::InsertionHole<(&str, serde::metadata::ModuleMetadata<'_>)>`: 16 bytes, alignment: 8 bytes +print-type-size field `.src`: 8 bytes +print-type-size field `.dest`: 8 bytes +print-type-size type: `std::slice::insert_head::InsertionHole<(smartstring::SmartString, types::dynamic::Dynamic)>`: 16 bytes, alignment: 8 bytes +print-type-size field `.src`: 8 bytes +print-type-size field `.dest`: 8 bytes +print-type-size type: `std::slice::insert_head::InsertionHole<(std::string::String, std::string::String)>`: 16 bytes, alignment: 8 bytes +print-type-size field `.src`: 8 bytes +print-type-size field `.dest`: 8 bytes +print-type-size type: `std::slice::insert_head::InsertionHole>`: 16 bytes, alignment: 8 bytes +print-type-size field `.src`: 8 bytes +print-type-size field `.dest`: 8 bytes +print-type-size type: `std::slice::insert_head::InsertionHole`: 16 bytes, alignment: 8 bytes +print-type-size field `.src`: 8 bytes +print-type-size field `.dest`: 8 bytes +print-type-size type: `std::slice::merge_sort::Run`: 16 bytes, alignment: 8 bytes +print-type-size field `.start`: 8 bytes +print-type-size field `.len`: 8 bytes +print-type-size type: `std::str::Chars<'_>`: 16 bytes, alignment: 8 bytes +print-type-size field `.iter`: 16 bytes +print-type-size type: `std::str::Utf8Error`: 16 bytes, alignment: 8 bytes +print-type-size field `.valid_up_to`: 8 bytes +print-type-size field `.error_len`: 2 bytes +print-type-size end padding: 6 bytes +print-type-size type: `std::sys::windows::time::Instant`: 16 bytes, alignment: 8 bytes +print-type-size field `.t`: 16 bytes +print-type-size type: `std::time::Duration`: 16 bytes, alignment: 8 bytes +print-type-size field `.secs`: 8 bytes +print-type-size field `.nanos`: 4 bytes +print-type-size end padding: 4 bytes +print-type-size type: `std::time::Instant`: 16 bytes, alignment: 8 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::vec::ExtendElement`: 16 bytes, alignment: 8 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `std::vec::in_place_drop::InPlaceDrop`: 16 bytes, alignment: 8 bytes +print-type-size field `.inner`: 8 bytes +print-type-size field `.dst`: 8 bytes +print-type-size type: `std::vec::set_len_on_drop::SetLenOnDrop<'_>`: 16 bytes, alignment: 8 bytes +print-type-size field `.len`: 8 bytes +print-type-size field `.local_len`: 8 bytes +print-type-size type: `tokenizer::Token`: 16 bytes, alignment: 8 bytes +print-type-size discriminant: 4 bytes +print-type-size variant `IntegerConstant`: 12 bytes +print-type-size padding: 4 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `FloatConstant`: 12 bytes +print-type-size padding: 4 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `DecimalConstant`: 12 bytes +print-type-size padding: 4 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `Identifier`: 12 bytes +print-type-size padding: 4 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `StringConstant`: 12 bytes +print-type-size padding: 4 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `InterpolatedString`: 12 bytes +print-type-size padding: 4 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `LexError`: 12 bytes +print-type-size padding: 4 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `Comment`: 12 bytes +print-type-size padding: 4 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `Reserved`: 12 bytes +print-type-size padding: 4 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `Custom`: 12 bytes +print-type-size padding: 4 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `CharConstant`: 4 bytes +print-type-size field `.0`: 4 bytes +print-type-size variant `LeftBrace`: 0 bytes +print-type-size variant `RightBrace`: 0 bytes +print-type-size variant `LeftParen`: 0 bytes +print-type-size variant `RightParen`: 0 bytes +print-type-size variant `LeftBracket`: 0 bytes +print-type-size variant `RightBracket`: 0 bytes +print-type-size variant `Unit`: 0 bytes +print-type-size variant `Plus`: 0 bytes +print-type-size variant `UnaryPlus`: 0 bytes +print-type-size variant `Minus`: 0 bytes +print-type-size variant `UnaryMinus`: 0 bytes +print-type-size variant `Multiply`: 0 bytes +print-type-size variant `Divide`: 0 bytes +print-type-size variant `Modulo`: 0 bytes +print-type-size variant `PowerOf`: 0 bytes +print-type-size variant `LeftShift`: 0 bytes +print-type-size variant `RightShift`: 0 bytes +print-type-size variant `SemiColon`: 0 bytes +print-type-size variant `Colon`: 0 bytes +print-type-size variant `DoubleColon`: 0 bytes +print-type-size variant `DoubleArrow`: 0 bytes +print-type-size variant `Underscore`: 0 bytes +print-type-size variant `Comma`: 0 bytes +print-type-size variant `Period`: 0 bytes +print-type-size variant `Elvis`: 0 bytes +print-type-size variant `DoubleQuestion`: 0 bytes +print-type-size variant `QuestionBracket`: 0 bytes +print-type-size variant `ExclusiveRange`: 0 bytes +print-type-size variant `InclusiveRange`: 0 bytes +print-type-size variant `MapStart`: 0 bytes +print-type-size variant `Equals`: 0 bytes +print-type-size variant `True`: 0 bytes +print-type-size variant `False`: 0 bytes +print-type-size variant `Let`: 0 bytes +print-type-size variant `Const`: 0 bytes +print-type-size variant `If`: 0 bytes +print-type-size variant `Else`: 0 bytes +print-type-size variant `Switch`: 0 bytes +print-type-size variant `Do`: 0 bytes +print-type-size variant `While`: 0 bytes +print-type-size variant `Until`: 0 bytes +print-type-size variant `Loop`: 0 bytes +print-type-size variant `For`: 0 bytes +print-type-size variant `In`: 0 bytes +print-type-size variant `LessThan`: 0 bytes +print-type-size variant `GreaterThan`: 0 bytes +print-type-size variant `LessThanEqualsTo`: 0 bytes +print-type-size variant `GreaterThanEqualsTo`: 0 bytes +print-type-size variant `EqualsTo`: 0 bytes +print-type-size variant `NotEqualsTo`: 0 bytes +print-type-size variant `Bang`: 0 bytes +print-type-size variant `Pipe`: 0 bytes +print-type-size variant `Or`: 0 bytes +print-type-size variant `XOr`: 0 bytes +print-type-size variant `Ampersand`: 0 bytes +print-type-size variant `And`: 0 bytes +print-type-size variant `Fn`: 0 bytes +print-type-size variant `Continue`: 0 bytes +print-type-size variant `Break`: 0 bytes +print-type-size variant `Return`: 0 bytes +print-type-size variant `Throw`: 0 bytes +print-type-size variant `Try`: 0 bytes +print-type-size variant `Catch`: 0 bytes +print-type-size variant `PlusAssign`: 0 bytes +print-type-size variant `MinusAssign`: 0 bytes +print-type-size variant `MultiplyAssign`: 0 bytes +print-type-size variant `DivideAssign`: 0 bytes +print-type-size variant `LeftShiftAssign`: 0 bytes +print-type-size variant `RightShiftAssign`: 0 bytes +print-type-size variant `AndAssign`: 0 bytes +print-type-size variant `OrAssign`: 0 bytes +print-type-size variant `XOrAssign`: 0 bytes +print-type-size variant `ModuloAssign`: 0 bytes +print-type-size variant `PowerOfAssign`: 0 bytes +print-type-size variant `Private`: 0 bytes +print-type-size variant `Import`: 0 bytes +print-type-size variant `Export`: 0 bytes +print-type-size variant `As`: 0 bytes +print-type-size variant `EOF`: 0 bytes +print-type-size variant `NonToken`: 0 bytes +print-type-size type: `types::dynamic::Dynamic`: 16 bytes, alignment: 8 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `types::dynamic::DynamicReadLock<'_, std::collections::BTreeMap, types::dynamic::Dynamic>>`: 16 bytes, alignment: 8 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `types::dynamic::DynamicReadLock<'_, std::ops::Range>`: 16 bytes, alignment: 8 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `types::dynamic::DynamicReadLock<'_, std::ops::RangeInclusive>`: 16 bytes, alignment: 8 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `types::dynamic::DynamicReadLock<'_, std::vec::Vec>`: 16 bytes, alignment: 8 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `types::dynamic::DynamicReadLock<'_, std::vec::Vec>`: 16 bytes, alignment: 8 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `types::dynamic::DynamicReadLock<'_, types::dynamic::Dynamic>`: 16 bytes, alignment: 8 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `types::dynamic::DynamicReadLock<'_, types::fn_ptr::FnPtr>`: 16 bytes, alignment: 8 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `types::dynamic::DynamicReadLock<'_, types::immutable_string::ImmutableString>`: 16 bytes, alignment: 8 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `types::dynamic::DynamicReadLockInner<'_, std::collections::BTreeMap, types::dynamic::Dynamic>>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Reference`: 16 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `Guard`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `types::dynamic::DynamicReadLockInner<'_, std::ops::Range>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Reference`: 16 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `Guard`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `types::dynamic::DynamicReadLockInner<'_, std::ops::RangeInclusive>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Reference`: 16 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `Guard`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `types::dynamic::DynamicReadLockInner<'_, std::vec::Vec>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Reference`: 16 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `Guard`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `types::dynamic::DynamicReadLockInner<'_, std::vec::Vec>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Reference`: 16 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `Guard`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `types::dynamic::DynamicReadLockInner<'_, types::dynamic::Dynamic>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Reference`: 16 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `Guard`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `types::dynamic::DynamicReadLockInner<'_, types::fn_ptr::FnPtr>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Reference`: 16 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `Guard`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `types::dynamic::DynamicReadLockInner<'_, types::immutable_string::ImmutableString>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Reference`: 16 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `Guard`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `types::dynamic::DynamicWriteLock<'_, bool>`: 16 bytes, alignment: 8 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `types::dynamic::DynamicWriteLock<'_, char>`: 16 bytes, alignment: 8 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `types::dynamic::DynamicWriteLock<'_, f64>`: 16 bytes, alignment: 8 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `types::dynamic::DynamicWriteLock<'_, i64>`: 16 bytes, alignment: 8 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `types::dynamic::DynamicWriteLock<'_, rust_decimal::Decimal>`: 16 bytes, alignment: 8 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `types::dynamic::DynamicWriteLock<'_, std::collections::BTreeMap, types::dynamic::Dynamic>>`: 16 bytes, alignment: 8 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `types::dynamic::DynamicWriteLock<'_, std::ops::Range>`: 16 bytes, alignment: 8 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `types::dynamic::DynamicWriteLock<'_, std::ops::RangeInclusive>`: 16 bytes, alignment: 8 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `types::dynamic::DynamicWriteLock<'_, std::time::Instant>`: 16 bytes, alignment: 8 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `types::dynamic::DynamicWriteLock<'_, std::vec::Vec>`: 16 bytes, alignment: 8 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `types::dynamic::DynamicWriteLock<'_, std::vec::Vec>`: 16 bytes, alignment: 8 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `types::dynamic::DynamicWriteLock<'_, types::dynamic::Dynamic>`: 16 bytes, alignment: 8 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `types::dynamic::DynamicWriteLock<'_, types::fn_ptr::FnPtr>`: 16 bytes, alignment: 8 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `types::dynamic::DynamicWriteLock<'_, types::immutable_string::ImmutableString>`: 16 bytes, alignment: 8 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `types::dynamic::DynamicWriteLockInner<'_, bool>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Reference`: 16 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `Guard`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `types::dynamic::DynamicWriteLockInner<'_, char>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Reference`: 16 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `Guard`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `types::dynamic::DynamicWriteLockInner<'_, f64>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Reference`: 16 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `Guard`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `types::dynamic::DynamicWriteLockInner<'_, i64>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Reference`: 16 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `Guard`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `types::dynamic::DynamicWriteLockInner<'_, rust_decimal::Decimal>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Reference`: 16 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `Guard`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `types::dynamic::DynamicWriteLockInner<'_, std::collections::BTreeMap, types::dynamic::Dynamic>>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Reference`: 16 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `Guard`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `types::dynamic::DynamicWriteLockInner<'_, std::ops::Range>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Reference`: 16 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `Guard`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `types::dynamic::DynamicWriteLockInner<'_, std::ops::RangeInclusive>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Reference`: 16 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `Guard`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `types::dynamic::DynamicWriteLockInner<'_, std::time::Instant>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Reference`: 16 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `Guard`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `types::dynamic::DynamicWriteLockInner<'_, std::vec::Vec>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Reference`: 16 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `Guard`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `types::dynamic::DynamicWriteLockInner<'_, std::vec::Vec>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Reference`: 16 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `Guard`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `types::dynamic::DynamicWriteLockInner<'_, types::dynamic::Dynamic>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Reference`: 16 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `Guard`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `types::dynamic::DynamicWriteLockInner<'_, types::fn_ptr::FnPtr>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Reference`: 16 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `Guard`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `types::dynamic::DynamicWriteLockInner<'_, types::immutable_string::ImmutableString>`: 16 bytes, alignment: 8 bytes +print-type-size variant `Reference`: 16 bytes +print-type-size padding: 8 bytes +print-type-size field `.0`: 8 bytes, alignment: 8 bytes +print-type-size variant `Guard`: 16 bytes +print-type-size field `.0`: 16 bytes +print-type-size type: `types::dynamic::Union`: 16 bytes, alignment: 8 bytes +print-type-size discriminant: 1 bytes +print-type-size variant `Str`: 15 bytes +print-type-size field `.2`: 1 bytes +print-type-size padding: 2 bytes +print-type-size field `.1`: 4 bytes, alignment: 4 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Int`: 15 bytes +print-type-size field `.2`: 1 bytes +print-type-size padding: 2 bytes +print-type-size field `.1`: 4 bytes, alignment: 4 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Float`: 15 bytes +print-type-size field `.2`: 1 bytes +print-type-size padding: 2 bytes +print-type-size field `.1`: 4 bytes, alignment: 4 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Decimal`: 15 bytes +print-type-size field `.2`: 1 bytes +print-type-size padding: 2 bytes +print-type-size field `.1`: 4 bytes, alignment: 4 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Array`: 15 bytes +print-type-size field `.2`: 1 bytes +print-type-size padding: 2 bytes +print-type-size field `.1`: 4 bytes, alignment: 4 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Blob`: 15 bytes +print-type-size field `.2`: 1 bytes +print-type-size padding: 2 bytes +print-type-size field `.1`: 4 bytes, alignment: 4 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Map`: 15 bytes +print-type-size field `.2`: 1 bytes +print-type-size padding: 2 bytes +print-type-size field `.1`: 4 bytes, alignment: 4 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `FnPtr`: 15 bytes +print-type-size field `.2`: 1 bytes +print-type-size padding: 2 bytes +print-type-size field `.1`: 4 bytes, alignment: 4 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `TimeStamp`: 15 bytes +print-type-size field `.2`: 1 bytes +print-type-size padding: 2 bytes +print-type-size field `.1`: 4 bytes, alignment: 4 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Variant`: 15 bytes +print-type-size field `.2`: 1 bytes +print-type-size padding: 2 bytes +print-type-size field `.1`: 4 bytes, alignment: 4 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Shared`: 15 bytes +print-type-size field `.2`: 1 bytes +print-type-size padding: 2 bytes +print-type-size field `.1`: 4 bytes, alignment: 4 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Char`: 11 bytes +print-type-size field `.2`: 1 bytes +print-type-size padding: 2 bytes +print-type-size field `.0`: 4 bytes, alignment: 4 bytes +print-type-size field `.1`: 4 bytes +print-type-size variant `Unit`: 7 bytes +print-type-size field `.0`: 0 bytes +print-type-size field `.2`: 1 bytes +print-type-size padding: 2 bytes +print-type-size field `.1`: 4 bytes, alignment: 4 bytes +print-type-size variant `Bool`: 7 bytes +print-type-size field `.0`: 1 bytes +print-type-size field `.2`: 1 bytes +print-type-size padding: 1 bytes +print-type-size field `.1`: 4 bytes, alignment: 4 bytes +print-type-size variant `Null`: 0 bytes +print-type-size type: `types::parse_error::ParseError`: 16 bytes, alignment: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size field `.1`: 4 bytes +print-type-size end padding: 4 bytes +print-type-size type: `std::char::CaseMappingIter`: 12 bytes, alignment: 4 bytes +print-type-size variant `Three`: 12 bytes +print-type-size field `.0`: 4 bytes +print-type-size field `.1`: 4 bytes +print-type-size field `.2`: 4 bytes +print-type-size variant `Two`: 8 bytes +print-type-size field `.0`: 4 bytes +print-type-size field `.1`: 4 bytes +print-type-size variant `One`: 4 bytes +print-type-size field `.0`: 4 bytes +print-type-size variant `Zero`: 0 bytes +print-type-size type: `std::char::ToLowercase`: 12 bytes, alignment: 4 bytes +print-type-size field `.0`: 12 bytes +print-type-size type: `std::char::ToUppercase`: 12 bytes, alignment: 4 bytes +print-type-size field `.0`: 12 bytes +print-type-size type: `std::iter::Map, fn(i32) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>`: 12 bytes, alignment: 4 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 12 bytes +print-type-size type: `std::iter::Map, fn(u32) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>`: 12 bytes, alignment: 4 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 12 bytes +print-type-size type: `std::mem::ManuallyDrop<[char; 3]>`: 12 bytes, alignment: 4 bytes +print-type-size field `.value`: 12 bytes +print-type-size type: `std::mem::ManuallyDrop>`: 12 bytes, alignment: 4 bytes +print-type-size field `.value`: 12 bytes +print-type-size type: `std::mem::ManuallyDrop>`: 12 bytes, alignment: 4 bytes +print-type-size field `.value`: 12 bytes +print-type-size type: `std::mem::ManuallyDrop>`: 12 bytes, alignment: 4 bytes +print-type-size field `.value`: 12 bytes +print-type-size type: `std::mem::MaybeUninit<[char; 3]>`: 12 bytes, alignment: 4 bytes +print-type-size variant `MaybeUninit`: 12 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 12 bytes +print-type-size type: `std::mem::MaybeUninit>`: 12 bytes, alignment: 4 bytes +print-type-size variant `MaybeUninit`: 12 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 12 bytes +print-type-size type: `std::mem::MaybeUninit>`: 12 bytes, alignment: 4 bytes +print-type-size variant `MaybeUninit`: 12 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 12 bytes +print-type-size type: `std::ops::RangeInclusive`: 12 bytes, alignment: 4 bytes +print-type-size field `.start`: 4 bytes +print-type-size field `.end`: 4 bytes +print-type-size field `.exhausted`: 1 bytes +print-type-size end padding: 3 bytes +print-type-size type: `std::ops::RangeInclusive`: 12 bytes, alignment: 4 bytes +print-type-size field `.start`: 4 bytes +print-type-size field `.end`: 4 bytes +print-type-size field `.exhausted`: 1 bytes +print-type-size end padding: 3 bytes +print-type-size type: `std::option::Option>`: 12 bytes, alignment: 4 bytes +print-type-size discriminant: 4 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>`: 12 bytes, alignment: 4 bytes +print-type-size discriminant: 4 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>`: 12 bytes, alignment: 4 bytes +print-type-size variant `Some`: 12 bytes +print-type-size field `.0`: 12 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>`: 12 bytes, alignment: 4 bytes +print-type-size variant `Some`: 12 bytes +print-type-size field `.0`: 12 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: ` as std::ops::Drop>::drop::DropGuard<'_, &str, serde::metadata::ModuleMetadata<'_>, std::alloc::Global>`: 8 bytes, alignment: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: ` as std::ops::Drop>::drop::DropGuard<'_, smartstring::SmartString, smallvec::alloc::collections::btree::set_val::SetValZST, std::alloc::Global>`: 8 bytes, alignment: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: ` as std::ops::Drop>::drop::DropGuard<'_, smartstring::SmartString, std::option::Option, std::alloc::Global>`: 8 bytes, alignment: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: ` as std::ops::Drop>::drop::DropGuard<'_, smartstring::SmartString, std::rc::Rc, std::alloc::Global>`: 8 bytes, alignment: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: ` as std::ops::Drop>::drop::DropGuard<'_, smartstring::SmartString, types::custom_types::CustomTypeInfo, std::alloc::Global>`: 8 bytes, alignment: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: ` as std::ops::Drop>::drop::DropGuard<'_, smartstring::SmartString, types::dynamic::Dynamic, std::alloc::Global>`: 8 bytes, alignment: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: ` as std::ops::Drop>::drop::DropGuard<'_, std::any::TypeId, std::rc::Rc std::boxed::Box>>>>, std::alloc::Global>`: 8 bytes, alignment: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: ` as std::ops::Drop>::drop::DropGuard<'_, types::immutable_string::ImmutableString, types::dynamic::Dynamic, std::alloc::Global>`: 8 bytes, alignment: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: ` as std::ops::Drop>::drop::DropGuard<'_, u64, smallvec::SmallVec<[usize; 1]>, std::alloc::Global>`: 8 bytes, alignment: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: ` as std::ops::Drop>::drop::DropGuard<'_, '_, types::dynamic::Dynamic, std::alloc::Global>`: 8 bytes, alignment: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: ` as std::ops::Drop>::drop::DropGuard<'_, '_, u8, std::alloc::Global>`: 8 bytes, alignment: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: ` as std::ops::Drop>::drop::DropGuard<'_, &module::FuncInfo, std::alloc::Global>`: 8 bytes, alignment: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: ` as std::ops::Drop>::drop::DropGuard<'_, (&str, &std::rc::Rc), std::alloc::Global>`: 8 bytes, alignment: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: ` as std::ops::Drop>::drop::DropGuard<'_, (&str, &types::dynamic::Dynamic), std::alloc::Global>`: 8 bytes, alignment: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: ` as std::ops::Drop>::drop::DropGuard<'_, (&str, serde::metadata::ModuleMetadata<'_>), std::alloc::Global>`: 8 bytes, alignment: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: ` as std::ops::Drop>::drop::DropGuard<'_, (smartstring::SmartString, types::dynamic::Dynamic), std::alloc::Global>`: 8 bytes, alignment: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: ` as std::ops::Drop>::drop::DropGuard<'_, char, std::alloc::Global>`: 8 bytes, alignment: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: ` as std::ops::Drop>::drop::DropGuard<'_, types::dynamic::Dynamic, std::alloc::Global>`: 8 bytes, alignment: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: ` as std::ops::Drop>::drop::DropGuard<'_, types::immutable_string::ImmutableString, std::alloc::Global>`: 8 bytes, alignment: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: ` as std::ops::Drop>::drop::DropGuard<'_, u8, std::alloc::Global>`: 8 bytes, alignment: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `[closure@<&mut serde_json::ser::Serializer<&mut std::vec::Vec, serde_json::ser::PrettyFormatter<'_>> as module::_::_serde::Serializer>::collect_map<&&str, &serde::metadata::ModuleMetadata<'_>, &std::collections::BTreeMap<&str, serde::metadata::ModuleMetadata<'_>>>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@<&mut serde_json::ser::Serializer<&mut std::vec::Vec> as module::_::_serde::Serializer>::collect_map<&smartstring::SmartString, &types::dynamic::Dynamic, &std::collections::BTreeMap, types::dynamic::Dynamic>>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@<&mut serde_json::ser::Serializer<&mut std::vec::Vec> as module::_::_serde::Serializer>::collect_seq<&std::vec::Vec>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@<&str as core::slice::cmp::SliceContains>::slice_contains::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@ as std::iter::Iterator>::next::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@ as std::clone::Clone>::clone::clone_subtree<'_, smartstring::SmartString, std::rc::Rc, std::alloc::Global>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@ as std::clone::Clone>::clone::clone_subtree<'_, smartstring::SmartString, types::custom_types::CustomTypeInfo, std::alloc::Global>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@ as std::clone::Clone>::clone::clone_subtree<'_, smartstring::SmartString, types::dynamic::Dynamic, std::alloc::Global>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@ as std::clone::Clone>::clone::clone_subtree<'_, std::any::TypeId, std::rc::Rc std::boxed::Box>>>>, std::alloc::Global>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@ as std::clone::Clone>::clone::clone_subtree<'_, u64, smallvec::SmallVec<[usize; 1]>, std::alloc::Global>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@, types::dynamic::Dynamic> as std::iter::Extend<(smartstring::SmartString, types::dynamic::Dynamic)>>::extend, types::dynamic::Dynamic>>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@, for<'a> fn(&'a mut ast::stmt::Stmt) -> ast::stmt::Stmt {std::mem::take::}>, std::iter::Map, for<'a> fn(&'a mut ast::stmt::Stmt) -> ast::stmt::Stmt {std::mem::take::}>>, std::iter::Map>, for<'a> fn(&'a mut ast::stmt::Stmt) -> ast::stmt::Stmt {std::mem::take::}>> as std::iter::Iterator>::next::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@>, std::iter::Map, for<'a> fn(&'a mut types::dynamic::Dynamic) -> types::dynamic::Dynamic {std::mem::take::}>> as std::iter::Iterator>::next::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@, for<'a> fn(&'a mut ast::stmt::Stmt) -> ast::stmt::Stmt {std::mem::take::}>, std::iter::Map, for<'a> fn(&'a mut ast::stmt::Stmt) -> ast::stmt::Stmt {std::mem::take::}>> as std::iter::Iterator>::next::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@ as std::iter::Iterator>::try_fold::enumerate<'_, &&mut types::dynamic::Dynamic, (), std::ops::ControlFlow<(usize, &&mut types::dynamic::Dynamic)>, [closure@std::iter::Iterator::find::check<(usize, &&mut types::dynamic::Dynamic), [closure@src\func\call.rs:116:15: 116:24]>::{closure#0}]>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@ as std::iter::Iterator>::fold::flatten, api::custom_syntax::CustomSyntax>, (), [closure@std::iter::adapters::map::map_fold<&smartstring::SmartString, &str, (), for<'a> fn(&'a smartstring::SmartString) -> &'a str {smartstring::SmartString::::as_str}, [closure@std::iter::Iterator::for_each::call<&str, [closure@>::extend, api::custom_syntax::CustomSyntax>>>, std::collections::btree_map::Keys<'_, smartstring::SmartString, api::custom_syntax::CustomSyntax>, [closure@src\engine.rs:177:27: 177:30]>, for<'a> fn(&'a smartstring::SmartString) -> &'a str {smartstring::SmartString::::as_str}>>::{closure#0}]>::{closure#0}]>::{closure#0}]>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@ as std::iter::Iterator>::fold::flatten, std::rc::Rc>, (), [closure@std::iter::adapters::map::map_fold<&std::rc::Rc, std::iter::Map>, std::collections::hash_map::Values<'_, u64, module::FuncInfo>, [closure@src\module\mod.rs:1927:40: 1927:43]>, [closure@src\module\mod.rs:1951:31: 1951:35]>, [closure@src\module\mod.rs:1951:60: 1951:63]>, (), [closure@src\packages\lang_core.rs:272:19: 272:22], [closure@std::iter::adapters::flatten::FlattenCompat::iter_fold::flatten>, std::collections::hash_map::Values<'_, u64, module::FuncInfo>, [closure@src\module\mod.rs:1927:40: 1927:43]>, [closure@src\module\mod.rs:1951:31: 1951:35]>, [closure@src\module\mod.rs:1951:60: 1951:63]>, (), [closure@ as std::iter::Iterator>::fold::flatten>, std::collections::hash_map::Values<'_, u64, module::FuncInfo>, [closure@src\module\mod.rs:1927:40: 1927:43]>, [closure@src\module\mod.rs:1951:31: 1951:35]>, [closure@src\module\mod.rs:1951:60: 1951:63]>, (), [closure@std::iter::adapters::filter::filter_fold<(module::FnNamespace, ast::flags::FnAccess, &str, usize, &std::rc::Rc), (), [closure@src\packages\lang_core.rs:273:17: 273:35], [closure@std::iter::Iterator::for_each::call<(module::FnNamespace, ast::flags::FnAccess, &str, usize, &std::rc::Rc), [closure@src\packages\lang_core.rs:274:19: 274:28]>::{closure#0}]>::{closure#0}]>::{closure#0}]>::{closure#0}]>::{closure#0}]>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@ as std::iter::Iterator>::fold::flatten, (), &mut [closure@std::iter::Iterator::for_each::call<&module::FuncInfo, [closure@src\serde\metadata.rs:189:19: 189:22]>::{closure#0}]>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@ as std::iter::Iterator>::fold::flatten, (), [closure@std::iter::adapters::filter::filter_fold<&module::FuncInfo, (), [closure@src\module\mod.rs:1951:31: 1951:35], [closure@std::iter::adapters::map::map_fold<&module::FuncInfo, (module::FnNamespace, ast::flags::FnAccess, &str, usize, &std::rc::Rc), (), [closure@src\module\mod.rs:1951:60: 1951:63], &mut [closure@std::iter::adapters::filter::filter_fold<(module::FnNamespace, ast::flags::FnAccess, &str, usize, &std::rc::Rc), (), [closure@src\packages\lang_core.rs:237:17: 237:34], [closure@std::iter::Iterator::for_each::call<(module::FnNamespace, ast::flags::FnAccess, &str, usize, &std::rc::Rc), [closure@src\packages\lang_core.rs:238:19: 238:28]>::{closure#0}]>::{closure#0}]>::{closure#0}]>::{closure#0}]>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@ as std::iter::Iterator>::fold::flatten, (), [closure@std::iter::adapters::filter::filter_fold<&module::FuncInfo, (), [closure@src\module\mod.rs:1951:31: 1951:35], [closure@std::iter::adapters::map::map_fold<&module::FuncInfo, (module::FnNamespace, ast::flags::FnAccess, &str, usize, &std::rc::Rc), (), [closure@src\module\mod.rs:1951:60: 1951:63], &mut [closure@std::iter::adapters::filter::filter_fold<(module::FnNamespace, ast::flags::FnAccess, &str, usize, &std::rc::Rc), (), [closure@src\packages\lang_core.rs:254:17: 254:35], [closure@std::iter::Iterator::for_each::call<(module::FnNamespace, ast::flags::FnAccess, &str, usize, &std::rc::Rc), [closure@src\packages\lang_core.rs:255:19: 255:28]>::{closure#0}]>::{closure#0}]>::{closure#0}]>::{closure#0}]>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@ as std::iter::Iterator>::fold::flatten, (), [closure@std::iter::adapters::filter::filter_fold<&module::FuncInfo, (), [closure@src\module\mod.rs:1951:31: 1951:35], [closure@std::iter::adapters::map::map_fold<&module::FuncInfo, (module::FnNamespace, ast::flags::FnAccess, &str, usize, &std::rc::Rc), (), [closure@src\module\mod.rs:1951:60: 1951:63], &mut [closure@std::iter::adapters::filter::filter_fold<(module::FnNamespace, ast::flags::FnAccess, &str, usize, &std::rc::Rc), (), [closure@src\packages\lang_core.rs:273:17: 273:35], [closure@std::iter::Iterator::for_each::call<(module::FnNamespace, ast::flags::FnAccess, &str, usize, &std::rc::Rc), [closure@src\packages\lang_core.rs:274:19: 274:28]>::{closure#0}]>::{closure#0}]>::{closure#0}]>::{closure#0}]>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@ as std::iter::Iterator>::fold::flatten>, std::collections::hash_map::Values<'_, u64, module::FuncInfo>, [closure@src\module\mod.rs:1927:40: 1927:43]>, (), [closure@std::iter::Iterator::for_each::call<&module::FuncInfo, [closure@src\serde\metadata.rs:189:19: 189:22]>::{closure#0}]>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@ as std::iter::Iterator>::try_fold::flatten, std::rc::Rc>, (), std::ops::ControlFlow<&str>, [closure@std::iter::Iterator::find_map::check<(&smartstring::SmartString, &std::rc::Rc), &str, [closure@src\api\type_names.rs:209:31: 209:39]>::{closure#0}]>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@ as std::iter::Iterator>::try_fold::flatten, std::rc::Rc>, (), std::ops::ControlFlow<&str>, [closure@std::iter::Iterator::find_map::check<(&smartstring::SmartString, &std::rc::Rc), &str, [closure@src\api\type_names.rs:243:31: 243:39]>::{closure#0}]>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@ as std::iter::Iterator>::try_fold::flatten, std::rc::Rc>, (), std::ops::ControlFlow<&dyn std::ops::Fn(types::dynamic::Dynamic) -> std::boxed::Box>>>>, [closure@std::iter::Iterator::find_map::check<&std::rc::Rc, &dyn std::ops::Fn(types::dynamic::Dynamic) -> std::boxed::Box>>>, [closure@src\eval\stmt.rs:508:35: 508:38]>::{closure#0}]>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@ as std::iter::Iterator>::try_fold::flatten, std::rc::Rc>, (), std::ops::ControlFlow<(&func::callable_function::CallableFunction, std::option::Option<&types::immutable_string::ImmutableString>)>, [closure@std::iter::Iterator::find_map::check<&std::rc::Rc, (&func::callable_function::CallableFunction, std::option::Option<&types::immutable_string::ImmutableString>), [closure@src\func\call.rs:217:43: 217:46]>::{closure#0}]>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@ as std::iter::Iterator>::try_fold::flatten, std::rc::Rc>, (), std::ops::ControlFlow<()>, [closure@std::iter::Iterator::any::check<&std::rc::Rc, [closure@src\func\call.rs:258:38: 258:41]>::{closure#0}]>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@ as std::iter::Iterator>::try_fold::flatten, std::rc::Rc>, (), std::ops::ControlFlow<()>, [closure@std::iter::Iterator::any::check<&std::rc::Rc, [closure@src\func\script.rs:239:76: 239:79]>::{closure#0}]>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@ as std::iter::Iterator>::try_fold::flatten, std::rc::Rc>, (), std::ops::ControlFlow<()>, [closure@std::iter::Iterator::any::check<&std::rc::Rc, [closure@src\optimizer.rs:1252:18: 1252:21]>::{closure#0}]>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@ as std::iter::Iterator>::try_fold::flatten, (), std::ops::ControlFlow<&module::FuncInfo>, [closure@std::iter::Iterator::find::check<&module::FuncInfo, &mut [closure@src\module\mod.rs:1951:31: 1951:35]>::{closure#0}]>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@ as std::iter::Iterator>::try_fold::flatten>, std::collections::hash_map::Values<'_, u64, module::FuncInfo>, [closure@src\module\mod.rs:1927:40: 1927:43]>, [closure@src\module\mod.rs:1951:31: 1951:35]>, [closure@src\module\mod.rs:1951:60: 1951:63]>, (), std::ops::ControlFlow<()>, [closure@std::iter::Iterator::any::check<(module::FnNamespace, ast::flags::FnAccess, &str, usize, &std::rc::Rc), [closure@src\eval\expr.rs:161:26: 161:41]>::{closure#0}]>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@ as std::iter::Iterator>::try_fold::flatten, (), std::ops::ControlFlow<()>, [closure@std::iter::Iterator::any::check<&ast::ident::Ident, [closure@src\parser.rs:201:26: 201:29]>::{closure#0}]>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@ as std::iter::Iterator>::try_fold::flatten, (), std::ops::ControlFlow<()>, [closure@std::iter::Iterator::any::check<&types::immutable_string::ImmutableString, [closure@src\parser.rs:1888:34: 1888:37]>::{closure#0}]>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@ as std::iter::Iterator>::try_fold::flatten, (), std::ops::ControlFlow<()>, [closure@std::iter::Iterator::any::check<&types::immutable_string::ImmutableString, [closure@src\parser.rs:607:34: 607:37]>::{closure#0}]>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@ as std::iter::Iterator>::try_fold::flatten, (), std::ops::ControlFlow<()>, [closure@std::iter::Iterator::any::check<&types::immutable_string::ImmutableString, [closure@src\parser.rs:682:38: 682:41]>::{closure#0}]>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@ as std::iter::Iterator>::try_fold::flatten, (), std::ops::ControlFlow<()>, [closure@std::iter::Iterator::all::check<&usize, [closure@src\ast\stmt.rs:822:77: 822:81]>::{closure#0}]>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@ as std::iter::Iterator>::try_fold::flatten, (), std::ops::ControlFlow<()>, [closure@std::iter::Iterator::any::check<&usize, [closure@src\optimizer.rs:716:66: 716:70]>::{closure#0}]>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@>::extend, api::custom_syntax::CustomSyntax>>>, std::collections::btree_map::Keys<'_, smartstring::SmartString, api::custom_syntax::CustomSyntax>, [closure@src\engine.rs:177:27: 177:30]>, for<'a> fn(&'a smartstring::SmartString) -> &'a str {smartstring::SmartString::::as_str}>>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@>::extend>>>>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@>::extend>>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@>::extend>>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@::slice_contains::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@core::str::iter::MatchIndicesInternal<'_, &std::string::String>::next::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@core::str::iter::MatchIndicesInternal<'_, char>::next::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@hashbrown::map::equivalent_key::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@hashbrown::map::equivalent_key::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@hashbrown::map::equivalent_key>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@hashbrown::map::equivalent_key>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@hashbrown::map::equivalent_key::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@hashbrown::map::equivalent_key::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@hashbrown::map::make_hasher::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@hashbrown::map::make_hasher::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@hashbrown::map::make_hasher, func::hashing::StraightHasherBuilder>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@hashbrown::map::make_hasher, func::hashing::StraightHasherBuilder>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@hashbrown::map::make_hasher::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@hashbrown::map::make_hasher::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@hashbrown::raw::RawTable<(u64, func::callable_function::CallableFunction)>::reserve_rehash<[closure@hashbrown::map::make_hasher::{closure#0}]>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@hashbrown::raw::RawTable<(u64, module::FuncInfo)>::reserve_rehash<[closure@hashbrown::map::make_hasher::{closure#0}]>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@hashbrown::raw::RawTable<(u64, std::option::Option)>::reserve_rehash<[closure@hashbrown::map::make_hasher, func::hashing::StraightHasherBuilder>::{closure#0}]>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@hashbrown::raw::RawTable<(u64, std::rc::Rc)>::reserve_rehash<[closure@hashbrown::map::make_hasher, func::hashing::StraightHasherBuilder>::{closure#0}]>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@hashbrown::raw::RawTable<(u64, types::dynamic::Dynamic)>::reserve_rehash<[closure@hashbrown::map::make_hasher::{closure#0}]>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@hashbrown::raw::RawTable<(u64, types::immutable_string::ImmutableString)>::reserve_rehash<[closure@hashbrown::map::make_hasher::{closure#0}]>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@hashbrown::raw::RawTableInner::fallible_with_capacity::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@hashbrown::rustc_entry::, func::hashing::StraightHasherBuilder>>::rustc_entry::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@hashbrown::rustc_entry::>::rustc_entry::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@smallvec::alloc::raw_vec::RawVec<(types::immutable_string::ImmutableString, std::rc::Rc)>::shrink::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@smallvec::alloc::raw_vec::RawVec::shrink::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@smallvec::alloc::raw_vec::RawVec>::shrink::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\api\call_fn.rs:244:75: 244:83]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\api\call_fn.rs:262:21: 262:23]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\api\definitions\mod.rs:318:21: 318:24]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\api\definitions\mod.rs:459:40: 459:43]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\api\definitions\mod.rs:506:48: 506:51]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\api\definitions\mod.rs:511:61: 511:65]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\api\files.rs:191:40: 191:50]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\api\files.rs:20:46: 20:51]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\api\files.rs:29:49: 29:54]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\api\register.rs:747:57: 747:60]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\api\register.rs:760:25: 760:28]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\api\type_names.rs:106:23: 106:26]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\api\type_names.rs:202:23: 202:26]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\api\type_names.rs:209:31: 209:39]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\api\type_names.rs:213:29: 213:31]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\api\type_names.rs:236:23: 236:26]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\api\type_names.rs:243:31: 243:39]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\api\type_names.rs:247:29: 247:31]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\ast\ast.rs:179:18: 179:21]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\ast\expr.rs:407:48: 407:50]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\ast\stmt.rs:744:53: 744:66]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\ast\stmt.rs:822:77: 822:81]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\ast\stmt.rs:826:45: 826:48]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\eval\chaining.rs:102:56: 102:64]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\eval\chaining.rs:1041:79: 1041:87]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\eval\chaining.rs:711:67: 711:75]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\eval\chaining.rs:73:56: 73:64]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\eval\chaining.rs:786:50: 786:53]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\eval\chaining.rs:826:42: 826:45]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\eval\chaining.rs:858:50: 858:53]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\eval\chaining.rs:902:88: 902:96]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\eval\chaining.rs:963:49: 963:52]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\eval\data_check.rs:106:28: 106:33]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\eval\data_check.rs:131:18: 131:21]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\eval\data_check.rs:132:22: 132:27]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\eval\data_check.rs:161:23: 161:26]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\eval\data_check.rs:162:29: 162:36]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\eval\data_check.rs:84:28: 84:33]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\eval\data_check.rs:95:28: 95:33]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\eval\expr.rs:161:26: 161:41]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\eval\expr.rs:197:35: 197:38]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\eval\expr.rs:331:46: 331:51]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\eval\expr.rs:362:42: 362:47]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\eval\expr.rs:412:31: 412:34]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\eval\expr.rs:42:31: 42:34]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\eval\expr.rs:45:13: 45:21]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\eval\global_state.rs:106:62: 106:65]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\eval\global_state.rs:128:40: 128:43]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\eval\global_state.rs:142:46: 142:49]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\eval\global_state.rs:151:40: 151:49]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\eval\global_state.rs:155:27: 155:32]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\eval\global_state.rs:156:22: 156:25]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\eval\global_state.rs:238:47: 238:50]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\eval\global_state.rs:239:26: 239:29]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\eval\global_state.rs:253:28: 253:31]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\eval\global_state.rs:253:45: 253:48]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\eval\global_state.rs:266:40: 266:43]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\eval\global_state.rs:269:27: 269:30]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\eval\global_state.rs:269:60: 269:63]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\eval\global_state.rs:283:28: 283:31]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\eval\global_state.rs:283:45: 283:48]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\eval\global_state.rs:295:23: 295:26]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\eval\global_state.rs:295:51: 295:54]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\eval\stmt.rs:140:64: 140:72]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\eval\stmt.rs:33:77: 33:85]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\eval\stmt.rs:371:55: 371:58]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\eval\stmt.rs:393:55: 393:63]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\eval\stmt.rs:501:31: 501:34]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\eval\stmt.rs:508:35: 508:38]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\eval\stmt.rs:511:44: 511:46]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\eval\stmt.rs:515:62: 515:70]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\eval\stmt.rs:555:34: 555:39]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\eval\stmt.rs:59:56: 59:64]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\eval\stmt.rs:650:88: 650:96]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\eval\stmt.rs:660:38: 660:50]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\eval\stmt.rs:675:27: 675:30]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\eval\stmt.rs:685:27: 685:30]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\eval\stmt.rs:846:35: 846:55]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\eval\stmt.rs:848:34: 848:37]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\eval\stmt.rs:852:33: 852:40]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\eval\target.rs:266:55: 266:60]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\eval\target.rs:296:56: 296:61]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\eval\target.rs:317:55: 317:60]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\eval\target.rs:339:54: 339:59]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\func\call.rs:1043:30: 1043:35]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\func\call.rs:1175:30: 1175:43]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\func\call.rs:1207:30: 1207:43]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\func\call.rs:1239:34: 1239:47]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\func\call.rs:1286:30: 1286:43]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\func\call.rs:1315:30: 1315:43]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\func\call.rs:1324:25: 1324:27]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\func\call.rs:1383:56: 1383:64]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\func\call.rs:1393:64: 1393:72]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\func\call.rs:144:22: 144:25]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\func\call.rs:1520:60: 1520:68]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\func\call.rs:1545:13: 1545:15]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\func\call.rs:177:58: 177:64]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\func\call.rs:198:35: 198:38]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\func\call.rs:198:58: 198:61]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\func\call.rs:205:39: 205:42]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\func\call.rs:205:62: 205:65]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\func\call.rs:217:43: 217:46]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\func\call.rs:217:76: 217:79]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\func\call.rs:242:34: 242:37]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\func\call.rs:249:38: 249:41]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\func\call.rs:258:38: 258:41]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\func\call.rs:385:58: 385:66]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\func\call.rs:389:53: 389:55]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\func\call.rs:411:34: 411:39]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\func\call.rs:416:30: 416:35]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\func\call.rs:583:56: 583:64]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\func\call.rs:670:64: 670:72]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\func\call.rs:690:74: 690:82]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\func\call.rs:743:18: 743:21]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\func\hashing.rs:111:27: 111:30]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\func\hashing.rs:147:27: 147:30]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\func\hashing.rs:174:19: 174:22]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\func\script.rs:124:27: 124:35]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\func\script.rs:230:44: 230:47]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\func\script.rs:232:47: 232:50]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\func\script.rs:239:76: 239:79]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\func\script.rs:55:39: 55:41]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\module\mod.rs:1017:18: 1017:32]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\module\mod.rs:1564:23: 1564:26]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\module\mod.rs:1577:28: 1577:31]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\module\mod.rs:1588:28: 1588:31]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\module\mod.rs:1600:23: 1600:26]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\module\mod.rs:1742:61: 1742:63]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\module\mod.rs:1746:45: 1746:47]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\module\mod.rs:1760:43: 1760:45]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\module\mod.rs:2110:42: 2110:45]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\module\mod.rs:2326:28: 2326:31]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\module\mod.rs:2335:28: 2335:31]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\module\mod.rs:2424:23: 2424:26]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\module\mod.rs:2434:23: 2434:26]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\module\mod.rs:528:23: 528:26]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\module\mod.rs:623:28: 623:31]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\module\mod.rs:655:42: 655:45]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\module\mod.rs:697:23: 697:26]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\module\mod.rs:797:28: 797:31]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\module\mod.rs:816:23: 816:26]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\module\mod.rs:863:28: 863:31]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\module\mod.rs:892:59: 892:62]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\module\mod.rs:944:27: 944:30]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\module\mod.rs:957:59: 957:62]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\module\resolvers\file.rs:278:26: 278:28]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\module\resolvers\file.rs:380:22: 380:31]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\optimizer.rs:1024:53: 1024:59]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\optimizer.rs:1033:53: 1033:65]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\optimizer.rs:1094:40: 1094:43]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\optimizer.rs:1135:40: 1135:43]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\optimizer.rs:1163:96: 1163:99]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\optimizer.rs:1184:40: 1184:43]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\optimizer.rs:1241:18: 1241:21]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\optimizer.rs:1252:18: 1252:21]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\optimizer.rs:253:23: 253:34]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\optimizer.rs:264:24: 264:27]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\optimizer.rs:318:42: 318:44]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\optimizer.rs:567:30: 567:33]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\optimizer.rs:569:57: 569:60]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\optimizer.rs:616:35: 616:38]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\optimizer.rs:683:31: 683:39]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\optimizer.rs:716:66: 716:70]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\optimizer.rs:717:42: 717:45]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\optimizer.rs:890:62: 890:71]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\optimizer.rs:891:42: 891:44]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\optimizer.rs:891:63: 891:79]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\optimizer.rs:951:62: 951:71]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\optimizer.rs:952:42: 952:44]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\optimizer.rs:952:63: 952:79]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\optimizer.rs:998:35: 998:41]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\packages\arithmetic.rs:156:52: 156:54]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\packages\arithmetic.rs:169:52: 169:54]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\packages\array_basic.rs:1072:26: 1072:31]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\packages\array_basic.rs:1171:26: 1171:31]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\packages\array_basic.rs:1258:26: 1258:31]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\packages\array_basic.rs:1501:26: 1501:31]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\packages\array_basic.rs:1663:26: 1663:31]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\packages\array_basic.rs:1831:29: 1831:32]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\packages\array_basic.rs:1942:26: 1942:31]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\packages\array_basic.rs:2138:26: 2138:31]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\packages\array_basic.rs:673:30: 673:35]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\packages\array_basic.rs:762:26: 762:31]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\packages\bit_field.rs:131:53: 131:55]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\packages\bit_field.rs:217:51: 217:53]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\packages\bit_field.rs:39:51: 39:53]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\packages\bit_field.rs:69:51: 69:53]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\packages\iter_basic.rs:127:53: 127:55]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\packages\lang_core.rs:151:34: 151:49]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\packages\lang_core.rs:213:22: 213:25]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\packages\lang_core.rs:223:26: 223:29]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\packages\lang_core.rs:237:17: 237:34]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\packages\lang_core.rs:254:17: 254:35]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\packages\lang_core.rs:273:17: 273:35]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\packages\lang_core.rs:300:25: 300:42]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\packages\math_basic.rs:149:66: 149:71]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\packages\math_basic.rs:347:48: 347:53]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\packages\math_basic.rs:417:25: 417:27]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\packages\math_basic.rs:424:29: 424:31]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\packages\math_basic.rs:434:29: 434:31]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\packages\math_basic.rs:444:29: 444:31]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\packages\math_basic.rs:571:13: 571:15]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\packages\math_basic.rs:602:22: 602:25]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\packages\math_basic.rs:603:22: 603:27]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\packages\math_basic.rs:616:38: 616:41]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\packages\math_basic.rs:628:38: 628:41]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\packages\math_basic.rs:640:36: 640:39]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\packages\string_more.rs:655:36: 655:43]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\packages\string_more.rs:739:36: 739:43]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\packages\time_basic.rs:128:37: 128:39]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\packages\time_basic.rs:149:37: 149:39]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\packages\time_basic.rs:190:29: 190:31]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\packages\time_basic.rs:205:29: 205:31]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\parser.rs:1021:39: 1021:48]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\parser.rs:1237:69: 1237:71]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\parser.rs:1261:53: 1261:60]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\parser.rs:1262:57: 1262:59]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\parser.rs:1283:37: 1283:44]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\parser.rs:1284:41: 1284:43]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\parser.rs:1575:36: 1575:39]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\parser.rs:1580:31: 1580:34]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\parser.rs:1888:34: 1888:37]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\parser.rs:1892:44: 1892:47]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\parser.rs:189:46: 189:49]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\parser.rs:1935:30: 1935:33]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\parser.rs:201:26: 201:29]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\parser.rs:2078:21: 2078:23]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\parser.rs:2333:31: 2333:34]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\parser.rs:2359:31: 2359:34]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\parser.rs:241:19: 241:28]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\parser.rs:2452:35: 2452:38]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\parser.rs:2908:60: 2908:69]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\parser.rs:2913:52: 2913:61]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\parser.rs:2917:41: 2917:43]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\parser.rs:3584:46: 3584:54]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\parser.rs:3729:51: 3729:54]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\parser.rs:3794:32: 3794:35]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\parser.rs:607:34: 607:37]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\parser.rs:611:44: 611:47]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\parser.rs:682:38: 682:41]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\parser.rs:686:48: 686:51]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\serde\metadata.rs:187:17: 187:20]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\serde\metadata.rs:189:19: 189:22]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\serde\serialize.rs:66:35: 66:43]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\tokenizer.rs:1295:49: 1295:52]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\tokenizer.rs:1690:57: 1690:70]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\tokenizer.rs:1697:21: 1697:23]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\tokenizer.rs:1702:47: 1702:50]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\tokenizer.rs:1708:47: 1708:50]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\tokenizer.rs:1716:47: 1716:50]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\tokenizer.rs:1722:44: 1722:47]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\tokenizer.rs:1726:21: 1726:28]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\tokenizer.rs:1732:33: 1732:36]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\tokenizer.rs:1760:25: 1760:39]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\tokenizer.rs:1786:21: 1786:49]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\tokenizer.rs:1807:25: 1807:39]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\tokenizer.rs:2435:74: 2435:77]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\tokenizer.rs:2472:88: 2472:91]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\tokenizer.rs:2481:102: 2481:105]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\tokenizer.rs:2486:109: 2486:112]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\tokenizer.rs:2487:73: 2487:76]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\tokenizer.rs:2496:110: 2496:113]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\types\dynamic.rs:1328:29: 1328:31]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\types\dynamic.rs:557:51: 557:59]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\types\interner.rs:124:43: 124:63]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@src\types\scope.rs:442:31: 442:36]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@std::collections::BTreeMap>::retain<[closure@src\optimizer.rs:670:26: 670:35]>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@std::collections::btree_map::OccupiedEntry<'_, smartstring::SmartString, std::rc::Rc>::remove_kv::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@std::collections::btree_map::OccupiedEntry<'_, smartstring::SmartString, types::dynamic::Dynamic>::remove_kv::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@std::fmt::format::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@std::iter::DoubleEndedIterator::rfind::check<&eval::debugger::CallStackFrame, &mut [closure@src\packages\debugging.rs:44:25: 44:63]>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@std::iter::Iterator::all::check<&usize, [closure@src\ast\stmt.rs:822:77: 822:81]>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@std::iter::Iterator::any::check<&ast::ident::Ident, [closure@src\parser.rs:201:26: 201:29]>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@std::iter::Iterator::any::check<&ast::script_fn::ScriptFnDef, [closure@src\module\mod.rs:2110:42: 2110:45]>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@std::iter::Iterator::any::check<&std::rc::Rc, [closure@src\parser.rs:189:46: 189:49]>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@std::iter::Iterator::any::check<&std::rc::Rc, [closure@src\func\call.rs:258:38: 258:41]>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@std::iter::Iterator::any::check<&std::rc::Rc, [closure@src\func\script.rs:239:76: 239:79]>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@std::iter::Iterator::any::check<&std::rc::Rc, [closure@src\optimizer.rs:1241:18: 1241:21]>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@std::iter::Iterator::any::check<&std::rc::Rc, [closure@src\optimizer.rs:1252:18: 1252:21]>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@std::iter::Iterator::any::check<&types::immutable_string::ImmutableString, [closure@src\parser.rs:1888:34: 1888:37]>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@std::iter::Iterator::any::check<&types::immutable_string::ImmutableString, [closure@src\parser.rs:607:34: 607:37]>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@std::iter::Iterator::any::check<&types::immutable_string::ImmutableString, [closure@src\parser.rs:682:38: 682:41]>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@std::iter::Iterator::any::check<&usize, [closure@src\optimizer.rs:716:66: 716:70]>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@std::iter::Iterator::any::check<(&str, bool, types::dynamic::Dynamic), [closure@src\parser.rs:2908:60: 2908:69]>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@std::iter::Iterator::any::check<(&str, bool, types::dynamic::Dynamic), [closure@src\parser.rs:2913:52: 2913:61]>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@std::iter::Iterator::any::check<(module::FnNamespace, ast::flags::FnAccess, &str, usize, &std::rc::Rc), [closure@src\eval\expr.rs:161:26: 161:41]>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@std::iter::Iterator::find::check<&module::FuncInfo, &mut [closure@src\module\mod.rs:1951:31: 1951:35]>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@std::iter::Iterator::find::check<&str, &mut core::str::IsNotEmpty>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@std::iter::Iterator::find::check<(ast::ident::Ident, ast::expr::Expr), [closure@src\optimizer.rs:890:62: 890:71]>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@std::iter::Iterator::find::check<(ast::ident::Ident, ast::expr::Expr), [closure@src\optimizer.rs:951:62: 951:71]>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@std::iter::Iterator::find::check<(usize, &types::immutable_string::ImmutableString), [closure@src\parser.rs:241:19: 241:28]>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@std::iter::Iterator::find_map::check<&std::rc::Rc, &dyn std::ops::Fn(types::dynamic::Dynamic) -> std::boxed::Box>>>, [closure@src\eval\global_state.rs:295:51: 295:54]>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@std::iter::Iterator::find_map::check<&std::rc::Rc, &dyn std::ops::Fn(types::dynamic::Dynamic) -> std::boxed::Box>>>, [closure@src\eval\stmt.rs:508:35: 508:38]>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@std::iter::Iterator::find_map::check<&std::rc::Rc, (&func::callable_function::CallableFunction, std::option::Option<&types::immutable_string::ImmutableString>), [closure@src\eval\global_state.rs:269:27: 269:30]>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@std::iter::Iterator::find_map::check<&std::rc::Rc, (&func::callable_function::CallableFunction, std::option::Option<&types::immutable_string::ImmutableString>), [closure@src\func\call.rs:198:35: 198:38]>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@std::iter::Iterator::find_map::check<&std::rc::Rc, (&func::callable_function::CallableFunction, std::option::Option<&types::immutable_string::ImmutableString>), [closure@src\func\call.rs:217:43: 217:46]>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@std::iter::Iterator::find_map::check<(&smartstring::SmartString, &std::rc::Rc), &str, [closure@src\api\type_names.rs:209:31: 209:39]>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@std::iter::Iterator::find_map::check<(&smartstring::SmartString, &std::rc::Rc), &str, [closure@src\api\type_names.rs:243:31: 243:39]>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@std::iter::Iterator::find_map::check<(usize, &ast::stmt::Stmt), usize, [closure@src\optimizer.rs:253:23: 253:34]>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@std::iter::Iterator::for_each::call<&module::FuncInfo, [closure@src\serde\metadata.rs:189:19: 189:22]>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@std::iter::Iterator::for_each::call<&str, [closure@>::extend, api::custom_syntax::CustomSyntax>>>, std::collections::btree_map::Keys<'_, smartstring::SmartString, api::custom_syntax::CustomSyntax>, [closure@src\engine.rs:177:27: 177:30]>, for<'a> fn(&'a smartstring::SmartString) -> &'a str {smartstring::SmartString::::as_str}>>::{closure#0}]>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@std::iter::Iterator::for_each::call<&str, [closure@src\func\hashing.rs:111:27: 111:30]>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@std::iter::Iterator::for_each::call<&str, [closure@src\func\hashing.rs:147:27: 147:30]>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@std::iter::Iterator::for_each::call<(smartstring::SmartString, types::dynamic::Dynamic), [closure@, types::dynamic::Dynamic> as std::iter::Extend<(smartstring::SmartString, types::dynamic::Dynamic)>>::extend, types::dynamic::Dynamic>>::{closure#0}]>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@std::iter::Iterator::for_each::call<(types::immutable_string::ImmutableString, std::rc::Rc), [closure@src\func\script.rs:124:27: 124:35]>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@std::iter::Iterator::for_each::call>::extend>>>>::{closure#0}]>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@std::iter::Iterator::for_each::call>::extend>>::{closure#0}]>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@std::iter::Iterator::for_each::call>::extend>>::{closure#0}]>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@std::iter::Iterator::for_each::call::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@std::iter::Iterator::position::check<&types::immutable_string::ImmutableString, [closure@src\eval\global_state.rs:155:27: 155:32]>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@std::iter::Iterator::try_for_each::call<&(types::immutable_string::ImmutableString, std::option::Option, tokenizer::Position), std::result::Result<(), std::boxed::Box>, [closure@src\eval\stmt.rs:846:35: 846:55]>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@std::iter::Iterator::try_for_each::call<&types::dynamic::Dynamic, std::result::Result<(), serde_json::Error>, [closure@<&mut serde_json::ser::Serializer<&mut std::vec::Vec> as module::_::_serde::Serializer>::collect_seq<&std::vec::Vec>::{closure#0}]>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@std::iter::Iterator::try_for_each::call<(&&str, &serde::metadata::ModuleMetadata<'_>), std::result::Result<(), serde_json::Error>, [closure@<&mut serde_json::ser::Serializer<&mut std::vec::Vec, serde_json::ser::PrettyFormatter<'_>> as module::_::_serde::Serializer>::collect_map<&&str, &serde::metadata::ModuleMetadata<'_>, &std::collections::BTreeMap<&str, serde::metadata::ModuleMetadata<'_>>>::{closure#0}]>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@std::iter::Iterator::try_for_each::call<(&smartstring::SmartString, &types::dynamic::Dynamic), std::result::Result<(), serde_json::Error>, [closure@<&mut serde_json::ser::Serializer<&mut std::vec::Vec> as module::_::_serde::Serializer>::collect_map<&smartstring::SmartString, &types::dynamic::Dynamic, &std::collections::BTreeMap, types::dynamic::Dynamic>>::{closure#0}]>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@std::iter::Iterator::try_for_each::call<(&smartstring::SmartString, &types::dynamic::Dynamic), std::result::Result<(), serde_json::Error>, [closure@src\serde\serialize.rs:66:35: 66:43]>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@std::iter::Iterator::try_for_each::call<(usize, &u8), std::result::Result<(), std::fmt::Error>, [closure@src\types\dynamic.rs:557:51: 557:59]>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@std::iter::Peekable>::peek::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@std::iter::Peekable)>>::peek::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@std::iter::Peekable, types::dynamic::Dynamic)>>::peek::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@std::iter::Peekable>::peek::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@std::iter::adapters::copied::copy_fold<&str, (), [closure@std::iter::Iterator::for_each::call<&str, [closure@src\func\hashing.rs:111:27: 111:30]>::{closure#0}]>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@std::iter::adapters::copied::copy_fold<&str, (), [closure@std::iter::Iterator::for_each::call<&str, [closure@src\func\hashing.rs:147:27: 147:30]>::{closure#0}]>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@std::iter::adapters::copied::copy_fold>::extend>>>>::{closure#0}]>::{closure#0}]>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@std::iter::adapters::copied::copy_fold::{closure#0}]>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@std::iter::adapters::copied::copy_try_fold<&ast::expr::Expr, (), std::result::Result<(), std::boxed::Box>, &mut [closure@std::iter::Iterator::try_for_each::call<&ast::expr::Expr, std::result::Result<(), std::boxed::Box>, [closure@src\func\call.rs:1173:31: 1173:37]>::{closure#0}]>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@std::iter::adapters::filter::filter_fold<&module::FuncInfo, (), [closure@src\module\mod.rs:1951:31: 1951:35], [closure@std::iter::adapters::map::map_fold<&module::FuncInfo, (module::FnNamespace, ast::flags::FnAccess, &str, usize, &std::rc::Rc), (), [closure@src\module\mod.rs:1951:60: 1951:63], &mut [closure@std::iter::adapters::filter::filter_fold<(module::FnNamespace, ast::flags::FnAccess, &str, usize, &std::rc::Rc), (), [closure@src\packages\lang_core.rs:237:17: 237:34], [closure@std::iter::Iterator::for_each::call<(module::FnNamespace, ast::flags::FnAccess, &str, usize, &std::rc::Rc), [closure@src\packages\lang_core.rs:238:19: 238:28]>::{closure#0}]>::{closure#0}]>::{closure#0}]>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@std::iter::adapters::filter::filter_fold<&module::FuncInfo, (), [closure@src\module\mod.rs:1951:31: 1951:35], [closure@std::iter::adapters::map::map_fold<&module::FuncInfo, (module::FnNamespace, ast::flags::FnAccess, &str, usize, &std::rc::Rc), (), [closure@src\module\mod.rs:1951:60: 1951:63], &mut [closure@std::iter::adapters::filter::filter_fold<(module::FnNamespace, ast::flags::FnAccess, &str, usize, &std::rc::Rc), (), [closure@src\packages\lang_core.rs:254:17: 254:35], [closure@std::iter::Iterator::for_each::call<(module::FnNamespace, ast::flags::FnAccess, &str, usize, &std::rc::Rc), [closure@src\packages\lang_core.rs:255:19: 255:28]>::{closure#0}]>::{closure#0}]>::{closure#0}]>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@std::iter::adapters::filter::filter_fold<&module::FuncInfo, (), [closure@src\module\mod.rs:1951:31: 1951:35], [closure@std::iter::adapters::map::map_fold<&module::FuncInfo, (module::FnNamespace, ast::flags::FnAccess, &str, usize, &std::rc::Rc), (), [closure@src\module\mod.rs:1951:60: 1951:63], &mut [closure@std::iter::adapters::filter::filter_fold<(module::FnNamespace, ast::flags::FnAccess, &str, usize, &std::rc::Rc), (), [closure@src\packages\lang_core.rs:273:17: 273:35], [closure@std::iter::Iterator::for_each::call<(module::FnNamespace, ast::flags::FnAccess, &str, usize, &std::rc::Rc), [closure@src\packages\lang_core.rs:274:19: 274:28]>::{closure#0}]>::{closure#0}]>::{closure#0}]>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@std::iter::adapters::flatten::FlattenCompat::iter_fold::flatten, api::custom_syntax::CustomSyntax>, (), [closure@ as std::iter::Iterator>::fold::flatten, api::custom_syntax::CustomSyntax>, (), [closure@std::iter::adapters::map::map_fold<&smartstring::SmartString, &str, (), for<'a> fn(&'a smartstring::SmartString) -> &'a str {smartstring::SmartString::::as_str}, [closure@std::iter::Iterator::for_each::call<&str, [closure@>::extend, api::custom_syntax::CustomSyntax>>>, std::collections::btree_map::Keys<'_, smartstring::SmartString, api::custom_syntax::CustomSyntax>, [closure@src\engine.rs:177:27: 177:30]>, for<'a> fn(&'a smartstring::SmartString) -> &'a str {smartstring::SmartString::::as_str}>>::{closure#0}]>::{closure#0}]>::{closure#0}]>::{closure#0}]>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@std::iter::adapters::flatten::FlattenCompat::iter_fold::flatten, std::rc::Rc>, (), [closure@ as std::iter::Iterator>::fold::flatten, std::rc::Rc>, (), [closure@std::iter::adapters::map::map_fold<&std::rc::Rc, std::iter::Map>, std::collections::hash_map::Values<'_, u64, module::FuncInfo>, [closure@src\module\mod.rs:1927:40: 1927:43]>, [closure@src\module\mod.rs:1951:31: 1951:35]>, [closure@src\module\mod.rs:1951:60: 1951:63]>, (), [closure@src\packages\lang_core.rs:272:19: 272:22], [closure@std::iter::adapters::flatten::FlattenCompat::iter_fold::flatten>, std::collections::hash_map::Values<'_, u64, module::FuncInfo>, [closure@src\module\mod.rs:1927:40: 1927:43]>, [closure@src\module\mod.rs:1951:31: 1951:35]>, [closure@src\module\mod.rs:1951:60: 1951:63]>, (), [closure@ as std::iter::Iterator>::fold::flatten>, std::collections::hash_map::Values<'_, u64, module::FuncInfo>, [closure@src\module\mod.rs:1927:40: 1927:43]>, [closure@src\module\mod.rs:1951:31: 1951:35]>, [closure@src\module\mod.rs:1951:60: 1951:63]>, (), [closure@std::iter::adapters::filter::filter_fold<(module::FnNamespace, ast::flags::FnAccess, &str, usize, &std::rc::Rc), (), [closure@src\packages\lang_core.rs:273:17: 273:35], [closure@std::iter::Iterator::for_each::call<(module::FnNamespace, ast::flags::FnAccess, &str, usize, &std::rc::Rc), [closure@src\packages\lang_core.rs:274:19: 274:28]>::{closure#0}]>::{closure#0}]>::{closure#0}]>::{closure#0}]>::{closure#0}]>::{closure#0}]>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@std::iter::adapters::flatten::FlattenCompat::iter_fold::flatten, (), [closure@ as std::iter::Iterator>::fold::flatten, (), &mut [closure@std::iter::Iterator::for_each::call<&module::FuncInfo, [closure@src\serde\metadata.rs:189:19: 189:22]>::{closure#0}]>::{closure#0}]>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@std::iter::adapters::flatten::FlattenCompat::iter_fold::flatten, (), [closure@ as std::iter::Iterator>::fold::flatten, (), [closure@std::iter::adapters::filter::filter_fold<&module::FuncInfo, (), [closure@src\module\mod.rs:1951:31: 1951:35], [closure@std::iter::adapters::map::map_fold<&module::FuncInfo, (module::FnNamespace, ast::flags::FnAccess, &str, usize, &std::rc::Rc), (), [closure@src\module\mod.rs:1951:60: 1951:63], &mut [closure@std::iter::adapters::filter::filter_fold<(module::FnNamespace, ast::flags::FnAccess, &str, usize, &std::rc::Rc), (), [closure@src\packages\lang_core.rs:237:17: 237:34], [closure@std::iter::Iterator::for_each::call<(module::FnNamespace, ast::flags::FnAccess, &str, usize, &std::rc::Rc), [closure@src\packages\lang_core.rs:238:19: 238:28]>::{closure#0}]>::{closure#0}]>::{closure#0}]>::{closure#0}]>::{closure#0}]>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@std::iter::adapters::flatten::FlattenCompat::iter_fold::flatten, (), [closure@ as std::iter::Iterator>::fold::flatten, (), [closure@std::iter::adapters::filter::filter_fold<&module::FuncInfo, (), [closure@src\module\mod.rs:1951:31: 1951:35], [closure@std::iter::adapters::map::map_fold<&module::FuncInfo, (module::FnNamespace, ast::flags::FnAccess, &str, usize, &std::rc::Rc), (), [closure@src\module\mod.rs:1951:60: 1951:63], &mut [closure@std::iter::adapters::filter::filter_fold<(module::FnNamespace, ast::flags::FnAccess, &str, usize, &std::rc::Rc), (), [closure@src\packages\lang_core.rs:254:17: 254:35], [closure@std::iter::Iterator::for_each::call<(module::FnNamespace, ast::flags::FnAccess, &str, usize, &std::rc::Rc), [closure@src\packages\lang_core.rs:255:19: 255:28]>::{closure#0}]>::{closure#0}]>::{closure#0}]>::{closure#0}]>::{closure#0}]>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@std::iter::adapters::flatten::FlattenCompat::iter_fold::flatten, (), [closure@ as std::iter::Iterator>::fold::flatten, (), [closure@std::iter::adapters::filter::filter_fold<&module::FuncInfo, (), [closure@src\module\mod.rs:1951:31: 1951:35], [closure@std::iter::adapters::map::map_fold<&module::FuncInfo, (module::FnNamespace, ast::flags::FnAccess, &str, usize, &std::rc::Rc), (), [closure@src\module\mod.rs:1951:60: 1951:63], &mut [closure@std::iter::adapters::filter::filter_fold<(module::FnNamespace, ast::flags::FnAccess, &str, usize, &std::rc::Rc), (), [closure@src\packages\lang_core.rs:273:17: 273:35], [closure@std::iter::Iterator::for_each::call<(module::FnNamespace, ast::flags::FnAccess, &str, usize, &std::rc::Rc), [closure@src\packages\lang_core.rs:274:19: 274:28]>::{closure#0}]>::{closure#0}]>::{closure#0}]>::{closure#0}]>::{closure#0}]>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@std::iter::adapters::flatten::FlattenCompat::iter_fold::flatten, (), [closure@ as std::iter::Iterator>::fold::flatten, (), [closure@std::iter::adapters::filter::filter_fold<&module::FuncInfo, (), [closure@src\module\mod.rs:1951:31: 1951:35], [closure@std::iter::adapters::map::map_fold<&module::FuncInfo, (module::FnNamespace, ast::flags::FnAccess, &str, usize, &std::rc::Rc), (), [closure@src\module\mod.rs:1951:60: 1951:63], [closure@std::iter::adapters::filter::filter_fold<(module::FnNamespace, ast::flags::FnAccess, &str, usize, &std::rc::Rc), (), [closure@src\packages\lang_core.rs:300:25: 300:42], [closure@std::iter::Iterator::for_each::call<(module::FnNamespace, ast::flags::FnAccess, &str, usize, &std::rc::Rc), [closure@src\packages\lang_core.rs:301:27: 301:36]>::{closure#0}]>::{closure#0}]>::{closure#0}]>::{closure#0}]>::{closure#0}]>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@std::iter::adapters::flatten::FlattenCompat::iter_fold::flatten, (), [closure@ as std::iter::Iterator>::fold::flatten, (), [closure@std::iter::adapters::filter::filter_fold<&module::FuncInfo, (), [closure@src\module\mod.rs:2155:25: 2155:29], [closure@std::iter::adapters::filter::filter_fold<&module::FuncInfo, (), [closure@src\module\mod.rs:2159:25: 2159:29], [closure@std::iter::Iterator::for_each::call<&module::FuncInfo, [closure@src\module\mod.rs:2160:27: 2160:30]>::{closure#0}]>::{closure#0}]>::{closure#0}]>::{closure#0}]>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@std::iter::adapters::flatten::FlattenCompat::iter_fold::flatten>, std::collections::hash_map::Values<'_, u64, module::FuncInfo>, [closure@src\module\mod.rs:1927:40: 1927:43]>, (), [closure@ as std::iter::Iterator>::fold::flatten>, std::collections::hash_map::Values<'_, u64, module::FuncInfo>, [closure@src\module\mod.rs:1927:40: 1927:43]>, (), [closure@std::iter::Iterator::for_each::call<&module::FuncInfo, [closure@src\serde\metadata.rs:189:19: 189:22]>::{closure#0}]>::{closure#0}]>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@std::iter::adapters::flatten::FlattenCompat::iter_fold::flatten>, std::collections::hash_map::Values<'_, u64, module::FuncInfo>, [closure@src\module\mod.rs:1927:40: 1927:43]>, [closure@src\module\mod.rs:1951:31: 1951:35]>, [closure@src\module\mod.rs:1951:60: 1951:63]>, (), [closure@ as std::iter::Iterator>::fold::flatten>, std::collections::hash_map::Values<'_, u64, module::FuncInfo>, [closure@src\module\mod.rs:1927:40: 1927:43]>, [closure@src\module\mod.rs:1951:31: 1951:35]>, [closure@src\module\mod.rs:1951:60: 1951:63]>, (), [closure@std::iter::adapters::filter::filter_fold<(module::FnNamespace, ast::flags::FnAccess, &str, usize, &std::rc::Rc), (), [closure@src\packages\lang_core.rs:237:17: 237:34], [closure@std::iter::Iterator::for_each::call<(module::FnNamespace, ast::flags::FnAccess, &str, usize, &std::rc::Rc), [closure@src\packages\lang_core.rs:238:19: 238:28]>::{closure#0}]>::{closure#0}]>::{closure#0}]>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@std::iter::adapters::flatten::FlattenCompat::iter_fold::flatten>, std::collections::hash_map::Values<'_, u64, module::FuncInfo>, [closure@src\module\mod.rs:1927:40: 1927:43]>, [closure@src\module\mod.rs:1951:31: 1951:35]>, [closure@src\module\mod.rs:1951:60: 1951:63]>, (), [closure@ as std::iter::Iterator>::fold::flatten>, std::collections::hash_map::Values<'_, u64, module::FuncInfo>, [closure@src\module\mod.rs:1927:40: 1927:43]>, [closure@src\module\mod.rs:1951:31: 1951:35]>, [closure@src\module\mod.rs:1951:60: 1951:63]>, (), [closure@std::iter::adapters::filter::filter_fold<(module::FnNamespace, ast::flags::FnAccess, &str, usize, &std::rc::Rc), (), [closure@src\packages\lang_core.rs:254:17: 254:35], [closure@std::iter::Iterator::for_each::call<(module::FnNamespace, ast::flags::FnAccess, &str, usize, &std::rc::Rc), [closure@src\packages\lang_core.rs:255:19: 255:28]>::{closure#0}]>::{closure#0}]>::{closure#0}]>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@std::iter::adapters::flatten::FlattenCompat::iter_fold::flatten>, std::collections::hash_map::Values<'_, u64, module::FuncInfo>, [closure@src\module\mod.rs:1927:40: 1927:43]>, [closure@src\module\mod.rs:1951:31: 1951:35]>, [closure@src\module\mod.rs:1951:60: 1951:63]>, (), [closure@ as std::iter::Iterator>::fold::flatten>, std::collections::hash_map::Values<'_, u64, module::FuncInfo>, [closure@src\module\mod.rs:1927:40: 1927:43]>, [closure@src\module\mod.rs:1951:31: 1951:35]>, [closure@src\module\mod.rs:1951:60: 1951:63]>, (), [closure@std::iter::adapters::filter::filter_fold<(module::FnNamespace, ast::flags::FnAccess, &str, usize, &std::rc::Rc), (), [closure@src\packages\lang_core.rs:273:17: 273:35], [closure@std::iter::Iterator::for_each::call<(module::FnNamespace, ast::flags::FnAccess, &str, usize, &std::rc::Rc), [closure@src\packages\lang_core.rs:274:19: 274:28]>::{closure#0}]>::{closure#0}]>::{closure#0}]>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@std::iter::adapters::map::map_fold<&&mut types::dynamic::Dynamic, std::any::TypeId, (), [closure@src\func\call.rs:1331:81: 1331:84], [closure@std::iter::Iterator::for_each::call::{closure#0}]>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@std::iter::adapters::map::map_fold<&&mut types::dynamic::Dynamic, std::any::TypeId, (), [closure@src\func\call.rs:178:58: 178:61], [closure@std::iter::Iterator::for_each::call::{closure#0}]>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@std::iter::adapters::map::map_fold<&(types::immutable_string::ImmutableString, std::rc::Rc), (types::immutable_string::ImmutableString, std::rc::Rc), (), for<'a> fn(&'a (types::immutable_string::ImmutableString, std::rc::Rc)) -> (types::immutable_string::ImmutableString, std::rc::Rc) {<(types::immutable_string::ImmutableString, std::rc::Rc) as std::clone::Clone>::clone}, [closure@std::iter::Iterator::for_each::call<(types::immutable_string::ImmutableString, std::rc::Rc), [closure@src\func\script.rs:124:27: 124:35]>::{closure#0}]>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@std::iter::adapters::map::map_fold<&ast::ident::Ident, &str, (), for<'a> fn(&'a ast::ident::Ident) -> &'a str {ast::ident::Ident::as_str}, [closure@std::iter::Iterator::for_each::call<&str, [closure@src\func\hashing.rs:111:27: 111:30]>::{closure#0}]>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@std::iter::adapters::map::map_fold<&ast::ident::Ident, &str, (), for<'a> fn(&'a ast::ident::Ident) -> &'a str {ast::ident::Ident::as_str}, [closure@std::iter::Iterator::for_each::call<&str, [closure@src\func\hashing.rs:147:27: 147:30]>::{closure#0}]>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@std::iter::adapters::map::map_fold<&module::FuncInfo, (module::FnNamespace, ast::flags::FnAccess, &str, usize, &std::rc::Rc), (), [closure@src\module\mod.rs:1951:60: 1951:63], &mut [closure@std::iter::adapters::filter::filter_fold<(module::FnNamespace, ast::flags::FnAccess, &str, usize, &std::rc::Rc), (), [closure@src\packages\lang_core.rs:237:17: 237:34], [closure@std::iter::Iterator::for_each::call<(module::FnNamespace, ast::flags::FnAccess, &str, usize, &std::rc::Rc), [closure@src\packages\lang_core.rs:238:19: 238:28]>::{closure#0}]>::{closure#0}]>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@std::iter::adapters::map::map_fold<&module::FuncInfo, (module::FnNamespace, ast::flags::FnAccess, &str, usize, &std::rc::Rc), (), [closure@src\module\mod.rs:1951:60: 1951:63], &mut [closure@std::iter::adapters::filter::filter_fold<(module::FnNamespace, ast::flags::FnAccess, &str, usize, &std::rc::Rc), (), [closure@src\packages\lang_core.rs:254:17: 254:35], [closure@std::iter::Iterator::for_each::call<(module::FnNamespace, ast::flags::FnAccess, &str, usize, &std::rc::Rc), [closure@src\packages\lang_core.rs:255:19: 255:28]>::{closure#0}]>::{closure#0}]>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@std::iter::adapters::map::map_fold<&module::FuncInfo, (module::FnNamespace, ast::flags::FnAccess, &str, usize, &std::rc::Rc), (), [closure@src\module\mod.rs:1951:60: 1951:63], &mut [closure@std::iter::adapters::filter::filter_fold<(module::FnNamespace, ast::flags::FnAccess, &str, usize, &std::rc::Rc), (), [closure@src\packages\lang_core.rs:273:17: 273:35], [closure@std::iter::Iterator::for_each::call<(module::FnNamespace, ast::flags::FnAccess, &str, usize, &std::rc::Rc), [closure@src\packages\lang_core.rs:274:19: 274:28]>::{closure#0}]>::{closure#0}]>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@std::iter::adapters::map::map_fold<&module::Module, std::iter::Map>, std::collections::hash_map::Values<'_, u64, module::FuncInfo>, [closure@src\module\mod.rs:1927:40: 1927:43]>, [closure@src\module\mod.rs:1951:31: 1951:35]>, [closure@src\module\mod.rs:1951:60: 1951:63]>, (), for<'a> fn(&'a module::Module) -> impl std::iter::Iterator)> + 'a {module::Module::iter_script_fn}, [closure@std::iter::adapters::flatten::FlattenCompat::iter_fold::flatten>, std::collections::hash_map::Values<'_, u64, module::FuncInfo>, [closure@src\module\mod.rs:1927:40: 1927:43]>, [closure@src\module\mod.rs:1951:31: 1951:35]>, [closure@src\module\mod.rs:1951:60: 1951:63]>, (), [closure@ as std::iter::Iterator>::fold::flatten>, std::collections::hash_map::Values<'_, u64, module::FuncInfo>, [closure@src\module\mod.rs:1927:40: 1927:43]>, [closure@src\module\mod.rs:1951:31: 1951:35]>, [closure@src\module\mod.rs:1951:60: 1951:63]>, (), [closure@std::iter::adapters::filter::filter_fold<(module::FnNamespace, ast::flags::FnAccess, &str, usize, &std::rc::Rc), (), [closure@src\packages\lang_core.rs:237:17: 237:34], [closure@std::iter::Iterator::for_each::call<(module::FnNamespace, ast::flags::FnAccess, &str, usize, &std::rc::Rc), [closure@src\packages\lang_core.rs:238:19: 238:28]>::{closure#0}]>::{closure#0}]>::{closure#0}]>::{closure#0}]>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@std::iter::adapters::map::map_fold<&smartstring::SmartString, &str, (), for<'a> fn(&'a smartstring::SmartString) -> &'a str {smartstring::SmartString::::as_str}, [closure@std::iter::Iterator::for_each::call<&str, [closure@>::extend, api::custom_syntax::CustomSyntax>>>, std::collections::btree_map::Keys<'_, smartstring::SmartString, api::custom_syntax::CustomSyntax>, [closure@src\engine.rs:177:27: 177:30]>, for<'a> fn(&'a smartstring::SmartString) -> &'a str {smartstring::SmartString::::as_str}>>::{closure#0}]>::{closure#0}]>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@std::iter::adapters::map::map_fold<&std::boxed::Box, api::custom_syntax::CustomSyntax>>, std::collections::btree_map::Keys<'_, smartstring::SmartString, api::custom_syntax::CustomSyntax>, (), [closure@src\engine.rs:177:27: 177:30], [closure@std::iter::adapters::flatten::FlattenCompat::iter_fold::flatten, api::custom_syntax::CustomSyntax>, (), [closure@ as std::iter::Iterator>::fold::flatten, api::custom_syntax::CustomSyntax>, (), [closure@std::iter::adapters::map::map_fold<&smartstring::SmartString, &str, (), for<'a> fn(&'a smartstring::SmartString) -> &'a str {smartstring::SmartString::::as_str}, [closure@std::iter::Iterator::for_each::call<&str, [closure@>::extend, api::custom_syntax::CustomSyntax>>>, std::collections::btree_map::Keys<'_, smartstring::SmartString, api::custom_syntax::CustomSyntax>, [closure@src\engine.rs:177:27: 177:30]>, for<'a> fn(&'a smartstring::SmartString) -> &'a str {smartstring::SmartString::::as_str}>>::{closure#0}]>::{closure#0}]>::{closure#0}]>::{closure#0}]>::{closure#0}]>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@std::iter::adapters::map::map_fold<&std::boxed::Box, std::rc::Rc>>, std::collections::btree_map::Values<'_, smartstring::SmartString, std::rc::Rc>, (), [closure@src\packages\lang_core.rs:271:19: 271:22], [closure@std::iter::adapters::flatten::FlattenCompat::iter_fold::flatten, std::rc::Rc>, (), [closure@ as std::iter::Iterator>::fold::flatten, std::rc::Rc>, (), [closure@std::iter::adapters::map::map_fold<&std::rc::Rc, std::iter::Map>, std::collections::hash_map::Values<'_, u64, module::FuncInfo>, [closure@src\module\mod.rs:1927:40: 1927:43]>, [closure@src\module\mod.rs:1951:31: 1951:35]>, [closure@src\module\mod.rs:1951:60: 1951:63]>, (), [closure@src\packages\lang_core.rs:272:19: 272:22], [closure@std::iter::adapters::flatten::FlattenCompat::iter_fold::flatten>, std::collections::hash_map::Values<'_, u64, module::FuncInfo>, [closure@src\module\mod.rs:1927:40: 1927:43]>, [closure@src\module\mod.rs:1951:31: 1951:35]>, [closure@src\module\mod.rs:1951:60: 1951:63]>, (), [closure@ as std::iter::Iterator>::fold::flatten>, std::collections::hash_map::Values<'_, u64, module::FuncInfo>, [closure@src\module\mod.rs:1927:40: 1927:43]>, [closure@src\module\mod.rs:1951:31: 1951:35]>, [closure@src\module\mod.rs:1951:60: 1951:63]>, (), [closure@std::iter::adapters::filter::filter_fold<(module::FnNamespace, ast::flags::FnAccess, &str, usize, &std::rc::Rc), (), [closure@src\packages\lang_core.rs:273:17: 273:35], [closure@std::iter::Iterator::for_each::call<(module::FnNamespace, ast::flags::FnAccess, &str, usize, &std::rc::Rc), [closure@src\packages\lang_core.rs:274:19: 274:28]>::{closure#0}]>::{closure#0}]>::{closure#0}]>::{closure#0}]>::{closure#0}]>::{closure#0}]>::{closure#0}]>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@std::iter::adapters::map::map_fold<&std::collections::HashMap, std::collections::hash_map::Values<'_, u64, module::FuncInfo>, (), [closure@src\module\mod.rs:1927:40: 1927:43], [closure@std::iter::adapters::flatten::FlattenCompat::iter_fold::flatten, (), [closure@ as std::iter::Iterator>::fold::flatten, (), &mut [closure@std::iter::Iterator::for_each::call<&module::FuncInfo, [closure@src\serde\metadata.rs:189:19: 189:22]>::{closure#0}]>::{closure#0}]>::{closure#0}]>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@std::iter::adapters::map::map_fold<&std::collections::HashMap, std::collections::hash_map::Values<'_, u64, module::FuncInfo>, (), [closure@src\module\mod.rs:1927:40: 1927:43], [closure@std::iter::adapters::flatten::FlattenCompat::iter_fold::flatten, (), [closure@ as std::iter::Iterator>::fold::flatten, (), [closure@std::iter::adapters::filter::filter_fold<&module::FuncInfo, (), [closure@src\module\mod.rs:1951:31: 1951:35], [closure@std::iter::adapters::map::map_fold<&module::FuncInfo, (module::FnNamespace, ast::flags::FnAccess, &str, usize, &std::rc::Rc), (), [closure@src\module\mod.rs:1951:60: 1951:63], &mut [closure@std::iter::adapters::filter::filter_fold<(module::FnNamespace, ast::flags::FnAccess, &str, usize, &std::rc::Rc), (), [closure@src\packages\lang_core.rs:237:17: 237:34], [closure@std::iter::Iterator::for_each::call<(module::FnNamespace, ast::flags::FnAccess, &str, usize, &std::rc::Rc), [closure@src\packages\lang_core.rs:238:19: 238:28]>::{closure#0}]>::{closure#0}]>::{closure#0}]>::{closure#0}]>::{closure#0}]>::{closure#0}]>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@std::iter::adapters::map::map_fold<&std::collections::HashMap, std::collections::hash_map::Values<'_, u64, module::FuncInfo>, (), [closure@src\module\mod.rs:1927:40: 1927:43], [closure@std::iter::adapters::flatten::FlattenCompat::iter_fold::flatten, (), [closure@ as std::iter::Iterator>::fold::flatten, (), [closure@std::iter::adapters::filter::filter_fold<&module::FuncInfo, (), [closure@src\module\mod.rs:1951:31: 1951:35], [closure@std::iter::adapters::map::map_fold<&module::FuncInfo, (module::FnNamespace, ast::flags::FnAccess, &str, usize, &std::rc::Rc), (), [closure@src\module\mod.rs:1951:60: 1951:63], &mut [closure@std::iter::adapters::filter::filter_fold<(module::FnNamespace, ast::flags::FnAccess, &str, usize, &std::rc::Rc), (), [closure@src\packages\lang_core.rs:254:17: 254:35], [closure@std::iter::Iterator::for_each::call<(module::FnNamespace, ast::flags::FnAccess, &str, usize, &std::rc::Rc), [closure@src\packages\lang_core.rs:255:19: 255:28]>::{closure#0}]>::{closure#0}]>::{closure#0}]>::{closure#0}]>::{closure#0}]>::{closure#0}]>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@std::iter::adapters::map::map_fold<&std::collections::HashMap, std::collections::hash_map::Values<'_, u64, module::FuncInfo>, (), [closure@src\module\mod.rs:1927:40: 1927:43], [closure@std::iter::adapters::flatten::FlattenCompat::iter_fold::flatten, (), [closure@ as std::iter::Iterator>::fold::flatten, (), [closure@std::iter::adapters::filter::filter_fold<&module::FuncInfo, (), [closure@src\module\mod.rs:1951:31: 1951:35], [closure@std::iter::adapters::map::map_fold<&module::FuncInfo, (module::FnNamespace, ast::flags::FnAccess, &str, usize, &std::rc::Rc), (), [closure@src\module\mod.rs:1951:60: 1951:63], &mut [closure@std::iter::adapters::filter::filter_fold<(module::FnNamespace, ast::flags::FnAccess, &str, usize, &std::rc::Rc), (), [closure@src\packages\lang_core.rs:273:17: 273:35], [closure@std::iter::Iterator::for_each::call<(module::FnNamespace, ast::flags::FnAccess, &str, usize, &std::rc::Rc), [closure@src\packages\lang_core.rs:274:19: 274:28]>::{closure#0}]>::{closure#0}]>::{closure#0}]>::{closure#0}]>::{closure#0}]>::{closure#0}]>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@std::iter::adapters::map::map_fold<&std::collections::HashMap, std::collections::hash_map::Values<'_, u64, module::FuncInfo>, (), [closure@src\module\mod.rs:1927:40: 1927:43], [closure@std::iter::adapters::flatten::FlattenCompat::iter_fold::flatten, (), [closure@ as std::iter::Iterator>::fold::flatten, (), [closure@std::iter::adapters::filter::filter_fold<&module::FuncInfo, (), [closure@src\module\mod.rs:1951:31: 1951:35], [closure@std::iter::adapters::map::map_fold<&module::FuncInfo, (module::FnNamespace, ast::flags::FnAccess, &str, usize, &std::rc::Rc), (), [closure@src\module\mod.rs:1951:60: 1951:63], [closure@std::iter::adapters::filter::filter_fold<(module::FnNamespace, ast::flags::FnAccess, &str, usize, &std::rc::Rc), (), [closure@src\packages\lang_core.rs:300:25: 300:42], [closure@std::iter::Iterator::for_each::call<(module::FnNamespace, ast::flags::FnAccess, &str, usize, &std::rc::Rc), [closure@src\packages\lang_core.rs:301:27: 301:36]>::{closure#0}]>::{closure#0}]>::{closure#0}]>::{closure#0}]>::{closure#0}]>::{closure#0}]>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@std::iter::adapters::map::map_fold<&std::collections::HashMap, std::collections::hash_map::Values<'_, u64, module::FuncInfo>, (), [closure@src\module\mod.rs:1927:40: 1927:43], [closure@std::iter::adapters::flatten::FlattenCompat::iter_fold::flatten, (), [closure@ as std::iter::Iterator>::fold::flatten, (), [closure@std::iter::adapters::filter::filter_fold<&module::FuncInfo, (), [closure@src\module\mod.rs:2155:25: 2155:29], [closure@std::iter::adapters::filter::filter_fold<&module::FuncInfo, (), [closure@src\module\mod.rs:2159:25: 2159:29], [closure@std::iter::Iterator::for_each::call<&module::FuncInfo, [closure@src\module\mod.rs:2160:27: 2160:30]>::{closure#0}]>::{closure#0}]>::{closure#0}]>::{closure#0}]>::{closure#0}]>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@std::iter::adapters::map::map_fold<&std::rc::Rc, &module::Module, (), for<'a> fn(&'a std::rc::Rc) -> &'a module::Module { as std::convert::AsRef>::as_ref}, [closure@std::iter::adapters::map::map_fold<&module::Module, std::iter::Map>, std::collections::hash_map::Values<'_, u64, module::FuncInfo>, [closure@src\module\mod.rs:1927:40: 1927:43]>, [closure@src\module\mod.rs:1951:31: 1951:35]>, [closure@src\module\mod.rs:1951:60: 1951:63]>, (), for<'a> fn(&'a module::Module) -> impl std::iter::Iterator)> + 'a {module::Module::iter_script_fn}, [closure@std::iter::adapters::flatten::FlattenCompat::iter_fold::flatten>, std::collections::hash_map::Values<'_, u64, module::FuncInfo>, [closure@src\module\mod.rs:1927:40: 1927:43]>, [closure@src\module\mod.rs:1951:31: 1951:35]>, [closure@src\module\mod.rs:1951:60: 1951:63]>, (), [closure@ as std::iter::Iterator>::fold::flatten>, std::collections::hash_map::Values<'_, u64, module::FuncInfo>, [closure@src\module\mod.rs:1927:40: 1927:43]>, [closure@src\module\mod.rs:1951:31: 1951:35]>, [closure@src\module\mod.rs:1951:60: 1951:63]>, (), [closure@std::iter::adapters::filter::filter_fold<(module::FnNamespace, ast::flags::FnAccess, &str, usize, &std::rc::Rc), (), [closure@src\packages\lang_core.rs:237:17: 237:34], [closure@std::iter::Iterator::for_each::call<(module::FnNamespace, ast::flags::FnAccess, &str, usize, &std::rc::Rc), [closure@src\packages\lang_core.rs:238:19: 238:28]>::{closure#0}]>::{closure#0}]>::{closure#0}]>::{closure#0}]>::{closure#0}]>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@std::iter::adapters::map::map_fold<&std::rc::Rc, std::iter::FlatMap>, std::collections::hash_map::Values<'_, u64, module::FuncInfo>, [closure@src\module\mod.rs:1927:40: 1927:43]>, (), [closure@src\serde\metadata.rs:188:19: 188:22], [closure@std::iter::adapters::flatten::FlattenCompat::iter_fold::flatten>, std::collections::hash_map::Values<'_, u64, module::FuncInfo>, [closure@src\module\mod.rs:1927:40: 1927:43]>, (), [closure@ as std::iter::Iterator>::fold::flatten>, std::collections::hash_map::Values<'_, u64, module::FuncInfo>, [closure@src\module\mod.rs:1927:40: 1927:43]>, (), [closure@std::iter::Iterator::for_each::call<&module::FuncInfo, [closure@src\serde\metadata.rs:189:19: 189:22]>::{closure#0}]>::{closure#0}]>::{closure#0}]>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@std::iter::adapters::map::map_fold<&std::rc::Rc, std::iter::Map>, std::collections::hash_map::Values<'_, u64, module::FuncInfo>, [closure@src\module\mod.rs:1927:40: 1927:43]>, [closure@src\module\mod.rs:1951:31: 1951:35]>, [closure@src\module\mod.rs:1951:60: 1951:63]>, (), [closure@src\packages\lang_core.rs:253:19: 253:22], [closure@std::iter::adapters::flatten::FlattenCompat::iter_fold::flatten>, std::collections::hash_map::Values<'_, u64, module::FuncInfo>, [closure@src\module\mod.rs:1927:40: 1927:43]>, [closure@src\module\mod.rs:1951:31: 1951:35]>, [closure@src\module\mod.rs:1951:60: 1951:63]>, (), [closure@ as std::iter::Iterator>::fold::flatten>, std::collections::hash_map::Values<'_, u64, module::FuncInfo>, [closure@src\module\mod.rs:1927:40: 1927:43]>, [closure@src\module\mod.rs:1951:31: 1951:35]>, [closure@src\module\mod.rs:1951:60: 1951:63]>, (), [closure@std::iter::adapters::filter::filter_fold<(module::FnNamespace, ast::flags::FnAccess, &str, usize, &std::rc::Rc), (), [closure@src\packages\lang_core.rs:254:17: 254:35], [closure@std::iter::Iterator::for_each::call<(module::FnNamespace, ast::flags::FnAccess, &str, usize, &std::rc::Rc), [closure@src\packages\lang_core.rs:255:19: 255:28]>::{closure#0}]>::{closure#0}]>::{closure#0}]>::{closure#0}]>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@std::iter::adapters::map::map_fold<&std::rc::Rc, std::iter::Map>, std::collections::hash_map::Values<'_, u64, module::FuncInfo>, [closure@src\module\mod.rs:1927:40: 1927:43]>, [closure@src\module\mod.rs:1951:31: 1951:35]>, [closure@src\module\mod.rs:1951:60: 1951:63]>, (), [closure@src\packages\lang_core.rs:272:19: 272:22], [closure@std::iter::adapters::flatten::FlattenCompat::iter_fold::flatten>, std::collections::hash_map::Values<'_, u64, module::FuncInfo>, [closure@src\module\mod.rs:1927:40: 1927:43]>, [closure@src\module\mod.rs:1951:31: 1951:35]>, [closure@src\module\mod.rs:1951:60: 1951:63]>, (), [closure@ as std::iter::Iterator>::fold::flatten>, std::collections::hash_map::Values<'_, u64, module::FuncInfo>, [closure@src\module\mod.rs:1927:40: 1927:43]>, [closure@src\module\mod.rs:1951:31: 1951:35]>, [closure@src\module\mod.rs:1951:60: 1951:63]>, (), [closure@std::iter::adapters::filter::filter_fold<(module::FnNamespace, ast::flags::FnAccess, &str, usize, &std::rc::Rc), (), [closure@src\packages\lang_core.rs:273:17: 273:35], [closure@std::iter::Iterator::for_each::call<(module::FnNamespace, ast::flags::FnAccess, &str, usize, &std::rc::Rc), [closure@src\packages\lang_core.rs:274:19: 274:28]>::{closure#0}]>::{closure#0}]>::{closure#0}]>::{closure#0}]>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@std::iter::adapters::map::map_try_fold<'_, &(ast::ident::Ident, ast::expr::Expr), &ast::expr::Expr, (), std::ops::ControlFlow<()>, [closure@src\ast\expr.rs:762:48: 762:57], [closure@std::iter::Iterator::all::check<&ast::expr::Expr, for<'a> fn(&'a ast::expr::Expr) -> bool {ast::expr::Expr::is_pure}>::{closure#0}]>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@std::iter::adapters::map::map_try_fold<'_, &(ast::ident::Ident, ast::expr::Expr), &ast::expr::Expr, (), std::ops::ControlFlow<()>, [closure@src\ast\expr.rs:798:48: 798:60], [closure@std::iter::Iterator::all::check<&ast::expr::Expr, for<'a> fn(&'a ast::expr::Expr) -> bool {ast::expr::Expr::is_constant}>::{closure#0}]>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@std::iter::adapters::map::map_try_fold<'_, &smartstring::SmartString, usize, usize, std::option::Option, [closure@std::str::join_generic_copy>::{closure#0}::{closure#0}], fn(usize, usize) -> std::option::Option {core::num::::checked_add}>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@std::iter::adapters::map::map_try_fold<'_, &std::borrow::Cow<'_, str>, usize, usize, std::option::Option, [closure@std::str::join_generic_copy>::{closure#0}::{closure#0}], fn(usize, usize) -> std::option::Option {core::num::::checked_add}>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@std::iter::adapters::map::map_try_fold<'_, &std::string::String, usize, usize, std::option::Option, [closure@std::str::join_generic_copy::{closure#0}::{closure#0}], fn(usize, usize) -> std::option::Option {core::num::::checked_add}>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@std::rc::Rc>>::allocate_for_layout<[closure@std::rc::Rc>::new_uninit::{closure#0}], [closure@std::rc::Rc>::new_uninit::{closure#1}]>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@std::slice::::sort_by<[closure@src\api\definitions\mod.rs:433:28: 433:34]>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@std::slice::)]>::sort_by<[closure@src\api\definitions\mod.rs:405:28: 405:44]>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@std::slice::::sort_by<[closure@src\api\definitions\mod.rs:419:22: 419:38]>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@std::slice::)]>::sort_by<[closure@> as std::iter::FromIterator<(&str, serde::metadata::ModuleMetadata<'_>)>>::from_iter, std::rc::Rc>>>, std::iter::Map, std::rc::Rc>, [closure@src\module\mod.rs:1912:40: 1912:48]>, [closure@src\module\mod.rs:1912:23: 1912:26]>, [closure@src\serde\metadata.rs:157:22: 157:33]>>::{closure#0}]>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@std::slice::, types::dynamic::Dynamic)]>::sort_by<[closure@, types::dynamic::Dynamic> as std::iter::FromIterator<(smartstring::SmartString, types::dynamic::Dynamic)>>::from_iter, types::dynamic::Dynamic>, [closure@src\types\dynamic.rs:2240:26: 2240:34]>>::{closure#0}]>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@std::slice::::sort_by<[closure@src\api\definitions\mod.rs:385:19: 385:43]>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@std::slice::::sort_by<[closure@src\packages\array_basic.rs:1741:23: 1741:29]>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@std::slice::::sort_by<[closure@src\packages\array_basic.rs:1840:27: 1840:33]>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@std::slice::::sort_by<[closure@src\packages\array_basic.rs:1848:27: 1848:33]>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@std::slice::::sort_by<[closure@src\packages\array_basic.rs:1857:27: 1857:33]>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@std::slice::::sort_by<[closure@src\packages\array_basic.rs:1865:27: 1865:33]>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@std::slice::::sort_by<[closure@src\packages\array_basic.rs:1874:27: 1874:33]>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@std::slice::::sort_by<[closure@src\packages\array_basic.rs:1882:27: 1882:33]>::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `[closure@std::vec::in_place_collect::write_in_place_with_drop::{closure#0}]`: 8 bytes, alignment: 8 bytes +print-type-size end padding: 8 bytes +print-type-size type: `api::custom_syntax::Expression<'_>`: 8 bytes, alignment: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `config::hashing::HokmaLock`: 8 bytes, alignment: 8 bytes +print-type-size field `.lock`: 8 bytes +print-type-size type: `core::const_closure::ConstFnMutClosure<&mut [closure@std::iter::Iterator::for_each::call<&str, [closure@ as std::vec::spec_extend::SpecExtend<&str, std::iter::Take>>>::spec_extend::{closure#0}]>::{closure#0}], for<'a> fn(&'a mut [closure@std::iter::Iterator::for_each::call<&str, [closure@ as std::vec::spec_extend::SpecExtend<&str, std::iter::Take>>>::spec_extend::{closure#0}]>::{closure#0}], ((), &str)) -> std::ops::try_trait::NeverShortCircuit<()> {std::ops::try_trait::NeverShortCircuit::<()>::wrap_mut_2_imp::<(), &str, [closure@std::iter::Iterator::for_each::call<&str, [closure@ as std::vec::spec_extend::SpecExtend<&str, std::iter::Take>>>::spec_extend::{closure#0}]>::{closure#0}]>}>`: 8 bytes, alignment: 8 bytes +print-type-size field `.func`: 0 bytes +print-type-size field `.data`: 8 bytes +print-type-size type: `core::const_closure::ConstFnMutClosure<&mut [closure@std::iter::Iterator::for_each::call>::extend>>::{closure#0}]>::{closure#0}], for<'a> fn(&'a mut [closure@std::iter::Iterator::for_each::call>::extend>>::{closure#0}]>::{closure#0}], ((), char)) -> std::ops::try_trait::NeverShortCircuit<()> {std::ops::try_trait::NeverShortCircuit::<()>::wrap_mut_2_imp::<(), char, [closure@std::iter::Iterator::for_each::call>::extend>>::{closure#0}]>::{closure#0}]>}>`: 8 bytes, alignment: 8 bytes +print-type-size field `.func`: 0 bytes +print-type-size field `.data`: 8 bytes +print-type-size type: `core::const_closure::ConstFnMutClosure<&mut [closure@std::iter::Iterator::for_each::call>::extend>>::{closure#0}]>::{closure#0}], for<'a> fn(&'a mut [closure@std::iter::Iterator::for_each::call>::extend>>::{closure#0}]>::{closure#0}], ((), char)) -> std::ops::try_trait::NeverShortCircuit<()> {std::ops::try_trait::NeverShortCircuit::<()>::wrap_mut_2_imp::<(), char, [closure@std::iter::Iterator::for_each::call>::extend>>::{closure#0}]>::{closure#0}]>}>`: 8 bytes, alignment: 8 bytes +print-type-size field `.func`: 0 bytes +print-type-size field `.data`: 8 bytes +print-type-size type: `core::const_closure::ConstFnMutClosure<&mut [closure@std::iter::adapters::copied::copy_fold>::extend>>>>::{closure#0}]>::{closure#0}]>::{closure#0}], for<'a> fn(&'a mut [closure@std::iter::adapters::copied::copy_fold>::extend>>>>::{closure#0}]>::{closure#0}]>::{closure#0}], ((), &char)) -> std::ops::try_trait::NeverShortCircuit<()> {std::ops::try_trait::NeverShortCircuit::<()>::wrap_mut_2_imp::<(), &char, [closure@std::iter::adapters::copied::copy_fold>::extend>>>>::{closure#0}]>::{closure#0}]>::{closure#0}]>}>`: 8 bytes, alignment: 8 bytes +print-type-size field `.func`: 0 bytes +print-type-size field `.data`: 8 bytes +print-type-size type: `core::const_closure::ConstFnMutClosure<&mut [closure@std::iter::adapters::map::map_fold as std::iter::Iterator>::fold::enumerate::{closure#0}]>::{closure#0}]>::{closure#0}], for<'a> fn(&'a mut [closure@std::iter::adapters::map::map_fold as std::iter::Iterator>::fold::enumerate::{closure#0}]>::{closure#0}]>::{closure#0}], ((), char)) -> std::ops::try_trait::NeverShortCircuit<()> {std::ops::try_trait::NeverShortCircuit::<()>::wrap_mut_2_imp::<(), char, [closure@std::iter::adapters::map::map_fold as std::iter::Iterator>::fold::enumerate::{closure#0}]>::{closure#0}]>::{closure#0}]>}>`: 8 bytes, alignment: 8 bytes +print-type-size field `.func`: 0 bytes +print-type-size field `.data`: 8 bytes +print-type-size type: `func::hashing::StraightHasher`: 8 bytes, alignment: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `hashbrown::raw::Bucket<(u64, func::callable_function::CallableFunction)>`: 8 bytes, alignment: 8 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `hashbrown::raw::Bucket<(u64, module::FuncInfo)>`: 8 bytes, alignment: 8 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `hashbrown::raw::Bucket<(u64, std::option::Option)>`: 8 bytes, alignment: 8 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `hashbrown::raw::Bucket<(u64, std::rc::Rc)>`: 8 bytes, alignment: 8 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `hashbrown::raw::Bucket<(u64, types::dynamic::Dynamic)>`: 8 bytes, alignment: 8 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `hashbrown::raw::Bucket<(u64, types::immutable_string::ImmutableString)>`: 8 bytes, alignment: 8 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `hashbrown::scopeguard::ScopeGuard<&mut hashbrown::raw::RawTable<(u64, std::option::Option)>, [closure@hashbrown::raw::RawTable<(u64, std::option::Option)>::clear::{closure#0}]>`: 8 bytes, alignment: 8 bytes +print-type-size field `.dropfn`: 0 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `once_cell::race::once_box::OnceBox<[[u64; 4]; 2]>`: 8 bytes, alignment: 8 bytes +print-type-size field `.ghost`: 0 bytes +print-type-size field `.inner`: 8 bytes +print-type-size type: `packages::pkg_std::StandardPackage`: 8 bytes, alignment: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `serde::de::DynamicDeserializer<'_>`: 8 bytes, alignment: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `serde_json::Error`: 8 bytes, alignment: 8 bytes +print-type-size field `.err`: 8 bytes +print-type-size type: `serde_json::de::MapKey<'_, serde_json::de::StrRead<'_>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.de`: 8 bytes +print-type-size type: `serde_json::ser::Serializer<&mut std::vec::Vec>`: 8 bytes, alignment: 8 bytes +print-type-size field `.formatter`: 0 bytes +print-type-size field `.writer`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::borrow::DormantMutRef<'_, smallvec::alloc::collections::btree::node::NodeRef, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::borrow::DormantMutRef<'_, std::collections::BTreeMap<&str, serde::metadata::ModuleMetadata<'_>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::borrow::DormantMutRef<'_, std::collections::BTreeMap, smallvec::alloc::collections::btree::set_val::SetValZST>>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::borrow::DormantMutRef<'_, std::collections::BTreeMap, std::rc::Rc>>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::borrow::DormantMutRef<'_, std::collections::BTreeMap, types::dynamic::Dynamic>>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::borrow::DormantMutRef<'_, std::collections::BTreeMap std::boxed::Box>>>>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::borrow::DormantMutRef<'_, std::collections::BTreeMap>>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::borrow::DormantMutRef<'_, std::collections::BTreeMap>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `smallvec::alloc::collections::btree::borrow::DormantMutRef<'_, std::collections::BTreeMap>>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::any::TypeId`: 8 bytes, alignment: 8 bytes +print-type-size field `.t`: 8 bytes +print-type-size type: `std::boxed::Box<&str>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box<((types::immutable_string::ImmutableString, u64), (types::immutable_string::ImmutableString, u64), types::immutable_string::ImmutableString)>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box<()>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box<(ast::expr::Expr, ast::ident::Ident)>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box<(ast::expr::Expr, ast::stmt::StmtBlock)>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box<(ast::expr::Expr, ast::stmt::StmtBlock, ast::stmt::StmtBlock)>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box<(ast::expr::Expr, ast::stmt::SwitchCasesCollection)>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box<(ast::ident::Ident, ast::expr::Expr, std::option::Option)>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box<(ast::ident::Ident, ast::ident::Ident)>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box<(ast::ident::Ident, ast::ident::Ident, ast::expr::Expr, ast::stmt::StmtBlock)>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box<(ast::stmt::OpAssignment, ast::expr::BinaryExpr)>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box<(smallvec::SmallVec<[(ast::ident::Ident, ast::expr::Expr); 3]>, std::collections::BTreeMap, types::dynamic::Dynamic>)>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box<(std::boxed::Box std::ops::Fn(&'a engine::Engine, eval::debugger::Debugger) -> eval::debugger::Debugger>, std::boxed::Box std::ops::Fn(eval::eval_context::EvalContext<'a, 'b, 'c, 'd, 'e, 'f>, eval::debugger::DebuggerEvent<'g>, ast::ast::ASTNode<'h>, std::option::Option<&'i str>, tokenizer::Position) -> std::result::Result>>)>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box<(std::option::Option, ast::namespace::Namespace, u64, types::immutable_string::ImmutableString)>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box<[&str; 10]>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box<[&str; 11]>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box<[&str; 12]>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box<[&str; 13]>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box<[&str; 14]>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box<[&str; 15]>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box<[&str; 16]>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box<[&str; 17]>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box<[&str; 18]>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box<[&str; 19]>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box<[&str; 1]>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box<[&str; 20]>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box<[&str; 2]>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box<[&str; 3]>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box<[&str; 4]>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box<[&str; 5]>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box<[&str; 6]>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box<[&str; 7]>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box<[&str; 8]>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box<[&str; 9]>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box<[(std::string::String, std::string::String); 2]>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box<[[u64; 4]; 2]>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box<[ast::stmt::Stmt; 1]>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box<[closure@src\engine.rs:247:37: 247:40]>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box<[closure@src\engine.rs:248:37: 248:53]>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box<[closure@src\engine.rs:289:29: 289:32]>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box<[closure@src\engine.rs:290:29: 290:38]>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box<[std::any::TypeId; 10]>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box<[std::any::TypeId; 11]>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box<[std::any::TypeId; 12]>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box<[std::any::TypeId; 13]>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box<[std::any::TypeId; 14]>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box<[std::any::TypeId; 15]>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box<[std::any::TypeId; 16]>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box<[std::any::TypeId; 17]>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box<[std::any::TypeId; 18]>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box<[std::any::TypeId; 19]>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box<[std::any::TypeId; 1]>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box<[std::any::TypeId; 20]>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box<[std::any::TypeId; 2]>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box<[std::any::TypeId; 3]>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box<[std::any::TypeId; 4]>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box<[std::any::TypeId; 5]>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box<[std::any::TypeId; 6]>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box<[std::any::TypeId; 7]>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box<[std::any::TypeId; 8]>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box<[std::any::TypeId; 9]>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box<[types::dynamic::Dynamic; 2]>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box, tokenizer::Position); 5]>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box; 3]>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box, smallvec::alloc::collections::btree::set_val::SetValZST>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box, std::rc::Rc>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box, types::custom_types::CustomTypeInfo>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box, types::dynamic::Dynamic>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box std::boxed::Box>>>>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box, smallvec::alloc::collections::btree::set_val::SetValZST>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box, std::rc::Rc>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box, types::custom_types::CustomTypeInfo>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box, types::dynamic::Dynamic>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box std::boxed::Box>>>>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box, api::custom_syntax::CustomSyntax>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box, std::option::Option>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box, std::rc::Rc>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box, types::dynamic::Dynamic>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box std::boxed::Box>>>>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box, fn(f64) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box, fn(i128) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box, fn(i16) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box, fn(i32) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box, fn(i64) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box, fn(i8) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box, fn(rust_decimal::Decimal) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box, fn(u128) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box, fn(u16) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box, fn(u32) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box, fn(u64) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box, fn(u8) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>, fn(types::dynamic::Dynamic) -> std::result::Result> {std::result::Result::>::Ok}>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box, std::iter::Zip; 8]>, smallvec::IntoIter<[std::vec::Vec; 8]>>>, [closure@src\types\scope.rs:137:22: 137:46]>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box, std::iter::Zip>, std::slice::Iter<'_, std::vec::Vec>>>, [closure@src\types\scope.rs:152:22: 152:46]>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box, fn(i128) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box, fn(i16) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box, fn(i32) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box, fn(i64) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box, fn(i8) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box, fn(u128) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box, fn(u16) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box, fn(u32) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box, fn(u64) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box, fn(u8) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box, fn(i128) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box, fn(i16) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box, fn(i32) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box, fn(i64) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box, fn(i8) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box, fn(u128) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box, fn(u16) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box, fn(u32) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box, fn(u64) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box, fn(u8) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box, fn(types::dynamic::Dynamic) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box, fn(u8) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box)>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box, std::collections::BTreeMap, types::dynamic::Dynamic>)>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box, ast::namespace::Namespace, u64, types::immutable_string::ImmutableString)>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box, tokenizer::Position); 5]>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box; 3]>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box, smallvec::alloc::collections::btree::set_val::SetValZST>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box, std::rc::Rc>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box, types::custom_types::CustomTypeInfo>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box, types::dynamic::Dynamic>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box std::boxed::Box>>>>>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box, smallvec::alloc::collections::btree::set_val::SetValZST>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box, std::rc::Rc>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box, types::custom_types::CustomTypeInfo>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box, types::dynamic::Dynamic>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box std::boxed::Box>>>>>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box, std::rc::Rc>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box, types::dynamic::Dynamic>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box std::boxed::Box>>>>>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box fn(func::native::NativeCallContext<'a>, &'b mut [&'c mut types::dynamic::Dynamic]) -> std::result::Result>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::boxed::Box`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::cell::BorrowRef<'_>`: 8 bytes, alignment: 8 bytes +print-type-size field `.borrow`: 8 bytes +print-type-size type: `std::cell::BorrowRefMut<'_>`: 8 bytes, alignment: 8 bytes +print-type-size field `.borrow`: 8 bytes +print-type-size type: `std::cell::Cell`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::cell::Cell`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::cell::UnsafeCell<*mut [[u64; 4]; 2]>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::cell::UnsafeCell`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::cell::UnsafeCell`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::fs::File`: 8 bytes, alignment: 8 bytes +print-type-size field `.inner`: 8 bytes +print-type-size type: `std::io::Error`: 8 bytes, alignment: 8 bytes +print-type-size field `.repr`: 8 bytes +print-type-size type: `std::io::error::repr_bitpacked::Repr`: 8 bytes, alignment: 8 bytes +print-type-size field `.1`: 0 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::iter::Copied>`: 8 bytes, alignment: 8 bytes +print-type-size field `.it`: 8 bytes +print-type-size type: `std::iter::Map, fn(i32) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>`: 8 bytes, alignment: 4 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 8 bytes +print-type-size type: `std::iter::Map, fn(u32) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>`: 8 bytes, alignment: 4 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 8 bytes +print-type-size type: `std::iter::Map, [closure@src\module\mod.rs:1029:27: 1029:31]>`: 8 bytes, alignment: 8 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 8 bytes +print-type-size type: `std::iter::Map>>, [closure@src\parser.rs:1472:31: 1472:34]>`: 8 bytes, alignment: 8 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 8 bytes +print-type-size type: `std::iter::Map>>, [closure@src\parser.rs:200:31: 200:34]>`: 8 bytes, alignment: 8 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 8 bytes +print-type-size type: `std::iter::Map; 3]>>>, [closure@src\eval\global_state.rs:201:47: 201:50]>`: 8 bytes, alignment: 8 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 8 bytes +print-type-size type: `std::iter::Map; 3]>>>, [closure@src\eval\global_state.rs:216:47: 216:50]>`: 8 bytes, alignment: 8 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 8 bytes +print-type-size type: `std::iter::Map; 3]>>>, [closure@src\eval\global_state.rs:229:47: 229:50]>`: 8 bytes, alignment: 8 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 8 bytes +print-type-size type: `std::iter::Map>>, [closure@src\eval\global_state.rs:199:23: 199:26]>`: 8 bytes, alignment: 8 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 8 bytes +print-type-size type: `std::iter::Map>>, [closure@src\eval\global_state.rs:214:23: 214:26]>`: 8 bytes, alignment: 8 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 8 bytes +print-type-size type: `std::iter::Map>>, [closure@src\eval\global_state.rs:228:23: 228:26]>`: 8 bytes, alignment: 8 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 8 bytes +print-type-size type: `std::iter::Map>>, [closure@src\parser.rs:1436:63: 1436:66]>`: 8 bytes, alignment: 8 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 8 bytes +print-type-size type: `std::iter::Map>>, [closure@src\parser.rs:1887:39: 1887:42]>`: 8 bytes, alignment: 8 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 8 bytes +print-type-size type: `std::iter::Map>>, [closure@src\parser.rs:238:23: 238:26]>`: 8 bytes, alignment: 8 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 8 bytes +print-type-size type: `std::iter::Map>>, [closure@src\parser.rs:3315:71: 3315:74]>`: 8 bytes, alignment: 8 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 8 bytes +print-type-size type: `std::iter::Map>>, [closure@src\parser.rs:606:39: 606:42]>`: 8 bytes, alignment: 8 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 8 bytes +print-type-size type: `std::iter::Map>>, [closure@src\parser.rs:681:43: 681:46]>`: 8 bytes, alignment: 8 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 8 bytes +print-type-size type: `std::iter::Map, api::custom_syntax::CustomSyntax>>>, [closure@src\engine.rs:177:27: 177:30]>`: 8 bytes, alignment: 8 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 8 bytes +print-type-size type: `std::iter::Map, std::rc::Rc>>>, [closure@src\api\definitions\mod.rs:372:23: 372:26]>`: 8 bytes, alignment: 8 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 8 bytes +print-type-size type: `std::iter::Map, std::rc::Rc>>>, [closure@src\api\register.rs:746:66: 746:69]>`: 8 bytes, alignment: 8 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 8 bytes +print-type-size type: `std::iter::Map, std::rc::Rc>>>, [closure@src\api\type_names.rs:208:31: 208:34]>`: 8 bytes, alignment: 8 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 8 bytes +print-type-size type: `std::iter::Map, std::rc::Rc>>>, [closure@src\api\type_names.rs:242:31: 242:34]>`: 8 bytes, alignment: 8 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 8 bytes +print-type-size type: `std::iter::Map, std::rc::Rc>>>, [closure@src\eval\stmt.rs:507:35: 507:38]>`: 8 bytes, alignment: 8 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 8 bytes +print-type-size type: `std::iter::Map, std::rc::Rc>>>, [closure@src\func\call.rs:216:43: 216:46]>`: 8 bytes, alignment: 8 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 8 bytes +print-type-size type: `std::iter::Map, std::rc::Rc>>>, [closure@src\func\call.rs:257:43: 257:46]>`: 8 bytes, alignment: 8 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 8 bytes +print-type-size type: `std::iter::Map, std::rc::Rc>>>, [closure@src\func\script.rs:239:56: 239:59]>`: 8 bytes, alignment: 8 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 8 bytes +print-type-size type: `std::iter::Map, std::rc::Rc>>>, [closure@src\module\mod.rs:1912:23: 1912:26]>`: 8 bytes, alignment: 8 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 8 bytes +print-type-size type: `std::iter::Map, std::rc::Rc>>>, [closure@src\module\mod.rs:235:31: 235:34]>`: 8 bytes, alignment: 8 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 8 bytes +print-type-size type: `std::iter::Map, std::rc::Rc>>>, [closure@src\optimizer.rs:1251:23: 1251:26]>`: 8 bytes, alignment: 8 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 8 bytes +print-type-size type: `std::iter::Map, std::rc::Rc>>>, [closure@src\packages\lang_core.rs:271:19: 271:22]>`: 8 bytes, alignment: 8 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 8 bytes +print-type-size type: `std::iter::Map, std::rc::Rc>>>, [closure@src\serde\metadata.rs:174:64: 174:67]>`: 8 bytes, alignment: 8 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 8 bytes +print-type-size type: `std::iter::Map, types::dynamic::Dynamic>>>, [closure@src\module\mod.rs:1920:23: 1920:26]>`: 8 bytes, alignment: 8 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 8 bytes +print-type-size type: `std::iter::Map>>, [closure@src\parser.rs:146:27: 146:30]>`: 8 bytes, alignment: 8 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 8 bytes +print-type-size type: `std::iter::Map>, [closure@src\module\mod.rs:1927:40: 1927:43]>`: 8 bytes, alignment: 8 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 8 bytes +print-type-size type: `std::iter::Map>, [closure@src\module\mod.rs:2238:64: 2238:67]>`: 8 bytes, alignment: 8 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 8 bytes +print-type-size type: `std::mem::Discriminant`: 8 bytes, alignment: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop<&module::FuncInfo>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop<&mut types::dynamic::Dynamic>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop< as std::ops::Drop>::drop::DropGuard<'_, &str, serde::metadata::ModuleMetadata<'_>, std::alloc::Global>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop< as std::ops::Drop>::drop::DropGuard<'_, smartstring::SmartString, smallvec::alloc::collections::btree::set_val::SetValZST, std::alloc::Global>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop< as std::ops::Drop>::drop::DropGuard<'_, smartstring::SmartString, std::option::Option, std::alloc::Global>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop< as std::ops::Drop>::drop::DropGuard<'_, smartstring::SmartString, std::rc::Rc, std::alloc::Global>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop< as std::ops::Drop>::drop::DropGuard<'_, smartstring::SmartString, types::custom_types::CustomTypeInfo, std::alloc::Global>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop< as std::ops::Drop>::drop::DropGuard<'_, smartstring::SmartString, types::dynamic::Dynamic, std::alloc::Global>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop< as std::ops::Drop>::drop::DropGuard<'_, std::any::TypeId, std::rc::Rc std::boxed::Box>>>>, std::alloc::Global>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop< as std::ops::Drop>::drop::DropGuard<'_, types::immutable_string::ImmutableString, types::dynamic::Dynamic, std::alloc::Global>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop< as std::ops::Drop>::drop::DropGuard<'_, u64, smallvec::SmallVec<[usize; 1]>, std::alloc::Global>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop<[usize; 1]>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop, smallvec::alloc::collections::btree::set_val::SetValZST>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop, std::rc::Rc>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop, types::custom_types::CustomTypeInfo>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop, types::dynamic::Dynamic>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop std::boxed::Box>>>>>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop, smallvec::alloc::collections::btree::set_val::SetValZST>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop, std::rc::Rc>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop, types::custom_types::CustomTypeInfo>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop, types::dynamic::Dynamic>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop std::boxed::Box>>>>>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop)>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop, std::collections::BTreeMap, types::dynamic::Dynamic>)>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop, ast::namespace::Namespace, u64, types::immutable_string::ImmutableString)>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop, tokenizer::Position); 5]>>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop; 3]>>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop, smallvec::alloc::collections::btree::set_val::SetValZST>>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop, std::rc::Rc>>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop, types::custom_types::CustomTypeInfo>>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop, types::dynamic::Dynamic>>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop std::boxed::Box>>>>>>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop, smallvec::alloc::collections::btree::set_val::SetValZST>>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop, std::rc::Rc>>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop, types::custom_types::CustomTypeInfo>>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop, types::dynamic::Dynamic>>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop std::boxed::Box>>>>>>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop, std::rc::Rc>>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop, types::dynamic::Dynamic>>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop std::boxed::Box>>>>>>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop fn(func::native::NativeCallContext<'a>, &'b mut [&'c mut types::dynamic::Dynamic]) -> std::result::Result>>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>`: 8 bytes, alignment: 4 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>`: 8 bytes, alignment: 4 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop; 3]>>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop, api::custom_syntax::CustomSyntax>>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop, std::rc::Rc>>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop, types::dynamic::Dynamic>>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop; 3]>>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop, std::rc::Rc>>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop, types::dynamic::Dynamic>>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop std::boxed::Box>>>>>>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop, api::custom_syntax::CustomSyntax>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop, smallvec::alloc::collections::btree::set_val::SetValZST>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop, std::option::Option>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop, std::rc::Rc>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop, types::custom_types::CustomTypeInfo>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop, types::dynamic::Dynamic>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop std::boxed::Box>>>>>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop>`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::ManuallyDrop`: 8 bytes, alignment: 8 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::MaybeUninit<&module::FuncInfo>`: 8 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 8 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::MaybeUninit<&mut types::dynamic::Dynamic>`: 8 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 8 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::MaybeUninit<[usize; 1]>`: 8 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 8 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::MaybeUninit`: 8 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 8 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::MaybeUninit`: 8 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 8 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::MaybeUninit`: 8 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 8 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::MaybeUninit>`: 8 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 8 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::MaybeUninit>`: 8 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 8 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::MaybeUninit>`: 8 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 8 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::MaybeUninit>`: 8 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 8 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::MaybeUninit>`: 8 bytes, alignment: 4 bytes +print-type-size variant `MaybeUninit`: 8 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::MaybeUninit>`: 8 bytes, alignment: 4 bytes +print-type-size variant `MaybeUninit`: 8 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::MaybeUninit>`: 8 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 8 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::MaybeUninit>`: 8 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 8 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::MaybeUninit>`: 8 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 8 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::MaybeUninit>`: 8 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 8 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::MaybeUninit>>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 8 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::MaybeUninit; 3]>>>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 8 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::MaybeUninit>>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 8 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::MaybeUninit, api::custom_syntax::CustomSyntax>>>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 8 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::MaybeUninit, std::rc::Rc>>>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 8 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::MaybeUninit, types::dynamic::Dynamic>>>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 8 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::MaybeUninit>>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 8 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::MaybeUninit>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 8 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::MaybeUninit>`: 8 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 8 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::MaybeUninit>`: 8 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 8 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::MaybeUninit, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 8 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::MaybeUninit>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 8 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::MaybeUninit>>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 8 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::MaybeUninit; 3]>>>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 8 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::MaybeUninit>>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 8 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::MaybeUninit, std::rc::Rc>>>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 8 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::MaybeUninit, types::dynamic::Dynamic>>>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 8 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::MaybeUninit std::boxed::Box>>>>>>>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 8 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::MaybeUninit>>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 8 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::MaybeUninit>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 8 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::MaybeUninit>>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 8 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::MaybeUninit>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 8 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::MaybeUninit>>>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 8 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::MaybeUninit>`: 8 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 8 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::MaybeUninit>>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 8 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::MaybeUninit, api::custom_syntax::CustomSyntax>>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 8 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::MaybeUninit, smallvec::alloc::collections::btree::set_val::SetValZST>>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 8 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::MaybeUninit, std::option::Option>>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 8 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::MaybeUninit, std::rc::Rc>>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 8 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::MaybeUninit, types::custom_types::CustomTypeInfo>>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 8 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::MaybeUninit, types::dynamic::Dynamic>>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 8 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::MaybeUninit std::boxed::Box>>>>>>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 8 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::MaybeUninit>>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 8 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::MaybeUninit>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 8 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::MaybeUninit>>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 8 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::MaybeUninit>`: 8 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 8 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::MaybeUninit>`: 8 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 8 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::MaybeUninit>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 8 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::MaybeUninit`: 8 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 8 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::MaybeUninit`: 8 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 8 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::mem::MaybeUninit`: 8 bytes, alignment: 8 bytes +print-type-size variant `MaybeUninit`: 8 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 8 bytes +print-type-size type: `std::num::NonZeroU64`: 8 bytes, alignment: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::num::NonZeroUsize`: 8 bytes, alignment: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::ops::ControlFlow<&eval::debugger::CallStackFrame, std::convert::Infallible>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Break`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::ops::ControlFlow<&eval::debugger::CallStackFrame>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Break`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Continue`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::ops::ControlFlow<&module::FuncInfo, std::convert::Infallible>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Break`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::ops::ControlFlow<&module::FuncInfo>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Break`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Continue`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::ops::ControlFlow>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Break`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Continue`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::ops::ControlFlow>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Break`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Continue`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::ops::ControlFlow, &&mut types::dynamic::Dynamic>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Continue`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Break`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::ops::ControlFlow, &eval::debugger::BreakPoint>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Continue`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Break`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::ops::ControlFlow, &eval::debugger::CallStackFrame>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Continue`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Break`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::ops::ControlFlow, &mut smallvec::alloc::collections::btree::node::NodeRef, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Continue`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Break`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::ops::ControlFlow, &mut smallvec::alloc::collections::btree::node::NodeRef, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Continue`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Break`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::ops::ControlFlow, &mut smallvec::alloc::collections::btree::node::NodeRef>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Continue`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Break`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::ops::ControlFlow, &mut std::collections::btree_map::Iter<'_, smartstring::SmartString, std::rc::Rc>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Continue`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Break`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::ops::ControlFlow, &mut std::collections::btree_map::Keys<'_, smartstring::SmartString, std::rc::Rc>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Continue`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Break`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::ops::ControlFlow, &mut std::collections::hash_map::Iter<'_, u64, module::FuncInfo>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Continue`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Break`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::ops::ControlFlow, &mut std::collections::hash_map::Values<'_, u64, module::FuncInfo>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Continue`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Break`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::ops::ControlFlow, &mut std::iter::Chain, for<'a> fn(&'a mut ast::stmt::Stmt) -> ast::stmt::Stmt {std::mem::take::}>, std::iter::Map, for<'a> fn(&'a mut ast::stmt::Stmt) -> ast::stmt::Stmt {std::mem::take::}>>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Continue`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Break`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::ops::ControlFlow, &mut std::iter::Cloned>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Continue`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Break`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::ops::ControlFlow, &mut std::iter::FlatMap, types::dynamic::Dynamic>>>, std::iter::Map, types::dynamic::Dynamic>, [closure@src\module\mod.rs:1920:40: 1920:48]>, [closure@src\module\mod.rs:1920:23: 1920:26]>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Continue`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Break`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::ops::ControlFlow, &mut std::iter::Map, std::rc::Rc>, [closure@src\module\mod.rs:1912:40: 1912:48]>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Continue`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Break`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::ops::ControlFlow, &mut std::iter::Map, types::dynamic::Dynamic>, [closure@src\module\mod.rs:1920:40: 1920:48]>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Continue`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Break`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::ops::ControlFlow, &mut std::iter::Map>, std::collections::hash_map::Values<'_, u64, module::FuncInfo>, [closure@src\module\mod.rs:1927:40: 1927:43]>, [closure@src\module\mod.rs:1951:31: 1951:35]>, [closure@src\module\mod.rs:1951:60: 1951:63]>, [closure@src\ast\ast.rs:756:18: 756:32]>, [closure@src\ast\ast.rs:898:49: 898:52]>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Continue`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Break`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::ops::ControlFlow, &mut std::iter::Map>>, [closure@src\optimizer.rs:1287:72: 1287:75]>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Continue`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Break`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::ops::ControlFlow, &mut std::iter::Map>, for<'a> fn(&'a mut ast::stmt::Stmt) -> ast::stmt::Stmt {std::mem::take::}>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Continue`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Break`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::ops::ControlFlow, &mut std::iter::Map, [closure@src\module\mod.rs:1029:27: 1029:31]>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Continue`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Break`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::ops::ControlFlow, &mut std::iter::Map; 3]>>>, [closure@src\eval\global_state.rs:216:47: 216:50]>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Continue`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Break`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::ops::ControlFlow, &mut std::iter::Map; 3]>>>, [closure@src\eval\global_state.rs:229:47: 229:50]>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Continue`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Break`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::ops::ControlFlow, &mut std::iter::Map>>, [closure@src\eval\global_state.rs:214:23: 214:26]>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Continue`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Break`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::ops::ControlFlow, &mut std::iter::Map>>, [closure@src\eval\global_state.rs:228:23: 228:26]>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Continue`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Break`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::ops::ControlFlow, &mut std::iter::Map>>, [closure@src\parser.rs:1436:63: 1436:66]>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Continue`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Break`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::ops::ControlFlow, &mut std::iter::Map>>, [closure@src\parser.rs:3315:71: 3315:74]>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Continue`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Break`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::ops::ControlFlow, &mut std::iter::Map, std::rc::Rc>>>, [closure@src\api\definitions\mod.rs:372:23: 372:26]>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Continue`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Break`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::ops::ControlFlow, &mut std::iter::Map, std::rc::Rc>>>, [closure@src\module\mod.rs:1912:23: 1912:26]>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Continue`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Break`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::ops::ControlFlow, &mut std::iter::Map, std::rc::Rc>>>, [closure@src\module\mod.rs:235:31: 235:34]>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Continue`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Break`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::ops::ControlFlow, &mut std::iter::Map, std::rc::Rc>>>, [closure@src\serde\metadata.rs:174:64: 174:67]>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Continue`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Break`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::ops::ControlFlow, &mut std::iter::Map, types::dynamic::Dynamic>>>, [closure@src\module\mod.rs:1920:23: 1920:26]>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Continue`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Break`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::ops::ControlFlow, &mut std::iter::Map>, [closure@src\module\mod.rs:1927:40: 1927:43]>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Continue`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Break`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::ops::ControlFlow, &mut std::iter::Map>, [closure@src\module\mod.rs:2238:64: 2238:67]>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Continue`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Break`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::ops::ControlFlow, &mut std::iter::Map, for<'a> fn(&'a mut ast::stmt::Stmt) -> ast::stmt::Stmt {std::mem::take::}>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Continue`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Break`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::ops::ControlFlow, &mut std::iter::Map, for<'a> fn(&'a mut types::dynamic::Dynamic) -> types::dynamic::Dynamic {std::mem::take::}>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Continue`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Break`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::ops::ControlFlow, &mut std::slice::Iter<'_, &str>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Continue`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Break`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::ops::ControlFlow, &mut std::slice::Iter<'_, ast::stmt::Stmt>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Continue`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Break`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::ops::ControlFlow, &mut std::slice::Iter<'_, std::rc::Rc>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Continue`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Break`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::ops::ControlFlow, &mut std::slice::Iter<'_, types::immutable_string::ImmutableString>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Continue`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Break`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::ops::ControlFlow, &mut types::dynamic::Dynamic>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Continue`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Break`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::ops::ControlFlow, &smallvec::alloc::collections::btree::node::NodeRef, api::custom_syntax::CustomSyntax, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Continue`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Break`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::ops::ControlFlow, &smallvec::alloc::collections::btree::node::NodeRef, smallvec::alloc::collections::btree::set_val::SetValZST, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Continue`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Break`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::ops::ControlFlow, &smallvec::alloc::collections::btree::node::NodeRef, std::option::Option, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Continue`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Break`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::ops::ControlFlow, &smallvec::alloc::collections::btree::node::NodeRef, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Continue`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Break`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::ops::ControlFlow, &smallvec::alloc::collections::btree::node::NodeRef, types::custom_types::CustomTypeInfo, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Continue`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Break`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::ops::ControlFlow, &smallvec::alloc::collections::btree::node::NodeRef, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Continue`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Break`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::ops::ControlFlow, &smallvec::alloc::collections::btree::node::NodeRef std::boxed::Box>>>>, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Continue`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Break`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::ops::ControlFlow, &smallvec::alloc::collections::btree::node::NodeRef, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Continue`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Break`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::ops::ControlFlow, &smallvec::alloc::collections::btree::node::NodeRef, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Continue`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Break`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::ops::ControlFlow, &smartstring::SmartString>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Continue`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Break`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::ops::ControlFlow, &std::any::TypeId>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Continue`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Break`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::ops::ControlFlow, &std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Continue`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Break`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::ops::ControlFlow, &std::path::PathBuf>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Continue`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Break`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::ops::ControlFlow, &std::rc::Rc>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Continue`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Break`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::ops::ControlFlow, &types::dynamic::Dynamic>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Continue`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Break`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::ops::ControlFlow, &types::immutable_string::ImmutableString>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Continue`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Break`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::ops::ControlFlow, &u64>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Continue`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Break`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::ops::ControlFlow, hashbrown::raw::Bucket<(u64, std::rc::Rc)>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Continue`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Break`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::ops::ControlFlow, i32>`: 8 bytes, alignment: 4 bytes +print-type-size discriminant: 4 bytes +print-type-size variant `Continue`: 4 bytes +print-type-size field `.0`: 4 bytes +print-type-size variant `Break`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::ops::ControlFlow, u32>`: 8 bytes, alignment: 4 bytes +print-type-size discriminant: 4 bytes +print-type-size variant `Continue`: 4 bytes +print-type-size field `.0`: 4 bytes +print-type-size variant `Break`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::ops::ControlFlow::get_or_init::Void>, std::boxed::Box<[[u64; 4]; 2]>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Continue`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::ops::ControlFlow>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Break`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Continue`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::ops::ControlFlow>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Break`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Continue`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::ops::ControlFlow>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Break`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Continue`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::ops::ControlFlow`: 8 bytes, alignment: 8 bytes +print-type-size variant `Break`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::ops::Range`: 8 bytes, alignment: 4 bytes +print-type-size field `.start`: 4 bytes +print-type-size field `.end`: 4 bytes +print-type-size type: `std::ops::Range`: 8 bytes, alignment: 4 bytes +print-type-size field `.start`: 4 bytes +print-type-size field `.end`: 4 bytes +print-type-size type: `std::ops::RangeFrom`: 8 bytes, alignment: 8 bytes +print-type-size field `.start`: 8 bytes +print-type-size type: `std::ops::RangeTo`: 8 bytes, alignment: 8 bytes +print-type-size field `.end`: 8 bytes +print-type-size type: `std::option::IntoIter<&ast::expr::Expr>`: 8 bytes, alignment: 8 bytes +print-type-size field `.inner`: 8 bytes +print-type-size type: `std::option::Item<&&[&str]>`: 8 bytes, alignment: 8 bytes +print-type-size field `.opt`: 8 bytes +print-type-size type: `std::option::Item<&&ast::expr::Expr>`: 8 bytes, alignment: 8 bytes +print-type-size field `.opt`: 8 bytes +print-type-size type: `std::option::Item<&&types::scope::Scope<'_, 8>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.opt`: 8 bytes +print-type-size type: `std::option::Item<&ast::expr::Expr>`: 8 bytes, alignment: 8 bytes +print-type-size field `.opt`: 8 bytes +print-type-size type: `std::option::Item<&std::boxed::Box>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.opt`: 8 bytes +print-type-size type: `std::option::Item<&std::boxed::Box; 3]>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.opt`: 8 bytes +print-type-size type: `std::option::Item<&std::boxed::Box>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.opt`: 8 bytes +print-type-size type: `std::option::Item<&std::boxed::Box, api::custom_syntax::CustomSyntax>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.opt`: 8 bytes +print-type-size type: `std::option::Item<&std::boxed::Box, std::rc::Rc>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.opt`: 8 bytes +print-type-size type: `std::option::Item<&std::boxed::Box, types::dynamic::Dynamic>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.opt`: 8 bytes +print-type-size type: `std::option::Item<&std::boxed::Box>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.opt`: 8 bytes +print-type-size type: `std::option::Item<&std::collections::HashMap>`: 8 bytes, alignment: 8 bytes +print-type-size field `.opt`: 8 bytes +print-type-size type: `std::option::Iter<'_, &[&str]>`: 8 bytes, alignment: 8 bytes +print-type-size field `.inner`: 8 bytes +print-type-size type: `std::option::Iter<'_, &ast::expr::Expr>`: 8 bytes, alignment: 8 bytes +print-type-size field `.inner`: 8 bytes +print-type-size type: `std::option::Iter<'_, &types::scope::Scope<'_, 8>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.inner`: 8 bytes +print-type-size type: `std::option::Iter<'_, std::boxed::Box>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.inner`: 8 bytes +print-type-size type: `std::option::Iter<'_, std::boxed::Box; 3]>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.inner`: 8 bytes +print-type-size type: `std::option::Iter<'_, std::boxed::Box>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.inner`: 8 bytes +print-type-size type: `std::option::Iter<'_, std::boxed::Box, api::custom_syntax::CustomSyntax>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.inner`: 8 bytes +print-type-size type: `std::option::Iter<'_, std::boxed::Box, std::rc::Rc>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.inner`: 8 bytes +print-type-size type: `std::option::Iter<'_, std::boxed::Box, types::dynamic::Dynamic>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.inner`: 8 bytes +print-type-size type: `std::option::Iter<'_, std::boxed::Box>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.inner`: 8 bytes +print-type-size type: `std::option::Iter<'_, std::collections::HashMap>`: 8 bytes, alignment: 8 bytes +print-type-size field `.inner`: 8 bytes +print-type-size type: `std::option::Option<&&[&str]>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&&ast::expr::Expr>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&&mut [&mut types::dynamic::Dynamic]>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&&mut eval::global_state::GlobalRuntimeState>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&&mut types::dynamic::Dynamic>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&&std::string::String>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&&str>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&&types::scope::Scope<'_, 8>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&(&str, serde::metadata::ModuleMetadata<'_>)>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&(&types::immutable_string::ImmutableString, &std::rc::Rc)>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&()>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&(ast::ident::Ident, ast::expr::Expr)>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&(smartstring::SmartString, types::dynamic::AccessMode, types::dynamic::Dynamic)>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&(smartstring::SmartString, types::dynamic::Dynamic)>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&(tokenizer::Token, tokenizer::Position)>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&(types::immutable_string::ImmutableString, std::option::Option, tokenizer::Position)>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&(types::immutable_string::ImmutableString, std::rc::Rc)>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&(types::immutable_string::ImmutableString, tokenizer::Position)>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&(u64, func::callable_function::CallableFunction)>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&(u64, module::FuncInfo)>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&(u64, std::option::Option)>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&(u64, std::rc::Rc)>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&(u64, types::dynamic::Dynamic)>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&(u64, u64)>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&api::custom_syntax::CustomSyntax>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&ast::ast::AST>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&ast::ast::ASTNode<'_>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&ast::expr::Expr>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&ast::ident::Ident>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&ast::script_fn::ScriptFnDef>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&ast::stmt::ConditionalExpr>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&ast::stmt::RangeCase>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&ast::stmt::Stmt>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&char>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&eval::cache::FnResolutionCache>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&eval::cache::FnResolutionCacheEntry>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&eval::debugger::BreakPoint>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&eval::debugger::CallStackFrame>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&f32>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&f64>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&func::callable_function::CallableFunction>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&i128>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&i16>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&i32>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&i64>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&i8>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&module::FuncInfo>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&module::Module>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&mut &mut module::Module>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&mut &mut smartstring::SmartString>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&mut &mut types::dynamic::Dynamic>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&mut (ast::ident::Ident, ast::expr::Expr)>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&mut (std::option::Option, ast::namespace::Namespace, u64, types::immutable_string::ImmutableString)>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&mut (types::immutable_string::ImmutableString, std::option::Option, tokenizer::Position)>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&mut (u64, func::callable_function::CallableFunction)>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&mut (u64, module::FuncInfo)>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&mut (u64, std::option::Option)>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&mut (u64, std::rc::Rc)>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&mut (u64, types::dynamic::Dynamic)>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&mut ast::expr::Expr>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&mut ast::stmt::ConditionalExpr>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&mut ast::stmt::Stmt>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&mut bool>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&mut char>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&mut eval::cache::FnResolutionCache>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&mut eval::debugger::Debugger>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&mut eval::global_state::GlobalRuntimeState>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&mut f64>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&mut i64>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&mut module::FuncInfo>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&mut module::Module>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&mut rust_decimal::Decimal>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&mut smallvec::SmallVec<[std::rc::Rc; 3]>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&mut smallvec::SmallVec<[types::immutable_string::ImmutableString; 3]>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&mut smallvec::alloc::collections::btree::node::Handle, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&mut smallvec::alloc::collections::btree::node::Handle, smallvec::alloc::collections::btree::set_val::SetValZST, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&mut smallvec::alloc::collections::btree::node::Handle, std::option::Option, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&mut smallvec::alloc::collections::btree::node::Handle, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&mut smallvec::alloc::collections::btree::node::Handle, types::custom_types::CustomTypeInfo, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&mut smallvec::alloc::collections::btree::node::Handle, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&mut smallvec::alloc::collections::btree::node::Handle std::boxed::Box>>>>, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&mut smallvec::alloc::collections::btree::node::Handle, smallvec::alloc::collections::btree::node::marker::Edge>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&mut smallvec::alloc::collections::btree::node::Handle, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&mut smallvec::alloc::collections::btree::node::Handle, &str, serde::metadata::ModuleMetadata<'_>, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&mut smallvec::alloc::collections::btree::node::Handle, smartstring::SmartString, api::custom_syntax::CustomSyntax, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&mut smallvec::alloc::collections::btree::node::Handle, smartstring::SmartString, smallvec::alloc::collections::btree::set_val::SetValZST, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&mut smallvec::alloc::collections::btree::node::Handle, smartstring::SmartString, std::option::Option, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&mut smallvec::alloc::collections::btree::node::Handle, smartstring::SmartString, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&mut smallvec::alloc::collections::btree::node::Handle, smartstring::SmartString, types::custom_types::CustomTypeInfo, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&mut smallvec::alloc::collections::btree::node::Handle, smartstring::SmartString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&mut smallvec::alloc::collections::btree::node::Handle, std::any::TypeId, std::rc::Rc std::boxed::Box>>>>, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&mut smallvec::alloc::collections::btree::node::Handle, std::path::PathBuf, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&mut smallvec::alloc::collections::btree::node::Handle, types::immutable_string::ImmutableString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&mut smallvec::alloc::collections::btree::node::Handle, u64, smallvec::SmallVec<[usize; 1]>, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&mut smallvec::alloc::collections::btree::node::Handle, smartstring::SmartString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&mut smallvec::alloc::collections::btree::node::NodeRef, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&mut smallvec::alloc::collections::btree::node::NodeRef, smallvec::alloc::collections::btree::set_val::SetValZST, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&mut smallvec::alloc::collections::btree::node::NodeRef, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&mut smallvec::alloc::collections::btree::node::NodeRef, types::custom_types::CustomTypeInfo, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&mut smallvec::alloc::collections::btree::node::NodeRef, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&mut smallvec::alloc::collections::btree::node::NodeRef std::boxed::Box>>>>, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&mut smallvec::alloc::collections::btree::node::NodeRef, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&mut smallvec::alloc::collections::btree::node::NodeRef>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&mut smallvec::alloc::collections::btree::node::NodeRef, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&mut smartstring::SmartString>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&mut std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&mut std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&mut std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&mut std::boxed::Box>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&mut std::boxed::Box; 3]>>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&mut std::boxed::Box>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&mut std::boxed::Box, std::rc::Rc>>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&mut std::boxed::Box, types::dynamic::Dynamic>>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&mut std::boxed::Box std::boxed::Box>>>>>>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&mut std::boxed::Box>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&mut std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&mut std::boxed::Box>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&mut std::collections::BTreeMap, types::dynamic::Dynamic>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&mut std::collections::HashMap>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&mut std::collections::btree_map::Iter<'_, smartstring::SmartString, std::rc::Rc>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&mut std::collections::btree_map::Keys<'_, smartstring::SmartString, std::rc::Rc>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&mut std::collections::btree_map::Values<'_, smartstring::SmartString, std::rc::Rc>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&mut std::collections::hash_map::Iter<'_, u64, module::FuncInfo>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&mut std::collections::hash_map::Values<'_, u64, module::FuncInfo>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&mut std::iter::Chain, for<'a> fn(&'a mut ast::stmt::Stmt) -> ast::stmt::Stmt {std::mem::take::}>, std::iter::Map, for<'a> fn(&'a mut ast::stmt::Stmt) -> ast::stmt::Stmt {std::mem::take::}>>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&mut std::iter::Cloned>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&mut std::iter::FlatMap, types::dynamic::Dynamic>>>, std::iter::Map, types::dynamic::Dynamic>, [closure@src\module\mod.rs:1920:40: 1920:48]>, [closure@src\module\mod.rs:1920:23: 1920:26]>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&mut std::iter::Map, std::rc::Rc>, [closure@src\module\mod.rs:1912:40: 1912:48]>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&mut std::iter::Map, types::dynamic::Dynamic>, [closure@src\module\mod.rs:1920:40: 1920:48]>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&mut std::iter::Map>, std::collections::hash_map::Values<'_, u64, module::FuncInfo>, [closure@src\module\mod.rs:1927:40: 1927:43]>, [closure@src\module\mod.rs:1951:31: 1951:35]>, [closure@src\module\mod.rs:1951:60: 1951:63]>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&mut std::iter::Map>, std::collections::hash_map::Values<'_, u64, module::FuncInfo>, [closure@src\module\mod.rs:1927:40: 1927:43]>, [closure@src\module\mod.rs:1951:31: 1951:35]>, [closure@src\module\mod.rs:1951:60: 1951:63]>, [closure@src\ast\ast.rs:756:18: 756:32]>, [closure@src\ast\ast.rs:898:49: 898:52]>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&mut std::iter::Map>>, [closure@src\optimizer.rs:1287:72: 1287:75]>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&mut std::iter::Map>, for<'a> fn(&'a mut ast::stmt::Stmt) -> ast::stmt::Stmt {std::mem::take::}>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&mut std::iter::Map>>, std::iter::Rev>>, [closure@src\types\scope.rs:823:18: 823:33]>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&mut std::iter::Map, [closure@src\module\mod.rs:1029:27: 1029:31]>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&mut std::iter::Map; 3]>>>, [closure@src\eval\global_state.rs:216:47: 216:50]>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&mut std::iter::Map; 3]>>>, [closure@src\eval\global_state.rs:229:47: 229:50]>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&mut std::iter::Map>>, [closure@src\eval\global_state.rs:214:23: 214:26]>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&mut std::iter::Map>>, [closure@src\eval\global_state.rs:228:23: 228:26]>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&mut std::iter::Map>>, [closure@src\parser.rs:1436:63: 1436:66]>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&mut std::iter::Map>>, [closure@src\parser.rs:3315:71: 3315:74]>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&mut std::iter::Map, std::rc::Rc>>>, [closure@src\api\definitions\mod.rs:372:23: 372:26]>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&mut std::iter::Map, std::rc::Rc>>>, [closure@src\module\mod.rs:1912:23: 1912:26]>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&mut std::iter::Map, std::rc::Rc>>>, [closure@src\module\mod.rs:235:31: 235:34]>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&mut std::iter::Map, std::rc::Rc>>>, [closure@src\serde\metadata.rs:174:64: 174:67]>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&mut std::iter::Map, types::dynamic::Dynamic>>>, [closure@src\module\mod.rs:1920:23: 1920:26]>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&mut std::iter::Map>, [closure@src\module\mod.rs:1927:40: 1927:43]>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&mut std::iter::Map>, [closure@src\module\mod.rs:2238:64: 2238:67]>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&mut std::iter::Map, for<'a> fn(&'a mut ast::stmt::Stmt) -> ast::stmt::Stmt {std::mem::take::}>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&mut std::iter::Map, for<'a> fn(&'a mut types::dynamic::Dynamic) -> types::dynamic::Dynamic {std::mem::take::}>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&mut std::ops::Range>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&mut std::ops::RangeInclusive>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&mut std::option::Option<(&str, serde::metadata::ModuleMetadata<'_>)>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&mut std::option::Option<(smartstring::SmartString, types::dynamic::Dynamic)>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&mut std::option::Option<(tokenizer::Token, tokenizer::Position)>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&mut std::option::Option>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&mut std::rc::Rc>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&mut std::rc::Rc>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&mut std::rc::Rc>>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&mut std::slice::Iter<'_, &str>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&mut std::slice::Iter<'_, ast::ident::Ident>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&mut std::slice::Iter<'_, ast::stmt::Stmt>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&mut std::slice::Iter<'_, std::rc::Rc>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&mut std::slice::Iter<'_, types::immutable_string::ImmutableString>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&mut std::slice::Iter<'_, usize>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&mut std::time::Instant>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&mut std::vec::Vec>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&mut std::vec::Vec>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&mut std::vec::Vec>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&mut types::dynamic::Dynamic>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&mut types::fn_ptr::FnPtr>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&mut types::immutable_string::ImmutableString>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&mut types::scope::Scope<'_, 8>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&mut u8>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&rust_decimal::Decimal>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&serde::metadata::FnMetadata<'_>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&serde::metadata::FnParam<'_>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&smallvec::SmallVec<[std::rc::Rc; 3]>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&smallvec::SmallVec<[types::immutable_string::ImmutableString; 3]>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&smallvec::SmallVec<[usize; 1]>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&smallvec::alloc::collections::btree::node::NodeRef, api::custom_syntax::CustomSyntax, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&smallvec::alloc::collections::btree::node::NodeRef, smallvec::alloc::collections::btree::set_val::SetValZST, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&smallvec::alloc::collections::btree::node::NodeRef, std::option::Option, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&smallvec::alloc::collections::btree::node::NodeRef, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&smallvec::alloc::collections::btree::node::NodeRef, types::custom_types::CustomTypeInfo, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&smallvec::alloc::collections::btree::node::NodeRef, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&smallvec::alloc::collections::btree::node::NodeRef std::boxed::Box>>>>, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&smallvec::alloc::collections::btree::node::NodeRef, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&smallvec::alloc::collections::btree::node::NodeRef, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&smallvec::alloc::collections::btree::set_val::SetValZST>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&smartstring::SmartString>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&std::any::TypeId>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&std::borrow::Cow<'_, str>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&std::boxed::Box<(std::boxed::Box std::ops::Fn(&'a engine::Engine, eval::debugger::Debugger) -> eval::debugger::Debugger>, std::boxed::Box std::ops::Fn(eval::eval_context::EvalContext<'a, 'b, 'c, 'd, 'e, 'f>, eval::debugger::DebuggerEvent<'g>, ast::ast::ASTNode<'h>, std::option::Option<&'i str>, tokenizer::Position) -> std::result::Result>>)>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&std::boxed::Box std::ops::Fn(tokenizer::Token, tokenizer::Position, &'a tokenizer::TokenizeState) -> tokenizer::Token>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&std::boxed::Box std::option::Option>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&std::boxed::Box>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&std::boxed::Box; 3]>>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&std::boxed::Box>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&std::boxed::Box>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&std::boxed::Box, api::custom_syntax::CustomSyntax>>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&std::boxed::Box, std::option::Option>>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&std::boxed::Box, std::rc::Rc>>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&std::boxed::Box, types::dynamic::Dynamic>>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&std::boxed::Box std::boxed::Box>>>>>>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&std::boxed::Box>>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&std::boxed::Box>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&std::boxed::Box>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&std::boxed::Box>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&std::collections::BTreeMap, api::custom_syntax::CustomSyntax>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&std::collections::BTreeMap, std::option::Option>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&std::collections::BTreeMap, std::rc::Rc>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&std::collections::BTreeMap, types::dynamic::Dynamic>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&std::collections::BTreeMap std::boxed::Box>>>>>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&std::collections::BTreeSet>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&std::collections::HashMap>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&std::collections::HashMap>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&std::collections::HashMap>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&std::collections::btree_map::Iter<'_, smartstring::SmartString, std::rc::Rc>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&std::collections::btree_map::Keys<'_, smartstring::SmartString, std::rc::Rc>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&std::collections::hash_map::Values<'_, u64, module::FuncInfo>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&std::iter::Map, std::rc::Rc>, [closure@src\module\mod.rs:1912:40: 1912:48]>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&std::iter::Map, types::dynamic::Dynamic>, [closure@src\module\mod.rs:1920:40: 1920:48]>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&std::num::NonZeroU64>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&std::ops::Range>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&std::ops::RangeInclusive>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&std::option::Option<[u64; 4]>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&std::option::Option>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&std::option::Option>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&std::path::PathBuf>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&std::ptr::NonNull>>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&std::ptr::NonNull, api::custom_syntax::CustomSyntax>>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&std::ptr::NonNull, smallvec::alloc::collections::btree::set_val::SetValZST>>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&std::ptr::NonNull, std::option::Option>>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&std::ptr::NonNull, std::rc::Rc>>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&std::ptr::NonNull, types::custom_types::CustomTypeInfo>>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&std::ptr::NonNull, types::dynamic::Dynamic>>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&std::ptr::NonNull std::boxed::Box>>>>>>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&std::ptr::NonNull>>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&std::ptr::NonNull>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&std::ptr::NonNull>>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&std::rc::Rc>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&std::rc::Rc>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&std::rc::Rc std::ops::Fn(func::native::NativeCallContext<'a>, &'b mut [&'c mut types::dynamic::Dynamic]) -> std::result::Result>>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&std::rc::Rc>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&std::rc::Rc std::boxed::Box>>>>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&std::rc::Rc>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&std::rc::Rc>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&std::slice::Iter<'_, &str>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&std::slice::Iter<'_, std::rc::Rc>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&std::slice::Iter<'_, types::immutable_string::ImmutableString>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&std::string::String>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&std::vec::Vec>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&std::vec::Vec>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&std::vec::Vec>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&tokenizer::Token>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&types::custom_types::CustomTypeInfo>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&types::dynamic::Dynamic>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&types::fn_ptr::FnPtr>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&types::immutable_string::ImmutableString>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&types::scope::Scope<'_, 8>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&u128>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&u16>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&u32>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&u64>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&u8>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<&usize>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<(ast::flags::ASTFlags, tokenizer::Position)>`: 8 bytes, alignment: 2 bytes +print-type-size discriminant: 2 bytes +print-type-size variant `Some`: 6 bytes +print-type-size field `.0`: 6 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<[closure@src\func\call.rs:385:58: 385:66]>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option<[closure@src\func\call.rs:690:74: 690:82]>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option`: 8 bytes, alignment: 4 bytes +print-type-size discriminant: 4 bytes +print-type-size variant `Some`: 4 bytes +print-type-size field `.0`: 4 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option fn(func::native::NativeCallContext<'a>, &'b mut [&'c mut types::dynamic::Dynamic]) -> std::result::Result>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option)>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option)>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option`: 8 bytes, alignment: 4 bytes +print-type-size discriminant: 4 bytes +print-type-size variant `Some`: 4 bytes +print-type-size field `.0`: 4 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option std::ops::Fn(&'a engine::Engine, eval::debugger::Debugger) -> eval::debugger::Debugger>, std::boxed::Box std::ops::Fn(eval::eval_context::EvalContext<'a, 'b, 'c, 'd, 'e, 'f>, eval::debugger::DebuggerEvent<'g>, ast::ast::ASTNode<'h>, std::option::Option<&'i str>, tokenizer::Position) -> std::result::Result>>)>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option; 3]>>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, api::custom_syntax::CustomSyntax>>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, std::option::Option>>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, std::rc::Rc>>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, types::dynamic::Dynamic>>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option std::boxed::Box>>>>>>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, api::custom_syntax::CustomSyntax>>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, smallvec::alloc::collections::btree::set_val::SetValZST>>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, std::option::Option>>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, std::rc::Rc>>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, types::custom_types::CustomTypeInfo>>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option, types::dynamic::Dynamic>>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option std::boxed::Box>>>>>>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>>>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option`: 8 bytes, alignment: 8 bytes +print-type-size variant `Some`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option`: 8 bytes, alignment: 4 bytes +print-type-size discriminant: 4 bytes +print-type-size variant `Some`: 4 bytes +print-type-size field `.0`: 4 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::os::windows::io::OwnedHandle`: 8 bytes, alignment: 8 bytes +print-type-size field `.handle`: 8 bytes +print-type-size type: `std::ptr::Alignment`: 8 bytes, alignment: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::ptr::NonNull<&module::FuncInfo>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull<&mut types::dynamic::Dynamic>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull<&std::string::String>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull<&str>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull<(&str, &std::rc::Rc)>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull<(&str, &types::dynamic::Dynamic)>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull<(&str, serde::metadata::ModuleMetadata<'_>)>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull<(&types::immutable_string::ImmutableString, &std::rc::Rc)>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull<((types::immutable_string::ImmutableString, u64), (types::immutable_string::ImmutableString, u64), types::immutable_string::ImmutableString)>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull<()>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull<(ast::expr::Expr, ast::ident::Ident)>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull<(ast::expr::Expr, ast::stmt::StmtBlock)>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull<(ast::expr::Expr, ast::stmt::StmtBlock, ast::stmt::StmtBlock)>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull<(ast::expr::Expr, ast::stmt::SwitchCasesCollection)>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull<(ast::ident::Ident, ast::expr::Expr)>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull<(ast::ident::Ident, ast::expr::Expr, std::option::Option)>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull<(ast::ident::Ident, ast::ident::Ident)>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull<(ast::ident::Ident, ast::ident::Ident, ast::expr::Expr, ast::stmt::StmtBlock)>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull<(ast::stmt::OpAssignment, ast::expr::BinaryExpr)>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull<(smallvec::SmallVec<[(ast::ident::Ident, ast::expr::Expr); 3]>, std::collections::BTreeMap, types::dynamic::Dynamic>)>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull<(smartstring::SmartString, types::dynamic::AccessMode, types::dynamic::Dynamic)>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull<(smartstring::SmartString, types::dynamic::Dynamic)>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull<(std::boxed::Box std::ops::Fn(&'a engine::Engine, eval::debugger::Debugger) -> eval::debugger::Debugger>, std::boxed::Box std::ops::Fn(eval::eval_context::EvalContext<'a, 'b, 'c, 'd, 'e, 'f>, eval::debugger::DebuggerEvent<'g>, ast::ast::ASTNode<'h>, std::option::Option<&'i str>, tokenizer::Position) -> std::result::Result>>)>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull<(std::option::Option, ast::namespace::Namespace, u64, types::immutable_string::ImmutableString)>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull<(std::string::String, std::string::String)>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull<(types::immutable_string::ImmutableString, std::option::Option, tokenizer::Position)>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull<(types::immutable_string::ImmutableString, std::rc::Rc)>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull<(types::immutable_string::ImmutableString, tokenizer::Position)>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull<(u64, func::callable_function::CallableFunction)>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull<(u64, module::FuncInfo)>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull<(u64, std::option::Option)>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull<(u64, std::rc::Rc)>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull<(u64, types::dynamic::Dynamic)>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull<(u64, types::immutable_string::ImmutableString)>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull<[&str; 10]>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull<[&str; 11]>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull<[&str; 12]>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull<[&str; 13]>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull<[&str; 14]>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull<[&str; 15]>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull<[&str; 16]>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull<[&str; 17]>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull<[&str; 18]>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull<[&str; 19]>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull<[&str; 1]>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull<[&str; 20]>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull<[&str; 2]>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull<[&str; 3]>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull<[&str; 4]>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull<[&str; 5]>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull<[&str; 6]>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull<[&str; 7]>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull<[&str; 8]>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull<[&str; 9]>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull<[(std::string::String, std::string::String); 2]>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull<[[u64; 4]; 2]>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull<[ast::stmt::Stmt; 1]>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull<[closure@src\engine.rs:247:37: 247:40]>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull<[closure@src\engine.rs:248:37: 248:53]>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull<[closure@src\engine.rs:289:29: 289:32]>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull<[closure@src\engine.rs:290:29: 290:38]>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull<[std::any::TypeId; 10]>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull<[std::any::TypeId; 11]>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull<[std::any::TypeId; 12]>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull<[std::any::TypeId; 13]>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull<[std::any::TypeId; 14]>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull<[std::any::TypeId; 15]>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull<[std::any::TypeId; 16]>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull<[std::any::TypeId; 17]>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull<[std::any::TypeId; 18]>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull<[std::any::TypeId; 19]>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull<[std::any::TypeId; 1]>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull<[std::any::TypeId; 20]>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull<[std::any::TypeId; 2]>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull<[std::any::TypeId; 3]>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull<[std::any::TypeId; 4]>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull<[std::any::TypeId; 5]>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull<[std::any::TypeId; 6]>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull<[std::any::TypeId; 7]>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull<[std::any::TypeId; 8]>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull<[std::any::TypeId; 9]>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull<[std::boxed::Box; 0]>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull<[types::dynamic::Dynamic; 2]>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull, tokenizer::Position); 5]>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull; 8]>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull; 3]>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull; 8]>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull, api::custom_syntax::CustomSyntax>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull, smallvec::alloc::collections::btree::set_val::SetValZST>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull, std::option::Option>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull, std::rc::Rc>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull, types::custom_types::CustomTypeInfo>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull, types::dynamic::Dynamic>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull std::boxed::Box>>>>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull, api::custom_syntax::CustomSyntax>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull, smallvec::alloc::collections::btree::set_val::SetValZST>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull, std::option::Option>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull, std::rc::Rc>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull, types::custom_types::CustomTypeInfo>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull, types::dynamic::Dynamic>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull std::boxed::Box>>>>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull, api::custom_syntax::CustomSyntax>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull, smallvec::alloc::collections::btree::set_val::SetValZST>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull, std::option::Option>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull, std::rc::Rc>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull, types::dynamic::Dynamic>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull std::boxed::Box>>>>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull, fn(f64) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull, fn(i128) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull, fn(i16) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull, fn(i32) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull, fn(i64) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull, fn(i8) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull, fn(rust_decimal::Decimal) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull, fn(u128) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull, fn(u16) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull, fn(u32) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull, fn(u64) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull, fn(u8) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>, fn(types::dynamic::Dynamic) -> std::result::Result> {std::result::Result::>::Ok}>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull, std::iter::Zip; 8]>, smallvec::IntoIter<[std::vec::Vec; 8]>>>, [closure@src\types\scope.rs:137:22: 137:46]>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull, std::iter::Zip>, std::slice::Iter<'_, std::vec::Vec>>>, [closure@src\types\scope.rs:152:22: 152:46]>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull, fn(i128) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull, fn(i16) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull, fn(i32) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull, fn(i64) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull, fn(i8) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull, fn(u128) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull, fn(u16) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull, fn(u32) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull, fn(u64) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull, fn(u8) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull, fn(i128) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull, fn(i16) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull, fn(i32) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull, fn(i64) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull, fn(i8) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull, fn(u128) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull, fn(u16) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull, fn(u32) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull, fn(u64) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull, fn(u8) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull, fn(types::dynamic::Dynamic) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull, fn(u8) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull)>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull, std::collections::BTreeMap, types::dynamic::Dynamic>)>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull, ast::namespace::Namespace, u64, types::immutable_string::ImmutableString)>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull, tokenizer::Position); 5]>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull; 3]>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull, smallvec::alloc::collections::btree::set_val::SetValZST>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull, std::rc::Rc>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull, types::custom_types::CustomTypeInfo>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull, types::dynamic::Dynamic>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull std::boxed::Box>>>>>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull, smallvec::alloc::collections::btree::set_val::SetValZST>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull, std::rc::Rc>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull, types::custom_types::CustomTypeInfo>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull, types::dynamic::Dynamic>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull std::boxed::Box>>>>>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull, std::rc::Rc>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull, types::dynamic::Dynamic>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull std::boxed::Box>>>>>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull fn(func::native::NativeCallContext<'a>, &'b mut [&'c mut types::dynamic::Dynamic]) -> std::result::Result>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull>`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::NonNull`: 8 bytes, alignment: 8 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique<&module::FuncInfo>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique<&mut types::dynamic::Dynamic>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique<&str>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique<(&str, &std::rc::Rc)>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique<(&str, &types::dynamic::Dynamic)>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique<(&str, serde::metadata::ModuleMetadata<'_>)>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique<(&types::immutable_string::ImmutableString, &std::rc::Rc)>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique<((types::immutable_string::ImmutableString, u64), (types::immutable_string::ImmutableString, u64), types::immutable_string::ImmutableString)>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique<()>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique<(ast::expr::Expr, ast::ident::Ident)>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique<(ast::expr::Expr, ast::stmt::StmtBlock)>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique<(ast::expr::Expr, ast::stmt::StmtBlock, ast::stmt::StmtBlock)>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique<(ast::expr::Expr, ast::stmt::SwitchCasesCollection)>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique<(ast::ident::Ident, ast::expr::Expr)>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique<(ast::ident::Ident, ast::expr::Expr, std::option::Option)>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique<(ast::ident::Ident, ast::ident::Ident)>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique<(ast::ident::Ident, ast::ident::Ident, ast::expr::Expr, ast::stmt::StmtBlock)>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique<(ast::stmt::OpAssignment, ast::expr::BinaryExpr)>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique<(smallvec::SmallVec<[(ast::ident::Ident, ast::expr::Expr); 3]>, std::collections::BTreeMap, types::dynamic::Dynamic>)>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique<(smartstring::SmartString, types::dynamic::AccessMode, types::dynamic::Dynamic)>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique<(smartstring::SmartString, types::dynamic::Dynamic)>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique<(std::boxed::Box std::ops::Fn(&'a engine::Engine, eval::debugger::Debugger) -> eval::debugger::Debugger>, std::boxed::Box std::ops::Fn(eval::eval_context::EvalContext<'a, 'b, 'c, 'd, 'e, 'f>, eval::debugger::DebuggerEvent<'g>, ast::ast::ASTNode<'h>, std::option::Option<&'i str>, tokenizer::Position) -> std::result::Result>>)>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique<(std::option::Option, ast::namespace::Namespace, u64, types::immutable_string::ImmutableString)>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique<(std::string::String, std::string::String)>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique<(types::immutable_string::ImmutableString, std::option::Option, tokenizer::Position)>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique<(types::immutable_string::ImmutableString, std::rc::Rc)>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique<(types::immutable_string::ImmutableString, tokenizer::Position)>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique<[&str; 10]>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique<[&str; 11]>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique<[&str; 12]>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique<[&str; 13]>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique<[&str; 14]>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique<[&str; 15]>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique<[&str; 16]>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique<[&str; 17]>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique<[&str; 18]>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique<[&str; 19]>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique<[&str; 1]>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique<[&str; 20]>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique<[&str; 2]>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique<[&str; 3]>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique<[&str; 4]>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique<[&str; 5]>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique<[&str; 6]>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique<[&str; 7]>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique<[&str; 8]>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique<[&str; 9]>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique<[(std::string::String, std::string::String); 2]>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique<[[u64; 4]; 2]>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique<[ast::stmt::Stmt; 1]>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique<[closure@src\engine.rs:247:37: 247:40]>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique<[closure@src\engine.rs:248:37: 248:53]>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique<[closure@src\engine.rs:289:29: 289:32]>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique<[closure@src\engine.rs:290:29: 290:38]>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique<[std::any::TypeId; 10]>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique<[std::any::TypeId; 11]>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique<[std::any::TypeId; 12]>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique<[std::any::TypeId; 13]>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique<[std::any::TypeId; 14]>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique<[std::any::TypeId; 15]>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique<[std::any::TypeId; 16]>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique<[std::any::TypeId; 17]>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique<[std::any::TypeId; 18]>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique<[std::any::TypeId; 19]>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique<[std::any::TypeId; 1]>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique<[std::any::TypeId; 20]>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique<[std::any::TypeId; 2]>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique<[std::any::TypeId; 3]>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique<[std::any::TypeId; 4]>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique<[std::any::TypeId; 5]>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique<[std::any::TypeId; 6]>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique<[std::any::TypeId; 7]>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique<[std::any::TypeId; 8]>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique<[std::any::TypeId; 9]>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique<[std::boxed::Box; 0]>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique<[types::dynamic::Dynamic; 2]>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique, tokenizer::Position); 5]>>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique; 3]>>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique, smallvec::alloc::collections::btree::set_val::SetValZST>>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique, std::rc::Rc>>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique, types::custom_types::CustomTypeInfo>>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique, types::dynamic::Dynamic>>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique std::boxed::Box>>>>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique, smallvec::alloc::collections::btree::set_val::SetValZST>>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique, std::rc::Rc>>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique, types::custom_types::CustomTypeInfo>>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique, types::dynamic::Dynamic>>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique std::boxed::Box>>>>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique, api::custom_syntax::CustomSyntax>>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique, std::option::Option>>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique, std::rc::Rc>>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique, types::dynamic::Dynamic>>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique std::boxed::Box>>>>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique, fn(f64) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique, fn(i128) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique, fn(i16) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique, fn(i32) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique, fn(i64) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique, fn(i8) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique, fn(rust_decimal::Decimal) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique, fn(u128) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique, fn(u16) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique, fn(u32) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique, fn(u64) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique, fn(u8) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>, fn(types::dynamic::Dynamic) -> std::result::Result> {std::result::Result::>::Ok}>>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique, std::iter::Zip; 8]>, smallvec::IntoIter<[std::vec::Vec; 8]>>>, [closure@src\types\scope.rs:137:22: 137:46]>>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique, std::iter::Zip>, std::slice::Iter<'_, std::vec::Vec>>>, [closure@src\types\scope.rs:152:22: 152:46]>>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique, fn(i128) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique, fn(i16) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique, fn(i32) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique, fn(i64) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique, fn(i8) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique, fn(u128) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique, fn(u16) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique, fn(u32) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique, fn(u64) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique, fn(u8) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique, fn(i128) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique, fn(i16) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique, fn(i32) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique, fn(i64) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique, fn(i8) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique, fn(u128) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique, fn(u16) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique, fn(u32) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique, fn(u64) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique, fn(u8) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique, fn(types::dynamic::Dynamic) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique, fn(u8) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique)>>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique, std::collections::BTreeMap, types::dynamic::Dynamic>)>>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique, ast::namespace::Namespace, u64, types::immutable_string::ImmutableString)>>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique, tokenizer::Position); 5]>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique; 3]>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique, smallvec::alloc::collections::btree::set_val::SetValZST>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique, std::rc::Rc>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique, types::custom_types::CustomTypeInfo>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique, types::dynamic::Dynamic>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique std::boxed::Box>>>>>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique, smallvec::alloc::collections::btree::set_val::SetValZST>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique, std::rc::Rc>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique, types::custom_types::CustomTypeInfo>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique, types::dynamic::Dynamic>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique std::boxed::Box>>>>>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique, std::rc::Rc>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique, types::dynamic::Dynamic>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique std::boxed::Box>>>>>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique fn(func::native::NativeCallContext<'a>, &'b mut [&'c mut types::dynamic::Dynamic]) -> std::result::Result>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>>>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique>`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::Unique`: 8 bytes, alignment: 8 bytes +print-type-size field `._marker`: 0 bytes +print-type-size field `.pointer`: 8 bytes +print-type-size type: `std::ptr::alignment::AlignmentEnum64`: 8 bytes, alignment: 8 bytes +print-type-size discriminant: 8 bytes +print-type-size variant `_Align1Shl0`: 0 bytes +print-type-size variant `_Align1Shl1`: 0 bytes +print-type-size variant `_Align1Shl2`: 0 bytes +print-type-size variant `_Align1Shl3`: 0 bytes +print-type-size variant `_Align1Shl4`: 0 bytes +print-type-size variant `_Align1Shl5`: 0 bytes +print-type-size variant `_Align1Shl6`: 0 bytes +print-type-size variant `_Align1Shl7`: 0 bytes +print-type-size variant `_Align1Shl8`: 0 bytes +print-type-size variant `_Align1Shl9`: 0 bytes +print-type-size variant `_Align1Shl10`: 0 bytes +print-type-size variant `_Align1Shl11`: 0 bytes +print-type-size variant `_Align1Shl12`: 0 bytes +print-type-size variant `_Align1Shl13`: 0 bytes +print-type-size variant `_Align1Shl14`: 0 bytes +print-type-size variant `_Align1Shl15`: 0 bytes +print-type-size variant `_Align1Shl16`: 0 bytes +print-type-size variant `_Align1Shl17`: 0 bytes +print-type-size variant `_Align1Shl18`: 0 bytes +print-type-size variant `_Align1Shl19`: 0 bytes +print-type-size variant `_Align1Shl20`: 0 bytes +print-type-size variant `_Align1Shl21`: 0 bytes +print-type-size variant `_Align1Shl22`: 0 bytes +print-type-size variant `_Align1Shl23`: 0 bytes +print-type-size variant `_Align1Shl24`: 0 bytes +print-type-size variant `_Align1Shl25`: 0 bytes +print-type-size variant `_Align1Shl26`: 0 bytes +print-type-size variant `_Align1Shl27`: 0 bytes +print-type-size variant `_Align1Shl28`: 0 bytes +print-type-size variant `_Align1Shl29`: 0 bytes +print-type-size variant `_Align1Shl30`: 0 bytes +print-type-size variant `_Align1Shl31`: 0 bytes +print-type-size variant `_Align1Shl32`: 0 bytes +print-type-size variant `_Align1Shl33`: 0 bytes +print-type-size variant `_Align1Shl34`: 0 bytes +print-type-size variant `_Align1Shl35`: 0 bytes +print-type-size variant `_Align1Shl36`: 0 bytes +print-type-size variant `_Align1Shl37`: 0 bytes +print-type-size variant `_Align1Shl38`: 0 bytes +print-type-size variant `_Align1Shl39`: 0 bytes +print-type-size variant `_Align1Shl40`: 0 bytes +print-type-size variant `_Align1Shl41`: 0 bytes +print-type-size variant `_Align1Shl42`: 0 bytes +print-type-size variant `_Align1Shl43`: 0 bytes +print-type-size variant `_Align1Shl44`: 0 bytes +print-type-size variant `_Align1Shl45`: 0 bytes +print-type-size variant `_Align1Shl46`: 0 bytes +print-type-size variant `_Align1Shl47`: 0 bytes +print-type-size variant `_Align1Shl48`: 0 bytes +print-type-size variant `_Align1Shl49`: 0 bytes +print-type-size variant `_Align1Shl50`: 0 bytes +print-type-size variant `_Align1Shl51`: 0 bytes +print-type-size variant `_Align1Shl52`: 0 bytes +print-type-size variant `_Align1Shl53`: 0 bytes +print-type-size variant `_Align1Shl54`: 0 bytes +print-type-size variant `_Align1Shl55`: 0 bytes +print-type-size variant `_Align1Shl56`: 0 bytes +print-type-size variant `_Align1Shl57`: 0 bytes +print-type-size variant `_Align1Shl58`: 0 bytes +print-type-size variant `_Align1Shl59`: 0 bytes +print-type-size variant `_Align1Shl60`: 0 bytes +print-type-size variant `_Align1Shl61`: 0 bytes +print-type-size variant `_Align1Shl62`: 0 bytes +print-type-size variant `_Align1Shl63`: 0 bytes +print-type-size type: `std::ptr::metadata::PtrComponents<&module::FuncInfo>`: 8 bytes, alignment: 8 bytes +print-type-size field `.data_address`: 8 bytes +print-type-size field `.metadata`: 0 bytes +print-type-size type: `std::ptr::metadata::PtrComponents<&mut types::dynamic::Dynamic>`: 8 bytes, alignment: 8 bytes +print-type-size field `.data_address`: 8 bytes +print-type-size field `.metadata`: 0 bytes +print-type-size type: `std::ptr::metadata::PtrComponents<&std::string::String>`: 8 bytes, alignment: 8 bytes +print-type-size field `.data_address`: 8 bytes +print-type-size field `.metadata`: 0 bytes +print-type-size type: `std::ptr::metadata::PtrComponents<&str>`: 8 bytes, alignment: 8 bytes +print-type-size field `.data_address`: 8 bytes +print-type-size field `.metadata`: 0 bytes +print-type-size type: `std::ptr::metadata::PtrComponents<(&str, &std::rc::Rc)>`: 8 bytes, alignment: 8 bytes +print-type-size field `.data_address`: 8 bytes +print-type-size field `.metadata`: 0 bytes +print-type-size type: `std::ptr::metadata::PtrComponents<(&str, &types::dynamic::Dynamic)>`: 8 bytes, alignment: 8 bytes +print-type-size field `.data_address`: 8 bytes +print-type-size field `.metadata`: 0 bytes +print-type-size type: `std::ptr::metadata::PtrComponents<(&str, serde::metadata::ModuleMetadata<'_>)>`: 8 bytes, alignment: 8 bytes +print-type-size field `.data_address`: 8 bytes +print-type-size field `.metadata`: 0 bytes +print-type-size type: `std::ptr::metadata::PtrComponents<(&types::immutable_string::ImmutableString, &std::rc::Rc)>`: 8 bytes, alignment: 8 bytes +print-type-size field `.data_address`: 8 bytes +print-type-size field `.metadata`: 0 bytes +print-type-size type: `std::ptr::metadata::PtrComponents<(ast::ident::Ident, ast::expr::Expr)>`: 8 bytes, alignment: 8 bytes +print-type-size field `.data_address`: 8 bytes +print-type-size field `.metadata`: 0 bytes +print-type-size type: `std::ptr::metadata::PtrComponents<(smartstring::SmartString, types::dynamic::AccessMode, types::dynamic::Dynamic)>`: 8 bytes, alignment: 8 bytes +print-type-size field `.data_address`: 8 bytes +print-type-size field `.metadata`: 0 bytes +print-type-size type: `std::ptr::metadata::PtrComponents<(smartstring::SmartString, types::dynamic::Dynamic)>`: 8 bytes, alignment: 8 bytes +print-type-size field `.data_address`: 8 bytes +print-type-size field `.metadata`: 0 bytes +print-type-size type: `std::ptr::metadata::PtrComponents<(std::string::String, std::string::String)>`: 8 bytes, alignment: 8 bytes +print-type-size field `.data_address`: 8 bytes +print-type-size field `.metadata`: 0 bytes +print-type-size type: `std::ptr::metadata::PtrComponents<(types::immutable_string::ImmutableString, std::option::Option, tokenizer::Position)>`: 8 bytes, alignment: 8 bytes +print-type-size field `.data_address`: 8 bytes +print-type-size field `.metadata`: 0 bytes +print-type-size type: `std::ptr::metadata::PtrComponents<(types::immutable_string::ImmutableString, std::rc::Rc)>`: 8 bytes, alignment: 8 bytes +print-type-size field `.data_address`: 8 bytes +print-type-size field `.metadata`: 0 bytes +print-type-size type: `std::ptr::metadata::PtrComponents<(types::immutable_string::ImmutableString, tokenizer::Position)>`: 8 bytes, alignment: 8 bytes +print-type-size field `.data_address`: 8 bytes +print-type-size field `.metadata`: 0 bytes +print-type-size type: `std::ptr::metadata::PtrComponents<[[u64; 4]; 2]>`: 8 bytes, alignment: 8 bytes +print-type-size field `.data_address`: 8 bytes +print-type-size field `.metadata`: 0 bytes +print-type-size type: `std::ptr::metadata::PtrComponents`: 8 bytes, alignment: 8 bytes +print-type-size field `.data_address`: 8 bytes +print-type-size field `.metadata`: 0 bytes +print-type-size type: `std::ptr::metadata::PtrComponents`: 8 bytes, alignment: 8 bytes +print-type-size field `.data_address`: 8 bytes +print-type-size field `.metadata`: 0 bytes +print-type-size type: `std::ptr::metadata::PtrComponents`: 8 bytes, alignment: 8 bytes +print-type-size field `.data_address`: 8 bytes +print-type-size field `.metadata`: 0 bytes +print-type-size type: `std::ptr::metadata::PtrComponents`: 8 bytes, alignment: 8 bytes +print-type-size field `.data_address`: 8 bytes +print-type-size field `.metadata`: 0 bytes +print-type-size type: `std::ptr::metadata::PtrComponents`: 8 bytes, alignment: 8 bytes +print-type-size field `.data_address`: 8 bytes +print-type-size field `.metadata`: 0 bytes +print-type-size type: `std::ptr::metadata::PtrComponents`: 8 bytes, alignment: 8 bytes +print-type-size field `.data_address`: 8 bytes +print-type-size field `.metadata`: 0 bytes +print-type-size type: `std::ptr::metadata::PtrComponents`: 8 bytes, alignment: 8 bytes +print-type-size field `.data_address`: 8 bytes +print-type-size field `.metadata`: 0 bytes +print-type-size type: `std::ptr::metadata::PtrComponents`: 8 bytes, alignment: 8 bytes +print-type-size field `.data_address`: 8 bytes +print-type-size field `.metadata`: 0 bytes +print-type-size type: `std::ptr::metadata::PtrComponents`: 8 bytes, alignment: 8 bytes +print-type-size field `.data_address`: 8 bytes +print-type-size field `.metadata`: 0 bytes +print-type-size type: `std::ptr::metadata::PtrComponents>`: 8 bytes, alignment: 8 bytes +print-type-size field `.data_address`: 8 bytes +print-type-size field `.metadata`: 0 bytes +print-type-size type: `std::ptr::metadata::PtrComponents>`: 8 bytes, alignment: 8 bytes +print-type-size field `.data_address`: 8 bytes +print-type-size field `.metadata`: 0 bytes +print-type-size type: `std::ptr::metadata::PtrComponents>`: 8 bytes, alignment: 8 bytes +print-type-size field `.data_address`: 8 bytes +print-type-size field `.metadata`: 0 bytes +print-type-size type: `std::ptr::metadata::PtrComponents`: 8 bytes, alignment: 8 bytes +print-type-size field `.data_address`: 8 bytes +print-type-size field `.metadata`: 0 bytes +print-type-size type: `std::ptr::metadata::PtrComponents>`: 8 bytes, alignment: 8 bytes +print-type-size field `.data_address`: 8 bytes +print-type-size field `.metadata`: 0 bytes +print-type-size type: `std::ptr::metadata::PtrComponents>`: 8 bytes, alignment: 8 bytes +print-type-size field `.data_address`: 8 bytes +print-type-size field `.metadata`: 0 bytes +print-type-size type: `std::ptr::metadata::PtrComponents>`: 8 bytes, alignment: 8 bytes +print-type-size field `.data_address`: 8 bytes +print-type-size field `.metadata`: 0 bytes +print-type-size type: `std::ptr::metadata::PtrComponents`: 8 bytes, alignment: 8 bytes +print-type-size field `.data_address`: 8 bytes +print-type-size field `.metadata`: 0 bytes +print-type-size type: `std::ptr::metadata::PtrComponents>`: 8 bytes, alignment: 8 bytes +print-type-size field `.data_address`: 8 bytes +print-type-size field `.metadata`: 0 bytes +print-type-size type: `std::ptr::metadata::PtrComponents>`: 8 bytes, alignment: 8 bytes +print-type-size field `.data_address`: 8 bytes +print-type-size field `.metadata`: 0 bytes +print-type-size type: `std::ptr::metadata::PtrComponents>`: 8 bytes, alignment: 8 bytes +print-type-size field `.data_address`: 8 bytes +print-type-size field `.metadata`: 0 bytes +print-type-size type: `std::ptr::metadata::PtrComponents`: 8 bytes, alignment: 8 bytes +print-type-size field `.data_address`: 8 bytes +print-type-size field `.metadata`: 0 bytes +print-type-size type: `std::ptr::metadata::PtrComponents`: 8 bytes, alignment: 8 bytes +print-type-size field `.data_address`: 8 bytes +print-type-size field `.metadata`: 0 bytes +print-type-size type: `std::ptr::metadata::PtrComponents`: 8 bytes, alignment: 8 bytes +print-type-size field `.data_address`: 8 bytes +print-type-size field `.metadata`: 0 bytes +print-type-size type: `std::ptr::metadata::PtrComponents`: 8 bytes, alignment: 8 bytes +print-type-size field `.data_address`: 8 bytes +print-type-size field `.metadata`: 0 bytes +print-type-size type: `std::ptr::metadata::PtrRepr<&module::FuncInfo>`: 8 bytes, alignment: 8 bytes +print-type-size variant `PtrRepr`: 8 bytes +print-type-size field `.const_ptr`: 8 bytes +print-type-size field `.mut_ptr`: 8 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size field `.components`: 8 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size type: `std::ptr::metadata::PtrRepr<&mut types::dynamic::Dynamic>`: 8 bytes, alignment: 8 bytes +print-type-size variant `PtrRepr`: 8 bytes +print-type-size field `.const_ptr`: 8 bytes +print-type-size field `.mut_ptr`: 8 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size field `.components`: 8 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size type: `std::ptr::metadata::PtrRepr<&std::string::String>`: 8 bytes, alignment: 8 bytes +print-type-size variant `PtrRepr`: 8 bytes +print-type-size field `.const_ptr`: 8 bytes +print-type-size field `.mut_ptr`: 8 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size field `.components`: 8 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size type: `std::ptr::metadata::PtrRepr<&str>`: 8 bytes, alignment: 8 bytes +print-type-size variant `PtrRepr`: 8 bytes +print-type-size field `.const_ptr`: 8 bytes +print-type-size field `.mut_ptr`: 8 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size field `.components`: 8 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size type: `std::ptr::metadata::PtrRepr<(&str, &std::rc::Rc)>`: 8 bytes, alignment: 8 bytes +print-type-size variant `PtrRepr`: 8 bytes +print-type-size field `.const_ptr`: 8 bytes +print-type-size field `.mut_ptr`: 8 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size field `.components`: 8 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size type: `std::ptr::metadata::PtrRepr<(&str, &types::dynamic::Dynamic)>`: 8 bytes, alignment: 8 bytes +print-type-size variant `PtrRepr`: 8 bytes +print-type-size field `.const_ptr`: 8 bytes +print-type-size field `.mut_ptr`: 8 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size field `.components`: 8 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size type: `std::ptr::metadata::PtrRepr<(&str, serde::metadata::ModuleMetadata<'_>)>`: 8 bytes, alignment: 8 bytes +print-type-size variant `PtrRepr`: 8 bytes +print-type-size field `.const_ptr`: 8 bytes +print-type-size field `.mut_ptr`: 8 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size field `.components`: 8 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size type: `std::ptr::metadata::PtrRepr<(&types::immutable_string::ImmutableString, &std::rc::Rc)>`: 8 bytes, alignment: 8 bytes +print-type-size variant `PtrRepr`: 8 bytes +print-type-size field `.const_ptr`: 8 bytes +print-type-size field `.mut_ptr`: 8 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size field `.components`: 8 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size type: `std::ptr::metadata::PtrRepr<(ast::ident::Ident, ast::expr::Expr)>`: 8 bytes, alignment: 8 bytes +print-type-size variant `PtrRepr`: 8 bytes +print-type-size field `.const_ptr`: 8 bytes +print-type-size field `.mut_ptr`: 8 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size field `.components`: 8 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size type: `std::ptr::metadata::PtrRepr<(smartstring::SmartString, types::dynamic::AccessMode, types::dynamic::Dynamic)>`: 8 bytes, alignment: 8 bytes +print-type-size variant `PtrRepr`: 8 bytes +print-type-size field `.const_ptr`: 8 bytes +print-type-size field `.mut_ptr`: 8 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size field `.components`: 8 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size type: `std::ptr::metadata::PtrRepr<(smartstring::SmartString, types::dynamic::Dynamic)>`: 8 bytes, alignment: 8 bytes +print-type-size variant `PtrRepr`: 8 bytes +print-type-size field `.const_ptr`: 8 bytes +print-type-size field `.mut_ptr`: 8 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size field `.components`: 8 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size type: `std::ptr::metadata::PtrRepr<(std::string::String, std::string::String)>`: 8 bytes, alignment: 8 bytes +print-type-size variant `PtrRepr`: 8 bytes +print-type-size field `.const_ptr`: 8 bytes +print-type-size field `.mut_ptr`: 8 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size field `.components`: 8 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size type: `std::ptr::metadata::PtrRepr<(types::immutable_string::ImmutableString, std::option::Option, tokenizer::Position)>`: 8 bytes, alignment: 8 bytes +print-type-size variant `PtrRepr`: 8 bytes +print-type-size field `.const_ptr`: 8 bytes +print-type-size field `.mut_ptr`: 8 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size field `.components`: 8 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size type: `std::ptr::metadata::PtrRepr<(types::immutable_string::ImmutableString, std::rc::Rc)>`: 8 bytes, alignment: 8 bytes +print-type-size variant `PtrRepr`: 8 bytes +print-type-size field `.const_ptr`: 8 bytes +print-type-size field `.mut_ptr`: 8 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size field `.components`: 8 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size type: `std::ptr::metadata::PtrRepr<(types::immutable_string::ImmutableString, tokenizer::Position)>`: 8 bytes, alignment: 8 bytes +print-type-size variant `PtrRepr`: 8 bytes +print-type-size field `.const_ptr`: 8 bytes +print-type-size field `.mut_ptr`: 8 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size field `.components`: 8 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size type: `std::ptr::metadata::PtrRepr<[[u64; 4]; 2]>`: 8 bytes, alignment: 8 bytes +print-type-size variant `PtrRepr`: 8 bytes +print-type-size field `.const_ptr`: 8 bytes +print-type-size field `.mut_ptr`: 8 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size field `.components`: 8 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size type: `std::ptr::metadata::PtrRepr`: 8 bytes, alignment: 8 bytes +print-type-size variant `PtrRepr`: 8 bytes +print-type-size field `.const_ptr`: 8 bytes +print-type-size field `.mut_ptr`: 8 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size field `.components`: 8 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size type: `std::ptr::metadata::PtrRepr`: 8 bytes, alignment: 8 bytes +print-type-size variant `PtrRepr`: 8 bytes +print-type-size field `.const_ptr`: 8 bytes +print-type-size field `.mut_ptr`: 8 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size field `.components`: 8 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size type: `std::ptr::metadata::PtrRepr`: 8 bytes, alignment: 8 bytes +print-type-size variant `PtrRepr`: 8 bytes +print-type-size field `.const_ptr`: 8 bytes +print-type-size field `.mut_ptr`: 8 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size field `.components`: 8 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size type: `std::ptr::metadata::PtrRepr`: 8 bytes, alignment: 8 bytes +print-type-size variant `PtrRepr`: 8 bytes +print-type-size field `.const_ptr`: 8 bytes +print-type-size field `.mut_ptr`: 8 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size field `.components`: 8 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size type: `std::ptr::metadata::PtrRepr`: 8 bytes, alignment: 8 bytes +print-type-size variant `PtrRepr`: 8 bytes +print-type-size field `.const_ptr`: 8 bytes +print-type-size field `.mut_ptr`: 8 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size field `.components`: 8 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size type: `std::ptr::metadata::PtrRepr`: 8 bytes, alignment: 8 bytes +print-type-size variant `PtrRepr`: 8 bytes +print-type-size field `.const_ptr`: 8 bytes +print-type-size field `.mut_ptr`: 8 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size field `.components`: 8 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size type: `std::ptr::metadata::PtrRepr`: 8 bytes, alignment: 8 bytes +print-type-size variant `PtrRepr`: 8 bytes +print-type-size field `.const_ptr`: 8 bytes +print-type-size field `.mut_ptr`: 8 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size field `.components`: 8 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size type: `std::ptr::metadata::PtrRepr`: 8 bytes, alignment: 8 bytes +print-type-size variant `PtrRepr`: 8 bytes +print-type-size field `.const_ptr`: 8 bytes +print-type-size field `.mut_ptr`: 8 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size field `.components`: 8 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size type: `std::ptr::metadata::PtrRepr`: 8 bytes, alignment: 8 bytes +print-type-size variant `PtrRepr`: 8 bytes +print-type-size field `.const_ptr`: 8 bytes +print-type-size field `.mut_ptr`: 8 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size field `.components`: 8 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size type: `std::ptr::metadata::PtrRepr>`: 8 bytes, alignment: 8 bytes +print-type-size variant `PtrRepr`: 8 bytes +print-type-size field `.const_ptr`: 8 bytes +print-type-size field `.mut_ptr`: 8 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size field `.components`: 8 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size type: `std::ptr::metadata::PtrRepr>`: 8 bytes, alignment: 8 bytes +print-type-size variant `PtrRepr`: 8 bytes +print-type-size field `.const_ptr`: 8 bytes +print-type-size field `.mut_ptr`: 8 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size field `.components`: 8 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size type: `std::ptr::metadata::PtrRepr>`: 8 bytes, alignment: 8 bytes +print-type-size variant `PtrRepr`: 8 bytes +print-type-size field `.const_ptr`: 8 bytes +print-type-size field `.mut_ptr`: 8 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size field `.components`: 8 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size type: `std::ptr::metadata::PtrRepr`: 8 bytes, alignment: 8 bytes +print-type-size variant `PtrRepr`: 8 bytes +print-type-size field `.const_ptr`: 8 bytes +print-type-size field `.mut_ptr`: 8 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size field `.components`: 8 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size type: `std::ptr::metadata::PtrRepr>`: 8 bytes, alignment: 8 bytes +print-type-size variant `PtrRepr`: 8 bytes +print-type-size field `.const_ptr`: 8 bytes +print-type-size field `.mut_ptr`: 8 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size field `.components`: 8 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size type: `std::ptr::metadata::PtrRepr>`: 8 bytes, alignment: 8 bytes +print-type-size variant `PtrRepr`: 8 bytes +print-type-size field `.const_ptr`: 8 bytes +print-type-size field `.mut_ptr`: 8 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size field `.components`: 8 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size type: `std::ptr::metadata::PtrRepr>`: 8 bytes, alignment: 8 bytes +print-type-size variant `PtrRepr`: 8 bytes +print-type-size field `.const_ptr`: 8 bytes +print-type-size field `.mut_ptr`: 8 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size field `.components`: 8 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size type: `std::ptr::metadata::PtrRepr`: 8 bytes, alignment: 8 bytes +print-type-size variant `PtrRepr`: 8 bytes +print-type-size field `.const_ptr`: 8 bytes +print-type-size field `.mut_ptr`: 8 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size field `.components`: 8 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size type: `std::ptr::metadata::PtrRepr>`: 8 bytes, alignment: 8 bytes +print-type-size variant `PtrRepr`: 8 bytes +print-type-size field `.const_ptr`: 8 bytes +print-type-size field `.mut_ptr`: 8 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size field `.components`: 8 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size type: `std::ptr::metadata::PtrRepr>`: 8 bytes, alignment: 8 bytes +print-type-size variant `PtrRepr`: 8 bytes +print-type-size field `.const_ptr`: 8 bytes +print-type-size field `.mut_ptr`: 8 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size field `.components`: 8 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size type: `std::ptr::metadata::PtrRepr>`: 8 bytes, alignment: 8 bytes +print-type-size variant `PtrRepr`: 8 bytes +print-type-size field `.const_ptr`: 8 bytes +print-type-size field `.mut_ptr`: 8 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size field `.components`: 8 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size type: `std::ptr::metadata::PtrRepr`: 8 bytes, alignment: 8 bytes +print-type-size variant `PtrRepr`: 8 bytes +print-type-size field `.const_ptr`: 8 bytes +print-type-size field `.mut_ptr`: 8 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size field `.components`: 8 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size type: `std::ptr::metadata::PtrRepr`: 8 bytes, alignment: 8 bytes +print-type-size variant `PtrRepr`: 8 bytes +print-type-size field `.const_ptr`: 8 bytes +print-type-size field `.mut_ptr`: 8 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size field `.components`: 8 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size type: `std::ptr::metadata::PtrRepr`: 8 bytes, alignment: 8 bytes +print-type-size variant `PtrRepr`: 8 bytes +print-type-size field `.const_ptr`: 8 bytes +print-type-size field `.mut_ptr`: 8 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size field `.components`: 8 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size type: `std::ptr::metadata::PtrRepr`: 8 bytes, alignment: 8 bytes +print-type-size variant `PtrRepr`: 8 bytes +print-type-size field `.const_ptr`: 8 bytes +print-type-size field `.mut_ptr`: 8 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size field `.components`: 8 bytes, offset: 0 bytes, alignment: 8 bytes +print-type-size type: `std::rc::Rc<[closure@src\func\register.rs:197:52: 197:105]>`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc<[closure@src\module\mod.rs:2345:39: 2345:47]>`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc fn(func::native::NativeCallContext<'a>, &'b mut [&'c mut types::dynamic::Dynamic]) -> std::result::Result>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc>`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc>`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc>`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Rc>>`: 8 bytes, alignment: 8 bytes +print-type-size field `.phantom`: 0 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Weak`: 8 bytes, alignment: 8 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Weak`: 8 bytes, alignment: 8 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Weak>`: 8 bytes, alignment: 8 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::rc::Weak>`: 8 bytes, alignment: 8 bytes +print-type-size field `.ptr`: 8 bytes +print-type-size type: `std::result::Result<&[[u64; 4]; 2], once_cell::race::once_box::OnceBox::get_or_init::Void>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::result::Result<(), serde_json::Error>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Err`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Ok`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::result::Result<(), std::boxed::Box>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Err`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Ok`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::result::Result<(), std::io::Error>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Err`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Ok`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::result::Result, once_cell::race::once_box::OnceBox::get_or_init::Void>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::result::Result>, std::alloc::AllocError>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Err`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::result::Result>, std::alloc::AllocError>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Err`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::result::Result>, std::alloc::AllocError>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Err`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::result::Result>, std::alloc::AllocError>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Err`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::result::Result>, std::alloc::AllocError>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Err`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::result::Result)>>, std::alloc::AllocError>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Err`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::result::Result>, std::alloc::AllocError>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Err`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::result::Result>, std::alloc::AllocError>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Err`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::result::Result>, std::alloc::AllocError>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Err`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::result::Result, std::collections::BTreeMap, types::dynamic::Dynamic>)>>, std::alloc::AllocError>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Err`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::result::Result, ast::namespace::Namespace, u64, types::immutable_string::ImmutableString)>>, std::alloc::AllocError>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Err`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::result::Result>, std::alloc::AllocError>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Err`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::result::Result>, std::alloc::AllocError>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Err`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::result::Result>, std::alloc::AllocError>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Err`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::result::Result>, std::alloc::AllocError>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Err`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::result::Result>, std::alloc::AllocError>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Err`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::result::Result>, std::alloc::AllocError>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Err`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::result::Result>, std::alloc::AllocError>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Err`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::result::Result>, std::alloc::AllocError>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Err`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::result::Result>, std::alloc::AllocError>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Err`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::result::Result, tokenizer::Position); 5]>>>, std::alloc::AllocError>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Err`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::result::Result>>, std::alloc::AllocError>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Err`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::result::Result; 3]>>>, std::alloc::AllocError>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Err`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::result::Result>>, std::alloc::AllocError>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Err`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::result::Result>>>, std::alloc::AllocError>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Err`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::result::Result, smallvec::alloc::collections::btree::set_val::SetValZST>>>, std::alloc::AllocError>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Err`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::result::Result, std::rc::Rc>>>, std::alloc::AllocError>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Err`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::result::Result, types::custom_types::CustomTypeInfo>>>, std::alloc::AllocError>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Err`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::result::Result, types::dynamic::Dynamic>>>, std::alloc::AllocError>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Err`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::result::Result std::boxed::Box>>>>>>>, std::alloc::AllocError>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Err`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::result::Result>>>, std::alloc::AllocError>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Err`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::result::Result>>, std::alloc::AllocError>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Err`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::result::Result>>>, std::alloc::AllocError>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Err`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::result::Result>>>, std::alloc::AllocError>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Err`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::result::Result, smallvec::alloc::collections::btree::set_val::SetValZST>>>, std::alloc::AllocError>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Err`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::result::Result, std::rc::Rc>>>, std::alloc::AllocError>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Err`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::result::Result, types::custom_types::CustomTypeInfo>>>, std::alloc::AllocError>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Err`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::result::Result, types::dynamic::Dynamic>>>, std::alloc::AllocError>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Err`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::result::Result std::boxed::Box>>>>>>>, std::alloc::AllocError>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Err`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::result::Result>>>, std::alloc::AllocError>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Err`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::result::Result>>, std::alloc::AllocError>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Err`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::result::Result>>>, std::alloc::AllocError>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Err`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::result::Result>>, std::alloc::AllocError>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Err`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::result::Result, std::rc::Rc>>>, std::alloc::AllocError>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Err`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::result::Result, types::dynamic::Dynamic>>>, std::alloc::AllocError>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Err`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::result::Result std::boxed::Box>>>>>>>, std::alloc::AllocError>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Err`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::result::Result>>, std::alloc::AllocError>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Err`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::result::Result>>, std::alloc::AllocError>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Err`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::result::Result>, std::alloc::AllocError>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Err`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::result::Result>>, std::alloc::AllocError>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Err`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::result::Result>>, std::alloc::AllocError>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Err`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::result::Result>, std::alloc::AllocError>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Err`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::result::Result>, std::alloc::AllocError>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Err`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::result::Result>, std::alloc::AllocError>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Err`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::result::Result>, std::alloc::AllocError>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Err`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::result::Result>, std::alloc::AllocError>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Err`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::result::Result`: 8 bytes, alignment: 8 bytes +print-type-size variant `Err`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::result::Result>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Err`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::result::Result`: 8 bytes, alignment: 8 bytes +print-type-size variant `Err`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::result::Result`: 8 bytes, alignment: 8 bytes +print-type-size variant `Err`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::result::Result, ()>`: 8 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size variant `Err`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::result::Result`: 8 bytes, alignment: 8 bytes +print-type-size variant `Ok`: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::sync::atomic::AtomicPtr<[[u64; 4]; 2]>`: 8 bytes, alignment: 8 bytes +print-type-size field `.p`: 8 bytes +print-type-size type: `std::sync::atomic::AtomicUsize`: 8 bytes, alignment: 8 bytes +print-type-size field `.v`: 8 bytes +print-type-size type: `std::sys::windows::fs::File`: 8 bytes, alignment: 8 bytes +print-type-size field `.handle`: 8 bytes +print-type-size type: `std::sys::windows::handle::Handle`: 8 bytes, alignment: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `tokenizer::Span`: 8 bytes, alignment: 2 bytes +print-type-size field `.start`: 4 bytes +print-type-size field `.end`: 4 bytes +print-type-size type: `types::float::FloatWrapper`: 8 bytes, alignment: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `types::immutable_string::ImmutableString`: 8 bytes, alignment: 8 bytes +print-type-size field `.0`: 8 bytes +print-type-size type: `std::iter::Map, fn(i16) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>`: 6 bytes, alignment: 2 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 6 bytes +print-type-size type: `std::iter::Map, fn(u16) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>`: 6 bytes, alignment: 2 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 6 bytes +print-type-size type: `std::mem::ManuallyDrop>`: 6 bytes, alignment: 2 bytes +print-type-size field `.value`: 6 bytes +print-type-size type: `std::mem::ManuallyDrop>`: 6 bytes, alignment: 2 bytes +print-type-size field `.value`: 6 bytes +print-type-size type: `std::mem::MaybeUninit>`: 6 bytes, alignment: 2 bytes +print-type-size variant `MaybeUninit`: 6 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 6 bytes +print-type-size type: `std::mem::MaybeUninit>`: 6 bytes, alignment: 2 bytes +print-type-size variant `MaybeUninit`: 6 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 6 bytes +print-type-size type: `std::ops::RangeInclusive`: 6 bytes, alignment: 2 bytes +print-type-size field `.start`: 2 bytes +print-type-size field `.end`: 2 bytes +print-type-size field `.exhausted`: 1 bytes +print-type-size end padding: 1 bytes +print-type-size type: `std::ops::RangeInclusive`: 6 bytes, alignment: 2 bytes +print-type-size field `.start`: 2 bytes +print-type-size field `.end`: 2 bytes +print-type-size field `.exhausted`: 1 bytes +print-type-size end padding: 1 bytes +print-type-size type: `std::option::Option>`: 6 bytes, alignment: 2 bytes +print-type-size discriminant: 2 bytes +print-type-size variant `Some`: 4 bytes +print-type-size field `.0`: 4 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>`: 6 bytes, alignment: 2 bytes +print-type-size discriminant: 2 bytes +print-type-size variant `Some`: 4 bytes +print-type-size field `.0`: 4 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>`: 6 bytes, alignment: 2 bytes +print-type-size variant `Some`: 6 bytes +print-type-size field `.0`: 6 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>`: 6 bytes, alignment: 2 bytes +print-type-size variant `Some`: 6 bytes +print-type-size field `.0`: 6 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option`: 6 bytes, alignment: 2 bytes +print-type-size discriminant: 2 bytes +print-type-size variant `Some`: 4 bytes +print-type-size field `.0`: 4 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `core::time::Nanoseconds`: 4 bytes, alignment: 4 bytes +print-type-size field `.0`: 4 bytes +print-type-size type: `getrandom::error::Error`: 4 bytes, alignment: 4 bytes +print-type-size field `.0`: 4 bytes +print-type-size type: `std::iter::Map, fn(i16) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>`: 4 bytes, alignment: 2 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 4 bytes +print-type-size type: `std::iter::Map, fn(u16) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>`: 4 bytes, alignment: 2 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 4 bytes +print-type-size type: `std::mem::ManuallyDrop`: 4 bytes, alignment: 4 bytes +print-type-size field `.value`: 4 bytes +print-type-size type: `std::mem::ManuallyDrop`: 4 bytes, alignment: 4 bytes +print-type-size field `.value`: 4 bytes +print-type-size type: `std::mem::ManuallyDrop`: 4 bytes, alignment: 4 bytes +print-type-size field `.value`: 4 bytes +print-type-size type: `std::mem::ManuallyDrop>`: 4 bytes, alignment: 2 bytes +print-type-size field `.value`: 4 bytes +print-type-size type: `std::mem::ManuallyDrop>`: 4 bytes, alignment: 2 bytes +print-type-size field `.value`: 4 bytes +print-type-size type: `std::mem::ManuallyDrop>`: 4 bytes, alignment: 4 bytes +print-type-size field `.value`: 4 bytes +print-type-size type: `std::mem::ManuallyDrop>>`: 4 bytes, alignment: 4 bytes +print-type-size field `.value`: 4 bytes +print-type-size type: `std::mem::ManuallyDrop`: 4 bytes, alignment: 4 bytes +print-type-size field `.value`: 4 bytes +print-type-size type: `std::mem::MaybeUninit`: 4 bytes, alignment: 4 bytes +print-type-size variant `MaybeUninit`: 4 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 4 bytes +print-type-size type: `std::mem::MaybeUninit`: 4 bytes, alignment: 4 bytes +print-type-size variant `MaybeUninit`: 4 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 4 bytes +print-type-size type: `std::mem::MaybeUninit`: 4 bytes, alignment: 4 bytes +print-type-size variant `MaybeUninit`: 4 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 4 bytes +print-type-size type: `std::mem::MaybeUninit>`: 4 bytes, alignment: 2 bytes +print-type-size variant `MaybeUninit`: 4 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 4 bytes +print-type-size type: `std::mem::MaybeUninit>`: 4 bytes, alignment: 2 bytes +print-type-size variant `MaybeUninit`: 4 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 4 bytes +print-type-size type: `std::mem::MaybeUninit>`: 4 bytes, alignment: 4 bytes +print-type-size variant `MaybeUninit`: 4 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 4 bytes +print-type-size type: `std::mem::MaybeUninit>>`: 4 bytes, alignment: 4 bytes +print-type-size variant `MaybeUninit`: 4 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 4 bytes +print-type-size type: `std::mem::MaybeUninit`: 4 bytes, alignment: 4 bytes +print-type-size variant `MaybeUninit`: 4 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 4 bytes +print-type-size type: `std::num::NonZeroU32`: 4 bytes, alignment: 4 bytes +print-type-size field `.0`: 4 bytes +print-type-size type: `std::ops::ControlFlow, char>`: 4 bytes, alignment: 4 bytes +print-type-size variant `Continue`: 4 bytes +print-type-size field `.0`: 4 bytes +print-type-size variant `Break`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::ops::ControlFlow, i16>`: 4 bytes, alignment: 2 bytes +print-type-size discriminant: 2 bytes +print-type-size variant `Continue`: 2 bytes +print-type-size field `.0`: 2 bytes +print-type-size variant `Break`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::ops::ControlFlow, u16>`: 4 bytes, alignment: 2 bytes +print-type-size discriminant: 2 bytes +print-type-size variant `Continue`: 2 bytes +print-type-size field `.0`: 2 bytes +print-type-size variant `Break`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::ops::Range`: 4 bytes, alignment: 2 bytes +print-type-size field `.start`: 2 bytes +print-type-size field `.end`: 2 bytes +print-type-size type: `std::ops::Range`: 4 bytes, alignment: 2 bytes +print-type-size field `.start`: 2 bytes +print-type-size field `.end`: 2 bytes +print-type-size type: `std::option::Option`: 4 bytes, alignment: 2 bytes +print-type-size discriminant: 2 bytes +print-type-size variant `Some`: 2 bytes +print-type-size field `.0`: 2 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option`: 4 bytes, alignment: 4 bytes +print-type-size variant `Some`: 4 bytes +print-type-size field `.0`: 4 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option`: 4 bytes, alignment: 2 bytes +print-type-size discriminant: 2 bytes +print-type-size variant `Some`: 2 bytes +print-type-size field `.0`: 2 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>`: 4 bytes, alignment: 4 bytes +print-type-size variant `Some`: 4 bytes +print-type-size field `.0`: 4 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option`: 4 bytes, alignment: 2 bytes +print-type-size discriminant: 2 bytes +print-type-size variant `Some`: 2 bytes +print-type-size field `.0`: 2 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::result::Result<(), getrandom::error::Error>`: 4 bytes, alignment: 4 bytes +print-type-size variant `Err`: 4 bytes +print-type-size field `.0`: 4 bytes +print-type-size variant `Ok`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::result::Result`: 4 bytes, alignment: 4 bytes +print-type-size variant `Ok`: 4 bytes +print-type-size field `.0`: 4 bytes +print-type-size variant `Err`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `tokenizer::Position`: 4 bytes, alignment: 2 bytes +print-type-size field `.line`: 2 bytes +print-type-size field `.pos`: 2 bytes +print-type-size type: `types::float::FloatWrapper`: 4 bytes, alignment: 4 bytes +print-type-size field `.0`: 4 bytes +print-type-size type: `std::iter::Map, fn(i8) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>`: 3 bytes, alignment: 1 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 3 bytes +print-type-size type: `std::iter::Map, fn(u8) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>`: 3 bytes, alignment: 1 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 3 bytes +print-type-size type: `std::mem::ManuallyDrop>`: 3 bytes, alignment: 1 bytes +print-type-size field `.value`: 3 bytes +print-type-size type: `std::mem::ManuallyDrop>`: 3 bytes, alignment: 1 bytes +print-type-size field `.value`: 3 bytes +print-type-size type: `std::mem::MaybeUninit>`: 3 bytes, alignment: 1 bytes +print-type-size variant `MaybeUninit`: 3 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 3 bytes +print-type-size type: `std::mem::MaybeUninit>`: 3 bytes, alignment: 1 bytes +print-type-size variant `MaybeUninit`: 3 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 3 bytes +print-type-size type: `std::ops::RangeInclusive`: 3 bytes, alignment: 1 bytes +print-type-size field `.start`: 1 bytes +print-type-size field `.end`: 1 bytes +print-type-size field `.exhausted`: 1 bytes +print-type-size type: `std::ops::RangeInclusive`: 3 bytes, alignment: 1 bytes +print-type-size field `.start`: 1 bytes +print-type-size field `.end`: 1 bytes +print-type-size field `.exhausted`: 1 bytes +print-type-size type: `std::option::Option>`: 3 bytes, alignment: 1 bytes +print-type-size discriminant: 1 bytes +print-type-size variant `Some`: 2 bytes +print-type-size field `.0`: 2 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>`: 3 bytes, alignment: 1 bytes +print-type-size discriminant: 1 bytes +print-type-size variant `Some`: 2 bytes +print-type-size field `.0`: 2 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>`: 3 bytes, alignment: 1 bytes +print-type-size variant `Some`: 3 bytes +print-type-size field `.0`: 3 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>`: 3 bytes, alignment: 1 bytes +print-type-size variant `Some`: 3 bytes +print-type-size field `.0`: 3 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `[closure@src\ast\ast.rs:859:45: 859:56]`: 2 bytes, alignment: 1 bytes +print-type-size end padding: 2 bytes +print-type-size type: `api::definitions::DefinitionsConfig`: 2 bytes, alignment: 1 bytes +print-type-size field `.write_headers`: 1 bytes +print-type-size field `.include_standard_packages`: 1 bytes +print-type-size type: `api::options::LangOptions`: 2 bytes, alignment: 2 bytes +print-type-size field `.bits`: 2 bytes +print-type-size type: `hashbrown::raw::bitmask::BitMask`: 2 bytes, alignment: 2 bytes +print-type-size field `.0`: 2 bytes +print-type-size type: `hashbrown::raw::bitmask::BitMaskIter`: 2 bytes, alignment: 2 bytes +print-type-size field `.0`: 2 bytes +print-type-size type: `serde_json::ser::CharEscape`: 2 bytes, alignment: 1 bytes +print-type-size discriminant: 1 bytes +print-type-size variant `AsciiControl`: 1 bytes +print-type-size field `.0`: 1 bytes +print-type-size variant `Quote`: 0 bytes +print-type-size variant `ReverseSolidus`: 0 bytes +print-type-size variant `Solidus`: 0 bytes +print-type-size variant `Backspace`: 0 bytes +print-type-size variant `FormFeed`: 0 bytes +print-type-size variant `LineFeed`: 0 bytes +print-type-size variant `CarriageReturn`: 0 bytes +print-type-size variant `Tab`: 0 bytes +print-type-size type: `std::iter::Map, fn(i8) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>`: 2 bytes, alignment: 1 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 2 bytes +print-type-size type: `std::iter::Map, fn(u8) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>`: 2 bytes, alignment: 1 bytes +print-type-size field `.f`: 0 bytes +print-type-size field `.iter`: 2 bytes +print-type-size type: `std::mem::ManuallyDrop`: 2 bytes, alignment: 2 bytes +print-type-size field `.value`: 2 bytes +print-type-size type: `std::mem::ManuallyDrop>`: 2 bytes, alignment: 1 bytes +print-type-size field `.value`: 2 bytes +print-type-size type: `std::mem::ManuallyDrop>`: 2 bytes, alignment: 1 bytes +print-type-size field `.value`: 2 bytes +print-type-size type: `std::mem::ManuallyDrop`: 2 bytes, alignment: 2 bytes +print-type-size field `.value`: 2 bytes +print-type-size type: `std::mem::MaybeUninit`: 2 bytes, alignment: 2 bytes +print-type-size variant `MaybeUninit`: 2 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 2 bytes +print-type-size type: `std::mem::MaybeUninit>`: 2 bytes, alignment: 1 bytes +print-type-size variant `MaybeUninit`: 2 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 2 bytes +print-type-size type: `std::mem::MaybeUninit>`: 2 bytes, alignment: 1 bytes +print-type-size variant `MaybeUninit`: 2 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 2 bytes +print-type-size type: `std::mem::MaybeUninit`: 2 bytes, alignment: 2 bytes +print-type-size variant `MaybeUninit`: 2 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 2 bytes +print-type-size type: `std::ops::ControlFlow, i8>`: 2 bytes, alignment: 1 bytes +print-type-size discriminant: 1 bytes +print-type-size variant `Continue`: 1 bytes +print-type-size field `.0`: 1 bytes +print-type-size variant `Break`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::ops::ControlFlow, u8>`: 2 bytes, alignment: 1 bytes +print-type-size discriminant: 1 bytes +print-type-size variant `Continue`: 1 bytes +print-type-size field `.0`: 1 bytes +print-type-size variant `Break`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::ops::Range`: 2 bytes, alignment: 1 bytes +print-type-size field `.start`: 1 bytes +print-type-size field `.end`: 1 bytes +print-type-size type: `std::ops::Range`: 2 bytes, alignment: 1 bytes +print-type-size field `.start`: 1 bytes +print-type-size field `.end`: 1 bytes +print-type-size type: `std::option::Option`: 2 bytes, alignment: 1 bytes +print-type-size discriminant: 1 bytes +print-type-size variant `Some`: 1 bytes +print-type-size field `.0`: 1 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option`: 2 bytes, alignment: 1 bytes +print-type-size discriminant: 1 bytes +print-type-size variant `Some`: 1 bytes +print-type-size field `.0`: 1 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option`: 2 bytes, alignment: 1 bytes +print-type-size discriminant: 1 bytes +print-type-size variant `Some`: 1 bytes +print-type-size field `.0`: 1 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option`: 2 bytes, alignment: 1 bytes +print-type-size discriminant: 1 bytes +print-type-size variant `Some`: 1 bytes +print-type-size field `.0`: 1 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>`: 2 bytes, alignment: 1 bytes +print-type-size discriminant: 1 bytes +print-type-size variant `Some`: 1 bytes +print-type-size field `.0`: 1 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option`: 2 bytes, alignment: 1 bytes +print-type-size discriminant: 1 bytes +print-type-size variant `Some`: 1 bytes +print-type-size field `.0`: 1 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `ast::flags::ASTFlags`: 1 bytes, alignment: 1 bytes +print-type-size field `.bits`: 1 bytes +print-type-size type: `ast::flags::FnAccess`: 1 bytes, alignment: 1 bytes +print-type-size discriminant: 1 bytes +print-type-size variant `Private`: 0 bytes +print-type-size variant `Public`: 0 bytes +print-type-size type: `ast::flags::_:: for ast::flags::FnAccess>::deserialize::__Field`: 1 bytes, alignment: 1 bytes +print-type-size discriminant: 1 bytes +print-type-size variant `__field0`: 0 bytes +print-type-size variant `__field1`: 0 bytes +print-type-size type: `core::fmt::builders::PadAdapterState`: 1 bytes, alignment: 1 bytes +print-type-size field `.on_newline`: 1 bytes +print-type-size type: `core::num::dec2flt::FloatErrorKind`: 1 bytes, alignment: 1 bytes +print-type-size discriminant: 1 bytes +print-type-size variant `Empty`: 0 bytes +print-type-size variant `Invalid`: 0 bytes +print-type-size type: `core::panicking::AssertKind`: 1 bytes, alignment: 1 bytes +print-type-size discriminant: 1 bytes +print-type-size variant `Eq`: 0 bytes +print-type-size variant `Ne`: 0 bytes +print-type-size variant `Match`: 0 bytes +print-type-size type: `eval::chaining::ChainType`: 1 bytes, alignment: 1 bytes +print-type-size discriminant: 1 bytes +print-type-size variant `Indexing`: 0 bytes +print-type-size variant `Dotting`: 0 bytes +print-type-size type: `eval::debugger::DebuggerCommand`: 1 bytes, alignment: 1 bytes +print-type-size discriminant: 1 bytes +print-type-size variant `Continue`: 0 bytes +print-type-size variant `StepInto`: 0 bytes +print-type-size variant `StepOver`: 0 bytes +print-type-size variant `Next`: 0 bytes +print-type-size variant `FunctionExit`: 0 bytes +print-type-size type: `hashbrown::raw::Fallibility`: 1 bytes, alignment: 1 bytes +print-type-size discriminant: 1 bytes +print-type-size variant `Fallible`: 0 bytes +print-type-size variant `Infallible`: 0 bytes +print-type-size type: `module::FnNamespace`: 1 bytes, alignment: 1 bytes +print-type-size discriminant: 1 bytes +print-type-size variant `Internal`: 0 bytes +print-type-size variant `Global`: 0 bytes +print-type-size type: `module::ModuleFlags`: 1 bytes, alignment: 1 bytes +print-type-size field `.bits`: 1 bytes +print-type-size type: `optimizer::OptimizationLevel`: 1 bytes, alignment: 1 bytes +print-type-size discriminant: 1 bytes +print-type-size variant `None`: 0 bytes +print-type-size variant `Simple`: 0 bytes +print-type-size variant `Full`: 0 bytes +print-type-size type: `parser::ParseSettingFlags`: 1 bytes, alignment: 1 bytes +print-type-size field `.bits`: 1 bytes +print-type-size type: `rust_decimal::RoundingStrategy`: 1 bytes, alignment: 1 bytes +print-type-size discriminant: 1 bytes +print-type-size variant `MidpointNearestEven`: 0 bytes +print-type-size variant `MidpointAwayFromZero`: 0 bytes +print-type-size variant `MidpointTowardZero`: 0 bytes +print-type-size variant `ToZero`: 0 bytes +print-type-size variant `AwayFromZero`: 0 bytes +print-type-size variant `ToNegativeInfinity`: 0 bytes +print-type-size variant `ToPositiveInfinity`: 0 bytes +print-type-size variant `BankersRounding`: 0 bytes +print-type-size variant `RoundHalfUp`: 0 bytes +print-type-size variant `RoundHalfDown`: 0 bytes +print-type-size variant `RoundDown`: 0 bytes +print-type-size variant `RoundUp`: 0 bytes +print-type-size type: `serde::deserialize:: for types::scope::Scope<'de>>::deserialize::_:: for serde::deserialize:: for types::scope::Scope<'de>>::deserialize::ScopeEntry>::deserialize::__Field`: 1 bytes, alignment: 1 bytes +print-type-size discriminant: 1 bytes +print-type-size variant `__field0`: 0 bytes +print-type-size variant `__field1`: 0 bytes +print-type-size variant `__field2`: 0 bytes +print-type-size variant `__ignore`: 0 bytes +print-type-size type: `serde::metadata::FnType`: 1 bytes, alignment: 1 bytes +print-type-size discriminant: 1 bytes +print-type-size variant `Script`: 0 bytes +print-type-size variant `Native`: 0 bytes +print-type-size type: `serde_json::ser::State`: 1 bytes, alignment: 1 bytes +print-type-size discriminant: 1 bytes +print-type-size variant `Empty`: 0 bytes +print-type-size variant `First`: 0 bytes +print-type-size variant `Rest`: 0 bytes +print-type-size type: `smallvec::alloc::raw_vec::AllocInit`: 1 bytes, alignment: 1 bytes +print-type-size discriminant: 1 bytes +print-type-size variant `Uninitialized`: 0 bytes +print-type-size variant `Zeroed`: 0 bytes +print-type-size type: `smartstring::marker_byte::Discriminant`: 1 bytes, alignment: 1 bytes +print-type-size discriminant: 1 bytes +print-type-size variant `Boxed`: 0 bytes +print-type-size variant `Inline`: 0 bytes +print-type-size type: `smartstring::marker_byte::Marker`: 1 bytes, alignment: 1 bytes +print-type-size field `.0`: 1 bytes +print-type-size type: `std::cell::UnsafeCell`: 1 bytes, alignment: 1 bytes +print-type-size field `.value`: 1 bytes +print-type-size type: `std::cmp::Ordering`: 1 bytes, alignment: 1 bytes +print-type-size discriminant: 1 bytes +print-type-size variant `Less`: 0 bytes +print-type-size variant `Equal`: 0 bytes +print-type-size variant `Greater`: 0 bytes +print-type-size type: `std::ffi::c_void`: 1 bytes, alignment: 1 bytes +print-type-size discriminant: 1 bytes +print-type-size variant `__variant1`: 0 bytes +print-type-size variant `__variant2`: 0 bytes +print-type-size type: `std::fmt::rt::v1::Alignment`: 1 bytes, alignment: 1 bytes +print-type-size discriminant: 1 bytes +print-type-size variant `Left`: 0 bytes +print-type-size variant `Right`: 0 bytes +print-type-size variant `Center`: 0 bytes +print-type-size variant `Unknown`: 0 bytes +print-type-size type: `std::io::ErrorKind`: 1 bytes, alignment: 1 bytes +print-type-size discriminant: 1 bytes +print-type-size variant `NotFound`: 0 bytes +print-type-size variant `PermissionDenied`: 0 bytes +print-type-size variant `ConnectionRefused`: 0 bytes +print-type-size variant `ConnectionReset`: 0 bytes +print-type-size variant `HostUnreachable`: 0 bytes +print-type-size variant `NetworkUnreachable`: 0 bytes +print-type-size variant `ConnectionAborted`: 0 bytes +print-type-size variant `NotConnected`: 0 bytes +print-type-size variant `AddrInUse`: 0 bytes +print-type-size variant `AddrNotAvailable`: 0 bytes +print-type-size variant `NetworkDown`: 0 bytes +print-type-size variant `BrokenPipe`: 0 bytes +print-type-size variant `AlreadyExists`: 0 bytes +print-type-size variant `WouldBlock`: 0 bytes +print-type-size variant `NotADirectory`: 0 bytes +print-type-size variant `IsADirectory`: 0 bytes +print-type-size variant `DirectoryNotEmpty`: 0 bytes +print-type-size variant `ReadOnlyFilesystem`: 0 bytes +print-type-size variant `FilesystemLoop`: 0 bytes +print-type-size variant `StaleNetworkFileHandle`: 0 bytes +print-type-size variant `InvalidInput`: 0 bytes +print-type-size variant `InvalidData`: 0 bytes +print-type-size variant `TimedOut`: 0 bytes +print-type-size variant `WriteZero`: 0 bytes +print-type-size variant `StorageFull`: 0 bytes +print-type-size variant `NotSeekable`: 0 bytes +print-type-size variant `FilesystemQuotaExceeded`: 0 bytes +print-type-size variant `FileTooLarge`: 0 bytes +print-type-size variant `ResourceBusy`: 0 bytes +print-type-size variant `ExecutableFileBusy`: 0 bytes +print-type-size variant `Deadlock`: 0 bytes +print-type-size variant `CrossesDevices`: 0 bytes +print-type-size variant `TooManyLinks`: 0 bytes +print-type-size variant `InvalidFilename`: 0 bytes +print-type-size variant `ArgumentListTooLong`: 0 bytes +print-type-size variant `Interrupted`: 0 bytes +print-type-size variant `Unsupported`: 0 bytes +print-type-size variant `UnexpectedEof`: 0 bytes +print-type-size variant `OutOfMemory`: 0 bytes +print-type-size variant `Other`: 0 bytes +print-type-size variant `Uncategorized`: 0 bytes +print-type-size type: `std::mem::ManuallyDrop`: 1 bytes, alignment: 1 bytes +print-type-size field `.value`: 1 bytes +print-type-size type: `std::mem::ManuallyDrop`: 1 bytes, alignment: 1 bytes +print-type-size field `.value`: 1 bytes +print-type-size type: `std::mem::ManuallyDrop>`: 1 bytes, alignment: 1 bytes +print-type-size field `.value`: 1 bytes +print-type-size type: `std::mem::ManuallyDrop>`: 1 bytes, alignment: 1 bytes +print-type-size field `.value`: 1 bytes +print-type-size type: `std::mem::ManuallyDrop`: 1 bytes, alignment: 1 bytes +print-type-size field `.value`: 1 bytes +print-type-size type: `std::mem::MaybeUninit`: 1 bytes, alignment: 1 bytes +print-type-size variant `MaybeUninit`: 1 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 1 bytes +print-type-size type: `std::mem::MaybeUninit`: 1 bytes, alignment: 1 bytes +print-type-size variant `MaybeUninit`: 1 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 1 bytes +print-type-size type: `std::mem::MaybeUninit>`: 1 bytes, alignment: 1 bytes +print-type-size variant `MaybeUninit`: 1 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 1 bytes +print-type-size type: `std::mem::MaybeUninit>`: 1 bytes, alignment: 1 bytes +print-type-size variant `MaybeUninit`: 1 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 1 bytes +print-type-size type: `std::mem::MaybeUninit`: 1 bytes, alignment: 1 bytes +print-type-size variant `MaybeUninit`: 1 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 1 bytes +print-type-size type: `std::num::IntErrorKind`: 1 bytes, alignment: 1 bytes +print-type-size discriminant: 1 bytes +print-type-size variant `Empty`: 0 bytes +print-type-size variant `InvalidDigit`: 0 bytes +print-type-size variant `PosOverflow`: 0 bytes +print-type-size variant `NegOverflow`: 0 bytes +print-type-size variant `Zero`: 0 bytes +print-type-size type: `std::num::NonZeroU8`: 1 bytes, alignment: 1 bytes +print-type-size field `.0`: 1 bytes +print-type-size type: `std::num::ParseFloatError`: 1 bytes, alignment: 1 bytes +print-type-size field `.kind`: 1 bytes +print-type-size type: `std::num::ParseIntError`: 1 bytes, alignment: 1 bytes +print-type-size field `.kind`: 1 bytes +print-type-size type: `std::ops::ControlFlow<()>`: 1 bytes, alignment: 1 bytes +print-type-size discriminant: 1 bytes +print-type-size variant `Continue`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size variant `Break`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::ops::ControlFlow>`: 1 bytes, alignment: 1 bytes +print-type-size discriminant: 1 bytes +print-type-size variant `Continue`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size variant `Break`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::ops::ControlFlow, std::convert::Infallible>>`: 1 bytes, alignment: 1 bytes +print-type-size discriminant: 1 bytes +print-type-size variant `Continue`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size variant `Break`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::ops::ControlFlow>`: 1 bytes, alignment: 1 bytes +print-type-size discriminant: 1 bytes +print-type-size variant `Continue`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size variant `Break`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::ops::ControlFlow>`: 1 bytes, alignment: 1 bytes +print-type-size discriminant: 1 bytes +print-type-size variant `Continue`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size variant `Break`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::ops::ControlFlow>`: 1 bytes, alignment: 1 bytes +print-type-size discriminant: 1 bytes +print-type-size variant `Continue`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size variant `Break`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::option::Option<()>`: 1 bytes, alignment: 1 bytes +print-type-size discriminant: 1 bytes +print-type-size variant `None`: 0 bytes +print-type-size variant `Some`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::option::Option`: 1 bytes, alignment: 1 bytes +print-type-size variant `Some`: 1 bytes +print-type-size field `.0`: 1 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option for types::scope::Scope<'de>>::deserialize::_:: for serde::deserialize:: for types::scope::Scope<'de>>::deserialize::ScopeEntry>::deserialize::__Field>`: 1 bytes, alignment: 1 bytes +print-type-size variant `Some`: 1 bytes +print-type-size field `.0`: 1 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option`: 1 bytes, alignment: 1 bytes +print-type-size discriminant: 1 bytes +print-type-size variant `None`: 0 bytes +print-type-size variant `Some`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::option::Option`: 1 bytes, alignment: 1 bytes +print-type-size variant `Some`: 1 bytes +print-type-size field `.0`: 1 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option`: 1 bytes, alignment: 1 bytes +print-type-size variant `Some`: 1 bytes +print-type-size field `.0`: 1 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::option::Option>`: 1 bytes, alignment: 1 bytes +print-type-size discriminant: 1 bytes +print-type-size variant `None`: 0 bytes +print-type-size variant `Some`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::path::State`: 1 bytes, alignment: 1 bytes +print-type-size discriminant: 1 bytes +print-type-size variant `Prefix`: 0 bytes +print-type-size variant `StartDir`: 0 bytes +print-type-size variant `Body`: 0 bytes +print-type-size variant `Done`: 0 bytes +print-type-size type: `std::result::Result<(), serde_json::io::imp::Error>`: 1 bytes, alignment: 1 bytes +print-type-size discriminant: 1 bytes +print-type-size variant `Ok`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size variant `Err`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::result::Result<(), std::fmt::Error>`: 1 bytes, alignment: 1 bytes +print-type-size discriminant: 1 bytes +print-type-size variant `Ok`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size variant `Err`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::sync::atomic::AtomicBool`: 1 bytes, alignment: 1 bytes +print-type-size field `.v`: 1 bytes +print-type-size type: `std::sync::atomic::Ordering`: 1 bytes, alignment: 1 bytes +print-type-size discriminant: 1 bytes +print-type-size variant `Relaxed`: 0 bytes +print-type-size variant `Release`: 0 bytes +print-type-size variant `Acquire`: 0 bytes +print-type-size variant `AcqRel`: 0 bytes +print-type-size variant `SeqCst`: 0 bytes +print-type-size type: `std::vec::ExtendElement`: 1 bytes, alignment: 1 bytes +print-type-size field `.0`: 1 bytes +print-type-size type: `types::dynamic::AccessMode`: 1 bytes, alignment: 1 bytes +print-type-size discriminant: 1 bytes +print-type-size variant `ReadWrite`: 0 bytes +print-type-size variant `ReadOnly`: 0 bytes +print-type-size type: ` as std::fmt::Debug>::fmt::BorrowedPlaceholder`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@ as std::clone::Clone>::clone::{closure#0}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@ as std::clone::Clone>::clone::{closure#0}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@ as std::clone::Clone>::clone::{closure#0}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@>::try_from::{closure#0}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@>::try_from::{closure#0}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@; 8]> as std::iter::Iterator>::next::{closure#0}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@; 8]> as std::iter::Iterator>::next::{closure#0}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@ as std::iter::Iterator>::next::{closure#0}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@ as std::iter::Iterator>::next::{closure#0}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@> as std::iter::FromIterator<(&str, serde::metadata::ModuleMetadata<'_>)>>::from_iter, std::rc::Rc>>>, std::iter::Map, std::rc::Rc>, [closure@src\module\mod.rs:1912:40: 1912:48]>, [closure@src\module\mod.rs:1912:23: 1912:26]>, [closure@src\serde\metadata.rs:157:22: 157:33]>>::{closure#0}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@, types::dynamic::Dynamic> as std::iter::FromIterator<(smartstring::SmartString, types::dynamic::Dynamic)>>::from_iter, types::dynamic::Dynamic>, [closure@src\types\dynamic.rs:2240:26: 2240:34]>>::{closure#0}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@, types::dynamic::Dynamic> as std::iter::Iterator>::next::{closure#0}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@, api::custom_syntax::CustomSyntax> as std::iter::Iterator>::next::{closure#0}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@, smallvec::alloc::collections::btree::set_val::SetValZST> as std::iter::Iterator>::next::{closure#0}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@, std::rc::Rc> as std::iter::Iterator>::next::{closure#0}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@, types::dynamic::Dynamic> as std::iter::Iterator>::next::{closure#0}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@, std::rc::Rc> as std::iter::Iterator>::next::{closure#0}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@, types::dynamic::Dynamic> as std::iter::Iterator>::next::{closure#0}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@> as std::iter::Iterator>::next::{closure#0}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@, types::dynamic::Dynamic> as std::iter::Iterator>::next::{closure#0}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@ as std::iter::Iterator>::next::{closure#0}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@> as std::iter::Iterator>::next::{closure#0}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@ as std::iter::Iterator>::next::{closure#0}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@::drop::{closure#0}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@; 3]>>>, [closure@src\eval\global_state.rs:216:47: 216:50]>, std::slice::Iter<'_, std::rc::Rc>> as std::iter::DoubleEndedIterator>::next_back::{closure#0}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@; 3]>>>, [closure@src\eval\global_state.rs:216:47: 216:50]>, std::slice::Iter<'_, std::rc::Rc>> as std::iter::DoubleEndedIterator>::next_back::{closure#1}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@>>, [closure@src\eval\global_state.rs:214:23: 214:26]>, std::slice::Iter<'_, types::immutable_string::ImmutableString>> as std::iter::DoubleEndedIterator>::next_back::{closure#0}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@>>, [closure@src\eval\global_state.rs:214:23: 214:26]>, std::slice::Iter<'_, types::immutable_string::ImmutableString>> as std::iter::DoubleEndedIterator>::next_back::{closure#1}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@> as std::iter::FromIterator>>::from_iter, for<'a> fn(&'a ast::expr::Expr) -> std::option::Option {ast::expr::Expr::get_literal_value}>>::{closure#0}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@ as std::iter::Iterator>::count::{closure#0}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@ as std::iter::Iterator>::next::{closure#0}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@ as std::iter::Iterator>::next::{closure#0}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@ahash::random_state::get_fixed_seeds::{closure#0}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@core::str::::find<'_, &str>::{closure#0}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@core::str::::find<'_, char>::{closure#0}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@hashbrown::raw::RawTable<(u64, func::callable_function::CallableFunction)>::clone_from_impl::{closure#0}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@hashbrown::raw::RawTable<(u64, module::FuncInfo)>::clone_from_impl::{closure#0}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@hashbrown::raw::RawTable<(u64, std::option::Option)>::clear::{closure#0}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@hashbrown::raw::RawTable<(u64, types::dynamic::Dynamic)>::clone_from_impl::{closure#0}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@once_cell::race::once_box::OnceBox<[[u64; 4]; 2]>::get_or_init<[closure@ahash::random_state::get_fixed_seeds::{closure#0}]>::{closure#0}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@rust_decimal::decimal:: for f64>::try_from::{closure#0}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@smallvec::alloc::collections::btree::mem::take_mut, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, [closure@smallvec::alloc::collections::btree::node::NodeRef, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>::push_internal_level::{closure#0}]>::{closure#0}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@smallvec::alloc::collections::btree::mem::take_mut, smallvec::alloc::collections::btree::set_val::SetValZST, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, [closure@smallvec::alloc::collections::btree::node::NodeRef, smallvec::alloc::collections::btree::set_val::SetValZST, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>::push_internal_level::{closure#0}]>::{closure#0}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@smallvec::alloc::collections::btree::mem::take_mut, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, [closure@smallvec::alloc::collections::btree::node::NodeRef, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>::push_internal_level::{closure#0}]>::{closure#0}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@smallvec::alloc::collections::btree::mem::take_mut, types::custom_types::CustomTypeInfo, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, [closure@smallvec::alloc::collections::btree::node::NodeRef, types::custom_types::CustomTypeInfo, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>::push_internal_level::{closure#0}]>::{closure#0}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@smallvec::alloc::collections::btree::mem::take_mut, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, [closure@smallvec::alloc::collections::btree::node::NodeRef, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>::push_internal_level::{closure#0}]>::{closure#0}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@smallvec::alloc::collections::btree::mem::take_mut std::boxed::Box>>>>, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, [closure@smallvec::alloc::collections::btree::node::NodeRef std::boxed::Box>>>>, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>::push_internal_level::{closure#0}]>::{closure#0}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@smallvec::alloc::collections::btree::mem::take_mut, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, [closure@smallvec::alloc::collections::btree::node::NodeRef, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>::push_internal_level::{closure#0}]>::{closure#0}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@smallvec::alloc::collections::btree::mem::take_mut, [closure@smallvec::alloc::collections::btree::node::NodeRef::push_internal_level::{closure#0}]>::{closure#0}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@smallvec::alloc::collections::btree::mem::take_mut, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>, [closure@smallvec::alloc::collections::btree::node::NodeRef, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>::push_internal_level::{closure#0}]>::{closure#0}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@smallvec::alloc::collections::btree::navigate::, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>>::deallocating_next_unchecked::{closure#0}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@smallvec::alloc::collections::btree::navigate::, smallvec::alloc::collections::btree::set_val::SetValZST, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>>::deallocating_next_unchecked::{closure#0}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@smallvec::alloc::collections::btree::navigate::, std::option::Option, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>>::deallocating_next_unchecked::{closure#0}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@smallvec::alloc::collections::btree::navigate::, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>>::deallocating_next_unchecked::{closure#0}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@smallvec::alloc::collections::btree::navigate::, types::custom_types::CustomTypeInfo, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>>::deallocating_next_unchecked::{closure#0}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@smallvec::alloc::collections::btree::navigate::, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>>::deallocating_next_unchecked::{closure#0}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@smallvec::alloc::collections::btree::navigate:: std::boxed::Box>>>>, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>>::deallocating_next_unchecked::{closure#0}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@smallvec::alloc::collections::btree::navigate::, smallvec::alloc::collections::btree::node::marker::Edge>>::deallocating_next_unchecked::{closure#0}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@smallvec::alloc::collections::btree::navigate::, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>>::deallocating_next_unchecked::{closure#0}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@smallvec::alloc::collections::btree::navigate::, &str, serde::metadata::ModuleMetadata<'_>, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>>::next_unchecked::{closure#0}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@smallvec::alloc::collections::btree::navigate::, smartstring::SmartString, api::custom_syntax::CustomSyntax, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>>::next_unchecked::{closure#0}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@smallvec::alloc::collections::btree::navigate::, smartstring::SmartString, smallvec::alloc::collections::btree::set_val::SetValZST, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>>::next_unchecked::{closure#0}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@smallvec::alloc::collections::btree::navigate::, smartstring::SmartString, std::option::Option, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>>::next_unchecked::{closure#0}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@smallvec::alloc::collections::btree::navigate::, smartstring::SmartString, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>>::next_unchecked::{closure#0}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@smallvec::alloc::collections::btree::navigate::, smartstring::SmartString, types::custom_types::CustomTypeInfo, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>>::next_unchecked::{closure#0}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@smallvec::alloc::collections::btree::navigate::, smartstring::SmartString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>>::next_unchecked::{closure#0}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@smallvec::alloc::collections::btree::navigate::, std::any::TypeId, std::rc::Rc std::boxed::Box>>>>, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>>::next_unchecked::{closure#0}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@smallvec::alloc::collections::btree::navigate::, std::path::PathBuf, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>>::next_unchecked::{closure#0}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@smallvec::alloc::collections::btree::navigate::, types::immutable_string::ImmutableString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>>::next_unchecked::{closure#0}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@smallvec::alloc::collections::btree::navigate::, u64, smallvec::SmallVec<[usize; 1]>, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>>::next_unchecked::{closure#0}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@smallvec::alloc::collections::btree::navigate::, smartstring::SmartString, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::Leaf>, smallvec::alloc::collections::btree::node::marker::Edge>>::next_unchecked::{closure#0}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@smallvec::alloc::collections::btree::node::BalancingContext<'_, smartstring::SmartString, std::rc::Rc>::merge_tracking_child::{closure#0}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@smallvec::alloc::collections::btree::node::BalancingContext<'_, smartstring::SmartString, std::rc::Rc>::merge_tracking_parent::{closure#0}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@smallvec::alloc::collections::btree::node::BalancingContext<'_, smartstring::SmartString, types::dynamic::Dynamic>::merge_tracking_child::{closure#0}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@smallvec::alloc::collections::btree::node::BalancingContext<'_, smartstring::SmartString, types::dynamic::Dynamic>::merge_tracking_parent::{closure#0}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@smallvec::alloc::collections::btree::node::BalancingContext<'_, u64, smallvec::SmallVec<[usize; 1]>>::merge_tracking_child::{closure#0}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@smallvec::alloc::collections::btree::node::BalancingContext<'_, u64, smallvec::SmallVec<[usize; 1]>>::merge_tracking_parent::{closure#0}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@smallvec::alloc::collections::btree::node::NodeRef, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>::push_internal_level::{closure#0}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@smallvec::alloc::collections::btree::node::NodeRef, smallvec::alloc::collections::btree::set_val::SetValZST, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>::push_internal_level::{closure#0}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@smallvec::alloc::collections::btree::node::NodeRef, std::rc::Rc, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>::push_internal_level::{closure#0}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@smallvec::alloc::collections::btree::node::NodeRef, types::custom_types::CustomTypeInfo, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>::push_internal_level::{closure#0}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@smallvec::alloc::collections::btree::node::NodeRef, types::dynamic::Dynamic, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>::push_internal_level::{closure#0}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@smallvec::alloc::collections::btree::node::NodeRef std::boxed::Box>>>>, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>::push_internal_level::{closure#0}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@smallvec::alloc::collections::btree::node::NodeRef, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>::push_internal_level::{closure#0}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@smallvec::alloc::collections::btree::node::NodeRef::push_internal_level::{closure#0}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@smallvec::alloc::collections::btree::node::NodeRef, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>::push_internal_level::{closure#0}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@smallvec::layout_array<&mut types::dynamic::Dynamic>::{closure#0}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@smallvec::layout_array<&str>::{closure#0}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@smallvec::layout_array<(ast::ident::Ident, ast::expr::Expr)>::{closure#0}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@smallvec::layout_array<(smartstring::SmartString, types::dynamic::AccessMode, types::dynamic::Dynamic)>::{closure#0}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@smallvec::layout_array<(types::immutable_string::ImmutableString, std::option::Option, tokenizer::Position)>::{closure#0}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@smallvec::layout_array<(types::immutable_string::ImmutableString, std::rc::Rc)>::{closure#0}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@smallvec::layout_array<(types::immutable_string::ImmutableString, tokenizer::Position)>::{closure#0}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@smallvec::layout_array>::{closure#0}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@smallvec::layout_array::{closure#0}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@smallvec::layout_array::{closure#0}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@smallvec::layout_array::{closure#0}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@smallvec::layout_array::{closure#0}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@smallvec::layout_array::{closure#0}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@smallvec::layout_array::{closure#0}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@smallvec::layout_array::{closure#0}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@smallvec::layout_array>::{closure#0}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@smallvec::layout_array>::{closure#0}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@smallvec::layout_array>::{closure#0}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@smallvec::layout_array::{closure#0}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@smallvec::layout_array>::{closure#0}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@smallvec::layout_array>>::{closure#0}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@smallvec::layout_array>::{closure#0}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@smallvec::layout_array>::{closure#0}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@smallvec::layout_array>::{closure#0}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@smallvec::layout_array::{closure#0}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@smallvec::layout_array::{closure#0}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@smallvec::layout_array::{closure#0}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\api\call_fn.rs:257:69: 257:72]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\api\definitions\mod.rs:246:26: 246:39]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\api\definitions\mod.rs:372:23: 372:26]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\api\definitions\mod.rs:385:19: 385:43]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\api\definitions\mod.rs:405:28: 405:44]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\api\definitions\mod.rs:419:22: 419:38]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\api\definitions\mod.rs:433:28: 433:34]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\api\definitions\mod.rs:546:19: 546:22]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\api\optimize.rs:60:22: 60:25]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\api\register.rs:746:66: 746:69]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\api\register.rs:761:27: 761:30]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\api\type_names.rs:208:31: 208:34]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\api\type_names.rs:242:31: 242:34]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\ast\ast.rs:756:18: 756:32]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\ast\ast.rs:778:18: 778:32]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\ast\ast.rs:898:49: 898:52]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\ast\expr.rs:388:45: 388:53]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\ast\expr.rs:407:56: 407:59]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\ast\expr.rs:494:41: 494:44]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\ast\expr.rs:500:64: 500:81]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\ast\expr.rs:762:48: 762:57]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\ast\expr.rs:798:48: 798:60]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\ast\script_fn.rs:74:22: 74:25]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\ast\stmt.rs:822:51: 822:58]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\engine.rs:177:27: 177:30]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\engine.rs:247:37: 247:40]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\engine.rs:248:37: 248:53]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\engine.rs:289:29: 289:32]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\engine.rs:290:29: 290:38]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\eval\chaining.rs:1004:58: 1004:61]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\eval\chaining.rs:156:50: 156:54]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\eval\chaining.rs:184:21: 184:28]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\eval\chaining.rs:28:33: 28:35]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\eval\chaining.rs:387:53: 387:59]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\eval\chaining.rs:432:14: 432:23]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\eval\chaining.rs:605:38: 605:41]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\eval\chaining.rs:680:30: 680:33]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\eval\chaining.rs:785:46: 785:49]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\eval\chaining.rs:857:46: 857:49]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\eval\chaining.rs:85:14: 85:23]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\eval\chaining.rs:866:29: 866:38]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\eval\chaining.rs:961:50: 961:53]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\eval\data_check.rs:140:57: 140:60]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\eval\data_check.rs:24:38: 24:59]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\eval\data_check.rs:44:38: 44:59]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\eval\debugger.rs:335:21: 335:32]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\eval\debugger.rs:342:56: 342:59]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\eval\debugger.rs:346:76: 346:79]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\eval\debugger.rs:374:18: 374:27]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\eval\debugger.rs:512:36: 512:39]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\eval\expr.rs:160:31: 160:34]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\eval\expr.rs:206:29: 206:34]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\eval\expr.rs:87:29: 87:41]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\eval\global_state.rs:170:33: 170:35]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\eval\global_state.rs:174:33: 174:35]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\eval\global_state.rs:199:23: 199:26]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\eval\global_state.rs:201:47: 201:50]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\eval\global_state.rs:202:18: 202:34]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\eval\global_state.rs:214:23: 214:26]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\eval\global_state.rs:216:47: 216:50]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\eval\global_state.rs:228:23: 228:26]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\eval\global_state.rs:229:47: 229:50]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\eval\global_state.rs:301:34: 301:37]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\eval\stmt.rs:143:52: 143:55]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\eval\stmt.rs:507:35: 507:38]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\eval\stmt.rs:659:34: 659:37]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\eval\stmt.rs:733:50: 733:53]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\eval\stmt.rs:735:87: 735:89]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\eval\stmt.rs:78:26: 78:35]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\eval\stmt.rs:863:26: 863:29]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\eval\stmt.rs:883:22: 883:27]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\func\builtin.rs:107:39: 107:48]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\func\builtin.rs:111:55: 111:64]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\func\builtin.rs:116:76: 116:85]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\func\builtin.rs:121:65: 121:74]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\func\builtin.rs:126:60: 126:69]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\func\builtin.rs:136:70: 136:79]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\func\builtin.rs:186:40: 186:49]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\func\builtin.rs:191:40: 191:49]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\func\builtin.rs:217:30: 217:42]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\func\builtin.rs:243:30: 243:42]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\func\builtin.rs:272:30: 272:42]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\func\builtin.rs:405:26: 405:38]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\func\builtin.rs:440:26: 440:38]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\func\builtin.rs:451:27: 451:36]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\func\builtin.rs:468:26: 468:35]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\func\builtin.rs:479:26: 479:35]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\func\builtin.rs:495:30: 495:42]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\func\builtin.rs:595:43: 595:52]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\func\builtin.rs:600:42: 600:51]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\func\builtin.rs:604:53: 604:62]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\func\builtin.rs:608:74: 608:83]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\func\builtin.rs:613:62: 613:71]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\func\builtin.rs:627:67: 627:76]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\func\builtin.rs:685:36: 685:45]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\func\builtin.rs:701:36: 701:48]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\func\builtin.rs:715:37: 715:46]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\func\builtin.rs:732:36: 732:48]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\func\builtin.rs:764:36: 764:48]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\func\builtin.rs:850:32: 850:44]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\func\builtin.rs:868:32: 868:44]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\func\builtin.rs:902:32: 902:44]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\func\builtin.rs:92:43: 92:52]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\func\builtin.rs:931:36: 931:48]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\func\builtin.rs:951:36: 951:48]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\func\builtin.rs:971:36: 971:48]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\func\call.rs:116:15: 116:24]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\func\call.rs:1188:22: 1188:31]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\func\call.rs:1198:60: 1198:66]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\func\call.rs:1250:14: 1250:23]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\func\call.rs:1331:81: 1331:84]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\func\call.rs:1530:22: 1530:31]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\func\call.rs:1546:13: 1546:28]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\func\call.rs:178:58: 178:61]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\func\call.rs:186:58: 186:61]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\func\call.rs:216:43: 216:46]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\func\call.rs:257:43: 257:46]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\func\call.rs:279:37: 279:40]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\func\call.rs:285:92: 285:95]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\func\call.rs:372:28: 372:33]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\func\call.rs:393:37: 393:40]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\func\call.rs:401:43: 401:46]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\func\call.rs:698:22: 698:25]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\func\call.rs:732:61: 732:66]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\func\call.rs:733:33: 733:41]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\func\native.rs:204:37: 204:40]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\func\native.rs:445:22: 445:31]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\func\native.rs:473:18: 473:27]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\func\native.rs:499:43: 499:46]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\func\register.rs:197:52: 197:105]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\func\script.rs:104:55: 104:64]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\func\script.rs:239:56: 239:59]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\func\script.rs:49:27: 49:36]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\func\script.rs:89:24: 89:29]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\func\script.rs:92:76: 92:79]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\module\mod.rs:1023:18: 1023:28]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\module\mod.rs:1029:27: 1029:31]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\module\mod.rs:1030:22: 1030:26]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\module\mod.rs:1052:33: 1052:35]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\module\mod.rs:1125:55: 1125:58]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\module\mod.rs:122:22: 122:29]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\module\mod.rs:1565:18: 1565:21]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\module\mod.rs:1784:36: 1784:51]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\module\mod.rs:1912:23: 1912:26]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\module\mod.rs:1912:40: 1912:48]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\module\mod.rs:1920:23: 1920:26]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\module\mod.rs:1920:40: 1920:48]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\module\mod.rs:1927:40: 1927:43]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\module\mod.rs:1951:31: 1951:35]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\module\mod.rs:1951:60: 1951:63]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\module\mod.rs:2155:25: 2155:29]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\module\mod.rs:2159:25: 2159:29]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\module\mod.rs:2238:64: 2238:67]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\module\mod.rs:2345:39: 2345:47]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\module\mod.rs:235:31: 235:34]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\module\mod.rs:2376:42: 2376:56]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\module\mod.rs:2400:42: 2400:56]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\module\mod.rs:2425:18: 2425:21]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\module\mod.rs:2435:18: 2435:21]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\module\mod.rs:244:26: 244:29]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\module\mod.rs:327:30: 327:33]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\module\mod.rs:529:18: 529:21]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\module\mod.rs:601:21: 601:25]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\module\mod.rs:714:33: 714:35]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\module\mod.rs:756:27: 756:30]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\module\mod.rs:817:18: 817:21]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\module\mod.rs:889:18: 889:21]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\module\mod.rs:946:55: 946:58]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\module\resolvers\file.rs:301:23: 301:26]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\module\resolvers\file.rs:303:23: 303:26]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\optimizer.rs:1103:53: 1103:56]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\optimizer.rs:1240:21: 1240:24]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\optimizer.rs:1251:23: 1251:26]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\optimizer.rs:1287:72: 1287:75]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\optimizer.rs:155:36: 155:45]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\optimizer.rs:181:9: 181:12]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\optimizer.rs:318:62: 318:65]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\optimizer.rs:400:85: 400:88]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\optimizer.rs:716:48: 716:51]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\optimizer.rs:885:74: 885:83]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\optimizer.rs:947:80: 947:89]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\packages\array_basic.rs:1745:27: 1745:30]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\packages\array_basic.rs:1748:21: 1748:24]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\packages\array_basic.rs:1840:27: 1840:33]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\packages\array_basic.rs:1848:27: 1848:33]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\packages\array_basic.rs:1857:27: 1857:33]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\packages\array_basic.rs:1865:27: 1865:33]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\packages\array_basic.rs:1874:27: 1874:33]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\packages\array_basic.rs:1882:27: 1882:33]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\packages\array_basic.rs:2362:41: 2362:44]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\packages\array_basic.rs:343:64: 343:66]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\packages\blob_basic.rs:104:25: 104:30]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\packages\blob_basic.rs:1470:22: 1470:26]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\packages\blob_basic.rs:394:36: 394:38]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\packages\blob_basic.rs:394:42: 394:45]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\packages\blob_basic.rs:441:63: 441:65]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\packages\debugging.rs:44:25: 44:63]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\packages\debugging.rs:48:21: 53:24]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\packages\iter_basic.rs:231:48: 231:66]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\packages\iter_basic.rs:264:48: 264:76]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\packages\iter_basic.rs:295:48: 295:86]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\packages\iter_basic.rs:369:48: 369:79]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\packages\iter_basic.rs:391:48: 391:79]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\packages\iter_basic.rs:413:48: 413:67]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\packages\iter_basic.rs:437:48: 437:62]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\packages\iter_basic.rs:459:48: 459:56]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\packages\iter_basic.rs:479:52: 479:82]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\packages\iter_basic.rs:501:47: 501:77]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\packages\iter_basic.rs:525:47: 525:77]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\packages\iter_basic.rs:573:47: 573:60]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\packages\iter_basic.rs:595:47: 595:54]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\packages\iter_basic.rs:617:51: 617:68]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\packages\lang_core.rs:132:44: 132:49]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\packages\lang_core.rs:145:34: 145:49]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\packages\lang_core.rs:253:19: 253:22]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\packages\lang_core.rs:271:19: 271:22]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\packages\lang_core.rs:272:19: 272:22]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\packages\map_basic.rs:250:37: 250:40]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\packages\map_basic.rs:310:58: 310:61]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\packages\math_basic.rs:558:37: 558:40]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\packages\string_basic.rs:28:55: 28:62]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\packages\string_more.rs:403:53: 403:57]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\packages\string_more.rs:438:31: 438:35]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\packages\string_more.rs:769:30: 769:32]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\packages\string_more.rs:782:30: 782:32]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\parser.rs:114:26: 114:29]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\parser.rs:1173:45: 1173:48]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\parser.rs:1436:63: 1436:66]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\parser.rs:146:27: 146:30]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\parser.rs:1472:31: 1472:34]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\parser.rs:157:28: 157:37]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\parser.rs:1639:58: 1639:61]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\parser.rs:1887:39: 1887:42]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\parser.rs:200:31: 200:34]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\parser.rs:2079:21: 2079:24]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\parser.rs:2142:34: 2142:45]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\parser.rs:238:23: 238:26]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\parser.rs:242:23: 242:32]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\parser.rs:265:13: 265:16]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\parser.rs:280:13: 280:16]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\parser.rs:3315:71: 3315:74]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\parser.rs:3416:26: 3416:40]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\parser.rs:3628:63: 3628:72]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\parser.rs:3642:22: 3642:25]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\parser.rs:3778:48: 3778:68]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\parser.rs:3933:51: 3933:60]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\parser.rs:3944:72: 3944:75]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\parser.rs:606:39: 606:42]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\parser.rs:681:43: 681:46]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\serde\metadata.rs:157:22: 157:33]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\serde\metadata.rs:174:64: 174:67]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\serde\metadata.rs:188:19: 188:22]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\serde\metadata.rs:92:22: 92:25]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\serde\metadata.rs:98:46: 98:49]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\tokenizer.rs:1279:49: 1279:53]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\tokenizer.rs:1309:54: 1309:58]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\tokenizer.rs:1460:61: 1460:66]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\tokenizer.rs:1469:61: 1469:66]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\tokenizer.rs:1567:13: 1567:29]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\tokenizer.rs:1568:13: 1568:48]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\tokenizer.rs:1730:34: 1730:37]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\tokenizer.rs:1759:25: 1759:41]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\tokenizer.rs:1785:21: 1785:37]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\tokenizer.rs:1806:25: 1806:41]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\tokenizer.rs:2569:30: 2569:33]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\types\dynamic.rs:1280:78: 1280:81]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\types\dynamic.rs:1388:17: 1388:27]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\types\dynamic.rs:1390:17: 1390:24]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\types\dynamic.rs:1410:21: 1410:31]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\types\dynamic.rs:1412:21: 1412:28]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\types\dynamic.rs:2240:26: 2240:34]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\types\dynamic.rs:394:22: 394:25]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\types\error.rs:180:36: 180:39]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\types\fn_ptr.rs:33:62: 33:72]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\types\scope.rs:137:22: 137:46]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\types\scope.rs:152:22: 152:46]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\types\scope.rs:804:18: 804:43]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\types\scope.rs:813:18: 813:33]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\types\scope.rs:823:18: 823:33]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\types\scope.rs:833:56: 833:59]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\types\scope.rs:834:55: 834:58]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@src\types\scope.rs:835:57: 835:60]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@std::collections::BTreeMap, std::rc::Rc>::remove::{closure#0}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@std::collections::BTreeMap, types::dynamic::Dynamic>::remove::{closure#0}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@std::f64::::ln::{closure#0}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@std::f64::::log10::{closure#0}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@std::iter::Iterator::all::check<&ast::expr::Expr, for<'a> fn(&'a ast::expr::Expr) -> bool {ast::expr::Expr::is_constant}>::{closure#0}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@std::iter::Iterator::all::check<&ast::expr::Expr, for<'a> fn(&'a ast::expr::Expr) -> bool {ast::expr::Expr::is_pure}>::{closure#0}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@std::iter::Iterator::all::check bool {std::char::methods::::is_lowercase}>::{closure#0}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@std::iter::Iterator::all::check bool {std::char::methods::::is_uppercase}>::{closure#0}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@std::iter::Iterator::any::check<(&types::immutable_string::ImmutableString, &std::rc::Rc), [closure@src\eval\stmt.rs:78:26: 78:35]>::{closure#0}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@std::iter::Iterator::any::check::{closure#0}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@std::iter::Iterator::any::check::{closure#0}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@std::iter::Iterator::find::check<(usize, &&mut types::dynamic::Dynamic), [closure@src\func\call.rs:116:15: 116:24]>::{closure#0}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@std::iter::Iterator::for_each::call<(u64, smallvec::SmallVec<[usize; 1]>), fn((u64, smallvec::SmallVec<[usize; 1]>)) {std::mem::drop::<(u64, smallvec::SmallVec<[usize; 1]>)>}>::{closure#0}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@std::iter::Iterator::for_each::call, [closure@src\types\scope.rs:834:55: 834:58]>::{closure#0}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@std::iter::Iterator::for_each::call, fn(smartstring::SmartString) {std::mem::drop::>}>::{closure#0}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@std::iter::Iterator::for_each::call, [closure@src\types\scope.rs:835:57: 835:60]>::{closure#0}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@std::iter::Iterator::for_each::call, fn(std::vec::Vec) {std::mem::drop::>}>::{closure#0}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@std::iter::Iterator::for_each::call::{closure#0}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@std::iter::Iterator::for_each::call}>::{closure#0}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@std::iter::Iterator::for_each::call}>::{closure#0}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@std::iter::Iterator::for_each::call}>::{closure#0}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@std::iter::Iterator::try_for_each::call, fn(types::dynamic::Dynamic) -> std::ops::ControlFlow {std::ops::ControlFlow::::Break}>::{closure#0}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@std::rc::Rc>::new_uninit::{closure#0}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@std::rc::Rc>::new_uninit::{closure#1}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@std::slice::range>::{closure#0}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@std::slice::range>::{closure#1}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@std::slice::range>::{closure#0}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@std::slice::range>::{closure#1}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@std::slice::range>::{closure#0}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@std::slice::range>::{closure#1}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@std::str::join_generic_copy>::{closure#0}::{closure#0}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@std::str::join_generic_copy>::{closure#1}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@std::str::join_generic_copy>::{closure#0}::{closure#0}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@std::str::join_generic_copy>::{closure#1}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@std::str::join_generic_copy::{closure#0}::{closure#0}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `[closure@std::str::join_generic_copy::{closure#1}]`: 0 bytes, alignment: 1 bytes +print-type-size type: `ast::flags::_:: for ast::flags::FnAccess>::deserialize::__FieldVisitor`: 0 bytes, alignment: 1 bytes +print-type-size type: `ast::flags::_:: for ast::flags::FnAccess>::deserialize::__Visitor<'_>`: 0 bytes, alignment: 1 bytes +print-type-size field `.marker`: 0 bytes +print-type-size field `.lifetime`: 0 bytes +print-type-size type: `core::error::private::Internal`: 0 bytes, alignment: 1 bytes +print-type-size type: `core::fmt::UnsafeArg`: 0 bytes, alignment: 1 bytes +print-type-size field `._private`: 0 bytes +print-type-size type: `core::str::IsNotEmpty`: 0 bytes, alignment: 1 bytes +print-type-size type: `core::str::IsWhitespace`: 0 bytes, alignment: 1 bytes +print-type-size type: `func::hashing::StraightHasherBuilder`: 0 bytes, alignment: 1 bytes +print-type-size type: `module::_::_serde::de::IgnoredAny`: 0 bytes, alignment: 1 bytes +print-type-size type: `module::resolvers::dummy::DummyModuleResolver`: 0 bytes, alignment: 1 bytes +print-type-size type: `once_cell::race::once_box::OnceBox::get_or_init::Void`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::arith_num_128::i128::functions::add_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::arith_num_128::i128::functions::binary_and_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::arith_num_128::i128::functions::binary_or_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::arith_num_128::i128::functions::binary_xor_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::arith_num_128::i128::functions::divide_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::arith_num_128::i128::functions::is_even_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::arith_num_128::i128::functions::is_odd_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::arith_num_128::i128::functions::is_zero_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::arith_num_128::i128::functions::modulo_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::arith_num_128::i128::functions::multiply_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::arith_num_128::i128::functions::power_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::arith_num_128::i128::functions::shift_left_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::arith_num_128::i128::functions::shift_right_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::arith_num_128::i128::functions::subtract_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::arith_num_128::u128::functions::add_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::arith_num_128::u128::functions::binary_and_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::arith_num_128::u128::functions::binary_or_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::arith_num_128::u128::functions::binary_xor_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::arith_num_128::u128::functions::divide_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::arith_num_128::u128::functions::is_even_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::arith_num_128::u128::functions::is_odd_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::arith_num_128::u128::functions::is_zero_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::arith_num_128::u128::functions::modulo_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::arith_num_128::u128::functions::multiply_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::arith_num_128::u128::functions::power_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::arith_num_128::u128::functions::shift_left_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::arith_num_128::u128::functions::shift_right_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::arith_num_128::u128::functions::subtract_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::arith_numbers::i16::functions::add_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::arith_numbers::i16::functions::binary_and_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::arith_numbers::i16::functions::binary_or_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::arith_numbers::i16::functions::binary_xor_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::arith_numbers::i16::functions::divide_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::arith_numbers::i16::functions::is_even_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::arith_numbers::i16::functions::is_odd_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::arith_numbers::i16::functions::is_zero_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::arith_numbers::i16::functions::modulo_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::arith_numbers::i16::functions::multiply_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::arith_numbers::i16::functions::power_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::arith_numbers::i16::functions::shift_left_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::arith_numbers::i16::functions::shift_right_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::arith_numbers::i16::functions::subtract_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::arith_numbers::i32::functions::add_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::arith_numbers::i32::functions::binary_and_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::arith_numbers::i32::functions::binary_or_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::arith_numbers::i32::functions::binary_xor_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::arith_numbers::i32::functions::divide_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::arith_numbers::i32::functions::is_even_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::arith_numbers::i32::functions::is_odd_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::arith_numbers::i32::functions::is_zero_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::arith_numbers::i32::functions::modulo_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::arith_numbers::i32::functions::multiply_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::arith_numbers::i32::functions::power_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::arith_numbers::i32::functions::shift_left_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::arith_numbers::i32::functions::shift_right_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::arith_numbers::i32::functions::subtract_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::arith_numbers::i8::functions::add_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::arith_numbers::i8::functions::binary_and_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::arith_numbers::i8::functions::binary_or_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::arith_numbers::i8::functions::binary_xor_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::arith_numbers::i8::functions::divide_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::arith_numbers::i8::functions::is_even_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::arith_numbers::i8::functions::is_odd_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::arith_numbers::i8::functions::is_zero_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::arith_numbers::i8::functions::modulo_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::arith_numbers::i8::functions::multiply_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::arith_numbers::i8::functions::power_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::arith_numbers::i8::functions::shift_left_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::arith_numbers::i8::functions::shift_right_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::arith_numbers::i8::functions::subtract_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::arith_numbers::u16::functions::add_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::arith_numbers::u16::functions::binary_and_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::arith_numbers::u16::functions::binary_or_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::arith_numbers::u16::functions::binary_xor_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::arith_numbers::u16::functions::divide_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::arith_numbers::u16::functions::is_even_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::arith_numbers::u16::functions::is_odd_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::arith_numbers::u16::functions::is_zero_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::arith_numbers::u16::functions::modulo_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::arith_numbers::u16::functions::multiply_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::arith_numbers::u16::functions::power_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::arith_numbers::u16::functions::shift_left_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::arith_numbers::u16::functions::shift_right_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::arith_numbers::u16::functions::subtract_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::arith_numbers::u32::functions::add_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::arith_numbers::u32::functions::binary_and_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::arith_numbers::u32::functions::binary_or_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::arith_numbers::u32::functions::binary_xor_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::arith_numbers::u32::functions::divide_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::arith_numbers::u32::functions::is_even_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::arith_numbers::u32::functions::is_odd_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::arith_numbers::u32::functions::is_zero_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::arith_numbers::u32::functions::modulo_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::arith_numbers::u32::functions::multiply_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::arith_numbers::u32::functions::power_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::arith_numbers::u32::functions::shift_left_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::arith_numbers::u32::functions::shift_right_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::arith_numbers::u32::functions::subtract_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::arith_numbers::u64::functions::add_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::arith_numbers::u64::functions::binary_and_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::arith_numbers::u64::functions::binary_or_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::arith_numbers::u64::functions::binary_xor_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::arith_numbers::u64::functions::divide_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::arith_numbers::u64::functions::is_even_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::arith_numbers::u64::functions::is_odd_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::arith_numbers::u64::functions::is_zero_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::arith_numbers::u64::functions::modulo_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::arith_numbers::u64::functions::multiply_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::arith_numbers::u64::functions::power_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::arith_numbers::u64::functions::shift_left_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::arith_numbers::u64::functions::shift_right_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::arith_numbers::u64::functions::subtract_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::arith_numbers::u8::functions::add_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::arith_numbers::u8::functions::binary_and_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::arith_numbers::u8::functions::binary_or_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::arith_numbers::u8::functions::binary_xor_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::arith_numbers::u8::functions::divide_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::arith_numbers::u8::functions::is_even_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::arith_numbers::u8::functions::is_odd_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::arith_numbers::u8::functions::is_zero_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::arith_numbers::u8::functions::modulo_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::arith_numbers::u8::functions::multiply_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::arith_numbers::u8::functions::power_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::arith_numbers::u8::functions::shift_left_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::arith_numbers::u8::functions::shift_right_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::arith_numbers::u8::functions::subtract_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::decimal_functions::abs_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::decimal_functions::builtin::add_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::decimal_functions::builtin::divide_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::decimal_functions::builtin::modulo_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::decimal_functions::builtin::multiply_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::decimal_functions::builtin::power_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::decimal_functions::builtin::subtract_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::decimal_functions::is_zero_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::decimal_functions::neg_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::decimal_functions::plus_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::decimal_functions::sign_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::f32_functions::abs_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::f32_functions::basic_arithmetic::add_fi_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::f32_functions::basic_arithmetic::add_if_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::f32_functions::basic_arithmetic::add_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::f32_functions::basic_arithmetic::divide_fi_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::f32_functions::basic_arithmetic::divide_if_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::f32_functions::basic_arithmetic::divide_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::f32_functions::basic_arithmetic::modulo_fi_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::f32_functions::basic_arithmetic::modulo_if_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::f32_functions::basic_arithmetic::modulo_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::f32_functions::basic_arithmetic::multiply_fi_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::f32_functions::basic_arithmetic::multiply_if_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::f32_functions::basic_arithmetic::multiply_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::f32_functions::basic_arithmetic::pow_f_f_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::f32_functions::basic_arithmetic::subtract_fi_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::f32_functions::basic_arithmetic::subtract_if_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::f32_functions::basic_arithmetic::subtract_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::f32_functions::is_zero_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::f32_functions::neg_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::f32_functions::plus_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::f32_functions::pow_f_i_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::f32_functions::sign_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::f64_functions::abs_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::f64_functions::is_zero_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::f64_functions::neg_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::f64_functions::plus_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::f64_functions::sign_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::int_functions::is_even_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::int_functions::is_odd_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::int_functions::is_zero_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::signed_basic::INT::functions::abs_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::signed_basic::INT::functions::neg_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::signed_basic::INT::functions::plus_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::signed_basic::INT::functions::sign_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::signed_num_128::i128::functions::abs_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::signed_num_128::i128::functions::neg_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::signed_num_128::i128::functions::plus_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::signed_num_128::i128::functions::sign_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::signed_numbers::i16::functions::abs_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::signed_numbers::i16::functions::neg_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::signed_numbers::i16::functions::plus_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::signed_numbers::i16::functions::sign_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::signed_numbers::i32::functions::abs_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::signed_numbers::i32::functions::neg_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::signed_numbers::i32::functions::plus_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::signed_numbers::i32::functions::sign_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::signed_numbers::i8::functions::abs_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::signed_numbers::i8::functions::neg_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::signed_numbers::i8::functions::plus_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::arithmetic::signed_numbers::i8::functions::sign_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::array_basic::array_functions::all_by_fn_name_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::array_basic::array_functions::all_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::array_basic::array_functions::append_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::array_basic::array_functions::chop_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::array_basic::array_functions::clear_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::array_basic::array_functions::concat_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::array_basic::array_functions::contains_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::array_basic::array_functions::dedup_by_comparer_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::array_basic::array_functions::dedup_by_fn_name_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::array_basic::array_functions::dedup_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::array_basic::array_functions::drain_by_fn_name_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::array_basic::array_functions::drain_exclusive_range_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::array_basic::array_functions::drain_inclusive_range_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::array_basic::array_functions::drain_range_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::array_basic::array_functions::drain_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::array_basic::array_functions::equals_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::array_basic::array_functions::extract_inclusive_range_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::array_basic::array_functions::extract_range_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::array_basic::array_functions::extract_tail_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::array_basic::array_functions::extract_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::array_basic::array_functions::filter_by_fn_name_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::array_basic::array_functions::filter_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::array_basic::array_functions::get_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::array_basic::array_functions::index_of_by_fn_name_starting_from_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::array_basic::array_functions::index_of_by_fn_name_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::array_basic::array_functions::index_of_filter_starting_from_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::array_basic::array_functions::index_of_filter_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::array_basic::array_functions::index_of_starting_from_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::array_basic::array_functions::index_of_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::array_basic::array_functions::insert_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::array_basic::array_functions::is_empty_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::array_basic::array_functions::len_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::array_basic::array_functions::map_by_fn_name_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::array_basic::array_functions::map_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::array_basic::array_functions::not_equals_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::array_basic::array_functions::pad_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::array_basic::array_functions::pop_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::array_basic::array_functions::push_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::array_basic::array_functions::reduce_by_fn_name_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::array_basic::array_functions::reduce_by_fn_name_with_initial_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::array_basic::array_functions::reduce_rev_by_fn_name_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::array_basic::array_functions::reduce_rev_by_fn_name_with_initial_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::array_basic::array_functions::reduce_rev_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::array_basic::array_functions::reduce_rev_with_initial_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::array_basic::array_functions::reduce_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::array_basic::array_functions::reduce_with_initial_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::array_basic::array_functions::remove_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::array_basic::array_functions::retain_by_fn_name_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::array_basic::array_functions::retain_exclusive_range_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::array_basic::array_functions::retain_inclusive_range_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::array_basic::array_functions::retain_range_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::array_basic::array_functions::retain_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::array_basic::array_functions::reverse_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::array_basic::array_functions::set_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::array_basic::array_functions::shift_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::array_basic::array_functions::some_by_fn_name_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::array_basic::array_functions::some_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::array_basic::array_functions::sort_by_fn_name_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::array_basic::array_functions::sort_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::array_basic::array_functions::sort_with_builtin_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::array_basic::array_functions::splice_inclusive_range_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::array_basic::array_functions::splice_range_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::array_basic::array_functions::splice_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::array_basic::array_functions::split_at_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::array_basic::array_functions::truncate_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::bit_field::bit_field_functions::get_bit_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::bit_field::bit_field_functions::get_bits_range_inclusive_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::bit_field::bit_field_functions::get_bits_range_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::bit_field::bit_field_functions::get_bits_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::bit_field::bit_field_functions::set_bit_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::bit_field::bit_field_functions::set_bits_range_inclusive_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::bit_field::bit_field_functions::set_bits_range_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::bit_field::bit_field_functions::set_bits_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::blob_basic::blob_functions::append_char_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::blob_basic::blob_functions::append_str_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::blob_basic::blob_functions::append_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::blob_basic::blob_functions::as_string_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::blob_basic::blob_functions::blob_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::blob_basic::blob_functions::blob_with_capacity_and_value_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::blob_basic::blob_functions::blob_with_capacity_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::blob_basic::blob_functions::chop_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::blob_basic::blob_functions::clear_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::blob_basic::blob_functions::contains_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::blob_basic::blob_functions::drain_range_inclusive_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::blob_basic::blob_functions::drain_range_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::blob_basic::blob_functions::drain_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::blob_basic::blob_functions::extract_range_inclusive_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::blob_basic::blob_functions::extract_range_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::blob_basic::blob_functions::extract_tail_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::blob_basic::blob_functions::extract_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::blob_basic::blob_functions::get_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::blob_basic::blob_functions::insert_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::blob_basic::blob_functions::is_empty_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::blob_basic::blob_functions::len_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::blob_basic::blob_functions::pad_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::blob_basic::blob_functions::pop_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::blob_basic::blob_functions::push_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::blob_basic::blob_functions::remove_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::blob_basic::blob_functions::retain_range_inclusive_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::blob_basic::blob_functions::retain_range_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::blob_basic::blob_functions::retain_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::blob_basic::blob_functions::reverse_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::blob_basic::blob_functions::set_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::blob_basic::blob_functions::shift_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::blob_basic::blob_functions::splice_range_inclusive_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::blob_basic::blob_functions::splice_range_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::blob_basic::blob_functions::splice_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::blob_basic::blob_functions::split_at_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::blob_basic::blob_functions::to_array_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::blob_basic::blob_functions::truncate_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::blob_basic::parse_float_functions::parse_be_float_range_inclusive_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::blob_basic::parse_float_functions::parse_be_float_range_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::blob_basic::parse_float_functions::parse_be_float_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::blob_basic::parse_float_functions::parse_le_float_range_inclusive_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::blob_basic::parse_float_functions::parse_le_float_range_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::blob_basic::parse_float_functions::parse_le_float_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::blob_basic::parse_int_functions::parse_be_int_range_inclusive_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::blob_basic::parse_int_functions::parse_be_int_range_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::blob_basic::parse_int_functions::parse_be_int_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::blob_basic::parse_int_functions::parse_le_int_range_inclusive_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::blob_basic::parse_int_functions::parse_le_int_range_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::blob_basic::parse_int_functions::parse_le_int_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::blob_basic::write_float_functions::write_be_float_range_inclusive_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::blob_basic::write_float_functions::write_be_float_range_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::blob_basic::write_float_functions::write_be_float_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::blob_basic::write_float_functions::write_le_float_range_inclusive_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::blob_basic::write_float_functions::write_le_float_range_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::blob_basic::write_float_functions::write_le_float_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::blob_basic::write_int_functions::write_be_int_range_inclusive_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::blob_basic::write_int_functions::write_be_int_range_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::blob_basic::write_int_functions::write_be_int_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::blob_basic::write_int_functions::write_le_int_range_inclusive_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::blob_basic::write_int_functions::write_le_int_range_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::blob_basic::write_int_functions::write_le_int_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::blob_basic::write_string_functions::write_ascii_string_range_inclusive_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::blob_basic::write_string_functions::write_ascii_string_range_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::blob_basic::write_string_functions::write_ascii_string_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::blob_basic::write_string_functions::write_utf8_string_range_inclusive_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::blob_basic::write_string_functions::write_utf8_string_range_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::blob_basic::write_string_functions::write_utf8_string_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::debugging::debugging_functions::back_trace_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::fn_basic::fn_ptr_functions::is_anonymous_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::fn_basic::fn_ptr_functions::name_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::iter_basic::range_functions::contains_exclusive_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::iter_basic::range_functions::contains_inclusive_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::iter_basic::range_functions::end_inclusive_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::iter_basic::range_functions::end_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::iter_basic::range_functions::is_empty_exclusive_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::iter_basic::range_functions::is_empty_inclusive_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::iter_basic::range_functions::is_exclusive_inclusive_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::iter_basic::range_functions::is_exclusive_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::iter_basic::range_functions::is_inclusive_inclusive_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::iter_basic::range_functions::is_inclusive_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::iter_basic::range_functions::start_inclusive_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::iter_basic::range_functions::start_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::lang_core::core_functions::get_tag_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::lang_core::core_functions::parse_json_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::lang_core::core_functions::set_tag_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::lang_core::core_functions::sleep_float_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::lang_core::core_functions::sleep_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::lang_core::reflection_functions::get_fn_metadata2_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::lang_core::reflection_functions::get_fn_metadata_list_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::lang_core::reflection_functions::get_fn_metadata_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::logic::f32_functions::eq_fi_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::logic::f32_functions::eq_if_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::logic::f32_functions::gt_fi_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::logic::f32_functions::gt_if_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::logic::f32_functions::gte_fi_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::logic::f32_functions::gte_if_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::logic::f32_functions::lt_fi_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::logic::f32_functions::lt_if_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::logic::f32_functions::lte_fi_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::logic::f32_functions::lte_if_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::logic::f32_functions::neq_fi_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::logic::f32_functions::neq_if_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::logic::f64_functions::eq_fi_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::logic::f64_functions::eq_if_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::logic::f64_functions::gt_fi_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::logic::f64_functions::gt_if_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::logic::f64_functions::gte_fi_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::logic::f64_functions::gte_if_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::logic::f64_functions::lt_fi_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::logic::f64_functions::lt_if_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::logic::f64_functions::lte_fi_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::logic::f64_functions::lte_if_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::logic::f64_functions::neq_fi_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::logic::f64_functions::neq_if_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::logic::float::f32::functions::eq_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::logic::float::f32::functions::gt_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::logic::float::f32::functions::gte_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::logic::float::f32::functions::lt_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::logic::float::f32::functions::lte_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::logic::float::f32::functions::ne_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::logic::logic_functions::not_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::logic::num_128::i128::functions::eq_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::logic::num_128::i128::functions::gt_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::logic::num_128::i128::functions::gte_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::logic::num_128::i128::functions::lt_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::logic::num_128::i128::functions::lte_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::logic::num_128::i128::functions::ne_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::logic::num_128::u128::functions::eq_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::logic::num_128::u128::functions::gt_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::logic::num_128::u128::functions::gte_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::logic::num_128::u128::functions::lt_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::logic::num_128::u128::functions::lte_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::logic::num_128::u128::functions::ne_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::logic::numbers::i16::functions::eq_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::logic::numbers::i16::functions::gt_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::logic::numbers::i16::functions::gte_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::logic::numbers::i16::functions::lt_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::logic::numbers::i16::functions::lte_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::logic::numbers::i16::functions::ne_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::logic::numbers::i32::functions::eq_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::logic::numbers::i32::functions::gt_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::logic::numbers::i32::functions::gte_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::logic::numbers::i32::functions::lt_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::logic::numbers::i32::functions::lte_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::logic::numbers::i32::functions::ne_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::logic::numbers::i8::functions::eq_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::logic::numbers::i8::functions::gt_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::logic::numbers::i8::functions::gte_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::logic::numbers::i8::functions::lt_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::logic::numbers::i8::functions::lte_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::logic::numbers::i8::functions::ne_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::logic::numbers::u16::functions::eq_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::logic::numbers::u16::functions::gt_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::logic::numbers::u16::functions::gte_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::logic::numbers::u16::functions::lt_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::logic::numbers::u16::functions::lte_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::logic::numbers::u16::functions::ne_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::logic::numbers::u32::functions::eq_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::logic::numbers::u32::functions::gt_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::logic::numbers::u32::functions::gte_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::logic::numbers::u32::functions::lt_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::logic::numbers::u32::functions::lte_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::logic::numbers::u32::functions::ne_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::logic::numbers::u64::functions::eq_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::logic::numbers::u64::functions::gt_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::logic::numbers::u64::functions::gte_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::logic::numbers::u64::functions::lt_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::logic::numbers::u64::functions::lte_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::logic::numbers::u64::functions::ne_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::logic::numbers::u8::functions::eq_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::logic::numbers::u8::functions::gt_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::logic::numbers::u8::functions::gte_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::logic::numbers::u8::functions::lt_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::logic::numbers::u8::functions::lte_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::logic::numbers::u8::functions::ne_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::map_basic::map_functions::clear_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::map_basic::map_functions::contains_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::map_basic::map_functions::equals_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::map_basic::map_functions::fill_with_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::map_basic::map_functions::get_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::map_basic::map_functions::is_empty_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::map_basic::map_functions::keys_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::map_basic::map_functions::len_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::map_basic::map_functions::merge_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::map_basic::map_functions::mixin_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::map_basic::map_functions::not_equals_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::map_basic::map_functions::remove_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::map_basic::map_functions::set_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::map_basic::map_functions::to_json_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::map_basic::map_functions::values_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::math_basic::basic_to_decimal::INT::rhai_fn_to_decimal::Token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::math_basic::basic_to_float::INT::rhai_fn_to_float::Token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::math_basic::basic_to_int::char::rhai_fn_to_int::Token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::math_basic::decimal_functions::ceiling_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::math_basic::decimal_functions::cos_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::math_basic::decimal_functions::exp_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::math_basic::decimal_functions::f32_to_decimal_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::math_basic::decimal_functions::f64_to_decimal_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::math_basic::decimal_functions::floor_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::math_basic::decimal_functions::fraction_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::math_basic::decimal_functions::int_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::math_basic::decimal_functions::ln_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::math_basic::decimal_functions::log10_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::math_basic::decimal_functions::parse_decimal_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::math_basic::decimal_functions::round_down_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::math_basic::decimal_functions::round_dp_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::math_basic::decimal_functions::round_half_down_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::math_basic::decimal_functions::round_half_up_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::math_basic::decimal_functions::round_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::math_basic::decimal_functions::round_up_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::math_basic::decimal_functions::sin_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::math_basic::decimal_functions::sqrt_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::math_basic::decimal_functions::tan_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::math_basic::decimal_functions::to_float_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::math_basic::decimal_functions::to_int_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::math_basic::float_functions::ceiling_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::math_basic::float_functions::e_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::math_basic::float_functions::exp_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::math_basic::float_functions::f32_to_f64_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::math_basic::float_functions::f32_to_int_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::math_basic::float_functions::f64_to_int_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::math_basic::float_functions::floor_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::math_basic::float_functions::fraction_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::math_basic::float_functions::int_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::math_basic::float_functions::is_finite_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::math_basic::float_functions::is_infinite_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::math_basic::float_functions::is_nan_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::math_basic::float_functions::ln_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::math_basic::float_functions::log10_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::math_basic::float_functions::log_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::math_basic::float_functions::parse_float_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::math_basic::float_functions::pi_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::math_basic::float_functions::round_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::math_basic::float_functions::sqrt_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::math_basic::float_functions::to_degrees_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::math_basic::float_functions::to_radians_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::math_basic::int_functions::parse_int_radix_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::math_basic::int_functions::parse_int_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::math_basic::num_128_to_float::i128::rhai_fn_to_float::Token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::math_basic::num_128_to_float::u128::rhai_fn_to_float::Token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::math_basic::num_128_to_int::i128::rhai_fn_to_int::Token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::math_basic::num_128_to_int::u128::rhai_fn_to_int::Token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::math_basic::numbers_to_decimal::i16::rhai_fn_to_decimal::Token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::math_basic::numbers_to_decimal::i32::rhai_fn_to_decimal::Token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::math_basic::numbers_to_decimal::i64::rhai_fn_to_decimal::Token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::math_basic::numbers_to_decimal::i8::rhai_fn_to_decimal::Token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::math_basic::numbers_to_decimal::u16::rhai_fn_to_decimal::Token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::math_basic::numbers_to_decimal::u32::rhai_fn_to_decimal::Token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::math_basic::numbers_to_decimal::u64::rhai_fn_to_decimal::Token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::math_basic::numbers_to_decimal::u8::rhai_fn_to_decimal::Token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::math_basic::numbers_to_float::i16::rhai_fn_to_float::Token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::math_basic::numbers_to_float::i32::rhai_fn_to_float::Token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::math_basic::numbers_to_float::i64::rhai_fn_to_float::Token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::math_basic::numbers_to_float::i8::rhai_fn_to_float::Token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::math_basic::numbers_to_float::u16::rhai_fn_to_float::Token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::math_basic::numbers_to_float::u32::rhai_fn_to_float::Token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::math_basic::numbers_to_float::u8::rhai_fn_to_float::Token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::math_basic::numbers_to_int::i16::rhai_fn_to_int::Token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::math_basic::numbers_to_int::i32::rhai_fn_to_int::Token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::math_basic::numbers_to_int::i64::rhai_fn_to_int::Token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::math_basic::numbers_to_int::i8::rhai_fn_to_int::Token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::math_basic::numbers_to_int::u16::rhai_fn_to_int::Token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::math_basic::numbers_to_int::u32::rhai_fn_to_int::Token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::math_basic::numbers_to_int::u64::rhai_fn_to_int::Token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::math_basic::numbers_to_int::u8::rhai_fn_to_int::Token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::math_basic::trig_functions::acos_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::math_basic::trig_functions::acosh_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::math_basic::trig_functions::asin_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::math_basic::trig_functions::asinh_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::math_basic::trig_functions::atan2_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::math_basic::trig_functions::atan_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::math_basic::trig_functions::atanh_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::math_basic::trig_functions::cos_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::math_basic::trig_functions::cosh_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::math_basic::trig_functions::hypot_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::math_basic::trig_functions::sin_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::math_basic::trig_functions::sinh_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::math_basic::trig_functions::tan_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::math_basic::trig_functions::tanh_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::string_basic::number_formatting::int_to_binary_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::string_basic::number_formatting::int_to_hex_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::string_basic::number_formatting::int_to_octal_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::string_basic::number_formatting::numbers::i16_to_binary_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::string_basic::number_formatting::numbers::i16_to_hex_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::string_basic::number_formatting::numbers::i16_to_octal_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::string_basic::number_formatting::numbers::i32_to_binary_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::string_basic::number_formatting::numbers::i32_to_hex_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::string_basic::number_formatting::numbers::i32_to_octal_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::string_basic::number_formatting::numbers::i64_to_binary_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::string_basic::number_formatting::numbers::i64_to_hex_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::string_basic::number_formatting::numbers::i64_to_octal_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::string_basic::number_formatting::numbers::i8_to_binary_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::string_basic::number_formatting::numbers::i8_to_hex_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::string_basic::number_formatting::numbers::i8_to_octal_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::string_basic::number_formatting::numbers::num_128::i128_to_binary_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::string_basic::number_formatting::numbers::num_128::i128_to_hex_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::string_basic::number_formatting::numbers::num_128::i128_to_octal_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::string_basic::number_formatting::numbers::num_128::u128_to_binary_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::string_basic::number_formatting::numbers::num_128::u128_to_hex_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::string_basic::number_formatting::numbers::num_128::u128_to_octal_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::string_basic::number_formatting::numbers::u16_to_binary_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::string_basic::number_formatting::numbers::u16_to_hex_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::string_basic::number_formatting::numbers::u16_to_octal_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::string_basic::number_formatting::numbers::u32_to_binary_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::string_basic::number_formatting::numbers::u32_to_hex_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::string_basic::number_formatting::numbers::u32_to_octal_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::string_basic::number_formatting::numbers::u64_to_binary_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::string_basic::number_formatting::numbers::u64_to_hex_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::string_basic::number_formatting::numbers::u64_to_octal_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::string_basic::number_formatting::numbers::u8_to_binary_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::string_basic::number_formatting::numbers::u8_to_hex_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::string_basic::number_formatting::numbers::u8_to_octal_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::string_basic::print_debug_functions::debug_bool_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::string_basic::print_debug_functions::debug_char_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::string_basic::print_debug_functions::debug_f32_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::string_basic::print_debug_functions::debug_f64_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::string_basic::print_debug_functions::debug_fn_ptr_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::string_basic::print_debug_functions::debug_generic_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::string_basic::print_debug_functions::debug_string_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::string_basic::print_debug_functions::debug_unit_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::string_basic::print_debug_functions::format_array_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::string_basic::print_debug_functions::format_map_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::string_basic::print_debug_functions::print_bool_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::string_basic::print_debug_functions::print_char_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::string_basic::print_debug_functions::print_empty_string_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::string_basic::print_debug_functions::print_f32_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::string_basic::print_debug_functions::print_f64_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::string_basic::print_debug_functions::print_generic_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::string_basic::print_debug_functions::print_string_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::string_basic::print_debug_functions::print_unit_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::string_basic::print_debug_functions::to_debug_generic_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::string_basic::print_debug_functions::to_string_generic_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::string_more::string_functions::add_append_char_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::string_more::string_functions::add_append_str_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::string_more::string_functions::add_append_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::string_more::string_functions::add_append_unit_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::string_more::string_functions::add_assign_append_char_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::string_more::string_functions::add_assign_append_str_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::string_more::string_functions::add_assign_append_unit_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::string_more::string_functions::add_prepend_char_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::string_more::string_functions::add_prepend_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::string_more::string_functions::add_prepend_unit_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::string_more::string_functions::add_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::string_more::string_functions::arrays::rsplit_char_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::string_more::string_functions::arrays::rsplit_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::string_more::string_functions::arrays::rsplitn_char_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::string_more::string_functions::arrays::rsplitn_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::string_more::string_functions::arrays::split_at_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::string_more::string_functions::arrays::split_char_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::string_more::string_functions::arrays::split_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::string_more::string_functions::arrays::split_whitespace_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::string_more::string_functions::arrays::splitn_char_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::string_more::string_functions::arrays::splitn_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::string_more::string_functions::arrays::to_chars_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::string_more::string_functions::blob_functions::add_append_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::string_more::string_functions::blob_functions::add_prepend_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::string_more::string_functions::blob_functions::add_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::string_more::string_functions::blob_functions::to_blob_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::string_more::string_functions::bytes_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::string_more::string_functions::clear_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::string_more::string_functions::contains_char_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::string_more::string_functions::contains_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::string_more::string_functions::crop_inclusive_range_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::string_more::string_functions::crop_range_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::string_more::string_functions::crop_string_starting_from_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::string_more::string_functions::crop_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::string_more::string_functions::ends_with_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::string_more::string_functions::get_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::string_more::string_functions::index_of_char_starting_from_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::string_more::string_functions::index_of_char_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::string_more::string_functions::index_of_string_starting_from_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::string_more::string_functions::index_of_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::string_more::string_functions::is_empty_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::string_more::string_functions::len_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::string_more::string_functions::make_lower_char_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::string_more::string_functions::make_lower_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::string_more::string_functions::make_upper_char_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::string_more::string_functions::make_upper_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::string_more::string_functions::pad_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::string_more::string_functions::pad_with_string_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::string_more::string_functions::pop_string_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::string_more::string_functions::pop_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::string_more::string_functions::remove_char_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::string_more::string_functions::remove_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::string_more::string_functions::replace_char_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::string_more::string_functions::replace_char_with_string_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::string_more::string_functions::replace_string_with_char_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::string_more::string_functions::replace_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::string_more::string_functions::set_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::string_more::string_functions::starts_with_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::string_more::string_functions::sub_string_inclusive_range_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::string_more::string_functions::sub_string_range_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::string_more::string_functions::sub_string_starting_from_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::string_more::string_functions::sub_string_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::string_more::string_functions::to_lower_char_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::string_more::string_functions::to_lower_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::string_more::string_functions::to_upper_char_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::string_more::string_functions::to_upper_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::string_more::string_functions::trim_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::string_more::string_functions::truncate_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::time_basic::time_functions::add_assign_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::time_basic::time_functions::add_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::time_basic::time_functions::elapsed_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::time_basic::time_functions::eq_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::time_basic::time_functions::float_functions::add_assign_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::time_basic::time_functions::float_functions::add_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::time_basic::time_functions::float_functions::subtract_assign_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::time_basic::time_functions::float_functions::subtract_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::time_basic::time_functions::gt_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::time_basic::time_functions::gte_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::time_basic::time_functions::lt_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::time_basic::time_functions::lte_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::time_basic::time_functions::ne_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::time_basic::time_functions::subtract_assign_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::time_basic::time_functions::subtract_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::time_basic::time_functions::time_diff_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `packages::time_basic::time_functions::timestamp_token`: 0 bytes, alignment: 1 bytes +print-type-size type: `serde::deserialize:: for types::scope::Scope<'de>>::deserialize::VecVisitor`: 0 bytes, alignment: 1 bytes +print-type-size type: `serde::deserialize:: for types::scope::Scope<'de>>::deserialize::_:: for serde::deserialize:: for types::scope::Scope<'de>>::deserialize::ScopeEntry>::deserialize::__FieldVisitor`: 0 bytes, alignment: 1 bytes +print-type-size type: `serde::deserialize:: for types::scope::Scope<'de>>::deserialize::_:: for serde::deserialize:: for types::scope::Scope<'de>>::deserialize::ScopeEntry>::deserialize::__Visitor<'_>`: 0 bytes, alignment: 1 bytes +print-type-size field `.marker`: 0 bytes +print-type-size field `.lifetime`: 0 bytes +print-type-size type: `serde::deserialize::DynamicVisitor`: 0 bytes, alignment: 1 bytes +print-type-size type: `serde_json::io::imp::Error`: 0 bytes, alignment: 1 bytes +print-type-size type: `serde_json::ser::CompactFormatter`: 0 bytes, alignment: 1 bytes +print-type-size type: `smallvec::alloc::collections::btree::mem::replace::PanicGuard`: 0 bytes, alignment: 1 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::marker::Dying`: 0 bytes, alignment: 1 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::marker::Edge`: 0 bytes, alignment: 1 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::marker::Immut<'_>`: 0 bytes, alignment: 1 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::marker::Internal`: 0 bytes, alignment: 1 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::marker::KV`: 0 bytes, alignment: 1 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::marker::Leaf`: 0 bytes, alignment: 1 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::marker::LeafOrInternal`: 0 bytes, alignment: 1 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::marker::Mut<'_>`: 0 bytes, alignment: 1 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::marker::Owned`: 0 bytes, alignment: 1 bytes +print-type-size type: `smallvec::alloc::collections::btree::node::marker::ValMut<'_>`: 0 bytes, alignment: 1 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `smallvec::alloc::collections::btree::set_val::SetValZST`: 0 bytes, alignment: 1 bytes +print-type-size type: `smartstring::LazyCompact`: 0 bytes, alignment: 1 bytes +print-type-size type: `smartstring::serde::SmartStringVisitor`: 0 bytes, alignment: 1 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::alloc::AllocError`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::alloc::Global`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::alloc::LayoutError`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::any::Demand<'_>`: 0 bytes, alignment: 1 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::cell::BorrowError`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::cell::BorrowMutError`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::char::CharTryFromError`: 0 bytes, alignment: 1 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::convert::Infallible`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::ffi::OsStr`: 0 bytes, alignment: 1 bytes +print-type-size field `.inner`: 0 bytes +print-type-size type: `std::fmt::Error`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<&&mut types::dynamic::Dynamic>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<&&std::string::String>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<&&str>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<&(&types::immutable_string::ImmutableString, &std::rc::Rc)>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<&()>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<&(ast::ident::Ident, ast::expr::Expr)>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<&(smartstring::SmartString, types::dynamic::AccessMode, types::dynamic::Dynamic)>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<&(types::immutable_string::ImmutableString, std::option::Option, tokenizer::Position)>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<&(types::immutable_string::ImmutableString, std::rc::Rc)>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<&(types::immutable_string::ImmutableString, tokenizer::Position)>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<&ast::expr::Expr>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<&ast::ident::Ident>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<&ast::stmt::ConditionalExpr>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<&ast::stmt::RangeCase>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<&ast::stmt::Stmt>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<&char>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<&eval::cache::FnResolutionCache>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<&eval::debugger::BreakPoint>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<&eval::debugger::CallStackFrame>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<&module::FuncInfo>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<&mut &mut types::dynamic::Dynamic>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<&mut (&str, serde::metadata::ModuleMetadata<'_>)>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<&mut ()>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<&mut (ast::ident::Ident, ast::expr::Expr)>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<&mut (smartstring::SmartString, smallvec::alloc::collections::btree::set_val::SetValZST)>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<&mut (smartstring::SmartString, std::rc::Rc)>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<&mut (smartstring::SmartString, types::dynamic::Dynamic)>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<&mut (std::any::TypeId, std::rc::Rc std::boxed::Box>>>>)>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<&mut (std::path::PathBuf, std::rc::Rc)>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<&mut (types::immutable_string::ImmutableString, std::option::Option, tokenizer::Position)>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<&mut (types::immutable_string::ImmutableString, types::dynamic::Dynamic)>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<&mut (u64, smallvec::SmallVec<[usize; 1]>)>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<&mut ast::expr::Expr>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<&mut ast::stmt::ConditionalExpr>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<&mut ast::stmt::Stmt>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<&mut smallvec::alloc::collections::btree::node::NodeRef, smallvec::alloc::collections::btree::node::marker::LeafOrInternal>>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<&mut std::collections::BTreeMap<&str, serde::metadata::ModuleMetadata<'_>>>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<&mut std::collections::BTreeMap, smallvec::alloc::collections::btree::set_val::SetValZST>>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<&mut std::collections::BTreeMap, std::rc::Rc>>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<&mut std::collections::BTreeMap, types::dynamic::Dynamic>>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<&mut std::collections::BTreeMap std::boxed::Box>>>>>>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<&mut std::collections::BTreeMap>>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<&mut std::collections::BTreeMap>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<&mut std::collections::BTreeMap>>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<&mut tokenizer::TokenizerControlBlock>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<&mut types::dynamic::Dynamic>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<&mut types::interner::StringsInterner>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<&mut u8>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<&serde::metadata::FnMetadata<'_>>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<&serde::metadata::FnParam<'_>>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<&smartstring::SmartString>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<&std::any::TypeId>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<&std::borrow::Cow<'_, str>>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<&std::boxed::Box>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<&std::boxed::Box>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<&std::path::PathBuf>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<&std::rc::Rc>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<&std::rc::Rc>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<&std::string::String>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<&std::vec::Vec>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<&str>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<&types::dynamic::Dynamic>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<&types::immutable_string::ImmutableString>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<&u64>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<&u8>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<&usize>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<(&str, &std::rc::Rc)>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<(&str, &types::dynamic::Dynamic)>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<(&str, serde::metadata::ModuleMetadata<'_>)>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<(&types::immutable_string::ImmutableString, &std::rc::Rc)>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<(&u64, &module::FuncInfo)>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<(&u64, &std::option::Option)>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<(&u64, &std::rc::Rc)>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<(&u64, &types::immutable_string::ImmutableString)>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<((types::immutable_string::ImmutableString, u64), (types::immutable_string::ImmutableString, u64), types::immutable_string::ImmutableString)>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<()>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<(ast::expr::Expr, ast::ident::Ident)>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<(ast::expr::Expr, ast::stmt::StmtBlock)>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<(ast::expr::Expr, ast::stmt::StmtBlock, ast::stmt::StmtBlock)>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<(ast::expr::Expr, ast::stmt::SwitchCasesCollection)>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<(ast::ident::Ident, ast::expr::Expr)>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<(ast::ident::Ident, ast::expr::Expr, std::option::Option)>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<(ast::ident::Ident, ast::ident::Ident)>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<(ast::ident::Ident, ast::ident::Ident, ast::expr::Expr, ast::stmt::StmtBlock)>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<(ast::stmt::OpAssignment, ast::expr::BinaryExpr)>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<(smallvec::SmallVec<[(ast::ident::Ident, ast::expr::Expr); 3]>, std::collections::BTreeMap, types::dynamic::Dynamic>)>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<(smallvec::alloc::collections::btree::node::marker::Dying, smallvec::alloc::collections::btree::node::marker::Internal)>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<(smallvec::alloc::collections::btree::node::marker::Dying, smallvec::alloc::collections::btree::node::marker::Leaf)>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<(smallvec::alloc::collections::btree::node::marker::Dying, smallvec::alloc::collections::btree::node::marker::LeafOrInternal)>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<(smallvec::alloc::collections::btree::node::marker::Immut<'_>, smallvec::alloc::collections::btree::node::marker::Internal)>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<(smallvec::alloc::collections::btree::node::marker::Immut<'_>, smallvec::alloc::collections::btree::node::marker::Leaf)>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<(smallvec::alloc::collections::btree::node::marker::Immut<'_>, smallvec::alloc::collections::btree::node::marker::LeafOrInternal)>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<(smallvec::alloc::collections::btree::node::marker::Mut<'_>, smallvec::alloc::collections::btree::node::marker::Internal)>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<(smallvec::alloc::collections::btree::node::marker::Mut<'_>, smallvec::alloc::collections::btree::node::marker::Leaf)>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<(smallvec::alloc::collections::btree::node::marker::Mut<'_>, smallvec::alloc::collections::btree::node::marker::LeafOrInternal)>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<(smallvec::alloc::collections::btree::node::marker::Owned, smallvec::alloc::collections::btree::node::marker::Internal)>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<(smallvec::alloc::collections::btree::node::marker::Owned, smallvec::alloc::collections::btree::node::marker::Leaf)>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<(smallvec::alloc::collections::btree::node::marker::Owned, smallvec::alloc::collections::btree::node::marker::LeafOrInternal)>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<(smallvec::alloc::collections::btree::node::marker::ValMut<'_>, smallvec::alloc::collections::btree::node::marker::Internal)>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<(smallvec::alloc::collections::btree::node::marker::ValMut<'_>, smallvec::alloc::collections::btree::node::marker::Leaf)>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<(smallvec::alloc::collections::btree::node::marker::ValMut<'_>, smallvec::alloc::collections::btree::node::marker::LeafOrInternal)>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<(smartstring::SmartString, types::dynamic::AccessMode, types::dynamic::Dynamic)>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<(smartstring::SmartString, types::dynamic::Dynamic)>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<(std::boxed::Box std::ops::Fn(&'a engine::Engine, eval::debugger::Debugger) -> eval::debugger::Debugger>, std::boxed::Box std::ops::Fn(eval::eval_context::EvalContext<'a, 'b, 'c, 'd, 'e, 'f>, eval::debugger::DebuggerEvent<'g>, ast::ast::ASTNode<'h>, std::option::Option<&'i str>, tokenizer::Position) -> std::result::Result>>)>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<(std::option::Option, ast::namespace::Namespace, u64, types::immutable_string::ImmutableString)>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<(std::string::String, std::string::String)>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<(types::immutable_string::ImmutableString, std::option::Option, tokenizer::Position)>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<(types::immutable_string::ImmutableString, std::rc::Rc)>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<(types::immutable_string::ImmutableString, tokenizer::Position)>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<(u64, func::callable_function::CallableFunction)>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<(u64, module::FuncInfo)>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<(u64, std::option::Option)>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<(u64, std::rc::Rc)>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<(u64, types::dynamic::Dynamic)>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<(u64, types::immutable_string::ImmutableString)>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<(u64, u64)>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<*const smartstring::LazyCompact>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<[&str; 10]>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<[&str; 11]>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<[&str; 12]>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<[&str; 13]>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<[&str; 14]>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<[&str; 15]>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<[&str; 16]>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<[&str; 17]>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<[&str; 18]>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<[&str; 19]>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<[&str; 1]>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<[&str; 20]>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<[&str; 2]>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<[&str; 3]>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<[&str; 4]>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<[&str; 5]>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<[&str; 6]>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<[&str; 7]>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<[&str; 8]>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<[&str; 9]>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<[&str]>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<[(std::string::String, std::string::String); 2]>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<[(std::string::String, std::string::String)]>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<[(types::immutable_string::ImmutableString, std::rc::Rc)]>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<[[u64; 4]; 2]>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<[ast::stmt::Stmt; 1]>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<[ast::stmt::Stmt]>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<[closure@src\engine.rs:247:37: 247:40]>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<[closure@src\engine.rs:248:37: 248:53]>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<[closure@src\engine.rs:289:29: 289:32]>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<[closure@src\engine.rs:290:29: 290:38]>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<[std::any::TypeId; 10]>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<[std::any::TypeId; 11]>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<[std::any::TypeId; 12]>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<[std::any::TypeId; 13]>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<[std::any::TypeId; 14]>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<[std::any::TypeId; 15]>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<[std::any::TypeId; 16]>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<[std::any::TypeId; 17]>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<[std::any::TypeId; 18]>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<[std::any::TypeId; 19]>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<[std::any::TypeId; 1]>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<[std::any::TypeId; 20]>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<[std::any::TypeId; 2]>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<[std::any::TypeId; 3]>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<[std::any::TypeId; 4]>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<[std::any::TypeId; 5]>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<[std::any::TypeId; 6]>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<[std::any::TypeId; 7]>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<[std::any::TypeId; 8]>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<[std::any::TypeId; 9]>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<[std::any::TypeId]>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<[std::boxed::Box; 0]>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<[std::boxed::Box]>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<[std::mem::MaybeUninit<(types::immutable_string::ImmutableString, std::rc::Rc)>]>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<[std::mem::MaybeUninit]>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<[std::mem::MaybeUninit>]>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<[std::mem::MaybeUninit]>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<[types::dynamic::Dynamic; 2]>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<[types::dynamic::Dynamic]>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData<[u8]>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData std::ops::Fn(&'a mut eval::eval_context::EvalContext<'b, 'c, 'd, 'e, 'f, 'g>, &'h [api::custom_syntax::Expression<'i>], &'j types::dynamic::Dynamic) -> std::result::Result>>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData std::ops::Fn(eval::eval_context::EvalContext<'a, 'b, 'c, 'd, 'e, 'f>, eval::debugger::DebuggerEvent<'g>, ast::ast::ASTNode<'h>, std::option::Option<&'i str>, tokenizer::Position) -> std::result::Result>>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData std::ops::Fn(&'a str, usize, eval::eval_context::EvalContext<'b, 'c, 'd, 'e, 'f, 'g>) -> std::result::Result, std::boxed::Box>>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData std::ops::Fn(bool, api::events::VarDefInfo<'a>, eval::eval_context::EvalContext<'b, 'c, 'd, 'e, 'f, 'g>) -> std::result::Result>>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData std::ops::Fn(&'a [types::immutable_string::ImmutableString], &'b str, &'c mut types::dynamic::Dynamic) -> std::result::Result, types::parse_error::ParseError>>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData std::ops::Fn(&'a str, std::option::Option<&'b str>, tokenizer::Position)>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData std::ops::Fn(&'a engine::Engine, eval::debugger::Debugger) -> eval::debugger::Debugger>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData std::ops::Fn(&'a str)>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData std::ops::Fn(tokenizer::Token, tokenizer::Position, &'a tokenizer::TokenizeState) -> tokenizer::Token>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData, &types::dynamic::Dynamic, &std::vec::Vec)>>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData)>>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>>>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData std::option::Option>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData for types::scope::Scope<'de>>::deserialize::ScopeEntry>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData, tokenizer::Position); 5]>>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData; 3]>>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData, smallvec::alloc::collections::btree::set_val::SetValZST>>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData, std::rc::Rc>>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData, types::custom_types::CustomTypeInfo>>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData, types::dynamic::Dynamic>>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData std::boxed::Box>>>>>>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData, smallvec::alloc::collections::btree::set_val::SetValZST>>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData, std::rc::Rc>>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData, types::custom_types::CustomTypeInfo>>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData, types::dynamic::Dynamic>>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData std::boxed::Box>>>>>>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData)>>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData, api::custom_syntax::CustomSyntax)>>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData, smallvec::alloc::collections::btree::set_val::SetValZST)>>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData, std::option::Option)>>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData, std::rc::Rc)>>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData, types::custom_types::CustomTypeInfo)>>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData, types::dynamic::Dynamic)>>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData std::boxed::Box>>>>)>>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData)>>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData)>>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData, api::custom_syntax::CustomSyntax>>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData, std::option::Option>>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData, std::rc::Rc>>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData, types::dynamic::Dynamic>>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData std::boxed::Box>>>>>>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData, fn(f64) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData, fn(i128) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData, fn(i16) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData, fn(i32) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData, fn(i64) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData, fn(i8) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData, fn(rust_decimal::Decimal) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData, fn(u128) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData, fn(u16) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData, fn(u32) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData, fn(u64) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData, fn(u8) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>, fn(types::dynamic::Dynamic) -> std::result::Result> {std::result::Result::>::Ok}>>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData, std::iter::Zip; 8]>, smallvec::IntoIter<[std::vec::Vec; 8]>>>, [closure@src\types\scope.rs:137:22: 137:46]>>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData, std::iter::Zip>, std::slice::Iter<'_, std::vec::Vec>>>, [closure@src\types\scope.rs:152:22: 152:46]>>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData, fn(i128) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData, fn(i16) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData, fn(i32) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData, fn(i64) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData, fn(i8) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData, fn(u128) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData, fn(u16) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData, fn(u32) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData, fn(u64) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData, fn(u8) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData, fn(i128) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData, fn(i16) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData, fn(i32) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData, fn(i64) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData, fn(i8) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData, fn(u128) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData, fn(u16) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData, fn(u32) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData, fn(u64) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData, fn(u8) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData, fn(types::dynamic::Dynamic) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData, fn(u8) -> types::dynamic::Dynamic {types::dynamic::Dynamic::from::}>>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData)>>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData, std::collections::BTreeMap, types::dynamic::Dynamic>)>>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData, ast::namespace::Namespace, u64, types::immutable_string::ImmutableString)>>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData, tokenizer::Position); 5]>>>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData; 3]>>>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>>>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData, smallvec::alloc::collections::btree::set_val::SetValZST>>>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData, std::rc::Rc>>>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData, types::custom_types::CustomTypeInfo>>>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData, types::dynamic::Dynamic>>>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData std::boxed::Box>>>>>>>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>>>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>>>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>>>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData, smallvec::alloc::collections::btree::set_val::SetValZST>>>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData, std::rc::Rc>>>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData, types::custom_types::CustomTypeInfo>>>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData, types::dynamic::Dynamic>>>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData std::boxed::Box>>>>>>>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>>>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>>>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData, std::rc::Rc>>>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData, types::dynamic::Dynamic>>>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData std::boxed::Box>>>>>>>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData std::ops::Fn(func::native::NativeCallContext<'a>, &'b mut [&'c mut types::dynamic::Dynamic]) -> std::result::Result>>>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData std::boxed::Box>>>>>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData fn(func::native::NativeCallContext<'a>, &'b mut [&'c mut types::dynamic::Dynamic]) -> std::result::Result>>>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>>>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>>>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::marker::PhantomData`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::mem::ManuallyDrop<()>`: 0 bytes, alignment: 1 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::mem::ManuallyDrop<[closure@ as std::clone::Clone>::clone::{closure#0}]>`: 0 bytes, alignment: 1 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::mem::ManuallyDrop<[closure@ as std::clone::Clone>::clone::{closure#0}]>`: 0 bytes, alignment: 1 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::mem::ManuallyDrop<[closure@ as std::clone::Clone>::clone::{closure#0}]>`: 0 bytes, alignment: 1 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::mem::ManuallyDrop`: 0 bytes, alignment: 1 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::mem::ManuallyDrop`: 0 bytes, alignment: 1 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::mem::ManuallyDrop`: 0 bytes, alignment: 1 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::mem::MaybeUninit<()>`: 0 bytes, alignment: 1 bytes +print-type-size variant `MaybeUninit`: 0 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::mem::MaybeUninit<[closure@ as std::clone::Clone>::clone::{closure#0}]>`: 0 bytes, alignment: 1 bytes +print-type-size variant `MaybeUninit`: 0 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::mem::MaybeUninit<[closure@ as std::clone::Clone>::clone::{closure#0}]>`: 0 bytes, alignment: 1 bytes +print-type-size variant `MaybeUninit`: 0 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::mem::MaybeUninit<[closure@ as std::clone::Clone>::clone::{closure#0}]>`: 0 bytes, alignment: 1 bytes +print-type-size variant `MaybeUninit`: 0 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::mem::MaybeUninit`: 0 bytes, alignment: 1 bytes +print-type-size variant `MaybeUninit`: 0 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::mem::MaybeUninit`: 0 bytes, alignment: 1 bytes +print-type-size variant `MaybeUninit`: 0 bytes +print-type-size field `.uninit`: 0 bytes +print-type-size field `.value`: 0 bytes +print-type-size type: `std::ops::ControlFlow<(), std::convert::Infallible>`: 0 bytes, alignment: 1 bytes +print-type-size variant `Break`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::ops::ControlFlow, std::convert::Infallible>`: 0 bytes, alignment: 1 bytes +print-type-size variant `Break`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::ops::RangeFull`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::ops::try_trait::NeverShortCircuit<()>`: 0 bytes, alignment: 1 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::option::Option`: 0 bytes, alignment: 1 bytes +print-type-size variant `None`: 0 bytes +print-type-size type: `std::path::Path`: 0 bytes, alignment: 1 bytes +print-type-size field `.inner`: 0 bytes +print-type-size type: `std::result::Result`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::result::Result::get_or_init::Void>`: 0 bytes, alignment: 1 bytes +print-type-size type: `std::result::Result`: 0 bytes, alignment: 1 bytes +print-type-size variant `Err`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::result::Result`: 0 bytes, alignment: 1 bytes +print-type-size variant `Err`: 0 bytes +print-type-size field `.0`: 0 bytes +print-type-size type: `std::sys::windows::os_str::Slice`: 0 bytes, alignment: 1 bytes +print-type-size field `.inner`: 0 bytes +print-type-size type: `std::sys_common::wtf8::Wtf8`: 0 bytes, alignment: 1 bytes +print-type-size field `.bytes`: 0 bytes From c311758b5c9b6926841b80dd7ab060530f946c7f Mon Sep 17 00:00:00 2001 From: Stephen Chung Date: Sat, 26 Nov 2022 13:21:50 +0800 Subject: [PATCH 04/34] Update benchmark result. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 1e1e6751..f6c2b692 100644 --- a/README.md +++ b/README.md @@ -33,7 +33,7 @@ Standard features ----------------- * Simple language similar to JavaScript+Rust with [dynamic](https://rhai.rs/book/language/dynamic.html) typing. -* Fairly efficient evaluation (1 million iterations in 0.23 sec on a single-core, 2.3 GHz Linux VM). +* Fairly efficient evaluation (1 million iterations in 0.15 sec on a single-core 2.6 GHz Linux VM). * Tight integration with native Rust [functions](https://rhai.rs/book/rust/functions.html) and [types](https://rhai.rs/book/rust/custom-types.html), including [getters/setters](https://rhai.rs/book/rust/getters-setters.html), [methods](https://rhai.rs/book/rust/methods.html) and [indexers](https://rhai.rs/book/rust/indexers.html). * Freely pass Rust values into a script as [variables](https://rhai.rs/book/language/variables.html)/[constants](https://rhai.rs/book/language/constants.html) via an external [`Scope`](https://rhai.rs/book/engine/scope.html) - all clonable Rust types are supported; no need to implement any special trait. Or tap directly into the [variable resolution process](https://rhai.rs/book/engine/var.html). * Built-in support for most common [data types](https://rhai.rs/book/language/values-and-types.html) including booleans, [integers](https://rhai.rs/book/language/numbers.html), [floating-point numbers](https://rhai.rs/book/language/numbers.html) (including [`Decimal`](https://crates.io/crates/rust_decimal)), [strings](https://rhai.rs/book/language/strings-chars.html), [Unicode characters](https://rhai.rs/book/language/strings-chars.html), [arrays](https://rhai.rs/book/language/arrays.html) (including packed [byte arrays](https://rhai.rs/book/language/blobs.html)) and [object maps](https://rhai.rs/book/language/object-maps.html). From 4ab306607d38368aa1e4533caf6cdd772ded5903 Mon Sep 17 00:00:00 2001 From: Stephen Chung Date: Sun, 27 Nov 2022 17:21:07 +0800 Subject: [PATCH 05/34] Fix bug. --- src/ast/expr.rs | 2 +- src/engine.rs | 2 +- src/eval/expr.rs | 32 +++++++++++++++++--------------- src/parser.rs | 6 +++--- 4 files changed, 22 insertions(+), 20 deletions(-) diff --git a/src/ast/expr.rs b/src/ast/expr.rs index 46077213..f6e4e5c9 100644 --- a/src/ast/expr.rs +++ b/src/ast/expr.rs @@ -306,7 +306,7 @@ pub enum Expr { Variable( #[cfg(not(feature = "no_module"))] Box<(Option, super::Namespace, u64, ImmutableString)>, - #[cfg(feature = "no_module")] Box<(Option, (), u64, ImmutableString)>, + #[cfg(feature = "no_module")] Box<(Option, [(); 0], u64, ImmutableString)>, Option, Position, ), diff --git a/src/engine.rs b/src/engine.rs index 9ad53e1e..2e239912 100644 --- a/src/engine.rs +++ b/src/engine.rs @@ -191,7 +191,7 @@ impl fmt::Debug for Engine { #[cfg(not(feature = "unchecked"))] f.field("limits", &self.limits); - #[cfg(not(feature = "debugging"))] + #[cfg(feature = "debugging")] f.field("debugger_interface", &self.debugger_interface.is_some()); f.finish() diff --git a/src/eval/expr.rs b/src/eval/expr.rs index a7c4a260..020bb9fb 100644 --- a/src/eval/expr.rs +++ b/src/eval/expr.rs @@ -62,25 +62,22 @@ impl Engine { } Expr::Variable(v, None, ..) => match &**v { // Normal variable access - #[cfg(not(feature = "no_module"))] (_, ns, ..) if ns.is_empty() => { self.search_scope_only(global, caches, scope, this_ptr, expr) } - #[cfg(feature = "no_module")] - (_, (), ..) => self.search_scope_only(global, caches, scope, this_ptr, expr), // Qualified variable access #[cfg(not(feature = "no_module"))] - (_, namespace, hash_var, var_name) => { + (_, ns, hash_var, var_name) => { // foo:bar::baz::VARIABLE - if let Some(module) = self.search_imports(global, namespace) { + if let Some(module) = self.search_imports(global, ns) { return module.get_qualified_var(*hash_var).map_or_else( || { let sep = crate::tokenizer::Token::DoubleColon.literal_syntax(); Err(ERR::ErrorVariableNotFound( - format!("{namespace}{sep}{var_name}"), - namespace.position(), + format!("{ns}{sep}{var_name}"), + ns.position(), ) .into()) }, @@ -94,7 +91,7 @@ impl Engine { // global::VARIABLE #[cfg(not(feature = "no_function"))] - if namespace.len() == 1 && namespace.root() == crate::engine::KEYWORD_GLOBAL { + if ns.len() == 1 && ns.root() == crate::engine::KEYWORD_GLOBAL { if let Some(ref constants) = global.constants { if let Some(value) = crate::func::locked_write(constants).get_mut(var_name.as_str()) @@ -109,17 +106,17 @@ impl Engine { let sep = crate::tokenizer::Token::DoubleColon.literal_syntax(); return Err(ERR::ErrorVariableNotFound( - format!("{namespace}{sep}{var_name}"), - namespace.position(), + format!("{ns}{sep}{var_name}"), + ns.position(), ) .into()); } - Err( - ERR::ErrorModuleNotFound(namespace.to_string(), namespace.position()) - .into(), - ) + Err(ERR::ErrorModuleNotFound(ns.to_string(), ns.position()).into()) } + + #[cfg(feature = "no_module")] + _ => unreachable!("Invalid expression {:?}", expr), }, _ => unreachable!("Expr::Variable expected but gets {:?}", expr), } @@ -142,14 +139,18 @@ impl Engine { let index = match expr { // Check if the variable is `this` - Expr::Variable(v, None, ..) if v.0.is_none() && v.3 == KEYWORD_THIS => { + Expr::Variable(v, None, ..) + if v.0.is_none() && v.1.is_empty() && v.3 == KEYWORD_THIS => + { return if this_ptr.is_null() { Err(ERR::ErrorUnboundThis(expr.position()).into()) } else { Ok(this_ptr.into()) }; } + _ if global.always_search_scope => 0, + Expr::Variable(_, Some(i), ..) => i.get() as usize, // Scripted function with the same name #[cfg(not(feature = "no_function"))] @@ -165,6 +166,7 @@ impl Engine { return Ok(val.into()); } Expr::Variable(v, None, ..) => v.0.map_or(0, NonZeroUsize::get), + _ => unreachable!("Expr::Variable expected but gets {:?}", expr), }; diff --git a/src/parser.rs b/src/parser.rs index 7b79aedb..a17cae45 100644 --- a/src/parser.rs +++ b/src/parser.rs @@ -1595,7 +1595,7 @@ impl Engine { #[cfg(not(feature = "no_module"))] let ns = crate::ast::Namespace::NONE; #[cfg(feature = "no_module")] - let ns = (); + let ns = []; let s = match input.next().expect(NEVER_ENDS) { (Token::Identifier(s), ..) => s, @@ -1660,7 +1660,7 @@ impl Engine { #[cfg(not(feature = "no_module"))] let ns = crate::ast::Namespace::NONE; #[cfg(feature = "no_module")] - let ns = (); + let ns = []; let s = match input.next().expect(NEVER_ENDS) { (Token::Reserved(s), ..) => s, @@ -2542,7 +2542,7 @@ impl Engine { #[cfg(not(feature = "no_module"))] let ns = crate::ast::Namespace::NONE; #[cfg(feature = "no_module")] - let ns = (); + let ns = []; segments.push(name.clone()); tokens.push(state.get_interned_string(CUSTOM_SYNTAX_MARKER_IDENT)); From 549193f49b9571bac6df17767b060c26b188fb9d Mon Sep 17 00:00:00 2001 From: Stephen Chung Date: Sun, 27 Nov 2022 17:21:44 +0800 Subject: [PATCH 06/34] Use operator. --- src/func/builtin.rs | 50 ++++++++++++++++----------------------------- 1 file changed, 18 insertions(+), 32 deletions(-) diff --git a/src/func/builtin.rs b/src/func/builtin.rs index 10fc8831..5294882a 100644 --- a/src/func/builtin.rs +++ b/src/func/builtin.rs @@ -183,16 +183,8 @@ pub fn get_builtin_binary_op_fn(op: Token, x: &Dynamic, y: &Dynamic) -> Option Some(impl_op!(INT => as_int & as_int)), Pipe => Some(impl_op!(INT => as_int | as_int)), XOr => Some(impl_op!(INT => as_int ^ as_int)), - ExclusiveRange => Some(|_, args| { - let x = args[0].as_int().expect(BUILTIN); - let y = args[1].as_int().expect(BUILTIN); - Ok((x..y).into()) - }), - InclusiveRange => Some(|_, args| { - let x = args[0].as_int().expect(BUILTIN); - let y = args[1].as_int().expect(BUILTIN); - Ok((x..=y).into()) - }), + ExclusiveRange => Some(impl_op!(INT => as_int .. as_int)), + InclusiveRange => Some(impl_op!(INT => as_int ..= as_int)), _ => None, }; } @@ -219,11 +211,8 @@ pub fn get_builtin_binary_op_fn(op: Token, x: &Dynamic, y: &Dynamic) -> Option().expect(BUILTIN); #[cfg(not(feature = "unchecked"))] - if !s1.is_empty() && !s2.is_empty() { - let total_len = s1.len() + s2.len(); - _ctx.engine() - .raise_err_if_over_data_size_limit((0, 0, total_len))?; - } + _ctx.engine() + .raise_err_if_over_data_size_limit((0, 0, s1.len() + s2.len()))?; Ok((s1 + s2).into()) }), @@ -270,25 +259,22 @@ pub fn get_builtin_binary_op_fn(op: Token, x: &Dynamic, y: &Dynamic) -> Option Some(|_ctx, args| { - let blob1 = &*args[0].read_lock::().expect(BUILTIN); - let blob2 = &*args[1].read_lock::().expect(BUILTIN); + let b2 = &*args[1].read_lock::().expect(BUILTIN); + if b2.is_empty() { + return Ok(args[0].flatten_clone()); + } + let b1 = &*args[0].read_lock::().expect(BUILTIN); + if b1.is_empty() { + return Ok(args[1].flatten_clone()); + } - Ok(Dynamic::from_blob(if blob2.is_empty() { - blob1.clone() - } else if blob1.is_empty() { - blob2.clone() - } else { - #[cfg(not(feature = "unchecked"))] - _ctx.engine().raise_err_if_over_data_size_limit(( - blob1.len() + blob2.len(), - 0, - 0, - ))?; + #[cfg(not(feature = "unchecked"))] + _ctx.engine() + .raise_err_if_over_data_size_limit((b1.len() + b2.len(), 0, 0))?; - let mut blob = blob1.clone(); - blob.extend(blob2); - blob - })) + let mut blob = b1.clone(); + blob.extend(b2); + Ok(Dynamic::from_blob(blob)) }), EqualsTo => Some(impl_op!(Blob == Blob)), NotEqualsTo => Some(impl_op!(Blob != Blob)), From fcc7589ffc38edbf1edf8950635adbe2e447aa19 Mon Sep 17 00:00:00 2001 From: Stephen Chung Date: Sun, 27 Nov 2022 18:00:02 +0800 Subject: [PATCH 07/34] Refine error display. --- README.md | 2 +- src/api/run.rs | 12 +++++--- src/bin/rhai-dbg.rs | 29 +++++++++++++------ src/bin/rhai-repl.rs | 14 ++++++---- src/bin/rhai-run.rs | 14 ++++++---- src/func/script.rs | 66 +++++++++++++++----------------------------- src/types/error.rs | 38 ++++++++++--------------- 7 files changed, 82 insertions(+), 93 deletions(-) diff --git a/README.md b/README.md index f6c2b692..13527b54 100644 --- a/README.md +++ b/README.md @@ -33,7 +33,7 @@ Standard features ----------------- * Simple language similar to JavaScript+Rust with [dynamic](https://rhai.rs/book/language/dynamic.html) typing. -* Fairly efficient evaluation (1 million iterations in 0.15 sec on a single-core 2.6 GHz Linux VM). +* Fairly efficient evaluation (1 million iterations in 0.14 sec on a single-core 2.6 GHz Linux VM). * Tight integration with native Rust [functions](https://rhai.rs/book/rust/functions.html) and [types](https://rhai.rs/book/rust/custom-types.html), including [getters/setters](https://rhai.rs/book/rust/getters-setters.html), [methods](https://rhai.rs/book/rust/methods.html) and [indexers](https://rhai.rs/book/rust/indexers.html). * Freely pass Rust values into a script as [variables](https://rhai.rs/book/language/variables.html)/[constants](https://rhai.rs/book/language/constants.html) via an external [`Scope`](https://rhai.rs/book/engine/scope.html) - all clonable Rust types are supported; no need to implement any special trait. Or tap directly into the [variable resolution process](https://rhai.rs/book/engine/var.html). * Built-in support for most common [data types](https://rhai.rs/book/language/values-and-types.html) including booleans, [integers](https://rhai.rs/book/language/numbers.html), [floating-point numbers](https://rhai.rs/book/language/numbers.html) (including [`Decimal`](https://crates.io/crates/rust_decimal)), [strings](https://rhai.rs/book/language/strings-chars.html), [Unicode characters](https://rhai.rs/book/language/strings-chars.html), [arrays](https://rhai.rs/book/language/arrays.html) (including packed [byte arrays](https://rhai.rs/book/language/blobs.html)) and [object maps](https://rhai.rs/book/language/object-maps.html). diff --git a/src/api/run.rs b/src/api/run.rs index fe5d6b92..fd20d4ef 100644 --- a/src/api/run.rs +++ b/src/api/run.rs @@ -127,9 +127,13 @@ impl Engine { } let statements = ast.statements(); - if !statements.is_empty() { - self.eval_global_statements(global, caches, scope, statements)?; - } + + let result = if !statements.is_empty() { + self.eval_global_statements(global, caches, scope, statements) + .map(|_| ()) + } else { + Ok(()) + }; #[cfg(feature = "debugging")] if self.is_debugger_registered() { @@ -139,7 +143,7 @@ impl Engine { self.run_debugger(global, caches, scope, &mut this, node)?; } - Ok(()) + result } } diff --git a/src/bin/rhai-dbg.rs b/src/bin/rhai-dbg.rs index bee052b7..a1ccc2b8 100644 --- a/src/bin/rhai-dbg.rs +++ b/src/bin/rhai-dbg.rs @@ -100,17 +100,19 @@ fn print_error(input: &str, mut err: EvalAltResult) { // Print error position if pos.is_none() { // No position - println!("{err}"); + println!("\x1b[31m{err}\x1b[39m"); } else { // Specific position - print line text println!("{line_no}{}", lines[pos.line().unwrap() - 1]); - // Display position marker - println!( - "{0:>1$} {err}", - "^", - line_no.len() + pos.position().unwrap(), - ); + for (i, err_line) in err.to_string().split('\n').enumerate() { + // Display position marker + println!( + "\x1b[31m{0:>1$}{err_line}\x1b[39m", + if i > 0 { " " } else { "^ " }, + line_no.len() + pos.position().unwrap() + 1, + ); + } } } @@ -237,7 +239,13 @@ fn debug_callback( ) -> Result> { // Check event match event { + DebuggerEvent::Start if source.is_some() => { + println!("\x1b[32m! Script '{}' start\x1b[39m", source.unwrap()) + } DebuggerEvent::Start => println!("\x1b[32m! Script start\x1b[39m"), + DebuggerEvent::End if source.is_some() => { + println!("\x1b[31m! Script '{}' end\x1b[39m", source.unwrap()) + } DebuggerEvent::End => println!("\x1b[31m! Script end\x1b[39m"), DebuggerEvent::Step => (), DebuggerEvent::BreakPoint(n) => { @@ -572,7 +580,7 @@ fn debug_callback( break Err(EvalAltResult::ErrorRuntime(msg.trim().into(), pos).into()); } ["run" | "r"] => { - println!("Restarting script..."); + println!("Terminating current run..."); break Err(EvalAltResult::ErrorTerminated(Dynamic::UNIT, pos).into()); } _ => eprintln!( @@ -630,10 +638,13 @@ fn main() { while let Err(err) = engine.run_ast_with_scope(&mut Scope::new(), &ast) { match *err { // Loop back to restart - EvalAltResult::ErrorTerminated(..) => (), + EvalAltResult::ErrorTerminated(..) => { + println!("Restarting script..."); + } // Break evaluation _ => { print_error(&script, *err); + println!(); break; } } diff --git a/src/bin/rhai-repl.rs b/src/bin/rhai-repl.rs index 260f7de8..cc2e71d2 100644 --- a/src/bin/rhai-repl.rs +++ b/src/bin/rhai-repl.rs @@ -31,12 +31,14 @@ fn print_error(input: &str, mut err: EvalAltResult) { // Specific position - print line text println!("{line_no}{}", lines[pos.line().unwrap() - 1]); - // Display position marker - println!( - "{0:>1$} {err}", - "^", - line_no.len() + pos.position().unwrap(), - ); + for (i, err_line) in err.to_string().split('\n').enumerate() { + // Display position marker + println!( + "{0:>1$}{err_line}", + if i > 0 { " " } else { "^ " }, + line_no.len() + pos.position().unwrap() + 1, + ); + } } } diff --git a/src/bin/rhai-run.rs b/src/bin/rhai-run.rs index 5bd464a3..a70c97cd 100644 --- a/src/bin/rhai-run.rs +++ b/src/bin/rhai-run.rs @@ -8,11 +8,15 @@ fn eprint_error(input: &str, mut err: EvalAltResult) { let line_no = format!("{line}: "); eprintln!("{line_no}{}", lines[line - 1]); - eprintln!( - "{:>1$} {err_msg}", - "^", - line_no.len() + pos.position().unwrap(), - ); + + for (i, err_line) in err_msg.to_string().split('\n').enumerate() { + // Display position marker + println!( + "{0:>1$}{err_line}", + if i > 0 { " " } else { "^ " }, + line_no.len() + pos.position().unwrap() + 1, + ); + } eprintln!(); } diff --git a/src/func/script.rs b/src/func/script.rs index db74c8bc..6120d714 100644 --- a/src/func/script.rs +++ b/src/func/script.rs @@ -4,7 +4,7 @@ use super::call::FnCallArgs; use crate::ast::ScriptFnDef; use crate::eval::{Caches, GlobalRuntimeState}; -use crate::{Dynamic, Engine, Position, RhaiError, RhaiResult, Scope, ERR}; +use crate::{Dynamic, Engine, Position, RhaiResult, Scope, ERR}; use std::mem; #[cfg(feature = "no_std")] use std::prelude::v1::*; @@ -33,32 +33,6 @@ impl Engine { rewind_scope: bool, pos: Position, ) -> RhaiResult { - #[cold] - #[inline(never)] - fn make_error( - name: String, - _fn_def: &ScriptFnDef, - global: &GlobalRuntimeState, - err: RhaiError, - pos: Position, - ) -> RhaiResult { - #[cfg(not(feature = "no_module"))] - let source = _fn_def - .environ - .as_ref() - .and_then(|environ| environ.lib.id().map(str::to_string)); - #[cfg(feature = "no_module")] - let source = None; - - Err(ERR::ErrorInFunctionCall( - name, - source.unwrap_or_else(|| global.source().unwrap_or("").to_string()), - err, - pos, - ) - .into()) - } - assert!(fn_def.params.len() == args.len()); self.track_operation(global, pos)?; @@ -97,14 +71,13 @@ impl Engine { // Push a new call stack frame #[cfg(feature = "debugging")] if self.is_debugger_registered() { + let fn_name = fn_def.name.clone(); + let args = scope.iter().skip(orig_scope_len).map(|(.., v)| v).collect(); let source = global.source.clone(); - global.debugger_mut().push_call_stack_frame( - fn_def.name.clone(), - scope.iter().skip(orig_scope_len).map(|(.., v)| v).collect(), - source, - pos, - ); + global + .debugger_mut() + .push_call_stack_frame(fn_name, args, source, pos); } // Merge in encapsulated environment, if any @@ -137,27 +110,32 @@ impl Engine { } // Evaluate the function - let mut _result = self + let mut _result: RhaiResult = self .eval_stmt_block(global, caches, scope, this_ptr, &fn_def.body, rewind_scope) .or_else(|err| match *err { // Convert return statement to return value ERR::Return(x, ..) => Ok(x), - // Error in sub function call - ERR::ErrorInFunctionCall(name, src, err, ..) => { - let fn_name = if src.is_empty() { - format!("{name} < {}", fn_def.name) - } else { - format!("{name} @ '{src}' < {}", fn_def.name) - }; - make_error(fn_name, fn_def, global, err, pos) - } // System errors are passed straight-through mut err if err.is_system_exception() => { err.set_position(pos); Err(err.into()) } // Other errors are wrapped in `ErrorInFunctionCall` - _ => make_error(fn_def.name.to_string(), fn_def, global, err, pos), + _ => Err(ERR::ErrorInFunctionCall( + fn_def.name.to_string(), + #[cfg(not(feature = "no_module"))] + fn_def + .environ + .as_deref() + .and_then(|environ| environ.lib.id()) + .unwrap_or_else(|| global.source().unwrap_or("")) + .to_string(), + #[cfg(feature = "no_module")] + global.source().unwrap_or("").to_string(), + err, + pos, + ) + .into()), }); #[cfg(feature = "debugging")] diff --git a/src/types/error.rs b/src/types/error.rs index bc65040b..0f4c1cdc 100644 --- a/src/types/error.rs +++ b/src/types/error.rs @@ -135,22 +135,20 @@ impl fmt::Display for EvalAltResult { #[cfg(not(feature = "no_function"))] Self::ErrorInFunctionCall(s, src, err, ..) if crate::parser::is_anonymous_fn(s) => { - write!(f, "{err} in call to closure")?; + write!(f, "{err}\n| in closure call")?; if !src.is_empty() { write!(f, " @ '{src}'")?; } } Self::ErrorInFunctionCall(s, src, err, ..) => { - write!(f, "{err} in call to function {s}")?; + write!(f, "{err}\n| in call to function '{s}'")?; if !src.is_empty() { write!(f, " @ '{src}'")?; } } - Self::ErrorInModule(s, err, ..) if s.is_empty() => { - write!(f, "Error in module > {err}")? - } - Self::ErrorInModule(s, err, ..) => write!(f, "Error in module '{s}' > {err}")?, + Self::ErrorInModule(s, err, ..) if s.is_empty() => write!(f, "{err}\n| in module")?, + Self::ErrorInModule(s, err, ..) => write!(f, "{err}\n| in module '{s}'")?, Self::ErrorVariableExists(s, ..) => write!(f, "Variable already defined: {s}")?, Self::ErrorForbiddenVariable(s, ..) => write!(f, "Forbidden variable name: {s}")?, @@ -159,16 +157,14 @@ impl fmt::Display for EvalAltResult { Self::ErrorIndexNotFound(s, ..) => write!(f, "Invalid index: {s}")?, Self::ErrorFunctionNotFound(s, ..) => write!(f, "Function not found: {s}")?, Self::ErrorModuleNotFound(s, ..) => write!(f, "Module not found: {s}")?, - Self::ErrorDataRace(s, ..) => { - write!(f, "Data race detected when accessing variable: {s}")? - } + Self::ErrorDataRace(s, ..) => write!(f, "Data race detected on variable '{s}'")?, Self::ErrorDotExpr(s, ..) if s.is_empty() => f.write_str("Malformed dot expression")?, Self::ErrorDotExpr(s, ..) => f.write_str(s)?, Self::ErrorIndexingType(s, ..) => write!(f, "Indexer unavailable: {s}")?, Self::ErrorUnboundThis(..) => f.write_str("'this' not bound")?, - Self::ErrorFor(..) => f.write_str("For loop expects an iterable type")?, + Self::ErrorFor(..) => f.write_str("For loop expects iterable type")?, Self::ErrorTooManyOperations(..) => f.write_str("Too many operations")?, Self::ErrorTooManyModules(..) => f.write_str("Too many modules imported")?, Self::ErrorStackOverflow(..) => f.write_str("Stack overflow")?, @@ -188,31 +184,25 @@ impl fmt::Display for EvalAltResult { if s.starts_with(crate::engine::FN_GET) => { let prop = &s[crate::engine::FN_GET.len()..]; - write!( - f, - "Property {prop} is not pure and cannot be accessed on a constant" - )? + write!(f, "Non-pure property {prop} cannot be accessed on constant")? } #[cfg(not(feature = "no_object"))] Self::ErrorNonPureMethodCallOnConstant(s, ..) if s.starts_with(crate::engine::FN_SET) => { let prop = &s[crate::engine::FN_SET.len()..]; - write!(f, "Cannot modify property '{prop}' of a constant")? + write!(f, "Cannot modify property '{prop}' of constant")? } #[cfg(not(feature = "no_index"))] Self::ErrorNonPureMethodCallOnConstant(s, ..) if s == crate::engine::FN_IDX_GET => { - write!( - f, - "Indexer is not pure and cannot be accessed on a constant" - )? + write!(f, "Non-pure indexer cannot be accessed on constant")? } #[cfg(not(feature = "no_index"))] Self::ErrorNonPureMethodCallOnConstant(s, ..) if s == crate::engine::FN_IDX_SET => { - write!(f, "Cannot assign to the indexer of a constant")? + write!(f, "Cannot assign to indexer of constant")? } Self::ErrorNonPureMethodCallOnConstant(s, ..) => { - write!(f, "Non-pure method '{s}' cannot be called on a constant")? + write!(f, "Non-pure method '{s}' cannot be called on constant")? } Self::ErrorAssignmentToConstant(s, ..) => write!(f, "Cannot modify constant {s}")?, @@ -230,8 +220,8 @@ impl fmt::Display for EvalAltResult { Self::ErrorArithmetic(s, ..) if s.is_empty() => f.write_str("Arithmetic error")?, Self::ErrorArithmetic(s, ..) => f.write_str(s)?, - Self::LoopBreak(true, ..) => f.write_str("'break' must be inside a loop")?, - Self::LoopBreak(false, ..) => f.write_str("'continue' must be inside a loop")?, + Self::LoopBreak(true, ..) => f.write_str("'break' must be within a loop")?, + Self::LoopBreak(false, ..) => f.write_str("'continue' must be within a loop")?, Self::Return(..) => f.write_str("NOT AN ERROR - function returns value")?, @@ -261,7 +251,7 @@ impl fmt::Display for EvalAltResult { f, "Bit-field index {index} out of bounds: only {max} bits in bit-field", )?, - Self::ErrorDataTooLarge(typ, ..) => write!(f, "{typ} exceeds maximum limit")?, + Self::ErrorDataTooLarge(typ, ..) => write!(f, "{typ} too large")?, Self::ErrorCustomSyntax(s, tokens, ..) => write!(f, "{s}: {}", tokens.join(" "))?, } From f458f18ffa7efef7662b1f706233a177e8183ba3 Mon Sep 17 00:00:00 2001 From: Stephen Chung Date: Sun, 27 Nov 2022 22:35:17 +0800 Subject: [PATCH 08/34] Refine error message. --- src/bin/rhai-dbg.rs | 2 +- src/bin/rhai-repl.rs | 2 +- src/bin/rhai-run.rs | 2 +- src/types/error.rs | 8 ++++---- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/bin/rhai-dbg.rs b/src/bin/rhai-dbg.rs index a1ccc2b8..db929a4b 100644 --- a/src/bin/rhai-dbg.rs +++ b/src/bin/rhai-dbg.rs @@ -109,7 +109,7 @@ fn print_error(input: &str, mut err: EvalAltResult) { // Display position marker println!( "\x1b[31m{0:>1$}{err_line}\x1b[39m", - if i > 0 { " " } else { "^ " }, + if i > 0 { "| " } else { "^ " }, line_no.len() + pos.position().unwrap() + 1, ); } diff --git a/src/bin/rhai-repl.rs b/src/bin/rhai-repl.rs index cc2e71d2..ccb6af92 100644 --- a/src/bin/rhai-repl.rs +++ b/src/bin/rhai-repl.rs @@ -35,7 +35,7 @@ fn print_error(input: &str, mut err: EvalAltResult) { // Display position marker println!( "{0:>1$}{err_line}", - if i > 0 { " " } else { "^ " }, + if i > 0 { "| " } else { "^ " }, line_no.len() + pos.position().unwrap() + 1, ); } diff --git a/src/bin/rhai-run.rs b/src/bin/rhai-run.rs index a70c97cd..470bf42c 100644 --- a/src/bin/rhai-run.rs +++ b/src/bin/rhai-run.rs @@ -13,7 +13,7 @@ fn eprint_error(input: &str, mut err: EvalAltResult) { // Display position marker println!( "{0:>1$}{err_line}", - if i > 0 { " " } else { "^ " }, + if i > 0 { "| " } else { "^ " }, line_no.len() + pos.position().unwrap() + 1, ); } diff --git a/src/types/error.rs b/src/types/error.rs index 0f4c1cdc..c60edce5 100644 --- a/src/types/error.rs +++ b/src/types/error.rs @@ -135,20 +135,20 @@ impl fmt::Display for EvalAltResult { #[cfg(not(feature = "no_function"))] Self::ErrorInFunctionCall(s, src, err, ..) if crate::parser::is_anonymous_fn(s) => { - write!(f, "{err}\n| in closure call")?; + write!(f, "{err}\nin closure call")?; if !src.is_empty() { write!(f, " @ '{src}'")?; } } Self::ErrorInFunctionCall(s, src, err, ..) => { - write!(f, "{err}\n| in call to function '{s}'")?; + write!(f, "{err}\nin call to function '{s}'")?; if !src.is_empty() { write!(f, " @ '{src}'")?; } } - Self::ErrorInModule(s, err, ..) if s.is_empty() => write!(f, "{err}\n| in module")?, - Self::ErrorInModule(s, err, ..) => write!(f, "{err}\n| in module '{s}'")?, + Self::ErrorInModule(s, err, ..) if s.is_empty() => write!(f, "{err}\nin module")?, + Self::ErrorInModule(s, err, ..) => write!(f, "{err}\nin module '{s}'")?, Self::ErrorVariableExists(s, ..) => write!(f, "Variable already defined: {s}")?, Self::ErrorForbiddenVariable(s, ..) => write!(f, "Forbidden variable name: {s}")?, From 29a397b216babc1c6ac9673fd0e12c6b53f76e1b Mon Sep 17 00:00:00 2001 From: Stephen Chung Date: Mon, 28 Nov 2022 16:36:40 +0800 Subject: [PATCH 09/34] Refine #[must_use] --- src/api/build_type.rs | 1 + src/api/call_fn.rs | 2 +- src/api/definitions/mod.rs | 10 ++++++-- src/eval/chaining.rs | 48 ++++++++++++++++++++------------------ src/eval/target.rs | 4 +--- src/module/mod.rs | 3 ++- src/types/custom_types.rs | 1 + src/types/dynamic.rs | 23 +++++------------- src/types/float.rs | 2 +- src/types/interner.rs | 3 ++- src/types/scope.rs | 2 +- 11 files changed, 49 insertions(+), 50 deletions(-) diff --git a/src/api/build_type.rs b/src/api/build_type.rs index 3700888d..af0e0ca8 100644 --- a/src/api/build_type.rs +++ b/src/api/build_type.rs @@ -88,6 +88,7 @@ impl Engine { /// /// To define a pretty-print name, call [`with_name`][`TypeBuilder::with_name`], /// to use [`Engine::register_type_with_name`] instead. +#[must_use] pub struct TypeBuilder<'a, T: Variant + Clone> { engine: &'a mut Engine, name: Option<&'static str>, diff --git a/src/api/call_fn.rs b/src/api/call_fn.rs index 616e7d09..a1f0ef7c 100644 --- a/src/api/call_fn.rs +++ b/src/api/call_fn.rs @@ -254,7 +254,7 @@ impl Engine { // Check for data race. #[cfg(not(feature = "no_closure"))] - crate::func::ensure_no_data_race(name, args, false).map(|_| Dynamic::UNIT)?; + crate::func::ensure_no_data_race(name, args, false)?; ast.shared_lib() .get_script_fn(name, args.len()) diff --git a/src/api/definitions/mod.rs b/src/api/definitions/mod.rs index 39b27a71..312b561d 100644 --- a/src/api/definitions/mod.rs +++ b/src/api/definitions/mod.rs @@ -29,6 +29,7 @@ impl Engine { /// # } /// ``` #[inline(always)] + #[must_use] pub fn definitions(&self) -> Definitions { Definitions { engine: self, @@ -55,6 +56,7 @@ impl Engine { /// # } /// ``` #[inline(always)] + #[must_use] pub fn definitions_with_scope<'e>(&'e self, scope: &'e Scope<'e>) -> Definitions<'e> { Definitions { engine: self, @@ -67,7 +69,6 @@ impl Engine { /// Internal configuration for module generation. #[derive(Debug, Clone, Copy, Eq, PartialEq, Hash)] #[non_exhaustive] -#[must_use] pub struct DefinitionsConfig { /// Write `module ...` headers in definition files (default `false`). pub write_headers: bool, @@ -77,6 +78,7 @@ pub struct DefinitionsConfig { impl Default for DefinitionsConfig { #[inline(always)] + #[must_use] fn default() -> Self { Self { write_headers: false, @@ -89,7 +91,6 @@ impl Default for DefinitionsConfig { /// contents of an [`Engine`]. /// Exported under the `internals` and `metadata` feature only. #[derive(Debug, Clone)] -#[must_use] pub struct Definitions<'e> { /// The [`Engine`]. engine: &'e Engine, @@ -104,12 +105,14 @@ impl Definitions<'_> { /// Headers are always present in content that is expected to be written to a file /// (i.e. `write_to*` and `*_file` methods). #[inline(always)] + #[must_use] pub const fn with_headers(mut self, headers: bool) -> Self { self.config.write_headers = headers; self } /// Include standard packages when writing definition files. #[inline(always)] + #[must_use] pub const fn include_standard_packages(mut self, include_standard_packages: bool) -> Self { self.config.include_standard_packages = include_standard_packages; self @@ -128,6 +131,7 @@ impl Definitions<'_> { } /// Get the configuration. #[inline(always)] + #[must_use] pub(crate) const fn config(&self) -> &DefinitionsConfig { &self.config } @@ -392,6 +396,7 @@ impl Definitions<'_> { impl Module { /// Return definitions for all items inside the [`Module`]. #[cfg(not(feature = "no_module"))] + #[must_use] fn definition(&self, def: &Definitions) -> String { let mut s = String::new(); self.write_definition(&mut s, def).unwrap(); @@ -537,6 +542,7 @@ impl FuncInfo { /// It tries to flatten types, removing `&` and `&mut`, and paths, while keeping generics. /// /// Associated generic types are also rewritten into regular generic type parameters. +#[must_use] fn def_type_name<'a>(ty: &'a str, engine: &'a Engine) -> Cow<'a, str> { let ty = engine.format_type_name(ty).replace("crate::", ""); let ty = ty.strip_prefix("&mut").unwrap_or(&*ty).trim(); diff --git a/src/eval/chaining.rs b/src/eval/chaining.rs index 9c19bb3b..9f130dbf 100644 --- a/src/eval/chaining.rs +++ b/src/eval/chaining.rs @@ -599,13 +599,15 @@ impl Engine { // Try to call index setter if value is changed let idx = &mut idx_val_for_setter; let new_val = &mut new_val; - self.call_indexer_set( - global, caches, target, idx, new_val, is_ref_mut, op_pos, - ) - .or_else(|e| match *e { - ERR::ErrorIndexingType(..) => Ok((Dynamic::UNIT, false)), - _ => Err(e), - })?; + // The return value of a indexer setter (usually `()`) is thrown away and not used. + let _ = self + .call_indexer_set( + global, caches, target, idx, new_val, is_ref_mut, op_pos, + ) + .or_else(|e| match *e { + ERR::ErrorIndexingType(..) => Ok((Dynamic::UNIT, false)), + _ => Err(e), + })?; } Ok(result) @@ -659,8 +661,8 @@ impl Engine { // Try to call index setter let new_val = &mut new_val; - - self.call_indexer_set( + // The return value of a indexer setter (usually `()`) is thrown away and not used. + let _ = self.call_indexer_set( global, caches, target, idx_val, new_val, is_ref_mut, op_pos, )?; } @@ -981,18 +983,19 @@ impl Engine { // Re-use args because the first &mut parameter will not be consumed let mut arg_values = [target.as_mut(), val.as_mut()]; let args = &mut arg_values; - self.exec_native_fn_call( - global, - caches, - setter, - Token::NonToken, - *hash_set, - args, - is_ref_mut, - pos, - ) - .or_else( - |err| match *err { + // The return value is thrown away and not used. + let _ = self + .exec_native_fn_call( + global, + caches, + setter, + Token::NonToken, + *hash_set, + args, + is_ref_mut, + pos, + ) + .or_else(|err| match *err { // Try an indexer if property does not exist ERR::ErrorDotExpr(..) => { let idx = &mut name.into(); @@ -1011,8 +1014,7 @@ impl Engine { }) } _ => Err(err), - }, - )?; + })?; } Ok((result, may_be_changed)) diff --git a/src/eval/target.rs b/src/eval/target.rs index 59a89411..8ee2024e 100644 --- a/src/eval/target.rs +++ b/src/eval/target.rs @@ -81,6 +81,7 @@ pub fn calc_index( /// A type that encapsulates a mutation target for an expression with side effects. #[derive(Debug)] +#[must_use] pub enum Target<'a> { /// The target is a mutable reference to a [`Dynamic`]. RefMut(&'a mut Dynamic), @@ -195,7 +196,6 @@ impl<'a> Target<'a> { } /// Get the value of the [`Target`] as a [`Dynamic`], cloning a referenced value if necessary. #[inline] - #[must_use] pub fn take_or_clone(self) -> Dynamic { match self { Self::RefMut(r) => r.clone(), // Referenced value is cloned @@ -223,7 +223,6 @@ impl<'a> Target<'a> { } /// Convert a shared or reference [`Target`] into a target with an owned value. #[inline(always)] - #[must_use] pub fn into_owned(self) -> Self { match self { Self::RefMut(r) => Self::TempValue(r.clone()), @@ -437,7 +436,6 @@ impl AsMut for Target<'_> { impl> From for Target<'_> { #[inline(always)] - #[must_use] fn from(value: T) -> Self { Self::TempValue(value.into()) } diff --git a/src/module/mod.rs b/src/module/mod.rs index 35c01c7d..d540947d 100644 --- a/src/module/mod.rs +++ b/src/module/mod.rs @@ -2105,7 +2105,8 @@ impl Module { global.source = orig_source; - result?; + // The return value is thrown away and not used + let _ = result?; // Variables with an alias left in the scope become module variables for (_name, value, mut aliases) in scope { diff --git a/src/types/custom_types.rs b/src/types/custom_types.rs index 8135a506..460a4e94 100644 --- a/src/types/custom_types.rs +++ b/src/types/custom_types.rs @@ -65,6 +65,7 @@ impl CustomTypesCollection { } /// Find a custom type. #[inline(always)] + #[must_use] pub fn get(&self, key: &str) -> Option<&CustomTypeInfo> { self.0.get(key) } diff --git a/src/types/dynamic.rs b/src/types/dynamic.rs index 47fa5c22..a5335651 100644 --- a/src/types/dynamic.rs +++ b/src/types/dynamic.rs @@ -49,11 +49,13 @@ pub type Tag = i16; const DEFAULT_TAG_VALUE: Tag = 0; /// Dynamic type containing any value. +#[must_use] pub struct Dynamic(pub(crate) Union); /// Internal [`Dynamic`] representation. /// /// Most variants are boxed to reduce the size. +#[must_use] pub enum Union { /// An error value which should not exist. Null, @@ -107,10 +109,12 @@ pub enum Union { /// This type provides transparent interoperability between normal [`Dynamic`] and shared /// [`Dynamic`] values. #[derive(Debug)] +#[must_use] pub struct DynamicReadLock<'d, T: Clone>(DynamicReadLockInner<'d, T>); /// Different types of read guards for [`DynamicReadLock`]. #[derive(Debug)] +#[must_use] enum DynamicReadLockInner<'d, T: Clone> { /// A simple reference to a non-shared value. Reference(&'d T), @@ -139,10 +143,12 @@ impl<'d, T: Any + Clone> Deref for DynamicReadLock<'d, T> { /// This type provides transparent interoperability between normal [`Dynamic`] and shared /// [`Dynamic`] values. #[derive(Debug)] +#[must_use] pub struct DynamicWriteLock<'d, T: Clone>(DynamicWriteLockInner<'d, T>); /// Different types of write guards for [`DynamicReadLock`]. #[derive(Debug)] +#[must_use] enum DynamicWriteLockInner<'d, T: Clone> { /// A simple mutable reference to a non-shared value. Reference(&'d mut T), @@ -686,7 +692,6 @@ impl Clone for Dynamic { impl Default for Dynamic { #[inline(always)] - #[must_use] fn default() -> Self { Self::UNIT } @@ -852,19 +857,16 @@ impl Dynamic { /// Create a new [`Dynamic`] from a [`bool`]. #[inline(always)] - #[must_use] pub const fn from_bool(value: bool) -> Self { Self(Union::Bool(value, DEFAULT_TAG_VALUE, ReadWrite)) } /// Create a new [`Dynamic`] from an [`INT`]. #[inline(always)] - #[must_use] pub const fn from_int(value: INT) -> Self { Self(Union::Int(value, DEFAULT_TAG_VALUE, ReadWrite)) } /// Create a new [`Dynamic`] from a [`char`]. #[inline(always)] - #[must_use] pub const fn from_char(value: char) -> Self { Self(Union::Char(value, DEFAULT_TAG_VALUE, ReadWrite)) } @@ -873,7 +875,6 @@ impl Dynamic { /// Not available under `no_float`. #[cfg(not(feature = "no_float"))] #[inline(always)] - #[must_use] pub const fn from_float(value: crate::FLOAT) -> Self { Self(Union::Float( super::FloatWrapper::new(value), @@ -886,28 +887,24 @@ impl Dynamic { /// Exported under the `decimal` feature only. #[cfg(feature = "decimal")] #[inline(always)] - #[must_use] pub fn from_decimal(value: rust_decimal::Decimal) -> Self { Self(Union::Decimal(value.into(), DEFAULT_TAG_VALUE, ReadWrite)) } /// Create a [`Dynamic`] from an [`Array`][crate::Array]. #[cfg(not(feature = "no_index"))] #[inline(always)] - #[must_use] pub fn from_array(array: crate::Array) -> Self { Self(Union::Array(array.into(), DEFAULT_TAG_VALUE, ReadWrite)) } /// Create a [`Dynamic`] from a [`Blob`][crate::Blob]. #[cfg(not(feature = "no_index"))] #[inline(always)] - #[must_use] pub fn from_blob(blob: crate::Blob) -> Self { Self(Union::Blob(blob.into(), DEFAULT_TAG_VALUE, ReadWrite)) } /// Create a [`Dynamic`] from a [`Map`][crate::Map]. #[cfg(not(feature = "no_object"))] #[inline(always)] - #[must_use] pub fn from_map(map: crate::Map) -> Self { Self(Union::Map(map.into(), DEFAULT_TAG_VALUE, ReadWrite)) } @@ -916,7 +913,6 @@ impl Dynamic { /// Not available under `no-std` or `no_time`. #[cfg(not(feature = "no_time"))] #[inline(always)] - #[must_use] pub fn from_timestamp(value: Instant) -> Self { Self(Union::TimeStamp(value.into(), DEFAULT_TAG_VALUE, ReadWrite)) } @@ -991,7 +987,6 @@ impl Dynamic { } /// Make this [`Dynamic`] read-only (i.e. a constant). #[inline(always)] - #[must_use] pub fn into_read_only(self) -> Self { let mut value = self; value.set_access_mode(AccessMode::ReadOnly); @@ -1085,7 +1080,6 @@ impl Dynamic { /// assert_eq!(new_result.to_string(), "hello"); /// ``` #[inline] - #[must_use] pub fn from(value: T) -> Self { // Coded this way in order to maximally leverage potentials for dead-code removal. @@ -1143,7 +1137,6 @@ impl Dynamic { /// If the [`Dynamic`] value is already shared, this method returns itself. #[cfg(not(feature = "no_closure"))] #[inline] - #[must_use] pub fn into_shared(self) -> Self { let _access = self.access_mode(); @@ -1365,7 +1358,6 @@ impl Dynamic { /// /// If the [`Dynamic`] is a shared value, it returns a cloned copy of the shared value. #[inline] - #[must_use] pub fn flatten_clone(&self) -> Self { match self.0 { #[cfg(not(feature = "no_closure"))] @@ -1380,7 +1372,6 @@ impl Dynamic { /// If the [`Dynamic`] is a shared value, it returns the shared value if there are no /// outstanding references, or a cloned copy. #[inline] - #[must_use] pub fn flatten(self) -> Self { match self.0 { #[cfg(not(feature = "no_closure"))] @@ -1451,7 +1442,6 @@ impl Dynamic { /// Under the `sync` feature, this call may deadlock, or [panic](https://doc.rust-lang.org/std/sync/struct.RwLock.html#panics-1). /// Otherwise, this call panics if the data is currently borrowed for write. #[inline] - #[must_use] pub fn read_lock(&self) -> Option> { match self.0 { #[cfg(not(feature = "no_closure"))] @@ -1483,7 +1473,6 @@ impl Dynamic { /// Under the `sync` feature, this call may deadlock, or [panic](https://doc.rust-lang.org/std/sync/struct.RwLock.html#panics-1). /// Otherwise, this call panics if the data is currently borrowed for write. #[inline] - #[must_use] pub fn write_lock(&mut self) -> Option> { match self.0 { #[cfg(not(feature = "no_closure"))] diff --git a/src/types/float.rs b/src/types/float.rs index 8cfeed77..91af3a8d 100644 --- a/src/types/float.rs +++ b/src/types/float.rs @@ -15,6 +15,7 @@ use num_traits::float::FloatCore as Float; /// /// Not available under `no_float`. #[derive(Clone, Copy, Eq, PartialEq, PartialOrd)] +#[must_use] pub struct FloatWrapper(F); impl Hash for FloatWrapper { @@ -108,7 +109,6 @@ impl FloatWrapper { /// Create a new [`FloatWrapper`]. #[inline(always)] - #[must_use] pub const fn new(value: F) -> Self { Self(value) } diff --git a/src/types/interner.rs b/src/types/interner.rs index 430605e8..34fe3789 100644 --- a/src/types/interner.rs +++ b/src/types/interner.rs @@ -24,7 +24,6 @@ pub const MAX_STRING_LEN: usize = 24; /// _(internals)_ A cache for interned strings. /// Exported under the `internals` feature only. #[derive(Clone)] -#[must_use] pub struct StringsInterner { /// Cached strings. cache: StraightHashMap, @@ -34,6 +33,7 @@ pub struct StringsInterner { impl Default for StringsInterner { #[inline(always)] + #[must_use] fn default() -> Self { Self::new() } @@ -50,6 +50,7 @@ impl fmt::Debug for StringsInterner { impl StringsInterner { /// Create a new [`StringsInterner`]. #[inline(always)] + #[must_use] pub fn new() -> Self { Self { cache: StraightHashMap::default(), diff --git a/src/types/scope.rs b/src/types/scope.rs index 639195cb..c6320861 100644 --- a/src/types/scope.rs +++ b/src/types/scope.rs @@ -386,7 +386,7 @@ impl Scope<'_> { #[inline(always)] pub fn pop(&mut self) -> &mut Self { self.names.pop().expect("`Scope` must not be empty"); - self.values.pop().expect("`Scope` must not be empty"); + let _ = self.values.pop().expect("`Scope` must not be empty"); self.aliases.pop().expect("`Scope` must not be empty"); self } From 0c85f0c796511f8f8ef7aab892ed96ab76f0c810 Mon Sep 17 00:00:00 2001 From: Stephen Chung Date: Mon, 28 Nov 2022 23:24:22 +0800 Subject: [PATCH 10/34] Code cleanup and refactor. --- Cargo.toml | 2 +- src/api/custom_syntax.rs | 25 +-- src/api/definitions/mod.rs | 2 +- src/api/json.rs | 21 +-- src/api/limits_unchecked.rs | 70 ++++++++ src/api/mod.rs | 97 ++--------- src/api/optimize.rs | 2 +- src/ast/expr.rs | 26 +-- src/ast/mod.rs | 3 + src/ast/namespace_none.rs | 22 +++ src/ast/script_fn.rs | 2 - src/ast/stmt.rs | 3 +- src/eval/chaining.rs | 86 +++------- src/eval/debugger.rs | 7 +- src/eval/eval_context.rs | 1 - src/eval/stmt.rs | 83 ++++----- src/eval/target.rs | 35 ++-- src/func/call.rs | 31 +--- src/func/native.rs | 4 +- src/lib.rs | 6 +- src/optimizer.rs | 30 ++-- src/parser.rs | 137 ++++++--------- src/tokenizer.rs | 329 +----------------------------------- src/types/mod.rs | 8 + src/types/position.rs | 269 +++++++++++++++++++++++++++++ src/types/position_none.rs | 165 ++++++++++++++++++ 26 files changed, 762 insertions(+), 704 deletions(-) create mode 100644 src/api/limits_unchecked.rs create mode 100644 src/ast/namespace_none.rs create mode 100644 src/types/position.rs create mode 100644 src/types/position_none.rs diff --git a/Cargo.toml b/Cargo.toml index 4079d85c..14fb9603 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -43,7 +43,7 @@ serde_json = { version = "1.0", default-features = false, features = ["alloc"] } [features] default = ["std", "ahash/runtime-rng"] # ahash/runtime-rng trumps ahash/compile-time-rng std = ["ahash/std", "num-traits/std", "smartstring/std"] -unchecked = [] # unchecked arithmetic +unchecked = [] # disable safety checks sync = [] # restrict to only types that implement Send + Sync no_position = [] # do not track position in the parser no_optimize = [] # no script optimizer diff --git a/src/api/custom_syntax.rs b/src/api/custom_syntax.rs index 45c2ed40..07422206 100644 --- a/src/api/custom_syntax.rs +++ b/src/api/custom_syntax.rs @@ -4,7 +4,7 @@ use crate::ast::Expr; use crate::func::SendSync; use crate::parser::ParseResult; -use crate::tokenizer::{is_valid_identifier, Token}; +use crate::tokenizer::{is_valid_identifier, Token, NO_TOKEN}; use crate::types::dynamic::Variant; use crate::{ reify, Dynamic, Engine, EvalContext, Identifier, ImmutableString, LexError, Position, @@ -166,6 +166,7 @@ impl Deref for Expression<'_> { type Target = Expr; #[inline(always)] + #[must_use] fn deref(&self) -> &Self::Target { self.0 } @@ -230,11 +231,11 @@ impl Engine { continue; } - let token = Token::lookup_symbol_from_syntax(s).or_else(|| { + let token = Token::lookup_symbol_from_syntax(s).unwrap_or_else(|| { if Token::is_reserved_keyword(s) { - Some(Token::Reserved(Box::new(s.into()))) + Token::Reserved(Box::new(s.into())) } else { - None + NO_TOKEN } }); @@ -255,16 +256,16 @@ impl Engine { #[cfg(not(feature = "no_float"))] CUSTOM_SYNTAX_MARKER_FLOAT if !segments.is_empty() => s.into(), // Standard or reserved keyword/symbol not in first position - _ if !segments.is_empty() && token.is_some() => { + _ if !segments.is_empty() && token != NO_TOKEN => { // Make it a custom keyword/symbol if it is disabled or reserved if (self .disabled_symbols .as_deref() .map_or(false, |m| m.contains(s)) - || token.map_or(false, |v| v.is_reserved())) + || token.is_reserved()) && !self .custom_keywords - .as_ref() + .as_deref() .map_or(false, |m| m.contains_key(s)) { self.custom_keywords @@ -275,10 +276,10 @@ impl Engine { } // Standard keyword in first position but not disabled _ if segments.is_empty() - && token.as_ref().map_or(false, Token::is_standard_keyword) + && token.is_standard_keyword() && !self .disabled_symbols - .as_ref() + .as_deref() .map_or(false, |m| m.contains(s)) => { return Err(LexError::ImproperSymbol( @@ -295,12 +296,12 @@ impl Engine { // Make it a custom keyword/symbol if it is disabled or reserved if self .disabled_symbols - .as_ref() + .as_deref() .map_or(false, |m| m.contains(s)) - || (token.map_or(false, |v| v.is_reserved()) + || (token.is_reserved() && !self .custom_keywords - .as_ref() + .as_deref() .map_or(false, |m| m.contains_key(s))) { self.custom_keywords diff --git a/src/api/definitions/mod.rs b/src/api/definitions/mod.rs index 312b561d..a34a5ac5 100644 --- a/src/api/definitions/mod.rs +++ b/src/api/definitions/mod.rs @@ -461,7 +461,7 @@ impl Module { || def .engine .custom_keywords - .as_ref() + .as_deref() .map_or(false, |m| m.contains_key(f.metadata.name.as_str())); f.write_definition(writer, def, operator)?; diff --git a/src/api/json.rs b/src/api/json.rs index adde4bc1..dd6d1f42 100644 --- a/src/api/json.rs +++ b/src/api/json.rs @@ -64,8 +64,8 @@ impl Engine { let (stream, tokenizer_control) = self.lex_raw( &scripts, - if has_null { - Some(&|token, _, _| { + Some(if has_null { + &|token, _, _| { match token { // `null` => `()` Token::Reserved(s) if &*s == "null" => Token::Unit, @@ -86,9 +86,9 @@ impl Engine { // All others _ => token, } - }) + } } else { - Some(&|token, _, _| { + &|token, _, _| { match token { Token::Reserved(s) if &*s == "null" => Token::LexError( LexError::ImproperSymbol("null".to_string(), String::new()).into(), @@ -97,24 +97,21 @@ impl Engine { Token::LeftBrace => Token::MapStart, // Disallowed syntax t @ (Token::Unit | Token::MapStart) => Token::LexError( - LexError::ImproperSymbol( - t.literal_syntax().to_string(), - "Invalid JSON syntax".to_string(), - ) - .into(), + LexError::ImproperSymbol(t.literal_syntax().to_string(), String::new()) + .into(), ), Token::InterpolatedString(..) => Token::LexError( LexError::ImproperSymbol( "interpolated string".to_string(), - "Invalid JSON syntax".to_string(), + String::new(), ) .into(), ), // All others _ => token, } - }) - }, + } + }), ); let ast = { diff --git a/src/api/limits_unchecked.rs b/src/api/limits_unchecked.rs new file mode 100644 index 00000000..02179ecc --- /dev/null +++ b/src/api/limits_unchecked.rs @@ -0,0 +1,70 @@ +#![cfg(feature = "unchecked")] + +use crate::Engine; + +impl Engine { + /// The maximum levels of function calls allowed for a script. + /// + /// Always returns [`usize::MAX`] under `unchecked`. + #[inline(always)] + #[must_use] + pub const fn max_call_levels(&self) -> usize { + usize::MAX + } + /// The maximum number of operations allowed for a script to run (0 for unlimited). + /// + /// Always returns zero under `unchecked`. + #[inline(always)] + #[must_use] + pub const fn max_operations(&self) -> u64 { + 0 + } + /// The maximum number of imported [modules][crate::Module] allowed for a script. + /// + /// Always returns [`usize::MAX`] under `unchecked`. + #[inline(always)] + #[must_use] + pub const fn max_modules(&self) -> usize { + usize::MAX + } + /// The depth limit for expressions (0 for unlimited). + /// + /// Always returns zero under `unchecked`. + #[inline(always)] + #[must_use] + pub const fn max_expr_depth(&self) -> usize { + 0 + } + /// The depth limit for expressions in functions (0 for unlimited). + /// + /// Always returns zero under `unchecked`. + #[inline(always)] + #[must_use] + pub const fn max_function_expr_depth(&self) -> usize { + 0 + } + /// The maximum length of [strings][crate::ImmutableString] (0 for unlimited). + /// + /// Always returns zero under `unchecked`. + #[inline(always)] + #[must_use] + pub const fn max_string_size(&self) -> usize { + 0 + } + /// The maximum length of [arrays][crate::Array] (0 for unlimited). + /// + /// Always returns zero under `unchecked`. + #[inline(always)] + #[must_use] + pub const fn max_array_size(&self) -> usize { + 0 + } + /// The maximum size of [object maps][crate::Map] (0 for unlimited). + /// + /// Always returns zero under `unchecked`. + #[inline(always)] + #[must_use] + pub const fn max_map_size(&self) -> usize { + 0 + } +} diff --git a/src/api/mod.rs b/src/api/mod.rs index b318e14f..028cbe59 100644 --- a/src/api/mod.rs +++ b/src/api/mod.rs @@ -19,9 +19,21 @@ pub mod options; pub mod optimize; pub mod limits; +pub mod limits_unchecked; pub mod events; +pub mod type_names; + +pub mod custom_syntax; + +pub mod build_type; + +#[cfg(feature = "metadata")] +pub mod definitions; + +pub mod deprecated; + use crate::{Dynamic, Engine, Identifier}; #[cfg(feature = "no_std")] @@ -156,7 +168,7 @@ impl Engine { Some(token) if token.is_standard_keyword() => { if !self .disabled_symbols - .as_ref() + .as_deref() .map_or(false, |m| m.contains(token.literal_syntax())) { return Err(format!("'{keyword}' is a reserved keyword")); @@ -166,7 +178,7 @@ impl Engine { Some(token) if token.is_standard_symbol() => { if !self .disabled_symbols - .as_ref() + .as_deref() .map_or(false, |m| m.contains(token.literal_syntax())) { return Err(format!("'{keyword}' is a reserved operator")); @@ -176,7 +188,7 @@ impl Engine { Some(token) if !self .disabled_symbols - .as_ref() + .as_deref() .map_or(false, |m| m.contains(token.literal_syntax())) => { return Err(format!("'{keyword}' is a reserved symbol")) @@ -212,82 +224,3 @@ impl Engine { self } } - -#[cfg(feature = "unchecked")] -impl Engine { - /// The maximum levels of function calls allowed for a script. - /// - /// Always returns [`usize::MAX`] under `unchecked`. - #[inline(always)] - #[must_use] - pub const fn max_call_levels(&self) -> usize { - usize::MAX - } - /// The maximum number of operations allowed for a script to run (0 for unlimited). - /// - /// Always returns zero under `unchecked`. - #[inline(always)] - #[must_use] - pub const fn max_operations(&self) -> u64 { - 0 - } - /// The maximum number of imported [modules][crate::Module] allowed for a script. - /// - /// Always returns [`usize::MAX`] under `unchecked`. - #[inline(always)] - #[must_use] - pub const fn max_modules(&self) -> usize { - usize::MAX - } - /// The depth limit for expressions (0 for unlimited). - /// - /// Always returns zero under `unchecked`. - #[inline(always)] - #[must_use] - pub const fn max_expr_depth(&self) -> usize { - 0 - } - /// The depth limit for expressions in functions (0 for unlimited). - /// - /// Always returns zero under `unchecked`. - #[inline(always)] - #[must_use] - pub const fn max_function_expr_depth(&self) -> usize { - 0 - } - /// The maximum length of [strings][crate::ImmutableString] (0 for unlimited). - /// - /// Always returns zero under `unchecked`. - #[inline(always)] - #[must_use] - pub const fn max_string_size(&self) -> usize { - 0 - } - /// The maximum length of [arrays][crate::Array] (0 for unlimited). - /// - /// Always returns zero under `unchecked`. - #[inline(always)] - #[must_use] - pub const fn max_array_size(&self) -> usize { - 0 - } - /// The maximum size of [object maps][crate::Map] (0 for unlimited). - /// - /// Always returns zero under `unchecked`. - #[inline(always)] - #[must_use] - pub const fn max_map_size(&self) -> usize { - 0 - } -} - -pub mod type_names; - -pub mod custom_syntax; - -pub mod build_type; - -#[cfg(feature = "metadata")] -pub mod definitions; - -pub mod deprecated; diff --git a/src/api/optimize.rs b/src/api/optimize.rs index 7e596059..6ac76b22 100644 --- a/src/api/optimize.rs +++ b/src/api/optimize.rs @@ -57,7 +57,7 @@ impl Engine { #[cfg(not(feature = "no_function"))] ast.shared_lib() .iter_fn() - .map(|f| f.func.get_script_fn_def().expect("`ScriptFnDef").clone()) + .map(|f| f.func.get_script_fn_def().cloned().expect("`ScriptFnDef")) .collect(), optimization_level, ); diff --git a/src/ast/expr.rs b/src/ast/expr.rs index f6e4e5c9..a8376bd6 100644 --- a/src/ast/expr.rs +++ b/src/ast/expr.rs @@ -1,9 +1,9 @@ //! Module defining script expressions. -use super::{ASTFlags, ASTNode, Ident, Stmt, StmtBlock}; +use super::{ASTFlags, ASTNode, Ident, Namespace, Stmt, StmtBlock}; use crate::engine::{KEYWORD_FN_PTR, OP_EXCLUSIVE_RANGE, OP_INCLUSIVE_RANGE}; use crate::func::hashing::ALT_ZERO_HASH; -use crate::tokenizer::Token; +use crate::tokenizer::{Token, NO_TOKEN}; use crate::types::dynamic::Union; use crate::{ calc_fn_hash, Dynamic, FnPtr, Identifier, ImmutableString, Position, SmartString, StaticVec, @@ -197,8 +197,7 @@ impl FnCallHashes { #[derive(Clone, Hash)] pub struct FnCallExpr { /// Namespace of the function, if any. - #[cfg(not(feature = "no_module"))] - pub namespace: super::Namespace, + pub namespace: Namespace, /// Function name. pub name: ImmutableString, /// Pre-calculated hashes. @@ -208,7 +207,7 @@ pub struct FnCallExpr { /// Does this function call capture the parent scope? pub capture_parent_scope: bool, /// Is this function call a native operator? - /// Otherwise set to [`Token::NonToken`]. + /// Otherwise set to [`Token::NONE`]. pub op_token: Token, } @@ -217,14 +216,13 @@ impl fmt::Debug for FnCallExpr { #[inline(never)] fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { let mut ff = f.debug_struct("FnCallExpr"); - #[cfg(not(feature = "no_module"))] if !self.namespace.is_empty() { ff.field("namespace", &self.namespace); } ff.field("hash", &self.hashes) .field("name", &self.name) .field("args", &self.args); - if self.op_token != Token::NonToken { + if self.op_token != NO_TOKEN { ff.field("op_token", &self.op_token); } if self.capture_parent_scope { @@ -241,10 +239,7 @@ impl FnCallExpr { #[inline(always)] #[must_use] pub fn is_qualified(&self) -> bool { - #[cfg(not(feature = "no_module"))] - return !self.namespace.is_empty(); - #[cfg(feature = "no_module")] - return false; + !self.namespace.is_empty() } /// Convert this into an [`Expr::FnCall`]. #[inline(always)] @@ -304,9 +299,7 @@ pub enum Expr { /// majority of cases (unless there are more than 255 variables defined!). /// This is to avoid reading a pointer redirection during each variable access. Variable( - #[cfg(not(feature = "no_module"))] - Box<(Option, super::Namespace, u64, ImmutableString)>, - #[cfg(feature = "no_module")] Box<(Option, [(); 0], u64, ImmutableString)>, + Box<(Option, Namespace, u64, ImmutableString)>, Option, Position, ), @@ -584,13 +577,12 @@ impl Expr { Union::FnPtr(f, ..) if !f.is_curried() => Self::FnCall( FnCallExpr { - #[cfg(not(feature = "no_module"))] - namespace: super::Namespace::NONE, + namespace: Namespace::NONE, name: KEYWORD_FN_PTR.into(), hashes: calc_fn_hash(None, f.fn_name(), 1).into(), args: once(Self::StringConstant(f.fn_name().into(), pos)).collect(), capture_parent_scope: false, - op_token: Token::NonToken, + op_token: NO_TOKEN, } .into(), pos, diff --git a/src/ast/mod.rs b/src/ast/mod.rs index 695f0786..b64ef8a0 100644 --- a/src/ast/mod.rs +++ b/src/ast/mod.rs @@ -5,6 +5,7 @@ pub mod expr; pub mod flags; pub mod ident; pub mod namespace; +pub mod namespace_none; pub mod script_fn; pub mod stmt; @@ -16,6 +17,8 @@ pub use flags::{ASTFlags, FnAccess}; pub use ident::Ident; #[cfg(not(feature = "no_module"))] pub use namespace::Namespace; +#[cfg(feature = "no_module")] +pub use namespace_none::Namespace; #[cfg(not(feature = "no_module"))] #[cfg(not(feature = "no_function"))] pub use script_fn::EncapsulatedEnviron; diff --git a/src/ast/namespace_none.rs b/src/ast/namespace_none.rs new file mode 100644 index 00000000..eafe1c52 --- /dev/null +++ b/src/ast/namespace_none.rs @@ -0,0 +1,22 @@ +//! Namespace reference type. +#![cfg(feature = "no_module")] + +#[cfg(feature = "no_std")] +use std::prelude::v1::*; + +/// _(internals)_ A chain of [module][crate::Module] names to namespace-qualify a variable or function call. +/// Exported under the `internals` feature only. +/// +/// Not available under `no_module`. +#[derive(Debug, Clone, Eq, PartialEq, Default, Hash)] +pub struct Namespace; + +impl Namespace { + /// Constant for no namespace. + pub const NONE: Self = Self; + + #[inline(always)] + pub const fn is_empty(&self) -> bool { + true + } +} diff --git a/src/ast/script_fn.rs b/src/ast/script_fn.rs index 4b8f3e22..e523d7d7 100644 --- a/src/ast/script_fn.rs +++ b/src/ast/script_fn.rs @@ -16,7 +16,6 @@ use std::{fmt, hash::Hash}; /// /// Not available under `no_module` or `no_function`. #[cfg(not(feature = "no_module"))] -#[cfg(not(feature = "no_function"))] #[derive(Debug, Clone)] pub struct EncapsulatedEnviron { /// Functions defined within the same [`AST`][crate::AST]. @@ -35,7 +34,6 @@ pub struct ScriptFnDef { pub body: StmtBlock, /// Encapsulated AST environment, if any. #[cfg(not(feature = "no_module"))] - #[cfg(not(feature = "no_function"))] pub environ: Option>, /// Function name. pub name: ImmutableString, diff --git a/src/ast/stmt.rs b/src/ast/stmt.rs index 3a0e0458..8dba2bca 100644 --- a/src/ast/stmt.rs +++ b/src/ast/stmt.rs @@ -2,7 +2,8 @@ use super::{ASTFlags, ASTNode, BinaryExpr, Expr, FnCallExpr, Ident}; use crate::engine::KEYWORD_EVAL; -use crate::tokenizer::{Span, Token}; +use crate::tokenizer::Token; +use crate::types::Span; use crate::{calc_fn_hash, Position, StaticVec, INT}; #[cfg(feature = "no_std")] use std::prelude::v1::*; diff --git a/src/eval/chaining.rs b/src/eval/chaining.rs index 9f130dbf..3b257b57 100644 --- a/src/eval/chaining.rs +++ b/src/eval/chaining.rs @@ -5,7 +5,7 @@ use super::{Caches, GlobalRuntimeState, Target}; use crate::ast::{ASTFlags, Expr, OpAssignment}; use crate::config::hashing::SusLock; use crate::engine::{FN_IDX_GET, FN_IDX_SET}; -use crate::tokenizer::Token; +use crate::tokenizer::NO_TOKEN; use crate::types::{dynamic::Union, RestoreOnDrop}; use crate::{ calc_fn_hash, Dynamic, Engine, FnArgsVec, Position, RhaiResult, RhaiResultOf, Scope, ERR, @@ -72,17 +72,11 @@ impl Engine { global.level += 1; let global = &mut *RestoreOnDrop::lock(global, move |g| g.level = orig_level); - self.exec_native_fn_call( - global, - caches, - FN_IDX_GET, - Token::NonToken, - hash_idx().0, - &mut [target, idx], - true, - pos, - ) - .map(|(r, ..)| r) + let hash = hash_idx().0; + let args = &mut [target, idx]; + + self.exec_native_fn_call(global, caches, FN_IDX_GET, NO_TOKEN, hash, args, true, pos) + .map(|(r, ..)| r) } /// Call a set indexer. @@ -101,15 +95,11 @@ impl Engine { global.level += 1; let global = &mut *RestoreOnDrop::lock(global, move |g| g.level = orig_level); + let hash = hash_idx().1; + let args = &mut [target, idx, new_val]; + self.exec_native_fn_call( - global, - caches, - FN_IDX_SET, - Token::NonToken, - hash_idx().1, - &mut [target, idx, new_val], - is_ref_mut, - pos, + global, caches, FN_IDX_SET, NO_TOKEN, hash, args, is_ref_mut, pos, ) } @@ -766,15 +756,10 @@ impl Engine { if op_info.is_op_assignment() { let args = &mut [target.as_mut()]; + let (mut orig_val, ..) = self .exec_native_fn_call( - global, - caches, - getter, - Token::NonToken, - *hash_get, - args, - is_ref_mut, + global, caches, getter, NO_TOKEN, *hash_get, args, is_ref_mut, *pos, ) .or_else(|err| match *err { @@ -807,15 +792,9 @@ impl Engine { } let args = &mut [target.as_mut(), &mut new_val]; + self.exec_native_fn_call( - global, - caches, - setter, - Token::NonToken, - *hash_set, - args, - is_ref_mut, - *pos, + global, caches, setter, NO_TOKEN, *hash_set, args, is_ref_mut, *pos, ) .or_else(|err| match *err { // Try an indexer if property does not exist @@ -840,15 +819,9 @@ impl Engine { let ((getter, hash_get), _, name) = &**x; let args = &mut [target.as_mut()]; + self.exec_native_fn_call( - global, - caches, - getter, - Token::NonToken, - *hash_get, - args, - is_ref_mut, - *pos, + global, caches, getter, NO_TOKEN, *hash_get, args, is_ref_mut, *pos, ) .map_or_else( |err| match *err { @@ -938,20 +911,13 @@ impl Engine { self.run_debugger(global, caches, scope, this_ptr, _node)?; let ((getter, hash_get), (setter, hash_set), name) = &**p; - let mut arg_values = [target.as_mut(), &mut Dynamic::UNIT.clone()]; - let args = &mut arg_values[..1]; + let args = &mut [target.as_mut()]; // Assume getters are always pure let (mut val, ..) = self .exec_native_fn_call( - global, - caches, - getter, - Token::NonToken, - *hash_get, - args, - is_ref_mut, - pos, + global, caches, getter, NO_TOKEN, *hash_get, args, + is_ref_mut, pos, ) .or_else(|err| match *err { // Try an indexer if property does not exist @@ -981,19 +947,13 @@ impl Engine { // Feed the value back via a setter just in case it has been updated if may_be_changed { // Re-use args because the first &mut parameter will not be consumed - let mut arg_values = [target.as_mut(), val.as_mut()]; - let args = &mut arg_values; + let args = &mut [target.as_mut(), val.as_mut()]; + // The return value is thrown away and not used. let _ = self .exec_native_fn_call( - global, - caches, - setter, - Token::NonToken, - *hash_set, - args, - is_ref_mut, - pos, + global, caches, setter, NO_TOKEN, *hash_set, args, + is_ref_mut, pos, ) .or_else(|err| match *err { // Try an indexer if property does not exist diff --git a/src/eval/debugger.rs b/src/eval/debugger.rs index cfee4cba..62c6fde7 100644 --- a/src/eval/debugger.rs +++ b/src/eval/debugger.rs @@ -508,11 +508,10 @@ impl Engine { node: ASTNode<'a>, event: DebuggerEvent, ) -> Result, Box> { - let src = global.source_raw().cloned(); - let src = src.as_ref().map(|s| s.as_str()); - let context = crate::EvalContext::new(self, global, caches, scope, this_ptr); - if let Some(ref x) = self.debugger_interface { + let src = global.source_raw().cloned(); + let src = src.as_ref().map(|s| s.as_str()); + let context = EvalContext::new(self, global, caches, scope, this_ptr); let (.., ref on_debugger) = **x; let command = on_debugger(context, event, node, src, node.position())?; diff --git a/src/eval/eval_context.rs b/src/eval/eval_context.rs index df6a87e3..6243d949 100644 --- a/src/eval/eval_context.rs +++ b/src/eval/eval_context.rs @@ -7,7 +7,6 @@ use std::prelude::v1::*; /// Context of a script evaluation process. #[derive(Debug)] -#[allow(dead_code)] pub struct EvalContext<'a, 's, 'ps, 'g, 'c, 't> { /// The current [`Engine`]. engine: &'a Engine, diff --git a/src/eval/stmt.rs b/src/eval/stmt.rs index 2ccfcdad..13f53334 100644 --- a/src/eval/stmt.rs +++ b/src/eval/stmt.rs @@ -6,13 +6,26 @@ use crate::ast::{ ASTFlags, BinaryExpr, Expr, Ident, OpAssignment, Stmt, SwitchCasesCollection, TryCatchBlock, }; use crate::func::{get_builtin_op_assignment_fn, get_hasher}; -use crate::types::dynamic::AccessMode; +use crate::types::dynamic::{AccessMode, Union}; use crate::types::RestoreOnDrop; use crate::{Dynamic, Engine, RhaiResult, RhaiResultOf, Scope, ERR, INT}; use std::hash::{Hash, Hasher}; #[cfg(feature = "no_std")] use std::prelude::v1::*; +impl Dynamic { + /// If the value is a string, intern it. + #[inline(always)] + fn intern_string(self, engine: &Engine) -> Self { + match self.0 { + Union::Str(..) => engine + .get_interned_string(self.into_immutable_string().expect("`ImmutableString`")) + .into(), + _ => self, + } + } +} + impl Engine { /// Evaluate a statements block. pub(crate) fn eval_stmt_block( @@ -169,14 +182,13 @@ impl Engine { self.check_data_size(&*args[0], root.position())?; } else { // Normal assignment - - // If value is a string, intern it - if new_val.is_string() { - let value = new_val.into_immutable_string().expect("`ImmutableString`"); - new_val = self.get_interned_string(value).into(); + match target { + // Lock it again just in case it is shared + Target::RefMut(_) | Target::TempValue(_) => { + *target.write_lock::().unwrap() = new_val + } + _ => **target = new_val, } - - *target.write_lock::().unwrap() = new_val; } target.propagate_changed_value(op_info.pos) @@ -224,14 +236,13 @@ impl Engine { let mut target = self.search_namespace(global, caches, scope, this_ptr, lhs)?; + let is_temp_result = !target.is_ref(); let var_name = x.3.as_str(); #[cfg(not(feature = "no_closure"))] // Also handle case where target is a `Dynamic` shared value // (returned by a variable resolver, for example) - let is_temp_result = !target.is_ref() && !target.is_shared(); - #[cfg(feature = "no_closure")] - let is_temp_result = !target.is_ref(); + let is_temp_result = is_temp_result && !target.is_shared(); // Cannot assign to temp result from expression if is_temp_result { @@ -251,36 +262,31 @@ impl Engine { #[cfg(any(not(feature = "no_index"), not(feature = "no_object")))] { - let mut rhs_val = self + let rhs_val = self .eval_expr(global, caches, scope, this_ptr, rhs)? - .flatten(); - - // If value is a string, intern it - if rhs_val.is_string() { - let value = rhs_val.into_immutable_string().expect("`ImmutableString`"); - rhs_val = self.get_interned_string(value).into(); - } + .flatten() + .intern_string(self); let _new_val = Some((rhs_val, op_info)); - // Must be either `var[index] op= val` or `var.prop op= val` - match lhs { - // name op= rhs (handled above) - Expr::Variable(..) => { - unreachable!("Expr::Variable case is already handled") - } - // idx_lhs[idx_expr] op= rhs - #[cfg(not(feature = "no_index"))] - Expr::Index(..) => { - self.eval_dot_index_chain(global, caches, scope, this_ptr, lhs, _new_val) - } - // dot_lhs.dot_rhs op= rhs - #[cfg(not(feature = "no_object"))] - Expr::Dot(..) => { - self.eval_dot_index_chain(global, caches, scope, this_ptr, lhs, _new_val) - } - _ => unreachable!("cannot assign to expression: {:?}", lhs), - }?; + // Must be either `var[index] op= val` or `var.prop op= val`. + // The return value of any op-assignment (should be `()`) is thrown away and not used. + let _ = + match lhs { + // name op= rhs (handled above) + Expr::Variable(..) => { + unreachable!("Expr::Variable case is already handled") + } + // idx_lhs[idx_expr] op= rhs + #[cfg(not(feature = "no_index"))] + Expr::Index(..) => self + .eval_dot_index_chain(global, caches, scope, this_ptr, lhs, _new_val), + // dot_lhs.dot_rhs op= rhs + #[cfg(not(feature = "no_object"))] + Expr::Dot(..) => self + .eval_dot_index_chain(global, caches, scope, this_ptr, lhs, _new_val), + _ => unreachable!("cannot assign to expression: {:?}", lhs), + }?; return Ok(Dynamic::UNIT); } @@ -723,7 +729,8 @@ impl Engine { // Evaluate initial value let mut value = self .eval_expr(global, caches, scope, this_ptr, expr)? - .flatten(); + .flatten() + .intern_string(self); let _alias = if !rewind_scope { // Put global constants into global module diff --git a/src/eval/target.rs b/src/eval/target.rs index 8ee2024e..1f36a835 100644 --- a/src/eval/target.rs +++ b/src/eval/target.rs @@ -89,9 +89,9 @@ pub enum Target<'a> { #[cfg(not(feature = "no_closure"))] SharedValue { /// Lock guard to the shared [`Dynamic`]. - source: crate::types::dynamic::DynamicWriteLock<'a, Dynamic>, - /// Copy of the value. - value: Dynamic, + guard: crate::types::dynamic::DynamicWriteLock<'a, Dynamic>, + /// Copy of the shared value. + shared_value: Dynamic, }, /// The target is a temporary [`Dynamic`] value (i.e. its mutation can cause no side effects). TempValue(Dynamic), @@ -178,21 +178,21 @@ impl<'a> Target<'a> { } } /// Is the [`Target`] a shared value? - #[cfg(not(feature = "no_closure"))] #[inline] #[must_use] pub fn is_shared(&self) -> bool { - match self { + #[cfg(not(feature = "no_closure"))] + return match self { Self::RefMut(r) => r.is_shared(), - #[cfg(not(feature = "no_closure"))] Self::SharedValue { .. } => true, Self::TempValue(value) => value.is_shared(), - #[cfg(not(feature = "no_index"))] Self::Bit { .. } | Self::BitField { .. } | Self::BlobByte { .. } | Self::StringChar { .. } => false, - } + }; + #[cfg(feature = "no_closure")] + return false; } /// Get the value of the [`Target`] as a [`Dynamic`], cloning a referenced value if necessary. #[inline] @@ -200,7 +200,7 @@ impl<'a> Target<'a> { match self { Self::RefMut(r) => r.clone(), // Referenced value is cloned #[cfg(not(feature = "no_closure"))] - Self::SharedValue { value, .. } => value, // Original shared value is simply taken + Self::SharedValue { shared_value, .. } => shared_value, // Original shared value is simply taken Self::TempValue(value) => value, // Owned value is simply taken #[cfg(not(feature = "no_index"))] Self::Bit { value, .. } => value, // boolean is taken @@ -227,7 +227,7 @@ impl<'a> Target<'a> { match self { Self::RefMut(r) => Self::TempValue(r.clone()), #[cfg(not(feature = "no_closure"))] - Self::SharedValue { value, .. } => Self::TempValue(value), + Self::SharedValue { shared_value, .. } => Self::TempValue(shared_value), _ => self, } } @@ -239,7 +239,7 @@ impl<'a> Target<'a> { match self { Self::RefMut(r) => r, #[cfg(not(feature = "no_closure"))] - Self::SharedValue { source, .. } => source, + Self::SharedValue { guard, .. } => guard, Self::TempValue(value) => value, #[cfg(not(feature = "no_index"))] Self::Bit { source, .. } => source, @@ -365,9 +365,12 @@ impl<'a> From<&'a mut Dynamic> for Target<'a> { #[cfg(not(feature = "no_closure"))] if value.is_shared() { // Cloning is cheap for a shared value - let val = value.clone(); - let source = value.write_lock::().expect("`Dynamic`"); - return Self::SharedValue { source, value: val }; + let shared_value = value.clone(); + let guard = value.write_lock::().expect("`Dynamic`"); + return Self::SharedValue { + guard, + shared_value, + }; } Self::RefMut(value) @@ -382,7 +385,7 @@ impl Deref for Target<'_> { match self { Self::RefMut(r) => r, #[cfg(not(feature = "no_closure"))] - Self::SharedValue { source, .. } => source, + Self::SharedValue { guard, .. } => guard, Self::TempValue(ref value) => value, #[cfg(not(feature = "no_index"))] Self::Bit { ref value, .. } @@ -415,7 +418,7 @@ impl DerefMut for Target<'_> { match self { Self::RefMut(r) => r, #[cfg(not(feature = "no_closure"))] - Self::SharedValue { source, .. } => &mut *source, + Self::SharedValue { guard, .. } => &mut *guard, Self::TempValue(ref mut value) => value, #[cfg(not(feature = "no_index"))] Self::Bit { ref mut value, .. } diff --git a/src/func/call.rs b/src/func/call.rs index 70f52470..fc70a214 100644 --- a/src/func/call.rs +++ b/src/func/call.rs @@ -8,7 +8,7 @@ use crate::engine::{ KEYWORD_IS_DEF_VAR, KEYWORD_PRINT, KEYWORD_TYPE_OF, }; use crate::eval::{Caches, FnResolutionCacheEntry, GlobalRuntimeState}; -use crate::tokenizer::{is_valid_function_name, Token}; +use crate::tokenizer::{is_valid_function_name, Token, NO_TOKEN}; use crate::types::RestoreOnDrop; use crate::{ calc_fn_hash, calc_fn_hash_full, Dynamic, Engine, FnArgsVec, FnPtr, ImmutableString, @@ -272,7 +272,7 @@ impl Engine { // Try to find a built-in version let builtin = args.and_then(|args| match op_token { - Token::NonToken => None, + Token::NONE => None, token if token.is_op_assignment() => { let (first_arg, rest_args) = args.split_first().unwrap(); @@ -639,15 +639,7 @@ impl Engine { let local_entry = &mut None; if let Some(FnResolutionCacheEntry { func, ref source }) = self - .resolve_fn( - global, - caches, - local_entry, - Token::NonToken, - hash, - None, - false, - ) + .resolve_fn(global, caches, local_entry, NO_TOKEN, hash, None, false) .cloned() { // Script function call @@ -791,7 +783,7 @@ impl Engine { caches, None, fn_name, - Token::NonToken, + NO_TOKEN, new_hash, &mut args, false, @@ -845,7 +837,7 @@ impl Engine { caches, None, &fn_name, - Token::NonToken, + NO_TOKEN, new_hash, &mut args, is_ref_mut, @@ -944,7 +936,7 @@ impl Engine { caches, None, fn_name, - Token::NonToken, + NO_TOKEN, hash, &mut args, is_ref_mut, @@ -986,7 +978,7 @@ impl Engine { let redirected; // Handle call() - Redirect function call match name { - _ if op_token != Token::NonToken => (), + _ if op_token != NO_TOKEN => (), // Handle call() KEYWORD_FN_PTR_CALL if total_args >= 1 => { @@ -1217,12 +1209,7 @@ impl Engine { self.track_operation(global, first_expr.position())?; - #[cfg(not(feature = "no_closure"))] - let target_is_shared = target.is_shared(); - #[cfg(feature = "no_closure")] - let target_is_shared = false; - - if target_is_shared || target.is_temp_value() { + if target.is_shared() || target.is_temp_value() { arg_values.insert(0, target.take_or_clone().flatten()); } else { // Turn it into a method call only if the object is not shared and not a simple value @@ -1500,7 +1487,7 @@ impl Engine { let op_token = op_token.clone(); // Short-circuit native binary operator call if under Fast Operators mode - if op_token != Token::NonToken && self.fast_operators() && args.len() == 2 { + if op_token != NO_TOKEN && self.fast_operators() && args.len() == 2 { let mut lhs = self .get_arg_value(global, caches, scope, this_ptr, &args[0])? .0 diff --git a/src/func/native.rs b/src/func/native.rs index 20935c06..5d029fb6 100644 --- a/src/func/native.rs +++ b/src/func/native.rs @@ -4,7 +4,7 @@ use super::call::FnCallArgs; use crate::ast::FnCallHashes; use crate::eval::{Caches, GlobalRuntimeState}; use crate::plugin::PluginFunction; -use crate::tokenizer::{is_valid_function_name, Token, TokenizeState}; +use crate::tokenizer::{is_valid_function_name, Token, TokenizeState, NO_TOKEN}; use crate::types::dynamic::Variant; use crate::{ calc_fn_hash, reify, Dynamic, Engine, EvalContext, FuncArgs, Position, RhaiResult, @@ -424,7 +424,7 @@ impl<'a> NativeCallContext<'a> { let caches = &mut Caches::new(); let fn_name = fn_name.as_ref(); - let op_token = Token::lookup_symbol_from_syntax(fn_name).unwrap_or(Token::NonToken); + let op_token = Token::lookup_symbol_from_syntax(fn_name).unwrap_or(NO_TOKEN); let args_len = args.len(); global.level += 1; diff --git a/src/lib.rs b/src/lib.rs index fa95cb95..3f6e73ff 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -207,9 +207,9 @@ pub use engine::{Engine, OP_CONTAINS, OP_EQUALS}; pub use eval::EvalContext; pub use func::{NativeCallContext, RegisterNativeFunction}; pub use module::{FnNamespace, Module}; -pub use tokenizer::Position; #[cfg(not(feature = "no_time"))] pub use types::Instant; +pub use types::Position; pub use types::{ Dynamic, EvalAltResult, FnPtr, ImmutableString, LexError, ParseError, ParseErrorType, Scope, }; @@ -311,12 +311,12 @@ pub use types::dynamic::{AccessMode, DynamicReadLock, DynamicWriteLock, Variant} pub use types::FloatWrapper; #[cfg(feature = "internals")] -pub use types::StringsInterner; +pub use types::{Span, StringsInterner}; #[cfg(feature = "internals")] pub use tokenizer::{ get_next_token, is_valid_function_name, is_valid_identifier, parse_string_literal, InputStream, - MultiInputsStream, Span, Token, TokenIterator, TokenizeState, TokenizerControl, + MultiInputsStream, Token, TokenIterator, TokenizeState, TokenizerControl, TokenizerControlBlock, }; diff --git a/src/optimizer.rs b/src/optimizer.rs index f5cc2562..67976cb7 100644 --- a/src/optimizer.rs +++ b/src/optimizer.rs @@ -69,14 +69,15 @@ impl<'a> OptimizerState<'a> { #[inline(always)] pub fn new( engine: &'a Engine, - #[cfg(not(feature = "no_function"))] lib: &'a [crate::SharedModule], + lib: &'a [crate::SharedModule], optimization_level: OptimizationLevel, ) -> Self { let mut _global = GlobalRuntimeState::new(engine); + let _lib = lib; #[cfg(not(feature = "no_function"))] { - _global.lib = lib.iter().cloned().collect(); + _global.lib = _lib.iter().cloned().collect(); } Self { @@ -986,7 +987,7 @@ fn optimize_expr(expr: &mut Expr, state: &mut OptimizerState, _chaining: bool) { // `` Expr::InterpolatedString(x, pos) if x.is_empty() => { state.set_dirty(); - *expr = Expr::StringConstant(state.engine.get_interned_string(""), *pos); + *expr = Expr::StringConstant(state.engine.const_empty_string(), *pos); } // `... ${const} ...` Expr::InterpolatedString(..) if expr.is_constant() => { @@ -1117,7 +1118,7 @@ fn optimize_expr(expr: &mut Expr, state: &mut OptimizerState, _chaining: bool) { return; } // Overloaded operators can override built-in. - _ if x.args.len() == 2 && x.op_token != Token::NonToken && (state.engine.fast_operators() || !state.engine.has_native_fn_override(x.hashes.native(), &arg_types)) => { + _ if x.args.len() == 2 && x.op_token != Token::NONE && (state.engine.fast_operators() || !state.engine.has_native_fn_override(x.hashes.native(), &arg_types)) => { if let Some(result) = get_builtin_binary_op_fn(x.op_token.clone(), &arg_values[0], &arg_values[1]) .and_then(|f| { let context = (state.engine, x.name.as_str(),None, &state.global, *pos).into(); @@ -1265,7 +1266,7 @@ impl Engine { &self, statements: StmtBlockContainer, scope: &Scope, - #[cfg(not(feature = "no_function"))] lib: &[crate::SharedModule], + lib: &[crate::SharedModule], optimization_level: OptimizationLevel, ) -> StmtBlockContainer { let mut statements = statements; @@ -1277,12 +1278,7 @@ impl Engine { } // Set up the state - let mut state = OptimizerState::new( - self, - #[cfg(not(feature = "no_function"))] - lib, - optimization_level, - ); + let mut state = OptimizerState::new(self, lib, optimization_level); // Add constants from global modules for (name, value) in self.global_modules.iter().rev().flat_map(|m| m.iter_var()) { @@ -1355,19 +1351,17 @@ impl Engine { module.into() }; + #[cfg(feature = "no_function")] + let lib: crate::Shared<_> = crate::Module::new().into(); statements.shrink_to_fit(); AST::new( match optimization_level { OptimizationLevel::None => statements, - OptimizationLevel::Simple | OptimizationLevel::Full => self.optimize_top_level( - statements, - scope, - #[cfg(not(feature = "no_function"))] - &[lib.clone()], - optimization_level, - ), + OptimizationLevel::Simple | OptimizationLevel::Full => { + self.optimize_top_level(statements, scope, &[lib.clone()], optimization_level) + } }, #[cfg(not(feature = "no_function"))] lib, diff --git a/src/parser.rs b/src/parser.rs index a17cae45..2daa3358 100644 --- a/src/parser.rs +++ b/src/parser.rs @@ -4,7 +4,7 @@ use crate::api::events::VarDefInfo; use crate::api::options::LangOptions; use crate::ast::{ ASTFlags, BinaryExpr, CaseBlocksList, ConditionalExpr, Expr, FnCallExpr, FnCallHashes, Ident, - OpAssignment, RangeCase, ScriptFnDef, Stmt, StmtBlock, StmtBlockContainer, + Namespace, OpAssignment, RangeCase, ScriptFnDef, Stmt, StmtBlock, StmtBlockContainer, SwitchCasesCollection, TryCatchBlock, }; use crate::engine::{Precedence, KEYWORD_THIS, OP_CONTAINS}; @@ -12,14 +12,14 @@ use crate::eval::{Caches, GlobalRuntimeState}; use crate::func::{hashing::get_hasher, StraightHashMap}; use crate::tokenizer::{ is_keyword_function, is_valid_function_name, is_valid_identifier, Token, TokenStream, - TokenizerControl, + TokenizerControl, NO_TOKEN, }; use crate::types::dynamic::AccessMode; use crate::types::StringsInterner; use crate::{ - calc_fn_hash, Dynamic, Engine, EvalAltResult, EvalContext, ExclusiveRange, FnArgsVec, - Identifier, ImmutableString, InclusiveRange, LexError, OptimizationLevel, ParseError, Position, - Scope, Shared, SmartString, StaticVec, AST, INT, PERR, + calc_fn_hash, Dynamic, Engine, EvalAltResult, EvalContext, ExclusiveRange, Identifier, + ImmutableString, InclusiveRange, LexError, OptimizationLevel, ParseError, Position, Scope, + Shared, SmartString, StaticVec, AST, INT, PERR, }; use bitflags::bitflags; #[cfg(feature = "no_std")] @@ -63,7 +63,7 @@ pub struct ParseState<'e, 's> { pub block_stack_len: usize, /// Tracks a list of external variables (variables that are not explicitly declared in the scope). #[cfg(not(feature = "no_closure"))] - pub external_vars: Option>>, + pub external_vars: Option>>, /// An indicator that disables variable capturing into externals one single time /// up until the nearest consumed Identifier token. /// If set to false the next call to [`access_var`][ParseState::access_var] will not capture the variable. @@ -557,7 +557,7 @@ impl Engine { id: ImmutableString, no_args: bool, capture_parent_scope: bool, - #[cfg(not(feature = "no_module"))] namespace: crate::ast::Namespace, + namespace: Namespace, settings: ParseSettings, ) -> ParseResult { let (token, token_pos) = if no_args { @@ -566,8 +566,7 @@ impl Engine { input.peek().expect(NEVER_ENDS) }; - #[cfg(not(feature = "no_module"))] - let mut namespace = namespace; + let mut _namespace = namespace; let mut args = StaticVec::new_const(); match token { @@ -588,17 +587,16 @@ impl Engine { } #[cfg(not(feature = "no_module"))] - let hash = if namespace.is_empty() { + let hash = if _namespace.is_empty() { calc_fn_hash(None, &id, 0) } else { - let root = namespace.root(); + let root = _namespace.root(); let index = state.find_module(root); + let is_global = false; #[cfg(not(feature = "no_function"))] #[cfg(not(feature = "no_module"))] - let is_global = root == crate::engine::KEYWORD_GLOBAL; - #[cfg(any(feature = "no_function", feature = "no_module"))] - let is_global = false; + let is_global = is_global || root == crate::engine::KEYWORD_GLOBAL; if settings.has_option(LangOptions::STRICT_VAR) && index.is_none() @@ -615,13 +613,13 @@ impl Engine { .map_or(false, |m| m.contains_key(root)) { return Err( - PERR::ModuleUndefined(root.into()).into_err(namespace.position()) + PERR::ModuleUndefined(root.into()).into_err(_namespace.position()) ); } - namespace.set_index(index); + _namespace.set_index(index); - crate::calc_fn_hash(namespace.iter().map(Ident::as_str), &id, 0) + calc_fn_hash(_namespace.iter().map(Ident::as_str), &id, 0) }; #[cfg(feature = "no_module")] let hash = calc_fn_hash(None, &id, 0); @@ -637,9 +635,8 @@ impl Engine { return Ok(FnCallExpr { name: state.get_interned_string(id), capture_parent_scope, - op_token: Token::NonToken, - #[cfg(not(feature = "no_module"))] - namespace, + op_token: NO_TOKEN, + namespace: _namespace, hashes, args, } @@ -664,10 +661,10 @@ impl Engine { eat_token(input, Token::RightParen); #[cfg(not(feature = "no_module"))] - let hash = if namespace.is_empty() { + let hash = if _namespace.is_empty() { calc_fn_hash(None, &id, args.len()) } else { - let root = namespace.root(); + let root = _namespace.root(); let index = state.find_module(root); #[cfg(not(feature = "no_function"))] @@ -691,13 +688,13 @@ impl Engine { .map_or(false, |m| m.contains_key(root)) { return Err( - PERR::ModuleUndefined(root.into()).into_err(namespace.position()) + PERR::ModuleUndefined(root.into()).into_err(_namespace.position()) ); } - namespace.set_index(index); + _namespace.set_index(index); - crate::calc_fn_hash(namespace.iter().map(Ident::as_str), &id, args.len()) + calc_fn_hash(_namespace.iter().map(Ident::as_str), &id, args.len()) }; #[cfg(feature = "no_module")] let hash = calc_fn_hash(None, &id, args.len()); @@ -713,9 +710,8 @@ impl Engine { return Ok(FnCallExpr { name: state.get_interned_string(id), capture_parent_scope, - op_token: Token::NonToken, - #[cfg(not(feature = "no_module"))] - namespace, + op_token: NO_TOKEN, + namespace: _namespace, hashes, args, } @@ -1592,10 +1588,7 @@ impl Engine { // Identifier Token::Identifier(..) => { - #[cfg(not(feature = "no_module"))] - let ns = crate::ast::Namespace::NONE; - #[cfg(feature = "no_module")] - let ns = []; + let ns = Namespace::NONE; let s = match input.next().expect(NEVER_ENDS) { (Token::Identifier(s), ..) => s, @@ -1657,10 +1650,7 @@ impl Engine { // Reserved keyword or symbol Token::Reserved(..) => { - #[cfg(not(feature = "no_module"))] - let ns = crate::ast::Namespace::NONE; - #[cfg(feature = "no_module")] - let ns = []; + let ns = Namespace::NONE; let s = match input.next().expect(NEVER_ENDS) { (Token::Reserved(s), ..) => s, @@ -1763,35 +1753,18 @@ impl Engine { let no_args = input.next().expect(NEVER_ENDS).0 == Token::Unit; - let (.., _ns, _, name) = *x; + let (.., ns, _, name) = *x; settings.pos = pos; - self.parse_fn_call( - input, - state, - lib, - name, - no_args, - true, - #[cfg(not(feature = "no_module"))] - _ns, - settings.level_up()?, - )? + let settings = settings.level_up()?; + self.parse_fn_call(input, state, lib, name, no_args, true, ns, settings)? } // Function call (Expr::Variable(x, .., pos), t @ (Token::LeftParen | Token::Unit)) => { - let (.., _ns, _, name) = *x; + let (.., ns, _, name) = *x; + let no_args = t == Token::Unit; settings.pos = pos; - self.parse_fn_call( - input, - state, - lib, - name, - t == Token::Unit, - false, - #[cfg(not(feature = "no_module"))] - _ns, - settings.level_up()?, - )? + let settings = settings.level_up()?; + self.parse_fn_call(input, state, lib, name, no_args, false, ns, settings)? } // module access #[cfg(not(feature = "no_module"))] @@ -1959,8 +1932,7 @@ impl Engine { args.shrink_to_fit(); Ok(FnCallExpr { - #[cfg(not(feature = "no_module"))] - namespace: Default::default(), + namespace: Namespace::NONE, name: state.get_interned_string("-"), hashes: FnCallHashes::from_native(calc_fn_hash(None, "-", 1)), args, @@ -1988,8 +1960,7 @@ impl Engine { args.shrink_to_fit(); Ok(FnCallExpr { - #[cfg(not(feature = "no_module"))] - namespace: Default::default(), + namespace: Namespace::NONE, name: state.get_interned_string("+"), hashes: FnCallHashes::from_native(calc_fn_hash(None, "+", 1)), args, @@ -2010,8 +1981,7 @@ impl Engine { args.shrink_to_fit(); Ok(FnCallExpr { - #[cfg(not(feature = "no_module"))] - namespace: Default::default(), + namespace: Namespace::NONE, name: state.get_interned_string("!"), hashes: FnCallHashes::from_native(calc_fn_hash(None, "!", 1)), args, @@ -2062,7 +2032,7 @@ impl Engine { } } - let op_info = if op != Token::NonToken { + let op_info = if op != NO_TOKEN { OpAssignment::new_op_assignment_from_token(op, op_pos) } else { OpAssignment::new_assignment(op_pos) @@ -2143,7 +2113,7 @@ impl Engine { ) -> ParseResult { let (op, pos) = match input.peek().expect(NEVER_ENDS) { // var = ... - (Token::Equals, ..) => (Token::NonToken, eat_token(input, Token::Equals)), + (Token::Equals, ..) => (NO_TOKEN, eat_token(input, Token::Equals)), // var op= ... (token, ..) if token.is_op_assignment() => { input.next().map(|(op, pos)| (op, pos)).expect(NEVER_ENDS) @@ -2389,7 +2359,7 @@ impl Engine { let hash = calc_fn_hash(None, &op, 2); let is_valid_script_function = is_valid_function_name(&op); let operator_token = if is_valid_script_function { - Token::NonToken + NO_TOKEN } else { op_token.clone() }; @@ -2400,8 +2370,7 @@ impl Engine { args.shrink_to_fit(); let mut op_base = FnCallExpr { - #[cfg(not(feature = "no_module"))] - namespace: Default::default(), + namespace: Namespace::NONE, name: state.get_interned_string(&op), hashes: FnCallHashes::from_native(hash), args, @@ -2539,10 +2508,7 @@ impl Engine { let (name, pos) = parse_var_name(input)?; let name = state.get_interned_string(name); - #[cfg(not(feature = "no_module"))] - let ns = crate::ast::Namespace::NONE; - #[cfg(feature = "no_module")] - let ns = []; + let ns = Namespace::NONE; segments.push(name.clone()); tokens.push(state.get_interned_string(CUSTOM_SYNTAX_MARKER_IDENT)); @@ -3632,7 +3598,7 @@ impl Engine { } .into(); - let mut params: FnArgsVec<_> = params.into_iter().map(|(p, ..)| p).collect(); + let mut params: crate::FnArgsVec<_> = params.into_iter().map(|(p, ..)| p).collect(); params.shrink_to_fit(); Ok(ScriptFnDef { @@ -3660,7 +3626,7 @@ impl Engine { parent: &mut ParseState, lib: &FnLib, fn_expr: Expr, - externals: FnArgsVec, + externals: crate::FnArgsVec, pos: Position, ) -> Expr { // If there are no captured variables, no need to curry @@ -3684,8 +3650,7 @@ impl Engine { })); let expr = FnCallExpr { - #[cfg(not(feature = "no_module"))] - namespace: Default::default(), + namespace: Namespace::NONE, name: state.get_interned_string(crate::engine::KEYWORD_FN_PTR_CURRY), hashes: FnCallHashes::from_native(calc_fn_hash( None, @@ -3693,7 +3658,7 @@ impl Engine { num_externals + 1, )), args, - op_token: Token::NonToken, + op_token: NO_TOKEN, capture_parent_scope: false, } .into_fn_call_expr(pos); @@ -3708,7 +3673,7 @@ impl Engine { let (index, _) = parent.access_var(&name, lib, pos); (name, index, pos) }) - .collect::>() + .collect::>() .into(), )); statements.push(Stmt::Expr(expr.into())); @@ -3779,20 +3744,20 @@ impl Engine { // so extract them into a list. #[cfg(not(feature = "no_closure"))] let (mut params, externals) = if let Some(ref external_vars) = state.external_vars { - let externals: FnArgsVec<_> = external_vars.iter().cloned().collect(); + let externals: crate::FnArgsVec<_> = external_vars.iter().cloned().collect(); - let mut params = FnArgsVec::with_capacity(params_list.len() + externals.len()); + let mut params = crate::FnArgsVec::with_capacity(params_list.len() + externals.len()); params.extend(externals.iter().map(|Ident { name, .. }| name.clone())); (params, externals) } else { ( - FnArgsVec::with_capacity(params_list.len()), - FnArgsVec::new_const(), + crate::FnArgsVec::with_capacity(params_list.len()), + crate::FnArgsVec::new_const(), ) }; #[cfg(feature = "no_closure")] - let mut params = FnArgsVec::with_capacity(params_list.len()); + let mut params = crate::FnArgsVec::with_capacity(params_list.len()); params.append(&mut params_list); diff --git a/src/tokenizer.rs b/src/tokenizer.rs index 3f43f595..7f392ff1 100644 --- a/src/tokenizer.rs +++ b/src/tokenizer.rs @@ -5,7 +5,7 @@ use crate::engine::{ KEYWORD_FN_PTR_CURRY, KEYWORD_IS_DEF_VAR, KEYWORD_PRINT, KEYWORD_THIS, KEYWORD_TYPE_OF, }; use crate::func::native::OnParseTokenCallback; -use crate::{Engine, Identifier, LexError, SmartString, StaticVec, INT, UNSIGNED_INT}; +use crate::{Engine, Identifier, LexError, Position, SmartString, StaticVec, INT, UNSIGNED_INT}; #[cfg(feature = "no_std")] use std::prelude::v1::*; use std::{ @@ -13,7 +13,6 @@ use std::{ char, fmt, iter::{FusedIterator, Peekable}, num::NonZeroUsize, - ops::{Add, AddAssign}, rc::Rc, str::{Chars, FromStr}, }; @@ -50,326 +49,12 @@ type LERR = LexError; /// Separator character for numbers. const NUMBER_SEPARATOR: char = '_'; +/// No token. +pub const NO_TOKEN: Token = Token::NONE; + /// A stream of tokens. pub type TokenStream<'a> = Peekable>; -/// A location (line number + character position) in the input script. -/// -/// # Limitations -/// -/// In order to keep footprint small, both line number and character position have 16-bit resolution, -/// meaning they go up to a maximum of 65,535 lines and 65,535 characters per line. -/// -/// Advancing beyond the maximum line length or maximum number of lines is not an error but has no effect. -#[derive(Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)] -pub struct Position { - /// Line number: 0 = none - #[cfg(not(feature = "no_position"))] - line: u16, - /// Character position: 0 = BOL - #[cfg(not(feature = "no_position"))] - pos: u16, -} - -impl Position { - /// A [`Position`] representing no position. - pub const NONE: Self = Self { - #[cfg(not(feature = "no_position"))] - line: 0, - #[cfg(not(feature = "no_position"))] - pos: 0, - }; - /// A [`Position`] representing the first position. - pub const START: Self = Self { - #[cfg(not(feature = "no_position"))] - line: 1, - #[cfg(not(feature = "no_position"))] - pos: 0, - }; - - /// Create a new [`Position`]. - /// - /// `line` must not be zero. - /// - /// If `position` is zero, then it is at the beginning of a line. - /// - /// # Panics - /// - /// Panics if `line` is zero. - #[inline] - #[must_use] - pub const fn new(line: u16, position: u16) -> Self { - assert!(line != 0, "line cannot be zero"); - - let _pos = position; - - Self { - #[cfg(not(feature = "no_position"))] - line, - #[cfg(not(feature = "no_position"))] - pos: _pos, - } - } - /// Get the line number (1-based), or [`None`] if there is no position. - #[inline] - #[must_use] - pub const fn line(self) -> Option { - #[cfg(not(feature = "no_position"))] - return if self.is_none() { - None - } else { - Some(self.line as usize) - }; - - #[cfg(feature = "no_position")] - return None; - } - /// Get the character position (1-based), or [`None`] if at beginning of a line. - #[inline] - #[must_use] - pub const fn position(self) -> Option { - #[cfg(not(feature = "no_position"))] - return if self.is_none() || self.pos == 0 { - None - } else { - Some(self.pos as usize) - }; - - #[cfg(feature = "no_position")] - return None; - } - /// Advance by one character position. - #[inline] - pub(crate) fn advance(&mut self) { - #[cfg(not(feature = "no_position"))] - { - assert!(!self.is_none(), "cannot advance Position::none"); - - // Advance up to maximum position - if self.pos < u16::MAX { - self.pos += 1; - } - } - } - /// Go backwards by one character position. - /// - /// # Panics - /// - /// Panics if already at beginning of a line - cannot rewind to a previous line. - #[inline] - pub(crate) fn rewind(&mut self) { - #[cfg(not(feature = "no_position"))] - { - assert!(!self.is_none(), "cannot rewind Position::none"); - assert!(self.pos > 0, "cannot rewind at position 0"); - self.pos -= 1; - } - } - /// Advance to the next line. - #[inline] - pub(crate) fn new_line(&mut self) { - #[cfg(not(feature = "no_position"))] - { - assert!(!self.is_none(), "cannot advance Position::none"); - - // Advance up to maximum position - if self.line < u16::MAX { - self.line += 1; - self.pos = 0; - } - } - } - /// Is this [`Position`] at the beginning of a line? - #[inline] - #[must_use] - pub const fn is_beginning_of_line(self) -> bool { - #[cfg(not(feature = "no_position"))] - return self.pos == 0 && !self.is_none(); - #[cfg(feature = "no_position")] - return false; - } - /// Is there no [`Position`]? - #[inline] - #[must_use] - pub const fn is_none(self) -> bool { - #[cfg(not(feature = "no_position"))] - return self.line == 0 && self.pos == 0; - #[cfg(feature = "no_position")] - return true; - } - /// Returns an fallback [`Position`] if it is [`NONE`][Position::NONE]? - #[inline] - #[must_use] - pub const fn or_else(self, pos: Self) -> Self { - if self.is_none() { - pos - } else { - self - } - } - /// Print this [`Position`] for debug purposes. - #[inline] - pub(crate) fn debug_print(self, _f: &mut fmt::Formatter<'_>) -> fmt::Result { - if !self.is_none() { - write!(_f, " @ {:?}", self)?; - } - Ok(()) - } -} - -impl Default for Position { - #[inline(always)] - #[must_use] - fn default() -> Self { - Self::START - } -} - -impl fmt::Display for Position { - fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { - if self.is_none() { - write!(f, "none")?; - } else { - #[cfg(not(feature = "no_position"))] - write!(f, "line {}, position {}", self.line, self.pos)?; - #[cfg(feature = "no_position")] - unreachable!("no position"); - } - - Ok(()) - } -} - -impl fmt::Debug for Position { - #[cold] - #[inline(never)] - fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { - if self.is_none() { - f.write_str("none") - } else { - #[cfg(not(feature = "no_position"))] - if self.is_beginning_of_line() { - write!(f, "{}", self.line) - } else { - write!(f, "{}:{}", self.line, self.pos) - } - - #[cfg(feature = "no_position")] - unreachable!("no position"); - } - } -} - -impl Add for Position { - type Output = Self; - - fn add(self, rhs: Self) -> Self::Output { - if rhs.is_none() { - self - } else { - #[cfg(not(feature = "no_position"))] - return Self { - line: self.line + rhs.line - 1, - pos: if rhs.is_beginning_of_line() { - self.pos - } else { - self.pos + rhs.pos - 1 - }, - }; - #[cfg(feature = "no_position")] - unreachable!("no position"); - } - } -} - -impl AddAssign for Position { - fn add_assign(&mut self, rhs: Self) { - *self = *self + rhs; - } -} - -/// _(internals)_ A span consisting of a starting and an ending [positions][Position]. -/// Exported under the `internals` feature only. -#[derive(Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)] -pub struct Span { - /// Starting [position][Position]. - start: Position, - /// Ending [position][Position]. - end: Position, -} - -impl Default for Span { - #[inline(always)] - #[must_use] - fn default() -> Self { - Self::NONE - } -} - -impl Span { - /// Empty [`Span`]. - pub const NONE: Self = Self::new(Position::NONE, Position::NONE); - - /// Create a new [`Span`]. - #[inline(always)] - #[must_use] - pub const fn new(start: Position, end: Position) -> Self { - Self { start, end } - } - /// Is this [`Span`] non-existent? - #[inline] - #[must_use] - pub const fn is_none(&self) -> bool { - self.start.is_none() && self.end.is_none() - } - /// Get the [`Span`]'s starting [position][Position]. - #[inline(always)] - #[must_use] - pub const fn start(&self) -> Position { - self.start - } - /// Get the [`Span`]'s ending [position][Position]. - #[inline(always)] - #[must_use] - pub const fn end(&self) -> Position { - self.end - } -} - -impl fmt::Display for Span { - fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { - let _f = f; - - #[cfg(not(feature = "no_position"))] - match (self.start(), self.end()) { - (Position::NONE, Position::NONE) => write!(_f, "{:?}", Position::NONE), - (Position::NONE, end) => write!(_f, "..{:?}", end), - (start, Position::NONE) => write!(_f, "{:?}", start), - (start, end) if start.line() != end.line() => { - write!(_f, "{:?}-{:?}", start, end) - } - (start, end) => write!( - _f, - "{}:{}-{}", - start.line().unwrap(), - start.position().unwrap_or(0), - end.position().unwrap_or(0) - ), - } - - #[cfg(feature = "no_position")] - Ok(()) - } -} - -impl fmt::Debug for Span { - #[cold] - #[inline(never)] - fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { - fmt::Display::fmt(self, f) - } -} - /// _(internals)_ A Rhai language token. /// Exported under the `internals` feature only. #[derive(Debug, PartialEq, Clone, Hash)] @@ -587,7 +272,7 @@ pub enum Token { /// Used as a placeholder for the end of input. EOF, /// Placeholder to indicate the lack of a token. - NonToken, + NONE, } impl fmt::Display for Token { @@ -613,7 +298,7 @@ impl fmt::Display for Token { Comment(s) => f.write_str(s), EOF => f.write_str("{EOF}"), - NonToken => f.write_str("{NONE}"), + NONE => f.write_str("{NONE}"), token => f.write_str(token.literal_syntax()), } @@ -642,7 +327,7 @@ impl Token { Custom(..) => false, LexError(..) | Comment(..) => false, - EOF | NonToken => false, + EOF | NONE => false, _ => true, } diff --git a/src/types/mod.rs b/src/types/mod.rs index aad22a3c..2a166886 100644 --- a/src/types/mod.rs +++ b/src/types/mod.rs @@ -9,6 +9,8 @@ pub mod fn_ptr; pub mod immutable_string; pub mod interner; pub mod parse_error; +pub mod position; +pub mod position_none; pub mod restore; pub mod scope; pub mod variant; @@ -25,6 +27,12 @@ pub use fn_ptr::FnPtr; pub use immutable_string::ImmutableString; pub use interner::StringsInterner; pub use parse_error::{LexError, ParseError, ParseErrorType}; + +#[cfg(not(feature = "no_position"))] +pub use position::{Position, Span}; +#[cfg(feature = "no_position")] +pub use position_none::{Position, Span}; + pub use restore::RestoreOnDrop; pub use scope::Scope; pub use variant::Variant; diff --git a/src/types/position.rs b/src/types/position.rs new file mode 100644 index 00000000..4284ecb4 --- /dev/null +++ b/src/types/position.rs @@ -0,0 +1,269 @@ +#![cfg(not(feature = "no_position"))] + +#[cfg(feature = "no_std")] +use std::prelude::v1::*; +use std::{ + fmt, + ops::{Add, AddAssign}, +}; + +/// A location (line number + character position) in the input script. +/// +/// # Limitations +/// +/// In order to keep footprint small, both line number and character position have 16-bit resolution, +/// meaning they go up to a maximum of 65,535 lines and 65,535 characters per line. +/// +/// Advancing beyond the maximum line length or maximum number of lines is not an error but has no effect. +#[derive(Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)] +pub struct Position { + /// Line number: 0 = none + line: u16, + /// Character position: 0 = BOL + pos: u16, +} + +impl Position { + /// A [`Position`] representing no position. + pub const NONE: Self = Self { line: 0, pos: 0 }; + /// A [`Position`] representing the first position. + pub const START: Self = Self { line: 1, pos: 0 }; + + /// Create a new [`Position`]. + /// + /// `line` must not be zero. + /// + /// If `position` is zero, then it is at the beginning of a line. + /// + /// # Panics + /// + /// Panics if `line` is zero. + #[inline] + #[must_use] + pub const fn new(line: u16, position: u16) -> Self { + assert!(line != 0, "line cannot be zero"); + + let _pos = position; + + Self { line, pos: _pos } + } + /// Get the line number (1-based), or [`None`] if there is no position. + #[inline] + #[must_use] + pub const fn line(self) -> Option { + if self.is_none() { + None + } else { + Some(self.line as usize) + } + } + /// Get the character position (1-based), or [`None`] if at beginning of a line. + #[inline] + #[must_use] + pub const fn position(self) -> Option { + if self.is_none() || self.pos == 0 { + None + } else { + Some(self.pos as usize) + } + } + /// Advance by one character position. + #[inline] + pub(crate) fn advance(&mut self) { + assert!(!self.is_none(), "cannot advance Position::none"); + + // Advance up to maximum position + if self.pos < u16::MAX { + self.pos += 1; + } + } + /// Go backwards by one character position. + /// + /// # Panics + /// + /// Panics if already at beginning of a line - cannot rewind to a previous line. + #[inline] + pub(crate) fn rewind(&mut self) { + assert!(!self.is_none(), "cannot rewind Position::none"); + assert!(self.pos > 0, "cannot rewind at position 0"); + self.pos -= 1; + } + /// Advance to the next line. + #[inline] + pub(crate) fn new_line(&mut self) { + assert!(!self.is_none(), "cannot advance Position::none"); + + // Advance up to maximum position + if self.line < u16::MAX { + self.line += 1; + self.pos = 0; + } + } + /// Is this [`Position`] at the beginning of a line? + #[inline] + #[must_use] + pub const fn is_beginning_of_line(self) -> bool { + self.pos == 0 && !self.is_none() + } + /// Is there no [`Position`]? + #[inline] + #[must_use] + pub const fn is_none(self) -> bool { + self.line == 0 && self.pos == 0 + } + /// Returns an fallback [`Position`] if it is [`NONE`][Position::NONE]? + #[inline] + #[must_use] + pub const fn or_else(self, pos: Self) -> Self { + if self.is_none() { + pos + } else { + self + } + } + /// Print this [`Position`] for debug purposes. + #[inline] + pub(crate) fn debug_print(self, _f: &mut fmt::Formatter<'_>) -> fmt::Result { + if !self.is_none() { + write!(_f, " @ {:?}", self)?; + } + Ok(()) + } +} + +impl Default for Position { + #[inline(always)] + #[must_use] + fn default() -> Self { + Self::START + } +} + +impl fmt::Display for Position { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + if self.is_none() { + write!(f, "none") + } else { + write!(f, "line {}, position {}", self.line, self.pos) + } + } +} + +impl fmt::Debug for Position { + #[cold] + #[inline(never)] + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + if self.is_none() { + f.write_str("none") + } else { + if self.is_beginning_of_line() { + write!(f, "{}", self.line) + } else { + write!(f, "{}:{}", self.line, self.pos) + } + } + } +} + +impl Add for Position { + type Output = Self; + + fn add(self, rhs: Self) -> Self::Output { + if rhs.is_none() { + self + } else { + Self { + line: self.line + rhs.line - 1, + pos: if rhs.is_beginning_of_line() { + self.pos + } else { + self.pos + rhs.pos - 1 + }, + } + } + } +} + +impl AddAssign for Position { + fn add_assign(&mut self, rhs: Self) { + *self = *self + rhs; + } +} + +/// _(internals)_ A span consisting of a starting and an ending [positions][Position]. +/// Exported under the `internals` feature only. +#[derive(Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)] +pub struct Span { + /// Starting [position][Position]. + start: Position, + /// Ending [position][Position]. + end: Position, +} + +impl Default for Span { + #[inline(always)] + #[must_use] + fn default() -> Self { + Self::NONE + } +} + +impl Span { + /// Empty [`Span`]. + pub const NONE: Self = Self::new(Position::NONE, Position::NONE); + + /// Create a new [`Span`]. + #[inline(always)] + #[must_use] + pub const fn new(start: Position, end: Position) -> Self { + Self { start, end } + } + /// Is this [`Span`] non-existent? + #[inline] + #[must_use] + pub const fn is_none(&self) -> bool { + self.start.is_none() && self.end.is_none() + } + /// Get the [`Span`]'s starting [position][Position]. + #[inline(always)] + #[must_use] + pub const fn start(&self) -> Position { + self.start + } + /// Get the [`Span`]'s ending [position][Position]. + #[inline(always)] + #[must_use] + pub const fn end(&self) -> Position { + self.end + } +} + +impl fmt::Display for Span { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + let _f = f; + + match (self.start(), self.end()) { + (Position::NONE, Position::NONE) => write!(_f, "{:?}", Position::NONE), + (Position::NONE, end) => write!(_f, "..{:?}", end), + (start, Position::NONE) => write!(_f, "{:?}", start), + (start, end) if start.line() != end.line() => { + write!(_f, "{:?}-{:?}", start, end) + } + (start, end) => write!( + _f, + "{}:{}-{}", + start.line().unwrap(), + start.position().unwrap_or(0), + end.position().unwrap_or(0) + ), + } + } +} + +impl fmt::Debug for Span { + #[cold] + #[inline(never)] + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + fmt::Display::fmt(self, f) + } +} diff --git a/src/types/position_none.rs b/src/types/position_none.rs new file mode 100644 index 00000000..469491b2 --- /dev/null +++ b/src/types/position_none.rs @@ -0,0 +1,165 @@ +#![cfg(feature = "no_position")] +#![allow(unused_variables)] + +#[cfg(feature = "no_std")] +use std::prelude::v1::*; +use std::{ + fmt, + ops::{Add, AddAssign}, +}; + +/// A location (line number + character position) in the input script. +#[derive(Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)] +pub struct Position; + +impl Position { + /// A [`Position`] representing no position. + pub const NONE: Self = Self; + /// A [`Position`] representing the first position. + pub const START: Self = Self; + + /// Create a new [`Position`]. + #[inline(always)] + #[must_use] + pub const fn new(line: u16, position: u16) -> Self { + Self + } + /// Get the line number (1-based), or [`None`] if there is no position. + #[inline(always)] + #[must_use] + pub const fn line(self) -> Option { + None + } + /// Get the character position (1-based), or [`None`] if at beginning of a line. + #[inline(always)] + #[must_use] + pub const fn position(self) -> Option { + None + } + /// Advance by one character position. + #[inline(always)] + pub(crate) fn advance(&mut self) {} + /// Go backwards by one character position. + #[inline(always)] + pub(crate) fn rewind(&mut self) {} + /// Advance to the next line. + #[inline(always)] + pub(crate) fn new_line(&mut self) {} + /// Is this [`Position`] at the beginning of a line? + #[inline(always)] + #[must_use] + pub const fn is_beginning_of_line(self) -> bool { + false + } + /// Is there no [`Position`]? + #[inline(always)] + #[must_use] + pub const fn is_none(self) -> bool { + true + } + /// Returns an fallback [`Position`] if it is [`NONE`][Position::NONE]? + #[inline(always)] + #[must_use] + pub const fn or_else(self, pos: Self) -> Self { + pos + } + /// Print this [`Position`] for debug purposes. + #[inline(always)] + pub(crate) fn debug_print(self, _f: &mut fmt::Formatter<'_>) -> fmt::Result { + Ok(()) + } +} + +impl Default for Position { + #[inline(always)] + #[must_use] + fn default() -> Self { + Self + } +} + +impl fmt::Display for Position { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + write!(f, "none") + } +} + +impl fmt::Debug for Position { + #[cold] + #[inline(always)] + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + f.write_str("none") + } +} + +impl Add for Position { + type Output = Self; + + #[inline(always)] + fn add(self, rhs: Self) -> Self::Output { + Self + } +} + +impl AddAssign for Position { + #[inline(always)] + fn add_assign(&mut self, rhs: Self) {} +} + +/// _(internals)_ A span consisting of a starting and an ending [positions][Position]. +/// Exported under the `internals` feature only. +#[derive(Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)] +pub struct Span; + +impl Default for Span { + #[inline(always)] + #[must_use] + fn default() -> Self { + Self + } +} + +impl Span { + /// Empty [`Span`]. + pub const NONE: Self = Self; + + /// Create a new [`Span`]. + #[inline(always)] + #[must_use] + pub const fn new(start: Position, end: Position) -> Self { + Self + } + /// Is this [`Span`] non-existent? + #[inline(always)] + #[must_use] + pub const fn is_none(&self) -> bool { + true + } + /// Get the [`Span`]'s starting [position][Position]. + #[inline(always)] + #[must_use] + pub const fn start(&self) -> Position { + Position + } + /// Get the [`Span`]'s ending [position][Position]. + #[inline(always)] + #[must_use] + pub const fn end(&self) -> Position { + Position + } +} + +impl fmt::Display for Span { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + let f = f; + write!(f, "{:?}", Position) + } +} + +impl fmt::Debug for Span { + #[cold] + #[inline(always)] + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + fmt::Display::fmt(self, f) + } +} From c509cc896d4f3ae13c5a27299d77d85619ccec43 Mon Sep 17 00:00:00 2001 From: Stephen Chung Date: Tue, 29 Nov 2022 15:50:58 +0800 Subject: [PATCH 11/34] Revise documentation. --- src/api/limits.rs | 27 +++++++------- src/api/limits_unchecked.rs | 17 ++++----- src/eval/data_check.rs | 2 +- src/eval/stmt.rs | 31 ++++++++-------- src/eval/target.rs | 1 + src/func/callable_function.rs | 8 ++--- src/parser.rs | 67 ++++++++++++++++------------------- src/tokenizer.rs | 59 +++++++++++++++++------------- src/types/parse_error.rs | 10 ++---- src/types/position.rs | 17 +++++++++ src/types/position_none.rs | 21 +++++++++-- 11 files changed, 146 insertions(+), 114 deletions(-) diff --git a/src/api/limits.rs b/src/api/limits.rs index 5191f2e9..6754edb2 100644 --- a/src/api/limits.rs +++ b/src/api/limits.rs @@ -6,23 +6,20 @@ use std::num::{NonZeroU64, NonZeroUsize}; #[cfg(feature = "no_std")] use std::prelude::v1::*; +#[cfg(debug_assertions)] pub mod default_limits { - #[cfg(debug_assertions)] #[cfg(not(feature = "no_function"))] pub const MAX_CALL_STACK_DEPTH: usize = 8; - #[cfg(debug_assertions)] pub const MAX_EXPR_DEPTH: usize = 32; #[cfg(not(feature = "no_function"))] - #[cfg(debug_assertions)] pub const MAX_FUNCTION_EXPR_DEPTH: usize = 16; - - #[cfg(not(debug_assertions))] +} +#[cfg(not(debug_assertions))] +pub mod default_limits { #[cfg(not(feature = "no_function"))] pub const MAX_CALL_STACK_DEPTH: usize = 64; - #[cfg(not(debug_assertions))] pub const MAX_EXPR_DEPTH: usize = 64; #[cfg(not(feature = "no_function"))] - #[cfg(not(debug_assertions))] pub const MAX_FUNCTION_EXPR_DEPTH: usize = 32; } @@ -55,7 +52,7 @@ pub struct Limits { #[cfg(not(feature = "no_module"))] pub max_modules: usize, /// Maximum length of a [string][crate::ImmutableString]. - pub max_string_size: Option, + pub max_string_len: Option, /// Maximum length of an [array][crate::Array]. /// /// Not available under `no_index`. @@ -83,7 +80,7 @@ impl Limits { max_operations: None, #[cfg(not(feature = "no_module"))] max_modules: usize::MAX, - max_string_size: None, + max_string_len: None, #[cfg(not(feature = "no_index"))] max_array_size: None, #[cfg(not(feature = "no_object"))] @@ -104,7 +101,7 @@ impl Engine { /// Is there a data size limit set? #[inline(always)] pub(crate) const fn has_data_size_limit(&self) -> bool { - self.limits.max_string_size.is_some() + self.limits.max_string_len.is_some() || { #[cfg(not(feature = "no_index"))] { @@ -222,19 +219,19 @@ impl Engine { #[cfg(feature = "no_function")] return 0; } - /// Set the maximum length of [strings][crate::ImmutableString] (0 for unlimited). + /// Set the maximum length, in bytes, of [strings][crate::ImmutableString] (0 for unlimited). /// /// Not available under `unchecked`. #[inline(always)] - pub fn set_max_string_size(&mut self, max_size: usize) -> &mut Self { - self.limits.max_string_size = NonZeroUsize::new(max_size); + pub fn set_max_string_size(&mut self, max_len: usize) -> &mut Self { + self.limits.max_string_len = NonZeroUsize::new(max_len); self } - /// The maximum length of [strings][crate::ImmutableString] (0 for unlimited). + /// The maximum length, in bytes, of [strings][crate::ImmutableString] (0 for unlimited). #[inline] #[must_use] pub const fn max_string_size(&self) -> usize { - match self.limits.max_string_size { + match self.limits.max_string_len { Some(n) => n.get(), None => 0, } diff --git a/src/api/limits_unchecked.rs b/src/api/limits_unchecked.rs index 02179ecc..975162c4 100644 --- a/src/api/limits_unchecked.rs +++ b/src/api/limits_unchecked.rs @@ -1,3 +1,4 @@ +//! Placeholder settings for [`Engine`]'s limitations. #![cfg(feature = "unchecked")] use crate::Engine; @@ -5,7 +6,7 @@ use crate::Engine; impl Engine { /// The maximum levels of function calls allowed for a script. /// - /// Always returns [`usize::MAX`] under `unchecked`. + /// Always returns [`usize::MAX`]. #[inline(always)] #[must_use] pub const fn max_call_levels(&self) -> usize { @@ -13,7 +14,7 @@ impl Engine { } /// The maximum number of operations allowed for a script to run (0 for unlimited). /// - /// Always returns zero under `unchecked`. + /// Always returns zero. #[inline(always)] #[must_use] pub const fn max_operations(&self) -> u64 { @@ -21,7 +22,7 @@ impl Engine { } /// The maximum number of imported [modules][crate::Module] allowed for a script. /// - /// Always returns [`usize::MAX`] under `unchecked`. + /// Always returns [`usize::MAX`]. #[inline(always)] #[must_use] pub const fn max_modules(&self) -> usize { @@ -29,7 +30,7 @@ impl Engine { } /// The depth limit for expressions (0 for unlimited). /// - /// Always returns zero under `unchecked`. + /// Always returns zero. #[inline(always)] #[must_use] pub const fn max_expr_depth(&self) -> usize { @@ -37,7 +38,7 @@ impl Engine { } /// The depth limit for expressions in functions (0 for unlimited). /// - /// Always returns zero under `unchecked`. + /// Always returns zero. #[inline(always)] #[must_use] pub const fn max_function_expr_depth(&self) -> usize { @@ -45,7 +46,7 @@ impl Engine { } /// The maximum length of [strings][crate::ImmutableString] (0 for unlimited). /// - /// Always returns zero under `unchecked`. + /// Always returns zero. #[inline(always)] #[must_use] pub const fn max_string_size(&self) -> usize { @@ -53,7 +54,7 @@ impl Engine { } /// The maximum length of [arrays][crate::Array] (0 for unlimited). /// - /// Always returns zero under `unchecked`. + /// Always returns zero. #[inline(always)] #[must_use] pub const fn max_array_size(&self) -> usize { @@ -61,7 +62,7 @@ impl Engine { } /// The maximum size of [object maps][crate::Map] (0 for unlimited). /// - /// Always returns zero under `unchecked`. + /// Always returns zero. #[inline(always)] #[must_use] pub const fn max_map_size(&self) -> usize { diff --git a/src/eval/data_check.rs b/src/eval/data_check.rs index cf6c8ece..fc1948fc 100644 --- a/src/eval/data_check.rs +++ b/src/eval/data_check.rs @@ -80,7 +80,7 @@ impl Engine { ) -> RhaiResultOf<()> { if self .limits - .max_string_size + .max_string_len .map_or(false, |max| s > max.get()) { return Err( diff --git a/src/eval/stmt.rs b/src/eval/stmt.rs index 13f53334..144df5d2 100644 --- a/src/eval/stmt.rs +++ b/src/eval/stmt.rs @@ -501,21 +501,23 @@ impl Engine { // 2) Global modules - packages // 3) Imported modules - functions marked with global namespace // 4) Global sub-modules - functions marked with global namespace - let func = self + let iter_func = self .global_modules .iter() .find_map(|m| m.get_iter(iter_type)); #[cfg(not(feature = "no_module"))] - let func = func.or_else(|| global.get_iter(iter_type)).or_else(|| { - self.global_sub_modules - .as_deref() - .into_iter() - .flatten() - .find_map(|(_, m)| m.get_qualified_iter(iter_type)) - }); + let iter_func = iter_func + .or_else(|| global.get_iter(iter_type)) + .or_else(|| { + self.global_sub_modules + .as_deref() + .into_iter() + .flatten() + .find_map(|(_, m)| m.get_qualified_iter(iter_type)) + }); - let func = func.ok_or_else(|| ERR::ErrorFor(expr.start_position()))?; + let iter_func = iter_func.ok_or_else(|| ERR::ErrorFor(expr.start_position()))?; // Restore scope at end of statement let orig_scope_len = scope.len(); @@ -536,7 +538,7 @@ impl Engine { let mut result = Dynamic::UNIT; - for (x, iter_value) in func(iter_obj).enumerate() { + for (x, iter_value) in iter_func(iter_obj).enumerate() { // Increment counter if counter_index < usize::MAX { // As the variable increments from 0, this should always work @@ -604,10 +606,7 @@ impl Engine { Stmt::TryCatch(x, ..) => { let TryCatchBlock { try_block, - catch_var: - Ident { - name: catch_var, .. - }, + catch_var, catch_block, } = &**x; @@ -659,7 +658,7 @@ impl Engine { }); if !catch_var.is_empty() { - scope.push(catch_var.clone(), err_value); + scope.push(catch_var.name.clone(), err_value); } self.eval_stmt_block(global, caches, scope, this_ptr, catch_block, true) @@ -768,7 +767,7 @@ impl Engine { #[cfg(not(feature = "no_module"))] if let Some(alias) = _alias { - scope.add_alias_by_index(scope.len() - 1, alias.name.as_str().into()); + scope.add_alias_by_index(scope.len() - 1, alias.as_str().into()); } Ok(Dynamic::UNIT) diff --git a/src/eval/target.rs b/src/eval/target.rs index 1f36a835..e1980d1b 100644 --- a/src/eval/target.rs +++ b/src/eval/target.rs @@ -186,6 +186,7 @@ impl<'a> Target<'a> { Self::RefMut(r) => r.is_shared(), Self::SharedValue { .. } => true, Self::TempValue(value) => value.is_shared(), + #[cfg(not(feature = "no_index"))] Self::Bit { .. } | Self::BitField { .. } | Self::BlobByte { .. } diff --git a/src/func/callable_function.rs b/src/func/callable_function.rs index 4d441e63..aad705c9 100644 --- a/src/func/callable_function.rs +++ b/src/func/callable_function.rs @@ -204,16 +204,16 @@ impl CallableFunction { #[cfg(not(feature = "no_function"))] impl From for CallableFunction { #[inline(always)] - fn from(_func: crate::ast::ScriptFnDef) -> Self { - Self::Script(_func.into()) + fn from(func: crate::ast::ScriptFnDef) -> Self { + Self::Script(func.into()) } } #[cfg(not(feature = "no_function"))] impl From> for CallableFunction { #[inline(always)] - fn from(_func: Shared) -> Self { - Self::Script(_func) + fn from(func: Shared) -> Self { + Self::Script(func) } } diff --git a/src/parser.rs b/src/parser.rs index 2daa3358..ceb1b814 100644 --- a/src/parser.rs +++ b/src/parser.rs @@ -1464,7 +1464,7 @@ impl Engine { // Restore the strings interner by swapping it back std::mem::swap(state.interned_strings, new_state.interned_strings); - let (expr, func) = result?; + let (expr, f) = result?; #[cfg(not(feature = "no_closure"))] new_state @@ -1490,8 +1490,8 @@ impl Engine { } })?; - let hash_script = calc_fn_hash(None, &func.name, func.params.len()); - lib.insert(hash_script, func.into()); + let hash_script = calc_fn_hash(None, &f.name, f.params.len()); + lib.insert(hash_script, f.into()); expr } @@ -2170,42 +2170,42 @@ impl Engine { )), // lhs.nnn::func(...) - syntax error #[cfg(not(feature = "no_module"))] - (.., Expr::FnCall(func, ..)) if func.is_qualified() => { - Err(PERR::PropertyExpected.into_err(func.namespace.position())) + (.., Expr::FnCall(f, ..)) if f.is_qualified() => { + Err(PERR::PropertyExpected.into_err(f.namespace.position())) } // lhs.Fn() or lhs.eval() - (.., Expr::FnCall(func, func_pos)) - if func.args.is_empty() + (.., Expr::FnCall(f, func_pos)) + if f.args.is_empty() && [crate::engine::KEYWORD_FN_PTR, crate::engine::KEYWORD_EVAL] - .contains(&func.name.as_str()) => + .contains(&f.name.as_str()) => { let err_msg = format!( "'{}' should not be called in method style. Try {}(...);", - func.name, func.name + f.name, f.name ); - Err(LexError::ImproperSymbol(func.name.to_string(), err_msg).into_err(func_pos)) + Err(LexError::ImproperSymbol(f.name.to_string(), err_msg).into_err(func_pos)) } // lhs.func!(...) - (.., Expr::FnCall(func, func_pos)) if func.capture_parent_scope => { + (.., Expr::FnCall(f, func_pos)) if f.capture_parent_scope => { Err(PERR::MalformedCapture( "method-call style does not support running within the caller's scope".into(), ) .into_err(func_pos)) } // lhs.func(...) - (lhs, Expr::FnCall(mut func, func_pos)) => { + (lhs, Expr::FnCall(mut f, func_pos)) => { // Recalculate hash - func.hashes = if is_valid_function_name(&func.name) { + f.hashes = if is_valid_function_name(&f.name) { FnCallHashes::from_all( #[cfg(not(feature = "no_function"))] - calc_fn_hash(None, &func.name, func.args.len()), - calc_fn_hash(None, &func.name, func.args.len() + 1), + calc_fn_hash(None, &f.name, f.args.len()), + calc_fn_hash(None, &f.name, f.args.len() + 1), ) } else { - FnCallHashes::from_native(calc_fn_hash(None, &func.name, func.args.len() + 1)) + FnCallHashes::from_native(calc_fn_hash(None, &f.name, f.args.len() + 1)) }; - let rhs = Expr::MethodCall(func, func_pos); + let rhs = Expr::MethodCall(f, func_pos); Ok(Expr::Dot(BinaryExpr { lhs, rhs }.into(), op_flags, op_pos)) } // lhs.dot_lhs.dot_rhs or lhs.dot_lhs[idx_rhs] @@ -2224,8 +2224,8 @@ impl Engine { } // lhs.module::func().dot_rhs or lhs.module::func()[idx_rhs] - syntax error #[cfg(not(feature = "no_module"))] - Expr::FnCall(func, ..) if func.is_qualified() => { - Err(PERR::PropertyExpected.into_err(func.namespace.position())) + Expr::FnCall(f, ..) if f.is_qualified() => { + Err(PERR::PropertyExpected.into_err(f.namespace.position())) } // lhs.id.dot_rhs or lhs.id[idx_rhs] Expr::Variable(..) | Expr::Property(..) => { @@ -2243,24 +2243,20 @@ impl Engine { Ok(Expr::Dot(BinaryExpr { lhs, rhs }.into(), op_flags, op_pos)) } // lhs.func().dot_rhs or lhs.func()[idx_rhs] - Expr::FnCall(mut func, func_pos) => { + Expr::FnCall(mut f, func_pos) => { // Recalculate hash - func.hashes = if is_valid_function_name(&func.name) { + f.hashes = if is_valid_function_name(&f.name) { FnCallHashes::from_all( #[cfg(not(feature = "no_function"))] - calc_fn_hash(None, &func.name, func.args.len()), - calc_fn_hash(None, &func.name, func.args.len() + 1), + calc_fn_hash(None, &f.name, f.args.len()), + calc_fn_hash(None, &f.name, f.args.len() + 1), ) } else { - FnCallHashes::from_native(calc_fn_hash( - None, - &func.name, - func.args.len() + 1, - )) + FnCallHashes::from_native(calc_fn_hash(None, &f.name, f.args.len() + 1)) }; let new_lhs = BinaryExpr { - lhs: Expr::MethodCall(func, func_pos), + lhs: Expr::MethodCall(f, func_pos), rhs: x.rhs, } .into(); @@ -3303,7 +3299,7 @@ impl Engine { max_expr_depth: self.max_function_expr_depth(), }; - let func = self.parse_fn( + let f = self.parse_fn( input, new_state, lib, @@ -3312,22 +3308,21 @@ impl Engine { #[cfg(not(feature = "no_function"))] #[cfg(feature = "metadata")] comments, - ); + )?; // Restore parse state - let func = func?; - let hash = calc_fn_hash(None, &func.name, func.params.len()); + let hash = calc_fn_hash(None, &f.name, f.params.len()); if !lib.is_empty() && lib.contains_key(&hash) { return Err(PERR::FnDuplicatedDefinition( - func.name.to_string(), - func.params.len(), + f.name.to_string(), + f.params.len(), ) .into_err(pos)); } - lib.insert(hash, func.into()); + lib.insert(hash, f.into()); Ok(Stmt::Noop(pos)) } diff --git a/src/tokenizer.rs b/src/tokenizer.rs index 7f392ff1..7ef8d7f7 100644 --- a/src/tokenizer.rs +++ b/src/tokenizer.rs @@ -852,7 +852,7 @@ impl From for String { #[derive(Debug, Clone, Eq, PartialEq, Default)] pub struct TokenizeState { /// Maximum length of a string. - pub max_string_size: Option, + pub max_string_len: Option, /// Can the next token be a unary operator? pub next_token_cannot_be_unary: bool, /// Shared object to allow controlling the tokenizer externally. @@ -879,6 +879,18 @@ pub trait InputStream { fn peek_next(&mut self) -> Option; } +/// Return error if the string is longer than the maximum length. +#[inline] +fn ensure_string_len_within_limit(max: Option, value: &str) -> Result<(), LexError> { + if let Some(max) = max { + if value.len() > max.get() { + return Err(LexError::StringTooLong(max.get())); + } + } + + Ok(()) +} + /// _(internals)_ Parse a string literal ended by a specified termination character. /// Exported under the `internals` feature only. /// @@ -968,11 +980,8 @@ pub fn parse_string_literal( break; } - if let Some(max) = state.max_string_size { - if result.len() > max.get() { - return Err((LexError::StringTooLong(max.get()), *pos)); - } - } + ensure_string_len_within_limit(state.max_string_len, &result) + .map_err(|err| (err, start))?; // Close wrapper if termination_char == next_char && escape.is_empty() { @@ -1107,11 +1116,7 @@ pub fn parse_string_literal( } } - if let Some(max) = state.max_string_size { - if result.len() > max.get() { - return Err((LexError::StringTooLong(max.get()), *pos)); - } - } + ensure_string_len_within_limit(state.max_string_len, &result).map_err(|err| (err, start))?; Ok((result, interpolated, first_char)) } @@ -1430,11 +1435,17 @@ fn get_next_token_inner( // letter or underscore ... #[cfg(not(feature = "unicode-xid-ident"))] ('a'..='z' | '_' | 'A'..='Z', ..) => { - return Some(get_token_as_identifier(stream, pos, start_pos, c)); + return Some( + parse_identifier_token(stream, pos, start_pos, c) + .unwrap_or_else(|err| (Token::LexError(err.into()), start_pos)), + ); } #[cfg(feature = "unicode-xid-ident")] (ch, ..) if unicode_xid::UnicodeXID::is_xid_start(ch) || ch == '_' => { - return Some(get_token_as_identifier(stream, pos, start_pos, c)); + return Some( + parse_identifier_token(stream, pos, start_pos, c) + .unwrap_or_else(|err| (Token::LexError(err.into()), start_pos)), + ); } // " - string literal @@ -1902,12 +1913,12 @@ fn get_next_token_inner( } /// Get the next token, parsing it as an identifier. -fn get_token_as_identifier( +fn parse_identifier_token( stream: &mut impl InputStream, pos: &mut Position, start_pos: Position, first_char: char, -) -> (Token, Position) { +) -> Result<(Token, Position), LexError> { let mut identifier = SmartString::new_const(); identifier.push(first_char); @@ -1922,19 +1933,20 @@ fn get_token_as_identifier( } if let Some(token) = Token::lookup_symbol_from_syntax(&identifier) { - return (token, start_pos); - } else if Token::is_reserved_keyword(&identifier) { - return (Token::Reserved(Box::new(identifier)), start_pos); + return Ok((token, start_pos)); + } + if Token::is_reserved_keyword(&identifier) { + return Ok((Token::Reserved(Box::new(identifier)), start_pos)); } if !is_valid_identifier(&identifier) { - return ( + return Ok(( Token::LexError(LERR::MalformedIdentifier(identifier.to_string()).into()), start_pos, - ); + )); } - (Token::Identifier(identifier.into()), start_pos) + Ok((Token::Identifier(identifier.into()), start_pos)) } /// Is a keyword allowed as a function? @@ -2236,10 +2248,7 @@ impl Engine { TokenIterator { engine: self, state: TokenizeState { - #[cfg(not(feature = "unchecked"))] - max_string_size: self.limits.max_string_size, - #[cfg(feature = "unchecked")] - max_string_size: None, + max_string_len: NonZeroUsize::new(self.max_string_size()), next_token_cannot_be_unary: false, tokenizer_control: buffer, comment_level: 0, diff --git a/src/types/parse_error.rs b/src/types/parse_error.rs index 1457a1c4..6e29e96f 100644 --- a/src/types/parse_error.rs +++ b/src/types/parse_error.rs @@ -19,7 +19,7 @@ pub enum LexError { UnexpectedInput(String), /// A string literal is not terminated before a new-line or EOF. UnterminatedString, - /// An identifier is in an invalid format. + /// An identifier or string literal is longer than the maximum allowed length. StringTooLong(usize), /// An string/character/numeric escape sequence is in an invalid format. MalformedEscapeSequence(String), @@ -44,11 +44,7 @@ impl fmt::Display for LexError { Self::MalformedChar(s) => write!(f, "Invalid character: '{s}'"), Self::MalformedIdentifier(s) => write!(f, "Variable name is not proper: '{s}'"), Self::UnterminatedString => f.write_str("Open string is not terminated"), - Self::StringTooLong(max) => write!( - f, - "Length of string literal exceeds the maximum limit ({})", - max - ), + Self::StringTooLong(max) => write!(f, "String is too long (max {max})"), Self::ImproperSymbol(s, d) if d.is_empty() => { write!(f, "Invalid symbol encountered: '{s}'") } @@ -262,7 +258,7 @@ impl From for ParseErrorType { fn from(err: LexError) -> Self { match err { LexError::StringTooLong(max) => { - Self::LiteralTooLarge("Length of string literal".to_string(), max) + Self::LiteralTooLarge("Length of string".to_string(), max) } _ => Self::BadInput(err), } diff --git a/src/types/position.rs b/src/types/position.rs index 4284ecb4..2deee226 100644 --- a/src/types/position.rs +++ b/src/types/position.rs @@ -1,3 +1,4 @@ +//! Script character position type. #![cfg(not(feature = "no_position"))] #[cfg(feature = "no_std")] @@ -48,6 +49,8 @@ impl Position { Self { line, pos: _pos } } /// Get the line number (1-based), or [`None`] if there is no position. + /// + /// Always returns [`None`] under `no_position`. #[inline] #[must_use] pub const fn line(self) -> Option { @@ -58,6 +61,8 @@ impl Position { } } /// Get the character position (1-based), or [`None`] if at beginning of a line. + /// + /// Always returns [`None`] under `no_position`. #[inline] #[must_use] pub const fn position(self) -> Option { @@ -100,18 +105,24 @@ impl Position { } } /// Is this [`Position`] at the beginning of a line? + /// + /// Always returns `false` under `no_position`. #[inline] #[must_use] pub const fn is_beginning_of_line(self) -> bool { self.pos == 0 && !self.is_none() } /// Is there no [`Position`]? + /// + /// Always returns `true` under `no_position`. #[inline] #[must_use] pub const fn is_none(self) -> bool { self.line == 0 && self.pos == 0 } /// Returns an fallback [`Position`] if it is [`NONE`][Position::NONE]? + /// + /// Always returns the fallback under `no_position`. #[inline] #[must_use] pub const fn or_else(self, pos: Self) -> Self { @@ -219,18 +230,24 @@ impl Span { Self { start, end } } /// Is this [`Span`] non-existent? + /// + /// Always returns `true` under `no_position`. #[inline] #[must_use] pub const fn is_none(&self) -> bool { self.start.is_none() && self.end.is_none() } /// Get the [`Span`]'s starting [position][Position]. + /// + /// Always returns [`Position::NONE`] under `no_position`. #[inline(always)] #[must_use] pub const fn start(&self) -> Position { self.start } /// Get the [`Span`]'s ending [position][Position]. + /// + /// Always returns [`Position::NONE`] under `no_position`. #[inline(always)] #[must_use] pub const fn end(&self) -> Position { diff --git a/src/types/position_none.rs b/src/types/position_none.rs index 469491b2..c0ced769 100644 --- a/src/types/position_none.rs +++ b/src/types/position_none.rs @@ -1,3 +1,4 @@ +//! Placeholder script character position type. #![cfg(feature = "no_position")] #![allow(unused_variables)] @@ -25,12 +26,16 @@ impl Position { Self } /// Get the line number (1-based), or [`None`] if there is no position. + /// + /// Always returns [`None`]. #[inline(always)] #[must_use] pub const fn line(self) -> Option { None } /// Get the character position (1-based), or [`None`] if at beginning of a line. + /// + /// Always returns [`None`]. #[inline(always)] #[must_use] pub const fn position(self) -> Option { @@ -46,18 +51,24 @@ impl Position { #[inline(always)] pub(crate) fn new_line(&mut self) {} /// Is this [`Position`] at the beginning of a line? + /// + /// Always returns `false`. #[inline(always)] #[must_use] pub const fn is_beginning_of_line(self) -> bool { false } /// Is there no [`Position`]? + /// + /// Always returns `true`. #[inline(always)] #[must_use] pub const fn is_none(self) -> bool { true } /// Returns an fallback [`Position`] if it is [`NONE`][Position::NONE]? + /// + /// Always returns the fallback. #[inline(always)] #[must_use] pub const fn or_else(self, pos: Self) -> Self { @@ -130,22 +141,28 @@ impl Span { Self } /// Is this [`Span`] non-existent? + /// + /// Always returns `true`. #[inline(always)] #[must_use] pub const fn is_none(&self) -> bool { true } /// Get the [`Span`]'s starting [position][Position]. + /// + /// Always returns [`Position::NONE`]. #[inline(always)] #[must_use] pub const fn start(&self) -> Position { - Position + Position::NONE } /// Get the [`Span`]'s ending [position][Position]. + /// + /// Always returns [`Position::NONE`]. #[inline(always)] #[must_use] pub const fn end(&self) -> Position { - Position + Position::NONE } } From fc4c8731f07dcb53ca8219e89b7b737c310da8f7 Mon Sep 17 00:00:00 2001 From: Stephen Chung Date: Wed, 30 Nov 2022 14:11:09 +0800 Subject: [PATCH 12/34] Add !in. --- CHANGELOG.md | 4 ++ src/parser.rs | 152 ++++++++++++++++++++++++--------------------- src/tokenizer.rs | 115 ++++++++++++++++++++-------------- tests/arrays.rs | 1 + tests/data_size.rs | 4 +- tests/looping.rs | 9 +++ 6 files changed, 166 insertions(+), 119 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b4d506c0..bfcd7aa1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -23,6 +23,10 @@ Deprecated API's Net features ------------ +### `!in` + +* A new operator `!in` is added which maps to `!(... in ...)`. + ### `Engine::call_fn_with_options` * `Engine::call_fn_raw` is deprecated in favor of `Engine::call_fn_with_options` which allows setting options for the function call. diff --git a/src/parser.rs b/src/parser.rs index ceb1b814..11500fae 100644 --- a/src/parser.rs +++ b/src/parser.rs @@ -90,12 +90,15 @@ impl fmt::Debug for ParseState<'_, '_> { .field("global", &self.global) .field("stack", &self.stack) .field("block_stack_len", &self.block_stack_len); + #[cfg(not(feature = "no_closure"))] f.field("external_vars", &self.external_vars) .field("allow_capture", &self.allow_capture); + #[cfg(not(feature = "no_module"))] f.field("imports", &self.imports) .field("global_imports", &self.global_imports); + f.finish() } } @@ -140,24 +143,24 @@ impl<'e, 's> ParseState<'e, 's> { pub fn find_var(&self, name: &str) -> (usize, bool) { let mut hit_barrier = false; - ( - self.stack - .as_deref() - .into_iter() - .flat_map(|s| s.iter_rev_raw()) - .enumerate() - .find(|&(.., (n, ..))| { - if n == SCOPE_SEARCH_BARRIER_MARKER { - // Do not go beyond the barrier - hit_barrier = true; - false - } else { - n == name - } - }) - .map_or(0, |(i, ..)| i + 1), - hit_barrier, - ) + let index = self + .stack + .as_deref() + .into_iter() + .flat_map(|s| s.iter_rev_raw()) + .enumerate() + .find(|&(.., (n, ..))| { + if n == SCOPE_SEARCH_BARRIER_MARKER { + // Do not go beyond the barrier + hit_barrier = true; + false + } else { + n == name + } + }) + .map_or(0, |(i, ..)| i + 1); + + (index, hit_barrier) } /// Find explicitly declared variable by name in the [`ParseState`], searching in reverse order. @@ -300,6 +303,7 @@ bitflags! { const CLOSURE_SCOPE = 0b0000_0100; /// Is the construct being parsed located inside a breakable loop? const BREAKABLE = 0b0000_1000; + /// Disallow statements in blocks? const DISALLOW_STATEMENTS_IN_BLOCKS = 0b0001_0000; /// Disallow unquoted map properties? @@ -869,19 +873,15 @@ impl Engine { let (token, pos) = input.next().expect(NEVER_ENDS); let prev_pos = settings.pos; settings.pos = pos; + let settings = settings.level_up()?; // Recursively parse the indexing chain, right-binding each + let options = match token { + Token::LeftBracket => ASTFlags::NONE, + Token::QuestionBracket => ASTFlags::NEGATED, + _ => unreachable!("`[` or `?[`"), + }; let idx_expr = self.parse_index_chain( - input, - state, - lib, - idx_expr, - match token { - Token::LeftBracket => ASTFlags::NONE, - Token::QuestionBracket => ASTFlags::NEGATED, - _ => unreachable!("`[` or `?[`"), - }, - false, - settings.level_up()?, + input, state, lib, idx_expr, options, false, settings, )?; // Indexing binds to right Ok(Expr::Index( @@ -1437,29 +1437,29 @@ impl Engine { .extend(state.imports.as_deref().into_iter().flatten().cloned()); } + // Brand new options #[cfg(not(feature = "no_closure"))] - let options = self.options & !LangOptions::STRICT_VAR; // A capturing closure can access variables not defined locally + let options = self.options & !LangOptions::STRICT_VAR; // a capturing closure can access variables not defined locally, so turn off Strict Variables mode #[cfg(feature = "no_closure")] let options = self.options | (settings.options & LangOptions::STRICT_VAR); - let flags = (settings.flags - & !ParseSettingFlags::GLOBAL_LEVEL - & ParseSettingFlags::BREAKABLE) - | ParseSettingFlags::FN_SCOPE; + // Brand new flags, turn on function scope + let flags = ParseSettingFlags::FN_SCOPE + | (settings.flags + & (ParseSettingFlags::DISALLOW_UNQUOTED_MAP_PROPERTIES + | ParseSettingFlags::DISALLOW_STATEMENTS_IN_BLOCKS)); #[cfg(not(feature = "no_closure"))] - let flags = flags | ParseSettingFlags::CLOSURE_SCOPE; + let flags = flags | ParseSettingFlags::CLOSURE_SCOPE; // turn on closure scope let new_settings = ParseSettings { - level: 0, flags, options, - #[cfg(not(feature = "unchecked"))] - max_expr_depth: self.max_function_expr_depth(), ..settings }; - let result = self.parse_anon_fn(input, new_state, state, lib, new_settings); + let result = + self.parse_anon_fn(input, new_state, state, lib, new_settings.level_up()?); // Restore the strings interner by swapping it back std::mem::swap(state.interned_strings, new_state.interned_strings); @@ -1582,8 +1582,8 @@ impl Engine { .and_then(|m| m.get_key_value(&**key)) .unwrap(); let (.., pos) = input.next().expect(NEVER_ENDS); - let settings2 = settings.level_up()?; - self.parse_custom_syntax(input, state, lib, settings2, key, syntax, pos)? + let settings = settings.level_up()?; + self.parse_custom_syntax(input, state, lib, settings, key, syntax, pos)? } // Identifier @@ -1789,15 +1789,8 @@ impl Engine { Token::QuestionBracket => ASTFlags::NEGATED, _ => unreachable!("`[` or `?[`"), }; - self.parse_index_chain( - input, - state, - lib, - expr, - opt, - true, - settings.level_up()?, - )? + let settings = settings.level_up()?; + self.parse_index_chain(input, state, lib, expr, opt, true, settings)? } // Property access #[cfg(not(feature = "no_object"))] @@ -1850,12 +1843,11 @@ impl Engine { { let root = namespace.root(); let index = state.find_module(root); + let is_global = false; #[cfg(not(feature = "no_function"))] #[cfg(not(feature = "no_module"))] - let is_global = root == crate::engine::KEYWORD_GLOBAL; - #[cfg(any(feature = "no_function", feature = "no_module"))] - let is_global = false; + let is_global = is_global || root == crate::engine::KEYWORD_GLOBAL; if settings.has_option(LangOptions::STRICT_VAR) && index.is_none() @@ -2142,14 +2134,8 @@ impl Engine { match (lhs, rhs) { // lhs[idx_expr].rhs (Expr::Index(mut x, options, pos), rhs) => { - x.rhs = Self::make_dot_expr( - state, - x.rhs, - rhs, - options | parent_options, - op_flags, - op_pos, - )?; + let options = options | parent_options; + x.rhs = Self::make_dot_expr(state, x.rhs, rhs, options, op_flags, op_pos)?; Ok(Expr::Index(x, ASTFlags::NONE, pos)) } // lhs.module::id - syntax error @@ -2403,7 +2389,7 @@ impl Engine { let lhs = op_base.args.pop().unwrap(); Expr::Coalesce(BinaryExpr { lhs, rhs }.into(), pos) } - Token::In => { + Token::In | Token::NotIn => { // Swap the arguments let lhs = op_base.args.remove(0); let pos = lhs.start_position(); @@ -2413,7 +2399,26 @@ impl Engine { // Convert into a call to `contains` op_base.hashes = calc_fn_hash(None, OP_CONTAINS, 2).into(); op_base.name = state.get_interned_string(OP_CONTAINS); - op_base.into_fn_call_expr(pos) + let fn_call = op_base.into_fn_call_expr(pos); + + if op_token == Token::In { + fn_call + } else { + // Put a `!` call in front + let op = Token::Bang.literal_syntax(); + let mut args = StaticVec::new_const(); + args.push(fn_call); + + let not_base = FnCallExpr { + namespace: Namespace::NONE, + name: state.get_interned_string(op), + hashes: FnCallHashes::from_native(calc_fn_hash(None, op, 1).into()), + args, + op_token: Token::Bang, + capture_parent_scope: false, + }; + not_base.into_fn_call_expr(pos) + } } #[cfg(not(feature = "no_custom_syntax"))] @@ -2727,10 +2732,13 @@ impl Engine { ) -> ParseResult { // do ... let mut settings = settings; + let orig_breakable = settings.flags.contains(ParseSettingFlags::BREAKABLE); + settings.flags |= ParseSettingFlags::BREAKABLE; + settings.pos = eat_token(input, Token::Do); // do { body } [while|until] guard - settings.flags |= ParseSettingFlags::BREAKABLE; + let body = self.parse_block(input, state, lib, settings.level_up()?)?; let negated = match input.next().expect(NEVER_ENDS) { @@ -2744,7 +2752,9 @@ impl Engine { } }; - settings.flags &= !ParseSettingFlags::BREAKABLE; + if !orig_breakable { + settings.flags &= !ParseSettingFlags::BREAKABLE; + } ensure_not_statement_expr(input, "a boolean")?; let guard = self @@ -3284,8 +3294,10 @@ impl Engine { .extend(state.imports.as_deref().into_iter().flatten().cloned()); } + // Brand new options let options = self.options | (settings.options & LangOptions::STRICT_VAR); + // Brand new flags, turn on function scope let flags = ParseSettingFlags::FN_SCOPE | (settings.flags & ParseSettingFlags::DISALLOW_UNQUOTED_MAP_PROPERTIES); @@ -3518,7 +3530,7 @@ impl Engine { #[cfg(feature = "metadata")] comments: StaticVec, ) -> ParseResult { - let mut settings = settings; + let settings = settings; let (token, pos) = input.next().expect(NEVER_ENDS); @@ -3585,10 +3597,7 @@ impl Engine { // Parse function body let body = match input.peek().expect(NEVER_ENDS) { - (Token::LeftBrace, ..) => { - settings.flags &= !ParseSettingFlags::BREAKABLE; - self.parse_block(input, state, lib, settings.level_up()?)? - } + (Token::LeftBrace, ..) => self.parse_block(input, state, lib, settings.level_up()?)?, (.., pos) => return Err(PERR::FnMissingBody(name.into()).into_err(*pos)), } .into(); @@ -3685,7 +3694,7 @@ impl Engine { lib: &mut FnLib, settings: ParseSettings, ) -> ParseResult<(Expr, ScriptFnDef)> { - let mut settings = settings; + let settings = settings; let mut params_list = StaticVec::::new_const(); if input.next().expect(NEVER_ENDS).0 != Token::Or && !match_token(input, Token::Pipe).0 { @@ -3732,7 +3741,6 @@ impl Engine { } // Parse function body - settings.flags &= !ParseSettingFlags::BREAKABLE; let body = self.parse_stmt(input, state, lib, settings.level_up()?)?; // External variables may need to be processed in a consistent order, diff --git a/src/tokenizer.rs b/src/tokenizer.rs index 7ef8d7f7..433a07e1 100644 --- a/src/tokenizer.rs +++ b/src/tokenizer.rs @@ -174,6 +174,8 @@ pub enum Token { For, /// `in` In, + /// `!in` + NotIn, /// `<` LessThan, /// `>` @@ -385,6 +387,7 @@ impl Token { Loop => "loop", For => "for", In => "in", + NotIn => "!in", LessThan => "<", GreaterThan => ">", Bang => "!", @@ -439,37 +442,43 @@ impl Token { #[inline] #[must_use] pub const fn is_op_assignment(&self) -> bool { + #[allow(clippy::enum_glob_use)] + use Token::*; + matches!( self, - Self::PlusAssign - | Self::MinusAssign - | Self::MultiplyAssign - | Self::DivideAssign - | Self::LeftShiftAssign - | Self::RightShiftAssign - | Self::ModuloAssign - | Self::PowerOfAssign - | Self::AndAssign - | Self::OrAssign - | Self::XOrAssign + PlusAssign + | MinusAssign + | MultiplyAssign + | DivideAssign + | LeftShiftAssign + | RightShiftAssign + | ModuloAssign + | PowerOfAssign + | AndAssign + | OrAssign + | XOrAssign ) } /// Get the corresponding operator of the token if it is an op-assignment operator. #[must_use] pub const fn get_base_op_from_assignment(&self) -> Option { + #[allow(clippy::enum_glob_use)] + use Token::*; + Some(match self { - Self::PlusAssign => Self::Plus, - Self::MinusAssign => Self::Minus, - Self::MultiplyAssign => Self::Multiply, - Self::DivideAssign => Self::Divide, - Self::LeftShiftAssign => Self::LeftShift, - Self::RightShiftAssign => Self::RightShift, - Self::ModuloAssign => Self::Modulo, - Self::PowerOfAssign => Self::PowerOf, - Self::AndAssign => Self::Ampersand, - Self::OrAssign => Self::Pipe, - Self::XOrAssign => Self::XOr, + PlusAssign => Plus, + MinusAssign => Minus, + MultiplyAssign => Multiply, + DivideAssign => Divide, + LeftShiftAssign => LeftShift, + RightShiftAssign => RightShift, + ModuloAssign => Modulo, + PowerOfAssign => PowerOf, + AndAssign => Ampersand, + OrAssign => Pipe, + XOrAssign => XOr, _ => return None, }) } @@ -478,37 +487,42 @@ impl Token { #[inline] #[must_use] pub const fn has_op_assignment(&self) -> bool { + #[allow(clippy::enum_glob_use)] + use Token::*; + matches!( self, - Self::Plus - | Self::Minus - | Self::Multiply - | Self::Divide - | Self::LeftShift - | Self::RightShift - | Self::Modulo - | Self::PowerOf - | Self::Ampersand - | Self::Pipe - | Self::XOr + Plus | Minus + | Multiply + | Divide + | LeftShift + | RightShift + | Modulo + | PowerOf + | Ampersand + | Pipe + | XOr ) } /// Get the corresponding op-assignment operator of the token. #[must_use] pub const fn convert_to_op_assignment(&self) -> Option { + #[allow(clippy::enum_glob_use)] + use Token::*; + Some(match self { - Self::Plus => Self::PlusAssign, - Self::Minus => Self::MinusAssign, - Self::Multiply => Self::MultiplyAssign, - Self::Divide => Self::DivideAssign, - Self::LeftShift => Self::LeftShiftAssign, - Self::RightShift => Self::RightShiftAssign, - Self::Modulo => Self::ModuloAssign, - Self::PowerOf => Self::PowerOfAssign, - Self::Ampersand => Self::AndAssign, - Self::Pipe => Self::OrAssign, - Self::XOr => Self::XOrAssign, + Plus => PlusAssign, + Minus => MinusAssign, + Multiply => MultiplyAssign, + Divide => DivideAssign, + LeftShift => LeftShiftAssign, + RightShift => RightShiftAssign, + Modulo => ModuloAssign, + PowerOf => PowerOfAssign, + Ampersand => AndAssign, + Pipe => OrAssign, + XOr => XOrAssign, _ => return None, }) } @@ -560,6 +574,7 @@ impl Token { "loop" => Loop, "for" => For, "in" => In, + "!in" => NotIn, "<" => LessThan, ">" => GreaterThan, "!" => Bang, @@ -700,6 +715,7 @@ impl Token { While | Until | In | + NotIn | And | AndAssign | Or | @@ -731,7 +747,7 @@ impl Token { EqualsTo | NotEqualsTo => 90, - In => 110, + In | NotIn => 110, LessThan | LessThanEqualsTo | GreaterThan | GreaterThanEqualsTo => 130, @@ -1812,6 +1828,15 @@ fn get_next_token_inner( } ('>', ..) => return Some((Token::GreaterThan, start_pos)), + ('!', 'i') => { + eat_next(stream, pos); + if stream.peek_next() == Some('n') { + eat_next(stream, pos); + return Some((Token::NotIn, start_pos)); + } + stream.unget('i'); + return Some((Token::Bang, start_pos)); + } ('!', '=') => { eat_next(stream, pos); diff --git a/tests/arrays.rs b/tests/arrays.rs index a5fc59ce..2a0bbfd4 100644 --- a/tests/arrays.rs +++ b/tests/arrays.rs @@ -21,6 +21,7 @@ fn test_arrays() -> Result<(), Box> { assert_eq!(engine.eval::("let y = [1, 2, 3]; y[-1]")?, 3); assert_eq!(engine.eval::("let y = [1, 2, 3]; y[-3]")?, 1); assert!(engine.eval::("let y = [1, 2, 3]; 2 in y")?); + assert!(engine.eval::("let y = [1, 2, 3]; 42 !in y")?); assert_eq!(engine.eval::("let y = [1, 2, 3]; y += 4; y[3]")?, 4); assert_eq!( engine.eval::("let y = [1, 2, 3]; pad(y, 5, 42); len(y)")?, diff --git a/tests/data_size.rs b/tests/data_size.rs index d6636a3f..a0415aa3 100644 --- a/tests/data_size.rs +++ b/tests/data_size.rs @@ -17,7 +17,7 @@ fn test_max_string_size() -> Result<(), Box> { .compile(r#"let x = "hello, world!";"#) .expect_err("should error") .err_type(), - ParseErrorType::LiteralTooLarge("Length of string literal".to_string(), 10) + ParseErrorType::LiteralTooLarge("Length of string".to_string(), 10) ); assert_eq!( @@ -25,7 +25,7 @@ fn test_max_string_size() -> Result<(), Box> { .compile(r#"let x = "朝に紅顔、暮に白骨";"#) .expect_err("should error") .err_type(), - ParseErrorType::LiteralTooLarge("Length of string literal".to_string(), 10) + ParseErrorType::LiteralTooLarge("Length of string".to_string(), 10) ); assert!(matches!( diff --git a/tests/looping.rs b/tests/looping.rs index 925d15dc..a27a3555 100644 --- a/tests/looping.rs +++ b/tests/looping.rs @@ -34,6 +34,15 @@ fn test_loop() -> Result<(), Box> { ParseErrorType::LoopBreak ); + #[cfg(not(feature = "no_function"))] + assert_eq!( + *engine + .compile("loop { let f = || { break; } }") + .expect_err("should error") + .err_type(), + ParseErrorType::LoopBreak + ); + assert_eq!( *engine .compile("let x = 0; if x > 0 { continue; }") From acadb58f4f4a603e5a62d2bee5a8e0bfd2363230 Mon Sep 17 00:00:00 2001 From: Stephen Chung Date: Wed, 30 Nov 2022 14:11:57 +0800 Subject: [PATCH 13/34] Add short-cut to !. --- src/engine.rs | 3 +++ src/func/call.rs | 26 ++++++++++++++++++++++---- src/optimizer.rs | 18 +++++++++++++++++- 3 files changed, 42 insertions(+), 5 deletions(-) diff --git a/src/engine.rs b/src/engine.rs index 2e239912..7d3bdb15 100644 --- a/src/engine.rs +++ b/src/engine.rs @@ -52,6 +52,9 @@ pub const FN_ANONYMOUS: &str = "anon$"; /// function to compare two [`Dynamic`] values. pub const OP_EQUALS: &str = Token::EqualsTo.literal_syntax(); +/// Standard not operator. +pub const OP_NOT: &str = Token::Bang.literal_syntax(); + /// Standard concatenation operator. /// /// Used primarily to build up interpolated strings. diff --git a/src/func/call.rs b/src/func/call.rs index fc70a214..bc2e60ad 100644 --- a/src/func/call.rs +++ b/src/func/call.rs @@ -325,9 +325,9 @@ impl Engine { } } - /// # Main Entry-Point + /// # Main Entry-Point (Native by Name) /// - /// Call a native Rust function registered with the [`Engine`]. + /// Call a native Rust function registered with the [`Engine`] by name. /// /// # WARNING /// @@ -543,9 +543,9 @@ impl Engine { } } - /// # Main Entry-Point + /// # Main Entry-Point (By Name) /// - /// Perform an actual function call, native Rust or scripted, taking care of special functions. + /// Perform an actual function call, native Rust or scripted, by name, taking care of special functions. /// /// # WARNING /// @@ -1463,6 +1463,8 @@ impl Engine { self.eval_global_statements(global, caches, scope, statements) } + /// # Main Entry-Point (`FnCallExpr`) + /// /// Evaluate a function call expression. pub(crate) fn eval_fn_call_expr( &self, @@ -1486,6 +1488,22 @@ impl Engine { let op_token = op_token.clone(); + // Short-circuit native unary operator call if under Fast Operators mode + if op_token == Token::Bang && self.fast_operators() && args.len() == 1 { + let mut value = self + .get_arg_value(global, caches, scope, this_ptr, &args[0])? + .0 + .flatten(); + + return value.as_bool().and_then(|r| Ok((!r).into())).or_else(|_| { + let operand = &mut [&mut value]; + self.exec_fn_call( + global, caches, None, name, op_token, *hashes, operand, false, false, pos, + ) + .map(|(v, ..)| v) + }); + } + // Short-circuit native binary operator call if under Fast Operators mode if op_token != NO_TOKEN && self.fast_operators() && args.len() == 2 { let mut lhs = self diff --git a/src/optimizer.rs b/src/optimizer.rs index 67976cb7..1c503f89 100644 --- a/src/optimizer.rs +++ b/src/optimizer.rs @@ -4,7 +4,9 @@ use crate::ast::{ ASTFlags, Expr, OpAssignment, Stmt, StmtBlock, StmtBlockContainer, SwitchCasesCollection, }; -use crate::engine::{KEYWORD_DEBUG, KEYWORD_EVAL, KEYWORD_FN_PTR, KEYWORD_PRINT, KEYWORD_TYPE_OF}; +use crate::engine::{ + KEYWORD_DEBUG, KEYWORD_EVAL, KEYWORD_FN_PTR, KEYWORD_PRINT, KEYWORD_TYPE_OF, OP_NOT, +}; use crate::eval::{Caches, GlobalRuntimeState}; use crate::func::builtin::get_builtin_binary_op_fn; use crate::func::hashing::get_hasher; @@ -1065,6 +1067,20 @@ fn optimize_expr(expr: &mut Expr, state: &mut OptimizerState, _chaining: bool) { *expr = mem::take(&mut x.lhs); }, + // !true or !false + Expr::FnCall(x,..) + if x.name == OP_NOT + && x.args.len() == 1 + && matches!(x.args[0], Expr::BoolConstant(..)) + => { + state.set_dirty(); + if let Expr::BoolConstant(b, pos) = x.args[0] { + *expr = Expr::BoolConstant(!b, pos) + } else { + unreachable!() + } + } + // eval! Expr::FnCall(x, ..) if x.name == KEYWORD_EVAL => { state.propagate_constants = false; From 28640a6fe4d6e4ee070eaa37660a960ff79f5240 Mon Sep 17 00:00:00 2001 From: Stephen Chung Date: Thu, 1 Dec 2022 14:24:08 +0800 Subject: [PATCH 14/34] code cleanup. --- CHANGELOG.md | 1 + examples/event_handler_js/script.rhai | 2 +- examples/event_handler_map/script.rhai | 4 ++-- src/eval/eval_context.rs | 2 +- src/eval/stmt.rs | 3 ++- src/packages/iter_basic.rs | 1 + src/types/dynamic.rs | 1 + 7 files changed, 9 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index bfcd7aa1..1d13ec52 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,7 @@ Bug fixes --------- * Integer numbers that are too large to deserialize into `INT` now fall back to `Decimal` or `FLOAT` instead of silently truncating. +* Parsing deeply-nested closures (e.g. `||{||{||{||{||{||{||{...}}}}}}}`) no longer panics but will be confined to the nesting limit. Breaking API changes -------------------- diff --git a/examples/event_handler_js/script.rhai b/examples/event_handler_js/script.rhai index 0667575f..2df62003 100644 --- a/examples/event_handler_js/script.rhai +++ b/examples/event_handler_js/script.rhai @@ -4,7 +4,7 @@ fn init() { // Can detect system-provided default states! // Add 'bool_state' as new state variable if one does not exist - if !("bool_state" in this) { + if "bool_state" !in this { this.bool_state = false; } // Add 'value' as new state variable (overwrites any existing) diff --git a/examples/event_handler_map/script.rhai b/examples/event_handler_map/script.rhai index 59c55f79..1dd341e3 100644 --- a/examples/event_handler_map/script.rhai +++ b/examples/event_handler_map/script.rhai @@ -4,7 +4,7 @@ /// State is stored inside an object map bound to 'state'. fn init() { // Add 'bool_state' as new state variable if one does not exist - if !("bool_state" in state) { + if "bool_state" !in state { state.bool_state = false; } // Add 'obj_state' as new state variable (overwrites any existing) @@ -37,7 +37,7 @@ fn start(data) { /// 'end' event handler fn end(data) { - if !state.bool_state || !("start_mode" in state) { + if !state.bool_state || "start_mode" !in state { throw "Not yet started!"; } if state.value > 0 { diff --git a/src/eval/eval_context.rs b/src/eval/eval_context.rs index 6243d949..d0ee3b10 100644 --- a/src/eval/eval_context.rs +++ b/src/eval/eval_context.rs @@ -6,7 +6,7 @@ use crate::{Dynamic, Engine, Scope}; use std::prelude::v1::*; /// Context of a script evaluation process. -#[derive(Debug)] +#[allow(dead_code)] pub struct EvalContext<'a, 's, 'ps, 'g, 'c, 't> { /// The current [`Engine`]. engine: &'a Engine, diff --git a/src/eval/stmt.rs b/src/eval/stmt.rs index 144df5d2..d6c734b4 100644 --- a/src/eval/stmt.rs +++ b/src/eval/stmt.rs @@ -3,7 +3,7 @@ use super::{Caches, EvalContext, GlobalRuntimeState, Target}; use crate::api::events::VarDefInfo; use crate::ast::{ - ASTFlags, BinaryExpr, Expr, Ident, OpAssignment, Stmt, SwitchCasesCollection, TryCatchBlock, + ASTFlags, BinaryExpr, Expr, OpAssignment, Stmt, SwitchCasesCollection, TryCatchBlock, }; use crate::func::{get_builtin_op_assignment_fn, get_hasher}; use crate::types::dynamic::{AccessMode, Union}; @@ -834,6 +834,7 @@ impl Engine { // Export statement #[cfg(not(feature = "no_module"))] Stmt::Export(x, ..) => { + use crate::ast::Ident; let (Ident { name, pos, .. }, Ident { name: alias, .. }) = &**x; // Mark scope variables as public scope.search(name).map_or_else( diff --git a/src/packages/iter_basic.rs b/src/packages/iter_basic.rs index b7a60dd5..41dc2409 100644 --- a/src/packages/iter_basic.rs +++ b/src/packages/iter_basic.rs @@ -665,6 +665,7 @@ mod range_functions { } /// Return true if the range contains no items. #[rhai_fn(get = "is_empty", name = "is_empty", pure)] + #[allow(unstable_name_collisions)] pub fn is_empty_exclusive(range: &mut ExclusiveRange) -> bool { range.is_empty() } diff --git a/src/types/dynamic.rs b/src/types/dynamic.rs index a5335651..2ff6c21e 100644 --- a/src/types/dynamic.rs +++ b/src/types/dynamic.rs @@ -1175,6 +1175,7 @@ impl Dynamic { /// ``` #[inline] #[must_use] + #[allow(unused_mut)] pub fn try_cast(mut self) -> Option { // Coded this way in order to maximally leverage potentials for dead-code removal. From 0c4935febb80fc04f9d13246c9b2c8616b418cb6 Mon Sep 17 00:00:00 2001 From: Stephen Chung Date: Thu, 1 Dec 2022 14:35:45 +0800 Subject: [PATCH 15/34] Merge multiple doc-comment lines into one. --- CHANGELOG.md | 1 + codegen/src/attrs.rs | 18 +++++-- codegen/src/rhai_module.rs | 2 +- codegen/src/test/module.rs | 16 +++--- src/ast/script_fn.rs | 8 ++- src/module/mod.rs | 41 +++++++------- src/packages/iter_basic.rs | 106 ++++++++++++++++++------------------- src/parser.rs | 19 ++++++- 8 files changed, 120 insertions(+), 91 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1d13ec52..f4fb854f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -43,6 +43,7 @@ Enhancements * `FuncArgs` is also implemented for arrays. * `Engine::set_XXX` API can now be chained. * `EvalContext::scope_mut` now returns `&mut Scope` instead of `&mut &mut Scope`. +* Line-style doc-comments are now merged into a single string to avoid creating many strings. Block-style doc-comments continue to be independent strings. Version 1.11.0 diff --git a/codegen/src/attrs.rs b/codegen/src/attrs.rs index 044252df..8e232a76 100644 --- a/codegen/src/attrs.rs +++ b/codegen/src/attrs.rs @@ -145,6 +145,7 @@ pub fn inner_item_attributes( pub fn doc_attributes(attrs: &[syn::Attribute]) -> syn::Result> { // Find the #[doc] attribute which will turn be read for function documentation. let mut comments = Vec::new(); + let mut buf = String::new(); for attr in attrs { if let Some(i) = attr.path.get_ident() { @@ -158,19 +159,30 @@ pub fn doc_attributes(attrs: &[syn::Attribute]) -> syn::Result> { if line.contains('\n') { // Must be a block comment `/** ... */` + if !buf.is_empty() { + comments.push(buf.clone()); + buf.clear(); + } line.insert_str(0, "/**"); line.push_str("*/"); + comments.push(line); } else { // Single line - assume it is `///` - line.insert_str(0, "///"); + if !buf.is_empty() { + buf.push('\n'); + } + buf.push_str("///"); + buf.push_str(&line); } - - comments.push(line); } } } } + if !buf.is_empty() { + comments.push(buf); + } + Ok(comments) } diff --git a/codegen/src/rhai_module.rs b/codegen/src/rhai_module.rs index 4e52d83d..bedccdd5 100644 --- a/codegen/src/rhai_module.rs +++ b/codegen/src/rhai_module.rs @@ -230,7 +230,7 @@ pub fn generate_body( syn::parse2::(quote! { #(#cfg_attrs)* m.set_fn_with_comments(#fn_literal, FnNamespace::#ns_str, FnAccess::Public, - #param_names, &[#(#fn_input_types),*], &[#(#comments),*], #fn_token_name().into()); + #param_names, [#(#fn_input_types),*], [#(#comments),*], #fn_token_name().into()); }) .unwrap() }); diff --git a/codegen/src/test/module.rs b/codegen/src/test/module.rs index 0a279452..abbdd3ab 100644 --- a/codegen/src/test/module.rs +++ b/codegen/src/test/module.rs @@ -92,10 +92,11 @@ mod module_tests { .cloned() .collect::>(), vec![ - "/// This is a doc-comment.", - "/// Another line.", - "/// block doc-comment ", - "/// Final line.", + "\ + /// This is a doc-comment.\n\ + /// Another line.\n\ + /// block doc-comment \n\ + /// Final line.", "/** doc-comment\n in multiple lines\n */" ] ); @@ -444,11 +445,8 @@ mod generate_tests { #[doc(hidden)] pub fn rhai_generate_into_module(m: &mut Module, flatten: bool) { m.set_fn_with_comments("get_mystic_number", FnNamespace::Internal, FnAccess::Public, - Some(get_mystic_number_token::PARAM_NAMES), &[], &[ - "/// This is a doc-comment.", - "/// Another line.", - "/// block doc-comment ", - "/// Final line.", + Some(get_mystic_number_token::PARAM_NAMES), [], [ + "/// This is a doc-comment.\n/// Another line.\n/// block doc-comment \n/// Final line.", "/** doc-comment\n in multiple lines\n */" ], get_mystic_number_token().into()); if flatten {} else {} diff --git a/src/ast/script_fn.rs b/src/ast/script_fn.rs index e523d7d7..7292563a 100644 --- a/src/ast/script_fn.rs +++ b/src/ast/script_fn.rs @@ -49,10 +49,12 @@ pub struct ScriptFnDef { /// /// Block doc-comments are kept in a single string slice with line-breaks within. /// - /// Line doc-comments are kept in one string slice per line without the termination line-break. + /// Line doc-comments are merged, with line-breaks, into a single string slice without a termination line-break. /// /// Leading white-spaces are stripped, and each string slice always starts with the /// corresponding doc-comment leader: `///` or `/**`. + /// + /// Each line in non-block doc-comments starts with `///`. #[cfg(feature = "metadata")] pub comments: Box<[Box]>, } @@ -98,10 +100,12 @@ pub struct ScriptFnMetadata<'a> { /// /// Block doc-comments are kept in a single string slice with line-breaks within. /// - /// Line doc-comments are kept in one string slice per line without the termination line-break. + /// Line doc-comments are merged, with line-breaks, into a single string slice without a termination line-break. /// /// Leading white-spaces are stripped, and each string slice always starts with the /// corresponding doc-comment leader: `///` or `/**`. + /// + /// Each line in non-block doc-comments starts with `///`. #[cfg(feature = "metadata")] pub comments: Vec<&'a str>, } diff --git a/src/module/mod.rs b/src/module/mod.rs index d540947d..2e69fa44 100644 --- a/src/module/mod.rs +++ b/src/module/mod.rs @@ -882,13 +882,10 @@ impl Module { pub fn update_fn_metadata>( &mut self, hash_fn: u64, - arg_names: impl AsRef<[S]>, + arg_names: impl IntoIterator, ) -> &mut Self { - let mut param_names: StaticVec<_> = arg_names - .as_ref() - .iter() - .map(|s| s.as_ref().into()) - .collect(); + let mut param_names: StaticVec<_> = + arg_names.into_iter().map(|s| s.as_ref().into()).collect(); if let Some(f) = self.functions.as_mut().and_then(|m| m.get_mut(&hash_fn)) { let (param_names, return_type_name) = if param_names.len() > f.metadata.num_params { @@ -920,32 +917,30 @@ impl Module { /// /// ## Comments /// - /// Block doc-comments should be kept in a single line. + /// Block doc-comments should be kept in a separate string slice. /// - /// Line doc-comments should be kept in one string slice per line without the termination line-break. + /// Line doc-comments should be merged, with line-breaks, into a single string slice without a final termination line-break. /// /// Leading white-spaces should be stripped, and each string slice always starts with the corresponding /// doc-comment leader: `///` or `/**`. + /// + /// Each line in non-block doc-comments should start with `///`. #[cfg(feature = "metadata")] #[inline] pub fn update_fn_metadata_with_comments, C: AsRef>( &mut self, hash_fn: u64, - arg_names: impl AsRef<[A]>, - comments: impl AsRef<[C]>, + arg_names: impl IntoIterator, + comments: impl IntoIterator, ) -> &mut Self { self.update_fn_metadata(hash_fn, arg_names); - let comments = comments.as_ref(); - - if !comments.is_empty() { - let f = self - .functions - .as_mut() - .and_then(|m| m.get_mut(&hash_fn)) - .unwrap(); - f.metadata.comments = comments.iter().map(|s| s.as_ref().into()).collect(); - } + self.functions + .as_mut() + .and_then(|m| m.get_mut(&hash_fn)) + .unwrap() + .metadata + .comments = comments.into_iter().map(|s| s.as_ref().into()).collect(); self } @@ -1099,12 +1094,14 @@ impl Module { /// /// ## Comments /// - /// Block doc-comments should be kept in a single line. + /// Block doc-comments should be kept in a separate string slice. /// - /// Line doc-comments should be kept in one string slice per line without the termination line-break. + /// Line doc-comments should be merged, with line-breaks, into a single string slice without a final termination line-break. /// /// Leading white-spaces should be stripped, and each string slice always starts with the corresponding /// doc-comment leader: `///` or `/**`. + /// + /// Each line in non-block doc-comments should start with `///`. #[cfg(feature = "metadata")] #[inline] pub fn set_fn_with_comments>( diff --git a/src/packages/iter_basic.rs b/src/packages/iter_basic.rs index 41dc2409..9e4588c6 100644 --- a/src/packages/iter_basic.rs +++ b/src/packages/iter_basic.rs @@ -235,18 +235,18 @@ macro_rules! reg_range { concat!("from: ", stringify!($y)), concat!("to: ", stringify!($y)), concat!("Iterator<", stringify!($y), ">"), - ], [ - "/// Return an iterator over the exclusive range of `from..to`.", - "/// The value `to` is never included.", - "///", - "/// # Example", - "///", - "/// ```rhai", - "/// // prints all values from 8 to 17", - "/// for n in range(8, 18) {", - "/// print(n);", - "/// }", - "/// ```" + ], ["\ + /// Return an iterator over the exclusive range of `from..to`.\n\ + /// The value `to` is never included.\n\ + ///\n\ + /// # Example\n\ + ///\n\ + /// ```rhai\n\ + /// // prints all values from 8 to 17\n\ + /// for n in range(8, 18) {\n\ + /// print(n);\n\ + /// }\n\ + /// ```" ]); $lib.set_iterator::>(); @@ -269,27 +269,27 @@ macro_rules! reg_range { concat!("to: ", stringify!($y)), concat!("step: ", stringify!($y)), concat!("Iterator<", stringify!($y), ">") - ], [ - "/// Return an iterator over the exclusive range of `from..to`, each iteration increasing by `step`.", - "/// The value `to` is never included.", - "///", - "/// If `from` > `to` and `step` < 0, iteration goes backwards.", - "///", - "/// If `from` > `to` and `step` > 0 or `from` < `to` and `step` < 0, an empty iterator is returned.", - "///", - "/// # Example", - "///", - "/// ```rhai", - "/// // prints all values from 8 to 17 in steps of 3", - "/// for n in range(8, 18, 3) {", - "/// print(n);", - "/// }", - "///", - "/// // prints all values down from 18 to 9 in steps of -3", - "/// for n in range(18, 8, -3) {", - "/// print(n);", - "/// }", - "/// ```" + ], ["\ + /// Return an iterator over the exclusive range of `from..to`, each iteration increasing by `step`.\n\ + /// The value `to` is never included.\n\ + ///\n\ + /// If `from` > `to` and `step` < 0, iteration goes backwards.\n\ + ///\n\ + /// If `from` > `to` and `step` > 0 or `from` < `to` and `step` < 0, an empty iterator is returned.\n\ + ///\n\ + /// # Example\n\ + ///\n\ + /// ```rhai\n\ + /// // prints all values from 8 to 17 in steps of 3\n\ + /// for n in range(8, 18, 3) {\n\ + /// print(n);\n\ + /// }\n\ + ///\n\ + /// // prints all values down from 18 to 9 in steps of -3\n\ + /// for n in range(18, 8, -3) {\n\ + /// print(n);\n\ + /// }\n\ + /// ```" ]); let _hash = $lib.set_native_fn($x, |range: std::ops::Range<$y>, step: $y| StepRange::new(range.start, range.end, step, $add)); @@ -299,26 +299,26 @@ macro_rules! reg_range { concat!("range: Range<", stringify!($y), ">"), concat!("step: ", stringify!($y)), concat!("Iterator<", stringify!($y), ">") - ], [ - "/// Return an iterator over an exclusive range, each iteration increasing by `step`.", - "///", - "/// If `range` is reversed and `step` < 0, iteration goes backwards.", - "///", - "/// Otherwise, if `range` is empty, an empty iterator is returned.", - "///", - "/// # Example", - "///", - "/// ```rhai", - "/// // prints all values from 8 to 17 in steps of 3", - "/// for n in range(8..18, 3) {", - "/// print(n);", - "/// }", - "///", - "/// // prints all values down from 18 to 9 in steps of -3", - "/// for n in range(18..8, -3) {", - "/// print(n);", - "/// }", - "/// ```" + ], ["\ + /// Return an iterator over an exclusive range, each iteration increasing by `step`.\n\ + ///\n\ + /// If `range` is reversed and `step` < 0, iteration goes backwards.\n\ + ///\n\ + /// Otherwise, if `range` is empty, an empty iterator is returned.\n\ + ///\n\ + /// # Example\n\ + ///\n\ + /// ```rhai\n\ + /// // prints all values from 8 to 17 in steps of 3\n\ + /// for n in range(8..18, 3) {\n\ + /// print(n);\n\ + /// }\n\ + ///\n\ + /// // prints all values down from 18 to 9 in steps of -3\n\ + /// for n in range(18..8, -3) {\n\ + /// print(n);\n\ + /// }\n\ + /// ```" ]); )* }; diff --git a/src/parser.rs b/src/parser.rs index 11500fae..d2584197 100644 --- a/src/parser.rs +++ b/src/parser.rs @@ -3208,6 +3208,7 @@ impl Engine { let comments = { let mut comments = StaticVec::::new(); let mut comments_pos = Position::NONE; + let mut buf = SmartString::new_const(); // Handle doc-comments. while let (Token::Comment(ref comment), pos) = input.peek().expect(NEVER_ENDS) { @@ -3225,7 +3226,19 @@ impl Engine { match input.next().expect(NEVER_ENDS).0 { Token::Comment(comment) => { - comments.push(*comment); + if comment.contains('\n') { + // Assume block comment + if !buf.is_empty() { + comments.push(buf.clone()); + buf.clear(); + } + comments.push(*comment); + } else { + if !buf.is_empty() { + buf.push('\n'); + } + buf.push_str(&comment); + } match input.peek().expect(NEVER_ENDS) { (Token::Fn | Token::Private, ..) => break, @@ -3237,6 +3250,10 @@ impl Engine { } } + if !buf.is_empty() { + comments.push(buf); + } + comments }; From ed423740c9179bb7002b92b054d87fcbdc6b044e Mon Sep 17 00:00:00 2001 From: Stephen Chung Date: Thu, 1 Dec 2022 17:45:33 +0800 Subject: [PATCH 16/34] Use FnArgsVec for params. --- src/func/register.rs | 16 +++++++-------- src/module/mod.rs | 48 ++++++++++++++++++++++---------------------- 2 files changed, 32 insertions(+), 32 deletions(-) diff --git a/src/func/register.rs b/src/func/register.rs index 8899548b..bacd30cd 100644 --- a/src/func/register.rs +++ b/src/func/register.rs @@ -139,8 +139,8 @@ macro_rules! def_register { $($par: Variant + Clone,)* RET: Variant + Clone > RegisterNativeFunction<($($mark,)*), RET, ()> for FN { - #[inline(always)] fn param_types() -> Box<[TypeId]> { vec![$(TypeId::of::<$par>()),*].into_boxed_slice() } - #[cfg(feature = "metadata")] #[inline(always)] fn param_names() -> Box<[&'static str]> { vec![$(std::any::type_name::<$param>()),*].into_boxed_slice() } + #[inline(always)] fn param_types() -> Box<[TypeId]> { Box::new([$(TypeId::of::<$par>()),*]) } + #[cfg(feature = "metadata")] #[inline(always)] fn param_names() -> Box<[&'static str]> { Box::new([$(std::any::type_name::<$param>()),*]) } #[cfg(feature = "metadata")] #[inline(always)] fn return_type() -> TypeId { TypeId::of::() } #[inline(always)] fn into_callable_function(self) -> CallableFunction { CallableFunction::$abi(Shared::new(move |_ctx: NativeCallContext, args: &mut FnCallArgs| { @@ -164,8 +164,8 @@ macro_rules! def_register { $($par: Variant + Clone,)* RET: Variant + Clone > RegisterNativeFunction<($($mark,)*), RET, NativeCallContext<'static>> for FN { - #[inline(always)] fn param_types() -> Box<[TypeId]> { vec![$(TypeId::of::<$par>()),*].into_boxed_slice() } - #[cfg(feature = "metadata")] #[inline(always)] fn param_names() -> Box<[&'static str]> { vec![$(std::any::type_name::<$param>()),*].into_boxed_slice() } + #[inline(always)] fn param_types() -> Box<[TypeId]> { Box::new([$(TypeId::of::<$par>()),*]) } + #[cfg(feature = "metadata")] #[inline(always)] fn param_names() -> Box<[&'static str]> { Box::new([$(std::any::type_name::<$param>()),*]) } #[cfg(feature = "metadata")] #[inline(always)] fn return_type() -> TypeId { TypeId::of::() } #[inline(always)] fn into_callable_function(self) -> CallableFunction { CallableFunction::$abi(Shared::new(move |ctx: NativeCallContext, args: &mut FnCallArgs| { @@ -189,8 +189,8 @@ macro_rules! def_register { $($par: Variant + Clone,)* RET: Variant + Clone > RegisterNativeFunction<($($mark,)*), RET, RhaiResultOf<()>> for FN { - #[inline(always)] fn param_types() -> Box<[TypeId]> { vec![$(TypeId::of::<$par>()),*].into_boxed_slice() } - #[cfg(feature = "metadata")] #[inline(always)] fn param_names() -> Box<[&'static str]> { vec![$(std::any::type_name::<$param>()),*].into_boxed_slice() } + #[inline(always)] fn param_types() -> Box<[TypeId]> { Box::new([$(TypeId::of::<$par>()),*]) } + #[cfg(feature = "metadata")] #[inline(always)] fn param_names() -> Box<[&'static str]> { Box::new([$(std::any::type_name::<$param>()),*]) } #[cfg(feature = "metadata")] #[inline(always)] fn return_type() -> TypeId { TypeId::of::>() } #[cfg(feature = "metadata")] #[inline(always)] fn return_type_name() -> &'static str { std::any::type_name::>() } #[inline(always)] fn into_callable_function(self) -> CallableFunction { @@ -212,8 +212,8 @@ macro_rules! def_register { $($par: Variant + Clone,)* RET: Variant + Clone > RegisterNativeFunction<($($mark,)*), RET, RhaiResultOf>> for FN { - #[inline(always)] fn param_types() -> Box<[TypeId]> { vec![$(TypeId::of::<$par>()),*].into_boxed_slice() } - #[cfg(feature = "metadata")] #[inline(always)] fn param_names() -> Box<[&'static str]> { vec![$(std::any::type_name::<$param>()),*].into_boxed_slice() } + #[inline(always)] fn param_types() -> Box<[TypeId]> { Box::new([$(TypeId::of::<$par>()),*]) } + #[cfg(feature = "metadata")] #[inline(always)] fn param_names() -> Box<[&'static str]> { Box::new([$(std::any::type_name::<$param>()),*]) } #[cfg(feature = "metadata")] #[inline(always)] fn return_type() -> TypeId { TypeId::of::>() } #[cfg(feature = "metadata")] #[inline(always)] fn return_type_name() -> &'static str { std::any::type_name::>() } #[inline(always)] fn into_callable_function(self) -> CallableFunction { diff --git a/src/module/mod.rs b/src/module/mod.rs index 2e69fa44..6f5854f7 100644 --- a/src/module/mod.rs +++ b/src/module/mod.rs @@ -9,8 +9,8 @@ use crate::func::{ }; use crate::types::{dynamic::Variant, BloomFilterU64, CustomTypesCollection}; use crate::{ - calc_fn_hash, calc_fn_hash_full, Dynamic, Identifier, ImmutableString, NativeCallContext, - RhaiResultOf, Shared, SharedModule, SmartString, StaticVec, + calc_fn_hash, calc_fn_hash_full, Dynamic, FnArgsVec, Identifier, ImmutableString, + NativeCallContext, RhaiResultOf, Shared, SharedModule, SmartString, StaticVec, }; use bitflags::bitflags; #[cfg(feature = "no_std")] @@ -76,10 +76,10 @@ pub struct FuncInfoMetadata { /// Number of parameters. pub num_params: usize, /// Parameter types (if applicable). - pub param_types: StaticVec, + pub param_types: FnArgsVec, /// Parameter names and types (if available). #[cfg(feature = "metadata")] - pub params_info: StaticVec, + pub params_info: FnArgsVec, /// Return type name. #[cfg(feature = "metadata")] pub return_type: Identifier, @@ -115,7 +115,7 @@ impl FuncInfo { } } } else { - let params: StaticVec<_> = self + let params: FnArgsVec<_> = self .metadata .params_info .iter() @@ -723,7 +723,7 @@ impl Module { namespace: FnNamespace::Internal, access: fn_def.access, num_params, - param_types: StaticVec::new_const(), + param_types: FnArgsVec::new_const(), #[cfg(feature = "metadata")] params_info, #[cfg(feature = "metadata")] @@ -884,7 +884,7 @@ impl Module { hash_fn: u64, arg_names: impl IntoIterator, ) -> &mut Self { - let mut param_names: StaticVec<_> = + let mut param_names: FnArgsVec<_> = arg_names.into_iter().map(|s| s.as_ref().into()).collect(); if let Some(f) = self.functions.as_mut().and_then(|m| m.get_mut(&hash_fn)) { @@ -1005,12 +1005,11 @@ impl Module { let _arg_names = arg_names; let is_method = func.is_method(); - let mut param_types: StaticVec<_> = arg_types + let mut param_types: FnArgsVec<_> = arg_types .as_ref() .iter() - .copied() .enumerate() - .map(|(i, type_id)| Self::map_type(!is_method || i > 0, type_id)) + .map(|(i, &type_id)| Self::map_type(!is_method || i > 0, type_id)) .collect(); param_types.shrink_to_fit(); @@ -1024,8 +1023,8 @@ impl Module { .into_iter() .flatten() .map(|&s| s.into()) - .collect::>(); - let return_type = if names.len() > arg_types.as_ref().len() { + .collect::>(); + let return_type = if names.len() > param_types.len() { names.pop().unwrap() } else { crate::SmartString::new_const() @@ -1111,17 +1110,18 @@ impl Module { access: FnAccess, arg_names: Option<&[&str]>, arg_types: impl AsRef<[TypeId]>, - comments: impl AsRef<[S]>, + comments: impl IntoIterator, func: CallableFunction, ) -> u64 { let hash = self.set_fn(name, namespace, access, arg_names, arg_types, func); - let comments = comments.as_ref(); - - if !comments.is_empty() { - let f = self.functions.as_mut().unwrap().get_mut(&hash).unwrap(); - f.metadata.comments = comments.iter().map(|s| s.as_ref().into()).collect(); - } + self.functions + .as_mut() + .unwrap() + .get_mut(&hash) + .unwrap() + .metadata + .comments = comments.into_iter().map(|s| s.as_ref().into()).collect(); hash } @@ -1251,7 +1251,7 @@ impl Module { FnNamespace::Internal, FnAccess::Public, None, - &F::param_types(), + F::param_types(), func.into_callable_function(), ) } @@ -1287,7 +1287,7 @@ impl Module { FnNamespace::Global, FnAccess::Public, None, - &F::param_types(), + F::param_types(), func.into_callable_function(), ) } @@ -1328,7 +1328,7 @@ impl Module { FnNamespace::Global, FnAccess::Public, None, - &F::param_types(), + F::param_types(), func.into_callable_function(), ) } @@ -1431,7 +1431,7 @@ impl Module { FnNamespace::Global, FnAccess::Public, None, - &F::param_types(), + F::param_types(), func.into_callable_function(), ) } @@ -1492,7 +1492,7 @@ impl Module { FnNamespace::Global, FnAccess::Public, None, - &F::param_types(), + F::param_types(), func.into_callable_function(), ) } From fcc363af60fe3e16f205a68ba2d582cfd3fb6cf1 Mon Sep 17 00:00:00 2001 From: Stephen Chung Date: Thu, 1 Dec 2022 23:29:42 +0800 Subject: [PATCH 17/34] Add doc-comments on plugin modules to Module::doc field. --- CHANGELOG.md | 1 + codegen/Cargo.toml | 4 ++-- codegen/src/module.rs | 7 +++++++ codegen/src/rhai_module.rs | 13 +++++++++++++ codegen/src/test/module.rs | 13 +++++++++++++ 5 files changed, 36 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f4fb854f..0318804f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -44,6 +44,7 @@ Enhancements * `Engine::set_XXX` API can now be chained. * `EvalContext::scope_mut` now returns `&mut Scope` instead of `&mut &mut Scope`. * Line-style doc-comments are now merged into a single string to avoid creating many strings. Block-style doc-comments continue to be independent strings. +* Doc-comments on plugin modules are now captured in the module's `doc` field. Version 1.11.0 diff --git a/codegen/Cargo.toml b/codegen/Cargo.toml index 99583472..6364db5c 100644 --- a/codegen/Cargo.toml +++ b/codegen/Cargo.toml @@ -1,11 +1,11 @@ [package] name = "rhai_codegen" -version = "1.4.3" +version = "1.4.4" edition = "2018" resolver = "2" authors = ["jhwgh1968", "Stephen Chung"] description = "Procedural macros support package for Rhai, a scripting language and engine for Rust" -keywords = ["rhai", "scripting", "scripting-engine", "scripting-language", "embedded", "plugin", "macros", "code-generation"] +keywords = ["scripting", "scripting-engine", "scripting-language", "embedded", "plugin"] categories = ["no-std", "embedded", "wasm", "parser-implementations"] homepage = "https://rhai.rs/book/plugins/index.html" repository = "https://github.com/rhaiscript/rhai" diff --git a/codegen/src/module.rs b/codegen/src/module.rs index 9206be78..ea577f5f 100644 --- a/codegen/src/module.rs +++ b/codegen/src/module.rs @@ -106,6 +106,7 @@ impl Module { impl Parse for Module { fn parse(input: ParseStream) -> syn::Result { let mut mod_all: syn::ItemMod = input.parse()?; + let fns: Vec<_>; let mut consts = Vec::new(); let mut custom_types = Vec::new(); @@ -269,11 +270,17 @@ impl Module { let (.., orig_content) = mod_all.content.take().unwrap(); let mod_attrs = mem::take(&mut mod_all.attrs); + #[cfg(feature = "metadata")] + let mod_doc = crate::attrs::doc_attributes(&mod_attrs)?.join("\n"); + #[cfg(not(feature = "metadata"))] + let mod_doc = String::new(); + if !params.skip { // Generate new module items. // // This is done before inner module recursive generation, because that is destructive. let mod_gen = crate::rhai_module::generate_body( + &mod_doc, &mut fns, &consts, &custom_types, diff --git a/codegen/src/rhai_module.rs b/codegen/src/rhai_module.rs index bedccdd5..42b18d2b 100644 --- a/codegen/src/rhai_module.rs +++ b/codegen/src/rhai_module.rs @@ -26,6 +26,7 @@ pub struct ExportedType { } pub fn generate_body( + doc: &str, fns: &mut [ExportedFn], consts: &[ExportedConst], custom_types: &[ExportedType], @@ -246,6 +247,17 @@ pub fn generate_body( gen_fn_tokens.push(function.generate_impl(&fn_token_name.to_string())); } + let module_docs = if doc.is_empty() { + None + } else { + Some( + syn::parse2::(quote! { + m.set_doc(#doc); + }) + .unwrap(), + ) + }; + let mut generate_fn_call = syn::parse2::(quote! { pub mod generate_info { #[allow(unused_imports)] @@ -254,6 +266,7 @@ pub fn generate_body( #[doc(hidden)] pub fn rhai_module_generate() -> Module { let mut m = Module::new(); + #module_docs rhai_generate_into_module(&mut m, false); m.build_index(); m diff --git a/codegen/src/test/module.rs b/codegen/src/test/module.rs index abbdd3ab..3575d2c4 100644 --- a/codegen/src/test/module.rs +++ b/codegen/src/test/module.rs @@ -403,6 +403,12 @@ mod generate_tests { #[test] fn one_factory_fn_with_comments_module() { let input_tokens: TokenStream = quote! { + /// This is the one_fn module! + /** block doc-comment + * multi-line + */ + /// Another line! + /// Final line! pub mod one_fn { /// This is a doc-comment. /// Another line. @@ -419,6 +425,12 @@ mod generate_tests { }; let expected_tokens = quote! { + /// This is the one_fn module! + /** block doc-comment + * multi-line + */ + /// Another line! + /// Final line! pub mod one_fn { /// This is a doc-comment. /// Another line. @@ -437,6 +449,7 @@ mod generate_tests { #[doc(hidden)] pub fn rhai_module_generate() -> Module { let mut m = Module::new(); + m.set_doc("/// This is the one_fn module!\n/** block doc-comment\n * multi-line\n */\n/// Another line!\n/// Final line!"); rhai_generate_into_module(&mut m, false); m.build_index(); m From eb5b15e954b2faca73c60d1352d412ba887b14cb Mon Sep 17 00:00:00 2001 From: Stephen Chung Date: Thu, 1 Dec 2022 23:35:26 +0800 Subject: [PATCH 18/34] Capture global module docs in JSON. --- src/bin/rhai-repl.rs | 1 + src/serde/metadata.rs | 25 +++++++++++++++++++++++-- 2 files changed, 24 insertions(+), 2 deletions(-) diff --git a/src/bin/rhai-repl.rs b/src/bin/rhai-repl.rs index ccb6af92..afdff9dc 100644 --- a/src/bin/rhai-repl.rs +++ b/src/bin/rhai-repl.rs @@ -247,6 +247,7 @@ fn setup_editor() -> Editor<()> { rl } +/// Module containing sample functions. #[export_module] mod sample_functions { /// This is a sample function. diff --git a/src/serde/metadata.rs b/src/serde/metadata.rs index b6895277..31610850 100644 --- a/src/serde/metadata.rs +++ b/src/serde/metadata.rs @@ -168,6 +168,8 @@ pub fn gen_metadata_to_json( include_standard_packages: bool, ) -> serde_json::Result { let _ast = ast; + #[cfg(feature = "metadata")] + let mut global_doc = String::new(); let mut global = ModuleMetadata::new(); #[cfg(not(feature = "no_module"))] @@ -185,7 +187,16 @@ pub fn gen_metadata_to_json( .global_modules .iter() .filter(|m| !m.flags.contains(exclude_flags)) - .flat_map(|m| m.iter_fn()) + .flat_map(|m| { + #[cfg(feature = "metadata")] + if !m.doc().is_empty() { + if !global_doc.is_empty() { + global_doc.push('\n'); + } + global_doc.push_str(m.doc()); + } + m.iter_fn() + }) .for_each(|f| { #[allow(unused_mut)] let mut meta: FnMetadata = f.into(); @@ -213,7 +224,17 @@ pub fn gen_metadata_to_json( #[cfg(feature = "metadata")] if let Some(ast) = _ast { - global.doc = ast.doc(); + if !ast.doc().is_empty() { + if !global_doc.is_empty() { + global_doc.push('\n'); + } + global_doc.push_str(ast.doc()); + } + } + + #[cfg(feature = "metadata")] + { + global.doc = &global_doc; } serde_json::to_string_pretty(&global) From e10576abfffccd27f30d7e191032ccae25f36803 Mon Sep 17 00:00:00 2001 From: Stephen Chung Date: Fri, 2 Dec 2022 14:06:31 +0800 Subject: [PATCH 19/34] Process block comments better. --- CHANGELOG.md | 1 + src/api/compile.rs | 2 +- src/parser.rs | 47 ++++++++++++++++++++++++++++++++++++++-------- src/tokenizer.rs | 28 ++++++++++++++------------- 4 files changed, 56 insertions(+), 22 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0318804f..f132a40c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -44,6 +44,7 @@ Enhancements * `Engine::set_XXX` API can now be chained. * `EvalContext::scope_mut` now returns `&mut Scope` instead of `&mut &mut Scope`. * Line-style doc-comments are now merged into a single string to avoid creating many strings. Block-style doc-comments continue to be independent strings. +* Block-style doc-comments are now "un-indented" for better formatting. * Doc-comments on plugin modules are now captured in the module's `doc` field. diff --git a/src/api/compile.rs b/src/api/compile.rs index 2e878904..2b949efc 100644 --- a/src/api/compile.rs +++ b/src/api/compile.rs @@ -223,7 +223,7 @@ impl Engine { let state = &mut ParseState::new(scope, interned_strings, tc); let mut _ast = self.parse(stream.peekable(), state, optimization_level)?; #[cfg(feature = "metadata")] - _ast.set_doc(state.tokenizer_control.borrow().global_comments.join("\n")); + _ast.set_doc(&state.tokenizer_control.borrow().global_comments); Ok(_ast) } /// Compile a string containing an expression into an [`AST`], diff --git a/src/parser.rs b/src/parser.rs index d2584197..508b2852 100644 --- a/src/parser.rs +++ b/src/parser.rs @@ -492,6 +492,35 @@ fn match_token(input: &mut TokenStream, token: Token) -> (bool, Position) { } } +/// Process a block comment such that it indents properly relative to the start token. +#[cfg(not(feature = "no_function"))] +#[cfg(feature = "metadata")] +#[inline] +fn unindent_block_comment(comment: String, pos: usize) -> String { + if pos == 0 || !comment.contains('\n') { + return comment; + } + + let offset = comment + .split('\n') + .skip(1) + .map(|s| s.len() - s.trim_start().len()) + .min() + .unwrap_or(pos) + .min(pos); + + if offset == 0 { + return comment; + } + + comment + .split('\n') + .enumerate() + .map(|(i, s)| if i > 0 { &s[offset..] } else { s }) + .collect::>() + .join("\n") +} + /// Parse a variable name. fn parse_var_name(input: &mut TokenStream) -> ParseResult<(SmartString, Position)> { match input.next().expect(NEVER_ENDS) { @@ -3206,9 +3235,9 @@ impl Engine { #[cfg(not(feature = "no_function"))] #[cfg(feature = "metadata")] let comments = { - let mut comments = StaticVec::::new(); + let mut comments = StaticVec::::new(); let mut comments_pos = Position::NONE; - let mut buf = SmartString::new_const(); + let mut buf = String::new(); // Handle doc-comments. while let (Token::Comment(ref comment), pos) = input.peek().expect(NEVER_ENDS) { @@ -3224,15 +3253,17 @@ impl Engine { return Err(PERR::WrongDocComment.into_err(comments_pos)); } - match input.next().expect(NEVER_ENDS).0 { - Token::Comment(comment) => { + match input.next().expect(NEVER_ENDS) { + (Token::Comment(comment), pos) => { if comment.contains('\n') { // Assume block comment if !buf.is_empty() { comments.push(buf.clone()); buf.clear(); } - comments.push(*comment); + let c = + unindent_block_comment(*comment, pos.position().unwrap_or(1) - 1); + comments.push(c); } else { if !buf.is_empty() { buf.push('\n'); @@ -3246,7 +3277,7 @@ impl Engine { _ => return Err(PERR::WrongDocComment.into_err(comments_pos)), } } - token => unreachable!("Token::Comment expected but gets {:?}", token), + (token, ..) => unreachable!("Token::Comment expected but gets {:?}", token), } } @@ -3545,7 +3576,7 @@ impl Engine { settings: ParseSettings, #[cfg(not(feature = "no_function"))] #[cfg(feature = "metadata")] - comments: StaticVec, + comments: impl IntoIterator, ) -> ParseResult { let settings = settings; @@ -3633,7 +3664,7 @@ impl Engine { #[cfg(feature = "metadata")] comments: comments .into_iter() - .map(|s| s.to_string().into_boxed_str()) + .map(|s| s.into_boxed_str()) .collect::>() .into_boxed_slice(), }) diff --git a/src/tokenizer.rs b/src/tokenizer.rs index 433a07e1..1abec947 100644 --- a/src/tokenizer.rs +++ b/src/tokenizer.rs @@ -23,9 +23,9 @@ pub struct TokenizerControlBlock { /// Is the current tokenizer position within an interpolated text string? /// This flag allows switching the tokenizer back to _text_ parsing after an interpolation stream. pub is_within_text: bool, - /// Collection of global comments. + /// Global comments. #[cfg(feature = "metadata")] - pub global_comments: Vec, + pub global_comments: String, } impl TokenizerControlBlock { @@ -36,7 +36,7 @@ impl TokenizerControlBlock { Self { is_within_text: false, #[cfg(feature = "metadata")] - global_comments: Vec::new(), + global_comments: String::new(), } } } @@ -262,7 +262,7 @@ pub enum Token { /// A lexer error. LexError(Box), /// A comment block. - Comment(Box), + Comment(Box), /// A reserved symbol. Reserved(Box), /// A custom keyword. @@ -1149,7 +1149,7 @@ fn scan_block_comment( stream: &mut impl InputStream, level: usize, pos: &mut Position, - comment: Option<&mut SmartString>, + comment: Option<&mut String>, ) -> usize { let mut level = level; let mut comment = comment; @@ -1244,7 +1244,7 @@ fn get_next_token_inner( if state.comment_level > 0 { let start_pos = *pos; let mut comment = if state.include_comments { - Some(SmartString::new_const()) + Some(String::new()) } else { None }; @@ -1637,7 +1637,7 @@ fn get_next_token_inner( ('/', '/') => { eat_next(stream, pos); - let mut comment: Option = match stream.peek_next() { + let mut comment: Option = match stream.peek_next() { #[cfg(not(feature = "no_function"))] #[cfg(feature = "metadata")] Some('/') => { @@ -1680,11 +1680,13 @@ fn get_next_token_inner( if let Some(comment) = comment { match comment { #[cfg(feature = "metadata")] - _ if comment.starts_with("//!") => state - .tokenizer_control - .borrow_mut() - .global_comments - .push(comment), + _ if comment.starts_with("//!") => { + let g = &mut state.tokenizer_control.borrow_mut().global_comments; + if !g.is_empty() { + g.push('\n'); + } + g.push_str(&comment); + } _ => return Some((Token::Comment(comment.into()), start_pos)), } } @@ -1693,7 +1695,7 @@ fn get_next_token_inner( state.comment_level = 1; eat_next(stream, pos); - let mut comment: Option = match stream.peek_next() { + let mut comment: Option = match stream.peek_next() { #[cfg(not(feature = "no_function"))] #[cfg(feature = "metadata")] Some('*') => { From e53be6e8ed975f054136212da0d7bc1aef57a042 Mon Sep 17 00:00:00 2001 From: Stephen Chung Date: Fri, 2 Dec 2022 16:44:45 +0800 Subject: [PATCH 20/34] Avoid allocations in metadata. --- src/api/build_type.rs | 20 +++++------ src/api/deprecated.rs | 26 +++++++------- src/api/register.rs | 18 +++++----- src/func/register.rs | 79 +++++++++++++++++++++++-------------------- src/module/mod.rs | 22 ++++++------ 5 files changed, 86 insertions(+), 79 deletions(-) diff --git a/src/api/build_type.rs b/src/api/build_type.rs index af0e0ca8..8fa940e7 100644 --- a/src/api/build_type.rs +++ b/src/api/build_type.rs @@ -117,10 +117,10 @@ impl<'a, T: Variant + Clone> TypeBuilder<'a, T> { /// Register a custom function. #[inline(always)] - pub fn with_fn( + pub fn with_fn( &mut self, name: impl AsRef + Into, - method: impl RegisterNativeFunction, + method: impl RegisterNativeFunction, ) -> &mut Self { self.engine.register_fn(name, method); self @@ -152,7 +152,7 @@ impl<'a, T: Variant + Clone> TypeBuilder<'a, T> { pub fn with_get( &mut self, name: impl AsRef, - get_fn: impl RegisterNativeFunction<(Mut,), V, S> + crate::func::SendSync + 'static, + get_fn: impl RegisterNativeFunction<(Mut,), 1, V, S> + crate::func::SendSync + 'static, ) -> &mut Self { self.engine.register_get(name, get_fn); self @@ -165,7 +165,7 @@ impl<'a, T: Variant + Clone> TypeBuilder<'a, T> { pub fn with_set( &mut self, name: impl AsRef, - set_fn: impl RegisterNativeFunction<(Mut, V), (), S> + crate::func::SendSync + 'static, + set_fn: impl RegisterNativeFunction<(Mut, V), 2, (), S> + crate::func::SendSync + 'static, ) -> &mut Self { self.engine.register_set(name, set_fn); self @@ -180,8 +180,8 @@ impl<'a, T: Variant + Clone> TypeBuilder<'a, T> { pub fn with_get_set( &mut self, name: impl AsRef, - get_fn: impl RegisterNativeFunction<(Mut,), V, S1> + crate::func::SendSync + 'static, - set_fn: impl RegisterNativeFunction<(Mut, V), (), S2> + crate::func::SendSync + 'static, + get_fn: impl RegisterNativeFunction<(Mut,), 1, V, S1> + crate::func::SendSync + 'static, + set_fn: impl RegisterNativeFunction<(Mut, V), 2, (), S2> + crate::func::SendSync + 'static, ) -> &mut Self { self.engine.register_get_set(name, get_fn, set_fn); self @@ -198,7 +198,7 @@ impl<'a, T: Variant + Clone> TypeBuilder<'a, T> { #[inline(always)] pub fn with_indexer_get( &mut self, - get_fn: impl RegisterNativeFunction<(Mut, X), V, S> + crate::func::SendSync + 'static, + get_fn: impl RegisterNativeFunction<(Mut, X), 2, V, S> + crate::func::SendSync + 'static, ) -> &mut Self { self.engine.register_indexer_get(get_fn); self @@ -210,7 +210,7 @@ impl<'a, T: Variant + Clone> TypeBuilder<'a, T> { #[inline(always)] pub fn with_indexer_set( &mut self, - set_fn: impl RegisterNativeFunction<(Mut, X, V), (), S> + crate::func::SendSync + 'static, + set_fn: impl RegisterNativeFunction<(Mut, X, V), 3, (), S> + crate::func::SendSync + 'static, ) -> &mut Self { self.engine.register_indexer_set(set_fn); self @@ -222,8 +222,8 @@ impl<'a, T: Variant + Clone> TypeBuilder<'a, T> { #[inline(always)] pub fn with_indexer_get_set( &mut self, - get_fn: impl RegisterNativeFunction<(Mut, X), V, S1> + crate::func::SendSync + 'static, - set_fn: impl RegisterNativeFunction<(Mut, X, V), (), S2> + crate::func::SendSync + 'static, + get_fn: impl RegisterNativeFunction<(Mut, X), 2, V, S1> + crate::func::SendSync + 'static, + set_fn: impl RegisterNativeFunction<(Mut, X, V), 3, (), S2> + crate::func::SendSync + 'static, ) -> &mut Self { self.engine.register_indexer_get_set(get_fn, set_fn); self diff --git a/src/api/deprecated.rs b/src/api/deprecated.rs index 44bbc095..d090d6d4 100644 --- a/src/api/deprecated.rs +++ b/src/api/deprecated.rs @@ -185,10 +185,10 @@ impl Engine { /// This method will be removed in the next major version. #[deprecated(since = "1.9.1", note = "use `register_fn` instead")] #[inline(always)] - pub fn register_result_fn( + pub fn register_result_fn( &mut self, name: impl AsRef + Into, - func: impl RegisterNativeFunction>, + func: impl RegisterNativeFunction>, ) -> &mut Self { self.register_fn(name, func) } @@ -209,7 +209,7 @@ impl Engine { pub fn register_get_result( &mut self, name: impl AsRef, - get_fn: impl RegisterNativeFunction<(Mut,), V, RhaiResultOf> + get_fn: impl RegisterNativeFunction<(Mut,), 1, V, RhaiResultOf> + crate::func::SendSync + 'static, ) -> &mut Self { @@ -230,7 +230,7 @@ impl Engine { pub fn register_set_result( &mut self, name: impl AsRef, - set_fn: impl RegisterNativeFunction<(Mut, V), (), RhaiResultOf> + set_fn: impl RegisterNativeFunction<(Mut, V), 2, (), RhaiResultOf> + crate::func::SendSync + 'static, ) -> &mut Self { @@ -257,7 +257,7 @@ impl Engine { S, >( &mut self, - get_fn: impl RegisterNativeFunction<(Mut, X), V, RhaiResultOf> + get_fn: impl RegisterNativeFunction<(Mut, X), 2, V, RhaiResultOf> + crate::func::SendSync + 'static, ) -> &mut Self { @@ -282,7 +282,7 @@ impl Engine { S, >( &mut self, - set_fn: impl RegisterNativeFunction<(Mut, X, V), (), RhaiResultOf> + set_fn: impl RegisterNativeFunction<(Mut, X, V), 3, (), RhaiResultOf> + crate::func::SendSync + 'static, ) -> &mut Self { @@ -516,10 +516,10 @@ impl<'a, T: Variant + Clone> TypeBuilder<'a, T> { /// This method will be removed in the next major version. #[deprecated(since = "1.9.1", note = "use `with_fn` instead")] #[inline(always)] - pub fn with_result_fn(&mut self, name: N, method: F) -> &mut Self + pub fn with_result_fn(&mut self, name: X, method: F) -> &mut Self where - N: AsRef + Into, - F: RegisterNativeFunction>, + X: AsRef + Into, + F: RegisterNativeFunction>, { self.with_fn(name, method) } @@ -541,7 +541,7 @@ impl<'a, T: Variant + Clone> TypeBuilder<'a, T> { pub fn with_get_result( &mut self, name: impl AsRef, - get_fn: impl RegisterNativeFunction<(Mut,), V, RhaiResultOf> + get_fn: impl RegisterNativeFunction<(Mut,), 1, V, RhaiResultOf> + crate::func::SendSync + 'static, ) -> &mut Self { @@ -563,7 +563,7 @@ impl<'a, T: Variant + Clone> TypeBuilder<'a, T> { pub fn with_set_result( &mut self, name: impl AsRef, - set_fn: impl RegisterNativeFunction<(Mut, V), (), RhaiResultOf> + set_fn: impl RegisterNativeFunction<(Mut, V), 2, (), RhaiResultOf> + crate::func::SendSync + 'static, ) -> &mut Self { @@ -586,7 +586,7 @@ impl<'a, T: Variant + Clone> TypeBuilder<'a, T> { #[inline(always)] pub fn with_indexer_get_result( &mut self, - get_fn: impl RegisterNativeFunction<(Mut, X), V, RhaiResultOf> + get_fn: impl RegisterNativeFunction<(Mut, X), 2, V, RhaiResultOf> + crate::func::SendSync + 'static, ) -> &mut Self { @@ -607,7 +607,7 @@ impl<'a, T: Variant + Clone> TypeBuilder<'a, T> { #[inline(always)] pub fn with_indexer_set_result( &mut self, - set_fn: impl RegisterNativeFunction<(Mut, X, V), (), RhaiResultOf> + set_fn: impl RegisterNativeFunction<(Mut, X, V), 3, (), RhaiResultOf> + crate::func::SendSync + 'static, ) -> &mut Self { diff --git a/src/api/register.rs b/src/api/register.rs index 844120f2..37a7179d 100644 --- a/src/api/register.rs +++ b/src/api/register.rs @@ -56,7 +56,7 @@ impl Engine { /// # } /// ``` #[inline] - pub fn register_fn>( + pub fn register_fn>( &mut self, name: impl AsRef + Into, func: F, @@ -302,7 +302,7 @@ impl Engine { pub fn register_get( &mut self, name: impl AsRef, - get_fn: impl RegisterNativeFunction<(Mut,), V, S> + SendSync + 'static, + get_fn: impl RegisterNativeFunction<(Mut,), 1, V, S> + SendSync + 'static, ) -> &mut Self { self.register_fn(crate::engine::make_getter(name.as_ref()).as_str(), get_fn) } @@ -352,7 +352,7 @@ impl Engine { pub fn register_set( &mut self, name: impl AsRef, - set_fn: impl RegisterNativeFunction<(Mut, V), (), S> + SendSync + 'static, + set_fn: impl RegisterNativeFunction<(Mut, V), 2, (), S> + SendSync + 'static, ) -> &mut Self { self.register_fn(crate::engine::make_setter(name.as_ref()).as_str(), set_fn) } @@ -406,8 +406,8 @@ impl Engine { pub fn register_get_set( &mut self, name: impl AsRef, - get_fn: impl RegisterNativeFunction<(Mut,), V, S1> + SendSync + 'static, - set_fn: impl RegisterNativeFunction<(Mut, V), (), S2> + SendSync + 'static, + get_fn: impl RegisterNativeFunction<(Mut,), 1, V, S1> + SendSync + 'static, + set_fn: impl RegisterNativeFunction<(Mut, V), 2, (), S2> + SendSync + 'static, ) -> &mut Self { self.register_get(&name, get_fn).register_set(&name, set_fn) } @@ -464,7 +464,7 @@ impl Engine { #[inline] pub fn register_indexer_get( &mut self, - get_fn: impl RegisterNativeFunction<(Mut, X), V, S> + SendSync + 'static, + get_fn: impl RegisterNativeFunction<(Mut, X), 2, V, S> + SendSync + 'static, ) -> &mut Self { #[cfg(not(feature = "no_index"))] if TypeId::of::() == TypeId::of::() { @@ -539,7 +539,7 @@ impl Engine { #[inline] pub fn register_indexer_set( &mut self, - set_fn: impl RegisterNativeFunction<(Mut, X, V), (), S> + SendSync + 'static, + set_fn: impl RegisterNativeFunction<(Mut, X, V), 3, (), S> + SendSync + 'static, ) -> &mut Self { #[cfg(not(feature = "no_index"))] if TypeId::of::() == TypeId::of::() { @@ -621,8 +621,8 @@ impl Engine { S2, >( &mut self, - get_fn: impl RegisterNativeFunction<(Mut, X), V, S1> + SendSync + 'static, - set_fn: impl RegisterNativeFunction<(Mut, X, V), (), S2> + SendSync + 'static, + get_fn: impl RegisterNativeFunction<(Mut, X), 2, V, S1> + SendSync + 'static, + set_fn: impl RegisterNativeFunction<(Mut, X, V), 3, (), S2> + SendSync + 'static, ) -> &mut Self { self.register_indexer_get(get_fn) .register_indexer_set(set_fn) diff --git a/src/func/register.rs b/src/func/register.rs index bacd30cd..14186223 100644 --- a/src/func/register.rs +++ b/src/func/register.rs @@ -9,7 +9,10 @@ use crate::types::dynamic::{DynamicWriteLock, Variant}; use crate::{reify, Dynamic, NativeCallContext, RhaiResultOf}; #[cfg(feature = "no_std")] use std::prelude::v1::*; -use std::{any::TypeId, mem}; +use std::{ + any::{type_name, TypeId}, + mem, +}; /// These types are used to build a unique _marker_ tuple type for each combination /// of function parameter types in order to make each trait implementation unique. @@ -19,13 +22,13 @@ use std::{any::TypeId, mem}; /// /// # Examples /// -/// `RegisterNativeFunction<(Mut, B, Ref), R, ()>` = `Fn(&mut A, B, &C) -> R` +/// `RegisterNativeFunction<(Mut, B, Ref), 3, R, ()>` = `Fn(&mut A, B, &C) -> R` /// -/// `RegisterNativeFunction<(Mut, B, Ref), R, NativeCallContext>` = `Fn(NativeCallContext, &mut A, B, &C) -> R` +/// `RegisterNativeFunction<(Mut, B, Ref), 3, R, NativeCallContext>` = `Fn(NativeCallContext, &mut A, B, &C) -> R` /// -/// `RegisterNativeFunction<(Mut, B, Ref), R, RhaiResultOf<()>>` = `Fn(&mut A, B, &C) -> Result>` +/// `RegisterNativeFunction<(Mut, B, Ref), 3, R, RhaiResultOf<()>>` = `Fn(&mut A, B, &C) -> Result>` /// -/// `RegisterNativeFunction<(Mut, B, Ref), R, RhaiResultOf>` = `Fn(NativeCallContext, &mut A, B, &C) -> Result>` +/// `RegisterNativeFunction<(Mut, B, Ref), 3, R, RhaiResultOf>` = `Fn(NativeCallContext, &mut A, B, &C) -> Result>` /// /// These types are not actually used anywhere. pub struct Mut(T); @@ -66,18 +69,18 @@ pub fn by_value(data: &mut Dynamic) -> T { /// /// * `ARGS` - a tuple containing parameter types, with `&mut T` represented by `Mut`. /// * `RET` - return type of the function; if the function returns `Result`, it is the unwrapped inner value type. -pub trait RegisterNativeFunction { +pub trait RegisterNativeFunction { /// Convert this function into a [`CallableFunction`]. #[must_use] fn into_callable_function(self) -> CallableFunction; /// Get the type ID's of this function's parameters. #[must_use] - fn param_types() -> Box<[TypeId]>; + fn param_types() -> [TypeId; N]; /// _(metadata)_ Get the type names of this function's parameters. /// Exported under the `metadata` feature only. #[cfg(feature = "metadata")] #[must_use] - fn param_names() -> Box<[&'static str]>; + fn param_names() -> [&'static str; N]; /// _(metadata)_ Get the type ID of this function's return value. /// Exported under the `metadata` feature only. #[cfg(feature = "metadata")] @@ -89,7 +92,7 @@ pub trait RegisterNativeFunction { #[inline(always)] #[must_use] fn return_type_name() -> &'static str { - std::any::type_name::() + type_name::() } } @@ -124,23 +127,24 @@ macro_rules! check_constant { macro_rules! def_register { () => { - def_register!(imp Pure :); + def_register!(imp Pure : 0;); }; - (imp $abi:ident : $($par:ident => $arg:expr => $mark:ty => $param:ty => $let:stmt => $clone:expr),*) => { + (imp $abi:ident : $n:expr ; $($par:ident => $arg:expr => $mark:ty => $param:ty => $let:stmt => $clone:expr),*) => { // ^ function ABI type - // ^ function parameter generic type name (A, B, C etc.) - // ^ call argument(like A, *B, &mut C etc) - // ^ function parameter marker type (A, Ref or Mut) - // ^ function parameter actual type (A, &B or &mut C) - // ^ argument let statement + // ^ number of parameters + // ^ function parameter generic type name (A, B, C etc.) + // ^ call argument(like A, *B, &mut C etc) + // ^ function parameter marker type (A, Ref or Mut) + // ^ function parameter actual type (A, &B or &mut C) + // ^ argument let statement impl< FN: Fn($($param),*) -> RET + SendSync + 'static, $($par: Variant + Clone,)* RET: Variant + Clone - > RegisterNativeFunction<($($mark,)*), RET, ()> for FN { - #[inline(always)] fn param_types() -> Box<[TypeId]> { Box::new([$(TypeId::of::<$par>()),*]) } - #[cfg(feature = "metadata")] #[inline(always)] fn param_names() -> Box<[&'static str]> { Box::new([$(std::any::type_name::<$param>()),*]) } + > RegisterNativeFunction<($($mark,)*), $n, RET, ()> for FN { + #[inline(always)] fn param_types() -> [TypeId;$n] { [$(TypeId::of::<$par>()),*] } + #[cfg(feature = "metadata")] #[inline(always)] fn param_names() -> [&'static str;$n] { [$(type_name::<$param>()),*] } #[cfg(feature = "metadata")] #[inline(always)] fn return_type() -> TypeId { TypeId::of::() } #[inline(always)] fn into_callable_function(self) -> CallableFunction { CallableFunction::$abi(Shared::new(move |_ctx: NativeCallContext, args: &mut FnCallArgs| { @@ -163,9 +167,9 @@ macro_rules! def_register { FN: for<'a> Fn(NativeCallContext<'a>, $($param),*) -> RET + SendSync + 'static, $($par: Variant + Clone,)* RET: Variant + Clone - > RegisterNativeFunction<($($mark,)*), RET, NativeCallContext<'static>> for FN { - #[inline(always)] fn param_types() -> Box<[TypeId]> { Box::new([$(TypeId::of::<$par>()),*]) } - #[cfg(feature = "metadata")] #[inline(always)] fn param_names() -> Box<[&'static str]> { Box::new([$(std::any::type_name::<$param>()),*]) } + > RegisterNativeFunction<($($mark,)*), $n, RET, NativeCallContext<'static>> for FN { + #[inline(always)] fn param_types() -> [TypeId;$n] { [$(TypeId::of::<$par>()),*] } + #[cfg(feature = "metadata")] #[inline(always)] fn param_names() -> [&'static str;$n] { [$(type_name::<$param>()),*] } #[cfg(feature = "metadata")] #[inline(always)] fn return_type() -> TypeId { TypeId::of::() } #[inline(always)] fn into_callable_function(self) -> CallableFunction { CallableFunction::$abi(Shared::new(move |ctx: NativeCallContext, args: &mut FnCallArgs| { @@ -188,11 +192,11 @@ macro_rules! def_register { FN: Fn($($param),*) -> RhaiResultOf + SendSync + 'static, $($par: Variant + Clone,)* RET: Variant + Clone - > RegisterNativeFunction<($($mark,)*), RET, RhaiResultOf<()>> for FN { - #[inline(always)] fn param_types() -> Box<[TypeId]> { Box::new([$(TypeId::of::<$par>()),*]) } - #[cfg(feature = "metadata")] #[inline(always)] fn param_names() -> Box<[&'static str]> { Box::new([$(std::any::type_name::<$param>()),*]) } + > RegisterNativeFunction<($($mark,)*), $n, RET, RhaiResultOf<()>> for FN { + #[inline(always)] fn param_types() -> [TypeId;$n] { [$(TypeId::of::<$par>()),*] } + #[cfg(feature = "metadata")] #[inline(always)] fn param_names() -> [&'static str;$n] { [$(type_name::<$param>()),*] } #[cfg(feature = "metadata")] #[inline(always)] fn return_type() -> TypeId { TypeId::of::>() } - #[cfg(feature = "metadata")] #[inline(always)] fn return_type_name() -> &'static str { std::any::type_name::>() } + #[cfg(feature = "metadata")] #[inline(always)] fn return_type_name() -> &'static str { type_name::>() } #[inline(always)] fn into_callable_function(self) -> CallableFunction { CallableFunction::$abi(Shared::new(move |_ctx: NativeCallContext, args: &mut FnCallArgs| { // The arguments are assumed to be of the correct number and types! @@ -211,11 +215,11 @@ macro_rules! def_register { FN: for<'a> Fn(NativeCallContext<'a>, $($param),*) -> RhaiResultOf + SendSync + 'static, $($par: Variant + Clone,)* RET: Variant + Clone - > RegisterNativeFunction<($($mark,)*), RET, RhaiResultOf>> for FN { - #[inline(always)] fn param_types() -> Box<[TypeId]> { Box::new([$(TypeId::of::<$par>()),*]) } - #[cfg(feature = "metadata")] #[inline(always)] fn param_names() -> Box<[&'static str]> { Box::new([$(std::any::type_name::<$param>()),*]) } + > RegisterNativeFunction<($($mark,)*), $n, RET, RhaiResultOf>> for FN { + #[inline(always)] fn param_types() -> [TypeId;$n] { [$(TypeId::of::<$par>()),*] } + #[cfg(feature = "metadata")] #[inline(always)] fn param_names() -> [&'static str;$n] { [$(type_name::<$param>()),*] } #[cfg(feature = "metadata")] #[inline(always)] fn return_type() -> TypeId { TypeId::of::>() } - #[cfg(feature = "metadata")] #[inline(always)] fn return_type_name() -> &'static str { std::any::type_name::>() } + #[cfg(feature = "metadata")] #[inline(always)] fn return_type_name() -> &'static str { type_name::>() } #[inline(always)] fn into_callable_function(self) -> CallableFunction { CallableFunction::$abi(Shared::new(move |ctx: NativeCallContext, args: &mut FnCallArgs| { // The arguments are assumed to be of the correct number and types! @@ -232,19 +236,20 @@ macro_rules! def_register { //def_register!(imp_pop $($par => $mark => $param),*); }; - ($p0:ident $(, $p:ident)*) => { - def_register!(imp Pure : $p0 => $p0 => $p0 => $p0 => let $p0 => by_value $(, $p => $p => $p => $p => let $p => by_value)*); - def_register!(imp Method : $p0 => &mut $p0 => Mut<$p0> => &mut $p0 => let mut $p0 => by_ref $(, $p => $p => $p => $p => let $p => by_value)*); + ($p0:ident:$n0:expr $(, $p:ident: $n:expr)*) => { + def_register!(imp Pure : $n0 ; $p0 => $p0 => $p0 => $p0 => let $p0 => by_value $(, $p => $p => $p => $p => let $p => by_value)*); + def_register!(imp Method : $n0 ; $p0 => &mut $p0 => Mut<$p0> => &mut $p0 => let mut $p0 => by_ref $(, $p => $p => $p => $p => let $p => by_value)*); // ^ CallableFunction constructor - // ^ first parameter passed through - // ^ others passed by value (by_value) + // ^ number of arguments + // ^ first parameter passed through + // ^ others passed by value (by_value) // Currently does not support first argument which is a reference, as there will be // conflicting implementations since &T: Any and T: Any cannot be distinguished //def_register!(imp $p0 => Ref<$p0> => &$p0 => by_ref $(, $p => $p => $p => by_value)*); - def_register!($($p),*); + def_register!($($p: $n),*); }; } -def_register!(A, B, C, D, E, F, G, H, J, K, L, M, N, P, Q, R, S, T, U, V); +def_register!(A:20, B:19, C:18, D:17, E:16, F:15, G:14, H:13, J:12, K:11, L:10, M:9, N:8, P:7, Q:6, R:5, S:4, T:3, U:2, V:1); diff --git a/src/module/mod.rs b/src/module/mod.rs index 6f5854f7..af70abb7 100644 --- a/src/module/mod.rs +++ b/src/module/mod.rs @@ -1237,14 +1237,14 @@ impl Module { /// assert!(module.contains_fn(hash)); /// ``` #[inline(always)] - pub fn set_native_fn( + pub fn set_native_fn( &mut self, name: impl AsRef + Into, func: F, ) -> u64 where T: Variant + Clone, - F: RegisterNativeFunction>, + F: RegisterNativeFunction>, { self.set_fn( name, @@ -1280,7 +1280,7 @@ impl Module { where A: Variant + Clone, T: Variant + Clone, - F: RegisterNativeFunction<(Mut,), T, RhaiResultOf> + SendSync + 'static, + F: RegisterNativeFunction<(Mut,), 1, T, RhaiResultOf> + SendSync + 'static, { self.set_fn( crate::engine::make_getter(name.as_ref()).as_str(), @@ -1321,7 +1321,7 @@ impl Module { where A: Variant + Clone, T: Variant + Clone, - F: RegisterNativeFunction<(Mut, T), (), RhaiResultOf> + SendSync + 'static, + F: RegisterNativeFunction<(Mut, T), 2, (), RhaiResultOf> + SendSync + 'static, { self.set_fn( crate::engine::make_setter(name.as_ref()).as_str(), @@ -1366,8 +1366,8 @@ impl Module { pub fn set_getter_setter_fn( &mut self, name: impl AsRef, - getter: impl RegisterNativeFunction<(Mut,), T, RhaiResultOf> + SendSync + 'static, - setter: impl RegisterNativeFunction<(Mut, T), (), RhaiResultOf> + SendSync + 'static, + getter: impl RegisterNativeFunction<(Mut,), 1, T, RhaiResultOf> + SendSync + 'static, + setter: impl RegisterNativeFunction<(Mut, T), 2, (), RhaiResultOf> + SendSync + 'static, ) -> (u64, u64) { ( self.set_getter_fn(name.as_ref(), getter), @@ -1409,7 +1409,7 @@ impl Module { A: Variant + Clone, B: Variant + Clone, T: Variant + Clone, - F: RegisterNativeFunction<(Mut, B), T, RhaiResultOf> + SendSync + 'static, + F: RegisterNativeFunction<(Mut, B), 2, T, RhaiResultOf> + SendSync + 'static, { #[cfg(not(feature = "no_index"))] if TypeId::of::() == TypeId::of::() { @@ -1470,7 +1470,7 @@ impl Module { A: Variant + Clone, B: Variant + Clone, T: Variant + Clone, - F: RegisterNativeFunction<(Mut, B, T), (), RhaiResultOf> + SendSync + 'static, + F: RegisterNativeFunction<(Mut, B, T), 3, (), RhaiResultOf> + SendSync + 'static, { #[cfg(not(feature = "no_index"))] if TypeId::of::() == TypeId::of::() { @@ -1542,8 +1542,10 @@ impl Module { S2, >( &mut self, - get_fn: impl RegisterNativeFunction<(Mut, B), T, RhaiResultOf> + SendSync + 'static, - set_fn: impl RegisterNativeFunction<(Mut, B, T), (), RhaiResultOf> + SendSync + 'static, + get_fn: impl RegisterNativeFunction<(Mut, B), 2, T, RhaiResultOf> + SendSync + 'static, + set_fn: impl RegisterNativeFunction<(Mut, B, T), 3, (), RhaiResultOf> + + SendSync + + 'static, ) -> (u64, u64) { ( self.set_indexer_get_fn(get_fn), From b4278fa251792cd071b03f032ab5321128108cd8 Mon Sep 17 00:00:00 2001 From: Stephen Chung Date: Fri, 2 Dec 2022 17:09:48 +0800 Subject: [PATCH 21/34] Fix test. --- tests/comments.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/comments.rs b/tests/comments.rs index 38da0c1f..16ed38cf 100644 --- a/tests/comments.rs +++ b/tests/comments.rs @@ -77,7 +77,7 @@ fn test_comments_doc() -> Result<(), Box> { assert_eq!( ast.iter_functions().next().unwrap().comments[0], - "/** Hello world\n ** how are you?\n **/" + "/** Hello world\n** how are you?\n**/" ); assert!(engine From feb764a20355c022aa892cf46729e02d09288c94 Mon Sep 17 00:00:00 2001 From: Stephen Chung Date: Fri, 2 Dec 2022 17:37:35 +0800 Subject: [PATCH 22/34] Fix test. --- tests/comments.rs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tests/comments.rs b/tests/comments.rs index 16ed38cf..682ac467 100644 --- a/tests/comments.rs +++ b/tests/comments.rs @@ -77,6 +77,9 @@ fn test_comments_doc() -> Result<(), Box> { assert_eq!( ast.iter_functions().next().unwrap().comments[0], + #[cfg(feature = "no_position")] + "/** Hello world\n ** how are you?\n **/", + #[cfg(not(feature = "no_position"))] "/** Hello world\n** how are you?\n**/" ); From f41bdb7769709c9210207a1b57c755da43887bd5 Mon Sep 17 00:00:00 2001 From: Stephen Chung Date: Sat, 3 Dec 2022 09:14:16 +0800 Subject: [PATCH 23/34] Hard code number of parameters. --- src/func/register.rs | 83 ++++++++++++++++++++++++-------------------- 1 file changed, 46 insertions(+), 37 deletions(-) diff --git a/src/func/register.rs b/src/func/register.rs index 14186223..3c5dd5be 100644 --- a/src/func/register.rs +++ b/src/func/register.rs @@ -1,10 +1,14 @@ //! Module which defines the function registration mechanism. #![allow(non_snake_case)] +#![allow(unused_imports)] +#![allow(unused_mut)] +#![allow(unused_variables)] use super::call::FnCallArgs; use super::callable_function::CallableFunction; use super::native::{SendSync, Shared}; +use crate::engine::{FN_IDX_SET, FN_SET}; use crate::types::dynamic::{DynamicWriteLock, Variant}; use crate::{reify, Dynamic, NativeCallContext, RhaiResultOf}; #[cfg(feature = "no_std")] @@ -69,18 +73,21 @@ pub fn by_value(data: &mut Dynamic) -> T { /// /// * `ARGS` - a tuple containing parameter types, with `&mut T` represented by `Mut`. /// * `RET` - return type of the function; if the function returns `Result`, it is the unwrapped inner value type. -pub trait RegisterNativeFunction { +pub trait RegisterNativeFunction { /// Convert this function into a [`CallableFunction`]. #[must_use] fn into_callable_function(self) -> CallableFunction; /// Get the type ID's of this function's parameters. #[must_use] - fn param_types() -> [TypeId; N]; + fn param_types() -> [TypeId; NUM]; + /// Get the number of parameters for this function. + #[must_use] + fn num_params() -> usize; /// _(metadata)_ Get the type names of this function's parameters. /// Exported under the `metadata` feature only. #[cfg(feature = "metadata")] #[must_use] - fn param_names() -> [&'static str; N]; + fn param_names() -> [&'static str; NUM]; /// _(metadata)_ Get the type ID of this function's return value. /// Exported under the `metadata` feature only. #[cfg(feature = "metadata")] @@ -99,20 +106,19 @@ pub trait RegisterNativeFunction { const EXPECT_ARGS: &str = "arguments"; macro_rules! check_constant { - ($abi:ident, $ctx:ident, $args:ident) => { + ($abi:ident, $n:expr, $ctx:ident, $args:ident) => { #[cfg(any(not(feature = "no_object"), not(feature = "no_index")))] - if stringify!($abi) == "Method" && !$args.is_empty() { - let deny = match $args.len() { - #[cfg(not(feature = "no_index"))] - 3 if $ctx.fn_name() == crate::engine::FN_IDX_SET && $args[0].is_read_only() => true, - #[cfg(not(feature = "no_object"))] - 2 if $ctx.fn_name().starts_with(crate::engine::FN_SET) - && $args[0].is_read_only() => - { - true - } - _ => false, - }; + if stringify!($abi) == "Method" { + let mut deny = false; + + #[cfg(not(feature = "no_index"))] + if $n == 3 && !deny { + deny = $ctx.fn_name() == FN_IDX_SET && $args[0].is_read_only(); + } + #[cfg(not(feature = "no_object"))] + if $n == 2 && !deny { + deny = $ctx.fn_name().starts_with(FN_SET) && $args[0].is_read_only(); + } if deny { return Err(crate::ERR::ErrorNonPureMethodCallOnConstant( @@ -129,14 +135,14 @@ macro_rules! def_register { () => { def_register!(imp Pure : 0;); }; - (imp $abi:ident : $n:expr ; $($par:ident => $arg:expr => $mark:ty => $param:ty => $let:stmt => $clone:expr),*) => { + (imp $abi:ident : $n:expr ; $($par:ident => $arg:expr => $mark:ty => $param:ty => $clone:expr),*) => { // ^ function ABI type // ^ number of parameters // ^ function parameter generic type name (A, B, C etc.) // ^ call argument(like A, *B, &mut C etc) // ^ function parameter marker type (A, Ref or Mut) // ^ function parameter actual type (A, &B or &mut C) - // ^ argument let statement + // ^ parameter access function (by_value or by_ref) impl< FN: Fn($($param),*) -> RET + SendSync + 'static, @@ -144,15 +150,16 @@ macro_rules! def_register { RET: Variant + Clone > RegisterNativeFunction<($($mark,)*), $n, RET, ()> for FN { #[inline(always)] fn param_types() -> [TypeId;$n] { [$(TypeId::of::<$par>()),*] } + #[inline(always)] fn num_params() -> usize { $n } #[cfg(feature = "metadata")] #[inline(always)] fn param_names() -> [&'static str;$n] { [$(type_name::<$param>()),*] } #[cfg(feature = "metadata")] #[inline(always)] fn return_type() -> TypeId { TypeId::of::() } #[inline(always)] fn into_callable_function(self) -> CallableFunction { - CallableFunction::$abi(Shared::new(move |_ctx: NativeCallContext, args: &mut FnCallArgs| { + CallableFunction::$abi(Shared::new(move |ctx: NativeCallContext, args: &mut FnCallArgs| { // The arguments are assumed to be of the correct number and types! - check_constant!($abi, _ctx, args); + check_constant!($abi, $n, ctx, args); - let mut _drain = args.iter_mut(); - $($let $par = ($clone)(_drain.next().expect(EXPECT_ARGS)); )* + let mut drain = args.iter_mut(); + $(let mut $par = $clone(drain.next().expect(EXPECT_ARGS)); )* // Call the function with each argument value let r = self($($arg),*); @@ -169,15 +176,16 @@ macro_rules! def_register { RET: Variant + Clone > RegisterNativeFunction<($($mark,)*), $n, RET, NativeCallContext<'static>> for FN { #[inline(always)] fn param_types() -> [TypeId;$n] { [$(TypeId::of::<$par>()),*] } + #[inline(always)] fn num_params() -> usize { $n } #[cfg(feature = "metadata")] #[inline(always)] fn param_names() -> [&'static str;$n] { [$(type_name::<$param>()),*] } #[cfg(feature = "metadata")] #[inline(always)] fn return_type() -> TypeId { TypeId::of::() } #[inline(always)] fn into_callable_function(self) -> CallableFunction { CallableFunction::$abi(Shared::new(move |ctx: NativeCallContext, args: &mut FnCallArgs| { // The arguments are assumed to be of the correct number and types! - check_constant!($abi, ctx, args); + check_constant!($abi, $n, ctx, args); - let mut _drain = args.iter_mut(); - $($let $par = ($clone)(_drain.next().expect(EXPECT_ARGS)); )* + let mut drain = args.iter_mut(); + $(let mut $par = $clone(drain.next().expect(EXPECT_ARGS)); )* // Call the function with each argument value let r = self(ctx, $($arg),*); @@ -194,16 +202,17 @@ macro_rules! def_register { RET: Variant + Clone > RegisterNativeFunction<($($mark,)*), $n, RET, RhaiResultOf<()>> for FN { #[inline(always)] fn param_types() -> [TypeId;$n] { [$(TypeId::of::<$par>()),*] } + #[inline(always)] fn num_params() -> usize { $n } #[cfg(feature = "metadata")] #[inline(always)] fn param_names() -> [&'static str;$n] { [$(type_name::<$param>()),*] } #[cfg(feature = "metadata")] #[inline(always)] fn return_type() -> TypeId { TypeId::of::>() } #[cfg(feature = "metadata")] #[inline(always)] fn return_type_name() -> &'static str { type_name::>() } #[inline(always)] fn into_callable_function(self) -> CallableFunction { - CallableFunction::$abi(Shared::new(move |_ctx: NativeCallContext, args: &mut FnCallArgs| { + CallableFunction::$abi(Shared::new(move |ctx: NativeCallContext, args: &mut FnCallArgs| { // The arguments are assumed to be of the correct number and types! - check_constant!($abi, _ctx, args); + check_constant!($abi, $n, ctx, args); - let mut _drain = args.iter_mut(); - $($let $par = ($clone)(_drain.next().expect(EXPECT_ARGS)); )* + let mut drain = args.iter_mut(); + $(let mut $par = $clone(drain.next().expect(EXPECT_ARGS)); )* // Call the function with each argument value self($($arg),*).map(Dynamic::from) @@ -217,16 +226,17 @@ macro_rules! def_register { RET: Variant + Clone > RegisterNativeFunction<($($mark,)*), $n, RET, RhaiResultOf>> for FN { #[inline(always)] fn param_types() -> [TypeId;$n] { [$(TypeId::of::<$par>()),*] } + #[inline(always)] fn num_params() -> usize { $n } #[cfg(feature = "metadata")] #[inline(always)] fn param_names() -> [&'static str;$n] { [$(type_name::<$param>()),*] } #[cfg(feature = "metadata")] #[inline(always)] fn return_type() -> TypeId { TypeId::of::>() } #[cfg(feature = "metadata")] #[inline(always)] fn return_type_name() -> &'static str { type_name::>() } #[inline(always)] fn into_callable_function(self) -> CallableFunction { CallableFunction::$abi(Shared::new(move |ctx: NativeCallContext, args: &mut FnCallArgs| { // The arguments are assumed to be of the correct number and types! - check_constant!($abi, ctx, args); + check_constant!($abi, $n, ctx, args); - let mut _drain = args.iter_mut(); - $($let $par = ($clone)(_drain.next().expect(EXPECT_ARGS)); )* + let mut drain = args.iter_mut(); + $(let mut $par = $clone(drain.next().expect(EXPECT_ARGS)); )* // Call the function with each argument value self(ctx, $($arg),*).map(Dynamic::from) @@ -237,12 +247,11 @@ macro_rules! def_register { //def_register!(imp_pop $($par => $mark => $param),*); }; ($p0:ident:$n0:expr $(, $p:ident: $n:expr)*) => { - def_register!(imp Pure : $n0 ; $p0 => $p0 => $p0 => $p0 => let $p0 => by_value $(, $p => $p => $p => $p => let $p => by_value)*); - def_register!(imp Method : $n0 ; $p0 => &mut $p0 => Mut<$p0> => &mut $p0 => let mut $p0 => by_ref $(, $p => $p => $p => $p => let $p => by_value)*); + def_register!(imp Pure : $n0 ; $p0 => $p0 => $p0 => $p0 => by_value $(, $p => $p => $p => $p => by_value)*); + def_register!(imp Method : $n0 ; $p0 => &mut $p0 => Mut<$p0> => &mut $p0 => by_ref $(, $p => $p => $p => $p => by_value)*); // ^ CallableFunction constructor - // ^ number of arguments - // ^ first parameter passed through - // ^ others passed by value (by_value) + // ^ number of arguments ^ first parameter passed through + // ^ others passed by value (by_value) // Currently does not support first argument which is a reference, as there will be // conflicting implementations since &T: Any and T: Any cannot be distinguished From 09272d08e9b385b7fc5341604fc21a4d9ebe8ef2 Mon Sep 17 00:00:00 2001 From: Stephen Chung Date: Sat, 3 Dec 2022 10:05:15 +0800 Subject: [PATCH 24/34] Add documentation. --- src/func/register.rs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/func/register.rs b/src/func/register.rs index 3c5dd5be..0144eeba 100644 --- a/src/func/register.rs +++ b/src/func/register.rs @@ -72,7 +72,9 @@ pub fn by_value(data: &mut Dynamic) -> T { /// # Type Parameters /// /// * `ARGS` - a tuple containing parameter types, with `&mut T` represented by `Mut`. +/// * `NUM` - a constant generic containing the number of parameters, must be consistent with `ARGS`. /// * `RET` - return type of the function; if the function returns `Result`, it is the unwrapped inner value type. +/// * `RESULT` - a type to distinguish between multiple forms. Must match the function signature. pub trait RegisterNativeFunction { /// Convert this function into a [`CallableFunction`]. #[must_use] From 6e99e391e175269cb5035a3fa18d2a0d88892537 Mon Sep 17 00:00:00 2001 From: Stephen Chung Date: Sat, 3 Dec 2022 10:50:58 +0800 Subject: [PATCH 25/34] Fix test. --- tests/comments.rs | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/tests/comments.rs b/tests/comments.rs index 682ac467..3ad7e4ca 100644 --- a/tests/comments.rs +++ b/tests/comments.rs @@ -75,13 +75,16 @@ fn test_comments_doc() -> Result<(), Box> { ", )?; + #[cfg(not(feature = "no_position"))] assert_eq!( ast.iter_functions().next().unwrap().comments[0], - #[cfg(feature = "no_position")] - "/** Hello world\n ** how are you?\n **/", - #[cfg(not(feature = "no_position"))] "/** Hello world\n** how are you?\n**/" ); + #[cfg(feature = "no_position")] + assert_eq!( + ast.iter_functions().next().unwrap().comments[0], + "/** Hello world\n ** how are you?\n **/", + ); assert!(engine .compile( From 4e33bcfa0a2305f01505a7a7fd32d4ff8ef96060 Mon Sep 17 00:00:00 2001 From: Stephen Chung Date: Sat, 3 Dec 2022 11:23:34 +0800 Subject: [PATCH 26/34] Use constant booleans for trait. --- src/api/build_type.rs | 61 +++++++++++++++++++++++++++++++------------ src/api/deprecated.rs | 51 ++++++++++++++++++------------------ src/api/register.rs | 60 ++++++++++++++++++++++++++++++------------ src/func/register.rs | 31 +++++++++++----------- src/module/mod.rs | 41 +++++++++++++++-------------- 5 files changed, 152 insertions(+), 92 deletions(-) diff --git a/src/api/build_type.rs b/src/api/build_type.rs index 8fa940e7..08b483d0 100644 --- a/src/api/build_type.rs +++ b/src/api/build_type.rs @@ -117,10 +117,10 @@ impl<'a, T: Variant + Clone> TypeBuilder<'a, T> { /// Register a custom function. #[inline(always)] - pub fn with_fn( + pub fn with_fn( &mut self, name: impl AsRef + Into, - method: impl RegisterNativeFunction, + method: impl RegisterNativeFunction, ) -> &mut Self { self.engine.register_fn(name, method); self @@ -149,10 +149,10 @@ impl<'a, T: Variant + Clone> TypeBuilder<'a, T> { /// /// Not available under `no_object`. #[inline(always)] - pub fn with_get( + pub fn with_get( &mut self, name: impl AsRef, - get_fn: impl RegisterNativeFunction<(Mut,), 1, V, S> + crate::func::SendSync + 'static, + get_fn: impl RegisterNativeFunction<(Mut,), 1, C, V, L> + crate::func::SendSync + 'static, ) -> &mut Self { self.engine.register_get(name, get_fn); self @@ -162,10 +162,10 @@ impl<'a, T: Variant + Clone> TypeBuilder<'a, T> { /// /// Not available under `no_object`. #[inline(always)] - pub fn with_set( + pub fn with_set( &mut self, name: impl AsRef, - set_fn: impl RegisterNativeFunction<(Mut, V), 2, (), S> + crate::func::SendSync + 'static, + set_fn: impl RegisterNativeFunction<(Mut, V), 2, C, (), L> + crate::func::SendSync + 'static, ) -> &mut Self { self.engine.register_set(name, set_fn); self @@ -177,11 +177,19 @@ impl<'a, T: Variant + Clone> TypeBuilder<'a, T> { /// /// Not available under `no_object`. #[inline(always)] - pub fn with_get_set( + pub fn with_get_set< + const C1: bool, + const C2: bool, + V: Variant + Clone, + const L1: bool, + const L2: bool, + >( &mut self, name: impl AsRef, - get_fn: impl RegisterNativeFunction<(Mut,), 1, V, S1> + crate::func::SendSync + 'static, - set_fn: impl RegisterNativeFunction<(Mut, V), 2, (), S2> + crate::func::SendSync + 'static, + get_fn: impl RegisterNativeFunction<(Mut,), 1, C1, V, L1> + crate::func::SendSync + 'static, + set_fn: impl RegisterNativeFunction<(Mut, V), 2, C2, (), L2> + + crate::func::SendSync + + 'static, ) -> &mut Self { self.engine.register_get_set(name, get_fn, set_fn); self @@ -196,9 +204,14 @@ impl<'a, T: Variant + Clone> TypeBuilder<'a, T> { /// /// Not available under both `no_index` and `no_object`. #[inline(always)] - pub fn with_indexer_get( + pub fn with_indexer_get< + X: Variant + Clone, + const C: bool, + V: Variant + Clone, + const L: bool, + >( &mut self, - get_fn: impl RegisterNativeFunction<(Mut, X), 2, V, S> + crate::func::SendSync + 'static, + get_fn: impl RegisterNativeFunction<(Mut, X), 2, C, V, L> + crate::func::SendSync + 'static, ) -> &mut Self { self.engine.register_indexer_get(get_fn); self @@ -208,9 +221,16 @@ impl<'a, T: Variant + Clone> TypeBuilder<'a, T> { /// /// Not available under both `no_index` and `no_object`. #[inline(always)] - pub fn with_indexer_set( + pub fn with_indexer_set< + X: Variant + Clone, + const C: bool, + V: Variant + Clone, + const L: bool, + >( &mut self, - set_fn: impl RegisterNativeFunction<(Mut, X, V), 3, (), S> + crate::func::SendSync + 'static, + set_fn: impl RegisterNativeFunction<(Mut, X, V), 3, C, (), L> + + crate::func::SendSync + + 'static, ) -> &mut Self { self.engine.register_indexer_set(set_fn); self @@ -220,10 +240,19 @@ impl<'a, T: Variant + Clone> TypeBuilder<'a, T> { /// /// Not available under both `no_index` and `no_object`. #[inline(always)] - pub fn with_indexer_get_set( + pub fn with_indexer_get_set< + X: Variant + Clone, + const C1: bool, + const C2: bool, + V: Variant + Clone, + const L1: bool, + const L2: bool, + >( &mut self, - get_fn: impl RegisterNativeFunction<(Mut, X), 2, V, S1> + crate::func::SendSync + 'static, - set_fn: impl RegisterNativeFunction<(Mut, X, V), 3, (), S2> + crate::func::SendSync + 'static, + get_fn: impl RegisterNativeFunction<(Mut, X), 2, C1, V, L1> + crate::func::SendSync + 'static, + set_fn: impl RegisterNativeFunction<(Mut, X, V), 3, C2, (), L2> + + crate::func::SendSync + + 'static, ) -> &mut Self { self.engine.register_indexer_get_set(get_fn, set_fn); self diff --git a/src/api/deprecated.rs b/src/api/deprecated.rs index d090d6d4..b40d936a 100644 --- a/src/api/deprecated.rs +++ b/src/api/deprecated.rs @@ -185,10 +185,10 @@ impl Engine { /// This method will be removed in the next major version. #[deprecated(since = "1.9.1", note = "use `register_fn` instead")] #[inline(always)] - pub fn register_result_fn( + pub fn register_result_fn( &mut self, name: impl AsRef + Into, - func: impl RegisterNativeFunction>, + func: impl RegisterNativeFunction, ) -> &mut Self { self.register_fn(name, func) } @@ -206,12 +206,10 @@ impl Engine { #[deprecated(since = "1.9.1", note = "use `register_get` instead")] #[cfg(not(feature = "no_object"))] #[inline(always)] - pub fn register_get_result( + pub fn register_get_result( &mut self, name: impl AsRef, - get_fn: impl RegisterNativeFunction<(Mut,), 1, V, RhaiResultOf> - + crate::func::SendSync - + 'static, + get_fn: impl RegisterNativeFunction<(Mut,), 1, C, V, true> + crate::func::SendSync + 'static, ) -> &mut Self { self.register_get(name, get_fn) } @@ -227,10 +225,10 @@ impl Engine { #[deprecated(since = "1.9.1", note = "use `register_set` instead")] #[cfg(not(feature = "no_object"))] #[inline(always)] - pub fn register_set_result( + pub fn register_set_result( &mut self, name: impl AsRef, - set_fn: impl RegisterNativeFunction<(Mut, V), 2, (), RhaiResultOf> + set_fn: impl RegisterNativeFunction<(Mut, V), 2, C, (), true> + crate::func::SendSync + 'static, ) -> &mut Self { @@ -254,10 +252,10 @@ impl Engine { T: Variant + Clone, X: Variant + Clone, V: Variant + Clone, - S, + const C: bool, >( &mut self, - get_fn: impl RegisterNativeFunction<(Mut, X), 2, V, RhaiResultOf> + get_fn: impl RegisterNativeFunction<(Mut, X), 2, C, V, true> + crate::func::SendSync + 'static, ) -> &mut Self { @@ -279,10 +277,10 @@ impl Engine { T: Variant + Clone, X: Variant + Clone, V: Variant + Clone, - S, + const C: bool, >( &mut self, - set_fn: impl RegisterNativeFunction<(Mut, X, V), 3, (), RhaiResultOf> + set_fn: impl RegisterNativeFunction<(Mut, X, V), 3, C, (), true> + crate::func::SendSync + 'static, ) -> &mut Self { @@ -516,10 +514,15 @@ impl<'a, T: Variant + Clone> TypeBuilder<'a, T> { /// This method will be removed in the next major version. #[deprecated(since = "1.9.1", note = "use `with_fn` instead")] #[inline(always)] - pub fn with_result_fn(&mut self, name: X, method: F) -> &mut Self + pub fn with_result_fn( + &mut self, + name: S, + method: F, + ) -> &mut Self where - X: AsRef + Into, - F: RegisterNativeFunction>, + S: AsRef + Into, + R: Variant + Clone, + F: RegisterNativeFunction, { self.with_fn(name, method) } @@ -538,12 +541,10 @@ impl<'a, T: Variant + Clone> TypeBuilder<'a, T> { #[deprecated(since = "1.9.1", note = "use `with_get` instead")] #[cfg(not(feature = "no_object"))] #[inline(always)] - pub fn with_get_result( + pub fn with_get_result( &mut self, name: impl AsRef, - get_fn: impl RegisterNativeFunction<(Mut,), 1, V, RhaiResultOf> - + crate::func::SendSync - + 'static, + get_fn: impl RegisterNativeFunction<(Mut,), 1, C, V, true> + crate::func::SendSync + 'static, ) -> &mut Self { self.with_get(name, get_fn) } @@ -560,10 +561,10 @@ impl<'a, T: Variant + Clone> TypeBuilder<'a, T> { #[deprecated(since = "1.9.1", note = "use `with_set` instead")] #[cfg(not(feature = "no_object"))] #[inline(always)] - pub fn with_set_result( + pub fn with_set_result( &mut self, name: impl AsRef, - set_fn: impl RegisterNativeFunction<(Mut, V), 2, (), RhaiResultOf> + set_fn: impl RegisterNativeFunction<(Mut, V), 2, C, (), true> + crate::func::SendSync + 'static, ) -> &mut Self { @@ -584,9 +585,9 @@ impl<'a, T: Variant + Clone> TypeBuilder<'a, T> { #[deprecated(since = "1.9.1", note = "use `with_indexer_get` instead")] #[cfg(any(not(feature = "no_index"), not(feature = "no_object")))] #[inline(always)] - pub fn with_indexer_get_result( + pub fn with_indexer_get_result( &mut self, - get_fn: impl RegisterNativeFunction<(Mut, X), 2, V, RhaiResultOf> + get_fn: impl RegisterNativeFunction<(Mut, X), 2, C, V, true> + crate::func::SendSync + 'static, ) -> &mut Self { @@ -605,9 +606,9 @@ impl<'a, T: Variant + Clone> TypeBuilder<'a, T> { #[deprecated(since = "1.9.1", note = "use `with_indexer_set` instead")] #[cfg(any(not(feature = "no_index"), not(feature = "no_object")))] #[inline(always)] - pub fn with_indexer_set_result( + pub fn with_indexer_set_result( &mut self, - set_fn: impl RegisterNativeFunction<(Mut, X, V), 3, (), RhaiResultOf> + set_fn: impl RegisterNativeFunction<(Mut, X, V), 3, C, (), true> + crate::func::SendSync + 'static, ) -> &mut Self { diff --git a/src/api/register.rs b/src/api/register.rs index 37a7179d..eeb50fda 100644 --- a/src/api/register.rs +++ b/src/api/register.rs @@ -56,7 +56,14 @@ impl Engine { /// # } /// ``` #[inline] - pub fn register_fn>( + pub fn register_fn< + A, + const N: usize, + const C: bool, + R: Variant + Clone, + const L: bool, + F: RegisterNativeFunction, + >( &mut self, name: impl AsRef + Into, func: F, @@ -299,10 +306,10 @@ impl Engine { /// ``` #[cfg(not(feature = "no_object"))] #[inline(always)] - pub fn register_get( + pub fn register_get( &mut self, name: impl AsRef, - get_fn: impl RegisterNativeFunction<(Mut,), 1, V, S> + SendSync + 'static, + get_fn: impl RegisterNativeFunction<(Mut,), 1, C, V, L> + SendSync + 'static, ) -> &mut Self { self.register_fn(crate::engine::make_getter(name.as_ref()).as_str(), get_fn) } @@ -349,10 +356,10 @@ impl Engine { /// ``` #[cfg(not(feature = "no_object"))] #[inline(always)] - pub fn register_set( + pub fn register_set( &mut self, name: impl AsRef, - set_fn: impl RegisterNativeFunction<(Mut, V), 2, (), S> + SendSync + 'static, + set_fn: impl RegisterNativeFunction<(Mut, V), 2, C, (), L> + SendSync + 'static, ) -> &mut Self { self.register_fn(crate::engine::make_setter(name.as_ref()).as_str(), set_fn) } @@ -403,11 +410,18 @@ impl Engine { /// ``` #[cfg(not(feature = "no_object"))] #[inline(always)] - pub fn register_get_set( + pub fn register_get_set< + T: Variant + Clone, + const C1: bool, + const C2: bool, + V: Variant + Clone, + const L1: bool, + const L2: bool, + >( &mut self, name: impl AsRef, - get_fn: impl RegisterNativeFunction<(Mut,), 1, V, S1> + SendSync + 'static, - set_fn: impl RegisterNativeFunction<(Mut, V), 2, (), S2> + SendSync + 'static, + get_fn: impl RegisterNativeFunction<(Mut,), 1, C1, V, L1> + SendSync + 'static, + set_fn: impl RegisterNativeFunction<(Mut, V), 2, C2, (), L2> + SendSync + 'static, ) -> &mut Self { self.register_get(&name, get_fn).register_set(&name, set_fn) } @@ -462,9 +476,15 @@ impl Engine { /// ``` #[cfg(any(not(feature = "no_index"), not(feature = "no_object")))] #[inline] - pub fn register_indexer_get( + pub fn register_indexer_get< + T: Variant + Clone, + X: Variant + Clone, + const C: bool, + V: Variant + Clone, + const L: bool, + >( &mut self, - get_fn: impl RegisterNativeFunction<(Mut, X), 2, V, S> + SendSync + 'static, + get_fn: impl RegisterNativeFunction<(Mut, X), 2, C, V, L> + SendSync + 'static, ) -> &mut Self { #[cfg(not(feature = "no_index"))] if TypeId::of::() == TypeId::of::() { @@ -537,9 +557,15 @@ impl Engine { /// ``` #[cfg(any(not(feature = "no_index"), not(feature = "no_object")))] #[inline] - pub fn register_indexer_set( + pub fn register_indexer_set< + T: Variant + Clone, + X: Variant + Clone, + const C: bool, + V: Variant + Clone, + const L: bool, + >( &mut self, - set_fn: impl RegisterNativeFunction<(Mut, X, V), 3, (), S> + SendSync + 'static, + set_fn: impl RegisterNativeFunction<(Mut, X, V), 3, C, (), L> + SendSync + 'static, ) -> &mut Self { #[cfg(not(feature = "no_index"))] if TypeId::of::() == TypeId::of::() { @@ -616,13 +642,15 @@ impl Engine { pub fn register_indexer_get_set< T: Variant + Clone, X: Variant + Clone, + const C1: bool, + const C2: bool, V: Variant + Clone, - S1, - S2, + const L1: bool, + const L2: bool, >( &mut self, - get_fn: impl RegisterNativeFunction<(Mut, X), 2, V, S1> + SendSync + 'static, - set_fn: impl RegisterNativeFunction<(Mut, X, V), 3, (), S2> + SendSync + 'static, + get_fn: impl RegisterNativeFunction<(Mut, X), 2, C1, V, L1> + SendSync + 'static, + set_fn: impl RegisterNativeFunction<(Mut, X, V), 3, C2, (), L2> + SendSync + 'static, ) -> &mut Self { self.register_indexer_get(get_fn) .register_indexer_set(set_fn) diff --git a/src/func/register.rs b/src/func/register.rs index 0144eeba..9f31aad6 100644 --- a/src/func/register.rs +++ b/src/func/register.rs @@ -26,13 +26,13 @@ use std::{ /// /// # Examples /// -/// `RegisterNativeFunction<(Mut, B, Ref), 3, R, ()>` = `Fn(&mut A, B, &C) -> R` +/// `RegisterNativeFunction<(Mut, B, Ref), 3, false, R, false>` = `Fn(&mut A, B, &C) -> R` /// -/// `RegisterNativeFunction<(Mut, B, Ref), 3, R, NativeCallContext>` = `Fn(NativeCallContext, &mut A, B, &C) -> R` +/// `RegisterNativeFunction<(Mut, B, Ref), 3, true, R, false>` = `Fn(NativeCallContext, &mut A, B, &C) -> R` /// -/// `RegisterNativeFunction<(Mut, B, Ref), 3, R, RhaiResultOf<()>>` = `Fn(&mut A, B, &C) -> Result>` +/// `RegisterNativeFunction<(Mut, B, Ref), 3, false, R, true>` = `Fn(&mut A, B, &C) -> Result>` /// -/// `RegisterNativeFunction<(Mut, B, Ref), 3, R, RhaiResultOf>` = `Fn(NativeCallContext, &mut A, B, &C) -> Result>` +/// `RegisterNativeFunction<(Mut, B, Ref), 3, true, R, true>` = `Fn(NativeCallContext, &mut A, B, &C) -> Result>` /// /// These types are not actually used anywhere. pub struct Mut(T); @@ -73,9 +73,10 @@ pub fn by_value(data: &mut Dynamic) -> T { /// /// * `ARGS` - a tuple containing parameter types, with `&mut T` represented by `Mut`. /// * `NUM` - a constant generic containing the number of parameters, must be consistent with `ARGS`. +/// * `CTX` - a constant boolean generic indicating whether there is a `NativeCallContext` parameter. /// * `RET` - return type of the function; if the function returns `Result`, it is the unwrapped inner value type. -/// * `RESULT` - a type to distinguish between multiple forms. Must match the function signature. -pub trait RegisterNativeFunction { +/// * `FALL` - a constant boolean generic indicating whether the function is fallible (i.e. returns `Result>`). +pub trait RegisterNativeFunction { /// Convert this function into a [`CallableFunction`]. #[must_use] fn into_callable_function(self) -> CallableFunction; @@ -105,8 +106,6 @@ pub trait RegisterNativeFunction { } } -const EXPECT_ARGS: &str = "arguments"; - macro_rules! check_constant { ($abi:ident, $n:expr, $ctx:ident, $args:ident) => { #[cfg(any(not(feature = "no_object"), not(feature = "no_index")))] @@ -150,7 +149,7 @@ macro_rules! def_register { FN: Fn($($param),*) -> RET + SendSync + 'static, $($par: Variant + Clone,)* RET: Variant + Clone - > RegisterNativeFunction<($($mark,)*), $n, RET, ()> for FN { + > RegisterNativeFunction<($($mark,)*), $n, false, RET, false> for FN { #[inline(always)] fn param_types() -> [TypeId;$n] { [$(TypeId::of::<$par>()),*] } #[inline(always)] fn num_params() -> usize { $n } #[cfg(feature = "metadata")] #[inline(always)] fn param_names() -> [&'static str;$n] { [$(type_name::<$param>()),*] } @@ -161,7 +160,7 @@ macro_rules! def_register { check_constant!($abi, $n, ctx, args); let mut drain = args.iter_mut(); - $(let mut $par = $clone(drain.next().expect(EXPECT_ARGS)); )* + $(let mut $par = $clone(drain.next().unwrap()); )* // Call the function with each argument value let r = self($($arg),*); @@ -176,7 +175,7 @@ macro_rules! def_register { FN: for<'a> Fn(NativeCallContext<'a>, $($param),*) -> RET + SendSync + 'static, $($par: Variant + Clone,)* RET: Variant + Clone - > RegisterNativeFunction<($($mark,)*), $n, RET, NativeCallContext<'static>> for FN { + > RegisterNativeFunction<($($mark,)*), $n, true, RET, false> for FN { #[inline(always)] fn param_types() -> [TypeId;$n] { [$(TypeId::of::<$par>()),*] } #[inline(always)] fn num_params() -> usize { $n } #[cfg(feature = "metadata")] #[inline(always)] fn param_names() -> [&'static str;$n] { [$(type_name::<$param>()),*] } @@ -187,7 +186,7 @@ macro_rules! def_register { check_constant!($abi, $n, ctx, args); let mut drain = args.iter_mut(); - $(let mut $par = $clone(drain.next().expect(EXPECT_ARGS)); )* + $(let mut $par = $clone(drain.next().unwrap()); )* // Call the function with each argument value let r = self(ctx, $($arg),*); @@ -202,7 +201,7 @@ macro_rules! def_register { FN: Fn($($param),*) -> RhaiResultOf + SendSync + 'static, $($par: Variant + Clone,)* RET: Variant + Clone - > RegisterNativeFunction<($($mark,)*), $n, RET, RhaiResultOf<()>> for FN { + > RegisterNativeFunction<($($mark,)*), $n, false, RET, true> for FN { #[inline(always)] fn param_types() -> [TypeId;$n] { [$(TypeId::of::<$par>()),*] } #[inline(always)] fn num_params() -> usize { $n } #[cfg(feature = "metadata")] #[inline(always)] fn param_names() -> [&'static str;$n] { [$(type_name::<$param>()),*] } @@ -214,7 +213,7 @@ macro_rules! def_register { check_constant!($abi, $n, ctx, args); let mut drain = args.iter_mut(); - $(let mut $par = $clone(drain.next().expect(EXPECT_ARGS)); )* + $(let mut $par = $clone(drain.next().unwrap()); )* // Call the function with each argument value self($($arg),*).map(Dynamic::from) @@ -226,7 +225,7 @@ macro_rules! def_register { FN: for<'a> Fn(NativeCallContext<'a>, $($param),*) -> RhaiResultOf + SendSync + 'static, $($par: Variant + Clone,)* RET: Variant + Clone - > RegisterNativeFunction<($($mark,)*), $n, RET, RhaiResultOf>> for FN { + > RegisterNativeFunction<($($mark,)*), $n, true, RET, true> for FN { #[inline(always)] fn param_types() -> [TypeId;$n] { [$(TypeId::of::<$par>()),*] } #[inline(always)] fn num_params() -> usize { $n } #[cfg(feature = "metadata")] #[inline(always)] fn param_names() -> [&'static str;$n] { [$(type_name::<$param>()),*] } @@ -238,7 +237,7 @@ macro_rules! def_register { check_constant!($abi, $n, ctx, args); let mut drain = args.iter_mut(); - $(let mut $par = $clone(drain.next().expect(EXPECT_ARGS)); )* + $(let mut $par = $clone(drain.next().unwrap()); )* // Call the function with each argument value self(ctx, $($arg),*).map(Dynamic::from) diff --git a/src/module/mod.rs b/src/module/mod.rs index af70abb7..67c4038b 100644 --- a/src/module/mod.rs +++ b/src/module/mod.rs @@ -1237,14 +1237,14 @@ impl Module { /// assert!(module.contains_fn(hash)); /// ``` #[inline(always)] - pub fn set_native_fn( + pub fn set_native_fn( &mut self, name: impl AsRef + Into, func: F, ) -> u64 where T: Variant + Clone, - F: RegisterNativeFunction>, + F: RegisterNativeFunction, { self.set_fn( name, @@ -1276,11 +1276,11 @@ impl Module { /// ``` #[cfg(not(feature = "no_object"))] #[inline(always)] - pub fn set_getter_fn(&mut self, name: impl AsRef, func: F) -> u64 + pub fn set_getter_fn(&mut self, name: impl AsRef, func: F) -> u64 where A: Variant + Clone, T: Variant + Clone, - F: RegisterNativeFunction<(Mut,), 1, T, RhaiResultOf> + SendSync + 'static, + F: RegisterNativeFunction<(Mut,), 1, C, T, true> + SendSync + 'static, { self.set_fn( crate::engine::make_getter(name.as_ref()).as_str(), @@ -1317,11 +1317,11 @@ impl Module { /// ``` #[cfg(not(feature = "no_object"))] #[inline(always)] - pub fn set_setter_fn(&mut self, name: impl AsRef, func: F) -> u64 + pub fn set_setter_fn(&mut self, name: impl AsRef, func: F) -> u64 where A: Variant + Clone, T: Variant + Clone, - F: RegisterNativeFunction<(Mut, T), 2, (), RhaiResultOf> + SendSync + 'static, + F: RegisterNativeFunction<(Mut, T), 2, C, (), true> + SendSync + 'static, { self.set_fn( crate::engine::make_setter(name.as_ref()).as_str(), @@ -1363,11 +1363,16 @@ impl Module { /// ``` #[cfg(not(feature = "no_object"))] #[inline(always)] - pub fn set_getter_setter_fn( + pub fn set_getter_setter_fn< + A: Variant + Clone, + const C1: bool, + const C2: bool, + T: Variant + Clone, + >( &mut self, name: impl AsRef, - getter: impl RegisterNativeFunction<(Mut,), 1, T, RhaiResultOf> + SendSync + 'static, - setter: impl RegisterNativeFunction<(Mut, T), 2, (), RhaiResultOf> + SendSync + 'static, + getter: impl RegisterNativeFunction<(Mut,), 1, C1, T, true> + SendSync + 'static, + setter: impl RegisterNativeFunction<(Mut, T), 2, C2, (), true> + SendSync + 'static, ) -> (u64, u64) { ( self.set_getter_fn(name.as_ref(), getter), @@ -1404,12 +1409,12 @@ impl Module { /// ``` #[cfg(any(not(feature = "no_index"), not(feature = "no_object")))] #[inline] - pub fn set_indexer_get_fn(&mut self, func: F) -> u64 + pub fn set_indexer_get_fn(&mut self, func: F) -> u64 where A: Variant + Clone, B: Variant + Clone, T: Variant + Clone, - F: RegisterNativeFunction<(Mut, B), 2, T, RhaiResultOf> + SendSync + 'static, + F: RegisterNativeFunction<(Mut, B), 2, C, T, true> + SendSync + 'static, { #[cfg(not(feature = "no_index"))] if TypeId::of::() == TypeId::of::() { @@ -1465,12 +1470,12 @@ impl Module { /// ``` #[cfg(any(not(feature = "no_index"), not(feature = "no_object")))] #[inline] - pub fn set_indexer_set_fn(&mut self, func: F) -> u64 + pub fn set_indexer_set_fn(&mut self, func: F) -> u64 where A: Variant + Clone, B: Variant + Clone, T: Variant + Clone, - F: RegisterNativeFunction<(Mut, B, T), 3, (), RhaiResultOf> + SendSync + 'static, + F: RegisterNativeFunction<(Mut, B, T), 3, C, (), true> + SendSync + 'static, { #[cfg(not(feature = "no_index"))] if TypeId::of::() == TypeId::of::() { @@ -1537,15 +1542,13 @@ impl Module { pub fn set_indexer_get_set_fn< A: Variant + Clone, B: Variant + Clone, + const C1: bool, + const C2: bool, T: Variant + Clone, - S1, - S2, >( &mut self, - get_fn: impl RegisterNativeFunction<(Mut, B), 2, T, RhaiResultOf> + SendSync + 'static, - set_fn: impl RegisterNativeFunction<(Mut, B, T), 3, (), RhaiResultOf> - + SendSync - + 'static, + get_fn: impl RegisterNativeFunction<(Mut, B), 2, C1, T, true> + SendSync + 'static, + set_fn: impl RegisterNativeFunction<(Mut, B, T), 3, C2, (), true> + SendSync + 'static, ) -> (u64, u64) { ( self.set_indexer_get_fn(get_fn), From ffc8a7f85c7e5148cabce5547c43bd9c27c0c19a Mon Sep 17 00:00:00 2001 From: Stephen Chung Date: Sat, 3 Dec 2022 12:08:35 +0800 Subject: [PATCH 27/34] Fix builds. --- src/engine.rs | 3 --- src/eval/stmt.rs | 1 + src/func/register.rs | 5 ++--- src/module/mod.rs | 4 ++-- src/optimizer.rs | 7 ++++--- 5 files changed, 9 insertions(+), 11 deletions(-) diff --git a/src/engine.rs b/src/engine.rs index 7d3bdb15..2e239912 100644 --- a/src/engine.rs +++ b/src/engine.rs @@ -52,9 +52,6 @@ pub const FN_ANONYMOUS: &str = "anon$"; /// function to compare two [`Dynamic`] values. pub const OP_EQUALS: &str = Token::EqualsTo.literal_syntax(); -/// Standard not operator. -pub const OP_NOT: &str = Token::Bang.literal_syntax(); - /// Standard concatenation operator. /// /// Used primarily to build up interpolated strings. diff --git a/src/eval/stmt.rs b/src/eval/stmt.rs index d6c734b4..54d409df 100644 --- a/src/eval/stmt.rs +++ b/src/eval/stmt.rs @@ -187,6 +187,7 @@ impl Engine { Target::RefMut(_) | Target::TempValue(_) => { *target.write_lock::().unwrap() = new_val } + #[allow(unreachable_patterns)] _ => **target = new_val, } } diff --git a/src/func/register.rs b/src/func/register.rs index 9f31aad6..f7c79f51 100644 --- a/src/func/register.rs +++ b/src/func/register.rs @@ -8,7 +8,6 @@ use super::call::FnCallArgs; use super::callable_function::CallableFunction; use super::native::{SendSync, Shared}; -use crate::engine::{FN_IDX_SET, FN_SET}; use crate::types::dynamic::{DynamicWriteLock, Variant}; use crate::{reify, Dynamic, NativeCallContext, RhaiResultOf}; #[cfg(feature = "no_std")] @@ -114,11 +113,11 @@ macro_rules! check_constant { #[cfg(not(feature = "no_index"))] if $n == 3 && !deny { - deny = $ctx.fn_name() == FN_IDX_SET && $args[0].is_read_only(); + deny = $ctx.fn_name() == crate::engine::FN_IDX_SET && $args[0].is_read_only(); } #[cfg(not(feature = "no_object"))] if $n == 2 && !deny { - deny = $ctx.fn_name().starts_with(FN_SET) && $args[0].is_read_only(); + deny = $ctx.fn_name().starts_with(crate::engine::FN_SET) && $args[0].is_read_only(); } if deny { diff --git a/src/module/mod.rs b/src/module/mod.rs index 67c4038b..4d426979 100644 --- a/src/module/mod.rs +++ b/src/module/mod.rs @@ -10,7 +10,7 @@ use crate::func::{ use crate::types::{dynamic::Variant, BloomFilterU64, CustomTypesCollection}; use crate::{ calc_fn_hash, calc_fn_hash_full, Dynamic, FnArgsVec, Identifier, ImmutableString, - NativeCallContext, RhaiResultOf, Shared, SharedModule, SmartString, StaticVec, + NativeCallContext, RhaiResultOf, Shared, SharedModule, SmartString, }; use bitflags::bitflags; #[cfg(feature = "no_std")] @@ -2084,7 +2084,7 @@ impl Module { let mut module = Module::new(); // Extra modules left become sub-modules - let mut imports = StaticVec::new_const(); + let mut imports = crate::StaticVec::new_const(); if result.is_ok() { global diff --git a/src/optimizer.rs b/src/optimizer.rs index 1c503f89..1224d6d5 100644 --- a/src/optimizer.rs +++ b/src/optimizer.rs @@ -4,9 +4,7 @@ use crate::ast::{ ASTFlags, Expr, OpAssignment, Stmt, StmtBlock, StmtBlockContainer, SwitchCasesCollection, }; -use crate::engine::{ - KEYWORD_DEBUG, KEYWORD_EVAL, KEYWORD_FN_PTR, KEYWORD_PRINT, KEYWORD_TYPE_OF, OP_NOT, -}; +use crate::engine::{KEYWORD_DEBUG, KEYWORD_EVAL, KEYWORD_FN_PTR, KEYWORD_PRINT, KEYWORD_TYPE_OF}; use crate::eval::{Caches, GlobalRuntimeState}; use crate::func::builtin::get_builtin_binary_op_fn; use crate::func::hashing::get_hasher; @@ -26,6 +24,9 @@ use std::{ mem, }; +/// Standard not operator. +const OP_NOT: &str = Token::Bang.literal_syntax(); + /// Level of optimization performed. #[derive(Debug, Eq, PartialEq, Hash, Clone, Copy)] #[non_exhaustive] From 55922b5c20a8d44a6224d0585b3bb05f0e3d6135 Mon Sep 17 00:00:00 2001 From: Stephen Chung Date: Sat, 3 Dec 2022 16:20:13 +0800 Subject: [PATCH 28/34] Hard code constant checking. --- src/api/register.rs | 13 +- src/ast/script_fn.rs | 2 +- src/eval/data_check.rs | 12 +- src/eval/expr.rs | 4 +- src/eval/stmt.rs | 8 +- src/func/builtin.rs | 545 +++++++++++++++++++--------------- src/func/call.rs | 69 +++-- src/func/callable_function.rs | 17 +- src/func/native.rs | 9 +- src/func/register.rs | 87 +++--- src/module/mod.rs | 53 ++-- src/optimizer.rs | 8 +- src/packages/array_basic.rs | 3 +- src/packages/blob_basic.rs | 3 +- src/packages/lang_core.rs | 2 +- src/parser.rs | 13 +- 16 files changed, 474 insertions(+), 374 deletions(-) diff --git a/src/api/register.rs b/src/api/register.rs index eeb50fda..259ca0d7 100644 --- a/src/api/register.rs +++ b/src/api/register.rs @@ -90,13 +90,24 @@ impl Engine { #[cfg(not(feature = "metadata"))] let param_type_names: Option<&[&str]> = None; + let fn_name = name.as_ref(); + let no_const = false; + + #[cfg(any(not(feature = "no_index"), not(feature = "no_object")))] + let no_const = no_const || (F::num_params() == 3 && fn_name == crate::engine::FN_IDX_SET); + #[cfg(not(feature = "no_object"))] + let no_const = + no_const || (F::num_params() == 2 && fn_name.starts_with(crate::engine::FN_SET)); + + let func = func.into_callable_function(fn_name.into(), no_const); + self.global_namespace_mut().set_fn( name, FnNamespace::Global, FnAccess::Public, param_type_names, param_types, - func.into_callable_function(), + func, ); self } diff --git a/src/ast/script_fn.rs b/src/ast/script_fn.rs index 7292563a..bf2398d0 100644 --- a/src/ast/script_fn.rs +++ b/src/ast/script_fn.rs @@ -56,7 +56,7 @@ pub struct ScriptFnDef { /// /// Each line in non-block doc-comments starts with `///`. #[cfg(feature = "metadata")] - pub comments: Box<[Box]>, + pub comments: Box<[crate::Identifier]>, } impl fmt::Display for ScriptFnDef { diff --git a/src/eval/data_check.rs b/src/eval/data_check.rs index fc1948fc..1e9e4a7f 100644 --- a/src/eval/data_check.rs +++ b/src/eval/data_check.rs @@ -74,10 +74,7 @@ impl Engine { /// /// [`Position`] in [`EvalAltResult`][crate::EvalAltResult] is always [`NONE`][Position::NONE] /// and should be set afterwards. - pub(crate) fn raise_err_if_over_data_size_limit( - &self, - (_arr, _map, s): (usize, usize, usize), - ) -> RhaiResultOf<()> { + pub(crate) fn throw_on_size(&self, (_arr, _map, s): (usize, usize, usize)) -> RhaiResultOf<()> { if self .limits .max_string_len @@ -127,9 +124,10 @@ impl Engine { let sizes = value.borrow().calc_data_sizes(true); - self.raise_err_if_over_data_size_limit(sizes) - .map(|_| value) - .map_err(|err| err.fill_position(pos)) + self.throw_on_size(sizes) + .map_err(|err| err.fill_position(pos))?; + + Ok(value) } /// Raise an error if the size of a [`Dynamic`] is out of limits (if any). diff --git a/src/eval/expr.rs b/src/eval/expr.rs index 020bb9fb..6750c398 100644 --- a/src/eval/expr.rs +++ b/src/eval/expr.rs @@ -329,7 +329,7 @@ impl Engine { total_data_sizes.1 + val_sizes.1, total_data_sizes.2 + val_sizes.2, ); - self.raise_err_if_over_data_size_limit(total_data_sizes) + self.throw_on_size(total_data_sizes) .map_err(|err| err.fill_position(item_expr.position()))?; } @@ -360,7 +360,7 @@ impl Engine { total_data_sizes.1 + delta.1, total_data_sizes.2 + delta.2, ); - self.raise_err_if_over_data_size_limit(total_data_sizes) + self.throw_on_size(total_data_sizes) .map_err(|err| err.fill_position(value_expr.position()))?; } diff --git a/src/eval/stmt.rs b/src/eval/stmt.rs index 54d409df..867aff7d 100644 --- a/src/eval/stmt.rs +++ b/src/eval/stmt.rs @@ -142,7 +142,7 @@ impl Engine { let args = &mut [&mut *lock_guard, &mut new_val]; if self.fast_operators() { - if let Some(func) = + if let Some((func, ctx)) = get_builtin_op_assignment_fn(op_assign_token.clone(), args[0], args[1]) { // Built-in found @@ -152,7 +152,11 @@ impl Engine { global.level += 1; let global = &*RestoreOnDrop::lock(global, move |g| g.level = orig_level); - let context = (self, op, None, global, *op_pos).into(); + let context = if ctx { + Some((self, op, None, global, *op_pos).into()) + } else { + None + }; return func(context, args).map(|_| ()); } } diff --git a/src/func/builtin.rs b/src/func/builtin.rs index 5294882a..1608a3bb 100644 --- a/src/func/builtin.rs +++ b/src/func/builtin.rs @@ -71,12 +71,12 @@ fn is_numeric(type_id: TypeId) -> bool { /// A function that returns `true`. #[inline(always)] -fn const_true_fn(_: NativeCallContext, _: &mut [&mut Dynamic]) -> RhaiResult { +fn const_true_fn(_: Option, _: &mut [&mut Dynamic]) -> RhaiResult { Ok(Dynamic::TRUE) } /// A function that returns `false`. #[inline(always)] -fn const_false_fn(_: NativeCallContext, _: &mut [&mut Dynamic]) -> RhaiResult { +fn const_false_fn(_: Option, _: &mut [&mut Dynamic]) -> RhaiResult { Ok(Dynamic::FALSE) } @@ -89,55 +89,55 @@ pub fn get_builtin_binary_op_fn(op: Token, x: &Dynamic, y: &Dynamic) -> Option { |_, args| { + ($xx:ident $op:tt $yy:ident) => { (|_, args| { let x = &*args[0].read_lock::<$xx>().expect(BUILTIN); let y = &*args[1].read_lock::<$yy>().expect(BUILTIN); Ok((x $op y).into()) - } }; - ($xx:ident . $func:ident ( $yy:ty )) => { |_, args| { + }, false) }; + ($xx:ident . $func:ident ( $yy:ty )) => { (|_, args| { let x = &*args[0].read_lock::<$xx>().expect(BUILTIN); let y = &*args[1].read_lock::<$yy>().expect(BUILTIN); Ok(x.$func(y).into()) - } }; - ($xx:ident . $func:ident ( $yy:ident . $yyy:ident () )) => { |_, args| { + }, false) }; + ($xx:ident . $func:ident ( $yy:ident . $yyy:ident () )) => { (|_, args| { let x = &*args[0].read_lock::<$xx>().expect(BUILTIN); let y = &*args[1].read_lock::<$yy>().expect(BUILTIN); Ok(x.$func(y.$yyy()).into()) - } }; - ($func:ident ( $op:tt )) => { |_, args| { + }, false) }; + ($func:ident ( $op:tt )) => { (|_, args| { let (x, y) = $func(args); Ok((x $op y).into()) - } }; - ($base:ty => $xx:ident $op:tt $yy:ident) => { |_, args| { + }, false) }; + ($base:ty => $xx:ident $op:tt $yy:ident) => { (|_, args| { let x = args[0].$xx().expect(BUILTIN) as $base; let y = args[1].$yy().expect(BUILTIN) as $base; Ok((x $op y).into()) - } }; - ($base:ty => $xx:ident . $func:ident ( $yy:ident as $yyy:ty)) => { |_, args| { + }, false) }; + ($base:ty => $xx:ident . $func:ident ( $yy:ident as $yyy:ty)) => { (|_, args| { let x = args[0].$xx().expect(BUILTIN) as $base; let y = args[1].$yy().expect(BUILTIN) as $base; Ok(x.$func(y as $yyy).into()) - } }; - ($base:ty => $func:ident ( $xx:ident, $yy:ident )) => { |_, args| { + }, false) }; + ($base:ty => $func:ident ( $xx:ident, $yy:ident )) => { (|_, args| { let x = args[0].$xx().expect(BUILTIN) as $base; let y = args[1].$yy().expect(BUILTIN) as $base; $func(x, y).map(Into::into) - } }; - (from $base:ty => $xx:ident $op:tt $yy:ident) => { |_, args| { + }, false) }; + (from $base:ty => $xx:ident $op:tt $yy:ident) => { (|_, args| { let x = <$base>::from(args[0].$xx().expect(BUILTIN)); let y = <$base>::from(args[1].$yy().expect(BUILTIN)); Ok((x $op y).into()) - } }; - (from $base:ty => $xx:ident . $func:ident ( $yy:ident )) => { |_, args| { + }, false) }; + (from $base:ty => $xx:ident . $func:ident ( $yy:ident )) => { (|_, args| { let x = <$base>::from(args[0].$xx().expect(BUILTIN)); let y = <$base>::from(args[1].$yy().expect(BUILTIN)); Ok(x.$func(y).into()) - } }; - (from $base:ty => $func:ident ( $xx:ident, $yy:ident )) => { |_, args| { + }, false) }; + (from $base:ty => $func:ident ( $xx:ident, $yy:ident )) => { (|_, args| { let x = <$base>::from(args[0].$xx().expect(BUILTIN)); let y = <$base>::from(args[1].$yy().expect(BUILTIN)); $func(x, y).map(Into::into) - } }; + }, false) }; } // Check for common patterns @@ -206,16 +206,20 @@ pub fn get_builtin_binary_op_fn(op: Token, x: &Dynamic, y: &Dynamic) -> Option() { return match op { - Plus => Some(|_ctx, args| { - let s1 = &*args[0].read_lock::().expect(BUILTIN); - let s2 = &*args[1].read_lock::().expect(BUILTIN); + Plus => Some(( + |_ctx, args| { + let s1 = &*args[0].read_lock::().expect(BUILTIN); + let s2 = &*args[1].read_lock::().expect(BUILTIN); - #[cfg(not(feature = "unchecked"))] - _ctx.engine() - .raise_err_if_over_data_size_limit((0, 0, s1.len() + s2.len()))?; + #[cfg(not(feature = "unchecked"))] + _ctx.unwrap() + .engine() + .throw_on_size((0, 0, s1.len() + s2.len()))?; - Ok((s1 + s2).into()) - }), + Ok((s1 + s2).into()) + }, + cfg!(not(feature = "unchecked")), + )), Minus => Some(impl_op!(ImmutableString - ImmutableString)), EqualsTo => Some(impl_op!(ImmutableString == ImmutableString)), NotEqualsTo => Some(impl_op!(ImmutableString != ImmutableString)), @@ -229,20 +233,22 @@ pub fn get_builtin_binary_op_fn(op: Token, x: &Dynamic, y: &Dynamic) -> Option() { return match op { - Plus => Some(|_ctx, args| { - let x = args[0].as_char().expect(BUILTIN); - let y = args[1].as_char().expect(BUILTIN); + Plus => Some(( + |_ctx, args| { + let x = args[0].as_char().expect(BUILTIN); + let y = args[1].as_char().expect(BUILTIN); - let mut result = SmartString::new_const(); - result.push(x); - result.push(y); + let mut result = SmartString::new_const(); + result.push(x); + result.push(y); - #[cfg(not(feature = "unchecked"))] - _ctx.engine() - .raise_err_if_over_data_size_limit((0, 0, result.len()))?; + #[cfg(not(feature = "unchecked"))] + _ctx.unwrap().engine().throw_on_size((0, 0, result.len()))?; - Ok(result.into()) - }), + Ok(result.into()) + }, + cfg!(not(feature = "unchecked")), + )), EqualsTo => Some(impl_op!(char => as_char == as_char)), NotEqualsTo => Some(impl_op!(char => as_char != as_char)), GreaterThan => Some(impl_op!(char => as_char > as_char)), @@ -258,24 +264,28 @@ pub fn get_builtin_binary_op_fn(op: Token, x: &Dynamic, y: &Dynamic) -> Option Some(|_ctx, args| { - let b2 = &*args[1].read_lock::().expect(BUILTIN); - if b2.is_empty() { - return Ok(args[0].flatten_clone()); - } - let b1 = &*args[0].read_lock::().expect(BUILTIN); - if b1.is_empty() { - return Ok(args[1].flatten_clone()); - } + Plus => Some(( + |_ctx, args| { + let b2 = &*args[1].read_lock::().expect(BUILTIN); + if b2.is_empty() { + return Ok(args[0].flatten_clone()); + } + let b1 = &*args[0].read_lock::().expect(BUILTIN); + if b1.is_empty() { + return Ok(args[1].flatten_clone()); + } - #[cfg(not(feature = "unchecked"))] - _ctx.engine() - .raise_err_if_over_data_size_limit((b1.len() + b2.len(), 0, 0))?; + #[cfg(not(feature = "unchecked"))] + _ctx.unwrap() + .engine() + .throw_on_size((b1.len() + b2.len(), 0, 0))?; - let mut blob = b1.clone(); - blob.extend(b2); - Ok(Dynamic::from_blob(blob)) - }), + let mut blob = b1.clone(); + blob.extend(b2); + Ok(Dynamic::from_blob(blob)) + }, + cfg!(not(feature = "unchecked")), + )), EqualsTo => Some(impl_op!(Blob == Blob)), NotEqualsTo => Some(impl_op!(Blob != Blob)), _ => None, @@ -284,9 +294,9 @@ pub fn get_builtin_binary_op_fn(op: Token, x: &Dynamic, y: &Dynamic) -> Option() { return match op { - EqualsTo => Some(const_true_fn), + EqualsTo => Some((const_true_fn, false)), NotEqualsTo | GreaterThan | GreaterThanEqualsTo | LessThan | LessThanEqualsTo => { - Some(const_false_fn) + Some((const_false_fn, false)) } _ => None, }; @@ -388,20 +398,22 @@ pub fn get_builtin_binary_op_fn(op: Token, x: &Dynamic, y: &Dynamic) -> Option Some(|_ctx, args| { - let x = args[0].as_char().expect(BUILTIN); - let y = &*args[1].read_lock::().expect(BUILTIN); + Plus => Some(( + |_ctx, args| { + let x = args[0].as_char().expect(BUILTIN); + let y = &*args[1].read_lock::().expect(BUILTIN); - let mut result = SmartString::new_const(); - result.push(x); - result.push_str(y); + let mut result = SmartString::new_const(); + result.push(x); + result.push_str(y); - #[cfg(not(feature = "unchecked"))] - _ctx.engine() - .raise_err_if_over_data_size_limit((0, 0, result.len()))?; + #[cfg(not(feature = "unchecked"))] + _ctx.unwrap().engine().throw_on_size((0, 0, result.len()))?; - Ok(result.into()) - }), + Ok(result.into()) + }, + cfg!(not(feature = "unchecked")), + )), EqualsTo => Some(impl_op!(get_s1s2(==))), NotEqualsTo => Some(impl_op!(get_s1s2(!=))), GreaterThan => Some(impl_op!(get_s1s2(>))), @@ -423,22 +435,27 @@ pub fn get_builtin_binary_op_fn(op: Token, x: &Dynamic, y: &Dynamic) -> Option Some(|_ctx, args| { - let x = &*args[0].read_lock::().expect(BUILTIN); - let y = args[1].as_char().expect(BUILTIN); - let result = x + y; + Plus => Some(( + |_ctx, args| { + let x = &*args[0].read_lock::().expect(BUILTIN); + let y = args[1].as_char().expect(BUILTIN); + let result = x + y; - #[cfg(not(feature = "unchecked"))] - _ctx.engine() - .raise_err_if_over_data_size_limit((0, 0, result.len()))?; + #[cfg(not(feature = "unchecked"))] + _ctx.unwrap().engine().throw_on_size((0, 0, result.len()))?; - Ok(result.into()) - }), - Minus => Some(|_, args| { - let x = &*args[0].read_lock::().expect(BUILTIN); - let y = args[1].as_char().expect(BUILTIN); - Ok((x - y).into()) - }), + Ok(result.into()) + }, + cfg!(not(feature = "unchecked")), + )), + Minus => Some(( + |_, args| { + let x = &*args[0].read_lock::().expect(BUILTIN); + let y = args[1].as_char().expect(BUILTIN); + Ok((x - y).into()) + }, + false, + )), EqualsTo => Some(impl_op!(get_s1s2(==))), NotEqualsTo => Some(impl_op!(get_s1s2(!=))), GreaterThan => Some(impl_op!(get_s1s2(>))), @@ -451,22 +468,22 @@ pub fn get_builtin_binary_op_fn(op: Token, x: &Dynamic, y: &Dynamic) -> Option(), TypeId::of::()) { return match op { - Plus => Some(|_, args| Ok(args[1].clone())), + Plus => Some((|_, args| Ok(args[1].clone()), false)), EqualsTo | GreaterThan | GreaterThanEqualsTo | LessThan | LessThanEqualsTo => { - Some(const_false_fn) + Some((const_false_fn, false)) } - NotEqualsTo => Some(const_true_fn), + NotEqualsTo => Some((const_true_fn, false)), _ => None, }; } // string op () if (type1, type2) == (TypeId::of::(), TypeId::of::<()>()) { return match op { - Plus => Some(|_, args| Ok(args[0].clone())), + Plus => Some((|_, args| Ok(args[0].clone()), false)), EqualsTo | GreaterThan | GreaterThanEqualsTo | LessThan | LessThanEqualsTo => { - Some(const_false_fn) + Some((const_false_fn, false)) } - NotEqualsTo => Some(const_true_fn), + NotEqualsTo => Some((const_true_fn, false)), _ => None, }; } @@ -478,21 +495,22 @@ pub fn get_builtin_binary_op_fn(op: Token, x: &Dynamic, y: &Dynamic) -> Option() { return match op { - Plus => Some(|_ctx, args| { - let mut blob = args[0].read_lock::().expect(BUILTIN).clone(); - let mut buf = [0_u8; 4]; - let x = args[1].as_char().expect(BUILTIN).encode_utf8(&mut buf); + Plus => Some(( + |_ctx, args| { + let mut blob = args[0].read_lock::().expect(BUILTIN).clone(); + let mut buf = [0_u8; 4]; + let x = args[1].as_char().expect(BUILTIN).encode_utf8(&mut buf); - #[cfg(not(feature = "unchecked"))] - _ctx.engine().raise_err_if_over_data_size_limit(( - blob.len() + x.len(), - 0, - 0, - ))?; + #[cfg(not(feature = "unchecked"))] + _ctx.unwrap() + .engine() + .throw_on_size((blob.len() + x.len(), 0, 0))?; - blob.extend(x.as_bytes()); - Ok(Dynamic::from_blob(blob)) - }), + blob.extend(x.as_bytes()); + Ok(Dynamic::from_blob(blob)) + }, + cfg!(not(feature = "unchecked")), + )), _ => None, }; } @@ -511,8 +529,8 @@ pub fn get_builtin_binary_op_fn(op: Token, x: &Dynamic, y: &Dynamic) -> Option Some(const_true_fn), - Equals => Some(const_false_fn), + NotEqualsTo => Some((const_true_fn, false)), + Equals => Some((const_false_fn, false)), _ => None, }; } @@ -542,9 +560,9 @@ pub fn get_builtin_binary_op_fn(op: Token, x: &Dynamic, y: &Dynamic) -> Option Some(const_true_fn), + NotEqualsTo => Some((const_true_fn, false)), EqualsTo | GreaterThan | GreaterThanEqualsTo | LessThan | LessThanEqualsTo => { - Some(const_false_fn) + Some((const_false_fn, false)) } _ => None, } @@ -557,9 +575,9 @@ pub fn get_builtin_binary_op_fn(op: Token, x: &Dynamic, y: &Dynamic) -> Option Some(const_true_fn), + NotEqualsTo => Some((const_true_fn, false)), EqualsTo | GreaterThan | GreaterThanEqualsTo | LessThan | LessThanEqualsTo => { - Some(const_false_fn) + Some((const_false_fn, false)) } _ => None, }; @@ -578,43 +596,43 @@ pub fn get_builtin_op_assignment_fn(op: Token, x: &Dynamic, y: &Dynamic) -> Opti let type2 = y.type_id(); macro_rules! impl_op { - ($x:ty = x $op:tt $yy:ident) => { |_, args| { + ($x:ty = x $op:tt $yy:ident) => { (|_, args| { let x = args[0].$yy().expect(BUILTIN); let y = args[1].$yy().expect(BUILTIN) as $x; Ok((*args[0].write_lock::<$x>().expect(BUILTIN) = x $op y).into()) - } }; - ($x:ident $op:tt $yy:ident) => { |_, args| { + }, false) }; + ($x:ident $op:tt $yy:ident) => { (|_, args| { let y = args[1].$yy().expect(BUILTIN) as $x; Ok((*args[0].write_lock::<$x>().expect(BUILTIN) $op y).into()) - } }; - ($x:ident $op:tt $yy:ident as $yyy:ty) => { |_, args| { + }, false) }; + ($x:ident $op:tt $yy:ident as $yyy:ty) => { (|_, args| { let y = args[1].$yy().expect(BUILTIN) as $yyy; Ok((*args[0].write_lock::<$x>().expect(BUILTIN) $op y).into()) - } }; - ($x:ty => $xx:ident . $func:ident ( $yy:ident as $yyy:ty )) => { |_, args| { + }, false) }; + ($x:ty => $xx:ident . $func:ident ( $yy:ident as $yyy:ty )) => { (|_, args| { let x = args[0].$xx().expect(BUILTIN); let y = args[1].$yy().expect(BUILTIN) as $x; Ok((*args[0].write_lock::<$x>().expect(BUILTIN) = x.$func(y as $yyy)).into()) - } }; - ($x:ty => $func:ident ( $xx:ident, $yy:ident )) => { |_, args| { + }, false) }; + ($x:ty => $func:ident ( $xx:ident, $yy:ident )) => { (|_, args| { let x = args[0].$xx().expect(BUILTIN); let y = args[1].$yy().expect(BUILTIN) as $x; Ok((*args[0].write_lock().expect(BUILTIN) = $func(x, y)?).into()) - } }; - (from $x:ident $op:tt $yy:ident) => { |_, args| { + }, false) }; + (from $x:ident $op:tt $yy:ident) => { (|_, args| { let y = <$x>::from(args[1].$yy().expect(BUILTIN)); Ok((*args[0].write_lock::<$x>().expect(BUILTIN) $op y).into()) - } }; - (from $x:ty => $xx:ident . $func:ident ( $yy:ident )) => { |_, args| { + }, false) }; + (from $x:ty => $xx:ident . $func:ident ( $yy:ident )) => { (|_, args| { let x = args[0].$xx().expect(BUILTIN); let y = <$x>::from(args[1].$yy().expect(BUILTIN)); Ok((*args[0].write_lock::<$x>().expect(BUILTIN) = x.$func(y)).into()) - } }; - (from $x:ty => $func:ident ( $xx:ident, $yy:ident )) => { |_, args| { + }, false) }; + (from $x:ty => $func:ident ( $xx:ident, $yy:ident )) => { (|_, args| { let x = args[0].$xx().expect(BUILTIN); let y = <$x>::from(args[1].$yy().expect(BUILTIN)); Ok((*args[0].write_lock().expect(BUILTIN) = $func(x, y)?).into()) - } }; + }, false) }; } // Check for common patterns @@ -668,42 +686,50 @@ pub fn get_builtin_op_assignment_fn(op: Token, x: &Dynamic, y: &Dynamic) -> Opti if type1 == TypeId::of::() { return match op { - PlusAssign => Some(|_, args| { - let y = args[1].as_char().expect(BUILTIN); - let x = &mut *args[0].write_lock::().expect(BUILTIN); + PlusAssign => Some(( + |_, args| { + let y = args[1].as_char().expect(BUILTIN); + let x = &mut *args[0].write_lock::().expect(BUILTIN); - let mut buf = SmartString::new_const(); - write!(&mut buf, "{y}").unwrap(); - buf.push(y); + let mut buf = SmartString::new_const(); + write!(&mut buf, "{y}").unwrap(); + buf.push(y); - Ok((*x = buf.into()).into()) - }), + Ok((*x = buf.into()).into()) + }, + false, + )), _ => None, }; } if type1 == TypeId::of::() { return match op { - PlusAssign => Some(|_ctx, args| { - let (first, second) = args.split_first_mut().expect(BUILTIN); - let x = &mut *first.write_lock::().expect(BUILTIN); - let y = &*second[0].read_lock::().expect(BUILTIN); + PlusAssign => Some(( + |_ctx, args| { + let (first, second) = args.split_first_mut().expect(BUILTIN); + let x = &mut *first.write_lock::().expect(BUILTIN); + let y = &*second[0].read_lock::().expect(BUILTIN); - #[cfg(not(feature = "unchecked"))] - if !x.is_empty() && !y.is_empty() { - let total_len = x.len() + y.len(); - _ctx.engine() - .raise_err_if_over_data_size_limit((0, 0, total_len))?; - } + #[cfg(not(feature = "unchecked"))] + if !x.is_empty() && !y.is_empty() { + let total_len = x.len() + y.len(); + _ctx.unwrap().engine().throw_on_size((0, 0, total_len))?; + } - Ok((*x += y).into()) - }), - MinusAssign => Some(|_, args| { - let (first, second) = args.split_first_mut().expect(BUILTIN); - let x = &mut *first.write_lock::().expect(BUILTIN); - let y = &*second[0].read_lock::().expect(BUILTIN); - Ok((*x -= y).into()) - }), + Ok((*x += y).into()) + }, + cfg!(not(feature = "unchecked")), + )), + MinusAssign => Some(( + |_, args| { + let (first, second) = args.split_first_mut().expect(BUILTIN); + let x = &mut *first.write_lock::().expect(BUILTIN); + let y = &*second[0].read_lock::().expect(BUILTIN); + Ok((*x -= y).into()) + }, + false, + )), _ => None, }; } @@ -715,27 +741,31 @@ pub fn get_builtin_op_assignment_fn(op: Token, x: &Dynamic, y: &Dynamic) -> Opti use crate::Array; return match op { - PlusAssign => Some(|_ctx, args| { - let x = std::mem::take(args[1]).into_array().expect(BUILTIN); + PlusAssign => Some(( + |_ctx, args| { + let x = std::mem::take(args[1]).into_array().expect(BUILTIN); - if x.is_empty() { - return Ok(Dynamic::UNIT); - } + if x.is_empty() { + return Ok(Dynamic::UNIT); + } - let _array_is_empty = args[0].read_lock::().expect(BUILTIN).is_empty(); + let _array_is_empty = + args[0].read_lock::().expect(BUILTIN).is_empty(); - #[cfg(not(feature = "unchecked"))] - if !_array_is_empty { - _ctx.engine().check_data_size( - &*args[0].read_lock().expect(BUILTIN), - crate::Position::NONE, - )?; - } + #[cfg(not(feature = "unchecked"))] + if !_array_is_empty { + _ctx.unwrap().engine().check_data_size( + &*args[0].read_lock().expect(BUILTIN), + crate::Position::NONE, + )?; + } - let array = &mut *args[0].write_lock::().expect(BUILTIN); + let array = &mut *args[0].write_lock::().expect(BUILTIN); - Ok(append(array, x).into()) - }), + Ok(append(array, x).into()) + }, + cfg!(not(feature = "unchecked")), + )), _ => None, }; } @@ -747,19 +777,20 @@ pub fn get_builtin_op_assignment_fn(op: Token, x: &Dynamic, y: &Dynamic) -> Opti use crate::Blob; return match op { - PlusAssign => Some(|_ctx, args| { - let blob2 = std::mem::take(args[1]).into_blob().expect(BUILTIN); - let blob1 = &mut *args[0].write_lock::().expect(BUILTIN); + PlusAssign => Some(( + |_ctx, args| { + let blob2 = std::mem::take(args[1]).into_blob().expect(BUILTIN); + let blob1 = &mut *args[0].write_lock::().expect(BUILTIN); - #[cfg(not(feature = "unchecked"))] - _ctx.engine().raise_err_if_over_data_size_limit(( - blob1.len() + blob2.len(), - 0, - 0, - ))?; + #[cfg(not(feature = "unchecked"))] + _ctx.unwrap() + .engine() + .throw_on_size((blob1.len() + blob2.len(), 0, 0))?; - Ok(append(blob1, blob2).into()) - }), + Ok(append(blob1, blob2).into()) + }, + cfg!(not(feature = "unchecked")), + )), _ => None, }; } @@ -833,17 +864,21 @@ pub fn get_builtin_op_assignment_fn(op: Token, x: &Dynamic, y: &Dynamic) -> Opti // string op= char if (type1, type2) == (TypeId::of::(), TypeId::of::()) { return match op { - PlusAssign => Some(|_ctx, args| { - let mut buf = [0_u8; 4]; - let ch = &*args[1].as_char().expect(BUILTIN).encode_utf8(&mut buf); - let mut x = args[0].write_lock::().expect(BUILTIN); + PlusAssign => Some(( + |_ctx, args| { + let mut buf = [0_u8; 4]; + let ch = &*args[1].as_char().expect(BUILTIN).encode_utf8(&mut buf); + let mut x = args[0].write_lock::().expect(BUILTIN); - #[cfg(not(feature = "unchecked"))] - _ctx.engine() - .raise_err_if_over_data_size_limit((0, 0, x.len() + ch.len()))?; + #[cfg(not(feature = "unchecked"))] + _ctx.unwrap() + .engine() + .throw_on_size((0, 0, x.len() + ch.len()))?; - Ok((*x += ch).into()) - }), + Ok((*x += ch).into()) + }, + cfg!(not(feature = "unchecked")), + )), MinusAssign => Some(impl_op!(ImmutableString -= as_char as char)), _ => None, }; @@ -851,28 +886,32 @@ pub fn get_builtin_op_assignment_fn(op: Token, x: &Dynamic, y: &Dynamic) -> Opti // char op= string if (type1, type2) == (TypeId::of::(), TypeId::of::()) { return match op { - PlusAssign => Some(|_ctx, args| { - let ch = { - let s = &*args[1].read_lock::().expect(BUILTIN); + PlusAssign => Some(( + |_ctx, args| { + let ch = { + let s = &*args[1].read_lock::().expect(BUILTIN); - if s.is_empty() { - return Ok(Dynamic::UNIT); - } + if s.is_empty() { + return Ok(Dynamic::UNIT); + } - let mut ch = args[0].as_char().expect(BUILTIN).to_string(); + let mut ch = args[0].as_char().expect(BUILTIN).to_string(); - #[cfg(not(feature = "unchecked"))] - _ctx.engine() - .raise_err_if_over_data_size_limit((0, 0, ch.len() + s.len()))?; + #[cfg(not(feature = "unchecked"))] + _ctx.unwrap() + .engine() + .throw_on_size((0, 0, ch.len() + s.len()))?; - ch.push_str(s); - ch - }; + ch.push_str(s); + ch + }; - *args[0].write_lock::().expect(BUILTIN) = ch.into(); + *args[0].write_lock::().expect(BUILTIN) = ch.into(); - Ok(Dynamic::UNIT) - }), + Ok(Dynamic::UNIT) + }, + cfg!(not(feature = "unchecked")), + )), _ => None, }; } @@ -885,21 +924,24 @@ pub fn get_builtin_op_assignment_fn(op: Token, x: &Dynamic, y: &Dynamic) -> Opti use crate::Array; return match op { - PlusAssign => Some(|_ctx, args| { - { - let x = std::mem::take(args[1]); - let array = &mut *args[0].write_lock::().expect(BUILTIN); - push(array, x); - } + PlusAssign => Some(( + |_ctx, args| { + { + let x = std::mem::take(args[1]); + let array = &mut *args[0].write_lock::().expect(BUILTIN); + push(array, x); + } - #[cfg(not(feature = "unchecked"))] - _ctx.engine().check_data_size( - &*args[0].read_lock().expect(BUILTIN), - crate::Position::NONE, - )?; + #[cfg(not(feature = "unchecked"))] + _ctx.unwrap().engine().check_data_size( + &*args[0].read_lock().expect(BUILTIN), + crate::Position::NONE, + )?; - Ok(Dynamic::UNIT) - }), + Ok(Dynamic::UNIT) + }, + cfg!(not(feature = "unchecked")), + )), _ => None, }; } @@ -914,16 +956,20 @@ pub fn get_builtin_op_assignment_fn(op: Token, x: &Dynamic, y: &Dynamic) -> Opti use crate::packages::blob_basic::blob_functions::*; return match op { - PlusAssign => Some(|_ctx, args| { - let x = args[1].as_int().expect(BUILTIN); - let blob = &mut *args[0].write_lock::().expect(BUILTIN); + PlusAssign => Some(( + |_ctx, args| { + let x = args[1].as_int().expect(BUILTIN); + let blob = &mut *args[0].write_lock::().expect(BUILTIN); - #[cfg(not(feature = "unchecked"))] - _ctx.engine() - .raise_err_if_over_data_size_limit((blob.len() + 1, 0, 0))?; + #[cfg(not(feature = "unchecked"))] + _ctx.unwrap() + .engine() + .throw_on_size((blob.len() + 1, 0, 0))?; - Ok(push(blob, x).into()) - }), + Ok(push(blob, x).into()) + }, + cfg!(not(feature = "unchecked")), + )), _ => None, }; } @@ -934,16 +980,20 @@ pub fn get_builtin_op_assignment_fn(op: Token, x: &Dynamic, y: &Dynamic) -> Opti use crate::packages::blob_basic::blob_functions::*; return match op { - PlusAssign => Some(|_ctx, args| { - let x = args[1].as_char().expect(BUILTIN); - let blob = &mut *args[0].write_lock::().expect(BUILTIN); + PlusAssign => Some(( + |_ctx, args| { + let x = args[1].as_char().expect(BUILTIN); + let blob = &mut *args[0].write_lock::().expect(BUILTIN); - #[cfg(not(feature = "unchecked"))] - _ctx.engine() - .raise_err_if_over_data_size_limit((blob.len() + 1, 0, 0))?; + #[cfg(not(feature = "unchecked"))] + _ctx.unwrap() + .engine() + .throw_on_size((blob.len() + 1, 0, 0))?; - Ok(append_char(blob, x).into()) - }), + Ok(append_char(blob, x).into()) + }, + cfg!(not(feature = "unchecked")), + )), _ => None, }; } @@ -954,24 +1004,25 @@ pub fn get_builtin_op_assignment_fn(op: Token, x: &Dynamic, y: &Dynamic) -> Opti use crate::packages::blob_basic::blob_functions::*; return match op { - PlusAssign => Some(|_ctx, args| { - let (first, second) = args.split_first_mut().expect(BUILTIN); - let blob = &mut *first.write_lock::().expect(BUILTIN); - let s = &*second[0].read_lock::().expect(BUILTIN); + PlusAssign => Some(( + |_ctx, args| { + let (first, second) = args.split_first_mut().expect(BUILTIN); + let blob = &mut *first.write_lock::().expect(BUILTIN); + let s = &*second[0].read_lock::().expect(BUILTIN); - if s.is_empty() { - return Ok(Dynamic::UNIT); - } + if s.is_empty() { + return Ok(Dynamic::UNIT); + } - #[cfg(not(feature = "unchecked"))] - _ctx.engine().raise_err_if_over_data_size_limit(( - blob.len() + s.len(), - 0, - 0, - ))?; + #[cfg(not(feature = "unchecked"))] + _ctx.unwrap() + .engine() + .throw_on_size((blob.len() + s.len(), 0, 0))?; - Ok(append_str(blob, s).into()) - }), + Ok(append_str(blob, s).into()) + }, + cfg!(not(feature = "unchecked")), + )), _ => None, }; } diff --git a/src/func/call.rs b/src/func/call.rs index bc2e60ad..91522cad 100644 --- a/src/func/call.rs +++ b/src/func/call.rs @@ -271,25 +271,25 @@ impl Engine { } // Try to find a built-in version - let builtin = args.and_then(|args| match op_token { - Token::NONE => None, - token if token.is_op_assignment() => { - let (first_arg, rest_args) = args.split_first().unwrap(); + let builtin = + args.and_then(|args| match op_token { + Token::NONE => None, + token if token.is_op_assignment() => { + let (first_arg, rest_args) = args.split_first().unwrap(); - get_builtin_op_assignment_fn(token, first_arg, rest_args[0]).map( - |f| FnResolutionCacheEntry { - func: CallableFunction::Method(Shared::new(f)), + get_builtin_op_assignment_fn(token, first_arg, rest_args[0]) + .map(|(f, ctx)| FnResolutionCacheEntry { + func: CallableFunction::Method(Shared::new(f), ctx), + source: None, + }) + } + token => get_builtin_binary_op_fn(token, args[0], args[1]).map( + |(f, ctx)| FnResolutionCacheEntry { + func: CallableFunction::Method(Shared::new(f), ctx), source: None, }, - ) - } - token => get_builtin_binary_op_fn(token, args[0], args[1]).map(|f| { - FnResolutionCacheEntry { - func: CallableFunction::Method(Shared::new(f)), - source: None, - } - }), - }); + ), + }); return if cache.filter.is_absent_and_set(hash) { // Do not cache "one-hit wonders" @@ -400,22 +400,26 @@ impl Engine { // Run external function let is_method = func.is_method(); let src = source.as_ref().map(|s| s.as_str()); - let context = (self, name, src, &*global, pos).into(); - let mut _result = if func.is_plugin_fn() { - let f = func.get_plugin_fn().unwrap(); + let mut _result = if let Some(f) = func.get_plugin_fn() { if !f.is_pure() && !args.is_empty() && args[0].is_read_only() { Err(ERR::ErrorNonPureMethodCallOnConstant(name.to_string(), pos).into()) } else { + let context = (self, name, src, &*global, pos).into(); f.call(context, args) - .and_then(|r| self.check_data_size(r, pos)) - .map_err(|err| err.fill_position(pos)) } + } else if let Some(f) = func.get_native_fn() { + let context = if func.has_context() { + Some((self, name, src, &*global, pos).into()) + } else { + None + }; + f(context, args) } else { - func.get_native_fn().unwrap()(context, args) - .and_then(|r| self.check_data_size(r, pos)) - .map_err(|err| err.fill_position(pos)) - }; + unreachable!(); + } + .and_then(|r| self.check_data_size(r, pos)) + .map_err(|err| err.fill_position(pos)); #[cfg(feature = "debugging")] if self.is_debugger_registered() { @@ -1398,7 +1402,11 @@ impl Engine { Some(f) if f.is_native() => { let func = f.get_native_fn().expect("native function"); - let context = (self, fn_name, module.id(), &*global, pos).into(); + let context = if f.has_context() { + Some((self, fn_name, module.id(), &*global, pos).into()) + } else { + None + }; func(context, &mut args).and_then(|r| self.check_data_size(r, pos)) } @@ -1518,14 +1526,19 @@ impl Engine { let operands = &mut [&mut lhs, &mut rhs]; - if let Some(func) = get_builtin_binary_op_fn(op_token.clone(), operands[0], operands[1]) + if let Some((func, ctx)) = + get_builtin_binary_op_fn(op_token.clone(), operands[0], operands[1]) { // Built-in found let orig_level = global.level; global.level += 1; let global = &*RestoreOnDrop::lock(global, move |g| g.level = orig_level); - let context = (self, name.as_str(), None, global, pos).into(); + let context = if ctx { + Some((self, name.as_str(), None, global, pos).into()) + } else { + None + }; return func(context, operands); } diff --git a/src/func/callable_function.rs b/src/func/callable_function.rs index aad705c9..cde5effa 100644 --- a/src/func/callable_function.rs +++ b/src/func/callable_function.rs @@ -14,10 +14,10 @@ use std::prelude::v1::*; #[non_exhaustive] pub enum CallableFunction { /// A pure native Rust function with all arguments passed by value. - Pure(Shared), + Pure(Shared, bool), /// A native Rust object method with the first argument passed by reference, /// and the rest passed by value. - Method(Shared), + Method(Shared, bool), /// An iterator function. Iterator(Shared), /// A plugin function, @@ -136,6 +136,17 @@ impl CallableFunction { Self::Script(..) => false, } } + /// Is there a [`NativeCallContext`] parameter? + #[inline] + #[must_use] + pub fn has_context(&self) -> bool { + match self { + Self::Pure(.., ctx) | Self::Method(.., ctx) => *ctx, + Self::Plugin(..) | Self::Iterator(..) => false, + #[cfg(not(feature = "no_function"))] + Self::Script(..) => false, + } + } /// Get the access mode. #[inline] #[must_use] @@ -156,7 +167,7 @@ impl CallableFunction { #[must_use] pub fn get_native_fn(&self) -> Option<&Shared> { match self { - Self::Pure(f) | Self::Method(f) => Some(f), + Self::Pure(f, ..) | Self::Method(f, ..) => Some(f), Self::Iterator(..) | Self::Plugin(..) => None, #[cfg(not(feature = "no_function"))] diff --git a/src/func/native.rs b/src/func/native.rs index 5d029fb6..103195b9 100644 --- a/src/func/native.rs +++ b/src/func/native.rs @@ -546,13 +546,16 @@ pub fn locked_write(value: &Locked) -> LockGuardMut { /// General Rust function trail object. #[cfg(not(feature = "sync"))] -pub type FnAny = dyn Fn(NativeCallContext, &mut FnCallArgs) -> RhaiResult; +pub type FnAny = dyn Fn(Option, &mut FnCallArgs) -> RhaiResult; /// General Rust function trail object. #[cfg(feature = "sync")] -pub type FnAny = dyn Fn(NativeCallContext, &mut FnCallArgs) -> RhaiResult + Send + Sync; +pub type FnAny = dyn Fn(Option, &mut FnCallArgs) -> RhaiResult + Send + Sync; /// Built-in function trait object. -pub type FnBuiltin = fn(NativeCallContext, &mut FnCallArgs) -> RhaiResult; +pub type FnBuiltin = ( + fn(Option, &mut FnCallArgs) -> RhaiResult, + bool, +); /// Function that gets an iterator from a type. #[cfg(not(feature = "sync"))] diff --git a/src/func/register.rs b/src/func/register.rs index f7c79f51..1459bf74 100644 --- a/src/func/register.rs +++ b/src/func/register.rs @@ -9,7 +9,7 @@ use super::call::FnCallArgs; use super::callable_function::CallableFunction; use super::native::{SendSync, Shared}; use crate::types::dynamic::{DynamicWriteLock, Variant}; -use crate::{reify, Dynamic, NativeCallContext, RhaiResultOf}; +use crate::{reify, Dynamic, Identifier, NativeCallContext, RhaiResultOf}; #[cfg(feature = "no_std")] use std::prelude::v1::*; use std::{ @@ -78,13 +78,19 @@ pub fn by_value(data: &mut Dynamic) -> T { pub trait RegisterNativeFunction { /// Convert this function into a [`CallableFunction`]. #[must_use] - fn into_callable_function(self) -> CallableFunction; + fn into_callable_function(self, name: Identifier, no_const: bool) -> CallableFunction; /// Get the type ID's of this function's parameters. #[must_use] fn param_types() -> [TypeId; NUM]; /// Get the number of parameters for this function. + #[inline(always)] #[must_use] - fn num_params() -> usize; + fn num_params() -> usize { + NUM + } + /// Is there a [`NativeCallContext`] parameter for this function? + #[must_use] + fn has_context() -> bool; /// _(metadata)_ Get the type names of this function's parameters. /// Exported under the `metadata` feature only. #[cfg(feature = "metadata")] @@ -106,27 +112,14 @@ pub trait RegisterNativeFunction { + ($abi:ident, $n:expr, $fn_name:ident, $no_const:ident, $args:ident) => { #[cfg(any(not(feature = "no_object"), not(feature = "no_index")))] - if stringify!($abi) == "Method" { - let mut deny = false; - - #[cfg(not(feature = "no_index"))] - if $n == 3 && !deny { - deny = $ctx.fn_name() == crate::engine::FN_IDX_SET && $args[0].is_read_only(); - } - #[cfg(not(feature = "no_object"))] - if $n == 2 && !deny { - deny = $ctx.fn_name().starts_with(crate::engine::FN_SET) && $args[0].is_read_only(); - } - - if deny { - return Err(crate::ERR::ErrorNonPureMethodCallOnConstant( - $ctx.fn_name().to_string(), - crate::Position::NONE, - ) - .into()); - } + if stringify!($abi) == "Method" && $no_const && $args[0].is_read_only() { + return Err(crate::ERR::ErrorNonPureMethodCallOnConstant( + $fn_name.to_string(), + crate::Position::NONE, + ) + .into()); } }; } @@ -147,16 +140,16 @@ macro_rules! def_register { impl< FN: Fn($($param),*) -> RET + SendSync + 'static, $($par: Variant + Clone,)* - RET: Variant + Clone + RET: Variant + Clone, > RegisterNativeFunction<($($mark,)*), $n, false, RET, false> for FN { #[inline(always)] fn param_types() -> [TypeId;$n] { [$(TypeId::of::<$par>()),*] } - #[inline(always)] fn num_params() -> usize { $n } + #[inline(always)] fn has_context() -> bool { false } #[cfg(feature = "metadata")] #[inline(always)] fn param_names() -> [&'static str;$n] { [$(type_name::<$param>()),*] } #[cfg(feature = "metadata")] #[inline(always)] fn return_type() -> TypeId { TypeId::of::() } - #[inline(always)] fn into_callable_function(self) -> CallableFunction { - CallableFunction::$abi(Shared::new(move |ctx: NativeCallContext, args: &mut FnCallArgs| { + #[inline(always)] fn into_callable_function(self, fn_name: Identifier, no_const: bool) -> CallableFunction { + CallableFunction::$abi(Shared::new(move |_, args: &mut FnCallArgs| { // The arguments are assumed to be of the correct number and types! - check_constant!($abi, $n, ctx, args); + check_constant!($abi, $n, fn_name, no_const, args); let mut drain = args.iter_mut(); $(let mut $par = $clone(drain.next().unwrap()); )* @@ -166,23 +159,25 @@ macro_rules! def_register { // Map the result Ok(Dynamic::from(r)) - })) + }), false) } } impl< FN: for<'a> Fn(NativeCallContext<'a>, $($param),*) -> RET + SendSync + 'static, $($par: Variant + Clone,)* - RET: Variant + Clone + RET: Variant + Clone, > RegisterNativeFunction<($($mark,)*), $n, true, RET, false> for FN { #[inline(always)] fn param_types() -> [TypeId;$n] { [$(TypeId::of::<$par>()),*] } - #[inline(always)] fn num_params() -> usize { $n } + #[inline(always)] fn has_context() -> bool { true } #[cfg(feature = "metadata")] #[inline(always)] fn param_names() -> [&'static str;$n] { [$(type_name::<$param>()),*] } #[cfg(feature = "metadata")] #[inline(always)] fn return_type() -> TypeId { TypeId::of::() } - #[inline(always)] fn into_callable_function(self) -> CallableFunction { - CallableFunction::$abi(Shared::new(move |ctx: NativeCallContext, args: &mut FnCallArgs| { + #[inline(always)] fn into_callable_function(self, fn_name: Identifier, no_const: bool) -> CallableFunction { + CallableFunction::$abi(Shared::new(move |ctx: Option, args: &mut FnCallArgs| { + let ctx = ctx.unwrap(); + // The arguments are assumed to be of the correct number and types! - check_constant!($abi, $n, ctx, args); + check_constant!($abi, $n, fn_name, no_const, args); let mut drain = args.iter_mut(); $(let mut $par = $clone(drain.next().unwrap()); )* @@ -192,7 +187,7 @@ macro_rules! def_register { // Map the result Ok(Dynamic::from(r)) - })) + }), true) } } @@ -202,21 +197,21 @@ macro_rules! def_register { RET: Variant + Clone > RegisterNativeFunction<($($mark,)*), $n, false, RET, true> for FN { #[inline(always)] fn param_types() -> [TypeId;$n] { [$(TypeId::of::<$par>()),*] } - #[inline(always)] fn num_params() -> usize { $n } + #[inline(always)] fn has_context() -> bool { false } #[cfg(feature = "metadata")] #[inline(always)] fn param_names() -> [&'static str;$n] { [$(type_name::<$param>()),*] } #[cfg(feature = "metadata")] #[inline(always)] fn return_type() -> TypeId { TypeId::of::>() } #[cfg(feature = "metadata")] #[inline(always)] fn return_type_name() -> &'static str { type_name::>() } - #[inline(always)] fn into_callable_function(self) -> CallableFunction { - CallableFunction::$abi(Shared::new(move |ctx: NativeCallContext, args: &mut FnCallArgs| { + #[inline(always)] fn into_callable_function(self, fn_name: Identifier, no_const: bool) -> CallableFunction { + CallableFunction::$abi(Shared::new(move |_, args: &mut FnCallArgs| { // The arguments are assumed to be of the correct number and types! - check_constant!($abi, $n, ctx, args); + check_constant!($abi, $n, fn_name, no_const, args); let mut drain = args.iter_mut(); $(let mut $par = $clone(drain.next().unwrap()); )* // Call the function with each argument value self($($arg),*).map(Dynamic::from) - })) + }), false) } } @@ -226,21 +221,23 @@ macro_rules! def_register { RET: Variant + Clone > RegisterNativeFunction<($($mark,)*), $n, true, RET, true> for FN { #[inline(always)] fn param_types() -> [TypeId;$n] { [$(TypeId::of::<$par>()),*] } - #[inline(always)] fn num_params() -> usize { $n } + #[inline(always)] fn has_context() -> bool { true } #[cfg(feature = "metadata")] #[inline(always)] fn param_names() -> [&'static str;$n] { [$(type_name::<$param>()),*] } #[cfg(feature = "metadata")] #[inline(always)] fn return_type() -> TypeId { TypeId::of::>() } #[cfg(feature = "metadata")] #[inline(always)] fn return_type_name() -> &'static str { type_name::>() } - #[inline(always)] fn into_callable_function(self) -> CallableFunction { - CallableFunction::$abi(Shared::new(move |ctx: NativeCallContext, args: &mut FnCallArgs| { + #[inline(always)] fn into_callable_function(self, fn_name: Identifier, no_const: bool) -> CallableFunction { + CallableFunction::$abi(Shared::new(move |ctx: Option, args: &mut FnCallArgs| { + let ctx = ctx.unwrap(); + // The arguments are assumed to be of the correct number and types! - check_constant!($abi, $n, ctx, args); + check_constant!($abi, $n, fn_name, no_const, args); let mut drain = args.iter_mut(); $(let mut $par = $clone(drain.next().unwrap()); )* // Call the function with each argument value self(ctx, $($arg),*).map(Dynamic::from) - })) + }), true) } } diff --git a/src/module/mod.rs b/src/module/mod.rs index 4d426979..76f4ac91 100644 --- a/src/module/mod.rs +++ b/src/module/mod.rs @@ -72,7 +72,7 @@ pub struct FuncInfoMetadata { /// Function access mode. pub access: FnAccess, /// Function name. - pub name: ImmutableString, + pub name: Identifier, /// Number of parameters. pub num_params: usize, /// Parameter types (if applicable). @@ -85,7 +85,7 @@ pub struct FuncInfoMetadata { pub return_type: Identifier, /// Comments. #[cfg(feature = "metadata")] - pub comments: Box<[Box]>, + pub comments: Box<[Identifier]>, } /// A type containing a single registered function. @@ -879,13 +879,12 @@ impl Module { /// In other words, the number of entries should be one larger than the number of parameters. #[cfg(feature = "metadata")] #[inline] - pub fn update_fn_metadata>( + pub fn update_fn_metadata>( &mut self, hash_fn: u64, arg_names: impl IntoIterator, ) -> &mut Self { - let mut param_names: FnArgsVec<_> = - arg_names.into_iter().map(|s| s.as_ref().into()).collect(); + let mut param_names: FnArgsVec<_> = arg_names.into_iter().map(Into::into).collect(); if let Some(f) = self.functions.as_mut().and_then(|m| m.get_mut(&hash_fn)) { let (param_names, return_type_name) = if param_names.len() > f.metadata.num_params { @@ -927,7 +926,7 @@ impl Module { /// Each line in non-block doc-comments should start with `///`. #[cfg(feature = "metadata")] #[inline] - pub fn update_fn_metadata_with_comments, C: AsRef>( + pub fn update_fn_metadata_with_comments, C: Into>( &mut self, hash_fn: u64, arg_names: impl IntoIterator, @@ -940,7 +939,7 @@ impl Module { .and_then(|m| m.get_mut(&hash_fn)) .unwrap() .metadata - .comments = comments.into_iter().map(|s| s.as_ref().into()).collect(); + .comments = comments.into_iter().map(Into::into).collect(); self } @@ -1201,8 +1200,9 @@ impl Module { arg_types: impl AsRef<[TypeId]>, func: impl Fn(NativeCallContext, &mut FnCallArgs) -> RhaiResultOf + SendSync + 'static, ) -> u64 { - let f = - move |ctx: NativeCallContext, args: &mut FnCallArgs| func(ctx, args).map(Dynamic::from); + let f = move |ctx: Option, args: &mut FnCallArgs| { + func(ctx.unwrap(), args).map(Dynamic::from) + }; self.set_fn( name, @@ -1210,7 +1210,7 @@ impl Module { access, None, arg_types, - CallableFunction::Method(Shared::new(f)), + CallableFunction::Method(Shared::new(f), true), ) } @@ -1246,13 +1246,24 @@ impl Module { T: Variant + Clone, F: RegisterNativeFunction, { + let fn_name = name.into(); + let no_const = false; + + #[cfg(any(not(feature = "no_index"), not(feature = "no_object")))] + let no_const = no_const || (F::num_params() == 3 && fn_name == crate::engine::FN_IDX_SET); + #[cfg(not(feature = "no_object"))] + let no_const = + no_const || (F::num_params() == 2 && fn_name.starts_with(crate::engine::FN_SET)); + + let func = func.into_callable_function(fn_name.clone(), no_const); + self.set_fn( - name, + fn_name, FnNamespace::Internal, FnAccess::Public, None, F::param_types(), - func.into_callable_function(), + func, ) } @@ -1282,13 +1293,16 @@ impl Module { T: Variant + Clone, F: RegisterNativeFunction<(Mut,), 1, C, T, true> + SendSync + 'static, { + let fn_name = crate::engine::make_getter(name.as_ref()); + let func = func.into_callable_function(fn_name.clone(), false); + self.set_fn( - crate::engine::make_getter(name.as_ref()).as_str(), + fn_name, FnNamespace::Global, FnAccess::Public, None, F::param_types(), - func.into_callable_function(), + func, ) } @@ -1323,13 +1337,16 @@ impl Module { T: Variant + Clone, F: RegisterNativeFunction<(Mut, T), 2, C, (), true> + SendSync + 'static, { + let fn_name = crate::engine::make_setter(name.as_ref()); + let func = func.into_callable_function(fn_name.clone(), true); + self.set_fn( - crate::engine::make_setter(name.as_ref()).as_str(), + fn_name, FnNamespace::Global, FnAccess::Public, None, F::param_types(), - func.into_callable_function(), + func, ) } @@ -1437,7 +1454,7 @@ impl Module { FnAccess::Public, None, F::param_types(), - func.into_callable_function(), + func.into_callable_function(crate::engine::FN_IDX_GET.into(), false), ) } @@ -1498,7 +1515,7 @@ impl Module { FnAccess::Public, None, F::param_types(), - func.into_callable_function(), + func.into_callable_function(crate::engine::FN_IDX_SET.into(), true), ) } diff --git a/src/optimizer.rs b/src/optimizer.rs index 1224d6d5..a534e75a 100644 --- a/src/optimizer.rs +++ b/src/optimizer.rs @@ -1137,8 +1137,12 @@ fn optimize_expr(expr: &mut Expr, state: &mut OptimizerState, _chaining: bool) { // Overloaded operators can override built-in. _ if x.args.len() == 2 && x.op_token != Token::NONE && (state.engine.fast_operators() || !state.engine.has_native_fn_override(x.hashes.native(), &arg_types)) => { if let Some(result) = get_builtin_binary_op_fn(x.op_token.clone(), &arg_values[0], &arg_values[1]) - .and_then(|f| { - let context = (state.engine, x.name.as_str(),None, &state.global, *pos).into(); + .and_then(|(f, ctx)| { + let context = if ctx { + Some((state.engine, x.name.as_str(),None, &state.global, *pos).into()) + } else { + None + }; let (first, second) = arg_values.split_first_mut().unwrap(); (f)(context, &mut [ first, &mut second[0] ]).ok() }) { diff --git a/src/packages/array_basic.rs b/src/packages/array_basic.rs index 9309a2f6..e9cefb23 100644 --- a/src/packages/array_basic.rs +++ b/src/packages/array_basic.rs @@ -261,8 +261,7 @@ pub mod array_functions { m1 += m2; s1 += s2; - _ctx.engine() - .raise_err_if_over_data_size_limit((a1, m1, s1))?; + _ctx.engine().throw_on_size((a1, m1, s1))?; guard.push(item.clone()); arr_len += 1; diff --git a/src/packages/blob_basic.rs b/src/packages/blob_basic.rs index e8b0b9e8..057a00ef 100644 --- a/src/packages/blob_basic.rs +++ b/src/packages/blob_basic.rs @@ -81,8 +81,7 @@ pub mod blob_functions { // Check if blob will be over max size limit #[cfg(not(feature = "unchecked"))] - _ctx.engine() - .raise_err_if_over_data_size_limit((len, 0, 0))?; + _ctx.engine().throw_on_size((len, 0, 0))?; let mut blob = Blob::new(); blob.resize(len, (value & 0x0000_00ff) as u8); diff --git a/src/packages/lang_core.rs b/src/packages/lang_core.rs index e0e6c1b0..a19b0f72 100644 --- a/src/packages/lang_core.rs +++ b/src/packages/lang_core.rs @@ -220,7 +220,7 @@ fn collect_fn_metadata( "comments".into(), func.comments .iter() - .map(|s| engine.get_interned_string(s.as_ref()).into()) + .map(|s| engine.get_interned_string(s.as_str()).into()) .collect::() .into(), ); diff --git a/src/parser.rs b/src/parser.rs index 508b2852..5cb9ae15 100644 --- a/src/parser.rs +++ b/src/parser.rs @@ -3567,16 +3567,14 @@ impl Engine { /// Parse a function definition. #[cfg(not(feature = "no_function"))] - fn parse_fn( + fn parse_fn>( &self, input: &mut TokenStream, state: &mut ParseState, lib: &mut FnLib, access: crate::FnAccess, settings: ParseSettings, - #[cfg(not(feature = "no_function"))] - #[cfg(feature = "metadata")] - comments: impl IntoIterator, + #[cfg(feature = "metadata")] comments: impl IntoIterator, ) -> ParseResult { let settings = settings; @@ -3660,13 +3658,8 @@ impl Engine { body, #[cfg(not(feature = "no_module"))] environ: None, - #[cfg(not(feature = "no_function"))] #[cfg(feature = "metadata")] - comments: comments - .into_iter() - .map(|s| s.into_boxed_str()) - .collect::>() - .into_boxed_slice(), + comments: comments.into_iter().map(Into::into).collect(), }) } From 249180b1e081298d729ad47ffaec763d4294f414 Mon Sep 17 00:00:00 2001 From: Stephen Chung Date: Sat, 3 Dec 2022 16:29:19 +0800 Subject: [PATCH 29/34] Fix builds. --- src/parser.rs | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/src/parser.rs b/src/parser.rs index 5cb9ae15..bd60a331 100644 --- a/src/parser.rs +++ b/src/parser.rs @@ -3235,9 +3235,9 @@ impl Engine { #[cfg(not(feature = "no_function"))] #[cfg(feature = "metadata")] let comments = { - let mut comments = StaticVec::::new(); + let mut comments = StaticVec::::new(); let mut comments_pos = Position::NONE; - let mut buf = String::new(); + let mut buf = Identifier::new(); // Handle doc-comments. while let (Token::Comment(ref comment), pos) = input.peek().expect(NEVER_ENDS) { @@ -3263,7 +3263,7 @@ impl Engine { } let c = unindent_block_comment(*comment, pos.position().unwrap_or(1) - 1); - comments.push(c); + comments.push(c.into()); } else { if !buf.is_empty() { buf.push('\n'); @@ -3365,7 +3365,6 @@ impl Engine { lib, access, new_settings, - #[cfg(not(feature = "no_function"))] #[cfg(feature = "metadata")] comments, )?; @@ -3567,14 +3566,14 @@ impl Engine { /// Parse a function definition. #[cfg(not(feature = "no_function"))] - fn parse_fn>( + fn parse_fn( &self, input: &mut TokenStream, state: &mut ParseState, lib: &mut FnLib, access: crate::FnAccess, settings: ParseSettings, - #[cfg(feature = "metadata")] comments: impl IntoIterator, + #[cfg(feature = "metadata")] comments: impl IntoIterator, ) -> ParseResult { let settings = settings; @@ -3659,7 +3658,7 @@ impl Engine { #[cfg(not(feature = "no_module"))] environ: None, #[cfg(feature = "metadata")] - comments: comments.into_iter().map(Into::into).collect(), + comments: comments.into_iter().collect(), }) } From 4998eb6139bf609cf5304aefed68132079600464 Mon Sep 17 00:00:00 2001 From: Stephen Chung Date: Sat, 3 Dec 2022 17:03:15 +0800 Subject: [PATCH 30/34] Add has_context to plugin functions. --- CHANGELOG.md | 6 +++ Cargo.toml | 2 +- codegen/Cargo.toml | 4 +- codegen/src/function.rs | 6 ++- codegen/src/test/function.rs | 26 +++++++----- codegen/src/test/module.rs | 75 +++++++++++++++++++++++------------ src/func/call.rs | 18 +++++---- src/func/callable_function.rs | 3 +- src/func/plugin.rs | 6 ++- 9 files changed, 98 insertions(+), 48 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f132a40c..76988274 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -21,6 +21,12 @@ Deprecated API's * `Module::with_capacity` is deprecated. * The internal method `Engine::eval_statements_raw` is deprecated. +Speed improvements +------------------ + +* The functions registration mechanism is revamped to take advantage of constant generics, among others. +* This yields a 20% speed improvements on certain real-life, function-call-heavy workloads. + Net features ------------ diff --git a/Cargo.toml b/Cargo.toml index 14fb9603..d56384f9 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -23,7 +23,7 @@ ahash = { version = "0.8.2", default-features = false, features = ["compile-time num-traits = { version = "0.2", default-features = false } bitflags = { version = "1", default-features = false } smartstring = { version = "1", default-features = false } -rhai_codegen = { version = "1.4.1", path = "codegen", default-features = false } +rhai_codegen = { version = "1.5.0", path = "codegen", default-features = false } no-std-compat = { version = "0.4", default-features = false, features = ["alloc"], optional = true } libm = { version = "0.2", default-features = false, optional = true } diff --git a/codegen/Cargo.toml b/codegen/Cargo.toml index 6364db5c..8a1495c9 100644 --- a/codegen/Cargo.toml +++ b/codegen/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "rhai_codegen" -version = "1.4.4" +version = "1.5.0" edition = "2018" resolver = "2" authors = ["jhwgh1968", "Stephen Chung"] @@ -24,5 +24,5 @@ syn = { version = "1.0", features = ["full", "parsing", "printing", "proc-macro" quote = "1" [dev-dependencies] -rhai = { path = "..", version = "1.11", features = ["metadata"] } +rhai = { path = "..", version = "1.12", features = ["metadata"] } trybuild = "1" diff --git a/codegen/src/function.rs b/codegen/src/function.rs index aaa07df5..27ec31c1 100644 --- a/codegen/src/function.rs +++ b/codegen/src/function.rs @@ -674,6 +674,7 @@ impl ExportedFn { let arg_count = self.arg_count(); let is_method_call = self.mutable_receiver(); let is_pure = !self.mutable_receiver() || self.params().pure.is_some(); + let pass_context = self.pass_context; let mut unpack_statements = Vec::new(); let mut unpack_exprs = Vec::new(); @@ -689,7 +690,7 @@ impl ExportedFn { let skip_first_arg; if self.pass_context { - unpack_exprs.push(syn::parse2::(quote! { context }).unwrap()); + unpack_exprs.push(syn::parse2::(quote! { context.unwrap() }).unwrap()); } // Handle the first argument separately if the function has a "method like" receiver @@ -860,13 +861,14 @@ impl ExportedFn { #(#cfg_attrs)* impl PluginFunction for #type_name { #[inline(always)] - fn call(&self, context: NativeCallContext, args: &mut [&mut Dynamic]) -> RhaiResult { + fn call(&self, context: Option, args: &mut [&mut Dynamic]) -> RhaiResult { #(#unpack_statements)* #return_expr } #[inline(always)] fn is_method_call(&self) -> bool { #is_method_call } #[inline(always)] fn is_pure(&self) -> bool { #is_pure } + #[inline(always)] fn has_context(&self) -> bool { #pass_context } } } } diff --git a/codegen/src/test/function.rs b/codegen/src/test/function.rs index 05d99130..0af46110 100644 --- a/codegen/src/test/function.rs +++ b/codegen/src/test/function.rs @@ -280,12 +280,13 @@ mod generate_tests { #[inline(always)] pub fn param_types() -> [TypeId; 0usize] { [] } } impl PluginFunction for Token { - #[inline(always)] fn call(&self, context: NativeCallContext, args: &mut [&mut Dynamic]) -> RhaiResult { + #[inline(always)] fn call(&self, context: Option, args: &mut [&mut Dynamic]) -> RhaiResult { Ok(Dynamic::from(do_nothing())) } #[inline(always)] fn is_method_call(&self) -> bool { false } #[inline(always)] fn is_pure(&self) -> bool { true } + #[inline(always)] fn has_context(&self) -> bool { false } } #[allow(unused)] #[doc(hidden)] @@ -318,13 +319,14 @@ mod generate_tests { } impl PluginFunction for Token { #[inline(always)] - fn call(&self, context: NativeCallContext, args: &mut [&mut Dynamic]) -> RhaiResult { + fn call(&self, context: Option, args: &mut [&mut Dynamic]) -> RhaiResult { let arg0 = mem::take(args[0usize]).cast::(); Ok(Dynamic::from(do_something(arg0))) } #[inline(always)] fn is_method_call(&self) -> bool { false } #[inline(always)] fn is_pure(&self) -> bool { true } + #[inline(always)] fn has_context(&self) -> bool { false } } #[allow(unused)] #[doc(hidden)] @@ -357,13 +359,14 @@ mod generate_tests { } impl PluginFunction for Token { #[inline(always)] - fn call(&self, context: NativeCallContext, args: &mut [&mut Dynamic]) -> RhaiResult { + fn call(&self, context: Option, args: &mut [&mut Dynamic]) -> RhaiResult { let arg0 = mem::take(args[0usize]).cast::(); - Ok(Dynamic::from(do_something(context, arg0))) + Ok(Dynamic::from(do_something(context.unwrap(), arg0))) } #[inline(always)] fn is_method_call(&self) -> bool { false } #[inline(always)] fn is_pure(&self) -> bool { true } + #[inline(always)] fn has_context(&self) -> bool { true } } #[allow(unused)] #[doc(hidden)] @@ -399,12 +402,13 @@ mod generate_tests { } impl PluginFunction for Token { #[inline(always)] - fn call(&self, context: NativeCallContext, args: &mut [&mut Dynamic]) -> RhaiResult { + fn call(&self, context: Option, args: &mut [&mut Dynamic]) -> RhaiResult { Ok(Dynamic::from(return_dynamic())) } #[inline(always)] fn is_method_call(&self) -> bool { false } #[inline(always)] fn is_pure(&self) -> bool { true } + #[inline(always)] fn has_context(&self) -> bool { false } } #[allow(unused)] #[doc(hidden)] @@ -432,13 +436,14 @@ mod generate_tests { } impl PluginFunction for TestStruct { #[inline(always)] - fn call(&self, context: NativeCallContext, args: &mut [&mut Dynamic]) -> RhaiResult { + fn call(&self, context: Option, args: &mut [&mut Dynamic]) -> RhaiResult { let arg0 = mem::take(args[0usize]).cast::(); Ok(Dynamic::from(do_something(arg0))) } #[inline(always)] fn is_method_call(&self) -> bool { false } #[inline(always)] fn is_pure(&self) -> bool { true } + #[inline(always)] fn has_context(&self) -> bool { false } } }; @@ -465,7 +470,7 @@ mod generate_tests { } impl PluginFunction for Token { #[inline(always)] - fn call(&self, context: NativeCallContext, args: &mut [&mut Dynamic]) -> RhaiResult { + fn call(&self, context: Option, args: &mut [&mut Dynamic]) -> RhaiResult { let arg0 = mem::take(args[0usize]).cast::(); let arg1 = mem::take(args[1usize]).cast::(); Ok(Dynamic::from(add_together(arg0, arg1))) @@ -473,6 +478,7 @@ mod generate_tests { #[inline(always)] fn is_method_call(&self) -> bool { false } #[inline(always)] fn is_pure(&self) -> bool { true } + #[inline(always)] fn has_context(&self) -> bool { false } } #[allow(unused)] #[doc(hidden)] @@ -505,7 +511,7 @@ mod generate_tests { } impl PluginFunction for Token { #[inline(always)] - fn call(&self, context: NativeCallContext, args: &mut [&mut Dynamic]) -> RhaiResult { + fn call(&self, context: Option, args: &mut [&mut Dynamic]) -> RhaiResult { let arg1 = mem::take(args[1usize]).cast::(); let arg0 = &mut args[0usize].write_lock::().unwrap(); Ok(Dynamic::from(increment(arg0, arg1))) @@ -513,6 +519,7 @@ mod generate_tests { #[inline(always)] fn is_method_call(&self) -> bool { true } #[inline(always)] fn is_pure(&self) -> bool { false } + #[inline(always)] fn has_context(&self) -> bool { false } } #[allow(unused)] #[doc(hidden)] @@ -546,13 +553,14 @@ mod generate_tests { } impl PluginFunction for Token { #[inline(always)] - fn call(&self, context: NativeCallContext, args: &mut [&mut Dynamic]) -> RhaiResult { + fn call(&self, context: Option, args: &mut [&mut Dynamic]) -> RhaiResult { let arg0 = mem::take(args[0usize]).into_immutable_string().unwrap(); Ok(Dynamic::from(special_print(&arg0))) } #[inline(always)] fn is_method_call(&self) -> bool { false } #[inline(always)] fn is_pure(&self) -> bool { true } + #[inline(always)] fn has_context(&self) -> bool { false } } #[allow(unused)] #[doc(hidden)] diff --git a/codegen/src/test/module.rs b/codegen/src/test/module.rs index 3575d2c4..f333e23b 100644 --- a/codegen/src/test/module.rs +++ b/codegen/src/test/module.rs @@ -386,12 +386,13 @@ mod generate_tests { } impl PluginFunction for get_mystic_number_token { #[inline(always)] - fn call(&self, context: NativeCallContext, args: &mut [&mut Dynamic]) -> RhaiResult { + fn call(&self, context: Option, args: &mut [&mut Dynamic]) -> RhaiResult { Ok(Dynamic::from(get_mystic_number())) } #[inline(always)] fn is_method_call(&self) -> bool { false } #[inline(always)] fn is_pure(&self) -> bool { true } + #[inline(always)] fn has_context(&self) -> bool { false } } } }; @@ -474,12 +475,13 @@ mod generate_tests { } impl PluginFunction for get_mystic_number_token { #[inline(always)] - fn call(&self, context: NativeCallContext, args: &mut [&mut Dynamic]) -> RhaiResult { + fn call(&self, context: Option, args: &mut [&mut Dynamic]) -> RhaiResult { Ok(Dynamic::from(get_mystic_number())) } #[inline(always)] fn is_method_call(&self) -> bool { false } #[inline(always)] fn is_pure(&self) -> bool { true } + #[inline(always)] fn has_context(&self) -> bool { false } } } }; @@ -532,13 +534,14 @@ mod generate_tests { } impl PluginFunction for add_one_to_token { #[inline(always)] - fn call(&self, context: NativeCallContext, args: &mut [&mut Dynamic]) -> RhaiResult { + fn call(&self, context: Option, args: &mut [&mut Dynamic]) -> RhaiResult { let arg0 = mem::take(args[0usize]).cast::(); Ok(Dynamic::from(add_one_to(arg0))) } #[inline(always)] fn is_method_call(&self) -> bool { false } #[inline(always)] fn is_pure(&self) -> bool { true } + #[inline(always)] fn has_context(&self) -> bool { false } } } }; @@ -590,13 +593,14 @@ mod generate_tests { } impl PluginFunction for add_one_to_token { #[inline(always)] - fn call(&self, context: NativeCallContext, args: &mut [&mut Dynamic]) -> RhaiResult { + fn call(&self, context: Option, args: &mut [&mut Dynamic]) -> RhaiResult { let arg0 = mem::take(args[0usize]).cast::(); Ok(Dynamic::from(add_one_to(arg0))) } #[inline(always)] fn is_method_call(&self) -> bool { false } #[inline(always)] fn is_pure(&self) -> bool { true } + #[inline(always)] fn has_context(&self) -> bool { false } } } }; @@ -662,13 +666,14 @@ mod generate_tests { } impl PluginFunction for add_one_to_token { #[inline(always)] - fn call(&self, context: NativeCallContext, args: &mut [&mut Dynamic]) -> RhaiResult { + fn call(&self, context: Option, args: &mut [&mut Dynamic]) -> RhaiResult { let arg0 = mem::take(args[0usize]).cast::(); Ok(Dynamic::from(add_one_to(arg0))) } #[inline(always)] fn is_method_call(&self) -> bool { false } #[inline(always)] fn is_pure(&self) -> bool { true } + #[inline(always)] fn has_context(&self) -> bool { false } } #[allow(non_camel_case_types)] @@ -681,7 +686,7 @@ mod generate_tests { } impl PluginFunction for add_n_to_token { #[inline(always)] - fn call(&self, context: NativeCallContext, args: &mut [&mut Dynamic]) -> RhaiResult { + fn call(&self, context: Option, args: &mut [&mut Dynamic]) -> RhaiResult { let arg0 = mem::take(args[0usize]).cast::(); let arg1 = mem::take(args[1usize]).cast::(); Ok(Dynamic::from(add_n_to(arg0, arg1))) @@ -689,6 +694,7 @@ mod generate_tests { #[inline(always)] fn is_method_call(&self) -> bool { false } #[inline(always)] fn is_pure(&self) -> bool { true } + #[inline(always)] fn has_context(&self) -> bool { false } } } }; @@ -740,7 +746,7 @@ mod generate_tests { } impl PluginFunction for add_together_token { #[inline(always)] - fn call(&self, context: NativeCallContext, args: &mut [&mut Dynamic]) -> RhaiResult { + fn call(&self, context: Option, args: &mut [&mut Dynamic]) -> RhaiResult { let arg0 = mem::take(args[0usize]).cast::(); let arg1 = mem::take(args[1usize]).cast::(); Ok(Dynamic::from(add_together(arg0, arg1))) @@ -748,6 +754,7 @@ mod generate_tests { #[inline(always)] fn is_method_call(&self) -> bool { false } #[inline(always)] fn is_pure(&self) -> bool { true } + #[inline(always)] fn has_context(&self) -> bool { false } } } }; @@ -806,7 +813,7 @@ mod generate_tests { } impl PluginFunction for add_together_token { #[inline(always)] - fn call(&self, context: NativeCallContext, args: &mut [&mut Dynamic]) -> RhaiResult { + fn call(&self, context: Option, args: &mut [&mut Dynamic]) -> RhaiResult { let arg0 = mem::take(args[0usize]).cast::(); let arg1 = mem::take(args[1usize]).cast::(); Ok(Dynamic::from(add_together(arg0, arg1))) @@ -814,6 +821,7 @@ mod generate_tests { #[inline(always)] fn is_method_call(&self) -> bool { false } #[inline(always)] fn is_pure(&self) -> bool { true } + #[inline(always)] fn has_context(&self) -> bool { false } } } }; @@ -882,13 +890,14 @@ mod generate_tests { } impl PluginFunction for get_mystic_number_token { #[inline(always)] - fn call(&self, context: NativeCallContext, args: &mut [&mut Dynamic]) -> RhaiResult { + fn call(&self, context: Option, args: &mut [&mut Dynamic]) -> RhaiResult { let arg0 = &mut args[0usize].write_lock::().unwrap(); Ok(Dynamic::from(get_mystic_number(arg0))) } #[inline(always)] fn is_method_call(&self) -> bool { true } #[inline(always)] fn is_pure(&self) -> bool { false } + #[inline(always)] fn has_context(&self) -> bool { false } } } }; @@ -1092,12 +1101,13 @@ mod generate_tests { } impl PluginFunction for get_mystic_number_token { #[inline(always)] - fn call(&self, context: NativeCallContext, args: &mut [&mut Dynamic]) -> RhaiResult { + fn call(&self, context: Option, args: &mut [&mut Dynamic]) -> RhaiResult { Ok(Dynamic::from(get_mystic_number())) } #[inline(always)] fn is_method_call(&self) -> bool { false } #[inline(always)] fn is_pure(&self) -> bool { true } + #[inline(always)] fn has_context(&self) -> bool { false } } } }; @@ -1182,13 +1192,14 @@ mod generate_tests { } impl PluginFunction for print_out_to_token { #[inline(always)] - fn call(&self, context: NativeCallContext, args: &mut [&mut Dynamic]) -> RhaiResult { + fn call(&self, context: Option, args: &mut [&mut Dynamic]) -> RhaiResult { let arg0 = mem::take(args[0usize]).into_immutable_string().unwrap(); Ok(Dynamic::from(print_out_to(&arg0))) } #[inline(always)] fn is_method_call(&self) -> bool { false } #[inline(always)] fn is_pure(&self) -> bool { true } + #[inline(always)] fn has_context(&self) -> bool { false } } } }; @@ -1240,13 +1251,14 @@ mod generate_tests { } impl PluginFunction for print_out_to_token { #[inline(always)] - fn call(&self, context: NativeCallContext, args: &mut [&mut Dynamic]) -> RhaiResult { + fn call(&self, context: Option, args: &mut [&mut Dynamic]) -> RhaiResult { let arg0 = mem::take(args[0usize]).into_string().unwrap(); Ok(Dynamic::from(print_out_to(arg0))) } #[inline(always)] fn is_method_call(&self) -> bool { false } #[inline(always)] fn is_pure(&self) -> bool { true } + #[inline(always)] fn has_context(&self) -> bool { false } } } }; @@ -1299,7 +1311,7 @@ mod generate_tests { } impl PluginFunction for foo_token { #[inline(always)] - fn call(&self, context: NativeCallContext, args: &mut [&mut Dynamic]) -> RhaiResult { + fn call(&self, context: Option, args: &mut [&mut Dynamic]) -> RhaiResult { let arg1 = mem::take(args[1usize]).cast::(); let arg0 = &mut args[0usize].write_lock::().unwrap(); Ok(Dynamic::from(foo(arg0, arg1))) @@ -1307,6 +1319,7 @@ mod generate_tests { #[inline(always)] fn is_method_call(&self) -> bool { true } #[inline(always)] fn is_pure(&self) -> bool { true } + #[inline(always)] fn has_context(&self) -> bool { false } } } }; @@ -1358,13 +1371,14 @@ mod generate_tests { } impl PluginFunction for increment_token { #[inline(always)] - fn call(&self, context: NativeCallContext, args: &mut [&mut Dynamic]) -> RhaiResult { + fn call(&self, context: Option, args: &mut [&mut Dynamic]) -> RhaiResult { let arg0 = &mut args[0usize].write_lock::().unwrap(); Ok(Dynamic::from(increment(arg0))) } #[inline(always)] fn is_method_call(&self) -> bool { true } #[inline(always)] fn is_pure(&self) -> bool { false } + #[inline(always)] fn has_context(&self) -> bool { false } } } }; @@ -1419,13 +1433,14 @@ mod generate_tests { } impl PluginFunction for increment_token { #[inline(always)] - fn call(&self, context: NativeCallContext, args: &mut [&mut Dynamic]) -> RhaiResult { + fn call(&self, context: Option, args: &mut [&mut Dynamic]) -> RhaiResult { let arg0 = &mut args[0usize].write_lock::().unwrap(); Ok(Dynamic::from(increment(arg0))) } #[inline(always)] fn is_method_call(&self) -> bool { true } #[inline(always)] fn is_pure(&self) -> bool { false } + #[inline(always)] fn has_context(&self) -> bool { false } } } #[allow(unused_imports)] @@ -1503,13 +1518,14 @@ mod generate_tests { } impl PluginFunction for increment_token { #[inline(always)] - fn call(&self, context: NativeCallContext, args: &mut [&mut Dynamic]) -> RhaiResult { + fn call(&self, context: Option, args: &mut [&mut Dynamic]) -> RhaiResult { let arg0 = &mut args[0usize].write_lock::().unwrap(); Ok(Dynamic::from(increment(arg0))) } #[inline(always)] fn is_method_call(&self) -> bool { true } #[inline(always)] fn is_pure(&self) -> bool { false } + #[inline(always)] fn has_context(&self) -> bool { false } } } #[allow(unused_imports)] @@ -1588,13 +1604,14 @@ mod generate_tests { } impl PluginFunction for int_foo_token { #[inline(always)] - fn call(&self, context: NativeCallContext, args: &mut [&mut Dynamic]) -> RhaiResult { + fn call(&self, context: Option, args: &mut [&mut Dynamic]) -> RhaiResult { let arg0 = &mut args[0usize].write_lock::().unwrap(); Ok(Dynamic::from(int_foo(arg0))) } #[inline(always)] fn is_method_call(&self) -> bool { true } #[inline(always)] fn is_pure(&self) -> bool { false } + #[inline(always)] fn has_context(&self) -> bool { false } } } }; @@ -1650,13 +1667,14 @@ mod generate_tests { } impl PluginFunction for int_foo_token { #[inline(always)] - fn call(&self, context: NativeCallContext, args: &mut [&mut Dynamic]) -> RhaiResult { + fn call(&self, context: Option, args: &mut [&mut Dynamic]) -> RhaiResult { let arg0 = &mut args[0usize].write_lock::().unwrap(); Ok(Dynamic::from(int_foo(arg0))) } #[inline(always)] fn is_method_call(&self) -> bool { true } #[inline(always)] fn is_pure(&self) -> bool { false } + #[inline(always)] fn has_context(&self) -> bool { false } } } }; @@ -1709,7 +1727,7 @@ mod generate_tests { } impl PluginFunction for int_foo_token { #[inline(always)] - fn call(&self, context: NativeCallContext, args: &mut [&mut Dynamic]) -> RhaiResult { + fn call(&self, context: Option, args: &mut [&mut Dynamic]) -> RhaiResult { let arg1 = mem::take(args[1usize]).cast::(); let arg0 = &mut args[0usize].write_lock::().unwrap(); Ok(Dynamic::from(int_foo(arg0, arg1))) @@ -1717,6 +1735,7 @@ mod generate_tests { #[inline(always)] fn is_method_call(&self) -> bool { true } #[inline(always)] fn is_pure(&self) -> bool { false } + #[inline(always)] fn has_context(&self) -> bool { false } } } }; @@ -1772,7 +1791,7 @@ mod generate_tests { } impl PluginFunction for int_foo_token { #[inline(always)] - fn call(&self, context: NativeCallContext, args: &mut [&mut Dynamic]) -> RhaiResult { + fn call(&self, context: Option, args: &mut [&mut Dynamic]) -> RhaiResult { let arg1 = mem::take(args[1usize]).cast::(); let arg0 = &mut args[0usize].write_lock::().unwrap(); Ok(Dynamic::from(int_foo(arg0, arg1))) @@ -1780,6 +1799,7 @@ mod generate_tests { #[inline(always)] fn is_method_call(&self) -> bool { true } #[inline(always)] fn is_pure(&self) -> bool { false } + #[inline(always)] fn has_context(&self) -> bool { false } } } }; @@ -1832,7 +1852,7 @@ mod generate_tests { } impl PluginFunction for get_by_index_token { #[inline(always)] - fn call(&self, context: NativeCallContext, args: &mut [&mut Dynamic]) -> RhaiResult { + fn call(&self, context: Option, args: &mut [&mut Dynamic]) -> RhaiResult { let arg1 = mem::take(args[1usize]).cast::(); let arg0 = &mut args[0usize].write_lock::().unwrap(); Ok(Dynamic::from(get_by_index(arg0, arg1))) @@ -1840,6 +1860,7 @@ mod generate_tests { #[inline(always)] fn is_method_call(&self) -> bool { true } #[inline(always)] fn is_pure(&self) -> bool { false } + #[inline(always)] fn has_context(&self) -> bool { false } } } }; @@ -1900,7 +1921,7 @@ mod generate_tests { #[cfg(hello)] impl PluginFunction for get_by_index_token { #[inline(always)] - fn call(&self, context: NativeCallContext, args: &mut [&mut Dynamic]) -> RhaiResult { + fn call(&self, context: Option, args: &mut [&mut Dynamic]) -> RhaiResult { let arg1 = mem::take(args[1usize]).cast::(); let arg0 = &mut args[0usize].write_lock::().unwrap(); Ok(Dynamic::from(get_by_index(arg0, arg1))) @@ -1908,6 +1929,7 @@ mod generate_tests { #[inline(always)] fn is_method_call(&self) -> bool { true } #[inline(always)] fn is_pure(&self) -> bool { false } + #[inline(always)] fn has_context(&self) -> bool { false } } } }; @@ -1963,7 +1985,7 @@ mod generate_tests { } impl PluginFunction for get_by_index_token { #[inline(always)] - fn call(&self, context: NativeCallContext, args: &mut [&mut Dynamic]) -> RhaiResult { + fn call(&self, context: Option, args: &mut [&mut Dynamic]) -> RhaiResult { let arg1 = mem::take(args[1usize]).cast::(); let arg0 = &mut args[0usize].write_lock::().unwrap(); Ok(Dynamic::from(get_by_index(arg0, arg1))) @@ -1971,6 +1993,7 @@ mod generate_tests { #[inline(always)] fn is_method_call(&self) -> bool { true } #[inline(always)] fn is_pure(&self) -> bool { false } + #[inline(always)] fn has_context(&self) -> bool { false } } } }; @@ -2023,7 +2046,7 @@ mod generate_tests { } impl PluginFunction for set_by_index_token { #[inline(always)] - fn call(&self, context: NativeCallContext, args: &mut [&mut Dynamic]) -> RhaiResult { + fn call(&self, context: Option, args: &mut [&mut Dynamic]) -> RhaiResult { let arg1 = mem::take(args[1usize]).cast::(); let arg2 = mem::take(args[2usize]).cast::(); let arg0 = &mut args[0usize].write_lock::().unwrap(); @@ -2032,6 +2055,7 @@ mod generate_tests { #[inline(always)] fn is_method_call(&self) -> bool { true } #[inline(always)] fn is_pure(&self) -> bool { false } + #[inline(always)] fn has_context(&self) -> bool { false } } } }; @@ -2087,7 +2111,7 @@ mod generate_tests { } impl PluginFunction for set_by_index_token { #[inline(always)] - fn call(&self, context: NativeCallContext, args: &mut [&mut Dynamic]) -> RhaiResult { + fn call(&self, context: Option, args: &mut [&mut Dynamic]) -> RhaiResult { let arg1 = mem::take(args[1usize]).cast::(); let arg2 = mem::take(args[2usize]).cast::(); let arg0 = &mut args[0usize].write_lock::().unwrap(); @@ -2096,6 +2120,7 @@ mod generate_tests { #[inline(always)] fn is_method_call(&self) -> bool { true } #[inline(always)] fn is_pure(&self) -> bool { false } + #[inline(always)] fn has_context(&self) -> bool { false } } } }; diff --git a/src/func/call.rs b/src/func/call.rs index 91522cad..e5f5adc9 100644 --- a/src/func/call.rs +++ b/src/func/call.rs @@ -401,19 +401,19 @@ impl Engine { let is_method = func.is_method(); let src = source.as_ref().map(|s| s.as_str()); + let context = if func.has_context() { + Some((self, name, src, &*global, pos).into()) + } else { + None + }; + let mut _result = if let Some(f) = func.get_plugin_fn() { if !f.is_pure() && !args.is_empty() && args[0].is_read_only() { Err(ERR::ErrorNonPureMethodCallOnConstant(name.to_string(), pos).into()) } else { - let context = (self, name, src, &*global, pos).into(); f.call(context, args) } } else if let Some(f) = func.get_native_fn() { - let context = if func.has_context() { - Some((self, name, src, &*global, pos).into()) - } else { - None - }; f(context, args) } else { unreachable!(); @@ -1390,8 +1390,12 @@ impl Engine { } Some(f) if f.is_plugin_fn() => { - let context = (self, fn_name, module.id(), &*global, pos).into(); let f = f.get_plugin_fn().expect("plugin function"); + let context = if f.has_context() { + Some((self, fn_name, module.id(), &*global, pos).into()) + } else { + None + }; if !f.is_pure() && !args.is_empty() && args[0].is_read_only() { Err(ERR::ErrorNonPureMethodCallOnConstant(fn_name.to_string(), pos).into()) } else { diff --git a/src/func/callable_function.rs b/src/func/callable_function.rs index cde5effa..d7ed45bf 100644 --- a/src/func/callable_function.rs +++ b/src/func/callable_function.rs @@ -142,7 +142,8 @@ impl CallableFunction { pub fn has_context(&self) -> bool { match self { Self::Pure(.., ctx) | Self::Method(.., ctx) => *ctx, - Self::Plugin(..) | Self::Iterator(..) => false, + Self::Plugin(f) => f.has_context(), + Self::Iterator(..) => false, #[cfg(not(feature = "no_function"))] Self::Script(..) => false, } diff --git a/src/func/plugin.rs b/src/func/plugin.rs index b4a9b9d0..831e6919 100644 --- a/src/func/plugin.rs +++ b/src/func/plugin.rs @@ -24,12 +24,16 @@ pub use rhai_codegen::{export_fn, register_exported_fn}; /// Use the `#[export_module]` and `#[export_fn]` procedural attributes instead. pub trait PluginFunction { /// Call the plugin function with the arguments provided. - fn call(&self, context: NativeCallContext, args: &mut FnCallArgs) -> RhaiResult; + fn call(&self, context: Option, args: &mut FnCallArgs) -> RhaiResult; /// Is this plugin function a method? #[must_use] fn is_method_call(&self) -> bool; + /// Does this plugin function contain a [`NativeCallContext`] parameter? + #[must_use] + fn has_context(&self) -> bool; + /// Is this plugin function pure? /// /// This defaults to `true` such that any old implementation that has constant-checking code From 58769dbb52b47f5a4052305893b8c5348f9c9e3f Mon Sep 17 00:00:00 2001 From: Stephen Chung Date: Sat, 3 Dec 2022 22:55:40 +0800 Subject: [PATCH 31/34] Use unwrap instead of expect. --- src/func/builtin.rs | 210 ++++++++++++++++++++++---------------------- 1 file changed, 104 insertions(+), 106 deletions(-) diff --git a/src/func/builtin.rs b/src/func/builtin.rs index 1608a3bb..10c8e537 100644 --- a/src/func/builtin.rs +++ b/src/func/builtin.rs @@ -24,8 +24,8 @@ use num_traits::Float; #[cfg(feature = "decimal")] use rust_decimal::Decimal; -/// The message: data type was checked -const BUILTIN: &str = "data type was checked"; +/// The `unchecked` feature is not active. +const CHECKED_BUILD: bool = cfg!(not(feature = "unchecked")); /// Is the type a numeric type? #[inline] @@ -90,18 +90,18 @@ pub fn get_builtin_binary_op_fn(op: Token, x: &Dynamic, y: &Dynamic) -> Option { (|_, args| { - let x = &*args[0].read_lock::<$xx>().expect(BUILTIN); - let y = &*args[1].read_lock::<$yy>().expect(BUILTIN); + let x = &*args[0].read_lock::<$xx>().unwrap(); + let y = &*args[1].read_lock::<$yy>().unwrap(); Ok((x $op y).into()) }, false) }; ($xx:ident . $func:ident ( $yy:ty )) => { (|_, args| { - let x = &*args[0].read_lock::<$xx>().expect(BUILTIN); - let y = &*args[1].read_lock::<$yy>().expect(BUILTIN); + let x = &*args[0].read_lock::<$xx>().unwrap(); + let y = &*args[1].read_lock::<$yy>().unwrap(); Ok(x.$func(y).into()) }, false) }; ($xx:ident . $func:ident ( $yy:ident . $yyy:ident () )) => { (|_, args| { - let x = &*args[0].read_lock::<$xx>().expect(BUILTIN); - let y = &*args[1].read_lock::<$yy>().expect(BUILTIN); + let x = &*args[0].read_lock::<$xx>().unwrap(); + let y = &*args[1].read_lock::<$yy>().unwrap(); Ok(x.$func(y.$yyy()).into()) }, false) }; ($func:ident ( $op:tt )) => { (|_, args| { @@ -109,33 +109,33 @@ pub fn get_builtin_binary_op_fn(op: Token, x: &Dynamic, y: &Dynamic) -> Option $xx:ident $op:tt $yy:ident) => { (|_, args| { - let x = args[0].$xx().expect(BUILTIN) as $base; - let y = args[1].$yy().expect(BUILTIN) as $base; + let x = args[0].$xx().unwrap() as $base; + let y = args[1].$yy().unwrap() as $base; Ok((x $op y).into()) }, false) }; ($base:ty => $xx:ident . $func:ident ( $yy:ident as $yyy:ty)) => { (|_, args| { - let x = args[0].$xx().expect(BUILTIN) as $base; - let y = args[1].$yy().expect(BUILTIN) as $base; + let x = args[0].$xx().unwrap() as $base; + let y = args[1].$yy().unwrap() as $base; Ok(x.$func(y as $yyy).into()) }, false) }; ($base:ty => $func:ident ( $xx:ident, $yy:ident )) => { (|_, args| { - let x = args[0].$xx().expect(BUILTIN) as $base; - let y = args[1].$yy().expect(BUILTIN) as $base; + let x = args[0].$xx().unwrap() as $base; + let y = args[1].$yy().unwrap() as $base; $func(x, y).map(Into::into) }, false) }; (from $base:ty => $xx:ident $op:tt $yy:ident) => { (|_, args| { - let x = <$base>::from(args[0].$xx().expect(BUILTIN)); - let y = <$base>::from(args[1].$yy().expect(BUILTIN)); + let x = <$base>::from(args[0].$xx().unwrap()); + let y = <$base>::from(args[1].$yy().unwrap()); Ok((x $op y).into()) }, false) }; (from $base:ty => $xx:ident . $func:ident ( $yy:ident )) => { (|_, args| { - let x = <$base>::from(args[0].$xx().expect(BUILTIN)); - let y = <$base>::from(args[1].$yy().expect(BUILTIN)); + let x = <$base>::from(args[0].$xx().unwrap()); + let y = <$base>::from(args[1].$yy().unwrap()); Ok(x.$func(y).into()) }, false) }; (from $base:ty => $func:ident ( $xx:ident, $yy:ident )) => { (|_, args| { - let x = <$base>::from(args[0].$xx().expect(BUILTIN)); - let y = <$base>::from(args[1].$yy().expect(BUILTIN)); + let x = <$base>::from(args[0].$xx().unwrap()); + let y = <$base>::from(args[1].$yy().unwrap()); $func(x, y).map(Into::into) }, false) }; } @@ -208,8 +208,8 @@ pub fn get_builtin_binary_op_fn(op: Token, x: &Dynamic, y: &Dynamic) -> Option Some(( |_ctx, args| { - let s1 = &*args[0].read_lock::().expect(BUILTIN); - let s2 = &*args[1].read_lock::().expect(BUILTIN); + let s1 = &*args[0].read_lock::().unwrap(); + let s2 = &*args[1].read_lock::().unwrap(); #[cfg(not(feature = "unchecked"))] _ctx.unwrap() @@ -218,7 +218,7 @@ pub fn get_builtin_binary_op_fn(op: Token, x: &Dynamic, y: &Dynamic) -> Option Some(impl_op!(ImmutableString - ImmutableString)), EqualsTo => Some(impl_op!(ImmutableString == ImmutableString)), @@ -235,8 +235,8 @@ pub fn get_builtin_binary_op_fn(op: Token, x: &Dynamic, y: &Dynamic) -> Option Some(( |_ctx, args| { - let x = args[0].as_char().expect(BUILTIN); - let y = args[1].as_char().expect(BUILTIN); + let x = args[0].as_char().unwrap(); + let y = args[1].as_char().unwrap(); let mut result = SmartString::new_const(); result.push(x); @@ -247,7 +247,7 @@ pub fn get_builtin_binary_op_fn(op: Token, x: &Dynamic, y: &Dynamic) -> Option Some(impl_op!(char => as_char == as_char)), NotEqualsTo => Some(impl_op!(char => as_char != as_char)), @@ -266,11 +266,11 @@ pub fn get_builtin_binary_op_fn(op: Token, x: &Dynamic, y: &Dynamic) -> Option Some(( |_ctx, args| { - let b2 = &*args[1].read_lock::().expect(BUILTIN); + let b2 = &*args[1].read_lock::().unwrap(); if b2.is_empty() { return Ok(args[0].flatten_clone()); } - let b1 = &*args[0].read_lock::().expect(BUILTIN); + let b1 = &*args[0].read_lock::().unwrap(); if b1.is_empty() { return Ok(args[1].flatten_clone()); } @@ -284,7 +284,7 @@ pub fn get_builtin_binary_op_fn(op: Token, x: &Dynamic, y: &Dynamic) -> Option Some(impl_op!(Blob == Blob)), NotEqualsTo => Some(impl_op!(Blob != Blob)), @@ -389,8 +389,8 @@ pub fn get_builtin_binary_op_fn(op: Token, x: &Dynamic, y: &Dynamic) -> Option(), TypeId::of::()) { fn get_s1s2(args: &FnCallArgs) -> ([char; 2], [char; 2]) { - let x = args[0].as_char().expect(BUILTIN); - let y = &*args[1].read_lock::().expect(BUILTIN); + let x = args[0].as_char().unwrap(); + let y = &*args[1].read_lock::().unwrap(); let s1 = [x, '\0']; let mut y = y.chars(); let s2 = [y.next().unwrap_or('\0'), y.next().unwrap_or('\0')]; @@ -400,8 +400,8 @@ pub fn get_builtin_binary_op_fn(op: Token, x: &Dynamic, y: &Dynamic) -> Option Some(( |_ctx, args| { - let x = args[0].as_char().expect(BUILTIN); - let y = &*args[1].read_lock::().expect(BUILTIN); + let x = args[0].as_char().unwrap(); + let y = &*args[1].read_lock::().unwrap(); let mut result = SmartString::new_const(); result.push(x); @@ -412,7 +412,7 @@ pub fn get_builtin_binary_op_fn(op: Token, x: &Dynamic, y: &Dynamic) -> Option Some(impl_op!(get_s1s2(==))), NotEqualsTo => Some(impl_op!(get_s1s2(!=))), @@ -426,8 +426,8 @@ pub fn get_builtin_binary_op_fn(op: Token, x: &Dynamic, y: &Dynamic) -> Option(), TypeId::of::()) { fn get_s1s2(args: &FnCallArgs) -> ([char; 2], [char; 2]) { - let x = &*args[0].read_lock::().expect(BUILTIN); - let y = args[1].as_char().expect(BUILTIN); + let x = &*args[0].read_lock::().unwrap(); + let y = args[1].as_char().unwrap(); let mut x = x.chars(); let s1 = [x.next().unwrap_or('\0'), x.next().unwrap_or('\0')]; let s2 = [y, '\0']; @@ -437,8 +437,8 @@ pub fn get_builtin_binary_op_fn(op: Token, x: &Dynamic, y: &Dynamic) -> Option Some(( |_ctx, args| { - let x = &*args[0].read_lock::().expect(BUILTIN); - let y = args[1].as_char().expect(BUILTIN); + let x = &*args[0].read_lock::().unwrap(); + let y = args[1].as_char().unwrap(); let result = x + y; #[cfg(not(feature = "unchecked"))] @@ -446,12 +446,12 @@ pub fn get_builtin_binary_op_fn(op: Token, x: &Dynamic, y: &Dynamic) -> Option Some(( |_, args| { - let x = &*args[0].read_lock::().expect(BUILTIN); - let y = args[1].as_char().expect(BUILTIN); + let x = &*args[0].read_lock::().unwrap(); + let y = args[1].as_char().unwrap(); Ok((x - y).into()) }, false, @@ -497,9 +497,9 @@ pub fn get_builtin_binary_op_fn(op: Token, x: &Dynamic, y: &Dynamic) -> Option Some(( |_ctx, args| { - let mut blob = args[0].read_lock::().expect(BUILTIN).clone(); + let mut blob = args[0].read_lock::().unwrap().clone(); let mut buf = [0_u8; 4]; - let x = args[1].as_char().expect(BUILTIN).encode_utf8(&mut buf); + let x = args[1].as_char().unwrap().encode_utf8(&mut buf); #[cfg(not(feature = "unchecked"))] _ctx.unwrap() @@ -509,7 +509,7 @@ pub fn get_builtin_binary_op_fn(op: Token, x: &Dynamic, y: &Dynamic) -> Option None, }; @@ -597,41 +597,41 @@ pub fn get_builtin_op_assignment_fn(op: Token, x: &Dynamic, y: &Dynamic) -> Opti macro_rules! impl_op { ($x:ty = x $op:tt $yy:ident) => { (|_, args| { - let x = args[0].$yy().expect(BUILTIN); - let y = args[1].$yy().expect(BUILTIN) as $x; - Ok((*args[0].write_lock::<$x>().expect(BUILTIN) = x $op y).into()) + let x = args[0].$yy().unwrap(); + let y = args[1].$yy().unwrap() as $x; + Ok((*args[0].write_lock::<$x>().unwrap() = x $op y).into()) }, false) }; ($x:ident $op:tt $yy:ident) => { (|_, args| { - let y = args[1].$yy().expect(BUILTIN) as $x; - Ok((*args[0].write_lock::<$x>().expect(BUILTIN) $op y).into()) + let y = args[1].$yy().unwrap() as $x; + Ok((*args[0].write_lock::<$x>().unwrap() $op y).into()) }, false) }; ($x:ident $op:tt $yy:ident as $yyy:ty) => { (|_, args| { - let y = args[1].$yy().expect(BUILTIN) as $yyy; - Ok((*args[0].write_lock::<$x>().expect(BUILTIN) $op y).into()) + let y = args[1].$yy().unwrap() as $yyy; + Ok((*args[0].write_lock::<$x>().unwrap() $op y).into()) }, false) }; ($x:ty => $xx:ident . $func:ident ( $yy:ident as $yyy:ty )) => { (|_, args| { - let x = args[0].$xx().expect(BUILTIN); - let y = args[1].$yy().expect(BUILTIN) as $x; - Ok((*args[0].write_lock::<$x>().expect(BUILTIN) = x.$func(y as $yyy)).into()) + let x = args[0].$xx().unwrap(); + let y = args[1].$yy().unwrap() as $x; + Ok((*args[0].write_lock::<$x>().unwrap() = x.$func(y as $yyy)).into()) }, false) }; ($x:ty => $func:ident ( $xx:ident, $yy:ident )) => { (|_, args| { - let x = args[0].$xx().expect(BUILTIN); - let y = args[1].$yy().expect(BUILTIN) as $x; - Ok((*args[0].write_lock().expect(BUILTIN) = $func(x, y)?).into()) + let x = args[0].$xx().unwrap(); + let y = args[1].$yy().unwrap() as $x; + Ok((*args[0].write_lock().unwrap() = $func(x, y)?).into()) }, false) }; (from $x:ident $op:tt $yy:ident) => { (|_, args| { - let y = <$x>::from(args[1].$yy().expect(BUILTIN)); - Ok((*args[0].write_lock::<$x>().expect(BUILTIN) $op y).into()) + let y = <$x>::from(args[1].$yy().unwrap()); + Ok((*args[0].write_lock::<$x>().unwrap() $op y).into()) }, false) }; (from $x:ty => $xx:ident . $func:ident ( $yy:ident )) => { (|_, args| { - let x = args[0].$xx().expect(BUILTIN); - let y = <$x>::from(args[1].$yy().expect(BUILTIN)); - Ok((*args[0].write_lock::<$x>().expect(BUILTIN) = x.$func(y)).into()) + let x = args[0].$xx().unwrap(); + let y = <$x>::from(args[1].$yy().unwrap()); + Ok((*args[0].write_lock::<$x>().unwrap() = x.$func(y)).into()) }, false) }; (from $x:ty => $func:ident ( $xx:ident, $yy:ident )) => { (|_, args| { - let x = args[0].$xx().expect(BUILTIN); - let y = <$x>::from(args[1].$yy().expect(BUILTIN)); - Ok((*args[0].write_lock().expect(BUILTIN) = $func(x, y)?).into()) + let x = args[0].$xx().unwrap(); + let y = <$x>::from(args[1].$yy().unwrap()); + Ok((*args[0].write_lock().unwrap() = $func(x, y)?).into()) }, false) }; } @@ -688,8 +688,8 @@ pub fn get_builtin_op_assignment_fn(op: Token, x: &Dynamic, y: &Dynamic) -> Opti return match op { PlusAssign => Some(( |_, args| { - let y = args[1].as_char().expect(BUILTIN); - let x = &mut *args[0].write_lock::().expect(BUILTIN); + let y = args[1].as_char().unwrap(); + let x = &mut *args[0].write_lock::().unwrap(); let mut buf = SmartString::new_const(); write!(&mut buf, "{y}").unwrap(); @@ -707,9 +707,9 @@ pub fn get_builtin_op_assignment_fn(op: Token, x: &Dynamic, y: &Dynamic) -> Opti return match op { PlusAssign => Some(( |_ctx, args| { - let (first, second) = args.split_first_mut().expect(BUILTIN); - let x = &mut *first.write_lock::().expect(BUILTIN); - let y = &*second[0].read_lock::().expect(BUILTIN); + let (first, second) = args.split_first_mut().unwrap(); + let x = &mut *first.write_lock::().unwrap(); + let y = &*second[0].read_lock::().unwrap(); #[cfg(not(feature = "unchecked"))] if !x.is_empty() && !y.is_empty() { @@ -719,13 +719,13 @@ pub fn get_builtin_op_assignment_fn(op: Token, x: &Dynamic, y: &Dynamic) -> Opti Ok((*x += y).into()) }, - cfg!(not(feature = "unchecked")), + CHECKED_BUILD, )), MinusAssign => Some(( |_, args| { - let (first, second) = args.split_first_mut().expect(BUILTIN); - let x = &mut *first.write_lock::().expect(BUILTIN); - let y = &*second[0].read_lock::().expect(BUILTIN); + let (first, second) = args.split_first_mut().unwrap(); + let x = &mut *first.write_lock::().unwrap(); + let y = &*second[0].read_lock::().unwrap(); Ok((*x -= y).into()) }, false, @@ -743,28 +743,27 @@ pub fn get_builtin_op_assignment_fn(op: Token, x: &Dynamic, y: &Dynamic) -> Opti return match op { PlusAssign => Some(( |_ctx, args| { - let x = std::mem::take(args[1]).into_array().expect(BUILTIN); + let x = std::mem::take(args[1]).into_array().unwrap(); if x.is_empty() { return Ok(Dynamic::UNIT); } - let _array_is_empty = - args[0].read_lock::().expect(BUILTIN).is_empty(); + let _array_is_empty = args[0].read_lock::().unwrap().is_empty(); #[cfg(not(feature = "unchecked"))] if !_array_is_empty { _ctx.unwrap().engine().check_data_size( - &*args[0].read_lock().expect(BUILTIN), + &*args[0].read_lock().unwrap(), crate::Position::NONE, )?; } - let array = &mut *args[0].write_lock::().expect(BUILTIN); + let array = &mut *args[0].write_lock::().unwrap(); Ok(append(array, x).into()) }, - cfg!(not(feature = "unchecked")), + CHECKED_BUILD, )), _ => None, }; @@ -779,8 +778,8 @@ pub fn get_builtin_op_assignment_fn(op: Token, x: &Dynamic, y: &Dynamic) -> Opti return match op { PlusAssign => Some(( |_ctx, args| { - let blob2 = std::mem::take(args[1]).into_blob().expect(BUILTIN); - let blob1 = &mut *args[0].write_lock::().expect(BUILTIN); + let blob2 = std::mem::take(args[1]).into_blob().unwrap(); + let blob1 = &mut *args[0].write_lock::().unwrap(); #[cfg(not(feature = "unchecked"))] _ctx.unwrap() @@ -789,7 +788,7 @@ pub fn get_builtin_op_assignment_fn(op: Token, x: &Dynamic, y: &Dynamic) -> Opti Ok(append(blob1, blob2).into()) }, - cfg!(not(feature = "unchecked")), + CHECKED_BUILD, )), _ => None, }; @@ -867,8 +866,8 @@ pub fn get_builtin_op_assignment_fn(op: Token, x: &Dynamic, y: &Dynamic) -> Opti PlusAssign => Some(( |_ctx, args| { let mut buf = [0_u8; 4]; - let ch = &*args[1].as_char().expect(BUILTIN).encode_utf8(&mut buf); - let mut x = args[0].write_lock::().expect(BUILTIN); + let ch = &*args[1].as_char().unwrap().encode_utf8(&mut buf); + let mut x = args[0].write_lock::().unwrap(); #[cfg(not(feature = "unchecked"))] _ctx.unwrap() @@ -877,7 +876,7 @@ pub fn get_builtin_op_assignment_fn(op: Token, x: &Dynamic, y: &Dynamic) -> Opti Ok((*x += ch).into()) }, - cfg!(not(feature = "unchecked")), + CHECKED_BUILD, )), MinusAssign => Some(impl_op!(ImmutableString -= as_char as char)), _ => None, @@ -889,13 +888,13 @@ pub fn get_builtin_op_assignment_fn(op: Token, x: &Dynamic, y: &Dynamic) -> Opti PlusAssign => Some(( |_ctx, args| { let ch = { - let s = &*args[1].read_lock::().expect(BUILTIN); + let s = &*args[1].read_lock::().unwrap(); if s.is_empty() { return Ok(Dynamic::UNIT); } - let mut ch = args[0].as_char().expect(BUILTIN).to_string(); + let mut ch = args[0].as_char().unwrap().to_string(); #[cfg(not(feature = "unchecked"))] _ctx.unwrap() @@ -906,11 +905,11 @@ pub fn get_builtin_op_assignment_fn(op: Token, x: &Dynamic, y: &Dynamic) -> Opti ch }; - *args[0].write_lock::().expect(BUILTIN) = ch.into(); + *args[0].write_lock::().unwrap() = ch.into(); Ok(Dynamic::UNIT) }, - cfg!(not(feature = "unchecked")), + CHECKED_BUILD, )), _ => None, }; @@ -928,19 +927,18 @@ pub fn get_builtin_op_assignment_fn(op: Token, x: &Dynamic, y: &Dynamic) -> Opti |_ctx, args| { { let x = std::mem::take(args[1]); - let array = &mut *args[0].write_lock::().expect(BUILTIN); + let array = &mut *args[0].write_lock::().unwrap(); push(array, x); } #[cfg(not(feature = "unchecked"))] - _ctx.unwrap().engine().check_data_size( - &*args[0].read_lock().expect(BUILTIN), - crate::Position::NONE, - )?; + _ctx.unwrap() + .engine() + .check_data_size(&*args[0].read_lock().unwrap(), crate::Position::NONE)?; Ok(Dynamic::UNIT) }, - cfg!(not(feature = "unchecked")), + CHECKED_BUILD, )), _ => None, }; @@ -958,8 +956,8 @@ pub fn get_builtin_op_assignment_fn(op: Token, x: &Dynamic, y: &Dynamic) -> Opti return match op { PlusAssign => Some(( |_ctx, args| { - let x = args[1].as_int().expect(BUILTIN); - let blob = &mut *args[0].write_lock::().expect(BUILTIN); + let x = args[1].as_int().unwrap(); + let blob = &mut *args[0].write_lock::().unwrap(); #[cfg(not(feature = "unchecked"))] _ctx.unwrap() @@ -968,7 +966,7 @@ pub fn get_builtin_op_assignment_fn(op: Token, x: &Dynamic, y: &Dynamic) -> Opti Ok(push(blob, x).into()) }, - cfg!(not(feature = "unchecked")), + CHECKED_BUILD, )), _ => None, }; @@ -982,8 +980,8 @@ pub fn get_builtin_op_assignment_fn(op: Token, x: &Dynamic, y: &Dynamic) -> Opti return match op { PlusAssign => Some(( |_ctx, args| { - let x = args[1].as_char().expect(BUILTIN); - let blob = &mut *args[0].write_lock::().expect(BUILTIN); + let x = args[1].as_char().unwrap(); + let blob = &mut *args[0].write_lock::().unwrap(); #[cfg(not(feature = "unchecked"))] _ctx.unwrap() @@ -992,7 +990,7 @@ pub fn get_builtin_op_assignment_fn(op: Token, x: &Dynamic, y: &Dynamic) -> Opti Ok(append_char(blob, x).into()) }, - cfg!(not(feature = "unchecked")), + CHECKED_BUILD, )), _ => None, }; @@ -1006,9 +1004,9 @@ pub fn get_builtin_op_assignment_fn(op: Token, x: &Dynamic, y: &Dynamic) -> Opti return match op { PlusAssign => Some(( |_ctx, args| { - let (first, second) = args.split_first_mut().expect(BUILTIN); - let blob = &mut *first.write_lock::().expect(BUILTIN); - let s = &*second[0].read_lock::().expect(BUILTIN); + let (first, second) = args.split_first_mut().unwrap(); + let blob = &mut *first.write_lock::().unwrap(); + let s = &*second[0].read_lock::().unwrap(); if s.is_empty() { return Ok(Dynamic::UNIT); @@ -1021,7 +1019,7 @@ pub fn get_builtin_op_assignment_fn(op: Token, x: &Dynamic, y: &Dynamic) -> Opti Ok(append_str(blob, s).into()) }, - cfg!(not(feature = "unchecked")), + CHECKED_BUILD, )), _ => None, }; From de0707f64f28611624ba2ea6dde233d85a9c72e3 Mon Sep 17 00:00:00 2001 From: Stephen Chung Date: Sun, 4 Dec 2022 14:06:54 +0800 Subject: [PATCH 32/34] Use macro auto_restore!. --- CHANGELOG.md | 3 ++- src/api/build_type.rs | 2 +- src/api/call_fn.rs | 8 ++---- src/api/custom_syntax.rs | 4 +-- src/api/deprecated.rs | 4 +-- src/api/eval.rs | 2 +- src/api/register.rs | 2 +- src/eval/chaining.rs | 39 +++++++-------------------- src/eval/expr.rs | 10 ++----- src/eval/stmt.rs | 32 ++++++---------------- src/func/call.rs | 31 +++++++-------------- src/func/callable_function.rs | 2 +- src/func/func.rs | 8 +++--- src/func/native.rs | 4 +-- src/func/register.rs | 51 ++++++++++++++++++++--------------- src/lib.rs | 7 +++-- src/module/mod.rs | 2 +- src/reify.rs | 1 - src/types/custom_types.rs | 15 +++-------- src/types/dynamic.rs | 2 +- src/types/fn_ptr.rs | 4 +-- src/types/mod.rs | 4 ++- src/types/restore.rs | 47 +++++++++++++++++++++----------- 23 files changed, 122 insertions(+), 162 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 76988274..cb8861ff 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,7 @@ Breaking API changes -------------------- * The callback for initializing a debugger instance has changed to `Fn(&Engine, Debugger) -> Debugger`. This allows more control over the initial setup of the debugger. +* The internal macro `reify!` is no longer available publicly. Deprecated API's ---------------- @@ -25,7 +26,7 @@ Speed improvements ------------------ * The functions registration mechanism is revamped to take advantage of constant generics, among others. -* This yields a 20% speed improvements on certain real-life, function-call-heavy workloads. +* This yields a 10-20% speed improvements on certain real-life, function-call-heavy workloads. Net features ------------ diff --git a/src/api/build_type.rs b/src/api/build_type.rs index 08b483d0..1edce75b 100644 --- a/src/api/build_type.rs +++ b/src/api/build_type.rs @@ -117,7 +117,7 @@ impl<'a, T: Variant + Clone> TypeBuilder<'a, T> { /// Register a custom function. #[inline(always)] - pub fn with_fn( + pub fn with_fn( &mut self, name: impl AsRef + Into, method: impl RegisterNativeFunction, diff --git a/src/api/call_fn.rs b/src/api/call_fn.rs index a1f0ef7c..d15e7c37 100644 --- a/src/api/call_fn.rs +++ b/src/api/call_fn.rs @@ -3,10 +3,8 @@ use crate::eval::{Caches, GlobalRuntimeState}; use crate::types::dynamic::Variant; -use crate::types::RestoreOnDrop; use crate::{ - reify, Dynamic, Engine, FuncArgs, Position, RhaiResult, RhaiResultOf, Scope, StaticVec, AST, - ERR, + Dynamic, Engine, FuncArgs, Position, RhaiResult, RhaiResultOf, Scope, StaticVec, AST, ERR, }; #[cfg(feature = "no_std")] use std::prelude::v1::*; @@ -241,9 +239,7 @@ impl Engine { let result = if options.eval_ast && !statements.is_empty() { let orig_scope_len = scope.len(); - let scope = &mut *RestoreOnDrop::lock_if(rewind_scope, scope, move |s| { - s.rewind(orig_scope_len); - }); + auto_restore!(scope; rewind_scope => move |s| { s.rewind(orig_scope_len); }); self.eval_global_statements(global, caches, scope, statements) } else { diff --git a/src/api/custom_syntax.rs b/src/api/custom_syntax.rs index 07422206..faf9af17 100644 --- a/src/api/custom_syntax.rs +++ b/src/api/custom_syntax.rs @@ -7,8 +7,8 @@ use crate::parser::ParseResult; use crate::tokenizer::{is_valid_identifier, Token, NO_TOKEN}; use crate::types::dynamic::Variant; use crate::{ - reify, Dynamic, Engine, EvalContext, Identifier, ImmutableString, LexError, Position, - RhaiResult, StaticVec, + Dynamic, Engine, EvalContext, Identifier, ImmutableString, LexError, Position, RhaiResult, + StaticVec, }; #[cfg(feature = "no_std")] use std::prelude::v1::*; diff --git a/src/api/deprecated.rs b/src/api/deprecated.rs index b40d936a..4beaca5b 100644 --- a/src/api/deprecated.rs +++ b/src/api/deprecated.rs @@ -185,7 +185,7 @@ impl Engine { /// This method will be removed in the next major version. #[deprecated(since = "1.9.1", note = "use `register_fn` instead")] #[inline(always)] - pub fn register_result_fn( + pub fn register_result_fn( &mut self, name: impl AsRef + Into, func: impl RegisterNativeFunction, @@ -514,7 +514,7 @@ impl<'a, T: Variant + Clone> TypeBuilder<'a, T> { /// This method will be removed in the next major version. #[deprecated(since = "1.9.1", note = "use `with_fn` instead")] #[inline(always)] - pub fn with_result_fn( + pub fn with_result_fn( &mut self, name: S, method: F, diff --git a/src/api/eval.rs b/src/api/eval.rs index f5e1503c..9dbfb17f 100644 --- a/src/api/eval.rs +++ b/src/api/eval.rs @@ -5,7 +5,7 @@ use crate::func::native::locked_write; use crate::parser::ParseState; use crate::types::dynamic::Variant; use crate::{ - reify, Dynamic, Engine, OptimizationLevel, Position, RhaiResult, RhaiResultOf, Scope, AST, ERR, + Dynamic, Engine, OptimizationLevel, Position, RhaiResult, RhaiResultOf, Scope, AST, ERR, }; #[cfg(feature = "no_std")] use std::prelude::v1::*; diff --git a/src/api/register.rs b/src/api/register.rs index 259ca0d7..203740a0 100644 --- a/src/api/register.rs +++ b/src/api/register.rs @@ -57,7 +57,7 @@ impl Engine { /// ``` #[inline] pub fn register_fn< - A, + A: 'static, const N: usize, const C: bool, R: Variant + Clone, diff --git a/src/eval/chaining.rs b/src/eval/chaining.rs index 3b257b57..b7cece39 100644 --- a/src/eval/chaining.rs +++ b/src/eval/chaining.rs @@ -6,7 +6,7 @@ use crate::ast::{ASTFlags, Expr, OpAssignment}; use crate::config::hashing::SusLock; use crate::engine::{FN_IDX_GET, FN_IDX_SET}; use crate::tokenizer::NO_TOKEN; -use crate::types::{dynamic::Union, RestoreOnDrop}; +use crate::types::dynamic::Union; use crate::{ calc_fn_hash, Dynamic, Engine, FnArgsVec, Position, RhaiResult, RhaiResultOf, Scope, ERR, }; @@ -68,9 +68,7 @@ impl Engine { idx: &mut Dynamic, pos: Position, ) -> RhaiResultOf { - let orig_level = global.level; - global.level += 1; - let global = &mut *RestoreOnDrop::lock(global, move |g| g.level = orig_level); + auto_restore! { let orig_level = global.level; global.level += 1 } let hash = hash_idx().0; let args = &mut [target, idx]; @@ -91,9 +89,7 @@ impl Engine { is_ref_mut: bool, pos: Position, ) -> RhaiResultOf<(Dynamic, bool)> { - let orig_level = global.level; - global.level += 1; - let global = &mut *RestoreOnDrop::lock(global, move |g| g.level = orig_level); + auto_restore! { let orig_level = global.level; global.level += 1 } let hash = hash_idx().1; let args = &mut [target, idx, new_val]; @@ -688,10 +684,7 @@ impl Engine { let reset = self.run_debugger_with_reset(global, caches, scope, this_ptr, rhs)?; #[cfg(feature = "debugging")] - let global = - &mut *RestoreOnDrop::lock_if(reset.is_some(), global, move |g| { - g.debugger_mut().reset_status(reset) - }); + auto_restore!(global; reset.is_some() => move |g| g.debugger_mut().reset_status(reset)); let crate::ast::FnCallExpr { name, hashes, args, .. @@ -699,8 +692,7 @@ impl Engine { // Truncate the index values upon exit let offset = idx_values.len() - args.len(); - let idx_values = - &mut *RestoreOnDrop::lock(idx_values, move |v| v.truncate(offset)); + auto_restore!(idx_values => move |v| v.truncate(offset)); let call_args = &mut idx_values[offset..]; let arg1_pos = args.get(0).map_or(Position::NONE, Expr::position); @@ -862,11 +854,7 @@ impl Engine { global, caches, scope, this_ptr, _node, )?; #[cfg(feature = "debugging")] - let global = &mut *RestoreOnDrop::lock_if( - reset.is_some(), - global, - move |g| g.debugger_mut().reset_status(reset), - ); + auto_restore!(global; reset.is_some() => move |g| g.debugger_mut().reset_status(reset)); let crate::ast::FnCallExpr { name, hashes, args, .. @@ -874,9 +862,7 @@ impl Engine { // Truncate the index values upon exit let offset = idx_values.len() - args.len(); - let idx_values = &mut *RestoreOnDrop::lock(idx_values, move |v| { - v.truncate(offset) - }); + auto_restore!(idx_values => move |v| v.truncate(offset)); let call_args = &mut idx_values[offset..]; let arg1_pos = args.get(0).map_or(Position::NONE, Expr::position); @@ -987,11 +973,7 @@ impl Engine { global, caches, scope, this_ptr, _node, )?; #[cfg(feature = "debugging")] - let global = &mut *RestoreOnDrop::lock_if( - reset.is_some(), - global, - move |g| g.debugger_mut().reset_status(reset), - ); + auto_restore!(global; reset.is_some() => move |g| g.debugger_mut().reset_status(reset)); let crate::ast::FnCallExpr { name, hashes, args, .. @@ -999,10 +981,7 @@ impl Engine { // Truncate the index values upon exit let offset = idx_values.len() - args.len(); - let idx_values = - &mut *RestoreOnDrop::lock(idx_values, move |v| { - v.truncate(offset) - }); + auto_restore!(idx_values => move |v| v.truncate(offset)); let call_args = &mut idx_values[offset..]; let pos1 = args.get(0).map_or(Position::NONE, Expr::position); diff --git a/src/eval/expr.rs b/src/eval/expr.rs index 6750c398..4ed0e4ab 100644 --- a/src/eval/expr.rs +++ b/src/eval/expr.rs @@ -234,10 +234,7 @@ impl Engine { #[cfg(feature = "debugging")] let reset = self.run_debugger_with_reset(global, caches, scope, this_ptr, expr)?; #[cfg(feature = "debugging")] - let global = - &mut *crate::types::RestoreOnDrop::lock_if(reset.is_some(), global, move |g| { - g.debugger_mut().reset_status(reset) - }); + auto_restore!(global; reset.is_some() => move |g| g.debugger_mut().reset_status(reset)); self.track_operation(global, expr.position())?; @@ -268,10 +265,7 @@ impl Engine { #[cfg(feature = "debugging")] let reset = self.run_debugger_with_reset(global, caches, scope, this_ptr, expr)?; #[cfg(feature = "debugging")] - let global = - &mut *crate::types::RestoreOnDrop::lock_if(reset.is_some(), global, move |g| { - g.debugger_mut().reset_status(reset) - }); + auto_restore!(global; reset.is_some() => move |g| g.debugger_mut().reset_status(reset)); self.track_operation(global, expr.position())?; diff --git a/src/eval/stmt.rs b/src/eval/stmt.rs index 867aff7d..50c3cc0e 100644 --- a/src/eval/stmt.rs +++ b/src/eval/stmt.rs @@ -7,7 +7,6 @@ use crate::ast::{ }; use crate::func::{get_builtin_op_assignment_fn, get_hasher}; use crate::types::dynamic::{AccessMode, Union}; -use crate::types::RestoreOnDrop; use crate::{Dynamic, Engine, RhaiResult, RhaiResultOf, Scope, ERR, INT}; use std::hash::{Hash, Hasher}; #[cfg(feature = "no_std")] @@ -43,9 +42,7 @@ impl Engine { // Restore scope at end of block if necessary let orig_scope_len = scope.len(); - let scope = &mut *RestoreOnDrop::lock_if(restore_orig_state, scope, move |s| { - s.rewind(orig_scope_len); - }); + auto_restore!(scope; restore_orig_state => move |s| { s.rewind(orig_scope_len); }); // Restore global state at end of block if necessary let orig_always_search_scope = global.always_search_scope; @@ -56,7 +53,7 @@ impl Engine { global.scope_level += 1; } - let global = &mut *RestoreOnDrop::lock_if(restore_orig_state, global, move |g| { + auto_restore!(global; restore_orig_state => move |g| { g.scope_level -= 1; #[cfg(not(feature = "no_module"))] @@ -69,9 +66,7 @@ impl Engine { // Pop new function resolution caches at end of block let orig_fn_resolution_caches_len = caches.fn_resolution_caches_len(); - let caches = &mut *RestoreOnDrop::lock(caches, move |c| { - c.rewind_fn_resolution_caches(orig_fn_resolution_caches_len) - }); + auto_restore!(caches => move |c| c.rewind_fn_resolution_caches(orig_fn_resolution_caches_len)); // Run the statements statements.iter().try_fold(Dynamic::UNIT, |_, stmt| { @@ -147,13 +142,10 @@ impl Engine { { // Built-in found let op = op_assign_token.literal_syntax(); - - let orig_level = global.level; - global.level += 1; - let global = &*RestoreOnDrop::lock(global, move |g| g.level = orig_level); + auto_restore! { let orig_level = global.level; global.level += 1 } let context = if ctx { - Some((self, op, None, global, *op_pos).into()) + Some((self, op, None, &*global, *op_pos).into()) } else { None }; @@ -212,9 +204,7 @@ impl Engine { #[cfg(feature = "debugging")] let reset = self.run_debugger_with_reset(global, caches, scope, this_ptr, stmt)?; #[cfg(feature = "debugging")] - let global = &mut *RestoreOnDrop::lock_if(reset.is_some(), global, move |g| { - g.debugger_mut().reset_status(reset) - }); + auto_restore!(global; reset.is_some() => move |g| g.debugger_mut().reset_status(reset)); // Coded this way for better branch prediction. // Popular branches are lifted out of the `match` statement into their own branches. @@ -526,10 +516,7 @@ impl Engine { // Restore scope at end of statement let orig_scope_len = scope.len(); - let scope = &mut *RestoreOnDrop::lock(scope, move |s| { - s.rewind(orig_scope_len); - }); - + auto_restore!(scope => move |s| { s.rewind(orig_scope_len); }); // Add the loop variables let counter_index = if counter.is_empty() { usize::MAX @@ -657,10 +644,7 @@ impl Engine { // Restore scope at end of block let orig_scope_len = scope.len(); - let scope = - &mut *RestoreOnDrop::lock_if(!catch_var.is_empty(), scope, move |s| { - s.rewind(orig_scope_len); - }); + auto_restore!(scope; !catch_var.is_empty() => move |s| { s.rewind(orig_scope_len); }); if !catch_var.is_empty() { scope.push(catch_var.name.clone(), err_value); diff --git a/src/func/call.rs b/src/func/call.rs index e5f5adc9..5eb3585f 100644 --- a/src/func/call.rs +++ b/src/func/call.rs @@ -9,7 +9,6 @@ use crate::engine::{ }; use crate::eval::{Caches, FnResolutionCacheEntry, GlobalRuntimeState}; use crate::tokenizer::{is_valid_function_name, Token, NO_TOKEN}; -use crate::types::RestoreOnDrop; use crate::{ calc_fn_hash, calc_fn_hash_full, Dynamic, Engine, FnArgsVec, FnPtr, ImmutableString, OptimizationLevel, Position, RhaiError, RhaiResult, RhaiResultOf, Scope, Shared, ERR, @@ -381,9 +380,7 @@ impl Engine { // Clone the first argument backup.change_first_arg_to_copy(args); } - - let args = - &mut *RestoreOnDrop::lock_if(swap, args, move |a| backup.restore_first_arg(a)); + auto_restore!(args; swap => move |a| backup.restore_first_arg(a)); #[cfg(feature = "debugging")] if self.is_debugger_registered() { @@ -583,9 +580,7 @@ impl Engine { #[cfg(not(feature = "no_closure"))] ensure_no_data_race(fn_name, _args, is_ref_mut)?; - let orig_level = global.level; - global.level += 1; - let global = &mut *RestoreOnDrop::lock(global, move |g| g.level = orig_level); + auto_restore! { let orig_level = global.level; global.level += 1 } // These may be redirected from method style calls. if hashes.is_native_only() { @@ -664,7 +659,7 @@ impl Engine { }; let orig_source = mem::replace(&mut global.source, source.clone()); - let global = &mut *RestoreOnDrop::lock(global, move |g| g.source = orig_source); + auto_restore!(global => move |g| g.source = orig_source); return if _is_method_call { // Method call of script function - map first argument to `this` @@ -684,9 +679,7 @@ impl Engine { backup.change_first_arg_to_copy(_args); } - let args = &mut *RestoreOnDrop::lock_if(swap, _args, move |a| { - backup.restore_first_arg(a) - }); + auto_restore!(args = _args; swap => move |a| backup.restore_first_arg(a)); let mut this = Dynamic::NULL; @@ -732,9 +725,7 @@ impl Engine { }) }); #[cfg(feature = "debugging")] - let global = &mut *RestoreOnDrop::lock_if(reset.is_some(), global, move |g| { - g.debugger_mut().reset_status(reset) - }); + auto_restore!(global; reset.is_some() => move |g| g.debugger_mut().reset_status(reset)); self.eval_expr(global, caches, scope, this_ptr, arg_expr) .map(|r| (r, arg_expr.start_position())) @@ -1370,9 +1361,7 @@ impl Engine { } } - let orig_level = global.level; - global.level += 1; - let global = &mut *RestoreOnDrop::lock(global, move |g| g.level = orig_level); + auto_restore! { let orig_level = global.level; global.level += 1 } match func { #[cfg(not(feature = "no_function"))] @@ -1382,7 +1371,7 @@ impl Engine { let mut this = Dynamic::NULL; let orig_source = mem::replace(&mut global.source, module.id_raw().cloned()); - let global = &mut *RestoreOnDrop::lock(global, move |g| g.source = orig_source); + auto_restore!(global => move |g| g.source = orig_source); self.call_script_fn( global, caches, new_scope, &mut this, fn_def, &mut args, true, pos, @@ -1534,12 +1523,10 @@ impl Engine { get_builtin_binary_op_fn(op_token.clone(), operands[0], operands[1]) { // Built-in found - let orig_level = global.level; - global.level += 1; - let global = &*RestoreOnDrop::lock(global, move |g| g.level = orig_level); + auto_restore! { let orig_level = global.level; global.level += 1 } let context = if ctx { - Some((self, name.as_str(), None, global, pos).into()) + Some((self, name.as_str(), None, &*global, pos).into()) } else { None }; diff --git a/src/func/callable_function.rs b/src/func/callable_function.rs index d7ed45bf..e3cebc7a 100644 --- a/src/func/callable_function.rs +++ b/src/func/callable_function.rs @@ -136,7 +136,7 @@ impl CallableFunction { Self::Script(..) => false, } } - /// Is there a [`NativeCallContext`] parameter? + /// Is there a [`NativeCallContext`][crate::NativeCallContext] parameter? #[inline] #[must_use] pub fn has_context(&self) -> bool { diff --git a/src/func/func.rs b/src/func/func.rs index 97bcfb04..f3573894 100644 --- a/src/func/func.rs +++ b/src/func/func.rs @@ -12,7 +12,7 @@ use std::prelude::v1::*; /// Trait to create a Rust closure from a script. /// /// Not available under `no_function`. -pub trait Func { +pub trait Func { /// The closure's output type. type Output; @@ -91,14 +91,14 @@ macro_rules! def_anonymous_fn { impl<$($par: Variant + Clone,)* RET: Variant + Clone> Func<($($par,)*), RET> for Engine { #[cfg(feature = "sync")] - type Output = Box RhaiResultOf + Send + Sync>; + type Output = Box RhaiResultOf + Send + Sync>; #[cfg(not(feature = "sync"))] - type Output = Box RhaiResultOf>; + type Output = Box RhaiResultOf>; #[inline] fn create_from_ast(self, ast: AST, entry_point: &str) -> Self::Output { let fn_name: SmartString = entry_point.into(); - Box::new(move |$($par),*| self.call_fn(&mut Scope::new(), &ast, &fn_name, ($($par,)*))) + Box::new(move |$($par,)*| self.call_fn(&mut Scope::new(), &ast, &fn_name, ($($par,)*))) } #[inline] diff --git a/src/func/native.rs b/src/func/native.rs index 103195b9..4774f4be 100644 --- a/src/func/native.rs +++ b/src/func/native.rs @@ -7,8 +7,8 @@ use crate::plugin::PluginFunction; use crate::tokenizer::{is_valid_function_name, Token, TokenizeState, NO_TOKEN}; use crate::types::dynamic::Variant; use crate::{ - calc_fn_hash, reify, Dynamic, Engine, EvalContext, FuncArgs, Position, RhaiResult, - RhaiResultOf, StaticVec, VarDefInfo, ERR, + calc_fn_hash, Dynamic, Engine, EvalContext, FuncArgs, Position, RhaiResult, RhaiResultOf, + StaticVec, VarDefInfo, ERR, }; use std::any::{type_name, TypeId}; #[cfg(feature = "no_std")] diff --git a/src/func/register.rs b/src/func/register.rs index 1459bf74..e8b99a31 100644 --- a/src/func/register.rs +++ b/src/func/register.rs @@ -9,7 +9,7 @@ use super::call::FnCallArgs; use super::callable_function::CallableFunction; use super::native::{SendSync, Shared}; use crate::types::dynamic::{DynamicWriteLock, Variant}; -use crate::{reify, Dynamic, Identifier, NativeCallContext, RhaiResultOf}; +use crate::{Dynamic, Identifier, NativeCallContext, RhaiResultOf}; #[cfg(feature = "no_std")] use std::prelude::v1::*; use std::{ @@ -70,44 +70,61 @@ pub fn by_value(data: &mut Dynamic) -> T { /// /// # Type Parameters /// -/// * `ARGS` - a tuple containing parameter types, with `&mut T` represented by `Mut`. -/// * `NUM` - a constant generic containing the number of parameters, must be consistent with `ARGS`. -/// * `CTX` - a constant boolean generic indicating whether there is a `NativeCallContext` parameter. -/// * `RET` - return type of the function; if the function returns `Result`, it is the unwrapped inner value type. -/// * `FALL` - a constant boolean generic indicating whether the function is fallible (i.e. returns `Result>`). -pub trait RegisterNativeFunction { +/// * `A` - a tuple containing parameter types, with `&mut T` represented by `Mut`. +/// * `N` - a constant generic containing the number of parameters, must be consistent with `ARGS`. +/// * `X` - a constant boolean generic indicating whether there is a `NativeCallContext` parameter. +/// * `R` - return type of the function; if the function returns `Result`, it is the unwrapped inner value type. +/// * `F` - a constant boolean generic indicating whether the function is fallible (i.e. returns `Result>`). +pub trait RegisterNativeFunction< + A: 'static, + const N: usize, + const X: bool, + R: 'static, + const F: bool, +> +{ /// Convert this function into a [`CallableFunction`]. #[must_use] fn into_callable_function(self, name: Identifier, no_const: bool) -> CallableFunction; /// Get the type ID's of this function's parameters. #[must_use] - fn param_types() -> [TypeId; NUM]; + fn param_types() -> [TypeId; N]; /// Get the number of parameters for this function. #[inline(always)] #[must_use] fn num_params() -> usize { - NUM + N } /// Is there a [`NativeCallContext`] parameter for this function? + #[inline(always)] #[must_use] - fn has_context() -> bool; + fn has_context() -> bool { + X + } /// _(metadata)_ Get the type names of this function's parameters. /// Exported under the `metadata` feature only. #[cfg(feature = "metadata")] #[must_use] - fn param_names() -> [&'static str; NUM]; + fn param_names() -> [&'static str; N]; /// _(metadata)_ Get the type ID of this function's return value. /// Exported under the `metadata` feature only. #[cfg(feature = "metadata")] + #[inline(always)] #[must_use] - fn return_type() -> TypeId; + fn return_type() -> TypeId { + if F { + TypeId::of::>() + } else { + TypeId::of::() + } + } /// _(metadata)_ Get the type name of this function's return value. /// Exported under the `metadata` feature only. #[cfg(feature = "metadata")] #[inline(always)] #[must_use] fn return_type_name() -> &'static str { - type_name::() + type_name::() } } @@ -143,9 +160,7 @@ macro_rules! def_register { RET: Variant + Clone, > RegisterNativeFunction<($($mark,)*), $n, false, RET, false> for FN { #[inline(always)] fn param_types() -> [TypeId;$n] { [$(TypeId::of::<$par>()),*] } - #[inline(always)] fn has_context() -> bool { false } #[cfg(feature = "metadata")] #[inline(always)] fn param_names() -> [&'static str;$n] { [$(type_name::<$param>()),*] } - #[cfg(feature = "metadata")] #[inline(always)] fn return_type() -> TypeId { TypeId::of::() } #[inline(always)] fn into_callable_function(self, fn_name: Identifier, no_const: bool) -> CallableFunction { CallableFunction::$abi(Shared::new(move |_, args: &mut FnCallArgs| { // The arguments are assumed to be of the correct number and types! @@ -169,9 +184,7 @@ macro_rules! def_register { RET: Variant + Clone, > RegisterNativeFunction<($($mark,)*), $n, true, RET, false> for FN { #[inline(always)] fn param_types() -> [TypeId;$n] { [$(TypeId::of::<$par>()),*] } - #[inline(always)] fn has_context() -> bool { true } #[cfg(feature = "metadata")] #[inline(always)] fn param_names() -> [&'static str;$n] { [$(type_name::<$param>()),*] } - #[cfg(feature = "metadata")] #[inline(always)] fn return_type() -> TypeId { TypeId::of::() } #[inline(always)] fn into_callable_function(self, fn_name: Identifier, no_const: bool) -> CallableFunction { CallableFunction::$abi(Shared::new(move |ctx: Option, args: &mut FnCallArgs| { let ctx = ctx.unwrap(); @@ -197,9 +210,7 @@ macro_rules! def_register { RET: Variant + Clone > RegisterNativeFunction<($($mark,)*), $n, false, RET, true> for FN { #[inline(always)] fn param_types() -> [TypeId;$n] { [$(TypeId::of::<$par>()),*] } - #[inline(always)] fn has_context() -> bool { false } #[cfg(feature = "metadata")] #[inline(always)] fn param_names() -> [&'static str;$n] { [$(type_name::<$param>()),*] } - #[cfg(feature = "metadata")] #[inline(always)] fn return_type() -> TypeId { TypeId::of::>() } #[cfg(feature = "metadata")] #[inline(always)] fn return_type_name() -> &'static str { type_name::>() } #[inline(always)] fn into_callable_function(self, fn_name: Identifier, no_const: bool) -> CallableFunction { CallableFunction::$abi(Shared::new(move |_, args: &mut FnCallArgs| { @@ -221,9 +232,7 @@ macro_rules! def_register { RET: Variant + Clone > RegisterNativeFunction<($($mark,)*), $n, true, RET, true> for FN { #[inline(always)] fn param_types() -> [TypeId;$n] { [$(TypeId::of::<$par>()),*] } - #[inline(always)] fn has_context() -> bool { true } #[cfg(feature = "metadata")] #[inline(always)] fn param_names() -> [&'static str;$n] { [$(type_name::<$param>()),*] } - #[cfg(feature = "metadata")] #[inline(always)] fn return_type() -> TypeId { TypeId::of::>() } #[cfg(feature = "metadata")] #[inline(always)] fn return_type_name() -> &'static str { type_name::>() } #[inline(always)] fn into_callable_function(self, fn_name: Identifier, no_const: bool) -> CallableFunction { CallableFunction::$abi(Shared::new(move |ctx: Option, args: &mut FnCallArgs| { diff --git a/src/lib.rs b/src/lib.rs index 3f6e73ff..d1b4a30a 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -85,6 +85,11 @@ extern crate no_std_compat as std; use std::prelude::v1::*; // Internal modules +#[macro_use] +mod reify; +#[macro_use] +mod types; + mod api; mod ast; pub mod config; @@ -95,10 +100,8 @@ mod module; mod optimizer; pub mod packages; mod parser; -mod reify; mod tests; mod tokenizer; -mod types; /// Error encountered when parsing a script. type PERR = ParseErrorType; diff --git a/src/module/mod.rs b/src/module/mod.rs index 76f4ac91..05435d4d 100644 --- a/src/module/mod.rs +++ b/src/module/mod.rs @@ -1237,7 +1237,7 @@ impl Module { /// assert!(module.contains_fn(hash)); /// ``` #[inline(always)] - pub fn set_native_fn( + pub fn set_native_fn( &mut self, name: impl AsRef + Into, func: F, diff --git a/src/reify.rs b/src/reify.rs index c5e98bb3..90a21a4c 100644 --- a/src/reify.rs +++ b/src/reify.rs @@ -8,7 +8,6 @@ /// * `reify!(`_variable_ or _expression_`,|`_temp-variable_`: `_type_`|` _code_ `)` /// * `reify!(`_variable_ or _expression_ `=>` `Option<`_type_`>` `)` /// * `reify!(`_variable_ or _expression_ `=>` _type_ `)` -#[macro_export] macro_rules! reify { ($old:ident, |$new:ident : $t:ty| $code:expr, || $fallback:expr) => {{ #[allow(clippy::redundant_else)] diff --git a/src/types/custom_types.rs b/src/types/custom_types.rs index 460a4e94..cbed43a3 100644 --- a/src/types/custom_types.rs +++ b/src/types/custom_types.rs @@ -1,7 +1,7 @@ //! Collection of custom types. use crate::Identifier; -use std::{any::type_name, collections::BTreeMap, fmt}; +use std::{any::type_name, collections::BTreeMap}; /// _(internals)_ Information for a custom type. /// Exported under the `internals` feature only. @@ -13,18 +13,9 @@ pub struct CustomTypeInfo { /// _(internals)_ A collection of custom types. /// Exported under the `internals` feature only. -#[derive(Clone, Hash)] +#[derive(Debug, Clone, Hash)] pub struct CustomTypesCollection(BTreeMap); -impl fmt::Debug for CustomTypesCollection { - #[cold] - #[inline(never)] - fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { - f.write_str("CustomTypesCollection ")?; - f.debug_map().entries(self.0.iter()).finish() - } -} - impl Default for CustomTypesCollection { #[inline(always)] fn default() -> Self { @@ -50,7 +41,7 @@ impl CustomTypesCollection { } /// Register a custom type. #[inline(always)] - pub fn add_type(&mut self, name: &str) { + pub fn add_type(&mut self, name: impl Into) { self.add_raw( type_name::(), CustomTypeInfo { diff --git a/src/types/dynamic.rs b/src/types/dynamic.rs index 2ff6c21e..7ac4281c 100644 --- a/src/types/dynamic.rs +++ b/src/types/dynamic.rs @@ -1,6 +1,6 @@ //! Helper module which defines the [`Dynamic`] data type. -use crate::{reify, ExclusiveRange, FnPtr, ImmutableString, InclusiveRange, INT}; +use crate::{ExclusiveRange, FnPtr, ImmutableString, InclusiveRange, INT}; #[cfg(feature = "no_std")] use std::prelude::v1::*; use std::{ diff --git a/src/types/fn_ptr.rs b/src/types/fn_ptr.rs index 30454502..d3fe8698 100644 --- a/src/types/fn_ptr.rs +++ b/src/types/fn_ptr.rs @@ -4,8 +4,8 @@ use crate::eval::GlobalRuntimeState; use crate::tokenizer::is_valid_function_name; use crate::types::dynamic::Variant; use crate::{ - reify, Dynamic, Engine, FuncArgs, ImmutableString, NativeCallContext, Position, RhaiError, - RhaiResult, RhaiResultOf, StaticVec, AST, ERR, + Dynamic, Engine, FuncArgs, ImmutableString, NativeCallContext, Position, RhaiError, RhaiResult, + RhaiResultOf, StaticVec, AST, ERR, }; #[cfg(feature = "no_std")] use std::prelude::v1::*; diff --git a/src/types/mod.rs b/src/types/mod.rs index 2a166886..8641bba8 100644 --- a/src/types/mod.rs +++ b/src/types/mod.rs @@ -1,5 +1,8 @@ //! Module defining Rhai data types. +#[macro_use] +pub mod restore; + pub mod bloom_filter; pub mod custom_types; pub mod dynamic; @@ -11,7 +14,6 @@ pub mod interner; pub mod parse_error; pub mod position; pub mod position_none; -pub mod restore; pub mod scope; pub mod variant; diff --git a/src/types/restore.rs b/src/types/restore.rs index 6d99848a..d22cc2f7 100644 --- a/src/types/restore.rs +++ b/src/types/restore.rs @@ -4,6 +4,36 @@ use std::ops::{Deref, DerefMut}; #[cfg(feature = "no_std")] use std::prelude::v1::*; +/// Automatically restore state at the end of the scope. +macro_rules! auto_restore { + (let $temp:ident = $var:ident . $prop:ident; $code:stmt) => { + auto_restore!(let $temp = $var.$prop; $code => move |v| v.$prop = $temp); + }; + (let $temp:ident = $var:ident . $prop:ident; $code:stmt => $restore:expr) => { + let $temp = $var.$prop; + $code + auto_restore!($var => $restore); + }; + ($var:ident => $restore: expr) => { + auto_restore!($var = $var => $restore); + }; + ($var:ident = $value:expr => $restore: expr) => { + let $var = &mut *crate::types::RestoreOnDrop::lock($value, $restore); + }; + ($var:ident; $guard:expr => $restore: expr) => { + auto_restore!($var = $var; $guard => $restore); + }; + ($var:ident = $value:expr; $guard:expr => $restore: expr) => { + let mut __rx__; + let $var = if $guard { + __rx__ = crate::types::RestoreOnDrop::lock($value, $restore); + &mut *__rx__ + } else { + &mut *$value + }; + }; +} + /// Run custom restoration logic upon the end of scope. #[must_use] pub struct RestoreOnDrop<'a, T: ?Sized, R: FnOnce(&mut T)> { @@ -12,19 +42,6 @@ pub struct RestoreOnDrop<'a, T: ?Sized, R: FnOnce(&mut T)> { } impl<'a, T: ?Sized, R: FnOnce(&mut T)> RestoreOnDrop<'a, T, R> { - /// Create a new [`RestoreOnDrop`] that locks a mutable reference and runs restoration logic at - /// the end of scope only when `need_restore` is `true`. - /// - /// Beware that the end of scope means the end of its lifetime, not necessarily waiting until - /// the current block scope is exited. - #[inline(always)] - pub fn lock_if(need_restore: bool, value: &'a mut T, restore: R) -> Self { - Self { - value, - restore: if need_restore { Some(restore) } else { None }, - } - } - /// Create a new [`RestoreOnDrop`] that locks a mutable reference and runs restoration logic at /// the end of scope. /// @@ -42,9 +59,7 @@ impl<'a, T: ?Sized, R: FnOnce(&mut T)> RestoreOnDrop<'a, T, R> { impl<'a, T: ?Sized, R: FnOnce(&mut T)> Drop for RestoreOnDrop<'a, T, R> { #[inline(always)] fn drop(&mut self) { - if let Some(restore) = self.restore.take() { - restore(self.value); - } + self.restore.take().unwrap()(self.value); } } From 3163d9d1d62c2bf28ced8fee5c84f71bc8263714 Mon Sep 17 00:00:00 2001 From: Stephen Chung Date: Sun, 4 Dec 2022 16:12:34 +0800 Subject: [PATCH 33/34] Fix msrv. --- src/types/custom_types.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/types/custom_types.rs b/src/types/custom_types.rs index cbed43a3..14157e39 100644 --- a/src/types/custom_types.rs +++ b/src/types/custom_types.rs @@ -41,7 +41,7 @@ impl CustomTypesCollection { } /// Register a custom type. #[inline(always)] - pub fn add_type(&mut self, name: impl Into) { + pub fn add_type(&mut self, name: &str) { self.add_raw( type_name::(), CustomTypeInfo { From e2bd0705b176316f11aa8644ac37cfa2e296bde7 Mon Sep 17 00:00:00 2001 From: Stephen Chung Date: Sun, 4 Dec 2022 22:47:10 +0800 Subject: [PATCH 34/34] Refine auto_restore syntax. --- src/api/call_fn.rs | 6 ++++-- src/eval/chaining.rs | 24 +++++++++++++++--------- src/eval/expr.rs | 4 ++-- src/eval/stmt.rs | 28 ++++++++++++++++++---------- src/func/call.rs | 6 +++--- src/types/restore.rs | 26 +++++++++++++++++++++----- tests/call_fn.rs | 2 +- 7 files changed, 64 insertions(+), 32 deletions(-) diff --git a/src/api/call_fn.rs b/src/api/call_fn.rs index d15e7c37..7d248e30 100644 --- a/src/api/call_fn.rs +++ b/src/api/call_fn.rs @@ -238,8 +238,10 @@ impl Engine { let rewind_scope = options.rewind_scope; let result = if options.eval_ast && !statements.is_empty() { - let orig_scope_len = scope.len(); - auto_restore!(scope; rewind_scope => move |s| { s.rewind(orig_scope_len); }); + auto_restore! { + scope if rewind_scope => rewind; + let orig_scope_len = scope.len(); + } self.eval_global_statements(global, caches, scope, statements) } else { diff --git a/src/eval/chaining.rs b/src/eval/chaining.rs index b7cece39..d2008802 100644 --- a/src/eval/chaining.rs +++ b/src/eval/chaining.rs @@ -684,15 +684,17 @@ impl Engine { let reset = self.run_debugger_with_reset(global, caches, scope, this_ptr, rhs)?; #[cfg(feature = "debugging")] - auto_restore!(global; reset.is_some() => move |g| g.debugger_mut().reset_status(reset)); + auto_restore!(global if reset.is_some() => move |g| g.debugger_mut().reset_status(reset)); let crate::ast::FnCallExpr { name, hashes, args, .. } = &**x; // Truncate the index values upon exit - let offset = idx_values.len() - args.len(); - auto_restore!(idx_values => move |v| v.truncate(offset)); + auto_restore! { + idx_values => truncate; + let offset = idx_values.len() - args.len(); + } let call_args = &mut idx_values[offset..]; let arg1_pos = args.get(0).map_or(Position::NONE, Expr::position); @@ -854,15 +856,17 @@ impl Engine { global, caches, scope, this_ptr, _node, )?; #[cfg(feature = "debugging")] - auto_restore!(global; reset.is_some() => move |g| g.debugger_mut().reset_status(reset)); + auto_restore!(global if reset.is_some() => move |g| g.debugger_mut().reset_status(reset)); let crate::ast::FnCallExpr { name, hashes, args, .. } = &**x; // Truncate the index values upon exit - let offset = idx_values.len() - args.len(); - auto_restore!(idx_values => move |v| v.truncate(offset)); + auto_restore! { + idx_values => truncate; + let offset = idx_values.len() - args.len(); + } let call_args = &mut idx_values[offset..]; let arg1_pos = args.get(0).map_or(Position::NONE, Expr::position); @@ -973,15 +977,17 @@ impl Engine { global, caches, scope, this_ptr, _node, )?; #[cfg(feature = "debugging")] - auto_restore!(global; reset.is_some() => move |g| g.debugger_mut().reset_status(reset)); + auto_restore!(global if reset.is_some() => move |g| g.debugger_mut().reset_status(reset)); let crate::ast::FnCallExpr { name, hashes, args, .. } = &**f; // Truncate the index values upon exit - let offset = idx_values.len() - args.len(); - auto_restore!(idx_values => move |v| v.truncate(offset)); + auto_restore! { + idx_values => truncate; + let offset = idx_values.len() - args.len(); + } let call_args = &mut idx_values[offset..]; let pos1 = args.get(0).map_or(Position::NONE, Expr::position); diff --git a/src/eval/expr.rs b/src/eval/expr.rs index 4ed0e4ab..9f104691 100644 --- a/src/eval/expr.rs +++ b/src/eval/expr.rs @@ -234,7 +234,7 @@ impl Engine { #[cfg(feature = "debugging")] let reset = self.run_debugger_with_reset(global, caches, scope, this_ptr, expr)?; #[cfg(feature = "debugging")] - auto_restore!(global; reset.is_some() => move |g| g.debugger_mut().reset_status(reset)); + auto_restore!(global if reset.is_some() => move |g| g.debugger_mut().reset_status(reset)); self.track_operation(global, expr.position())?; @@ -265,7 +265,7 @@ impl Engine { #[cfg(feature = "debugging")] let reset = self.run_debugger_with_reset(global, caches, scope, this_ptr, expr)?; #[cfg(feature = "debugging")] - auto_restore!(global; reset.is_some() => move |g| g.debugger_mut().reset_status(reset)); + auto_restore!(global if reset.is_some() => move |g| g.debugger_mut().reset_status(reset)); self.track_operation(global, expr.position())?; diff --git a/src/eval/stmt.rs b/src/eval/stmt.rs index 50c3cc0e..04681410 100644 --- a/src/eval/stmt.rs +++ b/src/eval/stmt.rs @@ -41,8 +41,10 @@ impl Engine { } // Restore scope at end of block if necessary - let orig_scope_len = scope.len(); - auto_restore!(scope; restore_orig_state => move |s| { s.rewind(orig_scope_len); }); + auto_restore! { + scope if restore_orig_state => rewind; + let orig_scope_len = scope.len(); + } // Restore global state at end of block if necessary let orig_always_search_scope = global.always_search_scope; @@ -53,7 +55,7 @@ impl Engine { global.scope_level += 1; } - auto_restore!(global; restore_orig_state => move |g| { + auto_restore!(global if restore_orig_state => move |g| { g.scope_level -= 1; #[cfg(not(feature = "no_module"))] @@ -65,8 +67,10 @@ impl Engine { }); // Pop new function resolution caches at end of block - let orig_fn_resolution_caches_len = caches.fn_resolution_caches_len(); - auto_restore!(caches => move |c| c.rewind_fn_resolution_caches(orig_fn_resolution_caches_len)); + auto_restore! { + caches => rewind_fn_resolution_caches; + let orig_fn_resolution_caches_len = caches.fn_resolution_caches_len(); + } // Run the statements statements.iter().try_fold(Dynamic::UNIT, |_, stmt| { @@ -204,7 +208,7 @@ impl Engine { #[cfg(feature = "debugging")] let reset = self.run_debugger_with_reset(global, caches, scope, this_ptr, stmt)?; #[cfg(feature = "debugging")] - auto_restore!(global; reset.is_some() => move |g| g.debugger_mut().reset_status(reset)); + auto_restore!(global if reset.is_some() => move |g| g.debugger_mut().reset_status(reset)); // Coded this way for better branch prediction. // Popular branches are lifted out of the `match` statement into their own branches. @@ -515,8 +519,10 @@ impl Engine { let iter_func = iter_func.ok_or_else(|| ERR::ErrorFor(expr.start_position()))?; // Restore scope at end of statement - let orig_scope_len = scope.len(); - auto_restore!(scope => move |s| { s.rewind(orig_scope_len); }); + auto_restore! { + scope => rewind; + let orig_scope_len = scope.len(); + } // Add the loop variables let counter_index = if counter.is_empty() { usize::MAX @@ -643,8 +649,10 @@ impl Engine { }; // Restore scope at end of block - let orig_scope_len = scope.len(); - auto_restore!(scope; !catch_var.is_empty() => move |s| { s.rewind(orig_scope_len); }); + auto_restore! { + scope if !catch_var.is_empty() => rewind; + let orig_scope_len = scope.len(); + } if !catch_var.is_empty() { scope.push(catch_var.name.clone(), err_value); diff --git a/src/func/call.rs b/src/func/call.rs index 5eb3585f..a425e845 100644 --- a/src/func/call.rs +++ b/src/func/call.rs @@ -380,7 +380,7 @@ impl Engine { // Clone the first argument backup.change_first_arg_to_copy(args); } - auto_restore!(args; swap => move |a| backup.restore_first_arg(a)); + auto_restore!(args if swap => move |a| backup.restore_first_arg(a)); #[cfg(feature = "debugging")] if self.is_debugger_registered() { @@ -679,7 +679,7 @@ impl Engine { backup.change_first_arg_to_copy(_args); } - auto_restore!(args = _args; swap => move |a| backup.restore_first_arg(a)); + auto_restore!(args = (_args) if swap => move |a| backup.restore_first_arg(a)); let mut this = Dynamic::NULL; @@ -725,7 +725,7 @@ impl Engine { }) }); #[cfg(feature = "debugging")] - auto_restore!(global; reset.is_some() => move |g| g.debugger_mut().reset_status(reset)); + auto_restore!(global if reset.is_some() => move |g| g.debugger_mut().reset_status(reset)); self.eval_expr(global, caches, scope, this_ptr, arg_expr) .map(|r| (r, arg_expr.start_position())) diff --git a/src/types/restore.rs b/src/types/restore.rs index d22cc2f7..eb11e84b 100644 --- a/src/types/restore.rs +++ b/src/types/restore.rs @@ -14,16 +14,32 @@ macro_rules! auto_restore { $code auto_restore!($var => $restore); }; - ($var:ident => $restore: expr) => { + ($var:ident => $restore:ident; let $temp:ident = $save:expr;) => { + auto_restore!($var => $restore; let $temp = $save; {}); + }; + ($var:ident if $guard:expr => $restore:ident; let $temp:ident = $save:expr;) => { + auto_restore!($var if $guard => $restore; let $temp = $save; {}); + }; + ($var:ident => $restore:ident; let $temp:ident = $save:expr; $code:stmt) => { + let $temp = $save; + $code + auto_restore!($var => move |v| { v.$restore($temp); }); + }; + ($var:ident if $guard:expr => $restore:ident; let $temp:ident = $save:expr; $code:stmt) => { + let $temp = $save; + $code + auto_restore!($var if $guard => move |v| { v.$restore($temp); }); + }; + ($var:ident => $restore:expr) => { auto_restore!($var = $var => $restore); }; - ($var:ident = $value:expr => $restore: expr) => { + ($var:ident = $value:expr => $restore:expr) => { let $var = &mut *crate::types::RestoreOnDrop::lock($value, $restore); }; - ($var:ident; $guard:expr => $restore: expr) => { - auto_restore!($var = $var; $guard => $restore); + ($var:ident if $guard:expr => $restore:expr) => { + auto_restore!($var = ($var) if $guard => $restore); }; - ($var:ident = $value:expr; $guard:expr => $restore: expr) => { + ($var:ident = ( $value:expr ) if $guard:expr => $restore:expr) => { let mut __rx__; let $var = if $guard { __rx__ = crate::types::RestoreOnDrop::lock($value, $restore); diff --git a/tests/call_fn.rs b/tests/call_fn.rs index a6efae01..26b3ec8b 100644 --- a/tests/call_fn.rs +++ b/tests/call_fn.rs @@ -352,7 +352,7 @@ fn test_call_fn_events() -> Result<(), Box> { let mut handler = Handler::new(); assert!(!handler.scope.get_value::("state").unwrap()); - handler.on_event("update", 999); + let _ = handler.on_event("update", 999); assert!(handler.scope.get_value::("state").unwrap()); assert_eq!(handler.on_event("start", 999).as_int().unwrap(), 1041);