From 5b2ea6de603427a2e7f7fb783b4fc5ee8475177d Mon Sep 17 00:00:00 2001 From: danylaporte Date: Mon, 25 Mar 2024 23:05:26 +0000 Subject: [PATCH] deploy: 1582a4b07e5d7562c6a678bc6a3f428cef40bfb8 --- help.html | 4 +- search-index.js | 6 +- settings.html | 4 +- src/storm/accessor.rs.html | 5 +- src/storm/apply_log.rs.html | 5 +- src/storm/as_ref_async.rs.html | 5 +- src/storm/as_ref_opt.rs.html | 5 +- src/storm/async_try_from.rs.html | 5 +- src/storm/ctx.rs.html | 5 +- src/storm/ctx_type_info.rs.html | 5 +- src/storm/entity.rs.html | 5 +- src/storm/entity_fields.rs.html | 5 +- src/storm/entity_of.rs.html | 5 +- src/storm/error.rs.html | 5 +- src/storm/gc.rs.html | 5 +- src/storm/get.rs.html | 5 +- src/storm/get_mut.rs.html | 5 +- src/storm/hash_table.rs.html | 5 +- src/storm/init.rs.html | 5 +- src/storm/insert.rs.html | 5 +- src/storm/is_defined.rs.html | 5 +- src/storm/iterator_ext.rs.html | 5 +- src/storm/length.rs.html | 5 +- src/storm/lib.rs.html | 5 +- src/storm/logs.rs.html | 5 +- src/storm/mem/commit.rs.html | 5 +- src/storm/mem/insert.rs.html | 5 +- src/storm/mem/mod.rs.html | 5 +- src/storm/mem/remove.rs.html | 5 +- src/storm/on_changed.rs.html | 5 +- src/storm/on_remove.rs.html | 5 +- src/storm/one_to_many.rs.html | 5 +- src/storm/prelude.rs.html | 5 +- src/storm/provider/cast_provider.rs.html | 5 +- src/storm/provider/delete.rs.html | 5 +- src/storm/provider/load_all.rs.html | 5 +- src/storm/provider/load_one.rs.html | 5 +- src/storm/provider/mod.rs.html | 5 +- src/storm/provider/provider.rs.html | 5 +- src/storm/provider/provider_container.rs.html | 5 +- src/storm/provider/provider_factory.rs.html | 5 +- .../provider/transaction_provider.rs.html | 5 +- src/storm/provider/upsert.rs.html | 5 +- src/storm/remove.rs.html | 5 +- src/storm/state.rs.html | 5 +- src/storm/tag.rs.html | 5 +- src/storm/transaction.rs.html | 5 +- src/storm/vec_table.rs.html | 5 +- src/storm/version_deps.rs.html | 5 +- src/storm_derive/ctx.rs.html | 5 +- src/storm_derive/derive_input_ext.rs.html | 5 +- src/storm_derive/errors.rs.html | 5 +- src/storm_derive/field_ext.rs.html | 5 +- src/storm_derive/indexing.rs.html | 5 +- src/storm_derive/lib.rs.html | 5 +- src/storm_derive/locks_await.rs.html | 5 +- src/storm_derive/macros.rs.html | 5 +- src/storm_derive/mssql/attrs.rs.html | 11 +- src/storm_derive/mssql/builders.rs.html | 5 +- src/storm_derive/mssql/delete.rs.html | 5 +- src/storm_derive/mssql/load_fields.rs.html | 5 +- .../mssql/load_translated.rs.html | 5 +- src/storm_derive/mssql/mod.rs.html | 93 +++++++++-- .../mssql/save_translated.rs.html | 5 +- src/storm_derive/noop.rs.html | 5 +- src/storm_derive/rename_all.rs.html | 5 +- src/storm_derive/string_ext.rs.html | 5 +- src/storm_derive/token_stream_ext.rs.html | 5 +- src/storm_derive/type_ext.rs.html | 5 +- src/storm_mssql/client_factory.rs.html | 5 +- src/storm_mssql/entity_diff.rs.html | 5 +- src/storm_mssql/execute.rs.html | 5 +- src/storm_mssql/field_diff.rs.html | 5 +- src/storm_mssql/filter_sql.rs.html | 5 +- src/storm_mssql/from_sql.rs.html | 5 +- src/storm_mssql/lib.rs.html | 147 +++++++++++++++++- src/storm_mssql/metrics_helper.rs.html | 5 +- src/storm_mssql/mssql_factory.rs.html | 5 +- src/storm_mssql/mssql_meta.rs.html | 5 +- src/storm_mssql/mssql_provider.rs.html | 5 +- src/storm_mssql/parameter.rs.html | 5 +- src/storm_mssql/query_rows.rs.html | 5 +- src/storm_mssql/save_entity_part.rs.html | 5 +- src/storm_mssql/to_sql.rs.html | 5 +- src/storm_mssql/transaction_scoped.rs.html | 5 +- src/storm_mssql/upsert_builder.rs.html | 5 +- static.files/main-48f368f3872407c8.js | 11 ++ static.files/noscript-04d5337699b92874.css | 1 + static.files/rustdoc-5bc39a1768837dd0.css | 24 +++ static.files/search-dd67cee4cfa65049.js | 5 + static.files/src-script-e66d777a5a92e9b2.js | 1 + static.files/storage-4c98445ec4002617.js | 1 + storm/all.html | 2 +- storm/attr.indexing.html | 4 +- storm/constant.EV_CREATED.html | 4 +- storm/constant.OBJ_INDEX.html | 4 +- storm/constant.OBJ_TABLE.html | 4 +- storm/derive.Ctx.html | 4 +- storm/derive.LocksAwait.html | 4 +- storm/derive.MssqlDelete.html | 4 +- storm/derive.MssqlLoad.html | 4 +- storm/derive.MssqlSave.html | 4 +- storm/derive.NoopDelete.html | 4 +- storm/derive.NoopLoad.html | 4 +- storm/derive.NoopSave.html | 4 +- storm/enum.Changed.html | 40 ++--- storm/enum.Error.html | 36 ++--- storm/enum.FieldsOrStr.html | 54 +++---- storm/enum.LogState.html | 42 ++--- storm/fn.async_ref_block5.html | 14 +- storm/gc/collectables/fn.collect.html | 2 +- storm/gc/collectables/fn.register.html | 4 +- storm/gc/collectables/index.html | 4 +- storm/gc/index.html | 4 +- storm/gc/struct.GcCtx.html | 26 ++-- storm/gc/trait.Gc.html | 42 ++--- storm/index.html | 6 +- storm/macro.tri.html | 2 +- storm/macro.version_deps.html | 2 +- storm/mem/index.html | 4 +- storm/mem/trait.Commit.html | 2 +- storm/mem/trait.Insert.html | 4 +- storm/mem/trait.Remove.html | 4 +- storm/prelude/attr.indexing.html | 4 +- storm/prelude/derive.Ctx.html | 4 +- storm/prelude/index.html | 4 +- storm/prelude/struct.AsyncOnceCell.html | 40 ++--- storm/prelude/struct.OnceCell.html | 96 ++++++------ storm/prelude/struct.QueueRwLock.html | 42 ++--- storm/provider/index.html | 4 +- storm/provider/struct.LoadAllKeyOnly.html | 32 ++-- storm/provider/struct.LoadArgs.html | 28 ++-- storm/provider/struct.ProviderContainer.html | 32 ++-- .../provider/struct.TransactionProvider.html | 40 ++--- storm/provider/trait.Delete.html | 12 +- storm/provider/trait.LoadAll.html | 34 ++-- storm/provider/trait.LoadOne.html | 12 +- storm/provider/trait.Provider.html | 8 +- storm/provider/trait.ProviderFactory.html | 4 +- storm/provider/trait.Upsert.html | 16 +- storm/provider/trait.UpsertMut.html | 22 +-- storm/struct.AsyncOnceCell.html | 40 ++--- storm/struct.Ctx.html | 50 +++--- storm/struct.CtxLocks.html | 56 +++---- storm/struct.CtxTransaction.html | 86 +++++----- storm/struct.HashTable.html | 134 ++++++++-------- storm/struct.Logs.html | 26 ++-- storm/struct.OnChanged.html | 28 ++-- storm/struct.OnRemove.html | 28 ++-- storm/struct.OnceCell.html | 96 ++++++------ storm/struct.OneToMany.html | 58 +++---- storm/struct.QueueRwLock.html | 42 ++--- storm/struct.TblTransaction.html | 106 ++++++------- storm/struct.VecMap.html | 144 ++++++++--------- storm/struct.VecTable.html | 86 +++++----- storm/struct.VersionTag.html | 52 +++---- storm/trait.Accessor.html | 8 +- storm/trait.ApplyLog.html | 10 +- storm/trait.AsRefAsync.html | 16 +- storm/trait.AsRefOpt.html | 6 +- storm/trait.AsyncTryFrom.html | 6 +- storm/trait.ChangedHandler.html | 8 +- storm/trait.CtxTypeInfo.html | 6 +- storm/trait.Entity.html | 22 +-- storm/trait.EntityAccessor.html | 8 +- storm/trait.EntityFields.html | 2 +- storm/trait.EntityOf.html | 2 +- storm/trait.FromRefOpt.html | 6 +- storm/trait.Get.html | 26 ++-- storm/trait.GetMut.html | 14 +- storm/trait.Init.html | 20 +-- storm/trait.Insert.html | 20 +-- storm/trait.InsertIfChanged.html | 20 +-- storm/trait.InsertMut.html | 20 +-- storm/trait.InsertMutIfChanged.html | 16 +- storm/trait.IsDefined.html | 8 +- storm/trait.IteratorExt.html | 30 ++-- storm/trait.LogAccessor.html | 6 +- storm/trait.NotifyTag.html | 2 +- storm/trait.OneToManyFromIter.html | 44 +++--- storm/trait.Remove.html | 20 +-- storm/trait.RemovingHandler.html | 8 +- storm/trait.Tag.html | 4 +- storm/trait.Transaction.html | 2 +- storm/type.BoxFuture.html | 4 +- storm/type.Deps.html | 4 +- storm/type.Log.html | 2 +- storm/type.LogVar.html | 2 +- storm/type.LogsVar.html | 2 +- storm/type.Result.html | 4 +- storm/type.TblVar.html | 2 +- storm/type.Vars.html | 2 +- storm/vars/index.html | 4 +- storm/vars/struct.Log.html | 26 ++-- storm/vars/struct.Tbl.html | 26 ++-- storm_derive/all.html | 2 +- storm_derive/attr.indexing.html | 2 +- storm_derive/derive.Ctx.html | 2 +- storm_derive/derive.LocksAwait.html | 2 +- storm_derive/derive.MssqlDelete.html | 2 +- storm_derive/derive.MssqlLoad.html | 2 +- storm_derive/derive.MssqlSave.html | 2 +- storm_derive/derive.NoopDelete.html | 2 +- storm_derive/derive.NoopLoad.html | 2 +- storm_derive/derive.NoopSave.html | 2 +- storm_derive/index.html | 4 +- storm_mssql/all.html | 2 +- storm_mssql/enum.Error.html | 38 ++--- storm_mssql/fn.apply_field_diff_impl.html | 6 +- ...fn.create_provider_container_from_env.html | 8 +- storm_mssql/fn.field_diff_impl.html | 10 +- storm_mssql/fn.from_field_diff_impl.html | 2 +- storm_mssql/fn.into_column_data_static.html | 2 +- storm_mssql/index.html | 6 +- storm_mssql/struct.ExecuteArgs.html | 30 ++-- storm_mssql/struct.KeysFilter.html | 38 ++--- storm_mssql/struct.MssqlFactory.html | 26 ++-- storm_mssql/struct.MssqlProvider.html | 48 +++--- storm_mssql/struct.MssqlTransactionGuard.html | 54 +++---- storm_mssql/struct.Parameter.html | 28 ++-- storm_mssql/struct.TransactionScoped.html | 38 ++--- storm_mssql/struct.UpsertBuilder.html | 36 ++--- storm_mssql/trait.ApplyEntityDiff.html | 14 +- storm_mssql/trait.ApplyFieldDiff.html | 8 +- storm_mssql/trait.ClientFactory.html | 10 +- storm_mssql/trait.EntityDiff.html | 16 +- storm_mssql/trait.Execute.html | 18 +-- storm_mssql/trait.FieldDiff.html | 6 +- storm_mssql/trait.FilterSql.html | 14 +- storm_mssql/trait.FromFieldDiff.html | 6 +- storm_mssql/trait.FromSql.html | 10 +- storm_mssql/trait.MssqlMeta.html | 8 +- storm_mssql/trait.QueryRows.html | 38 ++--- storm_mssql/trait.SaveEntityPart.html | 4 +- storm_mssql/trait.ToSql.html | 8 +- storm_mssql/trait.ToSqlNull.html | 4 +- storm_mssql/type.Client.html | 4 +- storm_mssql/type.Result.html | 4 +- .../attached/register/trait.VarRegister.js | 2 +- trait.impl/core/clone/trait.Clone.js | 4 +- trait.impl/core/cmp/trait.Eq.js | 2 +- trait.impl/core/cmp/trait.PartialEq.js | 2 +- trait.impl/core/convert/trait.AsRef.js | 2 +- trait.impl/core/convert/trait.From.js | 4 +- trait.impl/core/default/trait.Default.js | 4 +- trait.impl/core/error/trait.Error.js | 2 +- trait.impl/core/fmt/trait.Debug.js | 4 +- trait.impl/core/fmt/trait.Display.js | 2 +- trait.impl/core/hash/trait.Hash.js | 2 +- .../core/iter/traits/collect/trait.Extend.js | 2 +- .../iter/traits/collect/trait.FromIterator.js | 2 +- .../iter/traits/collect/trait.IntoIterator.js | 2 +- trait.impl/core/marker/trait.Copy.js | 4 +- trait.impl/core/marker/trait.Send.js | 4 +- .../core/marker/trait.StructuralPartialEq.js | 2 +- trait.impl/core/marker/trait.Sync.js | 4 +- trait.impl/core/marker/trait.Unpin.js | 4 +- trait.impl/core/ops/deref/trait.Deref.js | 4 +- trait.impl/core/ops/deref/trait.DerefMut.js | 2 +- trait.impl/core/ops/drop/trait.Drop.js | 2 +- trait.impl/core/ops/index/trait.Index.js | 2 +- .../panic/unwind_safe/trait.RefUnwindSafe.js | 4 +- .../panic/unwind_safe/trait.UnwindSafe.js | 4 +- .../rayon/iter/trait.IntoParallelIterator.js | 2 +- .../provider_factory/trait.ProviderFactory.js | 2 +- .../attached/container/struct.Container.js | 2 +- type.impl/attached/var/struct.Var.js | 2 +- type.impl/core/pin/struct.Pin.js | 2 +- type.impl/core/result/enum.Result.js | 4 +- type.impl/tiberius/client/struct.Client.js | 2 +- 270 files changed, 1977 insertions(+), 1633 deletions(-) create mode 100644 static.files/main-48f368f3872407c8.js create mode 100644 static.files/noscript-04d5337699b92874.css create mode 100644 static.files/rustdoc-5bc39a1768837dd0.css create mode 100644 static.files/search-dd67cee4cfa65049.js create mode 100644 static.files/src-script-e66d777a5a92e9b2.js create mode 100644 static.files/storage-4c98445ec4002617.js diff --git a/help.html b/help.html index f568fa51..d48130d4 100644 --- a/help.html +++ b/help.html @@ -1,2 +1,2 @@ -Help -

Rustdoc help

Back
\ No newline at end of file +Help +

Rustdoc help

Back
\ No newline at end of file diff --git a/search-index.js b/search-index.js index b3cf2824..5bc8027e 100644 --- a/search-index.js +++ b/search-index.js @@ -1,7 +1,7 @@ var searchIndex = new Map(JSON.parse('[\ -["storm",{"doc":"","t":"KPKKKPFKIGKPPPFYFFKISKRKKPKPGPRGKKKFKKKKKPPPKKRYIKGIFIPYYYTYYYPKSSPFFFFKEPFKPPKIPPPPKRFIRKIFFFMNNNNNNNNMNNNMEHMNENNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNENNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNCNNNNNNMNNNNNNNNNMNNNNNNNNNNNNNMMNNNXMNNNNNNNNNNNNNNNNNNNNNMNNNNNMNNNNNNMNNMNNMNNNNMNNNNNNMNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNONMCNNNNNNNNNNMNNMMNNNNNNENCCNNNNNNNNNNNNNNMNNNNNMNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNENNNNMQNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNCNEQENNNNNOOOKFTNNCNNNNNNNNNNNNHHKKRKMMMEFEYYEEEEEFEFEEEEXKKFFKKRFKFKKNNNNNNNNMMNNMNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNMNNNNNNNNNNNNNNNNMMOFFNNNNNNNNNNNNNNNNNNNNNNNNNN","n":["Accessor","AlreadyInTransaction","ApplyLog","AsRefAsync","AsRefOpt","AsyncCellLock","AsyncOnceCell","AsyncTryFrom","BoxFuture","Changed","ChangedHandler","ClientInError","ColumnNull","ConvertFailed","Ctx","Ctx","CtxLocks","CtxTransaction","CtxTypeInfo","Deps","EV_CREATED","Entity","Entity","EntityAccessor","EntityFields","EntityNotFound","EntityOf","Err","Error","Fields","Fields","FieldsOrStr","FromRefOpt","Get","GetMut","HashTable","Init","Insert","InsertIfChanged","InsertMut","InsertMutIfChanged","Inserted","Inserted","Internal","IsDefined","IteratorExt","Key","LocksAwait","Log","LogAccessor","LogState","LogVar","Logs","LogsVar","Mssql","MssqlDelete","MssqlLoad","MssqlSave","NAME","NoopDelete","NoopLoad","NoopSave","NotInTransaction","NotifyTag","OBJ_INDEX","OBJ_TABLE","Ok","OnChanged","OnRemove","OnceCell","OneToMany","OneToManyFromIter","ProviderContainer","ProviderNotFound","QueueRwLock","Remove","Removed","Removed","RemovingHandler","Result","Std","Str","String","String","Tag","Tbl","TblTransaction","TblVar","TrackCtx","Transaction","Vars","VecMap","VecTable","VersionTag","apply_log","apply_log","apply_log","apply_log","as_mssql","as_ref","as_ref","as_ref","as_ref","as_ref_async","as_ref_async","as_ref_async","as_ref_async","as_ref_opt","async_cell_lock","async_ref_block5","async_try_from","async_try_from","attached","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","cache","clear","clear","clear","clear_deps","clear_deps","clear_tbl_of","clone","clone","clone","clone","clone","clone","clone","clone_from","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","cmp","collect_sort","collect_sort","collect_sort_by","collect_sort_by","collect_sort_by_key","collect_sort_by_key","collect_sort_dedup","collect_sort_dedup","collect_sort_dedup_by","collect_sort_dedup_by","collect_sort_dedup_by_key","collect_sort_dedup_by_key","commit","contains_key","ctx","ctx","default","default","default","default","default","default","default","default","default","default","deps","deps","deps","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deserialize","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","entity_deps","entity_var","entry","eq","eq","eq","eq","eq","extend","extend","extend","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_iter","from_iter","from_ref_opt","from_ref_opt","from_ref_opt","from_ref_opt","from_ref_opt","from_ref_opt","from_ref_opt","from_ref_opt","from_ref_opt","from_ref_opt","from_ref_opt","from_ref_opt","from_ref_opt","from_ref_opt","from_ref_opt","from_ref_opt","from_ref_opt","from_ref_opt","from_ref_opt","from_ref_opt","gc","gc","gc","gc","gc","gc","gc","get","get","get","get","get","get","get","get","get","get","get_mut","get_mut","get_mut","get_mut","get_mut","get_mut","get_mut","get_or_init","get_or_init","get_or_init_sync","get_or_try_init","get_or_try_init","get_or_try_init_sync","get_unchecked","handle_changed","handle_removing","hash","hash","index","indexing","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","insert","insert","insert","insert","insert","insert","insert_all","insert_all","insert_all","insert_all","insert_all","insert_all","insert_all","insert_all_if_changed","insert_all_if_changed","insert_all_if_changed","insert_if_changed","insert_if_changed","insert_if_changed","insert_mut","insert_mut","insert_mut","insert_mut","insert_mut","insert_mut_all","insert_mut_all","insert_mut_all","insert_mut_all","insert_mut_all","insert_mut_all","insert_mut_all","insert_mut_all_if_changed","insert_mut_all_if_changed","insert_mut_all_if_changed","insert_mut_if_changed","insert_mut_if_changed","insert_mut_if_changed","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into_inner","into_inner","into_inner","into_iter","into_iter","into_iter","into_iter","into_iter","into_iter","into_par_iter","into_par_iter","into_par_iter","into_par_iter","into_ref","is_defined","is_empty","iter","iter","iter","iter","iter_mut","keys","keys","keys","len","load_all_with_args","load_all_with_args","load_one_with_args","load_one_with_args","locks","log","log_var","mem","new","new","new","new","new","new","new","new","new_old","notify","notify_tag","notify_tag","notify_tag","on_changed","on_remove","par_iter","par_iter","par_iter","par_iter","par_iter_mut","par_iter_mut","parking_lot","partial_cmp","prelude","provider","provider","provider","queue","read","ref_as","ref_as","ref_as","ref_as_async","register","register","register_deps","register_deps","register_fn","register_fn","remove","remove","remove","remove","remove","remove","remove_all","remove_all","remove_all","remove_all","remove_all","remove_all","remove_all","retain","serialize","set","shrink_to_fit","std","swap","tag","tag","tag","tag","take","take","tbl","tbl_of","tbl_of","tbl_of_mut","tbl_of_opt","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","tokio","track_insert","track_insert","track_remove","track_remove","transaction","tri","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_insert","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_queue","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","values","values","values","values_mut","var","var","var","vars","vars","vec_map","version_deps","version_tag","wait","with_capacity","with_val","with_value","zero","new","old","old","Gc","GcCtx","SUPPORT_GC","borrow","borrow_mut","collectables","default","deref","deref_mut","drop","from","from_ref_opt","gc","init","into","try_from","try_into","type_id","collect","register","Commit","Insert","Log","Remove","commit","insert","remove","ApplyLog","AsyncOnceCell","Ctx","Ctx","Ctx","Entity","Get","HashTable","Insert","InsertMut","OnceCell","ProviderContainer","QueueRwLock","Remove","Tag","Transaction","VecTable","indexing","Delete","LoadAll","LoadAllKeyOnly","LoadArgs","LoadOne","Provider","Provider","ProviderContainer","ProviderFactory","TransactionProvider","Upsert","UpsertMut","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","cancel","commit","commit","container","create_provider","default","default","default","delete","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","drop","extend","fmt","from","from","from","from","from_ref_opt","from_ref_opt","from_ref_opt","from_ref_opt","gc","init","init","init","init","into","into","into","into","into_inner","load_all","load_all","load_all_with_args","load_all_with_args","load_one","load_one","load_one_ok","load_one_ok","load_one_with_args","new","provide","register","transaction","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","upsert","upsert_mut","use_transaction","Log","Tbl","borrow","borrow","borrow_mut","borrow_mut","deref","deref","deref_mut","deref_mut","drop","drop","from","from","from_ref_opt","from_ref_opt","init","init","into","into","register","register","try_from","try_from","try_into","try_into","type_id","type_id"],"q":[[0,"storm"],[634,"storm::Changed"],[637,"storm::gc"],[655,"storm::gc::collectables"],[657,"storm::mem"],[664,"storm::prelude"],[682,"storm::provider"],[773,"storm::vars"],[801,"async_cell_lock::queue_rw_lock"],[802,"tiberius::error"],[803,"core::option"],[804,"core::convert"],[805,"core::marker"],[806,"core::clone"],[807,"core::cmp"],[808,"core::marker"],[809,"core::default"],[810,"core::result"],[811,"serde::de"],[812,"serde::de"],[813,"core::cmp"],[814,"core::fmt"],[815,"core::fmt"],[816,"core::error"],[817,"alloc::boxed"],[818,"core::cmp"],[819,"core::marker"],[820,"core::ops::function"],[821,"vec_map"],[822,"vec_map::rayon_impl"],[823,"vec_map::rayon_impl"],[824,"serde::ser"],[825,"core::any"],[826,"vec_map"],[827,"attached::register"]],"d":["","","","","","","","","","","","","","","","","","","","","","","","","","","","Contains the error value","","","","","","","","","","","","","","","","","Indicate if a key is not zero. This trait must be …","","","","","","","","","","","","","","","","","","","","","","Contains the success value","","","A thread-safe cell which can be written to only once.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Collect the items and sort them.","Collect the items and sort them.","Collect the items and sort them by the cmp function …","Collect the items and sort them by the cmp function …","Collect the items and sort them using a key_cmp function.","Collect the items and sort them using a key_cmp function.","","","Collect the items and sort them by the cmp function …","Collect the items and sort them by the cmp function …","Collect the items and sort them by the key_cmp function …","Collect the items and sort them by the key_cmp function …","","","","","Creates an initialized new VersionTag. This is the same as …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Gets the reference to the underlying value.","gets a reference from the log or the underlying ctx.","","","","","","","","Gets the mutable reference to the underlying value.","Returns a mutable reference to the underlying data.","","","","Gets the contents of the cell, initializing it with f if …","","","Gets the contents of the cell, initializing it with f if …","","Get the reference to the underlying value, without …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","Consumes the OnceCell, returning the wrapped value. Returns","Consumes this RwLock, returning the underlying data.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Creates an initialized new VersionTag.","","","","Creates a new empty cell.","Creates a new instance of an QueueRwLock<T> which is …","","","","Internally increment the counter of the tag to signal a …","","","","","","","","","","","","","","","","","","Enqueue to gain access to the write.","Locks this RwLock with shared read access","","","","","","","","","","","","","","","","","","","","","","","","Retains only the elements specified by the predicate.","","Sets the contents of this cell to value.","","","","","","","","","Takes the value out of this OnceCell, moving it back to an …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Like set, but also returns a reference to the final cell …","","","","","","","","","","","","","","","","","","","","Attempts to acquire the queue, and returns None if any …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Gets the reference to the underlying value, blocking the …","","","Creates a new initialized cell.","Creates a version 0 which could indicate that the …","","","","","","","","","","","","","","Returns the argument unchanged.","","","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","A thread-safe cell which can be written to only once.","","","","","","","","","","","","","","","A dependency container to be able to instantiate and …","","","","This trait is implemented when the entity or the key must …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","A method to garbage collect all unused provider. This is …","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","Gets or creates a database provider that have been …","Register a provider factory that creates provider on …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","","","Calls U::from(self).","Calls U::from(self).","","","","","","","",""],"i":[0,13,0,0,0,13,0,0,0,0,0,13,13,13,0,0,0,0,0,0,0,0,134,0,0,13,0,8,0,31,135,0,0,0,0,0,0,0,0,0,0,30,32,13,0,0,11,0,0,0,0,0,0,0,13,0,0,0,10,0,0,0,13,0,0,0,8,0,0,0,0,0,0,13,0,0,30,32,0,0,13,13,13,31,0,12,0,0,11,0,0,0,0,0,1,3,5,9,13,16,16,3,9,18,6,6,20,21,0,0,24,16,0,27,26,43,6,16,29,44,20,73,13,3,5,46,47,35,30,9,31,32,27,26,43,6,16,29,44,20,73,13,3,5,46,47,35,30,9,31,32,0,118,118,26,118,118,6,27,26,29,30,9,31,32,29,27,26,29,30,9,31,32,27,34,34,34,34,34,34,34,34,34,34,34,34,20,26,16,20,27,26,43,6,29,44,3,46,47,9,118,3,9,27,26,43,6,16,29,44,20,73,13,3,3,5,46,47,35,30,9,9,31,32,27,26,43,6,16,29,44,20,73,13,3,5,46,47,35,30,9,31,32,31,27,26,43,6,16,29,44,20,73,13,3,5,46,47,35,30,9,31,32,12,12,26,27,26,29,30,31,26,3,9,27,29,13,13,30,27,26,43,6,6,16,29,29,29,44,20,73,13,13,13,13,3,5,46,47,35,30,9,31,32,26,35,68,27,26,43,6,16,29,44,20,73,13,3,5,46,47,35,30,9,31,32,0,26,6,29,3,35,9,72,26,26,43,29,73,73,3,35,9,76,26,43,29,44,3,9,43,29,43,43,29,43,29,79,80,27,31,35,0,82,27,26,43,6,16,29,44,20,73,13,3,3,5,46,47,35,30,9,9,31,32,84,26,20,20,73,73,84,20,20,73,73,85,85,86,20,73,86,20,73,87,20,20,73,73,87,20,20,73,73,85,85,88,20,73,88,20,73,27,26,43,6,16,29,44,20,73,13,3,5,46,47,35,30,9,31,32,43,29,44,26,26,26,3,35,9,26,26,3,9,73,89,26,26,3,35,9,26,26,3,9,26,6,16,6,16,16,73,74,0,27,26,43,6,29,44,3,9,32,27,99,3,9,12,12,26,26,3,9,26,26,0,27,0,0,6,20,44,44,6,16,20,16,46,47,118,118,46,47,105,26,20,20,73,73,105,20,20,73,73,85,85,26,31,29,26,13,43,109,16,3,9,43,29,73,6,20,6,6,27,26,29,30,9,31,32,13,0,11,11,11,11,113,0,27,26,43,6,16,29,44,20,73,13,3,5,46,47,35,30,9,31,32,29,27,26,43,6,16,29,44,20,73,13,3,5,46,47,35,30,9,31,32,44,27,26,43,6,16,29,44,20,73,13,3,5,46,47,35,30,9,31,32,26,3,9,26,118,3,9,0,6,0,0,0,29,26,43,29,27,136,136,137,0,0,71,69,69,0,69,69,69,69,69,69,71,69,69,69,69,69,0,0,0,0,120,0,120,121,122,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,125,0,0,0,0,0,126,61,103,95,126,61,103,95,123,123,103,103,125,126,61,95,127,126,61,103,103,95,126,61,103,95,126,61,103,103,95,126,95,126,61,103,95,126,61,103,95,61,126,61,103,95,126,61,103,95,126,83,83,83,103,129,129,129,129,129,61,61,61,61,126,61,103,95,126,61,103,95,126,61,103,95,131,132,95,0,0,138,139,138,139,138,139,138,139,138,139,138,139,138,139,138,139,138,139,138,139,138,139,138,139,138,139],"f":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[1,-1],2,[]],[[[3,[-1]],[4,[-1]]],2,[]],[[5,[7,[6]]],[[8,[2]]]],[[[9,[-1]],[4,[-1]]],2,[10,11,12]],[13,[[15,[14]]]],[[[16,[-2]]],[[3,[-1]]],11,[[17,[[3,[-1]]]]]],[[[16,[-2]]],[[9,[-1]]],11,[[17,[[9,[-1]]]]]],[[[3,[-1]]],[[3,[-1]]],11],[[[9,[-1]]],[[9,[-1]]],11],[18,[[19,[[8,[-1]]]]],[]],[6,[[19,[8]]]],[6,[[19,[8]]]],[20,[[19,[[8,[-1]]]]],[]],[21,[[15,[-1]]],[]],0,[6,[[19,[[8,[[22,[-1,-2,-3,-4,-5]]]]]]],23,23,23,23,23],[-1,[[19,[[8,[24]]]]],[]],[6,[[19,[[8,[[16,[-1]]]]]]],[[24,[6]]]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[25,22],[25,22],[[[26,[-1,-2]]],22,[],[]],[25,22],[25,22],[6,22],[27,27],[[[26,[-1,-2]]],[[26,[-1,-2]]],28,28],[[[29,[-1]]],[[29,[-1]]],28],[[[30,[-1]]],[[30,[-1]]],28],[[[9,[-1]]],[[9,[-1]]],[28,11]],[[[31,[-1]]],[[31,[-1]]],28],[[[32,[-1]]],[[32,[-1]]],28],[[[29,[-1]],[29,[-1]]],22,28],[[-1,-2],22,[],[]],[[-1,-2],22,[],[]],[[-1,-2],22,[],[]],[[-1,-2],22,[],[]],[[-1,-2],22,[],[]],[[-1,-2],22,[],[]],[[-1,-2],22,[],[]],[[27,27],33],[34,[[35,[-1,-2]]],[36,[38,[37]],[39,[37]]],40],[34,[[35,[-1,-2]]],[36,[38,[37]],[39,[37]]],40],[[34,-2],[[35,[-3,-1]]],[],[[42,[-1,-1],[[41,[33]]]]],[36,[38,[37]],[39,[37]]]],[[34,-2],[[35,[-3,-1]]],[],[[42,[-1,-1],[[41,[33]]]]],[36,[38,[37]],[39,[37]]]],[[34,-3],[[35,[-4,-1]]],[],40,[[42,[-1],[[41,[-2]]]]],[36,[38,[37]],[39,[37]]]],[[34,-3],[[35,[-4,-1]]],[],40,[[42,[-1],[[41,[-2]]]]],[36,[38,[37]],[39,[37]]]],[34,[[35,[-1,-2]]],[36,[38,[37]],[39,[37]]],40],[34,[[35,[-1,-2]]],[36,[38,[37]],[39,[37]]],40],[[34,-2],[[35,[-3,-1]]],[],[[42,[-1,-1],[[41,[33]]]]],[36,[38,[37]],[39,[37]]]],[[34,-2],[[35,[-3,-1]]],[],[[42,[-1,-1],[[41,[33]]]]],[36,[38,[37]],[39,[37]]]],[[34,-3],[[35,[-4,-1]]],[],40,[[42,[-1],[[41,[-2]]]]],[36,[38,[37]],[39,[37]]]],[[34,-3],[[35,[-4,-1]]],[],40,[[42,[-1],[[41,[-2]]]]],[36,[38,[37]],[39,[37]]]],[20,[[19,[[8,[5]]]]]],[[[26,[-1,-2]],-1],2,[36,[39,[37]]],[]],0,0,[[],27],[[],[[26,[-1,-2]]],[],[]],[[],[[43,[-1]]],[]],[[],6],[[],[[29,[-1]]],[]],[[],[[44,[-1]]],45],[[],[[3,[-1]]],11],[[],[[46,[-1]]],[]],[[],[[47,[-1]]],[]],[[],[[9,[-1]]],11],[[],48],[[],48],[[],48],[37,-1,[]],[37,-1,[]],[37,-1,[]],[37,-1,[]],[37,-1,[]],[37,-1,[]],[37,-1,[]],[37,-1,[]],[37,-1,[]],[37,-1,[]],[[[3,[-1]]],-2,11,[]],[37,-1,[]],[37,-1,[]],[37,-1,[]],[37,-1,[]],[37,-1,[]],[37,-1,[]],[37,-1,[]],[[[9,[-1]]],-2,11,[]],[37,-1,[]],[37,-1,[]],[37,-1,[]],[37,-1,[]],[37,-1,[]],[37,-1,[]],[37,-1,[]],[37,-1,[]],[37,-1,[]],[37,-1,[]],[37,-1,[]],[37,-1,[]],[37,-1,[]],[37,-1,[]],[37,-1,[]],[37,-1,[]],[37,-1,[]],[37,-1,[]],[37,-1,[]],[37,-1,[]],[37,-1,[]],[-1,[[49,[[31,[-2]]]]],50,51],[37,22],[37,22],[37,22],[37,22],[37,22],[37,22],[37,22],[37,22],[37,22],[37,22],[37,22],[37,22],[37,22],[37,22],[37,22],[37,22],[37,22],[37,22],[37,22],[[],48],[[],[[52,[-1]]],[]],[[[26,[-1,-2]],-1],[[53,[-1,-2]]],[36,[39,[37]]],[]],[[27,27],2],[[[26,[-1,-2]],[26,[-1,-2]]],2,54,54],[[[29,[-1]],[29,[-1]]],2,54],[[[30,[-1]],[30,[-1]]],2,54],[[[31,[-1]],[31,[-1]]],2,54],[[[26,[-1,-2]],-3],22,[36,[39,[37]]],[],[[56,[],[[55,[[22,[-1,-2]]]]]]]],[[[3,[-1]],-2],22,[10,11],[[56,[],[[55,[[22,[-1]]]]]]]],[[[9,[-1]],-2],22,[10,11],[[56,[],[[55,[[22,[-1]]]]]]]],[[27,57],[[49,[22,58]]]],[[[29,[-1]],57],[[49,[22,58]]],59],[[13,57],60],[[13,57],60],[[[30,[-1]],57],60,59],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[61,6],[-1,-1,[]],[-1,[[29,[-1]]],[]],[-1,-1,[]],[62,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[63,13],[[[65,[64]]],13],[14,13],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-3,[[26,[-1,-2]]],[36,[39,[37]]],[],[[56,[],[[55,[[22,[-1,-2]]]]]]]],[-3,[[35,[-1,-2]]],[36,[38,[37]],[39,[37]]],[66,67],[[56,[],[[55,[[22,[-1,-2]]]]]]]],[-1,[[15,[68]]],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],0,[[[26,[-1,-2]],69],22,[36,[38,[37]],70],[71,70]],[6,22],[[[29,[-1]],69],22,71],[[[3,[-1]],69],22,[10,11,71]],[[[35,[-1,-2]],69],22,[36,[38,[37]],70],[71,70,23]],[[[9,[-1]],69],22,[11,10,71]],[72,[[15,[-1]]],11],[[[26,[-1]]],[[15,[-1]]],11],[[[26,[-1,-2]],-1],[[15,[-2]]],[36,[39,[37]]],[]],[[[43,[-1]]],[[15,[-1]]],[]],[[[29,[-1]]],[[15,[-1]]],[]],[[[73,[-1]]],[[15,[-1]]],[11,12]],[[[73,[-1]]],[[15,[-1]]],[11,12,74]],[[[3,[-1]]],[[15,[-1]]],11],[[[35,[-1,-2]],-1],[[75,[-2]]],[36,[39,[37]]],[]],[[[9,[-1]]],[[15,[-1]]],11],[76,[[15,[-1]]],11],[[[26,[-1,-2]],-1],[[15,[-2]]],[36,[39,[37]]],[]],[[[43,[-1]]],[[15,[-1]]],[]],[[[29,[-1]]],[[15,[-1]]],[]],[[[44,[-1]]],-1,[]],[[[3,[-1]]],[[15,[-1]]],11],[[[9,[-1]]],[[15,[-1]]],11],[[[43,[-1]],-2],-1,[],[[77,[],[[41,[-1]]]]]],[[[29,[-1]],-2],-1,[],[[78,[],[[41,[-1]]]]]],[[[43,[-1]],-2],-1,[],[[78,[],[[41,[-1]]]]]],[[[43,[-1]],-3],[[49,[-1,-2]]],[],[],[[77,[],[[41,[[49,[-1,-2]]]]]]]],[[[29,[-1]],-3],[[49,[-1,-2]]],[],[],[[78,[],[[41,[[49,[-1,-2]]]]]]]],[[[43,[-1]],-3],[[49,[-1,-2]]],[],[],[[78,[],[[41,[[49,[-1,-2]]]]]]]],[[[29,[-1]]],-1,[]],[[79,[32,[-1]]],22,11],[[80,20],[[19,[[8,[22]]]]]],[[27,-1],22,81],[[[31,[-1]],-2],22,67,81],[[[35,[-1,-2]],-1],-3,[36,[39,[37]]],[],[]],0,[-1,[[19,[[8,[82]]]]],[]],[[],37],[[],37],[[],37],[[],37],[[],37],[[],37],[[],37],[[],37],[[],37],[[],37],[[],37],[-2,[[19,[[8,[[3,[-1]]]]]]],[10,11,70],[23,[83,[-1,22,[3,[-1]]]]]],[[],37],[[],37],[[],37],[[],37],[[],37],[-2,[[19,[[8,[[9,[-1]]]]]]],[10,11,70],[23,[83,[-1,22,[9,[-1]]]]]],[[],37],[[],37],[[],37],[[84,-1],[[19,[[8,[22]]]]],11],[[[26,[-1,-2]],-1,-2],[[15,[-2]]],[36,[39,[37]]],[]],[[20,-1],[[19,[[8,[22]]]]],[11,12,74]],[[20,-1],[[19,[[8,[22]]]]],11],[[[73,[-1]],-1],[[19,[[8,[22]]]]],[11,12,74]],[[[73,[-1]],-1],[[19,[[8,[22]]]]],[11,12]],[[84,-2],[[19,[[8,[37]]]]],11,[[56,[],[[55,[[22,[-1]]]]]],70]],[[20,-2],[[19,[[8,[37]]]]],[11,12,74],[[56,[],[[55,[[22,[-1]]]]]],70]],[[20,-2],[[19,[[8,[37]]]]],11,[[56,[],[[55,[[22,[-1]]]]]],70]],[[[73,[-1]],-2],[[19,[[8,[37]]]]],[11,12],[[56,[],[[55,[[22,[-1]]]]]],70]],[[[73,[-1]],-2],[[19,[[8,[37]]]]],[11,12,74],[[56,[],[[55,[[22,[-1]]]]]],70]],[[85,20],[[19,[[8,[37]]]]]],[[85,20],[[19,[[8,[37]]]]]],[[86,-2],[[19,[[8,[37]]]]],11,[[56,[],[[55,[[22,[-1]]]]]],70]],[[20,-2],[[19,[[8,[37]]]]],[11,12,74],[[56,[],[[55,[[22,[-1]]]]]],70]],[[[73,[-1]],-2],[[19,[[8,[37]]]]],[11,12,54],[[56,[],[[55,[[22,[-1]]]]]],70]],[[86,-1],[[19,[[8,[22]]]]],11],[[20,-1],[[19,[[8,[22]]]]],[11,12,74]],[[[73,[-1]],-1],[[19,[[8,[22]]]]],[11,12,54]],[[87,-1],[[19,[8]]],11],[[20,-1],[[19,[8]]],[11,12,74]],[[20,-1],[[19,[8]]],11],[[[73,[-1]],-1],[[19,[8]]],[11,12]],[[[73,[-1]],-1],[[19,[8]]],[11,12,74]],[[87,-2],[[19,[[8,[37]]]]],11,[[56,[],[[55,[[22,[-1]]]]]],70]],[[20,-2],[[19,[[8,[37]]]]],11,[[56,[],[[55,[[22,[-1]]]]]],70]],[[20,-2],[[19,[[8,[37]]]]],[11,12,74],[[56,[],[[55,[[22,[-1]]]]]],70]],[[[73,[-1]],-2],[[19,[[8,[37]]]]],[11,12],[[56,[],[[55,[[22,[-1]]]]]],70]],[[[73,[-1]],-2],[[19,[[8,[37]]]]],[11,12,74],[[56,[],[[55,[[22,[-1]]]]]],70]],[[85,20],[[19,[[8,[37]]]]]],[[85,20],[[19,[[8,[37]]]]]],[[88,-2],[[19,[[8,[37]]]]],11,[[56,[],[[55,[[22,[-1]]]]]],70]],[[20,-2],[[19,[[8,[37]]]]],[11,12,74],[[56,[],[[55,[[22,[-1]]]]]],70]],[[[73,[-1]],-2],[[19,[[8,[37]]]]],[11,12,54],[[56,[],[[55,[[22,[-1]]]]]],70]],[[88,-1],[[19,[8]]],11],[[20,-1],[[19,[8]]],[11,12,74]],[[[73,[-1]],-1],[[19,[8]]],[11,12,54]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[43,[-1]]],[[15,[-1]]],[]],[[[29,[-1]]],[[15,[-1]]],[]],[[[44,[-1]]],-1,[]],[[[26,[-1,-2]]],[],[],[]],[[[26,[-1,-2]]],[],36,[]],[[[26,[-1,-2]]],[],36,[]],[[[3,[-1]]],-2,11,[]],[[[35,[-1,-2]]],-3,[36,[38,[37]]],[],[]],[[[9,[-1]]],-2,11,[]],[[[26,[-1,-2]]],[],[36,70,23],23],[[[26,[-1,-2]]],[],[36,70],70],[[[3,[-1]]],-2,11,[]],[[[9,[-1]]],-2,11,[]],[[[73,[-1]]],[[15,[-1]]],[11,12,74,11,12]],[89,2],[[[26,[-1,-2]]],2,[],[]],[[[26,[-1,-2]]],[[90,[-1,-2]]],[],[]],[[[3,[-1]]],[[91,[-1]]],11],[[[35,[-1,-2]]],[[90,[-1,[65,[[75,[-2]]]]]]],[],[]],[[[9,[-1]]],[[90,[-1]]],11],[[[26,[-1,-2]]],[[92,[-1,-2]]],[],[]],[[[26,[-1,-2]]],[[93,[-1,-2]]],[],[]],[[[3,[-1]]],[[94,[-1]]],11],[[[9,[-1]]],[[93,[-1]]],11],[[[26,[-1,-2]]],37,[],[]],[[6,-1,95],[[19,[[8,[-3]]]]],[70,23],11,[45,[96,[[22,[-2]]]],70]],[[[16,[-1]],-2,95],[[19,[[8,[-4]]]]],[70,23],[70,23],11,[45,[96,[[22,[-3]]]],70]],[[6,95],[[19,[[8,[[15,[-1]]]]]]],11],[[[16,[-1]],95],[[19,[[8,[[15,[-2]]]]]]],[70,23],11],0,[[[73,[-1]]],[[15,[[97,[[30,[-1]]]]]]],[11,12,74,11,12]],[[],[[98,[[4,[74]]]]]],0,[[],27],[[],[[26,[-1,-2]]],[],[]],[[],[[43,[-1]]],[]],[61,6],[[],[[29,[-1]]],[]],[-1,[[44,[-1]]],[]],[[],[[3,[-1]]],11],[[],[[9,[-1]]],11],[[[32,[-1]]],[[22,[[15,[-1]],[15,[-1]]]]],[]],[27,22],[99,22],[[[3,[-1]]],22,11],[[[9,[-1]]],22,11],[[],[[46,[[12,[],[[100,[-1]]]]]]],[70,23]],[[],[[47,[[12,[],[[100,[-1]]]]]]],[70,23]],[-1,[],[]],[[[26,[-1,-2]]],[[101,[-1,-2]]],23,23],[-1,[],[]],[-1,[],[]],[[[26,[-1,-2]]],[[102,[-1,-2]]],70,70],[-1,[],[]],0,[[27,27],[[15,[33]]]],0,0,[6,61],[20,103],[[[44,[-1]]],[[49,[[7,[-1]],63]]],[]],[[[44,[-1]]],[[49,[[104,[-1]],63]]],[]],[6,[[19,[[8,[-1]]]]],[]],[[[16,[-1]]],-2,[],[]],[20,[[19,[[8,[-1]]]]],[]],[[[16,[-1]]],[[19,[[8,[-2]]]]],[],[]],[[[46,[-1]],-2],22,11,[[79,[-1]],70,23]],[[[47,[-1]],-2],22,11,[[80,[-1]],70,23]],[-1,22,[[42,[25]],70,23]],[-1,22,[[42,[25]],70,23]],[[[46,[-1]],-2],22,11,[[42,[[32,[-1]]]],70,23]],[[[47,[-1]],-2],22,11,[[42,[20],[[41,[[19,[[8,[22]]]]]]]],70,23]],[105,[[19,[[8,[22]]]]]],[[[26,[-1,-2]],-1],[[15,[-2]]],[36,[39,[37]]],[]],[20,[[19,[[8,[22]]]]]],[20,[[19,[[8,[22]]]]]],[[[73,[-1]]],[[19,[[8,[22]]]]],[11,12,74]],[[[73,[-1]]],[[19,[[8,[22]]]]],[11,12]],[[105,-1],[[19,[[8,[37]]]]],[[56,[],[[55,[]]]],70]],[[20,-1],[[19,[[8,[37]]]]],[[56,[],[[55,[]]]],70]],[[20,-1],[[19,[[8,[37]]]]],[[56,[],[[55,[]]]],70]],[[[73,[-1]],-2],[[19,[[8,[37]]]]],[11,12],[[56,[],[[55,[]]]],70]],[[[73,[-1]],-2],[[19,[[8,[37]]]]],[11,12,74],[[56,[],[[55,[]]]],70]],[[85,20],[[19,[[8,[37]]]]]],[[85,20],[[19,[[8,[37]]]]]],[[[26,[-1,-2]],-3],22,[36,[38,[37]]],[],[[106,[-1,-2],[[41,[2]]]]]],[[[31,[-1]],-2],49,107,108],[[[29,[-1]],-1],[[49,[22,-1]]],[]],[[[26,[-1,-2]]],22,[],[]],[-1,13,[[39,[[65,[64]]]]]],[[[43,[-1]],[15,[-1]]],[[15,[-1]]],[]],[109,27],[[[16,[-1]]],27,109],[[[3,[-1]]],27,11],[[[9,[-1]]],27,11],[[[43,[-1]]],[[15,[-1]]],[]],[[[29,[-1]]],[[15,[-1]]],[]],[[[73,[-1]]],[],[11,12]],[6,[[19,[8]]]],[20,[[19,[[8,[[73,[-1]]]]]]],[11,12,74]],[6,15],[6,15],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,110,[]],0,[[[11,[],[[111,[-1]],[112,[-2]]]],-1,[15,[[11,[],[[111,[-1]],[112,[-2]]]]]],20,-2],[[19,[[8,[22]]]]],[70,23],[59,23]],[[[11,[],[[111,[-1]],[112,[-2]]]],-1,[15,[[11,[],[[111,[-1]],[112,[-2]]]]]],20,-2],[[19,[[8,[22]]]]],[70,23],[59,23]],[[[11,[],[[111,[-1]],[112,[-2]]]],-1,20,-2],[[19,[[8,[22]]]]],[70,23],[59,23]],[[[11,[],[[111,[-1]],[112,[-2]]]],-1,20,-2],[[19,[[8,[22]]]]],[70,23],[59,23]],[113,20],0,[-1,[[49,[-2]]],[],[]],[-1,[[49,[-2]]],[],[]],[-1,[[49,[-2]]],[],[]],[-1,[[49,[-2]]],[],[]],[-1,[[49,[-2]]],[],[]],[-1,[[49,[-2]]],[],[]],[-1,[[49,[-2]]],[],[]],[-1,[[49,[-2]]],[],[]],[-1,[[49,[-2]]],[],[]],[-1,[[49,[-2]]],[],[]],[-1,[[49,[-2]]],[],[]],[-1,[[49,[-2]]],[],[]],[-1,[[49,[-2]]],[],[]],[-1,[[49,[-2]]],[],[]],[-1,[[49,[-2]]],[],[]],[-1,[[49,[-2]]],[],[]],[-1,[[49,[-2]]],[],[]],[-1,[[49,[-2]]],[],[]],[-1,[[49,[-2]]],[],[]],[[[29,[-1]],-1],[[49,[-1,[22,[-1,-1]]]]],[]],[-1,[[49,[-2]]],[],[]],[-1,[[49,[-2]]],[],[]],[-1,[[49,[-2]]],[],[]],[-1,[[49,[-2]]],[],[]],[-1,[[49,[-2]]],[],[]],[-1,[[49,[-2]]],[],[]],[-1,[[49,[-2]]],[],[]],[-1,[[49,[-2]]],[],[]],[-1,[[49,[-2]]],[],[]],[-1,[[49,[-2]]],[],[]],[-1,[[49,[-2]]],[],[]],[-1,[[49,[-2]]],[],[]],[-1,[[49,[-2]]],[],[]],[-1,[[49,[-2]]],[],[]],[-1,[[49,[-2]]],[],[]],[-1,[[49,[-2]]],[],[]],[-1,[[49,[-2]]],[],[]],[-1,[[49,[-2]]],[],[]],[-1,[[49,[-2]]],[],[]],[[[44,[-1]]],[[15,[[7,[-1]]]]],[]],[-1,114,[]],[-1,114,[]],[-1,114,[]],[-1,114,[]],[-1,114,[]],[-1,114,[]],[-1,114,[]],[-1,114,[]],[-1,114,[]],[-1,114,[]],[-1,114,[]],[-1,114,[]],[-1,114,[]],[-1,114,[]],[-1,114,[]],[-1,114,[]],[-1,114,[]],[-1,114,[]],[-1,114,[]],[[[26,[-1,-2]]],[[115,[-1,-2]]],[],[]],[[[3,[-1]]],[[116,[-1]]],11],[[[9,[-1]]],[[115,[-1]]],11],[[[26,[-1,-2]]],[[117,[-1,-2]]],[],[]],[[],[[52,[118]]]],[[],[[52,[[3,[-1]]]]],[11,[12,[],[[100,[3]]]]]],[[],[[52,[[9,[-1]]]]],[11,[12,[],[[100,[9]]]]]],0,[6,25],0,0,0,[[[29,[-1]]],-1,[]],[37,[[26,[-1,-2]]],[],[]],[-1,[[43,[-1]]],[]],[-1,[[29,[-1]]],[]],[[],27],0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],0,[[],69],[37,-1,[]],[37,-1,[]],[37,22],[-1,-1,[]],[-1,[[15,[-2]]],[],[]],[[71,69],22],[[],37],[-1,-2,[],[]],[-1,[[49,[-2]]],[],[]],[-1,[[49,[-2]]],[],[]],[-1,114,[]],[6,22],[-1,22,[[42,[6]],70,23]],0,0,0,0,[[[120,[],[[119,[-1]]]]],-1,[]],[[121,-1],22,11],[122,22],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[123,22],[123,[[19,[[8,[22]]]]]],[103,[[19,[[8,[22]]]]]],[103,61],[[[125,[],[[124,[-1]]]]],[[19,[[8,[-1]]]]],123],[[],[[126,[-1]]],11],[[],61],[[],95],[127,[[19,[[8,[22]]]]]],[37,-1,[]],[37,-1,[]],[37,-1,[]],[103,-1,[]],[37,-1,[]],[37,-1,[]],[37,-1,[]],[37,-1,[]],[37,-1,[]],[37,22],[37,22],[103,22],[37,22],[37,22],[[[126,[-1]],-2],22,11,[[56,[],[[55,[[22,[-1]]]]]]]],[[95,57],60],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[61,22],[[],37],[[],37],[[],37],[[],37],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[126,[-1]]],128,11],[[83,-1],[[19,[[8,[-3]]]]],[70,23],11,[45,[96,[[22,[-2]]]],70]],[[83,-1],[[19,[[8,[-3]]]]],[70,23],11,[45,[96,[[22,[-2]]]],70]],[[83,-1,95],[[19,[[8,[-3]]]]],[70,23],11,[45,[96,[[22,[-2]]]],70]],[[103,-1,95],[[19,[[8,[-3]]]]],[70,23],11,[45,[96,[[22,[-2]]]],70]],[129,[[19,[[8,[[15,[-1]]]]]]],11],[129,[[19,[[8,[[15,[-1]]]]]]],11],[129,[[19,[[8,[-1]]]]],11],[129,[[19,[[8,[-1]]]]],11],[[129,95],[[19,[[8,[[15,[-1]]]]]]],11],[[],61],[[61,130],[[19,[[8,[-1]]]]],123],[[61,-1,-2],22,[[39,[[65,[130]]]]],125],[61,103],[-1,[[49,[-2]]],[],[]],[-1,[[49,[-2]]],[],[]],[-1,[[49,[-2]]],[],[]],[-1,[[49,[-2]]],[],[]],[-1,[[49,[-2]]],[],[]],[-1,[[49,[-2]]],[],[]],[-1,[[49,[-2]]],[],[]],[-1,[[49,[-2]]],[],[]],[-1,114,[]],[-1,114,[]],[-1,114,[]],[-1,114,[]],[[131,-1],[[19,[[8,[22]]]]],11],[[132,-1],[[19,[[8,[22]]]]],11],0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[37,-1,[]],[37,-1,[]],[37,-1,[]],[37,-1,[]],[37,22],[37,22],[-1,-1,[]],[-1,-1,[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[[],37],[[],37],[-1,-2,[],[]],[-1,-2,[],[]],[[],133],[[],133],[-1,[[49,[-2]]],[],[]],[-1,[[49,[-2]]],[],[]],[-1,[[49,[-2]]],[],[]],[-1,[[49,[-2]]],[],[]],[-1,114,[]],[-1,114,[]]],"c":[],"p":[[10,"ApplyLog",0],[1,"bool"],[5,"HashTable",0],[8,"Log",0],[5,"Logs",0],[5,"Ctx",0],[5,"QueueRwLockQueueGuard",801],[8,"Result",0],[5,"VecTable",0],[10,"CtxTypeInfo",0],[10,"Entity",0],[10,"EntityAccessor",0],[6,"Error",0],[6,"Error",802],[6,"Option",803],[5,"CtxLocks",0],[10,"AsRef",804],[10,"AsRefAsync",0],[8,"BoxFuture",0],[5,"CtxTransaction",0],[10,"AsRefOpt",0],[1,"tuple"],[10,"Sync",805],[10,"AsyncTryFrom",0],[8,"Vars",0],[5,"VecMap",0],[5,"VersionTag",0],[10,"Clone",806],[5,"OnceCell",0],[6,"LogState",0],[6,"FieldsOrStr",0],[6,"Changed",0],[6,"Ordering",807],[10,"OneToManyFromIter",0],[5,"OneToMany",0],[10,"Copy",805],[1,"usize"],[10,"From",804],[10,"Into",804],[10,"Ord",807],[17,"Output"],[10,"Fn",808],[5,"AsyncOnceCell",0],[5,"QueueRwLock",0],[10,"Default",809],[5,"OnChanged",0],[5,"OnRemove",0],[8,"Deps",0],[6,"Result",810],[10,"Deserializer",811],[10,"Deserialize",811],[8,"TblVar",0],[6,"Entry",812],[10,"PartialEq",807],[17,"Item"],[10,"IntoIterator",813],[5,"Formatter",814],[5,"Error",814],[10,"Debug",814],[8,"Result",814],[5,"ProviderContainer",682],[1,"never"],[6,"Error",815],[10,"Error",816],[5,"Box",817],[10,"Eq",807],[10,"Hash",818],[10,"FromRefOpt",0],[5,"GcCtx",637],[10,"Send",805],[10,"Gc",637],[10,"Get",0],[5,"TblTransaction",0],[10,"LogAccessor",0],[1,"slice"],[10,"GetMut",0],[10,"Future",819],[10,"FnOnce",808],[10,"ChangedHandler",0],[10,"RemovingHandler",0],[10,"Hasher",818],[10,"Init",0],[10,"LoadAll",682],[10,"Insert",0],[10,"IteratorExt",0],[10,"InsertIfChanged",0],[10,"InsertMut",0],[10,"InsertMutIfChanged",0],[10,"IsDefined",0],[5,"Iter",812],[5,"Iter",820],[5,"IterMut",812],[5,"Keys",812],[5,"Keys",820],[5,"LoadArgs",682],[10,"Extend",813],[8,"FxHashMap",821],[8,"LogVar",0],[10,"NotifyTag",0],[17,"Tbl"],[5,"ParIter",822],[5,"ParIterMut",822],[5,"TransactionProvider",682],[5,"QueueRwLockReadGuard",801],[10,"Remove",0],[10,"FnMut",808],[10,"Serialize",823],[10,"Serializer",823],[10,"Tag",0],[5,"String",824],[17,"Key"],[17,"TrackCtx"],[10,"Transaction",0],[5,"TypeId",825],[5,"Values",812],[5,"Values",820],[5,"ValuesMut",812],[10,"Accessor",0],[17,"Log"],[10,"Commit",657],[10,"Insert",657],[10,"Remove",657],[10,"Provider",682],[17,"Provider"],[10,"ProviderFactory",682],[5,"LoadAllKeyOnly",682],[10,"Delete",682],[5,"Vec",826],[10,"LoadOne",682],[1,"str"],[10,"Upsert",682],[10,"UpsertMut",682],[5,"Register",827],[10,"EntityOf",0],[10,"EntityFields",0],[15,"Inserted",634],[15,"Removed",634],[5,"Tbl",773],[5,"Log",773]],"b":[[99,"impl-AsRef%3CHashTable%3CE%3E%3E-for-CtxLocks%3C\'a,+L%3E"],[100,"impl-AsRef%3CVecTable%3CE%3E%3E-for-CtxLocks%3C\'a,+L%3E"],[104,"impl-AsRefAsync%3CHashTable%3CE%3E%3E-for-Ctx"],[105,"impl-AsRefAsync%3CVecTable%3CE%3E%3E-for-Ctx"],[276,"impl-Debug-for-Error"],[277,"impl-Display-for-Error"],[291,"impl-From%3CError%3E-for-Error"],[292,"impl-From%3CBox%3Cdyn+Error+%2B+Send+%2B+Sync%3E%3E-for-Error"],[293,"impl-From%3CError%3E-for-Error"],[334,"impl-Get%3CE%3E-for-VecMap%3C%3CE+as+Entity%3E::Key,+E%3E"],[335,"impl-VecMap%3CK,+V%3E"],[338,"impl-TblTransaction%3C\'a,+\'b,+E%3E"],[339,"impl-Get%3CE%3E-for-TblTransaction%3C\'a,+\'b,+E%3E"],[387,"impl-Insert%3CE%3E-for-CtxTransaction%3C\'a%3E"],[388,"impl-CtxTransaction%3C\'a%3E"],[389,"impl-Insert%3CE%3E-for-TblTransaction%3C\'a,+\'b,+E%3E"],[390,"impl-TblTransaction%3C\'a,+\'b,+E%3E"],[392,"impl-Insert%3CE%3E-for-CtxTransaction%3C\'a%3E"],[393,"impl-CtxTransaction%3C\'a%3E"],[394,"impl-TblTransaction%3C\'a,+\'b,+E%3E"],[395,"impl-Insert%3CE%3E-for-TblTransaction%3C\'a,+\'b,+E%3E"],[405,"impl-InsertMut%3CE%3E-for-CtxTransaction%3C\'a%3E"],[406,"impl-CtxTransaction%3C\'a%3E"],[407,"impl-TblTransaction%3C\'a,+\'b,+E%3E"],[408,"impl-InsertMut%3CE%3E-for-TblTransaction%3C\'a,+\'b,+E%3E"],[410,"impl-CtxTransaction%3C\'a%3E"],[411,"impl-InsertMut%3CE%3E-for-CtxTransaction%3C\'a%3E"],[412,"impl-TblTransaction%3C\'a,+\'b,+E%3E"],[413,"impl-InsertMut%3CE%3E-for-TblTransaction%3C\'a,+\'b,+E%3E"],[444,"impl-IntoIterator-for-VecMap%3CK,+V%3E"],[445,"impl-IntoIterator-for-%26mut+VecMap%3CK,+V%3E"],[446,"impl-IntoIterator-for-%26VecMap%3CK,+V%3E"],[450,"impl-IntoParallelIterator-for-%26VecMap%3CK,+V%3E"],[451,"impl-IntoParallelIterator-for-%26mut+VecMap%3CK,+V%3E"],[515,"impl-Remove%3CE%3E-for-CtxTransaction%3C\'a%3E"],[516,"impl-CtxTransaction%3C\'a%3E"],[517,"impl-Remove%3CE%3E-for-TblTransaction%3C\'a,+\'b,+E%3E"],[518,"impl-TblTransaction%3C\'a,+\'b,+E%3E"],[520,"impl-Remove%3CE%3E-for-CtxTransaction%3C\'a%3E"],[521,"impl-CtxTransaction%3C\'a%3E"],[522,"impl-TblTransaction%3C\'a,+\'b,+E%3E"],[523,"impl-Remove%3CE%3E-for-TblTransaction%3C\'a,+\'b,+E%3E"]]}],\ -["storm_derive",{"doc":"","t":"YYYYYYYYX","n":["Ctx","LocksAwait","MssqlDelete","MssqlLoad","MssqlSave","NoopDelete","NoopLoad","NoopSave","indexing"],"q":[[0,"storm_derive"]],"d":["","","","","","","","",""],"i":[0,0,0,0,0,0,0,0,0],"f":[0,0,0,0,0,0,0,0,0],"c":[],"p":[],"b":[]}],\ -["storm_mssql",{"doc":"","t":"PKKPIKPRPPKPPGKFKKKKPFPFKFFPPFPKIKPPPTTKKFFENNNNNMMHNNNNNNNNNNNNNNNNNNNNNNNMNNNNHNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNMNMHMNNNNNNNNNNNNNNNNNNNMHNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNHNNMNMENNENMNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNO","n":["AlreadyInTransaction","ApplyEntityDiff","ApplyFieldDiff","AsyncCellLock","Client","ClientFactory","ClientInError","Column","ColumnNull","ConvertFailed","EntityDiff","EntityNotFound","Err","Error","Execute","ExecuteArgs","FieldDiff","FilterSql","FromFieldDiff","FromSql","Internal","KeysFilter","Mssql","MssqlFactory","MssqlMeta","MssqlProvider","MssqlTransactionGuard","NotInTransaction","Ok","Parameter","ProviderNotFound","QueryRows","Result","SaveEntityPart","Std","Str","String","TABLE","TRANSLATED_TABLE","ToSql","ToSqlNull","TransactionScoped","UpsertBuilder","_macro_load_field","add_field_identity","add_field_owned","add_field_ref","add_key_identity","add_key_ref","apply_entity_diff","apply_field_diff","apply_field_diff_impl","as_mssql","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","cancel","clone","clone_into","commit","create_client","create_client","create_client","create_provider","create_provider","create_provider_container_from_env","default","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","drop","drop","drop","drop","drop","entity_diff","execute","execute","execute","execute_identity","execute_with_args","execute_with_args","field_diff","field_diff_impl","filter_sql","filter_sql","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_env","from_field_diff","from_field_diff_impl","from_owned","from_ref","from_ref_opt","from_ref_opt","from_ref_opt","from_ref_opt","from_ref_opt","from_ref_opt","from_ref_opt","from_ref_opt","from_ref_opt","from_sql","get_transaction_client","init","init","init","init","init","init","init","init","init","into","into","into","into","into","into","into","into","into","into_column_data_static","new","new","query_rows","query_rows","save_entity_part","serde_json","sql","std","tiberius","to_owned","to_sql","to_sql","to_sql","to_sql_null","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","under_transaction","under_transaction","under_transaction","use_transaction"],"q":[[0,"storm_mssql"],[220,"storm::is_defined"],[221,"storm::entity_fields"],[222,"serde_json::value"],[223,"std::collections::hash::map"],[224,"core::hash"],[225,"serde::de"],[226,"tiberius::error"],[227,"core::option"],[228,"storm"],[229,"core::marker"],[230,"core::marker"],[231,"core::marker"],[232,"alloc::borrow"],[233,"core::convert"],[234,"core::cmp"],[235,"serde::ser"],[236,"core::fmt"],[237,"core::fmt"],[238,"core::error"],[239,"async_cell_lock::error"],[240,"std::ffi::os_str"],[241,"core::convert"],[242,"tiberius::tds::codec::column_data"],[243,"tiberius::row"],[244,"core::ops::function"],[245,"core::default"],[246,"core::iter::traits::collect"],[247,"alloc::string"],[248,"core::any"]],"d":["","","","","","","","","","","","","Contains the error value","","","","","Allow to filter a list of rows.","Create the field from the diff value.","","","","","","","","","","Contains the success value","","","","","","","","","","","","","This can wrap a ClientFactory and creates a transaction …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Creates a new Client instance.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","","","","","","","","","Creates a new Client instance.","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","Execute a query on the sql server and returns the row.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Indicate if the client factory operate under a …","Indicate if the client factory operate under a …","",""],"i":[14,0,0,14,0,0,14,38,14,14,0,14,10,0,0,0,0,0,0,0,14,0,14,0,0,0,0,14,10,0,14,0,0,0,14,14,14,67,67,0,0,0,0,0,1,1,1,1,1,6,12,0,14,43,25,17,28,54,22,14,1,18,43,25,17,28,54,22,14,1,18,17,18,18,17,20,17,22,25,22,0,18,43,25,17,28,28,54,22,14,1,18,43,25,17,28,28,54,22,14,1,18,43,25,17,28,54,22,14,1,18,29,30,30,1,1,30,17,39,0,42,43,14,14,18,43,25,17,17,28,54,22,22,14,14,14,14,1,18,25,53,0,54,54,43,25,17,28,54,22,14,1,18,38,17,43,25,17,28,54,22,14,1,18,43,25,17,28,54,22,14,1,18,0,17,1,37,17,64,0,1,14,0,18,5,54,54,68,14,43,25,17,28,54,22,14,1,18,43,25,17,28,54,22,14,1,18,43,25,17,28,54,22,14,1,18,20,20,22,18],"f":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[1,2,-1],3,[4,5]],[[1,2,-1],3,5],[[1,2,-1],3,5],[[1,2,-1],3,[4,5]],[[1,2,-1],3,5],[[6,[9,[[7,[-1]],8,-2]]],[[10,[3]]],[],11],[[12,8],[[10,[3]]]],[[-1,8],[[10,[3]]],13],[14,[[16,[15]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[17,3],[18,18],[[-1,-2],3,[],[]],[17,[[19,[[10,[3]]]]]],[20,[[19,[[10,[21]]]]]],[17,[[10,[21]]]],[[[22,[-1]]],[[19,[[10,[21]]]]],[20,23,24]],[25,[[19,[[10,[-1]]]]],[]],[[[22,[25]]],[[19,[[10,[-1]]]]],[]],[[2,2],[[10,[26]]]],[[],18],[27,-1,[]],[27,-1,[]],[27,-1,[]],[28,-1,[]],[27,-1,[]],[27,-1,[]],[27,-1,[]],[27,-1,[]],[27,-1,[]],[27,-1,[]],[27,-1,[]],[27,-1,[]],[27,-1,[]],[27,-1,[]],[28,-1,[]],[27,-1,[]],[27,-1,[]],[27,-1,[]],[27,-1,[]],[27,-1,[]],[27,3],[27,3],[27,3],[27,3],[27,3],[27,3],[27,3],[27,3],[27,3],[[29,29,[9,[-1,8,-2]]],3,[],11],[[30,-1,[31,[5]]],[[19,[[10,[32]]]]],[33,34,[36,[[35,[2]]]],23]],[[30,-1,[31,[5]]],[[19,[[10,[32]]]]],[33,34,[36,[[35,[2]]]],23]],[[1,-1],[[10,[3]]],30],[[1,-1,-2],[[10,[3]]],[30,37],[38,5,23]],[[30,-1,[31,[5]],18],[[19,[[10,[32]]]]],[33,34,[36,[[35,[2]]]],23]],[[17,-1,[31,[5]],18],[[19,[[10,[32]]]]],[33,34,[36,[[35,[2]]]],23]],[[39,39],[[16,[8]]]],[[-1,-1],[[16,[8]]],[40,41]],[[42,27],[[3,[[35,[2]],[35,[[31,[5]]]]]]]],[[[43,[-1]],27],[[3,[[35,[2]],[35,[[31,[5]]]]]]],5],[[14,44],[[46,[3,45]]]],[[14,44],[[46,[3,45]]]],[[18,44],47],[-1,-1,[]],[-1,-1,[]],[[[48,[20]]],17],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[25,[[22,[25]]]],[[[48,[49]]],14],[-1,-1,[]],[50,14],[15,14],[-1,-1,[]],[-1,-1,[]],[-1,[[10,[25]]],[[52,[51]]]],[8,[[10,[53]]]],[8,[[10,[-1]]],13],[-1,54,5],[-1,54,5],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[[[16,[-1]]],[[10,[[38,[],[[55,[-1]]]]]]],56],[17,[[16,[28]]]],[[],27],[[],27],[[],27],[[],27],[[],27],[[],27],[[],27],[[],27],[[],27],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[57,57],[-1,17,20],[2,1],[[37,-1,[31,[5]],-3,58],[[19,[[10,[-4]]]]],[33,34,[36,[[35,[2]]]],23],23,[[61,[59],[[60,[[10,[-2]]]]]],23],[62,[63,[-2]],23]],[[17,-1,[31,[5]],-3,58],[[19,[[10,[-4]]]]],[33,34,[36,[[35,[2]]]],23],23,[[61,[59],[[60,[[10,[-2]]]]]],23],[62,[63,[-2]],23]],[[64,-1,1],3,[]],0,[1,65],[-1,14,[[36,[[48,[49]]]]]],0,[-1,-2,[],[]],[5,57],[54,57],[54,57],[[],57],[-1,65,[]],[-1,[[46,[-2]]],[],[]],[-1,[[46,[-2]]],[],[]],[-1,[[46,[-2]]],[],[]],[-1,[[46,[-2]]],[],[]],[-1,[[46,[-2]]],[],[]],[-1,[[46,[-2]]],[],[]],[-1,[[46,[-2]]],[],[]],[-1,[[46,[-2]]],[],[]],[-1,[[46,[-2]]],[],[]],[-1,[[46,[-2]]],[],[]],[-1,[[46,[-2]]],[],[]],[-1,[[46,[-2]]],[],[]],[-1,[[46,[-2]]],[],[]],[-1,[[46,[-2]]],[],[]],[-1,[[46,[-2]]],[],[]],[-1,[[46,[-2]]],[],[]],[-1,[[46,[-2]]],[],[]],[-1,[[46,[-2]]],[],[]],[-1,66,[]],[-1,66,[]],[-1,66,[]],[-1,66,[]],[-1,66,[]],[-1,66,[]],[-1,66,[]],[-1,66,[]],[-1,66,[]],[20,58],[20,58],[[[22,[-1]]],58,[20,23,24]],0],"c":[],"p":[[5,"UpsertBuilder",0],[1,"str"],[1,"tuple"],[10,"IsDefined",220],[10,"ToSql",0],[10,"ApplyEntityDiff",0],[6,"FieldsOrStr",221],[6,"Value",222],[5,"HashMap",223],[8,"Result",0],[10,"BuildHasher",224],[10,"ApplyFieldDiff",0],[10,"Deserialize",225],[6,"Error",0],[6,"Error",226],[6,"Option",227],[5,"MssqlProvider",0],[5,"ExecuteArgs",0],[8,"BoxFuture",228],[10,"ClientFactory",0],[8,"Client",0],[5,"TransactionScoped",0],[10,"Send",229],[10,"Sync",229],[5,"MssqlFactory",0],[5,"ProviderContainer",230],[1,"usize"],[5,"MssqlTransactionGuard",0],[10,"EntityDiff",0],[10,"Execute",0],[1,"slice"],[1,"u64"],[10,"Sized",229],[10,"Debug",231],[6,"Cow",232],[10,"Into",233],[10,"QueryRows",0],[10,"FromSql",0],[10,"FieldDiff",0],[10,"PartialEq",234],[10,"Serialize",235],[10,"FilterSql",0],[5,"KeysFilter",0],[5,"Formatter",231],[5,"Error",231],[6,"Result",236],[8,"Result",231],[5,"Box",237],[10,"Error",238],[6,"Error",239],[5,"OsStr",240],[10,"AsRef",233],[10,"FromFieldDiff",0],[5,"Parameter",0],[17,"Column"],[10,"FromSql",241],[6,"ColumnData",242],[1,"bool"],[5,"Row",243],[17,"Output"],[10,"FnMut",244],[10,"Default",245],[10,"Extend",246],[10,"SaveEntityPart",0],[5,"String",247],[5,"TypeId",248],[10,"MssqlMeta",0],[10,"ToSqlNull",0]],"b":[[122,"impl-Display-for-Error"],[123,"impl-Debug-for-Error"],[133,"impl-From%3CBox%3Cdyn+Error+%2B+Send+%2B+Sync%3E%3E-for-Error"],[135,"impl-From%3CError%3E-for-Error"],[136,"impl-From%3CError%3E-for-Error"],[185,"impl-ToSql-for-Parameter%3C\'a%3E"],[186,"impl-ToSql-for-Parameter%3C\'a%3E"]]}]\ +["storm",{"doc":"","t":"KPKKKPFKIGKPPPFYFFKISKRKKPKPGPRGKKKFKKKKKPPPKKRYIKGIFIPYYYTYYYPKSSPFFFFKEPFKPPKIPPPPKRFIRKIFFFMNNNNNNNNMNNNMEHMNENNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNENNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNCNNNNNNMNNNNNNNNNMNNNNNNNNNNNNNMMNNNXMNNNNNNNNNNNNNNNNNNNNNMNNNNNMNNNNNNMNNMNNMNNNNMNNNNNNMNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNONMCNNNNNNNNNNMNNMMNNNNNNENCCNNNNNNNNNNNNNNMNNNNNMNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNENNNNMQNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNCNEQENNNNNOOOKFTNNCNNNNNNNNNNNNHHKKRKMMMEFEYYEEEEEFEFEEEEXKKFFKKRFKFKKNNNNNNNNMMNNMNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNMNNNNNNNNNNNNNNNNMMOFFNNNNNNNNNNNNNNNNNNNNNNNNNN","n":["Accessor","AlreadyInTransaction","ApplyLog","AsRefAsync","AsRefOpt","AsyncCellLock","AsyncOnceCell","AsyncTryFrom","BoxFuture","Changed","ChangedHandler","ClientInError","ColumnNull","ConvertFailed","Ctx","Ctx","CtxLocks","CtxTransaction","CtxTypeInfo","Deps","EV_CREATED","Entity","Entity","EntityAccessor","EntityFields","EntityNotFound","EntityOf","Err","Error","Fields","Fields","FieldsOrStr","FromRefOpt","Get","GetMut","HashTable","Init","Insert","InsertIfChanged","InsertMut","InsertMutIfChanged","Inserted","Inserted","Internal","IsDefined","IteratorExt","Key","LocksAwait","Log","LogAccessor","LogState","LogVar","Logs","LogsVar","Mssql","MssqlDelete","MssqlLoad","MssqlSave","NAME","NoopDelete","NoopLoad","NoopSave","NotInTransaction","NotifyTag","OBJ_INDEX","OBJ_TABLE","Ok","OnChanged","OnRemove","OnceCell","OneToMany","OneToManyFromIter","ProviderContainer","ProviderNotFound","QueueRwLock","Remove","Removed","Removed","RemovingHandler","Result","Std","Str","String","String","Tag","Tbl","TblTransaction","TblVar","TrackCtx","Transaction","Vars","VecMap","VecTable","VersionTag","apply_log","apply_log","apply_log","apply_log","as_mssql","as_ref","as_ref","as_ref","as_ref","as_ref_async","as_ref_async","as_ref_async","as_ref_async","as_ref_opt","async_cell_lock","async_ref_block5","async_try_from","async_try_from","attached","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","cache","clear","clear","clear","clear_deps","clear_deps","clear_tbl_of","clone","clone","clone","clone","clone","clone","clone","clone_from","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","cmp","collect_sort","collect_sort","collect_sort_by","collect_sort_by","collect_sort_by_key","collect_sort_by_key","collect_sort_dedup","collect_sort_dedup","collect_sort_dedup_by","collect_sort_dedup_by","collect_sort_dedup_by_key","collect_sort_dedup_by_key","commit","contains_key","ctx","ctx","default","default","default","default","default","default","default","default","default","default","deps","deps","deps","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deserialize","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","entity_deps","entity_var","entry","eq","eq","eq","eq","eq","extend","extend","extend","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_iter","from_iter","from_ref_opt","from_ref_opt","from_ref_opt","from_ref_opt","from_ref_opt","from_ref_opt","from_ref_opt","from_ref_opt","from_ref_opt","from_ref_opt","from_ref_opt","from_ref_opt","from_ref_opt","from_ref_opt","from_ref_opt","from_ref_opt","from_ref_opt","from_ref_opt","from_ref_opt","from_ref_opt","gc","gc","gc","gc","gc","gc","gc","get","get","get","get","get","get","get","get","get","get","get_mut","get_mut","get_mut","get_mut","get_mut","get_mut","get_mut","get_or_init","get_or_init","get_or_init_sync","get_or_try_init","get_or_try_init","get_or_try_init_sync","get_unchecked","handle_changed","handle_removing","hash","hash","index","indexing","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","insert","insert","insert","insert","insert","insert","insert_all","insert_all","insert_all","insert_all","insert_all","insert_all","insert_all","insert_all_if_changed","insert_all_if_changed","insert_all_if_changed","insert_if_changed","insert_if_changed","insert_if_changed","insert_mut","insert_mut","insert_mut","insert_mut","insert_mut","insert_mut_all","insert_mut_all","insert_mut_all","insert_mut_all","insert_mut_all","insert_mut_all","insert_mut_all","insert_mut_all_if_changed","insert_mut_all_if_changed","insert_mut_all_if_changed","insert_mut_if_changed","insert_mut_if_changed","insert_mut_if_changed","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into_inner","into_inner","into_inner","into_iter","into_iter","into_iter","into_iter","into_iter","into_iter","into_par_iter","into_par_iter","into_par_iter","into_par_iter","into_ref","is_defined","is_empty","iter","iter","iter","iter","iter_mut","keys","keys","keys","len","load_all_with_args","load_all_with_args","load_one_with_args","load_one_with_args","locks","log","log_var","mem","new","new","new","new","new","new","new","new","new_old","notify","notify_tag","notify_tag","notify_tag","on_changed","on_remove","par_iter","par_iter","par_iter","par_iter","par_iter_mut","par_iter_mut","parking_lot","partial_cmp","prelude","provider","provider","provider","queue","read","ref_as","ref_as","ref_as","ref_as_async","register","register","register_deps","register_deps","register_fn","register_fn","remove","remove","remove","remove","remove","remove","remove_all","remove_all","remove_all","remove_all","remove_all","remove_all","remove_all","retain","serialize","set","shrink_to_fit","std","swap","tag","tag","tag","tag","take","take","tbl","tbl_of","tbl_of","tbl_of_mut","tbl_of_opt","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","tokio","track_insert","track_insert","track_remove","track_remove","transaction","tri","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_insert","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_queue","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","values","values","values","values_mut","var","var","var","vars","vars","vec_map","version_deps","version_tag","wait","with_capacity","with_val","with_value","zero","new","old","old","Gc","GcCtx","SUPPORT_GC","borrow","borrow_mut","collectables","default","deref","deref_mut","drop","from","from_ref_opt","gc","init","into","try_from","try_into","type_id","collect","register","Commit","Insert","Log","Remove","commit","insert","remove","ApplyLog","AsyncOnceCell","Ctx","Ctx","Ctx","Entity","Get","HashTable","Insert","InsertMut","OnceCell","ProviderContainer","QueueRwLock","Remove","Tag","Transaction","VecTable","indexing","Delete","LoadAll","LoadAllKeyOnly","LoadArgs","LoadOne","Provider","Provider","ProviderContainer","ProviderFactory","TransactionProvider","Upsert","UpsertMut","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","cancel","commit","commit","container","create_provider","default","default","default","delete","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","drop","extend","fmt","from","from","from","from","from_ref_opt","from_ref_opt","from_ref_opt","from_ref_opt","gc","init","init","init","init","into","into","into","into","into_inner","load_all","load_all","load_all_with_args","load_all_with_args","load_one","load_one","load_one_ok","load_one_ok","load_one_with_args","new","provide","register","transaction","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","upsert","upsert_mut","use_transaction","Log","Tbl","borrow","borrow","borrow_mut","borrow_mut","deref","deref","deref_mut","deref_mut","drop","drop","from","from","from_ref_opt","from_ref_opt","init","init","into","into","register","register","try_from","try_from","try_into","try_into","type_id","type_id"],"q":[[0,"storm"],[634,"storm::Changed"],[637,"storm::gc"],[655,"storm::gc::collectables"],[657,"storm::mem"],[664,"storm::prelude"],[682,"storm::provider"],[773,"storm::vars"],[801,"async_cell_lock::queue_rw_lock"],[802,"tiberius::error"],[803,"core::option"],[804,"core::convert"],[805,"core::marker"],[806,"core::clone"],[807,"core::cmp"],[808,"core::marker"],[809,"core::default"],[810,"core::result"],[811,"serde::de"],[812,"serde::de"],[813,"core::cmp"],[814,"core::fmt"],[815,"core::fmt"],[816,"alloc::boxed"],[817,"async_cell_lock::error"],[818,"core::cmp"],[819,"core::marker"],[820,"core::ops::function"],[821,"vec_map"],[822,"vec_map::rayon_impl"],[823,"vec_map::rayon_impl"],[824,"serde::ser"],[825,"core::any"],[826,"vec_map"],[827,"attached::register"]],"d":["","","","","","","","","","","","","","","","","","","","","","","","","","","","Contains the error value","","","","","","","","","","","","","","","","","Indicate if a key is not zero. This trait must be …","","","","","","","","","","","","","","","","","","","","","","Contains the success value","","","A thread-safe cell which can be written to only once.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Collect the items and sort them.","Collect the items and sort them.","Collect the items and sort them by the cmp function …","Collect the items and sort them by the cmp function …","Collect the items and sort them using a key_cmp function.","Collect the items and sort them using a key_cmp function.","","","Collect the items and sort them by the cmp function …","Collect the items and sort them by the cmp function …","Collect the items and sort them by the key_cmp function …","Collect the items and sort them by the key_cmp function …","","","","","Creates an initialized new VersionTag. This is the same as …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Gets the reference to the underlying value.","","gets a reference from the log or the underlying ctx.","","","","","","","Gets the mutable reference to the underlying value.","Returns a mutable reference to the underlying data.","","","","Gets the contents of the cell, initializing it with f if …","","","Gets the contents of the cell, initializing it with f if …","","Get the reference to the underlying value, without …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","Consumes the OnceCell, returning the wrapped value. Returns","Consumes this RwLock, returning the underlying data.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Creates an initialized new VersionTag.","","","","Creates a new empty cell.","Creates a new instance of an QueueRwLock<T> which is …","","","","Internally increment the counter of the tag to signal a …","","","","","","","","","","","","","","","","","","Enqueue to gain access to the write.","Locks this RwLock with shared read access","","","","","","","","","","","","","","","","","","","","","","","","Retains only the elements specified by the predicate.","","Sets the contents of this cell to value.","","","","","","","","","Takes the value out of this OnceCell, moving it back to an …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Like set, but also returns a reference to the final cell …","","","","","","","","","","","","","","","","","","","","Attempts to acquire the queue, and returns None if any …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Gets the reference to the underlying value, blocking the …","","","Creates a new initialized cell.","Creates a version 0 which could indicate that the …","","","","","","","","","","","","","","Returns the argument unchanged.","","","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","A thread-safe cell which can be written to only once.","","","","","","","","","","","","","","","A dependency container to be able to instantiate and …","","","","This trait is implemented when the entity or the key must …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","A method to garbage collect all unused provider. This is …","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","Gets or creates a database provider that have been …","Register a provider factory that creates provider on …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","","","Calls U::from(self).","Calls U::from(self).","","","","","","","",""],"i":[0,13,0,0,0,13,0,0,0,0,0,13,13,13,0,0,0,0,0,0,0,0,135,0,0,13,0,8,0,32,136,0,0,0,0,0,0,0,0,0,0,31,33,13,0,0,11,0,0,0,0,0,0,0,13,0,0,0,10,0,0,0,13,0,0,0,8,0,0,0,0,0,0,13,0,0,31,33,0,0,13,13,13,32,0,12,0,0,11,0,0,0,0,0,1,3,5,9,13,16,16,3,9,18,6,6,20,21,0,0,24,16,0,28,27,44,6,16,30,45,20,74,13,3,5,47,48,36,31,9,32,33,28,27,44,6,16,30,45,20,74,13,3,5,47,48,36,31,9,32,33,0,119,119,27,119,119,6,28,27,30,31,9,32,33,30,28,27,30,31,9,32,33,28,35,35,35,35,35,35,35,35,35,35,35,35,20,27,16,20,28,27,44,6,30,45,3,47,48,9,119,3,9,28,27,44,6,16,30,45,20,74,13,3,3,5,47,48,36,31,9,9,32,33,28,27,44,6,16,30,45,20,74,13,3,5,47,48,36,31,9,32,33,32,28,27,44,6,16,30,45,20,74,13,3,5,47,48,36,31,9,32,33,12,12,27,28,27,30,31,32,27,3,9,28,30,13,13,31,28,27,44,6,6,16,30,30,30,45,20,74,13,13,13,13,3,5,47,48,36,31,9,32,33,27,36,69,28,27,44,6,16,30,45,20,74,13,3,5,47,48,36,31,9,32,33,0,27,6,30,3,36,9,73,27,27,44,30,74,74,3,36,9,77,27,44,30,45,3,9,44,30,44,44,30,44,30,80,81,28,32,36,0,83,28,27,44,6,16,30,45,20,74,13,3,3,5,47,48,36,31,9,9,32,33,85,27,20,20,74,74,85,20,20,74,74,86,86,87,20,74,87,20,74,88,20,20,74,74,88,20,20,74,74,86,86,89,20,74,89,20,74,28,27,44,6,16,30,45,20,74,13,3,5,47,48,36,31,9,32,33,44,30,45,27,27,27,3,36,9,27,27,3,9,74,90,27,27,3,36,9,27,27,3,9,27,6,16,6,16,16,74,75,0,28,27,44,6,30,45,3,9,33,28,100,3,9,12,12,27,27,3,9,27,27,0,28,0,0,6,20,45,45,6,16,20,16,47,48,119,119,47,48,106,27,20,20,74,74,106,20,20,74,74,86,86,27,32,30,27,13,44,110,16,3,9,44,30,74,6,20,6,6,28,27,30,31,9,32,33,13,0,11,11,11,11,114,0,28,27,44,6,16,30,45,20,74,13,3,5,47,48,36,31,9,32,33,30,28,27,44,6,16,30,45,20,74,13,3,5,47,48,36,31,9,32,33,45,28,27,44,6,16,30,45,20,74,13,3,5,47,48,36,31,9,32,33,27,3,9,27,119,3,9,0,6,0,0,0,30,27,44,30,28,137,137,138,0,0,72,70,70,0,70,70,70,70,70,70,72,70,70,70,70,70,0,0,0,0,121,0,121,122,123,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,126,0,0,0,0,0,127,62,104,96,127,62,104,96,124,124,104,104,126,127,62,96,128,127,62,104,104,96,127,62,104,96,127,62,104,104,96,127,96,127,62,104,96,127,62,104,96,62,127,62,104,96,127,62,104,96,127,84,84,84,104,130,130,130,130,130,62,62,62,62,127,62,104,96,127,62,104,96,127,62,104,96,132,133,96,0,0,139,140,139,140,139,140,139,140,139,140,139,140,139,140,139,140,139,140,139,140,139,140,139,140,139,140],"f":"``````````````````````````````````````````````````````````````````````````````````````````````{{bc}d{}}{{{f{c}}{h{c}}}d{}}{{j{n{l}}}{{A`{d}}}}{{{Ab{c}}{h{c}}}d{AdAfAh}}{Aj{{An{Al}}}}{{{B`{e}}}{{f{c}}}Af{{Bb{{f{c}}}}}}{{{B`{e}}}{{Ab{c}}}Af{{Bb{{Ab{c}}}}}}{{{f{c}}}{{f{c}}}Af}{{{Ab{c}}}{{Ab{c}}}Af}{Bd{{Bf{{A`{c}}}}}{}}{l{{Bf{A`}}}}0{Bh{{Bf{{A`{c}}}}}{}}{Bj{{An{c}}}{}}`{l{{Bf{{A`{{Bl{cegik}}}}}}}BnBnBnBnBn}{c{{Bf{{A`{C`}}}}}{}}{l{{Bf{{A`{{B`{c}}}}}}}{{C`{l}}}}`{ce{}{}}0000000000000000000000000000000000000`{CbCd}0{{{Cf{ce}}}Cd{}{}}11{lCd}{ChCh}{{{Cf{ce}}}{{Cf{ce}}}CjCj}{{{Cl{c}}}{{Cl{c}}}Cj}{{{Cn{c}}}{{Cn{c}}}Cj}{{{Ab{c}}}{{Ab{c}}}{CjAf}}{{{D`{c}}}{{D`{c}}}Cj}{{{Db{c}}}{{Db{c}}}Cj}{{{Cl{c}}{Cl{c}}}CdCj}{{ce}Cd{}{}}000000{{ChCh}Dd}{Df{{Dh{ce}}}{Dj{Dn{Dl}}{E`{Dl}}}Eb}0{{Dfe}{{Dh{gc}}}{}{{Ef{cc}{{Ed{Dd}}}}}{Dj{Dn{Dl}}{E`{Dl}}}}0{{Dfg}{{Dh{ic}}}{}Eb{{Ef{c}{{Ed{e}}}}}{Dj{Dn{Dl}}{E`{Dl}}}}0221100{Bh{{Bf{{A`{j}}}}}}{{{Cf{ce}}c}d{Dj{E`{Dl}}}{}}``{{}Ch}{{}{{Cf{ce}}}{}{}}{{}{{Eh{c}}}{}}{{}l}{{}{{Cl{c}}}{}}{{}{{Ej{c}}}El}{{}{{f{c}}}Af}{{}{{En{c}}}{}}{{}{{F`{c}}}{}}{{}{{Ab{c}}}Af}{{}Fb}00{Dlc{}}000000000{{{f{c}}}eAf{}}1111111{{{Ab{c}}}eAf{}}222222222222222222222{c{{Fd{{D`{e}}}}}FfFh}{DlCd}0000000000000000005{{}{{Fj{c}}}{}}{{{Cf{ce}}c}{{Fl{ce}}}{Dj{E`{Dl}}}{}}{{ChCh}d}{{{Cf{ce}}{Cf{ce}}}dFnFn}{{{Cl{c}}{Cl{c}}}dFn}{{{Cn{c}}{Cn{c}}}dFn}{{{D`{c}}{D`{c}}}dFn}{{{Cf{ce}}g}Cd{Dj{E`{Dl}}}{}{{Gb{}{{G`{{Bl{ce}}}}}}}}{{{f{c}}e}Cd{AdAf}{{Gb{}{{G`{{Bl{c}}}}}}}}{{{Ab{c}}e}Cd{AdAf}{{Gb{}{{G`{{Bl{c}}}}}}}}{{ChGd}{{Fd{CdGf}}}}{{{Cl{c}}Gd}{{Fd{CdGf}}}Gh}{{AjGd}Gj}0{{{Cn{c}}Gd}GjGh}{cc{}}00{Gll}111{Gnc{}}{c{{Cl{c}}}{}}3333{{{Hb{H`}}}Aj}{HdAj}{AlAj}666666666{g{{Cf{ce}}}{Dj{E`{Dl}}}{}{{Gb{}{{G`{{Bl{ce}}}}}}}}{g{{Dh{ce}}}{Dj{Dn{Dl}}{E`{Dl}}}{HfHh}{{Gb{}{{G`{{Bl{ce}}}}}}}}{c{{An{Hj}}}{}}{c{{An{e}}}{}{}}000000000000000000`{{{Cf{ce}}Hl}Cd{Dj{Dn{Dl}}Hn}{I`Hn}}{lCd}{{{Cl{c}}Hl}CdI`}{{{f{c}}Hl}Cd{AdAfI`}}{{{Dh{ce}}Hl}Cd{Dj{Dn{Dl}}Hn}{I`HnBn}}{{{Ab{c}}Hl}Cd{AfAdI`}}{Ib{{An{c}}}Af}{{{Cf{c}}}{{An{c}}}Af}{{{Cf{ce}}c}{{An{e}}}{Dj{E`{Dl}}}{}}{{{Eh{c}}}{{An{c}}}{}}{{{Cl{c}}}{{An{c}}}{}}{{{Id{c}}}{{An{c}}}{AfAhIf}}{{{Id{c}}}{{An{c}}}{AfAh}}{{{f{c}}}{{An{c}}}Af}{{{Dh{ce}}c}{{Ih{e}}}{Dj{E`{Dl}}}{}}{{{Ab{c}}}{{An{c}}}Af}{Ij{{An{c}}}Af}876{{{Ej{c}}}c{}}42{{{Eh{c}}e}c{}{{Il{}{{Ed{c}}}}}}{{{Cl{c}}e}c{}{{In{}{{Ed{c}}}}}}{{{Eh{c}}e}c{}{{In{}{{Ed{c}}}}}}{{{Eh{c}}g}{{Fd{ce}}}{}{}{{Il{}{{Ed{{Fd{ce}}}}}}}}{{{Cl{c}}g}{{Fd{ce}}}{}{}{{In{}{{Ed{{Fd{ce}}}}}}}}{{{Eh{c}}g}{{Fd{ce}}}{}{}{{In{}{{Ed{{Fd{ce}}}}}}}}{{{Cl{c}}}c{}}{{J`{Db{c}}}CdAf}{{JbBh}{{Bf{{A`{Cd}}}}}}{{Chc}CdJd}{{{D`{c}}e}CdHhJd}{{{Dh{ce}}c}g{Dj{E`{Dl}}}{}{}}`{c{{Bf{{A`{Jf}}}}}{}}{{}Dl}000000000{e{{Bf{{A`{{f{c}}}}}}}{AdAfHn}{Bn{Jh{cCd{f{c}}}}}}1111111{e{{Bf{{A`{{Ab{c}}}}}}}{AdAfHn}{Bn{Jh{cCd{Ab{c}}}}}}22{{Jjc}{{Bf{{A`{Cd}}}}}Af}{{{Cf{ce}}ce}{{An{e}}}{Dj{E`{Dl}}}{}}{{Bhc}{{Bf{{A`{Cd}}}}}{AfAhIf}}{{Bhc}{{Bf{{A`{Cd}}}}}Af}{{{Id{c}}c}{{Bf{{A`{Cd}}}}}{AfAh}}{{{Id{c}}c}{{Bf{{A`{Cd}}}}}{AfAhIf}}{{Jje}{{Bf{{A`{Dl}}}}}Af{{Gb{}{{G`{{Bl{c}}}}}}Hn}}{{Bhe}{{Bf{{A`{Dl}}}}}Af{{Gb{}{{G`{{Bl{c}}}}}}Hn}}{{Bhe}{{Bf{{A`{Dl}}}}}{AfAhIf}{{Gb{}{{G`{{Bl{c}}}}}}Hn}}{{{Id{c}}e}{{Bf{{A`{Dl}}}}}{AfAhIf}{{Gb{}{{G`{{Bl{c}}}}}}Hn}}{{{Id{c}}e}{{Bf{{A`{Dl}}}}}{AfAh}{{Gb{}{{G`{{Bl{c}}}}}}Hn}}{{JlBh}{{Bf{{A`{Dl}}}}}}0{{Jne}{{Bf{{A`{Dl}}}}}Af{{Gb{}{{G`{{Bl{c}}}}}}Hn}}4{{{Id{c}}e}{{Bf{{A`{Dl}}}}}{AfAhFn}{{Gb{}{{G`{{Bl{c}}}}}}Hn}}{{Jnc}{{Bf{{A`{Cd}}}}}Af}<{{{Id{c}}c}{{Bf{{A`{Cd}}}}}{AfAhFn}}{{K`c}{{Bf{A`}}}Af}{{Bhc}{{Bf{A`}}}Af}{{Bhc}{{Bf{A`}}}{AfAhIf}}{{{Id{c}}c}{{Bf{A`}}}{AfAhIf}}{{{Id{c}}c}{{Bf{A`}}}{AfAh}}{{K`e}{{Bf{{A`{Dl}}}}}Af{{Gb{}{{G`{{Bl{c}}}}}}Hn}}>=<;::{{Kbe}{{Bf{{A`{Dl}}}}}Af{{Gb{}{{G`{{Bl{c}}}}}}Hn}}>9{{Kbc}{{Bf{A`}}}Af}5{{{Id{c}}c}{{Bf{A`}}}{AfAhFn}}{ce{}{}}000000000000000000{{{Eh{c}}}{{An{c}}}{}}{{{Cl{c}}}{{An{c}}}{}}{{{Ej{c}}}c{}}{{{Cf{ce}}}{}{}{}}{{{Cf{ce}}}{}Dj{}}0{{{f{c}}}eAf{}}{{{Dh{ce}}}g{Dj{Dn{Dl}}}{}{}}{{{Ab{c}}}eAf{}}{{{Cf{ce}}}{}{DjHn}Hn}{{{Cf{ce}}}{}{DjHnBn}Bn}42{{{Id{c}}}{{An{c}}}{AfAhIfAfAh}}{Kdd}{{{Cf{ce}}}d{}{}}{{{Cf{ce}}}{{Kf{ce}}}{}{}}{{{f{c}}}{{Kh{c}}}Af}{{{Dh{ce}}}{{Kf{c{Hb{{Ih{e}}}}}}}{}{}}{{{Ab{c}}}{{Kf{c}}}Af}{{{Cf{ce}}}{{Kj{ce}}}{}{}}{{{Cf{ce}}}{{Kl{ce}}}{}{}}{{{f{c}}}{{Kn{c}}}Af}{{{Ab{c}}}{{Kl{c}}}Af}{{{Cf{ce}}}Dl{}{}}{{lcL`}{{Bf{{A`{g}}}}}{HnBn}Af{El{Lb{{Bl{e}}}}Hn}}{{{B`{c}}eL`}{{Bf{{A`{i}}}}}{HnBn}{HnBn}Af{El{Lb{{Bl{g}}}}Hn}}{{lL`}{{Bf{{A`{{An{c}}}}}}}Af}{{{B`{c}}L`}{{Bf{{A`{{An{e}}}}}}}{HnBn}Af}`{{{Id{c}}}{{An{{Ld{{Cn{c}}}}}}}{AfAhIfAfAh}}{{}{{Lf{{h{If}}}}}}`{{}Ch}{{}{{Cf{ce}}}{}{}}{{}{{Eh{c}}}{}}{Gll}{{}{{Cl{c}}}{}}{c{{Ej{c}}}{}}{{}{{f{c}}}Af}{{}{{Ab{c}}}Af}{{{Db{c}}}{{Bl{{An{c}}{An{c}}}}}{}}{ChCd}{LhCd}{{{f{c}}}CdAf}{{{Ab{c}}}CdAf}{{}{{En{{Ah{}{{Lj{c}}}}}}}{HnBn}}{{}{{F`{{Ah{}{{Lj{c}}}}}}}{HnBn}}{c{}{}}{{{Cf{ce}}}{{Ll{ce}}}BnBn}111{{{Cf{ce}}}{{Ln{ce}}}HnHn}`{{ChCh}{{An{Dd}}}}``{lGl}{BhM`}{{{Ej{c}}}{{Fd{{n{c}}Hd}}}{}}{{{Ej{c}}}{{Fd{{Mb{c}}Hd}}}{}}{l{{Bf{{A`{c}}}}}{}}{{{B`{c}}}e{}{}}{Bh{{Bf{{A`{c}}}}}{}}{{{B`{c}}}{{Bf{{A`{e}}}}}{}{}}{{{En{c}}e}CdAf{{J`{c}}HnBn}}{{{F`{c}}e}CdAf{{Jb{c}}HnBn}}{cCd{{Ef{Cb}}HnBn}}0{{{En{c}}e}CdAf{{Ef{{Db{c}}}}HnBn}}{{{F`{c}}e}CdAf{{Ef{Bh}{{Ed{{Bf{{A`{Cd}}}}}}}}HnBn}}{Md{{Bf{{A`{Cd}}}}}}{{{Cf{ce}}c}{{An{e}}}{Dj{E`{Dl}}}{}}{Bh{{Bf{{A`{Cd}}}}}}0{{{Id{c}}}{{Bf{{A`{Cd}}}}}{AfAhIf}}{{{Id{c}}}{{Bf{{A`{Cd}}}}}{AfAh}}{{Mdc}{{Bf{{A`{Dl}}}}}{{Gb{}{{G`{}}}}Hn}}{{Bhc}{{Bf{{A`{Dl}}}}}{{Gb{}{{G`{}}}}Hn}}0{{{Id{c}}e}{{Bf{{A`{Dl}}}}}{AfAhIf}{{Gb{}{{G`{}}}}Hn}}{{{Id{c}}e}{{Bf{{A`{Dl}}}}}{AfAh}{{Gb{}{{G`{}}}}Hn}}{{JlBh}{{Bf{{A`{Dl}}}}}}0{{{Cf{ce}}g}Cd{Dj{Dn{Dl}}}{}{{Mf{ce}{{Ed{d}}}}}}{{{D`{c}}e}FdMhMj}{{{Cl{c}}c}{{Fd{Cdc}}}{}}{{{Cf{ce}}}Cd{}{}}{cAj{{E`{{Hb{H`}}}}}}{{{Eh{c}}{An{c}}}{{An{c}}}{}}{MlCh}{{{B`{c}}}ChMl}{{{f{c}}}ChAf}{{{Ab{c}}}ChAf}{{{Eh{c}}}{{An{c}}}{}}{{{Cl{c}}}{{An{c}}}{}}{{{Id{c}}}{}{AfAh}}{l{{Bf{A`}}}}{Bh{{Bf{{A`{{Id{c}}}}}}}{AfAhIf}}{lAn}0{ce{}{}}000000{cMn{}}`{{{Af{}{{N`{c}}{Nb{e}}}}c{An{{Af{}{{N`{c}}{Nb{e}}}}}}Bhe}{{Bf{{A`{Cd}}}}}{HnBn}{GhBn}}0{{{Af{}{{N`{c}}{Nb{e}}}}cBhe}{{Bf{{A`{Cd}}}}}{HnBn}{GhBn}}0{NdBh}`{c{{Fd{e}}}{}{}}000000000000000000{{{Cl{c}}c}{{Fd{c{Bl{cc}}}}}{}}1111111111111111111{{{Ej{c}}}{{An{{n{c}}}}}{}}{cNf{}}000000000000000000{{{Cf{ce}}}{{Nh{ce}}}{}{}}{{{f{c}}}{{Nj{c}}}Af}{{{Ab{c}}}{{Nh{c}}}Af}{{{Cf{ce}}}{{Nl{ce}}}{}{}}{{}{{Fj{Nn}}}}{{}{{Fj{{f{c}}}}}{Af{Ah{}{{Lj{f}}}}}}{{}{{Fj{{Ab{c}}}}}{Af{Ah{}{{Lj{Ab}}}}}}`{lCb}```{{{Cl{c}}}c{}}{Dl{{Cf{ce}}}{}{}}{c{{Eh{c}}}{}}{c{{Cl{c}}}{}}{{}Ch}``````{ce{}{}}0`{{}Hl}{Dlc{}}0{DlCd}{cc{}}{c{{An{e}}}{}{}}{{I`Hl}Cd}{{}Dl}7{c{{Fd{e}}}{}{}}0{cNf{}}{lCd}{cCd{{Ef{l}}HnBn}}````{{{Ob{}{{O`{c}}}}}c{}}{{Odc}CdAf}{OfCd}``````````````````````````````>>>>>>>>{OhCd}{Oh{{Bf{{A`{Cd}}}}}}{M`{{Bf{{A`{Cd}}}}}}{M`Gl}{{{Ol{}{{Oj{c}}}}}{{Bf{{A`{c}}}}}Oh}{{}{{On{c}}}Af}{{}Gl}{{}L`}{A`{{Bf{{A`{Cd}}}}}}{Dlc{}}00{M`c{}}11111{DlCd}00{M`Cd}1{{{On{c}}e}CdAf{{Gb{}{{G`{{Bl{c}}}}}}}}{{L`Gd}Gj}{cc{}}000{c{{An{e}}}{}{}}000{GlCd}{{}Dl}000{ce{}{}}000{{{On{c}}}AbAf}{{Jhc}{{Bf{{A`{g}}}}}{HnBn}Af{El{Lb{{Bl{e}}}}Hn}}0{{JhcL`}{{Bf{{A`{g}}}}}{HnBn}Af{El{Lb{{Bl{e}}}}Hn}}{{M`cL`}{{Bf{{A`{g}}}}}{HnBn}Af{El{Lb{{Bl{e}}}}Hn}}{Ad{{Bf{{A`{{An{c}}}}}}}Af}0{Ad{{Bf{{A`{c}}}}}Af}0{{AdL`}{{Bf{{A`{{An{c}}}}}}}Af}{{}Gl}{{GlAf}{{Bf{{A`{c}}}}}Oh}{{Glce}Cd{{E`{{Hb{Af}}}}}Ol}{GlM`}{c{{Fd{e}}}{}{}}0000000{cNf{}}000{{Ahc}{{Bf{{A`{Cd}}}}}Af}{{Ajc}{{Bf{{A`{Cd}}}}}Af}```????{Dlc{}}000{DlCd}0{cc{}}0{c{{An{e}}}{}{}}0{{}Dl}0{ce{}{}}0{{}Al}0::::99","c":[],"p":[[10,"ApplyLog",0],[1,"bool"],[5,"HashTable",0],[8,"Log",0],[5,"Logs",0],[5,"Ctx",0],[5,"QueueRwLockQueueGuard",801],[8,"Result",0],[5,"VecTable",0],[10,"CtxTypeInfo",0],[10,"Entity",0],[10,"EntityAccessor",0],[6,"Error",0],[6,"Error",802],[6,"Option",803],[5,"CtxLocks",0],[10,"AsRef",804],[10,"AsRefAsync",0],[8,"BoxFuture",0],[5,"CtxTransaction",0],[10,"AsRefOpt",0],[1,"tuple"],[10,"Sync",805],[10,"AsyncTryFrom",0],[8,"Vars",0],[1,"unit"],[5,"VecMap",0],[5,"VersionTag",0],[10,"Clone",806],[5,"OnceCell",0],[6,"LogState",0],[6,"FieldsOrStr",0],[6,"Changed",0],[6,"Ordering",807],[10,"OneToManyFromIter",0],[5,"OneToMany",0],[10,"Copy",805],[1,"usize"],[10,"From",804],[10,"Into",804],[10,"Ord",807],[17,"Output"],[10,"Fn",808],[5,"AsyncOnceCell",0],[5,"QueueRwLock",0],[10,"Default",809],[5,"OnChanged",0],[5,"OnRemove",0],[8,"Deps",0],[6,"Result",810],[10,"Deserializer",811],[10,"Deserialize",811],[8,"TblVar",0],[6,"Entry",812],[10,"PartialEq",807],[17,"Item"],[10,"IntoIterator",813],[5,"Formatter",814],[5,"Error",814],[10,"Debug",814],[8,"Result",814],[5,"ProviderContainer",682],[1,"never"],[10,"Error",815],[5,"Box",816],[6,"Error",817],[10,"Eq",807],[10,"Hash",818],[10,"FromRefOpt",0],[5,"GcCtx",637],[10,"Send",805],[10,"Gc",637],[10,"Get",0],[5,"TblTransaction",0],[10,"LogAccessor",0],[1,"slice"],[10,"GetMut",0],[10,"Future",819],[10,"FnOnce",808],[10,"ChangedHandler",0],[10,"RemovingHandler",0],[10,"Hasher",818],[10,"Init",0],[10,"LoadAll",682],[10,"Insert",0],[10,"IteratorExt",0],[10,"InsertIfChanged",0],[10,"InsertMut",0],[10,"InsertMutIfChanged",0],[10,"IsDefined",0],[5,"Iter",812],[5,"Iter",820],[5,"IterMut",812],[5,"Keys",812],[5,"Keys",820],[5,"LoadArgs",682],[10,"Extend",813],[8,"FxHashMap",821],[8,"LogVar",0],[10,"NotifyTag",0],[17,"Tbl"],[5,"ParIter",822],[5,"ParIterMut",822],[5,"TransactionProvider",682],[5,"QueueRwLockReadGuard",801],[10,"Remove",0],[10,"FnMut",808],[10,"Serialize",823],[10,"Serializer",823],[10,"Tag",0],[5,"String",824],[17,"Key"],[17,"TrackCtx"],[10,"Transaction",0],[5,"TypeId",825],[5,"Values",812],[5,"Values",820],[5,"ValuesMut",812],[10,"Accessor",0],[17,"Log"],[10,"Commit",657],[10,"Insert",657],[10,"Remove",657],[10,"Provider",682],[17,"Provider"],[10,"ProviderFactory",682],[5,"LoadAllKeyOnly",682],[10,"Delete",682],[5,"Vec",826],[10,"LoadOne",682],[1,"str"],[10,"Upsert",682],[10,"UpsertMut",682],[5,"Register",827],[10,"EntityOf",0],[10,"EntityFields",0],[15,"Inserted",634],[15,"Removed",634],[5,"Tbl",773],[5,"Log",773]],"b":[[99,"impl-AsRef%3CHashTable%3CE%3E%3E-for-CtxLocks%3C\'a,+L%3E"],[100,"impl-AsRef%3CVecTable%3CE%3E%3E-for-CtxLocks%3C\'a,+L%3E"],[104,"impl-AsRefAsync%3CHashTable%3CE%3E%3E-for-Ctx"],[105,"impl-AsRefAsync%3CVecTable%3CE%3E%3E-for-Ctx"],[276,"impl-Display-for-Error"],[277,"impl-Debug-for-Error"],[292,"impl-From%3CBox%3Cdyn+Error+%2B+Send+%2B+Sync%3E%3E-for-Error"],[293,"impl-From%3CError%3E-for-Error"],[294,"impl-From%3CError%3E-for-Error"],[334,"impl-Get%3CE%3E-for-VecMap%3C%3CE+as+Entity%3E::Key,+E%3E"],[335,"impl-VecMap%3CK,+V%3E"],[338,"impl-Get%3CE%3E-for-TblTransaction%3C\'a,+\'b,+E%3E"],[339,"impl-TblTransaction%3C\'a,+\'b,+E%3E"],[387,"impl-Insert%3CE%3E-for-CtxTransaction%3C\'a%3E"],[388,"impl-CtxTransaction%3C\'a%3E"],[389,"impl-TblTransaction%3C\'a,+\'b,+E%3E"],[390,"impl-Insert%3CE%3E-for-TblTransaction%3C\'a,+\'b,+E%3E"],[392,"impl-CtxTransaction%3C\'a%3E"],[393,"impl-Insert%3CE%3E-for-CtxTransaction%3C\'a%3E"],[394,"impl-Insert%3CE%3E-for-TblTransaction%3C\'a,+\'b,+E%3E"],[395,"impl-TblTransaction%3C\'a,+\'b,+E%3E"],[405,"impl-CtxTransaction%3C\'a%3E"],[406,"impl-InsertMut%3CE%3E-for-CtxTransaction%3C\'a%3E"],[407,"impl-InsertMut%3CE%3E-for-TblTransaction%3C\'a,+\'b,+E%3E"],[408,"impl-TblTransaction%3C\'a,+\'b,+E%3E"],[410,"impl-CtxTransaction%3C\'a%3E"],[411,"impl-InsertMut%3CE%3E-for-CtxTransaction%3C\'a%3E"],[412,"impl-InsertMut%3CE%3E-for-TblTransaction%3C\'a,+\'b,+E%3E"],[413,"impl-TblTransaction%3C\'a,+\'b,+E%3E"],[444,"impl-IntoIterator-for-VecMap%3CK,+V%3E"],[445,"impl-IntoIterator-for-%26VecMap%3CK,+V%3E"],[446,"impl-IntoIterator-for-%26mut+VecMap%3CK,+V%3E"],[450,"impl-IntoParallelIterator-for-%26mut+VecMap%3CK,+V%3E"],[451,"impl-IntoParallelIterator-for-%26VecMap%3CK,+V%3E"],[515,"impl-CtxTransaction%3C\'a%3E"],[516,"impl-Remove%3CE%3E-for-CtxTransaction%3C\'a%3E"],[517,"impl-Remove%3CE%3E-for-TblTransaction%3C\'a,+\'b,+E%3E"],[518,"impl-TblTransaction%3C\'a,+\'b,+E%3E"],[520,"impl-CtxTransaction%3C\'a%3E"],[521,"impl-Remove%3CE%3E-for-CtxTransaction%3C\'a%3E"],[522,"impl-Remove%3CE%3E-for-TblTransaction%3C\'a,+\'b,+E%3E"],[523,"impl-TblTransaction%3C\'a,+\'b,+E%3E"]]}],\ +["storm_derive",{"doc":"","t":"YYYYYYYYX","n":["Ctx","LocksAwait","MssqlDelete","MssqlLoad","MssqlSave","NoopDelete","NoopLoad","NoopSave","indexing"],"q":[[0,"storm_derive"]],"d":["","","","","","","","",""],"i":[0,0,0,0,0,0,0,0,0],"f":"`````````","c":[],"p":[],"b":[]}],\ +["storm_mssql",{"doc":"","t":"PKKPIKPRPPKPPGKFKKKKPFPFKFFPPFPKIKPPPTTKKFFENNNNNMMHNNNNNNNNNNNNNNNNNNNNNNNMNNNNHNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNMNMHMNNNNNNNNNNNNNNNNNNNMHNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNHNNMNMENNENMNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNO","n":["AlreadyInTransaction","ApplyEntityDiff","ApplyFieldDiff","AsyncCellLock","Client","ClientFactory","ClientInError","Column","ColumnNull","ConvertFailed","EntityDiff","EntityNotFound","Err","Error","Execute","ExecuteArgs","FieldDiff","FilterSql","FromFieldDiff","FromSql","Internal","KeysFilter","Mssql","MssqlFactory","MssqlMeta","MssqlProvider","MssqlTransactionGuard","NotInTransaction","Ok","Parameter","ProviderNotFound","QueryRows","Result","SaveEntityPart","Std","Str","String","TABLE","TRANSLATED_TABLE","ToSql","ToSqlNull","TransactionScoped","UpsertBuilder","_macro_load_field","add_field_identity","add_field_owned","add_field_ref","add_key_identity","add_key_ref","apply_entity_diff","apply_field_diff","apply_field_diff_impl","as_mssql","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","cancel","clone","clone_into","commit","create_client","create_client","create_client","create_provider","create_provider","create_provider_container_from_env","default","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","drop","drop","drop","drop","drop","entity_diff","execute","execute","execute","execute_identity","execute_with_args","execute_with_args","field_diff","field_diff_impl","filter_sql","filter_sql","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_env","from_field_diff","from_field_diff_impl","from_owned","from_ref","from_ref_opt","from_ref_opt","from_ref_opt","from_ref_opt","from_ref_opt","from_ref_opt","from_ref_opt","from_ref_opt","from_ref_opt","from_sql","get_transaction_client","init","init","init","init","init","init","init","init","init","into","into","into","into","into","into","into","into","into","into_column_data_static","new","new","query_rows","query_rows","save_entity_part","serde_json","sql","std","tiberius","to_owned","to_sql","to_sql","to_sql","to_sql_null","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","under_transaction","under_transaction","under_transaction","use_transaction"],"q":[[0,"storm_mssql"],[220,"storm::is_defined"],[221,"storm::entity_fields"],[222,"serde_json::value"],[223,"std::collections::hash::map"],[224,"core::hash"],[225,"serde::de"],[226,"tiberius::error"],[227,"core::option"],[228,"storm"],[229,"core::marker"],[230,"core::marker"],[231,"core::marker"],[232,"alloc::borrow"],[233,"core::convert"],[234,"core::cmp"],[235,"serde::ser"],[236,"core::fmt"],[237,"core::fmt"],[238,"core::error"],[239,"async_cell_lock::error"],[240,"std::ffi::os_str"],[241,"core::convert"],[242,"tiberius::tds::codec::column_data"],[243,"tiberius::row"],[244,"core::ops::function"],[245,"core::default"],[246,"core::iter::traits::collect"],[247,"alloc::string"],[248,"core::any"]],"d":["","","","","","","","","","","","","Contains the error value","","","","","Allow to filter a list of rows.","Create the field from the diff value.","","","","","","","","","","Contains the success value","","","","","","","","","","","","","This can wrap a ClientFactory and creates a transaction …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Creates a new Client instance.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","","","","","","","","","Creates a new Client instance.","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","Execute a query on the sql server and returns the row.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Indicate if the client factory operate under a …","Indicate if the client factory operate under a …","",""],"i":[14,0,0,14,0,0,14,38,14,14,0,14,10,0,0,0,0,0,0,0,14,0,14,0,0,0,0,14,10,0,14,0,0,0,14,14,14,68,68,0,0,0,0,0,1,1,1,1,1,6,12,0,14,44,25,17,28,55,22,14,1,18,44,25,17,28,55,22,14,1,18,17,18,18,17,20,17,22,25,22,0,18,44,25,17,28,28,55,22,14,1,18,44,25,17,28,28,55,22,14,1,18,44,25,17,28,55,22,14,1,18,29,30,30,1,1,30,17,39,0,42,44,14,14,18,44,25,17,17,28,55,22,22,14,14,14,14,1,18,25,54,0,55,55,44,25,17,28,55,22,14,1,18,38,17,44,25,17,28,55,22,14,1,18,44,25,17,28,55,22,14,1,18,0,17,1,37,17,65,0,1,14,0,18,5,55,55,69,14,44,25,17,28,55,22,14,1,18,44,25,17,28,55,22,14,1,18,44,25,17,28,55,22,14,1,18,20,20,22,18],"f":"````````````````````````````````````````````{{bdc}f{hj}}{{bdc}fj}010{{l{Ab{{n{c}}A`e}}}{{Ad{f}}}{}Af}{{AhA`}{{Ad{f}}}}{{cA`}{{Ad{f}}}Aj}{Al{{B`{An}}}}{ce{}{}}00000000000000000{Bbf}{BdBd}{{ce}f{}{}}{Bb{{Bf{{Ad{f}}}}}}{Bh{{Bf{{Ad{Bj}}}}}}{Bb{{Ad{Bj}}}}{{{Bl{c}}}{{Bf{{Ad{Bj}}}}}{BhBnC`}}{Cb{{Bf{{Ad{c}}}}}{}}{{{Bl{Cb}}}{{Bf{{Ad{c}}}}}{}}{{dd}{{Ad{Cd}}}}{{}Bd}{Cfc{}}000{Chc{}}111111111011111{Cff}00000000{{CjCj{Ab{cA`e}}}f{}Af}{{Clc{Cn{j}}}{{Bf{{Ad{D`}}}}}{DbDd{Dh{{Df{d}}}}Bn}}0{{bc}{{Ad{f}}}Cl}{{bce}{{Ad{f}}}{ClDj}{DljBn}}{{Clc{Cn{j}}Bd}{{Bf{{Ad{D`}}}}}{DbDd{Dh{{Df{d}}}}Bn}}{{Bbc{Cn{j}}Bd}{{Bf{{Ad{D`}}}}}{DbDd{Dh{{Df{d}}}}Bn}}{{DnDn}{{B`{A`}}}}{{cc}{{B`{A`}}}{E`Eb}}{{EdCf}{{Ef{{Df{d}}{Df{{Cn{j}}}}}}}}{{{Eh{c}}Cf}{{Ef{{Df{d}}{Df{{Cn{j}}}}}}}j}{{AlEj}{{En{fEl}}}}0{{BdEj}F`}{cc{}}00{{{Fb{Bh}}}Bb}111{Cb{{Bl{Cb}}}}{AnAl}{{{Fb{Fd}}}Al}{FfAl}555{c{{Ad{Cb}}}{{Fj{Fh}}}}{A`{{Ad{Fl}}}}{A`{{Ad{c}}}Aj}{cFnj}0{c{{B`{e}}}{}{}}00000000{{{B`{c}}}{{Ad{{Dl{}{{G`{c}}}}}}}Gb}{Bb{{B`{Ch}}}}{{}Cf}00000000{ce{}{}}00000000{GdGd}{cBbBh}{db}{{Djc{Cn{j}}gGf}{{Bf{{Ad{i}}}}}{DbDd{Dh{{Df{d}}}}Bn}Bn{{Gl{Gh}{{Gj{{Ad{e}}}}}}Bn}{Gn{H`{e}}Bn}}{{Bbc{Cn{j}}gGf}{{Bf{{Ad{i}}}}}{DbDd{Dh{{Df{d}}}}Bn}Bn{{Gl{Gh}{{Gj{{Ad{e}}}}}}Bn}{Gn{H`{e}}Bn}}{{Hbcb}f{}}`{bHd}{cAl{{Dh{{Fb{Fd}}}}}}`8{jGd}{FnGd}0{{}Gd}{cHd{}}{c{{En{e}}}{}{}}00000000000000000{cHf{}}00000000{BhGf}0{{{Bl{c}}}Gf{BhBnC`}}`","c":[],"p":[[5,"UpsertBuilder",0],[1,"str"],[1,"unit"],[10,"IsDefined",220],[10,"ToSql",0],[10,"ApplyEntityDiff",0],[6,"FieldsOrStr",221],[6,"Value",222],[5,"HashMap",223],[8,"Result",0],[10,"BuildHasher",224],[10,"ApplyFieldDiff",0],[10,"Deserialize",225],[6,"Error",0],[6,"Error",226],[6,"Option",227],[5,"MssqlProvider",0],[5,"ExecuteArgs",0],[8,"BoxFuture",228],[10,"ClientFactory",0],[8,"Client",0],[5,"TransactionScoped",0],[10,"Send",229],[10,"Sync",229],[5,"MssqlFactory",0],[5,"ProviderContainer",230],[1,"usize"],[5,"MssqlTransactionGuard",0],[10,"EntityDiff",0],[10,"Execute",0],[1,"slice"],[1,"u64"],[10,"Sized",229],[10,"Debug",231],[6,"Cow",232],[10,"Into",233],[10,"QueryRows",0],[10,"FromSql",0],[10,"FieldDiff",0],[10,"PartialEq",234],[10,"Serialize",235],[10,"FilterSql",0],[1,"tuple"],[5,"KeysFilter",0],[5,"Formatter",231],[5,"Error",231],[6,"Result",236],[8,"Result",231],[5,"Box",237],[10,"Error",238],[6,"Error",239],[5,"OsStr",240],[10,"AsRef",233],[10,"FromFieldDiff",0],[5,"Parameter",0],[17,"Column"],[10,"FromSql",241],[6,"ColumnData",242],[1,"bool"],[5,"Row",243],[17,"Output"],[10,"FnMut",244],[10,"Default",245],[10,"Extend",246],[10,"SaveEntityPart",0],[5,"String",247],[5,"TypeId",248],[10,"MssqlMeta",0],[10,"ToSqlNull",0]],"b":[[122,"impl-Debug-for-Error"],[123,"impl-Display-for-Error"],[133,"impl-From%3CError%3E-for-Error"],[134,"impl-From%3CBox%3Cdyn+Error+%2B+Send+%2B+Sync%3E%3E-for-Error"],[135,"impl-From%3CError%3E-for-Error"],[185,"impl-ToSql-for-Parameter%3C\'a%3E"],[186,"impl-ToSql-for-Parameter%3C\'a%3E"]]}]\ ]')); if (typeof exports !== 'undefined') exports.searchIndex = searchIndex; else if (window.initSearch) window.initSearch(searchIndex); diff --git a/settings.html b/settings.html index 8aa0a67f..2c1b43e6 100644 --- a/settings.html +++ b/settings.html @@ -1,2 +1,2 @@ -Settings -

Rustdoc settings

Back
\ No newline at end of file +Settings +

Rustdoc settings

Back
\ No newline at end of file diff --git a/src/storm/accessor.rs.html b/src/storm/accessor.rs.html index a760a4ee..8b557472 100644 --- a/src/storm/accessor.rs.html +++ b/src/storm/accessor.rs.html @@ -1,5 +1,6 @@ -accessor.rs - source -
1
+accessor.rs - source
+    
1
 2
 3
 4
diff --git a/src/storm/apply_log.rs.html b/src/storm/apply_log.rs.html
index fb5cbfda..b50d7ddc 100644
--- a/src/storm/apply_log.rs.html
+++ b/src/storm/apply_log.rs.html
@@ -1,5 +1,6 @@
-apply_log.rs - source
-    
1
+apply_log.rs - source
+    
1
 2
 3
 
pub trait ApplyLog<L> {
diff --git a/src/storm/as_ref_async.rs.html b/src/storm/as_ref_async.rs.html
index 9defd39d..628ab633 100644
--- a/src/storm/as_ref_async.rs.html
+++ b/src/storm/as_ref_async.rs.html
@@ -1,5 +1,6 @@
-as_ref_async.rs - source
-    
1
+as_ref_async.rs - source
+    
1
 2
 3
 4
diff --git a/src/storm/as_ref_opt.rs.html b/src/storm/as_ref_opt.rs.html
index 4b98e623..ecd3f7b1 100644
--- a/src/storm/as_ref_opt.rs.html
+++ b/src/storm/as_ref_opt.rs.html
@@ -1,5 +1,6 @@
-as_ref_opt.rs - source
-    
1
+as_ref_opt.rs - source
+    
1
 2
 3
 4
diff --git a/src/storm/async_try_from.rs.html b/src/storm/async_try_from.rs.html
index 3ff7ab65..be2f17c4 100644
--- a/src/storm/async_try_from.rs.html
+++ b/src/storm/async_try_from.rs.html
@@ -1,5 +1,6 @@
-async_try_from.rs - source
-    
1
+async_try_from.rs - source
+    
1
 2
 3
 4
diff --git a/src/storm/ctx.rs.html b/src/storm/ctx.rs.html
index 10a69078..a67377cc 100644
--- a/src/storm/ctx.rs.html
+++ b/src/storm/ctx.rs.html
@@ -1,5 +1,6 @@
-ctx.rs - source
-    
1
+ctx.rs - source
+    
1
 2
 3
 4
diff --git a/src/storm/ctx_type_info.rs.html b/src/storm/ctx_type_info.rs.html
index 7e561cf8..f74828a8 100644
--- a/src/storm/ctx_type_info.rs.html
+++ b/src/storm/ctx_type_info.rs.html
@@ -1,5 +1,6 @@
-ctx_type_info.rs - source
-    
1
+ctx_type_info.rs - source
+    
1
 2
 3
 
pub trait CtxTypeInfo {
diff --git a/src/storm/entity.rs.html b/src/storm/entity.rs.html
index 0a65b748..552c7f78 100644
--- a/src/storm/entity.rs.html
+++ b/src/storm/entity.rs.html
@@ -1,5 +1,6 @@
-entity.rs - source
-    
1
+entity.rs - source
+    
1
 2
 3
 4
diff --git a/src/storm/entity_fields.rs.html b/src/storm/entity_fields.rs.html
index 04d62c04..8bc91fd0 100644
--- a/src/storm/entity_fields.rs.html
+++ b/src/storm/entity_fields.rs.html
@@ -1,5 +1,6 @@
-entity_fields.rs - source
-    
1
+entity_fields.rs - source
+    
1
 2
 3
 4
diff --git a/src/storm/entity_of.rs.html b/src/storm/entity_of.rs.html
index afd491a7..a889054e 100644
--- a/src/storm/entity_of.rs.html
+++ b/src/storm/entity_of.rs.html
@@ -1,5 +1,6 @@
-entity_of.rs - source
-    
1
+entity_of.rs - source
+    
1
 2
 3
 4
diff --git a/src/storm/error.rs.html b/src/storm/error.rs.html
index f2457546..0d8fe3d2 100644
--- a/src/storm/error.rs.html
+++ b/src/storm/error.rs.html
@@ -1,5 +1,6 @@
-error.rs - source
-    
1
+error.rs - source
+    
1
 2
 3
 4
diff --git a/src/storm/gc.rs.html b/src/storm/gc.rs.html
index ddac7c8d..824851c6 100644
--- a/src/storm/gc.rs.html
+++ b/src/storm/gc.rs.html
@@ -1,5 +1,6 @@
-gc.rs - source
-    
1
+gc.rs - source
+    
1
 2
 3
 4
diff --git a/src/storm/get.rs.html b/src/storm/get.rs.html
index c06180e5..4b3e606e 100644
--- a/src/storm/get.rs.html
+++ b/src/storm/get.rs.html
@@ -1,5 +1,6 @@
-get.rs - source
-    
1
+get.rs - source
+    
1
 2
 3
 4
diff --git a/src/storm/get_mut.rs.html b/src/storm/get_mut.rs.html
index 7db27a92..46e9841d 100644
--- a/src/storm/get_mut.rs.html
+++ b/src/storm/get_mut.rs.html
@@ -1,5 +1,6 @@
-get_mut.rs - source
-    
1
+get_mut.rs - source
+    
1
 2
 3
 4
diff --git a/src/storm/hash_table.rs.html b/src/storm/hash_table.rs.html
index cd721504..e9b0c747 100644
--- a/src/storm/hash_table.rs.html
+++ b/src/storm/hash_table.rs.html
@@ -1,5 +1,6 @@
-hash_table.rs - source
-    
1
+hash_table.rs - source
+    
1
 2
 3
 4
diff --git a/src/storm/init.rs.html b/src/storm/init.rs.html
index c4945813..44ef08c4 100644
--- a/src/storm/init.rs.html
+++ b/src/storm/init.rs.html
@@ -1,5 +1,6 @@
-init.rs - source
-    
1
+init.rs - source
+    
1
 2
 3
 4
diff --git a/src/storm/insert.rs.html b/src/storm/insert.rs.html
index f9c24f57..30070714 100644
--- a/src/storm/insert.rs.html
+++ b/src/storm/insert.rs.html
@@ -1,5 +1,6 @@
-insert.rs - source
-    
1
+insert.rs - source
+    
1
 2
 3
 4
diff --git a/src/storm/is_defined.rs.html b/src/storm/is_defined.rs.html
index 706be4c6..cb3d5a96 100644
--- a/src/storm/is_defined.rs.html
+++ b/src/storm/is_defined.rs.html
@@ -1,5 +1,6 @@
-is_defined.rs - source
-    
1
+is_defined.rs - source
+    
1
 2
 3
 4
diff --git a/src/storm/iterator_ext.rs.html b/src/storm/iterator_ext.rs.html
index cb75d3e1..d5d1e0e0 100644
--- a/src/storm/iterator_ext.rs.html
+++ b/src/storm/iterator_ext.rs.html
@@ -1,5 +1,6 @@
-iterator_ext.rs - source
-    
1
+iterator_ext.rs - source
+    
1
 2
 3
 4
diff --git a/src/storm/length.rs.html b/src/storm/length.rs.html
index da54d9ae..521ea0d2 100644
--- a/src/storm/length.rs.html
+++ b/src/storm/length.rs.html
@@ -1,5 +1,6 @@
-length.rs - source
-    
1
+length.rs - source
+    
1
 2
 3
 4
diff --git a/src/storm/lib.rs.html b/src/storm/lib.rs.html
index 9634fc55..c0adc93c 100644
--- a/src/storm/lib.rs.html
+++ b/src/storm/lib.rs.html
@@ -1,5 +1,6 @@
-lib.rs - source
-    
1
+lib.rs - source
+    
1
 2
 3
 4
diff --git a/src/storm/logs.rs.html b/src/storm/logs.rs.html
index 24d6b07b..6df7c0e2 100644
--- a/src/storm/logs.rs.html
+++ b/src/storm/logs.rs.html
@@ -1,5 +1,6 @@
-logs.rs - source
-    
1
+logs.rs - source
+    
1
 2
 3
 4
diff --git a/src/storm/mem/commit.rs.html b/src/storm/mem/commit.rs.html
index 2523d699..87a8d15d 100644
--- a/src/storm/mem/commit.rs.html
+++ b/src/storm/mem/commit.rs.html
@@ -1,5 +1,6 @@
-commit.rs - source
-    
1
+commit.rs - source
+    
1
 2
 3
 4
diff --git a/src/storm/mem/insert.rs.html b/src/storm/mem/insert.rs.html
index d27dd9f7..c0f6ea4f 100644
--- a/src/storm/mem/insert.rs.html
+++ b/src/storm/mem/insert.rs.html
@@ -1,5 +1,6 @@
-insert.rs - source
-    
1
+insert.rs - source
+    
1
 2
 3
 4
diff --git a/src/storm/mem/mod.rs.html b/src/storm/mem/mod.rs.html
index fbaf896e..cb6733f7 100644
--- a/src/storm/mem/mod.rs.html
+++ b/src/storm/mem/mod.rs.html
@@ -1,5 +1,6 @@
-mod.rs - source
-    
1
+mod.rs - source
+    
1
 2
 3
 4
diff --git a/src/storm/mem/remove.rs.html b/src/storm/mem/remove.rs.html
index c0fbb713..a3725a19 100644
--- a/src/storm/mem/remove.rs.html
+++ b/src/storm/mem/remove.rs.html
@@ -1,5 +1,6 @@
-remove.rs - source
-    
1
+remove.rs - source
+    
1
 2
 3
 4
diff --git a/src/storm/on_changed.rs.html b/src/storm/on_changed.rs.html
index 722edac4..fdc5eec8 100644
--- a/src/storm/on_changed.rs.html
+++ b/src/storm/on_changed.rs.html
@@ -1,5 +1,6 @@
-on_changed.rs - source
-    
1
+on_changed.rs - source
+    
1
 2
 3
 4
diff --git a/src/storm/on_remove.rs.html b/src/storm/on_remove.rs.html
index 5dde3525..26cb3a6c 100644
--- a/src/storm/on_remove.rs.html
+++ b/src/storm/on_remove.rs.html
@@ -1,5 +1,6 @@
-on_remove.rs - source
-    
1
+on_remove.rs - source
+    
1
 2
 3
 4
diff --git a/src/storm/one_to_many.rs.html b/src/storm/one_to_many.rs.html
index 22748a9c..5234eaa5 100644
--- a/src/storm/one_to_many.rs.html
+++ b/src/storm/one_to_many.rs.html
@@ -1,5 +1,6 @@
-one_to_many.rs - source
-    
1
+one_to_many.rs - source
+    
1
 2
 3
 4
diff --git a/src/storm/prelude.rs.html b/src/storm/prelude.rs.html
index 65d4a08d..2c52d41d 100644
--- a/src/storm/prelude.rs.html
+++ b/src/storm/prelude.rs.html
@@ -1,5 +1,6 @@
-prelude.rs - source
-    
1
+prelude.rs - source
+    
1
 2
 3
 4
diff --git a/src/storm/provider/cast_provider.rs.html b/src/storm/provider/cast_provider.rs.html
index ce64f7b1..7fdb4b92 100644
--- a/src/storm/provider/cast_provider.rs.html
+++ b/src/storm/provider/cast_provider.rs.html
@@ -1,5 +1,6 @@
-cast_provider.rs - source
-    
1
+cast_provider.rs - source
+    
1
 2
 3
 4
diff --git a/src/storm/provider/delete.rs.html b/src/storm/provider/delete.rs.html
index 72e53b90..c99d04c8 100644
--- a/src/storm/provider/delete.rs.html
+++ b/src/storm/provider/delete.rs.html
@@ -1,5 +1,6 @@
-delete.rs - source
-    
1
+delete.rs - source
+    
1
 2
 3
 4
diff --git a/src/storm/provider/load_all.rs.html b/src/storm/provider/load_all.rs.html
index 88eee59a..6f69c99f 100644
--- a/src/storm/provider/load_all.rs.html
+++ b/src/storm/provider/load_all.rs.html
@@ -1,5 +1,6 @@
-load_all.rs - source
-    
1
+load_all.rs - source
+    
1
 2
 3
 4
diff --git a/src/storm/provider/load_one.rs.html b/src/storm/provider/load_one.rs.html
index ce7cac7d..69ba963c 100644
--- a/src/storm/provider/load_one.rs.html
+++ b/src/storm/provider/load_one.rs.html
@@ -1,5 +1,6 @@
-load_one.rs - source
-    
1
+load_one.rs - source
+    
1
 2
 3
 4
diff --git a/src/storm/provider/mod.rs.html b/src/storm/provider/mod.rs.html
index 452c426d..b8761b85 100644
--- a/src/storm/provider/mod.rs.html
+++ b/src/storm/provider/mod.rs.html
@@ -1,5 +1,6 @@
-mod.rs - source
-    
1
+mod.rs - source
+    
1
 2
 3
 4
diff --git a/src/storm/provider/provider.rs.html b/src/storm/provider/provider.rs.html
index 9385f498..12fc3831 100644
--- a/src/storm/provider/provider.rs.html
+++ b/src/storm/provider/provider.rs.html
@@ -1,5 +1,6 @@
-provider.rs - source
-    
1
+provider.rs - source
+    
1
 2
 3
 4
diff --git a/src/storm/provider/provider_container.rs.html b/src/storm/provider/provider_container.rs.html
index 5cc945ba..84acc6f3 100644
--- a/src/storm/provider/provider_container.rs.html
+++ b/src/storm/provider/provider_container.rs.html
@@ -1,5 +1,6 @@
-provider_container.rs - source
-    
1
+provider_container.rs - source
+    
1
 2
 3
 4
diff --git a/src/storm/provider/provider_factory.rs.html b/src/storm/provider/provider_factory.rs.html
index 031e28a4..e8784b4e 100644
--- a/src/storm/provider/provider_factory.rs.html
+++ b/src/storm/provider/provider_factory.rs.html
@@ -1,5 +1,6 @@
-provider_factory.rs - source
-    
1
+provider_factory.rs - source
+    
1
 2
 3
 4
diff --git a/src/storm/provider/transaction_provider.rs.html b/src/storm/provider/transaction_provider.rs.html
index ba4adfe3..f4fd8b26 100644
--- a/src/storm/provider/transaction_provider.rs.html
+++ b/src/storm/provider/transaction_provider.rs.html
@@ -1,5 +1,6 @@
-transaction_provider.rs - source
-    
1
+transaction_provider.rs - source
+    
1
 2
 3
 4
diff --git a/src/storm/provider/upsert.rs.html b/src/storm/provider/upsert.rs.html
index 01267a13..dc28b297 100644
--- a/src/storm/provider/upsert.rs.html
+++ b/src/storm/provider/upsert.rs.html
@@ -1,5 +1,6 @@
-upsert.rs - source
-    
1
+upsert.rs - source
+    
1
 2
 3
 4
diff --git a/src/storm/remove.rs.html b/src/storm/remove.rs.html
index 6dfc19d0..0dad164f 100644
--- a/src/storm/remove.rs.html
+++ b/src/storm/remove.rs.html
@@ -1,5 +1,6 @@
-remove.rs - source
-    
1
+remove.rs - source
+    
1
 2
 3
 4
diff --git a/src/storm/state.rs.html b/src/storm/state.rs.html
index aee922f7..71ce4e7c 100644
--- a/src/storm/state.rs.html
+++ b/src/storm/state.rs.html
@@ -1,5 +1,6 @@
-state.rs - source
-    
1
+state.rs - source
+    
1
 2
 3
 4
diff --git a/src/storm/tag.rs.html b/src/storm/tag.rs.html
index cfb64003..c7ee654a 100644
--- a/src/storm/tag.rs.html
+++ b/src/storm/tag.rs.html
@@ -1,5 +1,6 @@
-tag.rs - source
-    
1
+tag.rs - source
+    
1
 2
 3
 4
diff --git a/src/storm/transaction.rs.html b/src/storm/transaction.rs.html
index 36c81038..f8697f95 100644
--- a/src/storm/transaction.rs.html
+++ b/src/storm/transaction.rs.html
@@ -1,5 +1,6 @@
-transaction.rs - source
-    
1
+transaction.rs - source
+    
1
 2
 3
 4
diff --git a/src/storm/vec_table.rs.html b/src/storm/vec_table.rs.html
index d6fcd63a..cf8770bc 100644
--- a/src/storm/vec_table.rs.html
+++ b/src/storm/vec_table.rs.html
@@ -1,5 +1,6 @@
-vec_table.rs - source
-    
1
+vec_table.rs - source
+    
1
 2
 3
 4
diff --git a/src/storm/version_deps.rs.html b/src/storm/version_deps.rs.html
index de763809..28d8cbe2 100644
--- a/src/storm/version_deps.rs.html
+++ b/src/storm/version_deps.rs.html
@@ -1,5 +1,6 @@
-version_deps.rs - source
-    
1
+version_deps.rs - source
+    
1
 2
 3
 4
diff --git a/src/storm_derive/ctx.rs.html b/src/storm_derive/ctx.rs.html
index 21424da1..53aabfe9 100644
--- a/src/storm_derive/ctx.rs.html
+++ b/src/storm_derive/ctx.rs.html
@@ -1,5 +1,6 @@
-ctx.rs - source
-    
1
+ctx.rs - source
+    
1
 2
 3
 4
diff --git a/src/storm_derive/derive_input_ext.rs.html b/src/storm_derive/derive_input_ext.rs.html
index 59681224..55ece3ed 100644
--- a/src/storm_derive/derive_input_ext.rs.html
+++ b/src/storm_derive/derive_input_ext.rs.html
@@ -1,5 +1,6 @@
-derive_input_ext.rs - source
-    
1
+derive_input_ext.rs - source
+    
1
 2
 3
 4
diff --git a/src/storm_derive/errors.rs.html b/src/storm_derive/errors.rs.html
index c163798c..85e348a8 100644
--- a/src/storm_derive/errors.rs.html
+++ b/src/storm_derive/errors.rs.html
@@ -1,5 +1,6 @@
-errors.rs - source
-    
1
+errors.rs - source
+    
1
 2
 3
 4
diff --git a/src/storm_derive/field_ext.rs.html b/src/storm_derive/field_ext.rs.html
index ce999669..547c7af6 100644
--- a/src/storm_derive/field_ext.rs.html
+++ b/src/storm_derive/field_ext.rs.html
@@ -1,5 +1,6 @@
-field_ext.rs - source
-    
1
+field_ext.rs - source
+    
1
 2
 3
 4
diff --git a/src/storm_derive/indexing.rs.html b/src/storm_derive/indexing.rs.html
index 169db2c7..64f6710b 100644
--- a/src/storm_derive/indexing.rs.html
+++ b/src/storm_derive/indexing.rs.html
@@ -1,5 +1,6 @@
-indexing.rs - source
-    
1
+indexing.rs - source
+    
1
 2
 3
 4
diff --git a/src/storm_derive/lib.rs.html b/src/storm_derive/lib.rs.html
index 50cc1b00..21acfa94 100644
--- a/src/storm_derive/lib.rs.html
+++ b/src/storm_derive/lib.rs.html
@@ -1,5 +1,6 @@
-lib.rs - source
-    
1
+lib.rs - source
+    
1
 2
 3
 4
diff --git a/src/storm_derive/locks_await.rs.html b/src/storm_derive/locks_await.rs.html
index 63bc097a..2a704db3 100644
--- a/src/storm_derive/locks_await.rs.html
+++ b/src/storm_derive/locks_await.rs.html
@@ -1,5 +1,6 @@
-locks_await.rs - source
-    
1
+locks_await.rs - source
+    
1
 2
 3
 4
diff --git a/src/storm_derive/macros.rs.html b/src/storm_derive/macros.rs.html
index cb4e7f78..880309c0 100644
--- a/src/storm_derive/macros.rs.html
+++ b/src/storm_derive/macros.rs.html
@@ -1,5 +1,6 @@
-macros.rs - source
-    
1
+macros.rs - source
+    
1
 2
 3
 4
diff --git a/src/storm_derive/mssql/attrs.rs.html b/src/storm_derive/mssql/attrs.rs.html
index 26bb36ad..5cb4c92c 100644
--- a/src/storm_derive/mssql/attrs.rs.html
+++ b/src/storm_derive/mssql/attrs.rs.html
@@ -1,5 +1,6 @@
-attrs.rs - source
-    
1
+attrs.rs - source
+    
1
 2
 3
 4
@@ -256,6 +257,9 @@
 255
 256
 257
+258
+259
+260
 
use crate::rename_all::RenameAll;
 use darling::{util::SpannedValue, FromDeriveInput, FromField};
 use proc_macro2::{Span, TokenStream};
@@ -270,6 +274,9 @@
     #[darling(default)]
     pub load_with: SpannedValue<Option<Ident>>,
 
+    #[darling(default)]
+    pub max_length: usize,
+
     #[darling(default)]
     pub part: bool,
 
diff --git a/src/storm_derive/mssql/builders.rs.html b/src/storm_derive/mssql/builders.rs.html
index b815b977..861c3970 100644
--- a/src/storm_derive/mssql/builders.rs.html
+++ b/src/storm_derive/mssql/builders.rs.html
@@ -1,5 +1,6 @@
-builders.rs - source
-    
1
+builders.rs - source
+    
1
 2
 3
 4
diff --git a/src/storm_derive/mssql/delete.rs.html b/src/storm_derive/mssql/delete.rs.html
index 4d2a9de9..21ad6eb4 100644
--- a/src/storm_derive/mssql/delete.rs.html
+++ b/src/storm_derive/mssql/delete.rs.html
@@ -1,5 +1,6 @@
-delete.rs - source
-    
1
+delete.rs - source
+    
1
 2
 3
 4
diff --git a/src/storm_derive/mssql/load_fields.rs.html b/src/storm_derive/mssql/load_fields.rs.html
index d65d40ae..864a107b 100644
--- a/src/storm_derive/mssql/load_fields.rs.html
+++ b/src/storm_derive/mssql/load_fields.rs.html
@@ -1,5 +1,6 @@
-load_fields.rs - source
-    
1
+load_fields.rs - source
+    
1
 2
 3
 4
diff --git a/src/storm_derive/mssql/load_translated.rs.html b/src/storm_derive/mssql/load_translated.rs.html
index bdc7d570..341c7bb3 100644
--- a/src/storm_derive/mssql/load_translated.rs.html
+++ b/src/storm_derive/mssql/load_translated.rs.html
@@ -1,5 +1,6 @@
-load_translated.rs - source
-    
1
+load_translated.rs - source
+    
1
 2
 3
 4
diff --git a/src/storm_derive/mssql/mod.rs.html b/src/storm_derive/mssql/mod.rs.html
index 97e8fabf..1e7ec08d 100644
--- a/src/storm_derive/mssql/mod.rs.html
+++ b/src/storm_derive/mssql/mod.rs.html
@@ -1,5 +1,6 @@
-mod.rs - source
-    
1
+mod.rs - source
+    
1
 2
 3
 4
@@ -504,6 +505,41 @@
 503
 504
 505
+506
+507
+508
+509
+510
+511
+512
+513
+514
+515
+516
+517
+518
+519
+520
+521
+522
+523
+524
+525
+526
+527
+528
+529
+530
+531
+532
+533
+534
+535
+536
+537
+538
+539
+540
 
mod attrs;
 mod builders;
 mod delete;
@@ -560,11 +596,7 @@
         Span::call_site(),
     );
 
-    let load_test = Ident::new(
-        &format!("test_{}_load", ident.to_string().to_snake_case()),
-        ident.span(),
-    );
-
+    let no_test = attrs.no_test;
     let mut diff = attrs.diff.then(Vec::new);
     let mut errors = Vec::new();
     let mut filter_sql = FilterSqlImpl::default();
@@ -573,6 +605,8 @@
     let table_name = LitStr::new(&attrs.table, attrs.table.span());
     let translated_table_name = LitStr::new(&attrs.translate_table, attrs.translate_table.span());
     let enum_fields_ident = Ident::new(&format!("{ident}Fields"), ident.span());
+    let mut max_lengths = Vec::new();
+    let mut check_entity_fields = Vec::new();
 
     for key in attrs.keys(&mut errors) {
         filter_sql.add_filter(key);
@@ -588,9 +622,9 @@
 
         attrs.validate_load(&mut errors);
 
-        if is_translated(&field.ty) {
-            let column = continue_ts!(RenameAll::column(rename_all, &attrs.column, field), errors);
+        let column = continue_ts!(RenameAll::column(rename_all, &attrs.column, field), errors);
 
+        if is_translated(&field.ty) {
             load.skip_field(field, &attrs, &mut errors);
             translated.add_field(field, &column);
 
@@ -598,13 +632,24 @@
                 load_diff_field(&mut diff, field_ident, &enum_fields_ident);
             }
         } else {
-            let column = continue_ts!(RenameAll::column(rename_all, &attrs.column, field), errors);
             load.add_field(field, &attrs, &column);
 
             if !attrs.skip_save() && !attrs.skip_diff() {
                 load_diff_field(&mut diff, field_ident, &enum_fields_ident);
             }
         }
+
+        if attrs.max_length > 0 {
+            let column_lit = LitStr::new(&column, ident.span());
+            let const_field_name = Ident::new(&format!("{field_ident}_MAX_LENGTH").to_screaming_snake_case(), field_ident.span());
+            let max_length = LitInt::new(&attrs.max_length.to_string(), field_ident.span());
+
+            max_lengths.push(quote! { pub const #const_field_name: usize = #max_length; });
+
+            if !no_test {
+                check_entity_fields.push(quote! { (#column_lit, #max_length) });
+            }
+        }
     }
 
     try_ts!(errors.result());
@@ -612,10 +657,33 @@
     let translated_where = translated.to_where_clause();
     let provider = attrs.provider();
     let diff = apply_entity_diff(diff, ident);
+    let max_lengths = if max_lengths.is_empty() { quote! {} } else { quote! { impl #ident { #(#max_lengths)* } } };
 
-    let test = if attrs.no_test {
+    let check_entity_fields = if check_entity_fields.is_empty() {
+        quote! {}
+    } else {
+        let check_entity_test = Ident::new(
+            &format!("test_{}_entity", ident.to_string().to_snake_case()),
+            ident.span(),
+        );
+
+        quote! {
+            #[cfg(test)]
+            #[tokio::test]
+            async fn #check_entity_test() {
+                storm_mssql::test_entity(#provider, #table_name, #translated_table_name, &[#(#check_entity_fields),*]).await;
+            }
+        }
+    };
+
+    let test = if no_test {
         quote!()
     } else {
+        let load_test = Ident::new(
+            &format!("test_{}_load", ident.to_string().to_snake_case()),
+            ident.span(),
+        );
+
         quote! {
             #[cfg(test)]
             #[tokio::test]
@@ -624,6 +692,8 @@
                 storm::tri!(storm::provider::LoadAll::<#ident, _, storm::provider::LoadNothing>::load_all(&provider, &()).await);
                 Ok(())
             }
+
+            #check_entity_fields
         }
     };
 
@@ -666,6 +736,7 @@
             const TRANSLATED_TABLE: &'static str = #translated_table_name;
         }
 
+        #max_lengths
         #diff
         #test
     }
diff --git a/src/storm_derive/mssql/save_translated.rs.html b/src/storm_derive/mssql/save_translated.rs.html
index e5c2612a..92e15150 100644
--- a/src/storm_derive/mssql/save_translated.rs.html
+++ b/src/storm_derive/mssql/save_translated.rs.html
@@ -1,5 +1,6 @@
-save_translated.rs - source
-    
1
+save_translated.rs - source
+    
1
 2
 3
 4
diff --git a/src/storm_derive/noop.rs.html b/src/storm_derive/noop.rs.html
index 715253fc..114bef51 100644
--- a/src/storm_derive/noop.rs.html
+++ b/src/storm_derive/noop.rs.html
@@ -1,5 +1,6 @@
-noop.rs - source
-    
1
+noop.rs - source
+    
1
 2
 3
 4
diff --git a/src/storm_derive/rename_all.rs.html b/src/storm_derive/rename_all.rs.html
index 82ceb830..3a7f390b 100644
--- a/src/storm_derive/rename_all.rs.html
+++ b/src/storm_derive/rename_all.rs.html
@@ -1,5 +1,6 @@
-rename_all.rs - source
-    
1
+rename_all.rs - source
+    
1
 2
 3
 4
diff --git a/src/storm_derive/string_ext.rs.html b/src/storm_derive/string_ext.rs.html
index 56c5ad8e..a6870b0a 100644
--- a/src/storm_derive/string_ext.rs.html
+++ b/src/storm_derive/string_ext.rs.html
@@ -1,5 +1,6 @@
-string_ext.rs - source
-    
1
+string_ext.rs - source
+    
1
 2
 3
 4
diff --git a/src/storm_derive/token_stream_ext.rs.html b/src/storm_derive/token_stream_ext.rs.html
index cfa90801..7d4a7700 100644
--- a/src/storm_derive/token_stream_ext.rs.html
+++ b/src/storm_derive/token_stream_ext.rs.html
@@ -1,5 +1,6 @@
-token_stream_ext.rs - source
-    
1
+token_stream_ext.rs - source
+    
1
 2
 3
 4
diff --git a/src/storm_derive/type_ext.rs.html b/src/storm_derive/type_ext.rs.html
index 6a1bf4b6..ea4492a7 100644
--- a/src/storm_derive/type_ext.rs.html
+++ b/src/storm_derive/type_ext.rs.html
@@ -1,5 +1,6 @@
-type_ext.rs - source
-    
1
+type_ext.rs - source
+    
1
 2
 3
 4
diff --git a/src/storm_mssql/client_factory.rs.html b/src/storm_mssql/client_factory.rs.html
index 6172b2e5..761f0c51 100644
--- a/src/storm_mssql/client_factory.rs.html
+++ b/src/storm_mssql/client_factory.rs.html
@@ -1,5 +1,6 @@
-client_factory.rs - source
-    
1
+client_factory.rs - source
+    
1
 2
 3
 4
diff --git a/src/storm_mssql/entity_diff.rs.html b/src/storm_mssql/entity_diff.rs.html
index 18c0dd22..8e394031 100644
--- a/src/storm_mssql/entity_diff.rs.html
+++ b/src/storm_mssql/entity_diff.rs.html
@@ -1,5 +1,6 @@
-entity_diff.rs - source
-    
1
+entity_diff.rs - source
+    
1
 2
 3
 4
diff --git a/src/storm_mssql/execute.rs.html b/src/storm_mssql/execute.rs.html
index 2058f1e1..061e01e5 100644
--- a/src/storm_mssql/execute.rs.html
+++ b/src/storm_mssql/execute.rs.html
@@ -1,5 +1,6 @@
-execute.rs - source
-    
1
+execute.rs - source
+    
1
 2
 3
 4
diff --git a/src/storm_mssql/field_diff.rs.html b/src/storm_mssql/field_diff.rs.html
index 9b833b26..170504ab 100644
--- a/src/storm_mssql/field_diff.rs.html
+++ b/src/storm_mssql/field_diff.rs.html
@@ -1,5 +1,6 @@
-field_diff.rs - source
-    
1
+field_diff.rs - source
+    
1
 2
 3
 4
diff --git a/src/storm_mssql/filter_sql.rs.html b/src/storm_mssql/filter_sql.rs.html
index de20bbaa..87f715b7 100644
--- a/src/storm_mssql/filter_sql.rs.html
+++ b/src/storm_mssql/filter_sql.rs.html
@@ -1,5 +1,6 @@
-filter_sql.rs - source
-    
1
+filter_sql.rs - source
+    
1
 2
 3
 4
diff --git a/src/storm_mssql/from_sql.rs.html b/src/storm_mssql/from_sql.rs.html
index ea416654..ca45bb9f 100644
--- a/src/storm_mssql/from_sql.rs.html
+++ b/src/storm_mssql/from_sql.rs.html
@@ -1,5 +1,6 @@
-from_sql.rs - source
-    
1
+from_sql.rs - source
+    
1
 2
 3
 4
diff --git a/src/storm_mssql/lib.rs.html b/src/storm_mssql/lib.rs.html
index 940d9ba2..81f72725 100644
--- a/src/storm_mssql/lib.rs.html
+++ b/src/storm_mssql/lib.rs.html
@@ -1,5 +1,6 @@
-lib.rs - source
-    
1
+lib.rs - source
+    
1
 2
 3
 4
@@ -47,6 +48,77 @@
 46
 47
 48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+98
+99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
 
mod client_factory;
 mod entity_diff;
 mod execute;
@@ -65,6 +137,9 @@
 mod transaction_scoped;
 mod upsert_builder;
 
+
+use std::pin::Pin;
+
 pub use client_factory::ClientFactory;
 pub use entity_diff::*;
 pub use execute::*;
@@ -84,6 +159,7 @@
 pub use to_sql::{ToSql, ToSqlNull};
 pub use transaction_scoped::TransactionScoped;
 pub use upsert_builder::UpsertBuilder;
+use std::future::Future;
 
 pub type Client = tiberius::Client<tokio_util::compat::Compat<tokio::net::TcpStream>>;
 
@@ -95,4 +171,71 @@
 
     Ok(container)
 }
+
+type MaxLength = usize;
+
+#[doc(hidden)]
+pub fn test_entity<'a>(provider: &'a str, table: &'a str, translated_table: &'a str, expected: &'a [(&'a str, MaxLength)]) -> Pin<Box<dyn Future<Output = ()> + 'a>> {
+    Box::pin(async move {
+        let container = crate::create_provider_container_from_env("DB", provider).expect("container");
+        let provider = container.provide::<MssqlProvider>(provider).await.expect("provider");
+        
+
+        fn split_table_schema(table: &str) -> (&str, &str) {
+            let mut iter = table.split(".").map(|s| s.trim_matches('[').trim_matches(']')).filter(|s| !s.is_empty());
+
+            match (iter.next(), iter.next()) {
+                (None, Some(t)) | (Some(t), None) => ("dbo", t),
+                (Some(s), Some(t)) => (s, t),
+                _ => panic!("table invalid"),
+            }
+        }
+
+        let (schema1, table1) = split_table_schema(table);
+        let (schema2, table2) = if translated_table.is_empty() { ("dbo", table1) } else { split_table_schema(translated_table) };
+
+        let sql = r"
+        SELECT
+            c.[name],
+            CAST(c.max_length as int),
+            CAST((CASE WHEN c.system_type_id IN (99, 231, 239) THEN 1 ELSE 0 END) as BIT) IsNChar
+        FROM
+            sys.all_columns c
+            INNER JOIN sys.tables t
+            ON c.object_id = t.object_id
+        WHERE
+            (t.name = @P1 AND t.schema_id = SCHEMA_ID(@P2))
+            OR (t.name = @P3 AND t.schema_id = SCHEMA_ID(@P4))";
+
+        let mut actual: Vec<(String, i32)> = provider.query_rows(sql.to_string(), &[&table1, &schema1, &table2, &schema2], |row| {
+            let is_nchar = row.get::<bool, _>(2).unwrap_or_default();
+            let nchar_div = if is_nchar { 2 } else { 1 };
+            let mut max_length = row.get::<i32, _>(1).unwrap_or_default() / nchar_div;
+
+            if max_length == -1 {
+                max_length = 0
+            }
+
+            Ok((
+                row.get::<&str, _>(0).unwrap_or_default().to_lowercase(),
+                max_length,
+            ))
+        }, false).await.expect("rows");
+
+        actual.sort_unstable_by(|a, b| a.0.cmp(&b.0));
+
+        for expected in expected {
+            let n = expected.0.to_lowercase();
+            let n = n.trim_matches('[').trim_matches(']');
+
+            let Some(actual) = actual.iter().find(|t| t.0 == n) else {
+                panic!("column {n} not found");
+            };
+
+            if expected.1 > 0 && expected.1 as i32 != actual.1 {
+                panic!("field maxlength {} differ, actual: {}, expected: {}", &expected.0, actual.1, expected.1);
+            }
+        }
+    })
+}
 
\ No newline at end of file diff --git a/src/storm_mssql/metrics_helper.rs.html b/src/storm_mssql/metrics_helper.rs.html index 705fb586..99c79675 100644 --- a/src/storm_mssql/metrics_helper.rs.html +++ b/src/storm_mssql/metrics_helper.rs.html @@ -1,5 +1,6 @@ -metrics_helper.rs - source -
1
+metrics_helper.rs - source
+    
1
 2
 3
 4
diff --git a/src/storm_mssql/mssql_factory.rs.html b/src/storm_mssql/mssql_factory.rs.html
index 9748c6f6..e8184a5a 100644
--- a/src/storm_mssql/mssql_factory.rs.html
+++ b/src/storm_mssql/mssql_factory.rs.html
@@ -1,5 +1,6 @@
-mssql_factory.rs - source
-    
1
+mssql_factory.rs - source
+    
1
 2
 3
 4
diff --git a/src/storm_mssql/mssql_meta.rs.html b/src/storm_mssql/mssql_meta.rs.html
index b36ec53d..2acbad28 100644
--- a/src/storm_mssql/mssql_meta.rs.html
+++ b/src/storm_mssql/mssql_meta.rs.html
@@ -1,5 +1,6 @@
-mssql_meta.rs - source
-    
1
+mssql_meta.rs - source
+    
1
 2
 3
 4
diff --git a/src/storm_mssql/mssql_provider.rs.html b/src/storm_mssql/mssql_provider.rs.html
index 5ea5fe81..096e7373 100644
--- a/src/storm_mssql/mssql_provider.rs.html
+++ b/src/storm_mssql/mssql_provider.rs.html
@@ -1,5 +1,6 @@
-mssql_provider.rs - source
-    
1
+mssql_provider.rs - source
+    
1
 2
 3
 4
diff --git a/src/storm_mssql/parameter.rs.html b/src/storm_mssql/parameter.rs.html
index b73f7c77..cccce7a7 100644
--- a/src/storm_mssql/parameter.rs.html
+++ b/src/storm_mssql/parameter.rs.html
@@ -1,5 +1,6 @@
-parameter.rs - source
-    
1
+parameter.rs - source
+    
1
 2
 3
 4
diff --git a/src/storm_mssql/query_rows.rs.html b/src/storm_mssql/query_rows.rs.html
index 0c50c3b7..d4d39d1f 100644
--- a/src/storm_mssql/query_rows.rs.html
+++ b/src/storm_mssql/query_rows.rs.html
@@ -1,5 +1,6 @@
-query_rows.rs - source
-    
1
+query_rows.rs - source
+    
1
 2
 3
 4
diff --git a/src/storm_mssql/save_entity_part.rs.html b/src/storm_mssql/save_entity_part.rs.html
index 30f545c3..997746b7 100644
--- a/src/storm_mssql/save_entity_part.rs.html
+++ b/src/storm_mssql/save_entity_part.rs.html
@@ -1,5 +1,6 @@
-save_entity_part.rs - source
-    
1
+save_entity_part.rs - source
+    
1
 2
 3
 4
diff --git a/src/storm_mssql/to_sql.rs.html b/src/storm_mssql/to_sql.rs.html
index 3cb96ff0..c012cb1e 100644
--- a/src/storm_mssql/to_sql.rs.html
+++ b/src/storm_mssql/to_sql.rs.html
@@ -1,5 +1,6 @@
-to_sql.rs - source
-    
1
+to_sql.rs - source
+    
1
 2
 3
 4
diff --git a/src/storm_mssql/transaction_scoped.rs.html b/src/storm_mssql/transaction_scoped.rs.html
index 31a99ae2..0ebd6b3f 100644
--- a/src/storm_mssql/transaction_scoped.rs.html
+++ b/src/storm_mssql/transaction_scoped.rs.html
@@ -1,5 +1,6 @@
-transaction_scoped.rs - source
-    
1
+transaction_scoped.rs - source
+    
1
 2
 3
 4
diff --git a/src/storm_mssql/upsert_builder.rs.html b/src/storm_mssql/upsert_builder.rs.html
index a6e23654..47b9da92 100644
--- a/src/storm_mssql/upsert_builder.rs.html
+++ b/src/storm_mssql/upsert_builder.rs.html
@@ -1,5 +1,6 @@
-upsert_builder.rs - source
-    
1
+upsert_builder.rs - source
+    
1
 2
 3
 4
diff --git a/static.files/main-48f368f3872407c8.js b/static.files/main-48f368f3872407c8.js
new file mode 100644
index 00000000..987fae42
--- /dev/null
+++ b/static.files/main-48f368f3872407c8.js
@@ -0,0 +1,11 @@
+"use strict";window.RUSTDOC_TOOLTIP_HOVER_MS=300;window.RUSTDOC_TOOLTIP_HOVER_EXIT_MS=450;function resourcePath(basename,extension){return getVar("root-path")+basename+getVar("resource-suffix")+extension}function hideMain(){addClass(document.getElementById(MAIN_ID),"hidden")}function showMain(){removeClass(document.getElementById(MAIN_ID),"hidden")}function blurHandler(event,parentElem,hideCallback){if(!parentElem.contains(document.activeElement)&&!parentElem.contains(event.relatedTarget)){hideCallback()}}window.rootPath=getVar("root-path");window.currentCrate=getVar("current-crate");function setMobileTopbar(){const mobileTopbar=document.querySelector(".mobile-topbar");const locationTitle=document.querySelector(".sidebar h2.location");if(mobileTopbar){const mobileTitle=document.createElement("h2");mobileTitle.className="location";if(hasClass(document.querySelector(".rustdoc"),"crate")){mobileTitle.innerText=`Crate ${window.currentCrate}`}else if(locationTitle){mobileTitle.innerHTML=locationTitle.innerHTML}mobileTopbar.appendChild(mobileTitle)}}function getVirtualKey(ev){if("key"in ev&&typeof ev.key!=="undefined"){return ev.key}const c=ev.charCode||ev.keyCode;if(c===27){return"Escape"}return String.fromCharCode(c)}const MAIN_ID="main-content";const SETTINGS_BUTTON_ID="settings-menu";const ALTERNATIVE_DISPLAY_ID="alternative-display";const NOT_DISPLAYED_ID="not-displayed";const HELP_BUTTON_ID="help-button";function getSettingsButton(){return document.getElementById(SETTINGS_BUTTON_ID)}function getHelpButton(){return document.getElementById(HELP_BUTTON_ID)}function getNakedUrl(){return window.location.href.split("?")[0].split("#")[0]}function insertAfter(newNode,referenceNode){referenceNode.parentNode.insertBefore(newNode,referenceNode.nextSibling)}function getOrCreateSection(id,classes){let el=document.getElementById(id);if(!el){el=document.createElement("section");el.id=id;el.className=classes;insertAfter(el,document.getElementById(MAIN_ID))}return el}function getAlternativeDisplayElem(){return getOrCreateSection(ALTERNATIVE_DISPLAY_ID,"content hidden")}function getNotDisplayedElem(){return getOrCreateSection(NOT_DISPLAYED_ID,"hidden")}function switchDisplayedElement(elemToDisplay){const el=getAlternativeDisplayElem();if(el.children.length>0){getNotDisplayedElem().appendChild(el.firstElementChild)}if(elemToDisplay===null){addClass(el,"hidden");showMain();return}el.appendChild(elemToDisplay);hideMain();removeClass(el,"hidden")}function browserSupportsHistoryApi(){return window.history&&typeof window.history.pushState==="function"}function preLoadCss(cssUrl){const link=document.createElement("link");link.href=cssUrl;link.rel="preload";link.as="style";document.getElementsByTagName("head")[0].appendChild(link)}(function(){const isHelpPage=window.location.pathname.endsWith("/help.html");function loadScript(url){const script=document.createElement("script");script.src=url;document.head.append(script)}getSettingsButton().onclick=event=>{if(event.ctrlKey||event.altKey||event.metaKey){return}window.hideAllModals(false);addClass(getSettingsButton(),"rotate");event.preventDefault();loadScript(getVar("static-root-path")+getVar("settings-js"));setTimeout(()=>{const themes=getVar("themes").split(",");for(const theme of themes){if(theme!==""){preLoadCss(getVar("root-path")+theme+".css")}}},0)};window.searchState={loadingText:"Loading search results...",input:document.getElementsByClassName("search-input")[0],outputElement:()=>{let el=document.getElementById("search");if(!el){el=document.createElement("section");el.id="search";getNotDisplayedElem().appendChild(el)}return el},title:document.title,titleBeforeSearch:document.title,timeout:null,currentTab:0,focusedByTab:[null,null,null],clearInputTimeout:()=>{if(searchState.timeout!==null){clearTimeout(searchState.timeout);searchState.timeout=null}},isDisplayed:()=>searchState.outputElement().parentElement.id===ALTERNATIVE_DISPLAY_ID,focus:()=>{searchState.input.focus()},defocus:()=>{searchState.input.blur()},showResults:search=>{if(search===null||typeof search==="undefined"){search=searchState.outputElement()}switchDisplayedElement(search);searchState.mouseMovedAfterSearch=false;document.title=searchState.title},removeQueryParameters:()=>{document.title=searchState.titleBeforeSearch;if(browserSupportsHistoryApi()){history.replaceState(null,"",getNakedUrl()+window.location.hash)}},hideResults:()=>{switchDisplayedElement(null);searchState.removeQueryParameters()},getQueryStringParams:()=>{const params={};window.location.search.substring(1).split("&").map(s=>{const pair=s.split("=").map(x=>x.replace(/\+/g," "));params[decodeURIComponent(pair[0])]=typeof pair[1]==="undefined"?null:decodeURIComponent(pair[1])});return params},setup:()=>{const search_input=searchState.input;if(!searchState.input){return}let searchLoaded=false;function loadSearch(){if(!searchLoaded){searchLoaded=true;loadScript(getVar("static-root-path")+getVar("search-js"));loadScript(resourcePath("search-index",".js"))}}search_input.addEventListener("focus",()=>{search_input.origPlaceholder=search_input.placeholder;search_input.placeholder="Type your search here.";loadSearch()});if(search_input.value!==""){loadSearch()}const params=searchState.getQueryStringParams();if(params.search!==undefined){searchState.setLoadingSearch();loadSearch()}},setLoadingSearch:()=>{const search=searchState.outputElement();search.innerHTML="

"+searchState.loadingText+"

";searchState.showResults(search)},};const toggleAllDocsId="toggle-all-docs";let savedHash="";function handleHashes(ev){if(ev!==null&&searchState.isDisplayed()&&ev.newURL){switchDisplayedElement(null);const hash=ev.newURL.slice(ev.newURL.indexOf("#")+1);if(browserSupportsHistoryApi()){history.replaceState(null,"",getNakedUrl()+window.location.search+"#"+hash)}const elem=document.getElementById(hash);if(elem){elem.scrollIntoView()}}const pageId=window.location.hash.replace(/^#/,"");if(savedHash!==pageId){savedHash=pageId;if(pageId!==""){expandSection(pageId)}}if(savedHash.startsWith("impl-")){const splitAt=savedHash.indexOf("/");if(splitAt!==-1){const implId=savedHash.slice(0,splitAt);const assocId=savedHash.slice(splitAt+1);const implElem=document.getElementById(implId);if(implElem&&implElem.parentElement.tagName==="SUMMARY"&&implElem.parentElement.parentElement.tagName==="DETAILS"){onEachLazy(implElem.parentElement.parentElement.querySelectorAll(`[id^="${assocId}"]`),item=>{const numbered=/([^-]+)-([0-9]+)/.exec(item.id);if(item.id===assocId||(numbered&&numbered[1]===assocId)){openParentDetails(item);item.scrollIntoView();setTimeout(()=>{window.location.replace("#"+item.id)},0)}})}}}}function onHashChange(ev){hideSidebar();handleHashes(ev)}function openParentDetails(elem){while(elem){if(elem.tagName==="DETAILS"){elem.open=true}elem=elem.parentNode}}function expandSection(id){openParentDetails(document.getElementById(id))}function handleEscape(ev){searchState.clearInputTimeout();searchState.hideResults();ev.preventDefault();searchState.defocus();window.hideAllModals(true)}function handleShortcut(ev){const disableShortcuts=getSettingValue("disable-shortcuts")==="true";if(ev.ctrlKey||ev.altKey||ev.metaKey||disableShortcuts){return}if(document.activeElement.tagName==="INPUT"&&document.activeElement.type!=="checkbox"&&document.activeElement.type!=="radio"){switch(getVirtualKey(ev)){case"Escape":handleEscape(ev);break}}else{switch(getVirtualKey(ev)){case"Escape":handleEscape(ev);break;case"s":case"S":ev.preventDefault();searchState.focus();break;case"+":ev.preventDefault();expandAllDocs();break;case"-":ev.preventDefault();collapseAllDocs();break;case"?":showHelp();break;default:break}}}document.addEventListener("keypress",handleShortcut);document.addEventListener("keydown",handleShortcut);function addSidebarItems(){if(!window.SIDEBAR_ITEMS){return}const sidebar=document.getElementsByClassName("sidebar-elems")[0];function block(shortty,id,longty){const filtered=window.SIDEBAR_ITEMS[shortty];if(!filtered){return}const modpath=hasClass(document.querySelector(".rustdoc"),"mod")?"../":"";const h3=document.createElement("h3");h3.innerHTML=`${longty}`;const ul=document.createElement("ul");ul.className="block "+shortty;for(const name of filtered){let path;if(shortty==="mod"){path=`${modpath}${name}/index.html`}else{path=`${modpath}${shortty}.${name}.html`}let current_page=document.location.href.toString();if(current_page.endsWith("/")){current_page+="index.html"}const link=document.createElement("a");link.href=path;if(path===current_page){link.className="current"}link.textContent=name;const li=document.createElement("li");li.appendChild(link);ul.appendChild(li)}sidebar.appendChild(h3);sidebar.appendChild(ul)}if(sidebar){block("primitive","primitives","Primitive Types");block("mod","modules","Modules");block("macro","macros","Macros");block("struct","structs","Structs");block("enum","enums","Enums");block("constant","constants","Constants");block("static","static","Statics");block("trait","traits","Traits");block("fn","functions","Functions");block("type","types","Type Aliases");block("union","unions","Unions");block("foreigntype","foreign-types","Foreign Types");block("keyword","keywords","Keywords");block("opaque","opaque-types","Opaque Types");block("attr","attributes","Attribute Macros");block("derive","derives","Derive Macros");block("traitalias","trait-aliases","Trait Aliases")}}window.register_implementors=imp=>{const implementors=document.getElementById("implementors-list");const synthetic_implementors=document.getElementById("synthetic-implementors-list");const inlined_types=new Set();const TEXT_IDX=0;const SYNTHETIC_IDX=1;const TYPES_IDX=2;if(synthetic_implementors){onEachLazy(synthetic_implementors.getElementsByClassName("impl"),el=>{const aliases=el.getAttribute("data-aliases");if(!aliases){return}aliases.split(",").forEach(alias=>{inlined_types.add(alias)})})}let currentNbImpls=implementors.getElementsByClassName("impl").length;const traitName=document.querySelector(".main-heading h1 > .trait").textContent;const baseIdName="impl-"+traitName+"-";const libs=Object.getOwnPropertyNames(imp);const script=document.querySelector("script[data-ignore-extern-crates]");const ignoreExternCrates=new Set((script?script.getAttribute("data-ignore-extern-crates"):"").split(","));for(const lib of libs){if(lib===window.currentCrate||ignoreExternCrates.has(lib)){continue}const structs=imp[lib];struct_loop:for(const struct of structs){const list=struct[SYNTHETIC_IDX]?synthetic_implementors:implementors;if(struct[SYNTHETIC_IDX]){for(const struct_type of struct[TYPES_IDX]){if(inlined_types.has(struct_type)){continue struct_loop}inlined_types.add(struct_type)}}const code=document.createElement("h3");code.innerHTML=struct[TEXT_IDX];addClass(code,"code-header");onEachLazy(code.getElementsByTagName("a"),elem=>{const href=elem.getAttribute("href");if(href&&!href.startsWith("#")&&!/^(?:[a-z+]+:)?\/\//.test(href)){elem.setAttribute("href",window.rootPath+href)}});const currentId=baseIdName+currentNbImpls;const anchor=document.createElement("a");anchor.href="#"+currentId;addClass(anchor,"anchor");const display=document.createElement("div");display.id=currentId;addClass(display,"impl");display.appendChild(anchor);display.appendChild(code);list.appendChild(display);currentNbImpls+=1}}};if(window.pending_implementors){window.register_implementors(window.pending_implementors)}window.register_type_impls=imp=>{if(!imp||!imp[window.currentCrate]){return}window.pending_type_impls=null;const idMap=new Map();let implementations=document.getElementById("implementations-list");let trait_implementations=document.getElementById("trait-implementations-list");let trait_implementations_header=document.getElementById("trait-implementations");const script=document.querySelector("script[data-self-path]");const selfPath=script?script.getAttribute("data-self-path"):null;const mainContent=document.querySelector("#main-content");const sidebarSection=document.querySelector(".sidebar section");let methods=document.querySelector(".sidebar .block.method");let associatedTypes=document.querySelector(".sidebar .block.associatedtype");let associatedConstants=document.querySelector(".sidebar .block.associatedconstant");let sidebarTraitList=document.querySelector(".sidebar .block.trait-implementation");for(const impList of imp[window.currentCrate]){const types=impList.slice(2);const text=impList[0];const isTrait=impList[1]!==0;const traitName=impList[1];if(types.indexOf(selfPath)===-1){continue}let outputList=isTrait?trait_implementations:implementations;if(outputList===null){const outputListName=isTrait?"Trait Implementations":"Implementations";const outputListId=isTrait?"trait-implementations-list":"implementations-list";const outputListHeaderId=isTrait?"trait-implementations":"implementations";const outputListHeader=document.createElement("h2");outputListHeader.id=outputListHeaderId;outputListHeader.innerText=outputListName;outputList=document.createElement("div");outputList.id=outputListId;if(isTrait){const link=document.createElement("a");link.href=`#${outputListHeaderId}`;link.innerText="Trait Implementations";const h=document.createElement("h3");h.appendChild(link);trait_implementations=outputList;trait_implementations_header=outputListHeader;sidebarSection.appendChild(h);sidebarTraitList=document.createElement("ul");sidebarTraitList.className="block trait-implementation";sidebarSection.appendChild(sidebarTraitList);mainContent.appendChild(outputListHeader);mainContent.appendChild(outputList)}else{implementations=outputList;if(trait_implementations){mainContent.insertBefore(outputListHeader,trait_implementations_header);mainContent.insertBefore(outputList,trait_implementations_header)}else{const mainContent=document.querySelector("#main-content");mainContent.appendChild(outputListHeader);mainContent.appendChild(outputList)}}}const template=document.createElement("template");template.innerHTML=text;onEachLazy(template.content.querySelectorAll("a"),elem=>{const href=elem.getAttribute("href");if(href&&!href.startsWith("#")&&!/^(?:[a-z+]+:)?\/\//.test(href)){elem.setAttribute("href",window.rootPath+href)}});onEachLazy(template.content.querySelectorAll("[id]"),el=>{let i=0;if(idMap.has(el.id)){i=idMap.get(el.id)}else if(document.getElementById(el.id)){i=1;while(document.getElementById(`${el.id}-${2 * i}`)){i=2*i}while(document.getElementById(`${el.id}-${i}`)){i+=1}}if(i!==0){const oldHref=`#${el.id}`;const newHref=`#${el.id}-${i}`;el.id=`${el.id}-${i}`;onEachLazy(template.content.querySelectorAll("a[href]"),link=>{if(link.getAttribute("href")===oldHref){link.href=newHref}})}idMap.set(el.id,i+1)});const templateAssocItems=template.content.querySelectorAll("section.tymethod, "+"section.method, section.associatedtype, section.associatedconstant");if(isTrait){const li=document.createElement("li");const a=document.createElement("a");a.href=`#${template.content.querySelector(".impl").id}`;a.textContent=traitName;li.appendChild(a);sidebarTraitList.append(li)}else{onEachLazy(templateAssocItems,item=>{let block=hasClass(item,"associatedtype")?associatedTypes:(hasClass(item,"associatedconstant")?associatedConstants:(methods));if(!block){const blockTitle=hasClass(item,"associatedtype")?"Associated Types":(hasClass(item,"associatedconstant")?"Associated Constants":("Methods"));const blockClass=hasClass(item,"associatedtype")?"associatedtype":(hasClass(item,"associatedconstant")?"associatedconstant":("method"));const blockHeader=document.createElement("h3");const blockLink=document.createElement("a");blockLink.href="#implementations";blockLink.innerText=blockTitle;blockHeader.appendChild(blockLink);block=document.createElement("ul");block.className=`block ${blockClass}`;const insertionReference=methods||sidebarTraitList;if(insertionReference){const insertionReferenceH=insertionReference.previousElementSibling;sidebarSection.insertBefore(blockHeader,insertionReferenceH);sidebarSection.insertBefore(block,insertionReferenceH)}else{sidebarSection.appendChild(blockHeader);sidebarSection.appendChild(block)}if(hasClass(item,"associatedtype")){associatedTypes=block}else if(hasClass(item,"associatedconstant")){associatedConstants=block}else{methods=block}}const li=document.createElement("li");const a=document.createElement("a");a.innerText=item.id.split("-")[0].split(".")[1];a.href=`#${item.id}`;li.appendChild(a);block.appendChild(li)})}outputList.appendChild(template.content)}for(const list of[methods,associatedTypes,associatedConstants,sidebarTraitList]){if(!list){continue}const newChildren=Array.prototype.slice.call(list.children);newChildren.sort((a,b)=>{const aI=a.innerText;const bI=b.innerText;return aIbI?1:0});list.replaceChildren(...newChildren)}};if(window.pending_type_impls){window.register_type_impls(window.pending_type_impls)}function addSidebarCrates(){if(!window.ALL_CRATES){return}const sidebarElems=document.getElementsByClassName("sidebar-elems")[0];if(!sidebarElems){return}const h3=document.createElement("h3");h3.innerHTML="Crates";const ul=document.createElement("ul");ul.className="block crate";for(const crate of window.ALL_CRATES){const link=document.createElement("a");link.href=window.rootPath+crate+"/index.html";link.textContent=crate;const li=document.createElement("li");if(window.rootPath!=="./"&&crate===window.currentCrate){li.className="current"}li.appendChild(link);ul.appendChild(li)}sidebarElems.appendChild(h3);sidebarElems.appendChild(ul)}function expandAllDocs(){const innerToggle=document.getElementById(toggleAllDocsId);removeClass(innerToggle,"will-expand");onEachLazy(document.getElementsByClassName("toggle"),e=>{if(!hasClass(e,"type-contents-toggle")&&!hasClass(e,"more-examples-toggle")){e.open=true}});innerToggle.title="collapse all docs";innerToggle.children[0].innerText="\u2212"}function collapseAllDocs(){const innerToggle=document.getElementById(toggleAllDocsId);addClass(innerToggle,"will-expand");onEachLazy(document.getElementsByClassName("toggle"),e=>{if(e.parentNode.id!=="implementations-list"||(!hasClass(e,"implementors-toggle")&&!hasClass(e,"type-contents-toggle"))){e.open=false}});innerToggle.title="expand all docs";innerToggle.children[0].innerText="+"}function toggleAllDocs(){const innerToggle=document.getElementById(toggleAllDocsId);if(!innerToggle){return}if(hasClass(innerToggle,"will-expand")){expandAllDocs()}else{collapseAllDocs()}}(function(){const toggles=document.getElementById(toggleAllDocsId);if(toggles){toggles.onclick=toggleAllDocs}const hideMethodDocs=getSettingValue("auto-hide-method-docs")==="true";const hideImplementations=getSettingValue("auto-hide-trait-implementations")==="true";const hideLargeItemContents=getSettingValue("auto-hide-large-items")!=="false";function setImplementorsTogglesOpen(id,open){const list=document.getElementById(id);if(list!==null){onEachLazy(list.getElementsByClassName("implementors-toggle"),e=>{e.open=open})}}if(hideImplementations){setImplementorsTogglesOpen("trait-implementations-list",false);setImplementorsTogglesOpen("blanket-implementations-list",false)}onEachLazy(document.getElementsByClassName("toggle"),e=>{if(!hideLargeItemContents&&hasClass(e,"type-contents-toggle")){e.open=true}if(hideMethodDocs&&hasClass(e,"method-toggle")){e.open=false}})}());window.rustdoc_add_line_numbers_to_examples=()=>{onEachLazy(document.getElementsByClassName("rust-example-rendered"),x=>{const parent=x.parentNode;const line_numbers=parent.querySelectorAll(".example-line-numbers");if(line_numbers.length>0){return}const count=x.textContent.split("\n").length;const elems=[];for(let i=0;i{onEachLazy(document.getElementsByClassName("rust-example-rendered"),x=>{const parent=x.parentNode;const line_numbers=parent.querySelectorAll(".example-line-numbers");for(const node of line_numbers){parent.removeChild(node)}})};if(getSettingValue("line-numbers")==="true"){window.rustdoc_add_line_numbers_to_examples()}function showSidebar(){window.hideAllModals(false);const sidebar=document.getElementsByClassName("sidebar")[0];addClass(sidebar,"shown")}function hideSidebar(){const sidebar=document.getElementsByClassName("sidebar")[0];removeClass(sidebar,"shown")}window.addEventListener("resize",()=>{if(window.CURRENT_TOOLTIP_ELEMENT){const base=window.CURRENT_TOOLTIP_ELEMENT.TOOLTIP_BASE;const force_visible=base.TOOLTIP_FORCE_VISIBLE;hideTooltip(false);if(force_visible){showTooltip(base);base.TOOLTIP_FORCE_VISIBLE=true}}});const mainElem=document.getElementById(MAIN_ID);if(mainElem){mainElem.addEventListener("click",hideSidebar)}onEachLazy(document.querySelectorAll("a[href^='#']"),el=>{el.addEventListener("click",()=>{expandSection(el.hash.slice(1));hideSidebar()})});onEachLazy(document.querySelectorAll(".toggle > summary:not(.hideme)"),el=>{el.addEventListener("click",e=>{if(e.target.tagName!=="SUMMARY"&&e.target.tagName!=="A"){e.preventDefault()}})});function showTooltip(e){const notable_ty=e.getAttribute("data-notable-ty");if(!window.NOTABLE_TRAITS&¬able_ty){const data=document.getElementById("notable-traits-data");if(data){window.NOTABLE_TRAITS=JSON.parse(data.innerText)}else{throw new Error("showTooltip() called with notable without any notable traits!")}}if(window.CURRENT_TOOLTIP_ELEMENT&&window.CURRENT_TOOLTIP_ELEMENT.TOOLTIP_BASE===e){clearTooltipHoverTimeout(window.CURRENT_TOOLTIP_ELEMENT);return}window.hideAllModals(false);const wrapper=document.createElement("div");if(notable_ty){wrapper.innerHTML="
"+window.NOTABLE_TRAITS[notable_ty]+"
"}else{if(e.getAttribute("title")!==null){e.setAttribute("data-title",e.getAttribute("title"));e.removeAttribute("title")}if(e.getAttribute("data-title")!==null){const titleContent=document.createElement("div");titleContent.className="content";titleContent.appendChild(document.createTextNode(e.getAttribute("data-title")));wrapper.appendChild(titleContent)}}wrapper.className="tooltip popover";const focusCatcher=document.createElement("div");focusCatcher.setAttribute("tabindex","0");focusCatcher.onfocus=hideTooltip;wrapper.appendChild(focusCatcher);const pos=e.getBoundingClientRect();wrapper.style.top=(pos.top+window.scrollY+pos.height)+"px";wrapper.style.left=0;wrapper.style.right="auto";wrapper.style.visibility="hidden";const body=document.getElementsByTagName("body")[0];body.appendChild(wrapper);const wrapperPos=wrapper.getBoundingClientRect();const finalPos=pos.left+window.scrollX-wrapperPos.width+24;if(finalPos>0){wrapper.style.left=finalPos+"px"}else{wrapper.style.setProperty("--popover-arrow-offset",(wrapperPos.right-pos.right+4)+"px")}wrapper.style.visibility="";window.CURRENT_TOOLTIP_ELEMENT=wrapper;window.CURRENT_TOOLTIP_ELEMENT.TOOLTIP_BASE=e;clearTooltipHoverTimeout(window.CURRENT_TOOLTIP_ELEMENT);wrapper.onpointerenter=ev=>{if(ev.pointerType!=="mouse"){return}clearTooltipHoverTimeout(e)};wrapper.onpointerleave=ev=>{if(ev.pointerType!=="mouse"){return}if(!e.TOOLTIP_FORCE_VISIBLE&&!e.contains(ev.relatedTarget)){setTooltipHoverTimeout(e,false);addClass(wrapper,"fade-out")}}}function setTooltipHoverTimeout(element,show){clearTooltipHoverTimeout(element);if(!show&&!window.CURRENT_TOOLTIP_ELEMENT){return}if(show&&window.CURRENT_TOOLTIP_ELEMENT){return}if(window.CURRENT_TOOLTIP_ELEMENT&&window.CURRENT_TOOLTIP_ELEMENT.TOOLTIP_BASE!==element){return}element.TOOLTIP_HOVER_TIMEOUT=setTimeout(()=>{if(show){showTooltip(element)}else if(!element.TOOLTIP_FORCE_VISIBLE){hideTooltip(false)}},show?window.RUSTDOC_TOOLTIP_HOVER_MS:window.RUSTDOC_TOOLTIP_HOVER_EXIT_MS)}function clearTooltipHoverTimeout(element){if(element.TOOLTIP_HOVER_TIMEOUT!==undefined){removeClass(window.CURRENT_TOOLTIP_ELEMENT,"fade-out");clearTimeout(element.TOOLTIP_HOVER_TIMEOUT);delete element.TOOLTIP_HOVER_TIMEOUT}}function tooltipBlurHandler(event){if(window.CURRENT_TOOLTIP_ELEMENT&&!window.CURRENT_TOOLTIP_ELEMENT.contains(document.activeElement)&&!window.CURRENT_TOOLTIP_ELEMENT.contains(event.relatedTarget)&&!window.CURRENT_TOOLTIP_ELEMENT.TOOLTIP_BASE.contains(document.activeElement)&&!window.CURRENT_TOOLTIP_ELEMENT.TOOLTIP_BASE.contains(event.relatedTarget)){setTimeout(()=>hideTooltip(false),0)}}function hideTooltip(focus){if(window.CURRENT_TOOLTIP_ELEMENT){if(window.CURRENT_TOOLTIP_ELEMENT.TOOLTIP_BASE.TOOLTIP_FORCE_VISIBLE){if(focus){window.CURRENT_TOOLTIP_ELEMENT.TOOLTIP_BASE.focus()}window.CURRENT_TOOLTIP_ELEMENT.TOOLTIP_BASE.TOOLTIP_FORCE_VISIBLE=false}const body=document.getElementsByTagName("body")[0];body.removeChild(window.CURRENT_TOOLTIP_ELEMENT);clearTooltipHoverTimeout(window.CURRENT_TOOLTIP_ELEMENT);window.CURRENT_TOOLTIP_ELEMENT=null}}onEachLazy(document.getElementsByClassName("tooltip"),e=>{e.onclick=()=>{e.TOOLTIP_FORCE_VISIBLE=e.TOOLTIP_FORCE_VISIBLE?false:true;if(window.CURRENT_TOOLTIP_ELEMENT&&!e.TOOLTIP_FORCE_VISIBLE){hideTooltip(true)}else{showTooltip(e);window.CURRENT_TOOLTIP_ELEMENT.setAttribute("tabindex","0");window.CURRENT_TOOLTIP_ELEMENT.focus();window.CURRENT_TOOLTIP_ELEMENT.onblur=tooltipBlurHandler}return false};e.onpointerenter=ev=>{if(ev.pointerType!=="mouse"){return}setTooltipHoverTimeout(e,true)};e.onpointermove=ev=>{if(ev.pointerType!=="mouse"){return}setTooltipHoverTimeout(e,true)};e.onpointerleave=ev=>{if(ev.pointerType!=="mouse"){return}if(!e.TOOLTIP_FORCE_VISIBLE&&window.CURRENT_TOOLTIP_ELEMENT&&!window.CURRENT_TOOLTIP_ELEMENT.contains(ev.relatedTarget)){setTooltipHoverTimeout(e,false);addClass(window.CURRENT_TOOLTIP_ELEMENT,"fade-out")}}});const sidebar_menu_toggle=document.getElementsByClassName("sidebar-menu-toggle")[0];if(sidebar_menu_toggle){sidebar_menu_toggle.addEventListener("click",()=>{const sidebar=document.getElementsByClassName("sidebar")[0];if(!hasClass(sidebar,"shown")){showSidebar()}else{hideSidebar()}})}function helpBlurHandler(event){blurHandler(event,getHelpButton(),window.hidePopoverMenus)}function buildHelpMenu(){const book_info=document.createElement("span");const channel=getVar("channel");book_info.className="top";book_info.innerHTML=`You can find more information in \ +the rustdoc book.`;const shortcuts=[["?","Show this help dialog"],["S","Focus the search field"],["↑","Move up in search results"],["↓","Move down in search results"],["← / →","Switch result tab (when results focused)"],["⏎","Go to active search result"],["+","Expand all sections"],["-","Collapse all sections"],].map(x=>"
"+x[0].split(" ").map((y,index)=>((index&1)===0?""+y+"":" "+y+" ")).join("")+"
"+x[1]+"
").join("");const div_shortcuts=document.createElement("div");addClass(div_shortcuts,"shortcuts");div_shortcuts.innerHTML="

Keyboard Shortcuts

"+shortcuts+"
";const infos=[`For a full list of all search features, take a look here.`,"Prefix searches with a type followed by a colon (e.g., fn:) to \ + restrict the search to a given item kind.","Accepted kinds are: fn, mod, struct, \ + enum, trait, type, macro, \ + and const.","Search functions by type signature (e.g., vec -> usize or \ + -> vec or String, enum:Cow -> bool)","You can look for items with an exact name by putting double quotes around \ + your request: \"string\"","Look for functions that accept or return \ + slices and \ + arrays by writing \ + square brackets (e.g., -> [u8] or [] -> Option)","Look for items inside another one by searching for a path: vec::Vec",].map(x=>"

"+x+"

").join("");const div_infos=document.createElement("div");addClass(div_infos,"infos");div_infos.innerHTML="

Search Tricks

"+infos;const rustdoc_version=document.createElement("span");rustdoc_version.className="bottom";const rustdoc_version_code=document.createElement("code");rustdoc_version_code.innerText="rustdoc "+getVar("rustdoc-version");rustdoc_version.appendChild(rustdoc_version_code);const container=document.createElement("div");if(!isHelpPage){container.className="popover"}container.id="help";container.style.display="none";const side_by_side=document.createElement("div");side_by_side.className="side-by-side";side_by_side.appendChild(div_shortcuts);side_by_side.appendChild(div_infos);container.appendChild(book_info);container.appendChild(side_by_side);container.appendChild(rustdoc_version);if(isHelpPage){const help_section=document.createElement("section");help_section.appendChild(container);document.getElementById("main-content").appendChild(help_section);container.style.display="block"}else{const help_button=getHelpButton();help_button.appendChild(container);container.onblur=helpBlurHandler;help_button.onblur=helpBlurHandler;help_button.children[0].onblur=helpBlurHandler}return container}window.hideAllModals=switchFocus=>{hideSidebar();window.hidePopoverMenus();hideTooltip(switchFocus)};window.hidePopoverMenus=()=>{onEachLazy(document.querySelectorAll(".search-form .popover"),elem=>{elem.style.display="none"})};function getHelpMenu(buildNeeded){let menu=getHelpButton().querySelector(".popover");if(!menu&&buildNeeded){menu=buildHelpMenu()}return menu}function showHelp(){getHelpButton().querySelector("a").focus();const menu=getHelpMenu(true);if(menu.style.display==="none"){window.hideAllModals();menu.style.display=""}}if(isHelpPage){showHelp();document.querySelector(`#${HELP_BUTTON_ID} > a`).addEventListener("click",event=>{const target=event.target;if(target.tagName!=="A"||target.parentElement.id!==HELP_BUTTON_ID||event.ctrlKey||event.altKey||event.metaKey){return}event.preventDefault()})}else{document.querySelector(`#${HELP_BUTTON_ID} > a`).addEventListener("click",event=>{const target=event.target;if(target.tagName!=="A"||target.parentElement.id!==HELP_BUTTON_ID||event.ctrlKey||event.altKey||event.metaKey){return}event.preventDefault();const menu=getHelpMenu(true);const shouldShowHelp=menu.style.display==="none";if(shouldShowHelp){showHelp()}else{window.hidePopoverMenus()}})}setMobileTopbar();addSidebarItems();addSidebarCrates();onHashChange(null);window.addEventListener("hashchange",onHashChange);searchState.setup()}());(function(){const SIDEBAR_MIN=100;const SIDEBAR_MAX=500;const RUSTDOC_MOBILE_BREAKPOINT=700;const BODY_MIN=400;const SIDEBAR_VANISH_THRESHOLD=SIDEBAR_MIN/2;const sidebarButton=document.getElementById("sidebar-button");if(sidebarButton){sidebarButton.addEventListener("click",e=>{removeClass(document.documentElement,"hide-sidebar");updateLocalStorage("hide-sidebar","false");if(document.querySelector(".rustdoc.src")){window.rustdocToggleSrcSidebar()}e.preventDefault()})}let currentPointerId=null;let desiredSidebarSize=null;let pendingSidebarResizingFrame=false;const resizer=document.querySelector(".sidebar-resizer");const sidebar=document.querySelector(".sidebar");if(!resizer||!sidebar){return}const isSrcPage=hasClass(document.body,"src");function hideSidebar(){if(isSrcPage){window.rustdocCloseSourceSidebar();updateLocalStorage("src-sidebar-width",null);document.documentElement.style.removeProperty("--src-sidebar-width");sidebar.style.removeProperty("--src-sidebar-width");resizer.style.removeProperty("--src-sidebar-width")}else{addClass(document.documentElement,"hide-sidebar");updateLocalStorage("hide-sidebar","true");updateLocalStorage("desktop-sidebar-width",null);document.documentElement.style.removeProperty("--desktop-sidebar-width");sidebar.style.removeProperty("--desktop-sidebar-width");resizer.style.removeProperty("--desktop-sidebar-width")}}function showSidebar(){if(isSrcPage){window.rustdocShowSourceSidebar()}else{removeClass(document.documentElement,"hide-sidebar");updateLocalStorage("hide-sidebar","false")}}function changeSidebarSize(size){if(isSrcPage){updateLocalStorage("src-sidebar-width",size);sidebar.style.setProperty("--src-sidebar-width",size+"px");resizer.style.setProperty("--src-sidebar-width",size+"px")}else{updateLocalStorage("desktop-sidebar-width",size);sidebar.style.setProperty("--desktop-sidebar-width",size+"px");resizer.style.setProperty("--desktop-sidebar-width",size+"px")}}function isSidebarHidden(){return isSrcPage?!hasClass(document.documentElement,"src-sidebar-expanded"):hasClass(document.documentElement,"hide-sidebar")}function resize(e){if(currentPointerId===null||currentPointerId!==e.pointerId){return}e.preventDefault();const pos=e.clientX-3;if(pos=SIDEBAR_MIN){if(isSidebarHidden()){showSidebar()}const constrainedPos=Math.min(pos,window.innerWidth-BODY_MIN,SIDEBAR_MAX);changeSidebarSize(constrainedPos);desiredSidebarSize=constrainedPos;if(pendingSidebarResizingFrame!==false){clearTimeout(pendingSidebarResizingFrame)}pendingSidebarResizingFrame=setTimeout(()=>{if(currentPointerId===null||pendingSidebarResizingFrame===false){return}pendingSidebarResizingFrame=false;document.documentElement.style.setProperty("--resizing-sidebar-width",desiredSidebarSize+"px")},100)}}window.addEventListener("resize",()=>{if(window.innerWidth=(window.innerWidth-BODY_MIN)){changeSidebarSize(window.innerWidth-BODY_MIN)}else if(desiredSidebarSize!==null&&desiredSidebarSize>SIDEBAR_MIN){changeSidebarSize(desiredSidebarSize)}});function stopResize(e){if(currentPointerId===null){return}if(e){e.preventDefault()}desiredSidebarSize=sidebar.getBoundingClientRect().width;removeClass(resizer,"active");window.removeEventListener("pointermove",resize,false);window.removeEventListener("pointerup",stopResize,false);removeClass(document.documentElement,"sidebar-resizing");document.documentElement.style.removeProperty("--resizing-sidebar-width");if(resizer.releasePointerCapture){resizer.releasePointerCapture(currentPointerId);currentPointerId=null}}function initResize(e){if(currentPointerId!==null||e.altKey||e.ctrlKey||e.metaKey||e.button!==0){return}if(resizer.setPointerCapture){resizer.setPointerCapture(e.pointerId);if(!resizer.hasPointerCapture(e.pointerId)){resizer.releasePointerCapture(e.pointerId);return}currentPointerId=e.pointerId}window.hideAllModals(false);e.preventDefault();window.addEventListener("pointermove",resize,false);window.addEventListener("pointercancel",stopResize,false);window.addEventListener("pointerup",stopResize,false);addClass(resizer,"active");addClass(document.documentElement,"sidebar-resizing");const pos=e.clientX-sidebar.offsetLeft-3;document.documentElement.style.setProperty("--resizing-sidebar-width",pos+"px");desiredSidebarSize=null}resizer.addEventListener("pointerdown",initResize,false)}());(function(){let reset_button_timeout=null;const but=document.getElementById("copy-path");if(!but){return}but.onclick=()=>{const parent=but.parentElement;const path=[];onEach(parent.childNodes,child=>{if(child.tagName==="A"){path.push(child.textContent)}});const el=document.createElement("textarea");el.value=path.join("::");el.setAttribute("readonly","");el.style.position="absolute";el.style.left="-9999px";document.body.appendChild(el);el.select();document.execCommand("copy");document.body.removeChild(el);but.children[0].style.display="none";let tmp;if(but.childNodes.length<2){tmp=document.createTextNode("✓");but.appendChild(tmp)}else{onEachLazy(but.childNodes,e=>{if(e.nodeType===Node.TEXT_NODE){tmp=e;return true}});tmp.textContent="✓"}if(reset_button_timeout!==null){window.clearTimeout(reset_button_timeout)}function reset_button(){tmp.textContent="";reset_button_timeout=null;but.children[0].style.display=""}reset_button_timeout=window.setTimeout(reset_button,1000)}}()) \ No newline at end of file diff --git a/static.files/noscript-04d5337699b92874.css b/static.files/noscript-04d5337699b92874.css new file mode 100644 index 00000000..fbd55f57 --- /dev/null +++ b/static.files/noscript-04d5337699b92874.css @@ -0,0 +1 @@ + #main-content .attributes{margin-left:0 !important;}#copy-path,#sidebar-button,.sidebar-resizer{display:none !important;}nav.sub{display:none;}.src .sidebar{display:none;}.notable-traits{display:none;}:root{--main-background-color:white;--main-color:black;--settings-input-color:#2196f3;--settings-input-border-color:#717171;--settings-button-color:#000;--settings-button-border-focus:#717171;--sidebar-background-color:#f5f5f5;--sidebar-background-color-hover:#e0e0e0;--code-block-background-color:#f5f5f5;--scrollbar-track-background-color:#dcdcdc;--scrollbar-thumb-background-color:rgba(36,37,39,0.6);--scrollbar-color:rgba(36,37,39,0.6) #d9d9d9;--headings-border-bottom-color:#ddd;--border-color:#e0e0e0;--button-background-color:#fff;--right-side-color:grey;--code-attribute-color:#999;--toggles-color:#999;--toggle-filter:none;--mobile-sidebar-menu-filter:none;--search-input-focused-border-color:#66afe9;--copy-path-button-color:#999;--copy-path-img-filter:invert(50%);--copy-path-img-hover-filter:invert(35%);--codeblock-error-hover-color:rgb(255,0,0);--codeblock-error-color:rgba(255,0,0,.5);--codeblock-ignore-hover-color:rgb(255,142,0);--codeblock-ignore-color:rgba(255,142,0,.6);--warning-border-color:#ff8e00;--type-link-color:#ad378a;--trait-link-color:#6e4fc9;--assoc-item-link-color:#3873ad;--function-link-color:#ad7c37;--macro-link-color:#068000;--keyword-link-color:#3873ad;--mod-link-color:#3873ad;--link-color:#3873ad;--sidebar-link-color:#356da4;--sidebar-current-link-background-color:#fff;--search-result-link-focus-background-color:#ccc;--search-result-border-color:#aaa3;--search-color:#000;--search-error-code-background-color:#d0cccc;--search-results-alias-color:#000;--search-results-grey-color:#999;--search-tab-title-count-color:#888;--search-tab-button-not-selected-border-top-color:#e6e6e6;--search-tab-button-not-selected-background:#e6e6e6;--search-tab-button-selected-border-top-color:#0089ff;--search-tab-button-selected-background:#fff;--stab-background-color:#fff5d6;--stab-code-color:#000;--code-highlight-kw-color:#8959a8;--code-highlight-kw-2-color:#4271ae;--code-highlight-lifetime-color:#b76514;--code-highlight-prelude-color:#4271ae;--code-highlight-prelude-val-color:#c82829;--code-highlight-number-color:#718c00;--code-highlight-string-color:#718c00;--code-highlight-literal-color:#c82829;--code-highlight-attribute-color:#c82829;--code-highlight-self-color:#c82829;--code-highlight-macro-color:#3e999f;--code-highlight-question-mark-color:#ff9011;--code-highlight-comment-color:#8e908c;--code-highlight-doc-comment-color:#4d4d4c;--src-line-numbers-span-color:#c67e2d;--src-line-number-highlighted-background-color:#fdffd3;--test-arrow-color:#f5f5f5;--test-arrow-background-color:rgba(78,139,202,0.2);--test-arrow-hover-color:#f5f5f5;--test-arrow-hover-background-color:rgb(78,139,202);--target-background-color:#fdffd3;--target-border-color:#ad7c37;--kbd-color:#000;--kbd-background:#fafbfc;--kbd-box-shadow-color:#c6cbd1;--rust-logo-filter:initial;--crate-search-div-filter:invert(100%) sepia(0%) saturate(4223%) hue-rotate(289deg) brightness(114%) contrast(76%);--crate-search-div-hover-filter:invert(44%) sepia(18%) saturate(23%) hue-rotate(317deg) brightness(96%) contrast(93%);--crate-search-hover-border:#717171;--src-sidebar-background-selected:#fff;--src-sidebar-background-hover:#e0e0e0;--table-alt-row-background-color:#f5f5f5;--codeblock-link-background:#eee;--scrape-example-toggle-line-background:#ccc;--scrape-example-toggle-line-hover-background:#999;--scrape-example-code-line-highlight:#fcffd6;--scrape-example-code-line-highlight-focus:#f6fdb0;--scrape-example-help-border-color:#555;--scrape-example-help-color:#333;--scrape-example-help-hover-border-color:#000;--scrape-example-help-hover-color:#000;--scrape-example-code-wrapper-background-start:rgba(255,255,255,1);--scrape-example-code-wrapper-background-end:rgba(255,255,255,0);--sidebar-resizer-hover:hsl(207,90%,66%);--sidebar-resizer-active:hsl(207,90%,54%);}@media (prefers-color-scheme:dark){:root{--main-background-color:#353535;--main-color:#ddd;--settings-input-color:#2196f3;--settings-input-border-color:#999;--settings-button-color:#000;--settings-button-border-focus:#ffb900;--sidebar-background-color:#505050;--sidebar-background-color-hover:#676767;--code-block-background-color:#2A2A2A;--scrollbar-track-background-color:#717171;--scrollbar-thumb-background-color:rgba(32,34,37,.6);--scrollbar-color:rgba(32,34,37,.6) #5a5a5a;--headings-border-bottom-color:#d2d2d2;--border-color:#e0e0e0;--button-background-color:#f0f0f0;--right-side-color:grey;--code-attribute-color:#999;--toggles-color:#999;--toggle-filter:invert(100%);--mobile-sidebar-menu-filter:invert(100%);--search-input-focused-border-color:#008dfd;--copy-path-button-color:#999;--copy-path-img-filter:invert(50%);--copy-path-img-hover-filter:invert(65%);--codeblock-error-hover-color:rgb(255,0,0);--codeblock-error-color:rgba(255,0,0,.5);--codeblock-ignore-hover-color:rgb(255,142,0);--codeblock-ignore-color:rgba(255,142,0,.6);--warning-border-color:#ff8e00;--type-link-color:#2dbfb8;--trait-link-color:#b78cf2;--assoc-item-link-color:#d2991d;--function-link-color:#2bab63;--macro-link-color:#09bd00;--keyword-link-color:#d2991d;--mod-link-color:#d2991d;--link-color:#d2991d;--sidebar-link-color:#fdbf35;--sidebar-current-link-background-color:#444;--search-result-link-focus-background-color:#616161;--search-result-border-color:#aaa3;--search-color:#111;--search-error-code-background-color:#484848;--search-results-alias-color:#fff;--search-results-grey-color:#ccc;--search-tab-title-count-color:#888;--search-tab-button-not-selected-border-top-color:#252525;--search-tab-button-not-selected-background:#252525;--search-tab-button-selected-border-top-color:#0089ff;--search-tab-button-selected-background:#353535;--stab-background-color:#314559;--stab-code-color:#e6e1cf;--code-highlight-kw-color:#ab8ac1;--code-highlight-kw-2-color:#769acb;--code-highlight-lifetime-color:#d97f26;--code-highlight-prelude-color:#769acb;--code-highlight-prelude-val-color:#ee6868;--code-highlight-number-color:#83a300;--code-highlight-string-color:#83a300;--code-highlight-literal-color:#ee6868;--code-highlight-attribute-color:#ee6868;--code-highlight-self-color:#ee6868;--code-highlight-macro-color:#3e999f;--code-highlight-question-mark-color:#ff9011;--code-highlight-comment-color:#8d8d8b;--code-highlight-doc-comment-color:#8ca375;--src-line-numbers-span-color:#3b91e2;--src-line-number-highlighted-background-color:#0a042f;--test-arrow-color:#dedede;--test-arrow-background-color:rgba(78,139,202,0.2);--test-arrow-hover-color:#dedede;--test-arrow-hover-background-color:#4e8bca;--target-background-color:#494a3d;--target-border-color:#bb7410;--kbd-color:#000;--kbd-background:#fafbfc;--kbd-box-shadow-color:#c6cbd1;--rust-logo-filter:drop-shadow(1px 0 0px #fff) drop-shadow(0 1px 0 #fff) drop-shadow(-1px 0 0 #fff) drop-shadow(0 -1px 0 #fff);--crate-search-div-filter:invert(94%) sepia(0%) saturate(721%) hue-rotate(255deg) brightness(90%) contrast(90%);--crate-search-div-hover-filter:invert(69%) sepia(60%) saturate(6613%) hue-rotate(184deg) brightness(100%) contrast(91%);--crate-search-hover-border:#2196f3;--src-sidebar-background-selected:#333;--src-sidebar-background-hover:#444;--table-alt-row-background-color:#2a2a2a;--codeblock-link-background:#333;--scrape-example-toggle-line-background:#999;--scrape-example-toggle-line-hover-background:#c5c5c5;--scrape-example-code-line-highlight:#5b3b01;--scrape-example-code-line-highlight-focus:#7c4b0f;--scrape-example-help-border-color:#aaa;--scrape-example-help-color:#eee;--scrape-example-help-hover-border-color:#fff;--scrape-example-help-hover-color:#fff;--scrape-example-code-wrapper-background-start:rgba(53,53,53,1);--scrape-example-code-wrapper-background-end:rgba(53,53,53,0);--sidebar-resizer-hover:hsl(207,30%,54%);--sidebar-resizer-active:hsl(207,90%,54%);}} \ No newline at end of file diff --git a/static.files/rustdoc-5bc39a1768837dd0.css b/static.files/rustdoc-5bc39a1768837dd0.css new file mode 100644 index 00000000..175164ef --- /dev/null +++ b/static.files/rustdoc-5bc39a1768837dd0.css @@ -0,0 +1,24 @@ + :root{--nav-sub-mobile-padding:8px;--search-typename-width:6.75rem;--desktop-sidebar-width:200px;--src-sidebar-width:300px;--desktop-sidebar-z-index:100;}@font-face {font-family:'Fira Sans';font-style:normal;font-weight:400;src:local('Fira Sans'),url("FiraSans-Regular-018c141bf0843ffd.woff2") format("woff2");font-display:swap;}@font-face {font-family:'Fira Sans';font-style:normal;font-weight:500;src:local('Fira Sans Medium'),url("FiraSans-Medium-8f9a781e4970d388.woff2") format("woff2");font-display:swap;}@font-face {font-family:'Source Serif 4';font-style:normal;font-weight:400;src:local('Source Serif 4'),url("SourceSerif4-Regular-46f98efaafac5295.ttf.woff2") format("woff2");font-display:swap;}@font-face {font-family:'Source Serif 4';font-style:italic;font-weight:400;src:local('Source Serif 4 Italic'),url("SourceSerif4-It-acdfaf1a8af734b1.ttf.woff2") format("woff2");font-display:swap;}@font-face {font-family:'Source Serif 4';font-style:normal;font-weight:700;src:local('Source Serif 4 Bold'),url("SourceSerif4-Bold-a2c9cd1067f8b328.ttf.woff2") format("woff2");font-display:swap;}@font-face {font-family:'Source Code Pro';font-style:normal;font-weight:400;src:url("SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2") format("woff2");font-display:swap;}@font-face {font-family:'Source Code Pro';font-style:italic;font-weight:400;src:url("SourceCodePro-It-1cc31594bf4f1f79.ttf.woff2") format("woff2");font-display:swap;}@font-face {font-family:'Source Code Pro';font-style:normal;font-weight:600;src:url("SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2") format("woff2");font-display:swap;}@font-face {font-family:'NanumBarunGothic';src:url("NanumBarunGothic-0f09457c7a19b7c6.ttf.woff2") format("woff2");font-display:swap;unicode-range:U+AC00-D7AF,U+1100-11FF,U+3130-318F,U+A960-A97F,U+D7B0-D7FF;}*{box-sizing:border-box;}body{font:1rem/1.5 "Source Serif 4",NanumBarunGothic,serif;margin:0;position:relative;overflow-wrap:break-word;overflow-wrap:anywhere;font-feature-settings:"kern","liga";background-color:var(--main-background-color);color:var(--main-color);}h1{font-size:1.5rem;}h2{font-size:1.375rem;}h3{font-size:1.25rem;}h1,h2,h3,h4,h5,h6{font-weight:500;}h1,h2,h3,h4{margin:25px 0 15px 0;padding-bottom:6px;}.docblock h3,.docblock h4,h5,h6{margin:15px 0 5px 0;}.docblock>h2:first-child,.docblock>h3:first-child,.docblock>h4:first-child,.docblock>h5:first-child,.docblock>h6:first-child{margin-top:0;}.main-heading h1{margin:0;padding:0;flex-grow:1;overflow-wrap:break-word;overflow-wrap:anywhere;}.main-heading{display:flex;flex-wrap:wrap;padding-bottom:6px;margin-bottom:15px;}.content h2,.top-doc .docblock>h3,.top-doc .docblock>h4{border-bottom:1px solid var(--headings-border-bottom-color);}h1,h2{line-height:1.25;padding-top:3px;padding-bottom:9px;}h3.code-header{font-size:1.125rem;}h4.code-header{font-size:1rem;}.code-header{font-weight:600;margin:0;padding:0;white-space:pre-wrap;}#crate-search,h1,h2,h3,h4,h5,h6,.sidebar,.mobile-topbar,.search-input,.search-results .result-name,.item-name>a,.out-of-band,span.since,a.src,#help-button>a,summary.hideme,.scraped-example-list,ul.all-items{font-family:"Fira Sans",Arial,NanumBarunGothic,sans-serif;}#toggle-all-docs,a.anchor,.section-header a,#src-sidebar a,.rust a,.sidebar h2 a,.sidebar h3 a,.mobile-topbar h2 a,h1 a,.search-results a,.stab,.result-name i{color:var(--main-color);}span.enum,a.enum,span.struct,a.struct,span.union,a.union,span.primitive,a.primitive,span.type,a.type,span.foreigntype,a.foreigntype{color:var(--type-link-color);}span.trait,a.trait,span.traitalias,a.traitalias{color:var(--trait-link-color);}span.associatedtype,a.associatedtype,span.constant,a.constant,span.static,a.static{color:var(--assoc-item-link-color);}span.fn,a.fn,span.method,a.method,span.tymethod,a.tymethod{color:var(--function-link-color);}span.attr,a.attr,span.derive,a.derive,span.macro,a.macro{color:var(--macro-link-color);}span.mod,a.mod{color:var(--mod-link-color);}span.keyword,a.keyword{color:var(--keyword-link-color);}a{color:var(--link-color);text-decoration:none;}ol,ul{padding-left:24px;}ul ul,ol ul,ul ol,ol ol{margin-bottom:.625em;}p,.docblock>.warning{margin:0 0 .75em 0;}p:last-child,.docblock>.warning:last-child{margin:0;}button{padding:1px 6px;cursor:pointer;}button#toggle-all-docs{padding:0;background:none;border:none;-webkit-appearance:none;opacity:1;}.rustdoc{display:flex;flex-direction:row;flex-wrap:nowrap;}main{position:relative;flex-grow:1;padding:10px 15px 40px 45px;min-width:0;}.src main{padding:15px;}.width-limiter{max-width:960px;margin-right:auto;}details:not(.toggle) summary{margin-bottom:.6em;}code,pre,a.test-arrow,.code-header{font-family:"Source Code Pro",monospace;}.docblock code,.docblock-short code{border-radius:3px;padding:0 0.125em;}.docblock pre code,.docblock-short pre code{padding:0;}pre{padding:14px;line-height:1.5;}pre.item-decl{overflow-x:auto;}.item-decl .type-contents-toggle{contain:initial;}.src .content pre{padding:20px;}.rustdoc.src .example-wrap pre.src-line-numbers{padding:20px 0 20px 4px;}img{max-width:100%;}.logo-container{line-height:0;display:block;}.rust-logo{filter:var(--rust-logo-filter);}.sidebar{font-size:0.875rem;flex:0 0 var(--desktop-sidebar-width);width:var(--desktop-sidebar-width);overflow-y:scroll;overscroll-behavior:contain;position:sticky;height:100vh;top:0;left:0;z-index:var(--desktop-sidebar-z-index);}.rustdoc.src .sidebar{flex-basis:50px;width:50px;border-right:1px solid;overflow-x:hidden;overflow-y:hidden;}.hide-sidebar .sidebar,.hide-sidebar .sidebar-resizer{display:none;}.sidebar-resizer{touch-action:none;width:9px;cursor:col-resize;z-index:calc(var(--desktop-sidebar-z-index) + 1);position:fixed;height:100%;left:calc(var(--desktop-sidebar-width) + 1px);}.rustdoc.src .sidebar-resizer{left:49px;}.src-sidebar-expanded .src .sidebar-resizer{left:var(--src-sidebar-width);}.sidebar-resizing{-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none;}.sidebar-resizing*{cursor:col-resize !important;}.sidebar-resizing .sidebar{position:fixed;}.sidebar-resizing>body{padding-left:var(--resizing-sidebar-width);}.sidebar-resizer:hover,.sidebar-resizer:active,.sidebar-resizer:focus,.sidebar-resizer.active{width:10px;margin:0;left:var(--desktop-sidebar-width);border-left:solid 1px var(--sidebar-resizer-hover);}.src-sidebar-expanded .rustdoc.src .sidebar-resizer:hover,.src-sidebar-expanded .rustdoc.src .sidebar-resizer:active,.src-sidebar-expanded .rustdoc.src .sidebar-resizer:focus,.src-sidebar-expanded .rustdoc.src .sidebar-resizer.active{left:calc(var(--src-sidebar-width) - 1px);}@media (pointer:coarse){.sidebar-resizer{display:none !important;}}.sidebar-resizer.active{padding:0 140px;width:2px;margin-left:-140px;border-left:none;}.sidebar-resizer.active:before{border-left:solid 2px var(--sidebar-resizer-active);display:block;height:100%;content:"";}.sidebar,.mobile-topbar,.sidebar-menu-toggle,#src-sidebar{background-color:var(--sidebar-background-color);}.src .sidebar>*{visibility:hidden;}.src-sidebar-expanded .src .sidebar{overflow-y:auto;flex-basis:var(--src-sidebar-width);width:var(--src-sidebar-width);}.src-sidebar-expanded .src .sidebar>*{visibility:visible;}#all-types{margin-top:1em;}*{scrollbar-width:initial;scrollbar-color:var(--scrollbar-color);}.sidebar{scrollbar-width:thin;scrollbar-color:var(--scrollbar-color);}::-webkit-scrollbar{width:12px;}.sidebar::-webkit-scrollbar{width:8px;}::-webkit-scrollbar-track{-webkit-box-shadow:inset 0;background-color:var(--scrollbar-track-background-color);}.sidebar::-webkit-scrollbar-track{background-color:var(--scrollbar-track-background-color);}::-webkit-scrollbar-thumb,.sidebar::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb-background-color);}.hidden{display:none !important;}.logo-container>img{height:48px;width:48px;}ul.block,.block li{padding:0;margin:0;list-style:none;}.sidebar-elems a,.sidebar>h2 a{display:block;padding:0.25rem;margin-left:-0.25rem;margin-right:0.25rem;}.sidebar h2{overflow-wrap:anywhere;padding:0;margin:0.7rem 0;}.sidebar h3{font-size:1.125rem;padding:0;margin:0;}.sidebar-elems,.sidebar>.version,.sidebar>h2{padding-left:24px;}.sidebar a{color:var(--sidebar-link-color);}.sidebar .current,.sidebar .current a,.sidebar-crate a.logo-container:hover+h2 a,.sidebar a:hover:not(.logo-container){background-color:var(--sidebar-current-link-background-color);}.sidebar-elems .block{margin-bottom:2em;}.sidebar-elems .block li a{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;}.sidebar-crate{display:flex;align-items:center;justify-content:center;margin:14px 32px 1rem;row-gap:10px;column-gap:32px;flex-wrap:wrap;}.sidebar-crate h2{flex-grow:1;margin:0 -8px;align-self:start;}.sidebar-crate .logo-container{margin:0 -16px 0 -16px;text-align:center;}.sidebar-crate h2 a{display:block;margin:0 calc(-24px + 0.25rem) 0 -0.2rem;padding:calc((16px - 0.57rem ) / 2 ) 0.25rem;padding-left:0.2rem;}.sidebar-crate h2 .version{display:block;font-weight:normal;font-size:1rem;overflow-wrap:break-word;}.sidebar-crate+.version{margin-top:-1rem;margin-bottom:1rem;}.mobile-topbar{display:none;}.rustdoc .example-wrap{display:flex;position:relative;margin-bottom:10px;}.rustdoc .example-wrap:last-child{margin-bottom:0px;}.rustdoc .example-wrap pre{margin:0;flex-grow:1;}.rustdoc:not(.src) .example-wrap pre{overflow:auto hidden;}.rustdoc .example-wrap pre.example-line-numbers,.rustdoc .example-wrap pre.src-line-numbers{flex-grow:0;min-width:fit-content;overflow:initial;text-align:right;-webkit-user-select:none;user-select:none;padding:14px 8px;color:var(--src-line-numbers-span-color);}.rustdoc .example-wrap pre.src-line-numbers{padding:14px 0;}.src-line-numbers a,.src-line-numbers span{color:var(--src-line-numbers-span-color);padding:0 8px;}.src-line-numbers :target{background-color:transparent;border-right:none;padding:0 8px;}.src-line-numbers .line-highlighted{background-color:var(--src-line-number-highlighted-background-color);}.search-loading{text-align:center;}.docblock-short{overflow-wrap:break-word;overflow-wrap:anywhere;}.docblock :not(pre)>code,.docblock-short code{white-space:pre-wrap;}.top-doc .docblock h2{font-size:1.375rem;}.top-doc .docblock h3{font-size:1.25rem;}.top-doc .docblock h4,.top-doc .docblock h5{font-size:1.125rem;}.top-doc .docblock h6{font-size:1rem;}.docblock h5{font-size:1rem;}.docblock h6{font-size:0.875rem;}.docblock{margin-left:24px;position:relative;}.docblock>:not(.more-examples-toggle):not(.example-wrap){max-width:100%;overflow-x:auto;}.out-of-band{flex-grow:0;font-size:1.125rem;}.docblock code,.docblock-short code,pre,.rustdoc.src .example-wrap{background-color:var(--code-block-background-color);}#main-content{position:relative;}.docblock table{margin:.5em 0;border-collapse:collapse;}.docblock table td,.docblock table th{padding:.5em;border:1px solid var(--border-color);}.docblock table tbody tr:nth-child(2n){background:var(--table-alt-row-background-color);}div.where{white-space:pre-wrap;font-size:0.875rem;}.item-info{display:block;margin-left:24px;}.item-info code{font-size:0.875rem;}#main-content>.item-info{margin-left:0;}nav.sub{flex-grow:1;flex-flow:row nowrap;margin:4px 0 25px 0;display:flex;align-items:center;}.search-form{position:relative;display:flex;height:34px;flex-grow:1;}.src nav.sub{margin:0 0 15px 0;}.section-header{display:block;position:relative;}.section-header:hover>.anchor,.impl:hover>.anchor,.trait-impl:hover>.anchor,.variant:hover>.anchor{display:initial;}.anchor{display:none;position:absolute;left:-0.5em;background:none !important;}.anchor.field{left:-5px;}.section-header>.anchor{left:-15px;padding-right:8px;}h2.section-header>.anchor{padding-right:6px;}a.doc-anchor{color:var(--main-color);display:none;position:absolute;left:-17px;padding-right:5px;padding-left:3px;}*:hover>.doc-anchor{display:block;}.top-doc>.docblock>*:first-child>.doc-anchor{display:none !important;}.main-heading a:hover,.example-wrap .rust a:hover,.all-items a:hover,.docblock a:not(.test-arrow):not(.scrape-help):not(.tooltip):hover:not(.doc-anchor),.docblock-short a:not(.test-arrow):not(.scrape-help):not(.tooltip):hover,.item-info a{text-decoration:underline;}.crate.block li.current a{font-weight:500;}table,.item-table{overflow-wrap:break-word;}.item-table{display:table;padding:0;margin:0;}.item-table>li{display:table-row;}.item-table>li>div{display:table-cell;}.item-table>li>.item-name{padding-right:1.25rem;}.search-results-title{margin-top:0;white-space:nowrap;display:flex;align-items:baseline;}#crate-search-div{position:relative;min-width:5em;}#crate-search{min-width:115px;padding:0 23px 0 4px;max-width:100%;text-overflow:ellipsis;border:1px solid var(--border-color);border-radius:4px;outline:none;cursor:pointer;-moz-appearance:none;-webkit-appearance:none;text-indent:0.01px;background-color:var(--main-background-color);color:inherit;line-height:1.5;font-weight:500;}#crate-search:hover,#crate-search:focus{border-color:var(--crate-search-hover-border);}#crate-search-div::after{pointer-events:none;width:100%;height:100%;position:absolute;top:0;left:0;content:"";background-repeat:no-repeat;background-size:20px;background-position:calc(100% - 2px) 56%;background-image:url('data:image/svg+xml, \ + ');filter:var(--crate-search-div-filter);}#crate-search-div:hover::after,#crate-search-div:focus-within::after{filter:var(--crate-search-div-hover-filter);}#crate-search>option{font-size:1rem;}.search-input{-webkit-appearance:none;outline:none;border:1px solid var(--border-color);border-radius:2px;padding:8px;font-size:1rem;flex-grow:1;background-color:var(--button-background-color);color:var(--search-color);}.search-input:focus{border-color:var(--search-input-focused-border-color);}.search-results{display:none;}.search-results.active{display:block;}.search-results>a{display:flex;margin-left:2px;margin-right:2px;border-bottom:1px solid var(--search-result-border-color);gap:1em;}.search-results>a>div.desc{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;flex:2;}.search-results a:hover,.search-results a:focus{background-color:var(--search-result-link-focus-background-color);}.search-results .result-name{display:flex;align-items:center;justify-content:start;flex:3;}.search-results .result-name .alias{color:var(--search-results-alias-color);}.search-results .result-name .grey{color:var(--search-results-grey-color);}.search-results .result-name .typename{color:var(--search-results-grey-color);font-size:0.875rem;width:var(--search-typename-width);}.search-results .result-name .path{word-break:break-all;max-width:calc(100% - var(--search-typename-width));display:inline-block;}.search-results .result-name .path>*{display:inline;}.popover{position:absolute;top:100%;right:0;z-index:calc(var(--desktop-sidebar-z-index) + 1);margin-top:7px;border-radius:3px;border:1px solid var(--border-color);background-color:var(--main-background-color);color:var(--main-color);--popover-arrow-offset:11px;}.popover::before{content:'';position:absolute;right:var(--popover-arrow-offset);border:solid var(--border-color);border-width:1px 1px 0 0;background-color:var(--main-background-color);padding:4px;transform:rotate(-45deg);top:-5px;}.setting-line{margin:1.2em 0.6em;}.setting-radio input,.setting-check input{margin-right:0.3em;height:1.2rem;width:1.2rem;border:2px solid var(--settings-input-border-color);outline:none;-webkit-appearance:none;cursor:pointer;}.setting-radio input{border-radius:50%;}.setting-radio span,.setting-check span{padding-bottom:1px;}.setting-radio{margin-top:0.1em;margin-bottom:0.1em;min-width:3.8em;padding:0.3em;display:inline-flex;align-items:center;cursor:pointer;}.setting-radio+.setting-radio{margin-left:0.5em;}.setting-check{margin-right:20px;display:flex;align-items:center;cursor:pointer;}.setting-radio input:checked{box-shadow:inset 0 0 0 3px var(--main-background-color);background-color:var(--settings-input-color);}.setting-check input:checked{background-color:var(--settings-input-color);border-width:1px;content:url('data:image/svg+xml,\ + \ + ');}.setting-radio input:focus,.setting-check input:focus{box-shadow:0 0 1px 1px var(--settings-input-color);}.setting-radio input:checked:focus{box-shadow:inset 0 0 0 3px var(--main-background-color),0 0 2px 2px var(--settings-input-color);}.setting-radio input:hover,.setting-check input:hover{border-color:var(--settings-input-color) !important;}#help.popover{max-width:600px;--popover-arrow-offset:48px;}#help dt{float:left;clear:left;margin-right:0.5rem;}#help span.top,#help span.bottom{text-align:center;display:block;font-size:1.125rem;}#help span.top{margin:10px 0;border-bottom:1px solid var(--border-color);padding-bottom:4px;margin-bottom:6px;}#help span.bottom{clear:both;border-top:1px solid var(--border-color);}.side-by-side>div{width:50%;float:left;padding:0 20px 20px 17px;}.item-info .stab{display:block;padding:3px;margin-bottom:5px;}.item-name .stab{margin-left:0.3125em;}.stab{padding:0 2px;font-size:0.875rem;font-weight:normal;color:var(--main-color);background-color:var(--stab-background-color);width:fit-content;white-space:pre-wrap;border-radius:3px;display:inline;vertical-align:baseline;}.stab.portability>code{background:none;color:var(--stab-code-color);}.stab .emoji,.item-info .stab::before{font-size:1.25rem;}.stab .emoji{margin-right:0.3rem;}.item-info .stab::before{content:"\0";width:0;display:inline-block;color:transparent;}.emoji{text-shadow:1px 0 0 black,-1px 0 0 black,0 1px 0 black,0 -1px 0 black;}.since{font-weight:normal;font-size:initial;}.rightside{padding-left:12px;float:right;}.rightside:not(a),.out-of-band{color:var(--right-side-color);}pre.rust{tab-size:4;-moz-tab-size:4;}pre.rust .kw{color:var(--code-highlight-kw-color);}pre.rust .kw-2{color:var(--code-highlight-kw-2-color);}pre.rust .lifetime{color:var(--code-highlight-lifetime-color);}pre.rust .prelude-ty{color:var(--code-highlight-prelude-color);}pre.rust .prelude-val{color:var(--code-highlight-prelude-val-color);}pre.rust .string{color:var(--code-highlight-string-color);}pre.rust .number{color:var(--code-highlight-number-color);}pre.rust .bool-val{color:var(--code-highlight-literal-color);}pre.rust .self{color:var(--code-highlight-self-color);}pre.rust .attr{color:var(--code-highlight-attribute-color);}pre.rust .macro,pre.rust .macro-nonterminal{color:var(--code-highlight-macro-color);}pre.rust .question-mark{font-weight:bold;color:var(--code-highlight-question-mark-color);}pre.rust .comment{color:var(--code-highlight-comment-color);}pre.rust .doccomment{color:var(--code-highlight-doc-comment-color);}.rustdoc.src .example-wrap pre.rust a{background:var(--codeblock-link-background);}.example-wrap.compile_fail,.example-wrap.should_panic{border-left:2px solid var(--codeblock-error-color);}.ignore.example-wrap{border-left:2px solid var(--codeblock-ignore-color);}.example-wrap.compile_fail:hover,.example-wrap.should_panic:hover{border-left:2px solid var(--codeblock-error-hover-color);}.example-wrap.ignore:hover{border-left:2px solid var(--codeblock-ignore-hover-color);}.example-wrap.compile_fail .tooltip,.example-wrap.should_panic .tooltip{color:var(--codeblock-error-color);}.example-wrap.ignore .tooltip{color:var(--codeblock-ignore-color);}.example-wrap.compile_fail:hover .tooltip,.example-wrap.should_panic:hover .tooltip{color:var(--codeblock-error-hover-color);}.example-wrap.ignore:hover .tooltip{color:var(--codeblock-ignore-hover-color);}.example-wrap .tooltip{position:absolute;display:block;left:-25px;top:5px;margin:0;line-height:1;}.example-wrap.compile_fail .tooltip,.example-wrap.should_panic .tooltip,.example-wrap.ignore .tooltip{font-weight:bold;font-size:1.25rem;}.content .docblock .warning{border-left:2px solid var(--warning-border-color);padding:14px;position:relative;overflow-x:visible !important;}.content .docblock .warning::before{color:var(--warning-border-color);content:"ⓘ";position:absolute;left:-25px;top:5px;font-weight:bold;font-size:1.25rem;}.top-doc>.docblock>.warning:first-child::before{top:20px;}a.test-arrow{visibility:hidden;position:absolute;padding:5px 10px 5px 10px;border-radius:5px;font-size:1.375rem;top:5px;right:5px;z-index:1;color:var(--test-arrow-color);background-color:var(--test-arrow-background-color);}a.test-arrow:hover{color:var(--test-arrow-hover-color);background-color:var(--test-arrow-hover-background-color);}.example-wrap:hover .test-arrow{visibility:visible;}.code-attribute{font-weight:300;color:var(--code-attribute-color);}.item-spacer{width:100%;height:12px;display:block;}.out-of-band>span.since{font-size:1.25rem;}.sub-variant h4{font-size:1rem;font-weight:400;margin-top:0;margin-bottom:0;}.sub-variant{margin-left:24px;margin-bottom:40px;}.sub-variant>.sub-variant-field{margin-left:24px;}:target{padding-right:3px;background-color:var(--target-background-color);border-right:3px solid var(--target-border-color);}.code-header a.tooltip{color:inherit;margin-right:15px;position:relative;}.code-header a.tooltip:hover{color:var(--link-color);}a.tooltip:hover::after{position:absolute;top:calc(100% - 10px);left:-15px;right:-15px;height:20px;content:"\00a0";}.fade-out{opacity:0;transition:opacity 0.45s cubic-bezier(0,0,0.1,1.0);}.popover.tooltip .content{margin:0.25em 0.5em;}.popover.tooltip .content pre,.popover.tooltip .content code{background:transparent;margin:0;padding:0;font-size:1.25rem;white-space:pre-wrap;}.popover.tooltip .content>h3:first-child{margin:0 0 5px 0;}.search-failed{text-align:center;margin-top:20px;display:none;}.search-failed.active{display:block;}.search-failed>ul{text-align:left;max-width:570px;margin-left:auto;margin-right:auto;}#search-tabs{display:flex;flex-direction:row;gap:1px;margin-bottom:4px;}#search-tabs button{text-align:center;font-size:1.125rem;border:0;border-top:2px solid;flex:1;line-height:1.5;color:inherit;}#search-tabs button:not(.selected){background-color:var(--search-tab-button-not-selected-background);border-top-color:var(--search-tab-button-not-selected-border-top-color);}#search-tabs button:hover,#search-tabs button.selected{background-color:var(--search-tab-button-selected-background);border-top-color:var(--search-tab-button-selected-border-top-color);}#search-tabs .count{font-size:1rem;font-variant-numeric:tabular-nums;color:var(--search-tab-title-count-color);}#search .error code{border-radius:3px;background-color:var(--search-error-code-background-color);}.search-corrections{font-weight:normal;}#src-sidebar{width:100%;overflow:auto;}#src-sidebar div.files>a:hover,details.dir-entry summary:hover,#src-sidebar div.files>a:focus,details.dir-entry summary:focus{background-color:var(--src-sidebar-background-hover);}#src-sidebar div.files>a.selected{background-color:var(--src-sidebar-background-selected);}.src-sidebar-title{position:sticky;top:0;display:flex;padding:8px 8px 0 48px;margin-bottom:7px;background:var(--sidebar-background-color);border-bottom:1px solid var(--border-color);}#settings-menu,#help-button{margin-left:4px;display:flex;}#sidebar-button{display:none;line-height:0;}.hide-sidebar #sidebar-button,.src #sidebar-button{display:flex;margin-right:4px;position:fixed;left:6px;height:34px;width:34px;background-color:var(--main-background-color);z-index:1;}.src #sidebar-button{left:8px;z-index:calc(var(--desktop-sidebar-z-index) + 1);}.hide-sidebar .src #sidebar-button{position:static;}#settings-menu>a,#help-button>a,#sidebar-button>a{display:flex;align-items:center;justify-content:center;background-color:var(--button-background-color);border:1px solid var(--border-color);border-radius:2px;color:var(--settings-button-color);font-size:20px;width:33px;}#settings-menu>a:hover,#settings-menu>a:focus,#help-button>a:hover,#help-button>a:focus,#sidebar-button>a:hover,#sidebar-button>a:focus{border-color:var(--settings-button-border-focus);}#sidebar-button>a:before{content:url('data:image/svg+xml,\ + \ + \ + ');width:22px;height:22px;}#copy-path{color:var(--copy-path-button-color);background:var(--main-background-color);height:34px;margin-left:10px;padding:0;padding-left:2px;border:0;width:33px;}#copy-path>img{filter:var(--copy-path-img-filter);}#copy-path:hover>img{filter:var(--copy-path-img-hover-filter);}@keyframes rotating{from{transform:rotate(0deg);}to{transform:rotate(360deg);}}#settings-menu.rotate>a img{animation:rotating 2s linear infinite;}kbd{display:inline-block;padding:3px 5px;font:15px monospace;line-height:10px;vertical-align:middle;border:solid 1px var(--border-color);border-radius:3px;color:var(--kbd-color);background-color:var(--kbd-background);box-shadow:inset 0 -1px 0 var(--kbd-box-shadow-color);}ul.all-items>li{list-style:none;}details.dir-entry{padding-left:4px;}details.dir-entry>summary{margin:0 0 0 -4px;padding:0 0 0 4px;cursor:pointer;}details.dir-entry div.folders,details.dir-entry div.files{padding-left:23px;}details.dir-entry a{display:block;}details.toggle{contain:layout;position:relative;}details.toggle>summary.hideme{cursor:pointer;font-size:1rem;}details.toggle>summary{list-style:none;outline:none;}details.toggle>summary::-webkit-details-marker,details.toggle>summary::marker{display:none;}details.toggle>summary.hideme>span{margin-left:9px;}details.toggle>summary::before{background:url('data:image/svg+xml,') no-repeat top left;content:"";cursor:pointer;width:16px;height:16px;display:inline-block;vertical-align:middle;opacity:.5;filter:var(--toggle-filter);}details.toggle>summary.hideme>span,.more-examples-toggle summary,.more-examples-toggle .hide-more{color:var(--toggles-color);}details.toggle>summary::after{content:"Expand";overflow:hidden;width:0;height:0;position:absolute;}details.toggle>summary.hideme::after{content:"";}details.toggle>summary:focus::before,details.toggle>summary:hover::before{opacity:1;}details.toggle>summary:focus-visible::before{outline:1px dotted #000;outline-offset:1px;}details.non-exhaustive{margin-bottom:8px;}details.toggle>summary.hideme::before{position:relative;}details.toggle>summary:not(.hideme)::before{position:absolute;left:-24px;top:4px;}.impl-items>details.toggle>summary:not(.hideme)::before{position:absolute;left:-24px;}details.toggle[open] >summary.hideme{position:absolute;}details.toggle[open] >summary.hideme>span{display:none;}details.toggle[open] >summary::before{background:url('data:image/svg+xml,') no-repeat top left;}details.toggle[open] >summary::after{content:"Collapse";}.docblock summary>*{display:inline-block;}.docblock>.example-wrap:first-child .tooltip{margin-top:16px;}.src #sidebar-button>a:before,.sidebar-menu-toggle:before{content:url('data:image/svg+xml,\ + ');opacity:0.75;}.sidebar-menu-toggle:hover:before,.sidebar-menu-toggle:active:before,.sidebar-menu-toggle:focus:before{opacity:1;}.src #sidebar-button>a:before{content:url('data:image/svg+xml,\ + \ + \ + ');opacity:0.75;}@media (max-width:850px){#search-tabs .count{display:block;}}@media (max-width:700px){*[id]{scroll-margin-top:45px;}.rustdoc{display:block;}main{padding-left:15px;padding-top:0px;}.main-heading{flex-direction:column;}.out-of-band{text-align:left;margin-left:initial;padding:initial;}.out-of-band .since::before{content:"Since ";}.sidebar .logo-container,.sidebar .location,.sidebar-resizer{display:none;}.sidebar{position:fixed;top:45px;left:-1000px;z-index:11;height:calc(100vh - 45px);width:200px;}.src main,.rustdoc.src .sidebar{top:0;padding:0;height:100vh;border:0;}.src .search-form{margin-left:40px;}.hide-sidebar .search-form{margin-left:32px;}.hide-sidebar .src .search-form{margin-left:0;}.sidebar.shown,.src-sidebar-expanded .src .sidebar,.rustdoc:not(.src) .sidebar:focus-within{left:0;}.mobile-topbar h2{padding-bottom:0;margin:auto 0.5em auto auto;overflow:hidden;font-size:24px;}.mobile-topbar h2 a{display:block;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;}.mobile-topbar .logo-container>img{max-width:35px;max-height:35px;margin:5px 0 5px 20px;}.mobile-topbar{display:flex;flex-direction:row;position:sticky;z-index:10;font-size:2rem;height:45px;width:100%;left:0;top:0;}.hide-sidebar .mobile-topbar{display:none;}.sidebar-menu-toggle{width:45px;border:none;line-height:0;}.hide-sidebar .sidebar-menu-toggle{display:none;}.sidebar-elems{margin-top:1em;}.anchor{display:none !important;}#main-content>details.toggle>summary::before,#main-content>div>details.toggle>summary::before{left:-11px;}#copy-path,#help-button{display:none;}#sidebar-button>a:before{content:url('data:image/svg+xml,\ + \ + \ + ');width:22px;height:22px;}.sidebar-menu-toggle:before{filter:var(--mobile-sidebar-menu-filter);}.sidebar-menu-toggle:hover{background:var(--main-background-color);}.item-table,.item-row,.item-table>li,.item-table>li>div,.search-results>a,.search-results>a>div{display:block;}.search-results>a{padding:5px 0px;}.search-results>a>div.desc,.item-table>li>div.desc{padding-left:2em;}.search-results .result-name{display:block;}.search-results .result-name .typename{width:initial;margin-right:0;}.search-results .result-name .typename,.search-results .result-name .path{display:inline;}.src-sidebar-expanded .src .sidebar{position:fixed;max-width:100vw;width:100vw;}.src .src-sidebar-title{padding-top:0;}details.toggle:not(.top-doc)>summary{margin-left:10px;}.impl-items>details.toggle>summary:not(.hideme)::before,#main-content>details.toggle:not(.top-doc)>summary::before,#main-content>div>details.toggle>summary::before{left:-11px;}.impl-items>.item-info{margin-left:34px;}.src nav.sub{margin:0;padding:var(--nav-sub-mobile-padding);}}@media (min-width:701px){.scraped-example-title{position:absolute;z-index:10;background:var(--main-background-color);bottom:8px;right:5px;padding:2px 4px;box-shadow:0 0 4px var(--main-background-color);}}@media print{nav.sidebar,nav.sub,.out-of-band,a.src,#copy-path,details.toggle[open] >summary::before,details.toggle>summary::before,details.toggle.top-doc>summary{display:none;}.docblock{margin-left:0;}main{padding:10px;}}@media (max-width:464px){.docblock{margin-left:12px;}.docblock code{overflow-wrap:break-word;overflow-wrap:anywhere;}nav.sub{flex-direction:column;}.search-form{align-self:stretch;}}.variant,.implementors-toggle>summary,.impl,#implementors-list>.docblock,.impl-items>section,.impl-items>.toggle>summary,.methods>section,.methods>.toggle>summary{margin-bottom:0.75em;}.variants>.docblock,.implementors-toggle>.docblock,.impl-items>.toggle[open]:not(:last-child),.methods>.toggle[open]:not(:last-child),.implementors-toggle[open]:not(:last-child){margin-bottom:2em;}#trait-implementations-list .impl-items>.toggle:not(:last-child),#synthetic-implementations-list .impl-items>.toggle:not(:last-child),#blanket-implementations-list .impl-items>.toggle:not(:last-child){margin-bottom:1em;}.scraped-example-list .scrape-help{margin-left:10px;padding:0 4px;font-weight:normal;font-size:12px;position:relative;bottom:1px;border:1px solid var(--scrape-example-help-border-color);border-radius:50px;color:var(--scrape-example-help-color);}.scraped-example-list .scrape-help:hover{border-color:var(--scrape-example-help-hover-border-color);color:var(--scrape-example-help-hover-color);}.scraped-example{position:relative;}.scraped-example .code-wrapper{position:relative;display:flex;flex-direction:row;flex-wrap:wrap;width:100%;}.scraped-example:not(.expanded) .code-wrapper{max-height:calc(1.5em * 5 + 10px);}.scraped-example:not(.expanded) .code-wrapper pre{overflow-y:hidden;padding-bottom:0;max-height:calc(1.5em * 5 + 10px);}.more-scraped-examples .scraped-example:not(.expanded) .code-wrapper,.more-scraped-examples .scraped-example:not(.expanded) .code-wrapper pre{max-height:calc(1.5em * 10 + 10px);}.scraped-example .code-wrapper .next,.scraped-example .code-wrapper .prev,.scraped-example .code-wrapper .expand{color:var(--main-color);position:absolute;top:0.25em;z-index:1;padding:0;background:none;border:none;-webkit-appearance:none;opacity:1;}.scraped-example .code-wrapper .prev{right:2.25em;}.scraped-example .code-wrapper .next{right:1.25em;}.scraped-example .code-wrapper .expand{right:0.25em;}.scraped-example:not(.expanded) .code-wrapper::before,.scraped-example:not(.expanded) .code-wrapper::after{content:" ";width:100%;height:5px;position:absolute;z-index:1;}.scraped-example:not(.expanded) .code-wrapper::before{top:0;background:linear-gradient(to bottom,var(--scrape-example-code-wrapper-background-start),var(--scrape-example-code-wrapper-background-end));}.scraped-example:not(.expanded) .code-wrapper::after{bottom:0;background:linear-gradient(to top,var(--scrape-example-code-wrapper-background-start),var(--scrape-example-code-wrapper-background-end));}.scraped-example .code-wrapper .example-wrap{width:100%;overflow-y:hidden;margin-bottom:0;}.scraped-example:not(.expanded) .code-wrapper .example-wrap{overflow-x:hidden;}.scraped-example .example-wrap .rust span.highlight{background:var(--scrape-example-code-line-highlight);}.scraped-example .example-wrap .rust span.highlight.focus{background:var(--scrape-example-code-line-highlight-focus);}.more-examples-toggle{max-width:calc(100% + 25px);margin-top:10px;margin-left:-25px;}.more-examples-toggle .hide-more{margin-left:25px;cursor:pointer;}.more-scraped-examples{margin-left:25px;position:relative;}.toggle-line{position:absolute;top:5px;bottom:0;right:calc(100% + 10px);padding:0 4px;cursor:pointer;}.toggle-line-inner{min-width:2px;height:100%;background:var(--scrape-example-toggle-line-background);}.toggle-line:hover .toggle-line-inner{background:var(--scrape-example-toggle-line-hover-background);}.more-scraped-examples .scraped-example,.example-links{margin-top:20px;}.more-scraped-examples .scraped-example:first-child{margin-top:5px;}.example-links ul{margin-bottom:0;}:root[data-theme="light"]{--main-background-color:white;--main-color:black;--settings-input-color:#2196f3;--settings-input-border-color:#717171;--settings-button-color:#000;--settings-button-border-focus:#717171;--sidebar-background-color:#f5f5f5;--sidebar-background-color-hover:#e0e0e0;--code-block-background-color:#f5f5f5;--scrollbar-track-background-color:#dcdcdc;--scrollbar-thumb-background-color:rgba(36,37,39,0.6);--scrollbar-color:rgba(36,37,39,0.6) #d9d9d9;--headings-border-bottom-color:#ddd;--border-color:#e0e0e0;--button-background-color:#fff;--right-side-color:grey;--code-attribute-color:#999;--toggles-color:#999;--toggle-filter:none;--mobile-sidebar-menu-filter:none;--search-input-focused-border-color:#66afe9;--copy-path-button-color:#999;--copy-path-img-filter:invert(50%);--copy-path-img-hover-filter:invert(35%);--codeblock-error-hover-color:rgb(255,0,0);--codeblock-error-color:rgba(255,0,0,.5);--codeblock-ignore-hover-color:rgb(255,142,0);--codeblock-ignore-color:rgba(255,142,0,.6);--warning-border-color:#ff8e00;--type-link-color:#ad378a;--trait-link-color:#6e4fc9;--assoc-item-link-color:#3873ad;--function-link-color:#ad7c37;--macro-link-color:#068000;--keyword-link-color:#3873ad;--mod-link-color:#3873ad;--link-color:#3873ad;--sidebar-link-color:#356da4;--sidebar-current-link-background-color:#fff;--search-result-link-focus-background-color:#ccc;--search-result-border-color:#aaa3;--search-color:#000;--search-error-code-background-color:#d0cccc;--search-results-alias-color:#000;--search-results-grey-color:#999;--search-tab-title-count-color:#888;--search-tab-button-not-selected-border-top-color:#e6e6e6;--search-tab-button-not-selected-background:#e6e6e6;--search-tab-button-selected-border-top-color:#0089ff;--search-tab-button-selected-background:#fff;--stab-background-color:#fff5d6;--stab-code-color:#000;--code-highlight-kw-color:#8959a8;--code-highlight-kw-2-color:#4271ae;--code-highlight-lifetime-color:#b76514;--code-highlight-prelude-color:#4271ae;--code-highlight-prelude-val-color:#c82829;--code-highlight-number-color:#718c00;--code-highlight-string-color:#718c00;--code-highlight-literal-color:#c82829;--code-highlight-attribute-color:#c82829;--code-highlight-self-color:#c82829;--code-highlight-macro-color:#3e999f;--code-highlight-question-mark-color:#ff9011;--code-highlight-comment-color:#8e908c;--code-highlight-doc-comment-color:#4d4d4c;--src-line-numbers-span-color:#c67e2d;--src-line-number-highlighted-background-color:#fdffd3;--test-arrow-color:#f5f5f5;--test-arrow-background-color:rgba(78,139,202,0.2);--test-arrow-hover-color:#f5f5f5;--test-arrow-hover-background-color:rgb(78,139,202);--target-background-color:#fdffd3;--target-border-color:#ad7c37;--kbd-color:#000;--kbd-background:#fafbfc;--kbd-box-shadow-color:#c6cbd1;--rust-logo-filter:initial;--crate-search-div-filter:invert(100%) sepia(0%) saturate(4223%) hue-rotate(289deg) brightness(114%) contrast(76%);--crate-search-div-hover-filter:invert(44%) sepia(18%) saturate(23%) hue-rotate(317deg) brightness(96%) contrast(93%);--crate-search-hover-border:#717171;--src-sidebar-background-selected:#fff;--src-sidebar-background-hover:#e0e0e0;--table-alt-row-background-color:#f5f5f5;--codeblock-link-background:#eee;--scrape-example-toggle-line-background:#ccc;--scrape-example-toggle-line-hover-background:#999;--scrape-example-code-line-highlight:#fcffd6;--scrape-example-code-line-highlight-focus:#f6fdb0;--scrape-example-help-border-color:#555;--scrape-example-help-color:#333;--scrape-example-help-hover-border-color:#000;--scrape-example-help-hover-color:#000;--scrape-example-code-wrapper-background-start:rgba(255,255,255,1);--scrape-example-code-wrapper-background-end:rgba(255,255,255,0);--sidebar-resizer-hover:hsl(207,90%,66%);--sidebar-resizer-active:hsl(207,90%,54%);}:root[data-theme="dark"]{--main-background-color:#353535;--main-color:#ddd;--settings-input-color:#2196f3;--settings-input-border-color:#999;--settings-button-color:#000;--settings-button-border-focus:#ffb900;--sidebar-background-color:#505050;--sidebar-background-color-hover:#676767;--code-block-background-color:#2A2A2A;--scrollbar-track-background-color:#717171;--scrollbar-thumb-background-color:rgba(32,34,37,.6);--scrollbar-color:rgba(32,34,37,.6) #5a5a5a;--headings-border-bottom-color:#d2d2d2;--border-color:#e0e0e0;--button-background-color:#f0f0f0;--right-side-color:grey;--code-attribute-color:#999;--toggles-color:#999;--toggle-filter:invert(100%);--mobile-sidebar-menu-filter:invert(100%);--search-input-focused-border-color:#008dfd;--copy-path-button-color:#999;--copy-path-img-filter:invert(50%);--copy-path-img-hover-filter:invert(65%);--codeblock-error-hover-color:rgb(255,0,0);--codeblock-error-color:rgba(255,0,0,.5);--codeblock-ignore-hover-color:rgb(255,142,0);--codeblock-ignore-color:rgba(255,142,0,.6);--warning-border-color:#ff8e00;--type-link-color:#2dbfb8;--trait-link-color:#b78cf2;--assoc-item-link-color:#d2991d;--function-link-color:#2bab63;--macro-link-color:#09bd00;--keyword-link-color:#d2991d;--mod-link-color:#d2991d;--link-color:#d2991d;--sidebar-link-color:#fdbf35;--sidebar-current-link-background-color:#444;--search-result-link-focus-background-color:#616161;--search-result-border-color:#aaa3;--search-color:#111;--search-error-code-background-color:#484848;--search-results-alias-color:#fff;--search-results-grey-color:#ccc;--search-tab-title-count-color:#888;--search-tab-button-not-selected-border-top-color:#252525;--search-tab-button-not-selected-background:#252525;--search-tab-button-selected-border-top-color:#0089ff;--search-tab-button-selected-background:#353535;--stab-background-color:#314559;--stab-code-color:#e6e1cf;--code-highlight-kw-color:#ab8ac1;--code-highlight-kw-2-color:#769acb;--code-highlight-lifetime-color:#d97f26;--code-highlight-prelude-color:#769acb;--code-highlight-prelude-val-color:#ee6868;--code-highlight-number-color:#83a300;--code-highlight-string-color:#83a300;--code-highlight-literal-color:#ee6868;--code-highlight-attribute-color:#ee6868;--code-highlight-self-color:#ee6868;--code-highlight-macro-color:#3e999f;--code-highlight-question-mark-color:#ff9011;--code-highlight-comment-color:#8d8d8b;--code-highlight-doc-comment-color:#8ca375;--src-line-numbers-span-color:#3b91e2;--src-line-number-highlighted-background-color:#0a042f;--test-arrow-color:#dedede;--test-arrow-background-color:rgba(78,139,202,0.2);--test-arrow-hover-color:#dedede;--test-arrow-hover-background-color:#4e8bca;--target-background-color:#494a3d;--target-border-color:#bb7410;--kbd-color:#000;--kbd-background:#fafbfc;--kbd-box-shadow-color:#c6cbd1;--rust-logo-filter:drop-shadow(1px 0 0px #fff) drop-shadow(0 1px 0 #fff) drop-shadow(-1px 0 0 #fff) drop-shadow(0 -1px 0 #fff);--crate-search-div-filter:invert(94%) sepia(0%) saturate(721%) hue-rotate(255deg) brightness(90%) contrast(90%);--crate-search-div-hover-filter:invert(69%) sepia(60%) saturate(6613%) hue-rotate(184deg) brightness(100%) contrast(91%);--crate-search-hover-border:#2196f3;--src-sidebar-background-selected:#333;--src-sidebar-background-hover:#444;--table-alt-row-background-color:#2a2a2a;--codeblock-link-background:#333;--scrape-example-toggle-line-background:#999;--scrape-example-toggle-line-hover-background:#c5c5c5;--scrape-example-code-line-highlight:#5b3b01;--scrape-example-code-line-highlight-focus:#7c4b0f;--scrape-example-help-border-color:#aaa;--scrape-example-help-color:#eee;--scrape-example-help-hover-border-color:#fff;--scrape-example-help-hover-color:#fff;--scrape-example-code-wrapper-background-start:rgba(53,53,53,1);--scrape-example-code-wrapper-background-end:rgba(53,53,53,0);--sidebar-resizer-hover:hsl(207,30%,54%);--sidebar-resizer-active:hsl(207,90%,54%);}:root[data-theme="ayu"]{--main-background-color:#0f1419;--main-color:#c5c5c5;--settings-input-color:#ffb454;--settings-input-border-color:#999;--settings-button-color:#fff;--settings-button-border-focus:#e0e0e0;--sidebar-background-color:#14191f;--sidebar-background-color-hover:rgba(70,70,70,0.33);--code-block-background-color:#191f26;--scrollbar-track-background-color:transparent;--scrollbar-thumb-background-color:#5c6773;--scrollbar-color:#5c6773 #24292f;--headings-border-bottom-color:#5c6773;--border-color:#5c6773;--button-background-color:#141920;--right-side-color:grey;--code-attribute-color:#999;--toggles-color:#999;--toggle-filter:invert(100%);--mobile-sidebar-menu-filter:invert(100%);--search-input-focused-border-color:#5c6773;--copy-path-button-color:#fff;--copy-path-img-filter:invert(70%);--copy-path-img-hover-filter:invert(100%);--codeblock-error-hover-color:rgb(255,0,0);--codeblock-error-color:rgba(255,0,0,.5);--codeblock-ignore-hover-color:rgb(255,142,0);--codeblock-ignore-color:rgba(255,142,0,.6);--warning-border-color:#ff8e00;--type-link-color:#ffa0a5;--trait-link-color:#39afd7;--assoc-item-link-color:#39afd7;--function-link-color:#fdd687;--macro-link-color:#a37acc;--keyword-link-color:#39afd7;--mod-link-color:#39afd7;--link-color:#39afd7;--sidebar-link-color:#53b1db;--sidebar-current-link-background-color:transparent;--search-result-link-focus-background-color:#3c3c3c;--search-result-border-color:#aaa3;--search-color:#fff;--search-error-code-background-color:#4f4c4c;--search-results-alias-color:#c5c5c5;--search-results-grey-color:#999;--search-tab-title-count-color:#888;--search-tab-button-not-selected-border-top-color:none;--search-tab-button-not-selected-background:transparent !important;--search-tab-button-selected-border-top-color:none;--search-tab-button-selected-background:#141920 !important;--stab-background-color:#314559;--stab-code-color:#e6e1cf;--code-highlight-kw-color:#ff7733;--code-highlight-kw-2-color:#ff7733;--code-highlight-lifetime-color:#ff7733;--code-highlight-prelude-color:#69f2df;--code-highlight-prelude-val-color:#ff7733;--code-highlight-number-color:#b8cc52;--code-highlight-string-color:#b8cc52;--code-highlight-literal-color:#ff7733;--code-highlight-attribute-color:#e6e1cf;--code-highlight-self-color:#36a3d9;--code-highlight-macro-color:#a37acc;--code-highlight-question-mark-color:#ff9011;--code-highlight-comment-color:#788797;--code-highlight-doc-comment-color:#a1ac88;--src-line-numbers-span-color:#5c6773;--src-line-number-highlighted-background-color:rgba(255,236,164,0.06);--test-arrow-color:#788797;--test-arrow-background-color:rgba(57,175,215,0.09);--test-arrow-hover-color:#c5c5c5;--test-arrow-hover-background-color:rgba(57,175,215,0.368);--target-background-color:rgba(255,236,164,0.06);--target-border-color:rgba(255,180,76,0.85);--kbd-color:#c5c5c5;--kbd-background:#314559;--kbd-box-shadow-color:#5c6773;--rust-logo-filter:drop-shadow(1px 0 0px #fff) drop-shadow(0 1px 0 #fff) drop-shadow(-1px 0 0 #fff) drop-shadow(0 -1px 0 #fff);--crate-search-div-filter:invert(41%) sepia(12%) saturate(487%) hue-rotate(171deg) brightness(94%) contrast(94%);--crate-search-div-hover-filter:invert(98%) sepia(12%) saturate(81%) hue-rotate(343deg) brightness(113%) contrast(76%);--crate-search-hover-border:#e0e0e0;--src-sidebar-background-selected:#14191f;--src-sidebar-background-hover:#14191f;--table-alt-row-background-color:#191f26;--codeblock-link-background:#333;--scrape-example-toggle-line-background:#999;--scrape-example-toggle-line-hover-background:#c5c5c5;--scrape-example-code-line-highlight:#5b3b01;--scrape-example-code-line-highlight-focus:#7c4b0f;--scrape-example-help-border-color:#aaa;--scrape-example-help-color:#eee;--scrape-example-help-hover-border-color:#fff;--scrape-example-help-hover-color:#fff;--scrape-example-code-wrapper-background-start:rgba(15,20,25,1);--scrape-example-code-wrapper-background-end:rgba(15,20,25,0);--sidebar-resizer-hover:hsl(34,50%,33%);--sidebar-resizer-active:hsl(34,100%,66%);}:root[data-theme="ayu"] h1,:root[data-theme="ayu"] h2,:root[data-theme="ayu"] h3,:root[data-theme="ayu"] h4,:where(:root[data-theme="ayu"]) h1 a,:root[data-theme="ayu"] .sidebar h2 a,:root[data-theme="ayu"] .sidebar h3 a{color:#fff;}:root[data-theme="ayu"] .docblock code{color:#ffb454;}:root[data-theme="ayu"] .docblock a>code{color:#39AFD7 !important;}:root[data-theme="ayu"] .code-header,:root[data-theme="ayu"] .docblock pre>code,:root[data-theme="ayu"] pre,:root[data-theme="ayu"] pre>code,:root[data-theme="ayu"] .item-info code,:root[data-theme="ayu"] .rustdoc.source .example-wrap{color:#e6e1cf;}:root[data-theme="ayu"] .sidebar .current,:root[data-theme="ayu"] .sidebar .current a,:root[data-theme="ayu"] .sidebar a:hover,:root[data-theme="ayu"] #src-sidebar div.files>a:hover,:root[data-theme="ayu"] details.dir-entry summary:hover,:root[data-theme="ayu"] #src-sidebar div.files>a:focus,:root[data-theme="ayu"] details.dir-entry summary:focus,:root[data-theme="ayu"] #src-sidebar div.files>a.selected{color:#ffb44c;}:root[data-theme="ayu"] .sidebar-elems .location{color:#ff7733;}:root[data-theme="ayu"] .src-line-numbers .line-highlighted{color:#708090;padding-right:7px;border-right:1px solid #ffb44c;}:root[data-theme="ayu"] .search-results a:hover,:root[data-theme="ayu"] .search-results a:focus{color:#fff !important;background-color:#3c3c3c;}:root[data-theme="ayu"] .search-results a{color:#0096cf;}:root[data-theme="ayu"] .search-results a div.desc{color:#c5c5c5;}:root[data-theme="ayu"] .result-name .primitive>i,:root[data-theme="ayu"] .result-name .keyword>i{color:#788797;}:root[data-theme="ayu"] #search-tabs>button.selected{border-bottom:1px solid #ffb44c !important;border-top:none;}:root[data-theme="ayu"] #search-tabs>button:not(.selected){border:none;background-color:transparent !important;}:root[data-theme="ayu"] #search-tabs>button:hover{border-bottom:1px solid rgba(242,151,24,0.3);}:root[data-theme="ayu"] #settings-menu>a img,:root[data-theme="ayu"] #sidebar-button>a:before{filter:invert(100);} \ No newline at end of file diff --git a/static.files/search-dd67cee4cfa65049.js b/static.files/search-dd67cee4cfa65049.js new file mode 100644 index 00000000..ef8bf865 --- /dev/null +++ b/static.files/search-dd67cee4cfa65049.js @@ -0,0 +1,5 @@ +"use strict";if(!Array.prototype.toSpliced){Array.prototype.toSpliced=function(){const me=this.slice();Array.prototype.splice.apply(me,arguments);return me}}(function(){const itemTypes=["keyword","primitive","mod","externcrate","import","struct","enum","fn","type","static","trait","impl","tymethod","method","structfield","variant","macro","associatedtype","constant","associatedconstant","union","foreigntype","existential","attr","derive","traitalias","generic",];const longItemTypes=["keyword","primitive type","module","extern crate","re-export","struct","enum","function","type alias","static","trait","","trait method","method","struct field","enum variant","macro","assoc type","constant","assoc const","union","foreign type","existential type","attribute macro","derive macro","trait alias",];const TY_GENERIC=itemTypes.indexOf("generic");const ROOT_PATH=typeof window!=="undefined"?window.rootPath:"../";function printTab(nb){let iter=0;let foundCurrentTab=false;let foundCurrentResultSet=false;onEachLazy(document.getElementById("search-tabs").childNodes,elem=>{if(nb===iter){addClass(elem,"selected");foundCurrentTab=true}else{removeClass(elem,"selected")}iter+=1});const isTypeSearch=(nb>0||iter===1);iter=0;onEachLazy(document.getElementById("results").childNodes,elem=>{if(nb===iter){addClass(elem,"active");foundCurrentResultSet=true}else{removeClass(elem,"active")}iter+=1});if(foundCurrentTab&&foundCurrentResultSet){searchState.currentTab=nb;const correctionsElem=document.getElementsByClassName("search-corrections");if(isTypeSearch){removeClass(correctionsElem[0],"hidden")}else{addClass(correctionsElem[0],"hidden")}}else if(nb!==0){printTab(0)}}const editDistanceState={current:[],prev:[],prevPrev:[],calculate:function calculate(a,b,limit){if(a.lengthlimit){return limit+1}while(b.length>0&&b[0]===a[0]){a=a.substring(1);b=b.substring(1)}while(b.length>0&&b[b.length-1]===a[a.length-1]){a=a.substring(0,a.length-1);b=b.substring(0,b.length-1)}if(b.length===0){return minDist}const aLength=a.length;const bLength=b.length;for(let i=0;i<=bLength;++i){this.current[i]=0;this.prev[i]=i;this.prevPrev[i]=Number.MAX_VALUE}for(let i=1;i<=aLength;++i){this.current[0]=i;const aIdx=i-1;for(let j=1;j<=bLength;++j){const bIdx=j-1;const substitutionCost=a[aIdx]===b[bIdx]?0:1;this.current[j]=Math.min(this.prev[j]+1,this.current[j-1]+1,this.prev[j-1]+substitutionCost);if((i>1)&&(j>1)&&(a[aIdx]===b[bIdx-1])&&(a[aIdx-1]===b[bIdx])){this.current[j]=Math.min(this.current[j],this.prevPrev[j-2]+1)}}const prevPrevTmp=this.prevPrev;this.prevPrev=this.prev;this.prev=this.current;this.current=prevPrevTmp}const distance=this.prev[bLength];return distance<=limit?distance:(limit+1)},};function editDistance(a,b,limit){return editDistanceState.calculate(a,b,limit)}function initSearch(rawSearchIndex){const MAX_RESULTS=200;const NO_TYPE_FILTER=-1;let searchIndex;let functionTypeFingerprint;let currentResults;let typeNameIdMap;const ALIASES=new Map();let typeNameIdOfArray;let typeNameIdOfSlice;let typeNameIdOfArrayOrSlice;let typeNameIdOfTuple;let typeNameIdOfUnit;let typeNameIdOfTupleOrUnit;function buildTypeMapIndex(name,isAssocType){if(name===""||name===null){return null}if(typeNameIdMap.has(name)){const obj=typeNameIdMap.get(name);obj.assocOnly=isAssocType&&obj.assocOnly;return obj.id}else{const id=typeNameIdMap.size;typeNameIdMap.set(name,{id,assocOnly:isAssocType});return id}}function isSpecialStartCharacter(c){return"<\"".indexOf(c)!==-1}function isEndCharacter(c){return"=,>-])".indexOf(c)!==-1}function itemTypeFromName(typename){const index=itemTypes.findIndex(i=>i===typename);if(index<0){throw["Unknown type filter ",typename]}return index}function getStringElem(query,parserState,isInGenerics){if(isInGenerics){throw["Unexpected ","\""," in generics"]}else if(query.literalSearch){throw["Cannot have more than one literal search element"]}else if(parserState.totalElems-parserState.genericsElems>0){throw["Cannot use literal search when there is more than one element"]}parserState.pos+=1;const start=parserState.pos;const end=getIdentEndPosition(parserState);if(parserState.pos>=parserState.length){throw["Unclosed ","\""]}else if(parserState.userQuery[end]!=="\""){throw["Unexpected ",parserState.userQuery[end]," in a string element"]}else if(start===end){throw["Cannot have empty string element"]}parserState.pos+=1;query.literalSearch=true}function isPathStart(parserState){return parserState.userQuery.slice(parserState.pos,parserState.pos+2)==="::"}function isReturnArrow(parserState){return parserState.userQuery.slice(parserState.pos,parserState.pos+2)==="->"}function isIdentCharacter(c){return(c==="_"||(c>="0"&&c<="9")||(c>="a"&&c<="z")||(c>="A"&&c<="Z"))}function isSeparatorCharacter(c){return c===","||c==="="}function isPathSeparator(c){return c===":"||c===" "}function prevIs(parserState,lookingFor){let pos=parserState.pos;while(pos>0){const c=parserState.userQuery[pos-1];if(c===lookingFor){return true}else if(c!==" "){break}pos-=1}return false}function isLastElemGeneric(elems,parserState){return(elems.length>0&&elems[elems.length-1].generics.length>0)||prevIs(parserState,">")}function skipWhitespace(parserState){while(parserState.pos0){throw["Cannot have more than one element if you use quotes"]}const typeFilter=parserState.typeFilter;parserState.typeFilter=null;if(name==="!"){if(typeFilter!==null&&typeFilter!=="primitive"){throw["Invalid search type: primitive never type ","!"," and ",typeFilter," both specified",]}if(generics.length!==0){throw["Never type ","!"," does not accept generic parameters",]}const bindingName=parserState.isInBinding;parserState.isInBinding=null;return{name:"never",id:null,fullPath:["never"],pathWithoutLast:[],pathLast:"never",normalizedPathLast:"never",generics:[],bindings:new Map(),typeFilter:"primitive",bindingName,}}const quadcolon=/::\s*::/.exec(path);if(path.startsWith("::")){throw["Paths cannot start with ","::"]}else if(path.endsWith("::")){throw["Paths cannot end with ","::"]}else if(quadcolon!==null){throw["Unexpected ",quadcolon[0]]}const pathSegments=path.split(/(?:::\s*)|(?:\s+(?:::\s*)?)/);if(pathSegments.length===0||(pathSegments.length===1&&pathSegments[0]==="")){if(generics.length>0||prevIs(parserState,">")){throw["Found generics without a path"]}else{throw["Unexpected ",parserState.userQuery[parserState.pos]]}}for(const[i,pathSegment]of pathSegments.entries()){if(pathSegment==="!"){if(i!==0){throw["Never type ","!"," is not associated item"]}pathSegments[i]="never"}}parserState.totalElems+=1;if(isInGenerics){parserState.genericsElems+=1}const bindingName=parserState.isInBinding;parserState.isInBinding=null;const bindings=new Map();const pathLast=pathSegments[pathSegments.length-1];return{name:name.trim(),id:null,fullPath:pathSegments,pathWithoutLast:pathSegments.slice(0,pathSegments.length-1),pathLast,normalizedPathLast:pathLast.replace(/_/g,""),generics:generics.filter(gen=>{if(gen.bindingName!==null){bindings.set(gen.bindingName.name,[gen,...gen.bindingName.generics]);return false}return true}),bindings,typeFilter,bindingName,}}function getIdentEndPosition(parserState){const start=parserState.pos;let end=parserState.pos;let foundExclamation=-1;while(parserState.pos0){throw["Unexpected ",c," after ",parserState.userQuery[parserState.pos-1]]}else{throw["Unexpected ",c]}}parserState.pos+=1;end=parserState.pos}if(foundExclamation!==-1&&foundExclamation!==start&&isIdentCharacter(parserState.userQuery[foundExclamation-1])){if(parserState.typeFilter===null){parserState.typeFilter="macro"}else if(parserState.typeFilter!=="macro"){throw["Invalid search type: macro ","!"," and ",parserState.typeFilter," both specified",]}end=foundExclamation}return end}function getNextElem(query,parserState,elems,isInGenerics){const generics=[];skipWhitespace(parserState);let start=parserState.pos;let end;if("[(".indexOf(parserState.userQuery[parserState.pos])!==-1){let endChar=")";let name="()";let friendlyName="tuple";if(parserState.userQuery[parserState.pos]==="["){endChar="]";name="[]";friendlyName="slice"}parserState.pos+=1;const{foundSeparator}=getItemsBefore(query,parserState,generics,endChar);const typeFilter=parserState.typeFilter;const isInBinding=parserState.isInBinding;if(typeFilter!==null&&typeFilter!=="primitive"){throw["Invalid search type: primitive ",name," and ",typeFilter," both specified",]}parserState.typeFilter=null;parserState.isInBinding=null;for(const gen of generics){if(gen.bindingName!==null){throw["Type parameter ","=",` cannot be within ${friendlyName} `,name]}}if(name==="()"&&!foundSeparator&&generics.length===1&&typeFilter===null){elems.push(generics[0])}else{parserState.totalElems+=1;if(isInGenerics){parserState.genericsElems+=1}elems.push({name:name,id:null,fullPath:[name],pathWithoutLast:[],pathLast:name,normalizedPathLast:name,generics,bindings:new Map(),typeFilter:"primitive",bindingName:isInBinding,})}}else{const isStringElem=parserState.userQuery[start]==="\"";if(isStringElem){start+=1;getStringElem(query,parserState,isInGenerics);end=parserState.pos-1}else{end=getIdentEndPosition(parserState)}if(parserState.pos=end){throw["Found generics without a path"]}parserState.pos+=1;getItemsBefore(query,parserState,generics,">")}if(isStringElem){skipWhitespace(parserState)}if(start>=end&&generics.length===0){return}if(parserState.userQuery[parserState.pos]==="="){if(parserState.isInBinding){throw["Cannot write ","="," twice in a binding"]}if(!isInGenerics){throw["Type parameter ","="," must be within generics list"]}const name=parserState.userQuery.slice(start,end).trim();if(name==="!"){throw["Type parameter ","="," key cannot be ","!"," never type"]}if(name.includes("!")){throw["Type parameter ","="," key cannot be ","!"," macro"]}if(name.includes("::")){throw["Type parameter ","="," key cannot contain ","::"," path"]}if(name.includes(":")){throw["Type parameter ","="," key cannot contain ",":"," type"]}parserState.isInBinding={name,generics}}else{elems.push(createQueryElement(query,parserState,parserState.userQuery.slice(start,end),generics,isInGenerics))}}}function getItemsBefore(query,parserState,elems,endChar){let foundStopChar=true;let foundSeparator=false;let start=parserState.pos;const oldTypeFilter=parserState.typeFilter;parserState.typeFilter=null;const oldIsInBinding=parserState.isInBinding;parserState.isInBinding=null;let extra="";if(endChar===">"){extra="<"}else if(endChar==="]"){extra="["}else if(endChar===")"){extra="("}else if(endChar===""){extra="->"}else{extra=endChar}while(parserState.pos"]}else if(prevIs(parserState,"\"")){throw["Cannot have more than one element if you use quotes"]}if(endChar!==""){throw["Expected ",",",", ","=",", or ",endChar,...extra,", found ",c,]}throw["Expected ",","," or ","=",...extra,", found ",c,]}const posBefore=parserState.pos;start=parserState.pos;getNextElem(query,parserState,elems,endChar!=="");if(endChar!==""&&parserState.pos>=parserState.length){throw["Unclosed ",extra]}if(posBefore===parserState.pos){parserState.pos+=1}foundStopChar=false}if(parserState.pos>=parserState.length&&endChar!==""){throw["Unclosed ",extra]}parserState.pos+=1;parserState.typeFilter=oldTypeFilter;parserState.isInBinding=oldIsInBinding;return{foundSeparator}}function checkExtraTypeFilterCharacters(start,parserState){const query=parserState.userQuery.slice(start,parserState.pos).trim();for(const c in query){if(!isIdentCharacter(query[c])){throw["Unexpected ",query[c]," in type filter (before ",":",")",]}}}function parseInput(query,parserState){let foundStopChar=true;let start=parserState.pos;while(parserState.pos"){if(isReturnArrow(parserState)){break}throw["Unexpected ",c," (did you mean ","->","?)"]}else if(parserState.pos>0){throw["Unexpected ",c," after ",parserState.userQuery[parserState.pos-1]]}throw["Unexpected ",c]}else if(c===":"&&!isPathStart(parserState)){if(parserState.typeFilter!==null){throw["Unexpected ",":"," (expected path after type filter ",parserState.typeFilter+":",")",]}else if(query.elems.length===0){throw["Expected type filter before ",":"]}else if(query.literalSearch){throw["Cannot use quotes on type filter"]}const typeFilterElem=query.elems.pop();checkExtraTypeFilterCharacters(start,parserState);parserState.typeFilter=typeFilterElem.name;parserState.pos+=1;parserState.totalElems-=1;query.literalSearch=false;foundStopChar=true;continue}else if(c===" "){skipWhitespace(parserState);continue}if(!foundStopChar){let extra="";if(isLastElemGeneric(query.elems,parserState)){extra=[" after ",">"]}else if(prevIs(parserState,"\"")){throw["Cannot have more than one element if you use quotes"]}if(parserState.typeFilter!==null){throw["Expected ",","," or ","->",...extra,", found ",c,]}throw["Expected ",",",", ",":"," or ","->",...extra,", found ",c,]}const before=query.elems.length;start=parserState.pos;getNextElem(query,parserState,query.elems,false);if(query.elems.length===before){parserState.pos+=1}foundStopChar=false}if(parserState.typeFilter!==null){throw["Unexpected ",":"," (expected path after type filter ",parserState.typeFilter+":",")",]}while(parserState.pos"]}break}else{parserState.pos+=1}}}function newParsedQuery(userQuery){return{original:userQuery,userQuery:userQuery.toLowerCase(),elems:[],returned:[],foundElems:0,totalElems:0,literalSearch:false,error:null,correction:null,proposeCorrectionFrom:null,proposeCorrectionTo:null,typeFingerprint:new Uint32Array(4),}}function buildUrl(search,filterCrates){let extra="?search="+encodeURIComponent(search);if(filterCrates!==null){extra+="&filter-crate="+encodeURIComponent(filterCrates)}return getNakedUrl()+extra+window.location.hash}function getFilterCrates(){const elem=document.getElementById("crate-search");if(elem&&elem.value!=="all crates"&&rawSearchIndex.has(elem.value)){return elem.value}return null}function parseQuery(userQuery){function convertTypeFilterOnElem(elem){if(elem.typeFilter!==null){let typeFilter=elem.typeFilter;if(typeFilter==="const"){typeFilter="constant"}elem.typeFilter=itemTypeFromName(typeFilter)}else{elem.typeFilter=NO_TYPE_FILTER}for(const elem2 of elem.generics){convertTypeFilterOnElem(elem2)}for(const constraints of elem.bindings.values()){for(const constraint of constraints){convertTypeFilterOnElem(constraint)}}}userQuery=userQuery.trim().replace(/\r|\n|\t/g," ");const parserState={length:userQuery.length,pos:0,totalElems:0,genericsElems:0,typeFilter:null,isInBinding:null,userQuery:userQuery.toLowerCase(),};let query=newParsedQuery(userQuery);try{parseInput(query,parserState);for(const elem of query.elems){convertTypeFilterOnElem(elem)}for(const elem of query.returned){convertTypeFilterOnElem(elem)}}catch(err){query=newParsedQuery(userQuery);query.error=err;return query}if(!query.literalSearch){query.literalSearch=parserState.totalElems>1}query.foundElems=query.elems.length+query.returned.length;query.totalElems=parserState.totalElems;return query}function createQueryResults(results_in_args,results_returned,results_others,parsedQuery){return{"in_args":results_in_args,"returned":results_returned,"others":results_others,"query":parsedQuery,}}function execQuery(parsedQuery,filterCrates,currentCrate){const results_others=new Map(),results_in_args=new Map(),results_returned=new Map();function transformResults(results){const duplicates=new Set();const out=[];for(const result of results){if(result.id!==-1){const obj=searchIndex[result.id];obj.dist=result.dist;const res=buildHrefAndPath(obj);obj.displayPath=pathSplitter(res[0]);obj.fullPath=obj.displayPath+obj.name;obj.fullPath+="|"+obj.ty;if(duplicates.has(obj.fullPath)){continue}duplicates.add(obj.fullPath);obj.href=res[1];out.push(obj);if(out.length>=MAX_RESULTS){break}}}return out}function sortResults(results,isType,preferredCrate){if(results.size===0){return[]}const userQuery=parsedQuery.userQuery;const result_list=[];for(const result of results.values()){result.item=searchIndex[result.id];result.word=searchIndex[result.id].word;result_list.push(result)}result_list.sort((aaa,bbb)=>{let a,b;a=(aaa.word!==userQuery);b=(bbb.word!==userQuery);if(a!==b){return a-b}a=(aaa.index<0);b=(bbb.index<0);if(a!==b){return a-b}a=aaa.path_dist;b=bbb.path_dist;if(a!==b){return a-b}a=aaa.index;b=bbb.index;if(a!==b){return a-b}a=(aaa.dist);b=(bbb.dist);if(a!==b){return a-b}a=aaa.item.deprecated;b=bbb.item.deprecated;if(a!==b){return a-b}a=(aaa.item.crate!==preferredCrate);b=(bbb.item.crate!==preferredCrate);if(a!==b){return a-b}a=aaa.word.length;b=bbb.word.length;if(a!==b){return a-b}a=aaa.word;b=bbb.word;if(a!==b){return(a>b?+1:-1)}a=(aaa.item.desc==="");b=(bbb.item.desc==="");if(a!==b){return a-b}a=aaa.item.ty;b=bbb.item.ty;if(a!==b){return a-b}a=aaa.item.path;b=bbb.item.path;if(a!==b){return(a>b?+1:-1)}return 0});return transformResults(result_list)}function unifyFunctionTypes(fnTypesIn,queryElems,whereClause,mgensIn,solutionCb){const mgens=mgensIn===null?null:new Map(mgensIn);if(queryElems.length===0){return!solutionCb||solutionCb(mgens)}if(!fnTypesIn||fnTypesIn.length===0){return false}const ql=queryElems.length;const fl=fnTypesIn.length;if(ql===1&&queryElems[0].generics.length===0&&queryElems[0].bindings.size===0){const queryElem=queryElems[0];for(const fnType of fnTypesIn){if(!unifyFunctionTypeIsMatchCandidate(fnType,queryElem,whereClause,mgens)){continue}if(fnType.id<0&&queryElem.id<0){if(mgens&&mgens.has(fnType.id)&&mgens.get(fnType.id)!==queryElem.id){continue}const mgensScratch=new Map(mgens);mgensScratch.set(fnType.id,queryElem.id);if(!solutionCb||solutionCb(mgensScratch)){return true}}else if(!solutionCb||solutionCb(mgens?new Map(mgens):null)){return true}}for(const fnType of fnTypesIn){if(!unifyFunctionTypeIsUnboxCandidate(fnType,queryElem,whereClause,mgens)){continue}if(fnType.id<0){if(mgens&&mgens.has(fnType.id)&&mgens.get(fnType.id)!==0){continue}const mgensScratch=new Map(mgens);mgensScratch.set(fnType.id,0);if(unifyFunctionTypes(whereClause[(-fnType.id)-1],queryElems,whereClause,mgensScratch,solutionCb)){return true}}else if(unifyFunctionTypes([...fnType.generics,...Array.from(fnType.bindings.values()).flat()],queryElems,whereClause,mgens?new Map(mgens):null,solutionCb)){return true}}return false}const fnTypes=fnTypesIn.slice();const flast=fl-1;const qlast=ql-1;const queryElem=queryElems[qlast];let queryElemsTmp=null;for(let i=flast;i>=0;i-=1){const fnType=fnTypes[i];if(!unifyFunctionTypeIsMatchCandidate(fnType,queryElem,whereClause,mgens)){continue}let mgensScratch;if(fnType.id<0){mgensScratch=new Map(mgens);if(mgensScratch.has(fnType.id)&&mgensScratch.get(fnType.id)!==queryElem.id){continue}mgensScratch.set(fnType.id,queryElem.id)}else{mgensScratch=mgens}fnTypes[i]=fnTypes[flast];fnTypes.length=flast;if(!queryElemsTmp){queryElemsTmp=queryElems.slice(0,qlast)}const passesUnification=unifyFunctionTypes(fnTypes,queryElemsTmp,whereClause,mgensScratch,mgensScratch=>{if(fnType.generics.length===0&&queryElem.generics.length===0&&fnType.bindings.size===0&&queryElem.bindings.size===0){return!solutionCb||solutionCb(mgensScratch)}const solution=unifyFunctionTypeCheckBindings(fnType,queryElem,whereClause,mgensScratch);if(!solution){return false}const simplifiedGenerics=solution.simplifiedGenerics;for(const simplifiedMgens of solution.mgens){const passesUnification=unifyFunctionTypes(simplifiedGenerics,queryElem.generics,whereClause,simplifiedMgens,solutionCb);if(passesUnification){return true}}return false});if(passesUnification){return true}fnTypes[flast]=fnTypes[i];fnTypes[i]=fnType;fnTypes.length=fl}for(let i=flast;i>=0;i-=1){const fnType=fnTypes[i];if(!unifyFunctionTypeIsUnboxCandidate(fnType,queryElem,whereClause,mgens)){continue}let mgensScratch;if(fnType.id<0){mgensScratch=new Map(mgens);if(mgensScratch.has(fnType.id)&&mgensScratch.get(fnType.id)!==0){continue}mgensScratch.set(fnType.id,0)}else{mgensScratch=mgens}const generics=fnType.id<0?whereClause[(-fnType.id)-1]:fnType.generics;const bindings=fnType.bindings?Array.from(fnType.bindings.values()).flat():[];const passesUnification=unifyFunctionTypes(fnTypes.toSpliced(i,1,...generics,...bindings),queryElems,whereClause,mgensScratch,solutionCb);if(passesUnification){return true}}return false}function unifyFunctionTypeIsMatchCandidate(fnType,queryElem,whereClause,mgensIn){if(!typePassesFilter(queryElem.typeFilter,fnType.ty)){return false}if(fnType.id<0&&queryElem.id<0){if(mgensIn){if(mgensIn.has(fnType.id)&&mgensIn.get(fnType.id)!==queryElem.id){return false}for(const[fid,qid]of mgensIn.entries()){if(fnType.id!==fid&&queryElem.id===qid){return false}if(fnType.id===fid&&queryElem.id!==qid){return false}}}return true}else{if(queryElem.id===typeNameIdOfArrayOrSlice&&(fnType.id===typeNameIdOfSlice||fnType.id===typeNameIdOfArray)){}else if(queryElem.id===typeNameIdOfTupleOrUnit&&(fnType.id===typeNameIdOfTuple||fnType.id===typeNameIdOfUnit)){}else if(fnType.id!==queryElem.id||queryElem.id===null){return false}if((fnType.generics.length+fnType.bindings.size)===0&&queryElem.generics.length!==0){return false}if(fnType.bindings.size0){const fnTypePath=fnType.path!==undefined&&fnType.path!==null?fnType.path.split("::"):[];if(queryElemPathLength>fnTypePath.length){return false}let i=0;for(const path of fnTypePath){if(path===queryElem.pathWithoutLast[i]){i+=1;if(i>=queryElemPathLength){break}}}if(i0){let mgensSolutionSet=[mgensIn];for(const[name,constraints]of queryElem.bindings.entries()){if(mgensSolutionSet.length===0){return false}if(!fnType.bindings.has(name)){return false}const fnTypeBindings=fnType.bindings.get(name);mgensSolutionSet=mgensSolutionSet.flatMap(mgens=>{const newSolutions=[];unifyFunctionTypes(fnTypeBindings,constraints,whereClause,mgens,newMgens=>{newSolutions.push(newMgens);return false});return newSolutions})}if(mgensSolutionSet.length===0){return false}const binds=Array.from(fnType.bindings.entries()).flatMap(entry=>{const[name,constraints]=entry;if(queryElem.bindings.has(name)){return[]}else{return constraints}});if(simplifiedGenerics.length>0){simplifiedGenerics=[...simplifiedGenerics,...binds]}else{simplifiedGenerics=binds}return{simplifiedGenerics,mgens:mgensSolutionSet}}return{simplifiedGenerics,mgens:[mgensIn]}}function unifyFunctionTypeIsUnboxCandidate(fnType,queryElem,whereClause,mgens){if(fnType.id<0&&queryElem.id>=0){if(!whereClause){return false}if(mgens&&mgens.has(fnType.id)&&mgens.get(fnType.id)!==0){return false}const mgensTmp=new Map(mgens);mgensTmp.set(fnType.id,null);return checkIfInList(whereClause[(-fnType.id)-1],queryElem,whereClause,mgensTmp)}else if(fnType.generics.length>0||fnType.bindings.size>0){const simplifiedGenerics=[...fnType.generics,...Array.from(fnType.bindings.values()).flat(),];return checkIfInList(simplifiedGenerics,queryElem,whereClause,mgens)}return false}function checkIfInList(list,elem,whereClause,mgens){for(const entry of list){if(checkType(entry,elem,whereClause,mgens)){return true}}return false}function checkType(row,elem,whereClause,mgens){if(row.bindings.size===0&&elem.bindings.size===0){if(elem.id<0){return row.id<0||checkIfInList(row.generics,elem,whereClause,mgens)}if(row.id>0&&elem.id>0&&elem.pathWithoutLast.length===0&&typePassesFilter(elem.typeFilter,row.ty)&&elem.generics.length===0&&elem.id!==typeNameIdOfArrayOrSlice&&elem.id!==typeNameIdOfTupleOrUnit){return row.id===elem.id||checkIfInList(row.generics,elem,whereClause,mgens)}}return unifyFunctionTypes([row],[elem],whereClause,mgens)}function checkPath(contains,ty){if(contains.length===0){return 0}const maxPathEditDistance=Math.floor(contains.reduce((acc,next)=>acc+next.length,0)/3);let ret_dist=maxPathEditDistance+1;const path=ty.path.split("::");if(ty.parent&&ty.parent.name){path.push(ty.parent.name.toLowerCase())}const length=path.length;const clength=contains.length;pathiter:for(let i=length-clength;i>=0;i-=1){let dist_total=0;for(let x=0;xmaxPathEditDistance){continue pathiter}dist_total+=dist}}ret_dist=Math.min(ret_dist,Math.round(dist_total/clength))}return ret_dist>maxPathEditDistance?null:ret_dist}function typePassesFilter(filter,type){if(filter<=NO_TYPE_FILTER||filter===type)return true;const name=itemTypes[type];switch(itemTypes[filter]){case"constant":return name==="associatedconstant";case"fn":return name==="method"||name==="tymethod";case"type":return name==="primitive"||name==="associatedtype";case"trait":return name==="traitalias"}return false}function createAliasFromItem(item){return{crate:item.crate,name:item.name,path:item.path,desc:item.desc,ty:item.ty,parent:item.parent,type:item.type,is_alias:true,deprecated:item.deprecated,implDisambiguator:item.implDisambiguator,}}function handleAliases(ret,query,filterCrates,currentCrate){const lowerQuery=query.toLowerCase();const aliases=[];const crateAliases=[];if(filterCrates!==null){if(ALIASES.has(filterCrates)&&ALIASES.get(filterCrates).has(lowerQuery)){const query_aliases=ALIASES.get(filterCrates).get(lowerQuery);for(const alias of query_aliases){aliases.push(createAliasFromItem(searchIndex[alias]))}}}else{for(const[crate,crateAliasesIndex]of ALIASES){if(crateAliasesIndex.has(lowerQuery)){const pushTo=crate===currentCrate?crateAliases:aliases;const query_aliases=crateAliasesIndex.get(lowerQuery);for(const alias of query_aliases){pushTo.push(createAliasFromItem(searchIndex[alias]))}}}}const sortFunc=(aaa,bbb)=>{if(aaa.path{alias.alias=query;const res=buildHrefAndPath(alias);alias.displayPath=pathSplitter(res[0]);alias.fullPath=alias.displayPath+alias.name;alias.href=res[1];ret.others.unshift(alias);if(ret.others.length>MAX_RESULTS){ret.others.pop()}};aliases.forEach(pushFunc);crateAliases.forEach(pushFunc)}function addIntoResults(results,fullId,id,index,dist,path_dist,maxEditDistance){if(dist<=maxEditDistance||index!==-1){if(results.has(fullId)){const result=results.get(fullId);if(result.dontValidate||result.dist<=dist){return}}results.set(fullId,{id:id,index:index,dontValidate:parsedQuery.literalSearch,dist:dist,path_dist:path_dist,})}}function handleSingleArg(row,pos,elem,results_others,results_in_args,results_returned,maxEditDistance){if(!row||(filterCrates!==null&&row.crate!==filterCrates)){return}let path_dist=0;const fullId=row.id;const tfpDist=compareTypeFingerprints(fullId,parsedQuery.typeFingerprint);if(tfpDist!==null){const in_args=row.type&&row.type.inputs&&checkIfInList(row.type.inputs,elem,row.type.where_clause);const returned=row.type&&row.type.output&&checkIfInList(row.type.output,elem,row.type.where_clause);if(in_args){results_in_args.max_dist=Math.max(results_in_args.max_dist||0,tfpDist);const maxDist=results_in_args.sizenormalizedIndex&&normalizedIndex!==-1)){index=normalizedIndex}if(elem.fullPath.length>1){path_dist=checkPath(elem.pathWithoutLast,row);if(path_dist===null){return}}if(parsedQuery.literalSearch){if(row.word===elem.pathLast){addIntoResults(results_others,fullId,pos,index,0,path_dist)}return}const dist=editDistance(row.normalizedName,elem.normalizedPathLast,maxEditDistance);if(index===-1&&dist>maxEditDistance){return}addIntoResults(results_others,fullId,pos,index,dist,path_dist,maxEditDistance)}function handleArgs(row,pos,results){if(!row||(filterCrates!==null&&row.crate!==filterCrates)||!row.type){return}const tfpDist=compareTypeFingerprints(row.id,parsedQuery.typeFingerprint);if(tfpDist===null){return}if(results.size>=MAX_RESULTS&&tfpDist>results.max_dist){return}if(!unifyFunctionTypes(row.type.inputs,parsedQuery.elems,row.type.where_clause,null,mgens=>{return unifyFunctionTypes(row.type.output,parsedQuery.returned,row.type.where_clause,mgens)})){return}results.max_dist=Math.max(results.max_dist||0,tfpDist);addIntoResults(results,row.id,pos,0,tfpDist,0,Number.MAX_VALUE)}function innerRunQuery(){const queryLen=parsedQuery.elems.reduce((acc,next)=>acc+next.pathLast.length,0)+parsedQuery.returned.reduce((acc,next)=>acc+next.pathLast.length,0);const maxEditDistance=Math.floor(queryLen/3);const genericSymbols=new Map();function convertNameToId(elem,isAssocType){if(typeNameIdMap.has(elem.normalizedPathLast)&&(isAssocType||!typeNameIdMap.get(elem.normalizedPathLast).assocOnly)){elem.id=typeNameIdMap.get(elem.normalizedPathLast).id}else if(!parsedQuery.literalSearch){let match=null;let matchDist=maxEditDistance+1;let matchName="";for(const[name,{id,assocOnly}]of typeNameIdMap){const dist=editDistance(name,elem.normalizedPathLast,maxEditDistance);if(dist<=matchDist&&dist<=maxEditDistance&&(isAssocType||!assocOnly)){if(dist===matchDist&&matchName>name){continue}match=id;matchDist=dist;matchName=name}}if(match!==null){parsedQuery.correction=matchName}elem.id=match}if((elem.id===null&&parsedQuery.totalElems>1&&elem.typeFilter===-1&&elem.generics.length===0&&elem.bindings.size===0)||elem.typeFilter===TY_GENERIC){if(genericSymbols.has(elem.name)){elem.id=genericSymbols.get(elem.name)}else{elem.id=-(genericSymbols.size+1);genericSymbols.set(elem.name,elem.id)}if(elem.typeFilter===-1&&elem.name.length>=3){const maxPartDistance=Math.floor(elem.name.length/3);let matchDist=maxPartDistance+1;let matchName="";for(const name of typeNameIdMap.keys()){const dist=editDistance(name,elem.name,maxPartDistance);if(dist<=matchDist&&dist<=maxPartDistance){if(dist===matchDist&&matchName>name){continue}matchDist=dist;matchName=name}}if(matchName!==""){parsedQuery.proposeCorrectionFrom=elem.name;parsedQuery.proposeCorrectionTo=matchName}}elem.typeFilter=TY_GENERIC}if(elem.generics.length>0&&elem.typeFilter===TY_GENERIC){parsedQuery.error=["Generic type parameter ",elem.name," does not accept generic parameters",]}for(const elem2 of elem.generics){convertNameToId(elem2)}elem.bindings=new Map(Array.from(elem.bindings.entries()).map(entry=>{const[name,constraints]=entry;if(!typeNameIdMap.has(name)){parsedQuery.error=["Type parameter ",name," does not exist",];return[null,[]]}for(const elem2 of constraints){convertNameToId(elem2)}return[typeNameIdMap.get(name).id,constraints]}))}const fps=new Set();for(const elem of parsedQuery.elems){convertNameToId(elem);buildFunctionTypeFingerprint(elem,parsedQuery.typeFingerprint,fps)}for(const elem of parsedQuery.returned){convertNameToId(elem);buildFunctionTypeFingerprint(elem,parsedQuery.typeFingerprint,fps)}if(parsedQuery.foundElems===1&&parsedQuery.returned.length===0){if(parsedQuery.elems.length===1){const elem=parsedQuery.elems[0];for(let i=0,nSearchIndex=searchIndex.length;i0){const sortQ=(a,b)=>{const ag=a.generics.length===0&&a.bindings.size===0;const bg=b.generics.length===0&&b.bindings.size===0;if(ag!==bg){return ag-bg}const ai=a.id>0;const bi=b.id>0;return ai-bi};parsedQuery.elems.sort(sortQ);parsedQuery.returned.sort(sortQ);for(let i=0,nSearchIndex=searchIndex.length;i");if(tmp.endsWith("")){return tmp.slice(0,tmp.length-6)}return tmp}function addTab(array,query,display){const extraClass=display?" active":"";const output=document.createElement("div");if(array.length>0){output.className="search-results "+extraClass;array.forEach(item=>{const name=item.name;const type=itemTypes[item.ty];const longType=longItemTypes[item.ty];const typeName=longType.length!==0?`${longType}`:"?";const link=document.createElement("a");link.className="result-"+type;link.href=item.href;const resultName=document.createElement("div");resultName.className="result-name";resultName.insertAdjacentHTML("beforeend",`${typeName}`);link.appendChild(resultName);let alias=" ";if(item.is_alias){alias=`
\ +${item.alias} - see \ +
`}resultName.insertAdjacentHTML("beforeend",`
${alias}\ +${item.displayPath}${name}\ +
`);const description=document.createElement("div");description.className="desc";description.insertAdjacentHTML("beforeend",item.desc);link.appendChild(description);output.appendChild(link)})}else if(query.error===null){output.className="search-failed"+extraClass;output.innerHTML="No results :(
"+"Try on DuckDuckGo?

"+"Or try looking in one of these:"}return[output,array.length]}function makeTabHeader(tabNb,text,nbElems){const fmtNbElems=nbElems<10?`\u{2007}(${nbElems})\u{2007}\u{2007}`:nbElems<100?`\u{2007}(${nbElems})\u{2007}`:`\u{2007}(${nbElems})`;if(searchState.currentTab===tabNb){return""}return""}function showResults(results,go_to_first,filterCrates){const search=searchState.outputElement();if(go_to_first||(results.others.length===1&&getSettingValue("go-to-only-result")==="true")){window.onunload=()=>{};searchState.removeQueryParameters();const elem=document.createElement("a");elem.href=results.others[0].href;removeClass(elem,"active");document.body.appendChild(elem);elem.click();return}if(results.query===undefined){results.query=parseQuery(searchState.input.value)}currentResults=results.query.userQuery;const ret_others=addTab(results.others,results.query,true);const ret_in_args=addTab(results.in_args,results.query,false);const ret_returned=addTab(results.returned,results.query,false);let currentTab=searchState.currentTab;if((currentTab===0&&ret_others[1]===0)||(currentTab===1&&ret_in_args[1]===0)||(currentTab===2&&ret_returned[1]===0)){if(ret_others[1]!==0){currentTab=0}else if(ret_in_args[1]!==0){currentTab=1}else if(ret_returned[1]!==0){currentTab=2}}let crates="";if(rawSearchIndex.size>1){crates=" in 
"}let output=`

Results${crates}

`;if(results.query.error!==null){const error=results.query.error;error.forEach((value,index)=>{value=value.split("<").join("<").split(">").join(">");if(index%2!==0){error[index]=`${value.replaceAll(" ", " ")}`}else{error[index]=value}});output+=`

Query parser error: "${error.join("")}".

`;output+="
"+makeTabHeader(0,"In Names",ret_others[1])+"
";currentTab=0}else if(results.query.foundElems<=1&&results.query.returned.length===0){output+="
"+makeTabHeader(0,"In Names",ret_others[1])+makeTabHeader(1,"In Parameters",ret_in_args[1])+makeTabHeader(2,"In Return Types",ret_returned[1])+"
"}else{const signatureTabTitle=results.query.elems.length===0?"In Function Return Types":results.query.returned.length===0?"In Function Parameters":"In Function Signatures";output+="
"+makeTabHeader(0,signatureTabTitle,ret_others[1])+"
";currentTab=0}if(results.query.correction!==null){const orig=results.query.returned.length>0?results.query.returned[0].name:results.query.elems[0].name;output+="

"+`Type "${orig}" not found. `+"Showing results for closest type name "+`"${results.query.correction}" instead.

`}if(results.query.proposeCorrectionFrom!==null){const orig=results.query.proposeCorrectionFrom;const targ=results.query.proposeCorrectionTo;output+="

"+`Type "${orig}" not found and used as generic parameter. `+`Consider searching for "${targ}" instead.

`}const resultsElem=document.createElement("div");resultsElem.id="results";resultsElem.appendChild(ret_others[0]);resultsElem.appendChild(ret_in_args[0]);resultsElem.appendChild(ret_returned[0]);search.innerHTML=output;const crateSearch=document.getElementById("crate-search");if(crateSearch){crateSearch.addEventListener("input",updateCrate)}search.appendChild(resultsElem);searchState.showResults(search);const elems=document.getElementById("search-tabs").childNodes;searchState.focusedByTab=[];let i=0;for(const elem of elems){const j=i;elem.onclick=()=>printTab(j);searchState.focusedByTab.push(null);i+=1}printTab(currentTab)}function updateSearchHistory(url){if(!browserSupportsHistoryApi()){return}const params=searchState.getQueryStringParams();if(!history.state&&!params.search){history.pushState(null,"",url)}else{history.replaceState(null,"",url)}}function search(forced){const query=parseQuery(searchState.input.value.trim());let filterCrates=getFilterCrates();if(!forced&&query.userQuery===currentResults){if(query.userQuery.length>0){putBackSearch()}return}searchState.setLoadingSearch();const params=searchState.getQueryStringParams();if(filterCrates===null&¶ms["filter-crate"]!==undefined){filterCrates=params["filter-crate"]}searchState.title="Results for "+query.original+" - Rust";updateSearchHistory(buildUrl(query.original,filterCrates));showResults(execQuery(query,filterCrates,window.currentCrate),params.go_to_first,filterCrates)}function buildItemSearchTypeAll(types,lowercasePaths){return types.length>0?types.map(type=>buildItemSearchType(type,lowercasePaths)):EMPTY_GENERICS_ARRAY}const EMPTY_BINDINGS_MAP=new Map();const EMPTY_GENERICS_ARRAY=[];let TYPES_POOL=new Map();function buildItemSearchType(type,lowercasePaths,isAssocType){const PATH_INDEX_DATA=0;const GENERICS_DATA=1;const BINDINGS_DATA=2;let pathIndex,generics,bindings;if(typeof type==="number"){pathIndex=type;generics=EMPTY_GENERICS_ARRAY;bindings=EMPTY_BINDINGS_MAP}else{pathIndex=type[PATH_INDEX_DATA];generics=buildItemSearchTypeAll(type[GENERICS_DATA],lowercasePaths);if(type.length>BINDINGS_DATA&&type[BINDINGS_DATA].length>0){bindings=new Map(type[BINDINGS_DATA].map(binding=>{const[assocType,constraints]=binding;return[buildItemSearchType(assocType,lowercasePaths,true).id,buildItemSearchTypeAll(constraints,lowercasePaths),]}))}else{bindings=EMPTY_BINDINGS_MAP}}let result;if(pathIndex<0){result={id:pathIndex,ty:TY_GENERIC,path:null,generics,bindings,}}else if(pathIndex===0){result={id:null,ty:null,path:null,generics,bindings,}}else{const item=lowercasePaths[pathIndex-1];result={id:buildTypeMapIndex(item.name,isAssocType),ty:item.ty,path:item.path,generics,bindings,}}const cr=TYPES_POOL.get(result.id);if(cr){if(cr.generics.length===result.generics.length&&cr.generics!==result.generics&&cr.generics.every((x,i)=>result.generics[i]===x)){result.generics=cr.generics}if(cr.bindings.size===result.bindings.size&&cr.bindings!==result.bindings){let ok=true;for(const[k,v]of cr.bindings.entries()){const v2=result.bindings.get(v);if(!v2){ok=false;break}if(v!==v2&&v.length===v2.length&&v.every((x,i)=>v2[i]===x)){result.bindings.set(k,v)}else if(v!==v2){ok=false;break}}if(ok){result.bindings=cr.bindings}}if(cr.ty===result.ty&&cr.path===result.path&&cr.bindings===result.bindings&&cr.generics===result.generics&&cr.ty===result.ty){return cr}}TYPES_POOL.set(result.id,result);return result}function buildFunctionSearchType(itemFunctionDecoder,lowercasePaths){const c=itemFunctionDecoder.string.charCodeAt(itemFunctionDecoder.offset);itemFunctionDecoder.offset+=1;const[zero,ua,la,ob,cb]=["0","@","`","{","}"].map(c=>c.charCodeAt(0));if(c===la){return null}if(c>=zero&&c>1];itemFunctionDecoder.offset+=1;return sign?-value:value}const functionSearchType=decodeList();const INPUTS_DATA=0;const OUTPUT_DATA=1;let inputs,output;if(typeof functionSearchType[INPUTS_DATA]==="number"){inputs=[buildItemSearchType(functionSearchType[INPUTS_DATA],lowercasePaths)]}else{inputs=buildItemSearchTypeAll(functionSearchType[INPUTS_DATA],lowercasePaths)}if(functionSearchType.length>1){if(typeof functionSearchType[OUTPUT_DATA]==="number"){output=[buildItemSearchType(functionSearchType[OUTPUT_DATA],lowercasePaths)]}else{output=buildItemSearchTypeAll(functionSearchType[OUTPUT_DATA],lowercasePaths)}}else{output=[]}const where_clause=[];const l=functionSearchType.length;for(let i=2;i16){itemFunctionDecoder.backrefQueue.pop()}return ret}function buildFunctionTypeFingerprint(type,output,fps){let input=type.id;if(input===typeNameIdOfArray||input===typeNameIdOfSlice){input=typeNameIdOfArrayOrSlice}if(input===typeNameIdOfTuple||input===typeNameIdOfUnit){input=typeNameIdOfTupleOrUnit}const hashint1=k=>{k=(~~k+0x7ed55d16)+(k<<12);k=(k ^ 0xc761c23c)^(k>>>19);k=(~~k+0x165667b1)+(k<<5);k=(~~k+0xd3a2646c)^(k<<9);k=(~~k+0xfd7046c5)+(k<<3);return(k ^ 0xb55a4f09)^(k>>>16)};const hashint2=k=>{k=~k+(k<<15);k ^=k>>>12;k+=k<<2;k ^=k>>>4;k=Math.imul(k,2057);return k ^(k>>16)};if(input!==null){const h0a=hashint1(input);const h0b=hashint2(input);const h1a=~~(h0a+Math.imul(h0b,2));const h1b=~~(h0a+Math.imul(h0b,3));const h2a=~~(h0a+Math.imul(h0b,4));const h2b=~~(h0a+Math.imul(h0b,5));output[0]|=(1<<(h0a%32))|(1<<(h1b%32));output[1]|=(1<<(h1a%32))|(1<<(h2b%32));output[2]|=(1<<(h2a%32))|(1<<(h0b%32));fps.add(input)}for(const g of type.generics){buildFunctionTypeFingerprint(g,output,fps)}const fb={id:null,ty:0,generics:EMPTY_GENERICS_ARRAY,bindings:EMPTY_BINDINGS_MAP,};for(const[k,v]of type.bindings.entries()){fb.id=k;fb.generics=v;buildFunctionTypeFingerprint(fb,output,fps)}output[3]=fps.size}function compareTypeFingerprints(fullId,queryFingerprint){const fh0=functionTypeFingerprint[fullId*4];const fh1=functionTypeFingerprint[(fullId*4)+1];const fh2=functionTypeFingerprint[(fullId*4)+2];const[qh0,qh1,qh2]=queryFingerprint;const[in0,in1,in2]=[fh0&qh0,fh1&qh1,fh2&qh2];if((in0 ^ qh0)||(in1 ^ qh1)||(in2 ^ qh2)){return null}return functionTypeFingerprint[(fullId*4)+3]}function buildIndex(rawSearchIndex){searchIndex=[];typeNameIdMap=new Map();const charA="A".charCodeAt(0);let currentIndex=0;let id=0;typeNameIdOfArray=buildTypeMapIndex("array");typeNameIdOfSlice=buildTypeMapIndex("slice");typeNameIdOfTuple=buildTypeMapIndex("tuple");typeNameIdOfUnit=buildTypeMapIndex("unit");typeNameIdOfArrayOrSlice=buildTypeMapIndex("[]");typeNameIdOfTupleOrUnit=buildTypeMapIndex("()");for(const crate of rawSearchIndex.values()){id+=crate.t.length+1}functionTypeFingerprint=new Uint32Array((id+1)*4);id=0;for(const[crate,crateCorpus]of rawSearchIndex){const crateRow={crate:crate,ty:3,name:crate,path:"",desc:crateCorpus.doc,parent:undefined,type:null,id:id,word:crate,normalizedName:crate.indexOf("_")===-1?crate:crate.replace(/_/g,""),deprecated:null,implDisambiguator:null,};id+=1;searchIndex.push(crateRow);currentIndex+=1;const itemTypes=crateCorpus.t;const itemNames=crateCorpus.n;const itemPaths=new Map(crateCorpus.q);const itemDescs=crateCorpus.d;const itemParentIdxs=crateCorpus.i;const itemFunctionDecoder={string:crateCorpus.f,offset:0,backrefQueue:[],};const deprecatedItems=new Set(crateCorpus.c);const implDisambiguator=new Map(crateCorpus.b);const paths=crateCorpus.p;const aliases=crateCorpus.a;const lowercasePaths=[];let len=paths.length;let lastPath=itemPaths.get(0);for(let i=0;i2){path=itemPaths.has(elem[2])?itemPaths.get(elem[2]):lastPath;lastPath=path}lowercasePaths.push({ty:ty,name:name.toLowerCase(),path:path});paths[i]={ty:ty,name:name,path:path}}lastPath="";len=itemTypes.length;for(let i=0;i0?paths[itemParentIdxs[i]-1]:undefined,type,id:id,word,normalizedName:word.indexOf("_")===-1?word:word.replace(/_/g,""),deprecated:deprecatedItems.has(i),implDisambiguator:implDisambiguator.has(i)?implDisambiguator.get(i):null,};id+=1;searchIndex.push(row);lastPath=row.path}if(aliases){const currentCrateAliases=new Map();ALIASES.set(crate,currentCrateAliases);for(const alias_name in aliases){if(!Object.prototype.hasOwnProperty.call(aliases,alias_name)){continue}let currentNameAliases;if(currentCrateAliases.has(alias_name)){currentNameAliases=currentCrateAliases.get(alias_name)}else{currentNameAliases=[];currentCrateAliases.set(alias_name,currentNameAliases)}for(const local_alias of aliases[alias_name]){currentNameAliases.push(local_alias+currentIndex)}}}currentIndex+=itemTypes.length}TYPES_POOL=new Map()}function onSearchSubmit(e){e.preventDefault();searchState.clearInputTimeout();search()}function putBackSearch(){const search_input=searchState.input;if(!searchState.input){return}if(search_input.value!==""&&!searchState.isDisplayed()){searchState.showResults();if(browserSupportsHistoryApi()){history.replaceState(null,"",buildUrl(search_input.value,getFilterCrates()))}document.title=searchState.title}}function registerSearchEvents(){const params=searchState.getQueryStringParams();if(searchState.input.value===""){searchState.input.value=params.search||""}const searchAfter500ms=()=>{searchState.clearInputTimeout();if(searchState.input.value.length===0){searchState.hideResults()}else{searchState.timeout=setTimeout(search,500)}};searchState.input.onkeyup=searchAfter500ms;searchState.input.oninput=searchAfter500ms;document.getElementsByClassName("search-form")[0].onsubmit=onSearchSubmit;searchState.input.onchange=e=>{if(e.target!==document.activeElement){return}searchState.clearInputTimeout();setTimeout(search,0)};searchState.input.onpaste=searchState.input.onchange;searchState.outputElement().addEventListener("keydown",e=>{if(e.altKey||e.ctrlKey||e.shiftKey||e.metaKey){return}if(e.which===38){const previous=document.activeElement.previousElementSibling;if(previous){previous.focus()}else{searchState.focus()}e.preventDefault()}else if(e.which===40){const next=document.activeElement.nextElementSibling;if(next){next.focus()}const rect=document.activeElement.getBoundingClientRect();if(window.innerHeight-rect.bottom{if(e.which===40){focusSearchResult();e.preventDefault()}});searchState.input.addEventListener("focus",()=>{putBackSearch()});searchState.input.addEventListener("blur",()=>{searchState.input.placeholder=searchState.input.origPlaceholder});if(browserSupportsHistoryApi()){const previousTitle=document.title;window.addEventListener("popstate",e=>{const params=searchState.getQueryStringParams();document.title=previousTitle;currentResults=null;if(params.search&¶ms.search.length>0){searchState.input.value=params.search;e.preventDefault();search()}else{searchState.input.value="";searchState.hideResults()}})}window.onpageshow=()=>{const qSearch=searchState.getQueryStringParams().search;if(searchState.input.value===""&&qSearch){searchState.input.value=qSearch}search()}}function updateCrate(ev){if(ev.target.value==="all crates"){const query=searchState.input.value.trim();updateSearchHistory(buildUrl(query,null))}currentResults=null;search(true)}buildIndex(rawSearchIndex);if(typeof window!=="undefined"){registerSearchEvents();if(window.searchState.getQueryStringParams().search){search()}}if(typeof exports!=="undefined"){exports.initSearch=initSearch;exports.execQuery=execQuery;exports.parseQuery=parseQuery}}if(typeof window!=="undefined"){window.initSearch=initSearch;if(window.searchIndex!==undefined){initSearch(window.searchIndex)}}else{initSearch(new Map())}})() \ No newline at end of file diff --git a/static.files/src-script-e66d777a5a92e9b2.js b/static.files/src-script-e66d777a5a92e9b2.js new file mode 100644 index 00000000..d0aebb85 --- /dev/null +++ b/static.files/src-script-e66d777a5a92e9b2.js @@ -0,0 +1 @@ +"use strict";(function(){const rootPath=getVar("root-path");const NAME_OFFSET=0;const DIRS_OFFSET=1;const FILES_OFFSET=2;const RUSTDOC_MOBILE_BREAKPOINT=700;function closeSidebarIfMobile(){if(window.innerWidth{removeClass(document.documentElement,"src-sidebar-expanded");updateLocalStorage("source-sidebar-show","false")};window.rustdocShowSourceSidebar=()=>{addClass(document.documentElement,"src-sidebar-expanded");updateLocalStorage("source-sidebar-show","true")};window.rustdocToggleSrcSidebar=()=>{if(document.documentElement.classList.contains("src-sidebar-expanded")){window.rustdocCloseSourceSidebar()}else{window.rustdocShowSourceSidebar()}};function createSrcSidebar(){const container=document.querySelector("nav.sidebar");const sidebar=document.createElement("div");sidebar.id="src-sidebar";let hasFoundFile=false;for(const[key,source]of srcIndex){source[NAME_OFFSET]=key;hasFoundFile=createDirEntry(source,sidebar,"",hasFoundFile)}container.appendChild(sidebar);const selected_elem=sidebar.getElementsByClassName("selected")[0];if(typeof selected_elem!=="undefined"){selected_elem.focus()}}function highlightSrcLines(){const match=window.location.hash.match(/^#?(\d+)(?:-(\d+))?$/);if(!match){return}let from=parseInt(match[1],10);let to=from;if(typeof match[2]!=="undefined"){to=parseInt(match[2],10)}if(to{onEachLazy(e.getElementsByTagName("a"),i_e=>{removeClass(i_e,"line-highlighted")})});for(let i=from;i<=to;++i){elem=document.getElementById(i);if(!elem){break}addClass(elem,"line-highlighted")}}const handleSrcHighlight=(function(){let prev_line_id=0;const set_fragment=name=>{const x=window.scrollX,y=window.scrollY;if(browserSupportsHistoryApi()){history.replaceState(null,null,"#"+name);highlightSrcLines()}else{location.replace("#"+name)}window.scrollTo(x,y)};return ev=>{let cur_line_id=parseInt(ev.target.id,10);if(isNaN(cur_line_id)||ev.ctrlKey||ev.altKey||ev.metaKey){return}ev.preventDefault();if(ev.shiftKey&&prev_line_id){if(prev_line_id>cur_line_id){const tmp=prev_line_id;prev_line_id=cur_line_id;cur_line_id=tmp}set_fragment(prev_line_id+"-"+cur_line_id)}else{prev_line_id=cur_line_id;set_fragment(cur_line_id)}}}());window.addEventListener("hashchange",highlightSrcLines);onEachLazy(document.getElementsByClassName("src-line-numbers"),el=>{el.addEventListener("click",handleSrcHighlight)});highlightSrcLines();window.createSrcSidebar=createSrcSidebar})() \ No newline at end of file diff --git a/static.files/storage-4c98445ec4002617.js b/static.files/storage-4c98445ec4002617.js new file mode 100644 index 00000000..b378b856 --- /dev/null +++ b/static.files/storage-4c98445ec4002617.js @@ -0,0 +1 @@ +"use strict";const builtinThemes=["light","dark","ayu"];const darkThemes=["dark","ayu"];window.currentTheme=document.getElementById("themeStyle");const settingsDataset=(function(){const settingsElement=document.getElementById("default-settings");return settingsElement&&settingsElement.dataset?settingsElement.dataset:null})();function getSettingValue(settingName){const current=getCurrentValue(settingName);if(current===null&&settingsDataset!==null){const def=settingsDataset[settingName.replace(/-/g,"_")];if(def!==undefined){return def}}return current}const localStoredTheme=getSettingValue("theme");function hasClass(elem,className){return elem&&elem.classList&&elem.classList.contains(className)}function addClass(elem,className){if(elem&&elem.classList){elem.classList.add(className)}}function removeClass(elem,className){if(elem&&elem.classList){elem.classList.remove(className)}}function onEach(arr,func){for(const elem of arr){if(func(elem)){return true}}return false}function onEachLazy(lazyArray,func){return onEach(Array.prototype.slice.call(lazyArray),func)}function updateLocalStorage(name,value){try{window.localStorage.setItem("rustdoc-"+name,value)}catch(e){}}function getCurrentValue(name){try{return window.localStorage.getItem("rustdoc-"+name)}catch(e){return null}}const getVar=(function getVar(name){const el=document.querySelector("head > meta[name='rustdoc-vars']");return el?el.attributes["data-"+name].value:null});function switchTheme(newThemeName,saveTheme){const themeNames=getVar("themes").split(",").filter(t=>t);themeNames.push(...builtinThemes);if(themeNames.indexOf(newThemeName)===-1){return}if(saveTheme){updateLocalStorage("theme",newThemeName)}document.documentElement.setAttribute("data-theme",newThemeName);if(builtinThemes.indexOf(newThemeName)!==-1){if(window.currentTheme){window.currentTheme.parentNode.removeChild(window.currentTheme);window.currentTheme=null}}else{const newHref=getVar("root-path")+encodeURIComponent(newThemeName)+getVar("resource-suffix")+".css";if(!window.currentTheme){if(document.readyState==="loading"){document.write(``);window.currentTheme=document.getElementById("themeStyle")}else{window.currentTheme=document.createElement("link");window.currentTheme.rel="stylesheet";window.currentTheme.id="themeStyle";window.currentTheme.href=newHref;document.documentElement.appendChild(window.currentTheme)}}else if(newHref!==window.currentTheme.href){window.currentTheme.href=newHref}}}const updateTheme=(function(){const mql=window.matchMedia("(prefers-color-scheme: dark)");function updateTheme(){if(getSettingValue("use-system-theme")!=="false"){const lightTheme=getSettingValue("preferred-light-theme")||"light";const darkTheme=getSettingValue("preferred-dark-theme")||"dark";updateLocalStorage("use-system-theme","true");switchTheme(mql.matches?darkTheme:lightTheme,true)}else{switchTheme(getSettingValue("theme"),false)}}mql.addEventListener("change",updateTheme);return updateTheme})();if(getSettingValue("use-system-theme")!=="false"&&window.matchMedia){if(getSettingValue("use-system-theme")===null&&getSettingValue("preferred-dark-theme")===null&&darkThemes.indexOf(localStoredTheme)>=0){updateLocalStorage("preferred-dark-theme",localStoredTheme)}}updateTheme();if(getSettingValue("source-sidebar-show")==="true"){addClass(document.documentElement,"src-sidebar-expanded")}if(getSettingValue("hide-sidebar")==="true"){addClass(document.documentElement,"hide-sidebar")}function updateSidebarWidth(){const desktopSidebarWidth=getSettingValue("desktop-sidebar-width");if(desktopSidebarWidth&&desktopSidebarWidth!=="null"){document.documentElement.style.setProperty("--desktop-sidebar-width",desktopSidebarWidth+"px")}const srcSidebarWidth=getSettingValue("src-sidebar-width");if(srcSidebarWidth&&srcSidebarWidth!=="null"){document.documentElement.style.setProperty("--src-sidebar-width",srcSidebarWidth+"px")}}updateSidebarWidth();window.addEventListener("pageshow",ev=>{if(ev.persisted){setTimeout(updateTheme,0);setTimeout(updateSidebarWidth,0)}}) \ No newline at end of file diff --git a/storm/all.html b/storm/all.html index eeaec2a2..073507fa 100644 --- a/storm/all.html +++ b/storm/all.html @@ -1,2 +1,2 @@ -List of all items in this crate +List of all items in this crate
\ No newline at end of file diff --git a/storm/attr.indexing.html b/storm/attr.indexing.html index 4ff5b799..7bbbe3e3 100644 --- a/storm/attr.indexing.html +++ b/storm/attr.indexing.html @@ -1,2 +1,2 @@ -indexing in storm - Rust -

Attribute Macro storm::indexing

source ·
#[indexing]
\ No newline at end of file +indexing in storm - Rust +

Attribute Macro storm::indexing

#[indexing]
\ No newline at end of file diff --git a/storm/constant.EV_CREATED.html b/storm/constant.EV_CREATED.html index 94576f27..d90f144f 100644 --- a/storm/constant.EV_CREATED.html +++ b/storm/constant.EV_CREATED.html @@ -1,2 +1,2 @@ -EV_CREATED in storm - Rust -

Constant storm::EV_CREATED

source ·
pub const EV_CREATED: &str = "created";
\ No newline at end of file +EV_CREATED in storm - Rust +

Constant storm::EV_CREATED

source ·
pub const EV_CREATED: &str = "created";
\ No newline at end of file diff --git a/storm/constant.OBJ_INDEX.html b/storm/constant.OBJ_INDEX.html index fcb2df9a..3ebe0b85 100644 --- a/storm/constant.OBJ_INDEX.html +++ b/storm/constant.OBJ_INDEX.html @@ -1,2 +1,2 @@ -OBJ_INDEX in storm - Rust -

Constant storm::OBJ_INDEX

source ·
pub const OBJ_INDEX: &str = "index";
\ No newline at end of file +OBJ_INDEX in storm - Rust +

Constant storm::OBJ_INDEX

source ·
pub const OBJ_INDEX: &str = "index";
\ No newline at end of file diff --git a/storm/constant.OBJ_TABLE.html b/storm/constant.OBJ_TABLE.html index 03eea49c..896c6130 100644 --- a/storm/constant.OBJ_TABLE.html +++ b/storm/constant.OBJ_TABLE.html @@ -1,2 +1,2 @@ -OBJ_TABLE in storm - Rust -

Constant storm::OBJ_TABLE

source ·
pub const OBJ_TABLE: &str = "table";
\ No newline at end of file +OBJ_TABLE in storm - Rust +

Constant storm::OBJ_TABLE

source ·
pub const OBJ_TABLE: &str = "table";
\ No newline at end of file diff --git a/storm/derive.Ctx.html b/storm/derive.Ctx.html index 52fde929..b3c1db0f 100644 --- a/storm/derive.Ctx.html +++ b/storm/derive.Ctx.html @@ -1,5 +1,5 @@ -Ctx in storm - Rust -

Derive Macro storm::Ctx

source ·
#[derive(Ctx)]
+Ctx in storm - Rust
+    

Derive Macro storm::Ctx

#[derive(Ctx)]
 {
     // Attributes available to this derive:
     #[storm]
diff --git a/storm/derive.LocksAwait.html b/storm/derive.LocksAwait.html
index fb4102f2..dbcd896d 100644
--- a/storm/derive.LocksAwait.html
+++ b/storm/derive.LocksAwait.html
@@ -1,5 +1,5 @@
-LocksAwait in storm - Rust
-    

Derive Macro storm::LocksAwait

source ·
#[derive(LocksAwait)]
+LocksAwait in storm - Rust
+    

Derive Macro storm::LocksAwait

#[derive(LocksAwait)]
 {
     // Attributes available to this derive:
     #[storm]
diff --git a/storm/derive.MssqlDelete.html b/storm/derive.MssqlDelete.html
index 5fb52b72..9be510ea 100644
--- a/storm/derive.MssqlDelete.html
+++ b/storm/derive.MssqlDelete.html
@@ -1,5 +1,5 @@
-MssqlDelete in storm - Rust
-    

Derive Macro storm::MssqlDelete

source ·
#[derive(MssqlDelete)]
+MssqlDelete in storm - Rust
+    

Derive Macro storm::MssqlDelete

#[derive(MssqlDelete)]
 {
     // Attributes available to this derive:
     #[storm]
diff --git a/storm/derive.MssqlLoad.html b/storm/derive.MssqlLoad.html
index 57e7f38f..80108f2a 100644
--- a/storm/derive.MssqlLoad.html
+++ b/storm/derive.MssqlLoad.html
@@ -1,5 +1,5 @@
-MssqlLoad in storm - Rust
-    

Derive Macro storm::MssqlLoad

source ·
#[derive(MssqlLoad)]
+MssqlLoad in storm - Rust
+    

Derive Macro storm::MssqlLoad

#[derive(MssqlLoad)]
 {
     // Attributes available to this derive:
     #[storm]
diff --git a/storm/derive.MssqlSave.html b/storm/derive.MssqlSave.html
index be42cfec..2aa9bac2 100644
--- a/storm/derive.MssqlSave.html
+++ b/storm/derive.MssqlSave.html
@@ -1,5 +1,5 @@
-MssqlSave in storm - Rust
-    

Derive Macro storm::MssqlSave

source ·
#[derive(MssqlSave)]
+MssqlSave in storm - Rust
+    

Derive Macro storm::MssqlSave

#[derive(MssqlSave)]
 {
     // Attributes available to this derive:
     #[storm]
diff --git a/storm/derive.NoopDelete.html b/storm/derive.NoopDelete.html
index 2037d7cb..0232f3c9 100644
--- a/storm/derive.NoopDelete.html
+++ b/storm/derive.NoopDelete.html
@@ -1,2 +1,2 @@
-NoopDelete in storm - Rust
-    

Derive Macro storm::NoopDelete

source ·
#[derive(NoopDelete)]
\ No newline at end of file +NoopDelete in storm - Rust +

Derive Macro storm::NoopDelete

#[derive(NoopDelete)]
\ No newline at end of file diff --git a/storm/derive.NoopLoad.html b/storm/derive.NoopLoad.html index 4107fc83..a6276cb6 100644 --- a/storm/derive.NoopLoad.html +++ b/storm/derive.NoopLoad.html @@ -1,2 +1,2 @@ -NoopLoad in storm - Rust -

Derive Macro storm::NoopLoad

source ·
#[derive(NoopLoad)]
\ No newline at end of file +NoopLoad in storm - Rust +

Derive Macro storm::NoopLoad

#[derive(NoopLoad)]
\ No newline at end of file diff --git a/storm/derive.NoopSave.html b/storm/derive.NoopSave.html index 14fd807d..2f97510b 100644 --- a/storm/derive.NoopSave.html +++ b/storm/derive.NoopSave.html @@ -1,2 +1,2 @@ -NoopSave in storm - Rust -

Derive Macro storm::NoopSave

source ·
#[derive(NoopSave)]
\ No newline at end of file +NoopSave in storm - Rust +

Derive Macro storm::NoopSave

#[derive(NoopSave)]
\ No newline at end of file diff --git a/storm/enum.Changed.html b/storm/enum.Changed.html index fb3add69..7b761374 100644 --- a/storm/enum.Changed.html +++ b/storm/enum.Changed.html @@ -1,32 +1,32 @@ -Changed in storm - Rust +Changed in storm - Rust

Enum storm::Changed

source ·
pub enum Changed<E> {
     Inserted {
-        old: Option<E>,
+        old: Option<E>,
         new: E,
     },
     Removed {
         old: E,
     },
-}

Variants§

§

Inserted

Fields

§old: Option<E>
§new: E
§

Removed

Fields

§old: E

Implementations§

source§

impl<E> Changed<E>

source

pub fn new_old(&self) -> (Option<&E>, Option<&E>)

Trait Implementations§

source§

impl<E: Clone> Clone for Changed<E>

source§

fn clone(&self) -> Changed<E>

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl<E: Copy> Copy for Changed<E>

Auto Trait Implementations§

§

impl<E> RefUnwindSafe for Changed<E>
where - E: RefUnwindSafe,

§

impl<E> Send for Changed<E>
where - E: Send,

§

impl<E> Sync for Changed<E>
where - E: Sync,

§

impl<E> Unpin for Changed<E>
where - E: Unpin,

§

impl<E> UnwindSafe for Changed<E>
where - E: UnwindSafe,

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where - T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where - T: ?Sized,

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+}

Variants§

§

Inserted

Fields

§old: Option<E>
§new: E
§

Removed

Fields

§old: E

Implementations§

source§

impl<E> Changed<E>

source

pub fn new_old(&self) -> (Option<&E>, Option<&E>)

Trait Implementations§

source§

impl<E: Clone> Clone for Changed<E>

source§

fn clone(&self) -> Changed<E>

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl<E: Copy> Copy for Changed<E>

Auto Trait Implementations§

§

impl<E> RefUnwindSafe for Changed<E>
where + E: RefUnwindSafe,

§

impl<E> Send for Changed<E>
where + E: Send,

§

impl<E> Sync for Changed<E>
where + E: Sync,

§

impl<E> Unpin for Changed<E>
where + E: Unpin,

§

impl<E> UnwindSafe for Changed<E>
where + E: UnwindSafe,

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where + T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where + T: ?Sized,

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> FromRefOpt<U> for T
where - U: AsRefOpt<T>,

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an + U: AsRefOpt<T>,
§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where - U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where + U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

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

-
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> ToOwned for T
where - T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

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

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where - S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

+
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> ToOwned for T
where + T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

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

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where + S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
\ No newline at end of file diff --git a/storm/enum.Error.html b/storm/enum.Error.html index b6e4e93b..a08ae733 100644 --- a/storm/enum.Error.html +++ b/storm/enum.Error.html @@ -1,33 +1,33 @@ -Error in storm - Rust +Error in storm - Rust

Enum storm::Error

source ·
pub enum Error {
 
Show 13 variants AlreadyInTransaction, AsyncCellLock(Error), ClientInError, ColumnNull, - ConvertFailed(String), + ConvertFailed(String), EntityNotFound, Internal, NotInTransaction, ProviderNotFound, - Std(Box<dyn Error + Send + Sync>), - Str(&'static str), - String(String), + Std(Box<dyn Error + Send + Sync>), + Str(&'static str), + String(String), Mssql(Error), -
}

Variants§

§

AlreadyInTransaction

§

AsyncCellLock(Error)

§

ClientInError

§

ColumnNull

§

ConvertFailed(String)

§

EntityNotFound

§

Internal

§

NotInTransaction

§

ProviderNotFound

§

Std(Box<dyn Error + Send + Sync>)

§

Str(&'static str)

§

String(String)

§

Mssql(Error)

Implementations§

source§

impl Error

source

pub fn as_mssql(&self) -> Option<&Error>

source

pub fn std<E: Into<Box<dyn Error + Send + Sync>>>(e: E) -> Self

Trait Implementations§

source§

impl Debug for Error

source§

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

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

impl Display for Error

source§

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

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

impl Error for Error

1.30.0 · source§

fn source(&self) -> Option<&(dyn Error + 'static)>

The lower-level source of this error, if any. Read more
1.0.0 · source§

fn description(&self) -> &str

👎Deprecated since 1.42.0: use the Display impl or to_string()
1.0.0 · source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type based access to context intended for error reports. Read more
source§

impl From<Box<dyn Error + Send + Sync>> for Error

source§

fn from(b: Box<dyn Error + Send + Sync>) -> Self

Converts to this type from the input type.
source§

impl From<Error> for Error

source§

fn from(e: Error) -> Self

Converts to this type from the input type.
source§

impl From<Error> for Error

source§

fn from(e: Error) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

§

impl !RefUnwindSafe for Error

§

impl Send for Error

§

impl Sync for Error

§

impl Unpin for Error

§

impl !UnwindSafe for Error

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where - T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where - T: ?Sized,

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+
}

Variants§

§

AlreadyInTransaction

§

AsyncCellLock(Error)

§

ClientInError

§

ColumnNull

§

ConvertFailed(String)

§

EntityNotFound

§

Internal

§

NotInTransaction

§

ProviderNotFound

§

Std(Box<dyn Error + Send + Sync>)

§

Str(&'static str)

§

String(String)

§

Mssql(Error)

Implementations§

source§

impl Error

source

pub fn as_mssql(&self) -> Option<&Error>

source

pub fn std<E: Into<Box<dyn Error + Send + Sync>>>(e: E) -> Self

Trait Implementations§

source§

impl Debug for Error

source§

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

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

impl Display for Error

source§

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

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

impl Error for Error

1.30.0 · source§

fn source(&self) -> Option<&(dyn Error + 'static)>

The lower-level source of this error, if any. Read more
1.0.0 · source§

fn description(&self) -> &str

👎Deprecated since 1.42.0: use the Display impl or to_string()
1.0.0 · source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type based access to context intended for error reports. Read more
source§

impl From<Box<dyn Error + Send + Sync>> for Error

source§

fn from(b: Box<dyn Error + Send + Sync>) -> Self

Converts to this type from the input type.
source§

impl From<Error> for Error

source§

fn from(e: Error) -> Self

Converts to this type from the input type.
source§

impl From<Error> for Error

source§

fn from(e: Error) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

§

impl !RefUnwindSafe for Error

§

impl Send for Error

§

impl Sync for Error

§

impl Unpin for Error

§

impl !UnwindSafe for Error

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where + T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where + T: ?Sized,

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> FromRefOpt<U> for T
where - U: AsRefOpt<T>,

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an + U: AsRefOpt<T>,
§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where - U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where + U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

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

-
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> ToString for T
where - T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. Read more
source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where - S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

+
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> ToString for T
where + T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. Read more
source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where + S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
\ No newline at end of file diff --git a/storm/enum.FieldsOrStr.html b/storm/enum.FieldsOrStr.html index 06948eb2..26ed89cd 100644 --- a/storm/enum.FieldsOrStr.html +++ b/storm/enum.FieldsOrStr.html @@ -1,36 +1,36 @@ -FieldsOrStr in storm - Rust +FieldsOrStr in storm - Rust

Enum storm::FieldsOrStr

source ·
pub enum FieldsOrStr<Fields> {
     Fields(Fields),
-    String(String),
-}

Variants§

§

Fields(Fields)

§

String(String)

Trait Implementations§

source§

impl<Fields: Clone> Clone for FieldsOrStr<Fields>

source§

fn clone(&self) -> FieldsOrStr<Fields>

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl<'de, Fields> Deserialize<'de> for FieldsOrStr<Fields>
where - Fields: Deserialize<'de>,

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl<Fields: Hash> Hash for FieldsOrStr<Fields>

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where - H: Hasher, - Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl<Fields: PartialEq> PartialEq for FieldsOrStr<Fields>

source§

fn eq(&self, other: &FieldsOrStr<Fields>) -> bool

This method tests for self and other values to be equal, and is used -by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always + String(String), +}

Variants§

§

Fields(Fields)

§

String(String)

Trait Implementations§

source§

impl<Fields: Clone> Clone for FieldsOrStr<Fields>

source§

fn clone(&self) -> FieldsOrStr<Fields>

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl<'de, Fields> Deserialize<'de> for FieldsOrStr<Fields>
where + Fields: Deserialize<'de>,

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl<Fields: Hash> Hash for FieldsOrStr<Fields>

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where + H: Hasher, + Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl<Fields: PartialEq> PartialEq for FieldsOrStr<Fields>

source§

fn eq(&self, other: &FieldsOrStr<Fields>) -> bool

This method tests for self and other values to be equal, and is used +by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl<Fields> Serialize for FieldsOrStr<Fields>
where - Fields: Serialize,

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where - __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl<Fields: Eq> Eq for FieldsOrStr<Fields>

source§

impl<Fields> StructuralEq for FieldsOrStr<Fields>

source§

impl<Fields> StructuralPartialEq for FieldsOrStr<Fields>

Auto Trait Implementations§

§

impl<Fields> RefUnwindSafe for FieldsOrStr<Fields>
where - Fields: RefUnwindSafe,

§

impl<Fields> Send for FieldsOrStr<Fields>
where - Fields: Send,

§

impl<Fields> Sync for FieldsOrStr<Fields>
where - Fields: Sync,

§

impl<Fields> Unpin for FieldsOrStr<Fields>
where - Fields: Unpin,

§

impl<Fields> UnwindSafe for FieldsOrStr<Fields>
where - Fields: UnwindSafe,

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where - T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where - T: ?Sized,

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+ Fields: Serialize,
source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where + __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl<Fields: Eq> Eq for FieldsOrStr<Fields>

source§

impl<Fields> StructuralPartialEq for FieldsOrStr<Fields>

Auto Trait Implementations§

§

impl<Fields> RefUnwindSafe for FieldsOrStr<Fields>
where + Fields: RefUnwindSafe,

§

impl<Fields> Send for FieldsOrStr<Fields>
where + Fields: Send,

§

impl<Fields> Sync for FieldsOrStr<Fields>
where + Fields: Sync,

§

impl<Fields> Unpin for FieldsOrStr<Fields>
where + Fields: Unpin,

§

impl<Fields> UnwindSafe for FieldsOrStr<Fields>
where + Fields: UnwindSafe,

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where + T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where + T: ?Sized,

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> FromRefOpt<U> for T
where - U: AsRefOpt<T>,

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an + U: AsRefOpt<T>,
§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where - U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where + U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

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

-
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> ToOwned for T
where - T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

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

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where - S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

+
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> ToOwned for T
where + T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

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

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where + S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

\ No newline at end of file diff --git a/storm/enum.LogState.html b/storm/enum.LogState.html index 2b3cc79d..4217a60f 100644 --- a/storm/enum.LogState.html +++ b/storm/enum.LogState.html @@ -1,29 +1,29 @@ -LogState in storm - Rust +LogState in storm - Rust

Enum storm::LogState

source ·
pub enum LogState<T> {
     Inserted(T),
     Removed,
-}

Variants§

§

Inserted(T)

§

Removed

Trait Implementations§

source§

impl<T: Clone> Clone for LogState<T>

source§

fn clone(&self) -> Self

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl<T: Debug> Debug for LogState<T>

source§

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

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

impl<T: PartialEq> PartialEq for LogState<T>

source§

fn eq(&self, other: &Self) -> bool

This method tests for self and other values to be equal, and is used -by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.

Auto Trait Implementations§

§

impl<T> RefUnwindSafe for LogState<T>
where - T: RefUnwindSafe,

§

impl<T> Send for LogState<T>
where - T: Send,

§

impl<T> Sync for LogState<T>
where - T: Sync,

§

impl<T> Unpin for LogState<T>
where - T: Unpin,

§

impl<T> UnwindSafe for LogState<T>
where - T: UnwindSafe,

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where - T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where - T: ?Sized,

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+}

Variants§

§

Inserted(T)

§

Removed

Trait Implementations§

source§

impl<T: Clone> Clone for LogState<T>

source§

fn clone(&self) -> Self

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl<T: Debug> Debug for LogState<T>

source§

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

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

impl<T: PartialEq> PartialEq for LogState<T>

source§

fn eq(&self, other: &Self) -> bool

This method tests for self and other values to be equal, and is used +by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.

Auto Trait Implementations§

§

impl<T> RefUnwindSafe for LogState<T>
where + T: RefUnwindSafe,

§

impl<T> Send for LogState<T>
where + T: Send,

§

impl<T> Sync for LogState<T>
where + T: Sync,

§

impl<T> Unpin for LogState<T>
where + T: Unpin,

§

impl<T> UnwindSafe for LogState<T>
where + T: UnwindSafe,

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where + T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where + T: ?Sized,

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> FromRefOpt<U> for T
where - U: AsRefOpt<T>,

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an + U: AsRefOpt<T>,
§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where - U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where + U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

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

-
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> ToOwned for T
where - T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

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

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where - S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

+
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> ToOwned for T
where + T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

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

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where + S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
\ No newline at end of file diff --git a/storm/fn.async_ref_block5.html b/storm/fn.async_ref_block5.html index a376df2a..a052d21d 100644 --- a/storm/fn.async_ref_block5.html +++ b/storm/fn.async_ref_block5.html @@ -1,10 +1,10 @@ -async_ref_block5 in storm - Rust +async_ref_block5 in storm - Rust

Function storm::async_ref_block5

source ·
pub fn async_ref_block5<A, B, C, D, E>(
     ctx: &Ctx
-) -> BoxFuture<'_, Result<(&A, &B, &C, &D, &E)>>
where +) -> BoxFuture<'_, Result<(&A, &B, &C, &D, &E)>>
where Ctx: AsRefAsync<A> + AsRefAsync<B> + AsRefAsync<C> + AsRefAsync<D> + AsRefAsync<E>, - A: Sync, - B: Sync, - C: Sync, - D: Sync, - E: Sync,
\ No newline at end of file + A: Sync, + B: Sync, + C: Sync, + D: Sync, + E: Sync,
\ No newline at end of file diff --git a/storm/gc/collectables/fn.collect.html b/storm/gc/collectables/fn.collect.html index 5e4fa31a..fc2c4dcc 100644 --- a/storm/gc/collectables/fn.collect.html +++ b/storm/gc/collectables/fn.collect.html @@ -1,2 +1,2 @@ -collect in storm::gc::collectables - Rust +collect in storm::gc::collectables - Rust

Function storm::gc::collectables::collect

source ·
pub fn collect(ctx: &mut Ctx)
\ No newline at end of file diff --git a/storm/gc/collectables/fn.register.html b/storm/gc/collectables/fn.register.html index 9845b1dd..de1294e8 100644 --- a/storm/gc/collectables/fn.register.html +++ b/storm/gc/collectables/fn.register.html @@ -1,3 +1,3 @@ -register in storm::gc::collectables - Rust +register in storm::gc::collectables - Rust

Function storm::gc::collectables::register

source ·
pub fn register<F>(f: F)
where - F: Fn(&mut Ctx) + Send + Sync + 'static,
\ No newline at end of file + F: Fn(&mut Ctx) + Send + Sync + 'static,
\ No newline at end of file diff --git a/storm/gc/collectables/index.html b/storm/gc/collectables/index.html index 9c823890..3ca002cf 100644 --- a/storm/gc/collectables/index.html +++ b/storm/gc/collectables/index.html @@ -1,2 +1,2 @@ -storm::gc::collectables - Rust -
\ No newline at end of file +storm::gc::collectables - Rust +

Module storm::gc::collectables

source ·

Functions§

\ No newline at end of file diff --git a/storm/gc/index.html b/storm/gc/index.html index 2ed244ea..8301ff4d 100644 --- a/storm/gc/index.html +++ b/storm/gc/index.html @@ -1,2 +1,2 @@ -storm::gc - Rust -
\ No newline at end of file +storm::gc - Rust +

Module storm::gc

source ·

Modules§

Structs§

Traits§

\ No newline at end of file diff --git a/storm/gc/struct.GcCtx.html b/storm/gc/struct.GcCtx.html index a3905cf2..367c8a4f 100644 --- a/storm/gc/struct.GcCtx.html +++ b/storm/gc/struct.GcCtx.html @@ -1,18 +1,18 @@ -GcCtx in storm::gc - Rust -

Struct storm::gc::GcCtx

source ·
pub struct GcCtx;

Trait Implementations§

source§

impl Default for GcCtx

source§

fn default() -> GcCtx

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

Auto Trait Implementations§

§

impl RefUnwindSafe for GcCtx

§

impl Send for GcCtx

§

impl Sync for GcCtx

§

impl Unpin for GcCtx

§

impl UnwindSafe for GcCtx

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where - T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where - T: ?Sized,

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+GcCtx in storm::gc - Rust +

Struct storm::gc::GcCtx

source ·
pub struct GcCtx;

Trait Implementations§

source§

impl Default for GcCtx

source§

fn default() -> GcCtx

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

Auto Trait Implementations§

§

impl RefUnwindSafe for GcCtx

§

impl Send for GcCtx

§

impl Sync for GcCtx

§

impl Unpin for GcCtx

§

impl UnwindSafe for GcCtx

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where + T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where + T: ?Sized,

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> FromRefOpt<U> for T
where - U: AsRefOpt<T>,

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an + U: AsRefOpt<T>,
§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where - U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where + U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

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

-
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where - S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

+
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where + S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
\ No newline at end of file diff --git a/storm/gc/trait.Gc.html b/storm/gc/trait.Gc.html index c0c53d81..f1159410 100644 --- a/storm/gc/trait.Gc.html +++ b/storm/gc/trait.Gc.html @@ -1,27 +1,27 @@ -Gc in storm::gc - Rust +Gc in storm::gc - Rust

Trait storm::gc::Gc

source ·
pub trait Gc {
-    const SUPPORT_GC: bool = false;
+    const SUPPORT_GC: bool = false;
 
     // Provided method
     fn gc(&mut self, _ctx: &GcCtx) { ... }
-}

Provided Associated Constants§

source

const SUPPORT_GC: bool = false

Provided Methods§

source

fn gc(&mut self, _ctx: &GcCtx)

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl Gc for bool

source§

impl Gc for f32

source§

impl Gc for f64

source§

impl Gc for i8

source§

impl Gc for i16

source§

impl Gc for i32

source§

impl Gc for i64

source§

impl Gc for i128

source§

impl Gc for isize

source§

impl Gc for u8

source§

impl Gc for u16

source§

impl Gc for u32

source§

impl Gc for u64

source§

impl Gc for u128

source§

impl Gc for ()

source§

const SUPPORT_GC: bool = false

source§

fn gc(&mut self, ctx: &GcCtx)

source§

impl Gc for usize

source§

impl Gc for Box<str>

source§

impl Gc for Box<[u8]>

source§

impl Gc for Rc<str>

source§

impl Gc for Rc<[u8]>

source§

impl Gc for String

source§

impl Gc for Arc<str>

source§

impl Gc for Arc<[u8]>

source§

impl Gc for DateTime<FixedOffset>

source§

impl Gc for DateTime<Utc>

source§

impl Gc for NaiveDate

source§

impl Gc for NaiveDateTime

source§

impl Gc for NaiveTime

source§

impl Gc for Uuid

source§

impl Gc for Decimal

source§

impl<'a, T> Gc for Cow<'a, T>
where - T: Clone + Gc,

source§

const SUPPORT_GC: bool = T::SUPPORT_GC

source§

fn gc(&mut self, ctx: &GcCtx)

source§

impl<A: Gc> Gc for (A,)

source§

const SUPPORT_GC: bool = _

source§

fn gc(&mut self, ctx: &GcCtx)

source§

impl<A: Gc, B: Gc> Gc for (A, B)

source§

const SUPPORT_GC: bool = _

source§

fn gc(&mut self, ctx: &GcCtx)

source§

impl<A: Gc, B: Gc, C: Gc> Gc for (A, B, C)

source§

const SUPPORT_GC: bool = _

source§

fn gc(&mut self, ctx: &GcCtx)

source§

impl<A: Gc, B: Gc, C: Gc, D: Gc> Gc for (A, B, C, D)

source§

const SUPPORT_GC: bool = _

source§

fn gc(&mut self, ctx: &GcCtx)

source§

impl<A: Gc, B: Gc, C: Gc, D: Gc, E: Gc> Gc for (A, B, C, D, E)

source§

const SUPPORT_GC: bool = _

source§

fn gc(&mut self, ctx: &GcCtx)

source§

impl<A: Gc, B: Gc, C: Gc, D: Gc, E: Gc, F: Gc> Gc for (A, B, C, D, E, F)

source§

const SUPPORT_GC: bool = _

source§

fn gc(&mut self, ctx: &GcCtx)

source§

impl<A: Gc, B: Gc, C: Gc, D: Gc, E: Gc, F: Gc, G: Gc> Gc for (A, B, C, D, E, F, G)

source§

const SUPPORT_GC: bool = _

source§

fn gc(&mut self, ctx: &GcCtx)

source§

impl<A: Gc, B: Gc, C: Gc, D: Gc, E: Gc, F: Gc, G: Gc, H: Gc> Gc for (A, B, C, D, E, F, G, H)

source§

const SUPPORT_GC: bool = _

source§

fn gc(&mut self, ctx: &GcCtx)

source§

impl<A: Gc, B: Gc, C: Gc, D: Gc, E: Gc, F: Gc, G: Gc, H: Gc, I: Gc> Gc for (A, B, C, D, E, F, G, H, I)

source§

const SUPPORT_GC: bool = _

source§

fn gc(&mut self, ctx: &GcCtx)

source§

impl<A: Gc, B: Gc, C: Gc, D: Gc, E: Gc, F: Gc, G: Gc, H: Gc, I: Gc, J: Gc> Gc for (A, B, C, D, E, F, G, H, I, J)

source§

const SUPPORT_GC: bool = _

source§

fn gc(&mut self, ctx: &GcCtx)

source§

impl<E> Gc for CacheIsland<E>

source§

const SUPPORT_GC: bool = true

source§

fn gc(&mut self, _: &GcCtx)

source§

impl<K, V, S> Gc for HashMap<K, V, S>
where - K: Eq + Hash + Sync, - V: Send + Gc, - S: BuildHasher,

source§

const SUPPORT_GC: bool = V::SUPPORT_GC

source§

fn gc(&mut self, ctx: &GcCtx)

source§

impl<T> Gc for Option<T>
where - T: Gc,

source§

const SUPPORT_GC: bool = T::SUPPORT_GC

source§

fn gc(&mut self, ctx: &GcCtx)

source§

impl<T> Gc for [T]
where - T: Gc,

source§

const SUPPORT_GC: bool = T::SUPPORT_GC

source§

fn gc(&mut self, ctx: &GcCtx)

source§

impl<T> Gc for Box<T>
where - T: Gc,

source§

const SUPPORT_GC: bool = T::SUPPORT_GC

source§

fn gc(&mut self, ctx: &GcCtx)

source§

impl<T> Gc for Rc<T>
where - T: Gc,

source§

const SUPPORT_GC: bool = T::SUPPORT_GC

source§

fn gc(&mut self, ctx: &GcCtx)

source§

impl<T> Gc for Arc<T>
where - T: Gc,

source§

const SUPPORT_GC: bool = T::SUPPORT_GC

source§

fn gc(&mut self, ctx: &GcCtx)

source§

impl<T> Gc for Vec<T>
where - T: Gc + Send,

source§

const SUPPORT_GC: bool = T::SUPPORT_GC

source§

fn gc(&mut self, ctx: &GcCtx)

source§

impl<T, S> Gc for HashSet<T, S>
where - S: BuildHasher,

Implementors§

source§

impl<E> Gc for HashTable<E>
where +}

Provided Associated Constants§

source

const SUPPORT_GC: bool = false

Provided Methods§

source

fn gc(&mut self, _ctx: &GcCtx)

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl Gc for bool

source§

impl Gc for f32

source§

impl Gc for f64

source§

impl Gc for i8

source§

impl Gc for i16

source§

impl Gc for i32

source§

impl Gc for i64

source§

impl Gc for i128

source§

impl Gc for isize

source§

impl Gc for u8

source§

impl Gc for u16

source§

impl Gc for u32

source§

impl Gc for u64

source§

impl Gc for u128

source§

impl Gc for ()

source§

const SUPPORT_GC: bool = false

source§

fn gc(&mut self, ctx: &GcCtx)

source§

impl Gc for usize

source§

impl Gc for Box<str>

source§

impl Gc for Box<[u8]>

source§

impl Gc for Rc<str>

source§

impl Gc for Rc<[u8]>

source§

impl Gc for String

source§

impl Gc for Arc<str>

source§

impl Gc for Arc<[u8]>

source§

impl Gc for DateTime<FixedOffset>

source§

impl Gc for DateTime<Utc>

source§

impl Gc for NaiveDate

source§

impl Gc for NaiveDateTime

source§

impl Gc for NaiveTime

source§

impl Gc for Uuid

source§

impl Gc for Decimal

source§

impl<'a, T> Gc for Cow<'a, T>
where + T: Clone + Gc,

source§

const SUPPORT_GC: bool = T::SUPPORT_GC

source§

fn gc(&mut self, ctx: &GcCtx)

source§

impl<A: Gc> Gc for (A,)

source§

const SUPPORT_GC: bool = _

source§

fn gc(&mut self, ctx: &GcCtx)

source§

impl<A: Gc, B: Gc> Gc for (A, B)

source§

const SUPPORT_GC: bool = _

source§

fn gc(&mut self, ctx: &GcCtx)

source§

impl<A: Gc, B: Gc, C: Gc> Gc for (A, B, C)

source§

const SUPPORT_GC: bool = _

source§

fn gc(&mut self, ctx: &GcCtx)

source§

impl<A: Gc, B: Gc, C: Gc, D: Gc> Gc for (A, B, C, D)

source§

const SUPPORT_GC: bool = _

source§

fn gc(&mut self, ctx: &GcCtx)

source§

impl<A: Gc, B: Gc, C: Gc, D: Gc, E: Gc> Gc for (A, B, C, D, E)

source§

const SUPPORT_GC: bool = _

source§

fn gc(&mut self, ctx: &GcCtx)

source§

impl<A: Gc, B: Gc, C: Gc, D: Gc, E: Gc, F: Gc> Gc for (A, B, C, D, E, F)

source§

const SUPPORT_GC: bool = _

source§

fn gc(&mut self, ctx: &GcCtx)

source§

impl<A: Gc, B: Gc, C: Gc, D: Gc, E: Gc, F: Gc, G: Gc> Gc for (A, B, C, D, E, F, G)

source§

const SUPPORT_GC: bool = _

source§

fn gc(&mut self, ctx: &GcCtx)

source§

impl<A: Gc, B: Gc, C: Gc, D: Gc, E: Gc, F: Gc, G: Gc, H: Gc> Gc for (A, B, C, D, E, F, G, H)

source§

const SUPPORT_GC: bool = _

source§

fn gc(&mut self, ctx: &GcCtx)

source§

impl<A: Gc, B: Gc, C: Gc, D: Gc, E: Gc, F: Gc, G: Gc, H: Gc, I: Gc> Gc for (A, B, C, D, E, F, G, H, I)

source§

const SUPPORT_GC: bool = _

source§

fn gc(&mut self, ctx: &GcCtx)

source§

impl<A: Gc, B: Gc, C: Gc, D: Gc, E: Gc, F: Gc, G: Gc, H: Gc, I: Gc, J: Gc> Gc for (A, B, C, D, E, F, G, H, I, J)

source§

const SUPPORT_GC: bool = _

source§

fn gc(&mut self, ctx: &GcCtx)

source§

impl<E> Gc for CacheIsland<E>

source§

const SUPPORT_GC: bool = true

source§

fn gc(&mut self, _: &GcCtx)

source§

impl<K, V, S> Gc for HashMap<K, V, S>
where + K: Eq + Hash + Sync, + V: Send + Gc, + S: BuildHasher,

source§

const SUPPORT_GC: bool = V::SUPPORT_GC

source§

fn gc(&mut self, ctx: &GcCtx)

source§

impl<T> Gc for Option<T>
where + T: Gc,

source§

const SUPPORT_GC: bool = T::SUPPORT_GC

source§

fn gc(&mut self, ctx: &GcCtx)

source§

impl<T> Gc for [T]
where + T: Gc,

source§

const SUPPORT_GC: bool = T::SUPPORT_GC

source§

fn gc(&mut self, ctx: &GcCtx)

source§

impl<T> Gc for Box<T>
where + T: Gc,

source§

const SUPPORT_GC: bool = T::SUPPORT_GC

source§

fn gc(&mut self, ctx: &GcCtx)

source§

impl<T> Gc for Rc<T>
where + T: Gc,

source§

const SUPPORT_GC: bool = T::SUPPORT_GC

source§

fn gc(&mut self, ctx: &GcCtx)

source§

impl<T> Gc for Arc<T>
where + T: Gc,

source§

const SUPPORT_GC: bool = T::SUPPORT_GC

source§

fn gc(&mut self, ctx: &GcCtx)

source§

impl<T> Gc for Vec<T>
where + T: Gc + Send,

source§

const SUPPORT_GC: bool = T::SUPPORT_GC

source§

fn gc(&mut self, ctx: &GcCtx)

source§

impl<T, S> Gc for HashSet<T, S>
where + S: BuildHasher,

Implementors§

source§

impl<E> Gc for HashTable<E>
where E: CtxTypeInfo + Entity + Gc, - E::Key: Eq + Hash,

source§

const SUPPORT_GC: bool = E::SUPPORT_GC

source§

impl<E> Gc for VecTable<E>
where + E::Key: Eq + Hash,

source§

const SUPPORT_GC: bool = E::SUPPORT_GC

source§

impl<E> Gc for VecTable<E>
where E: Entity + CtxTypeInfo + Gc, - E::Key: Copy + From<usize>,

source§

const SUPPORT_GC: bool = E::SUPPORT_GC

source§

impl<K, V> Gc for VecMap<K, V>
where - K: Copy + From<usize> + Send, - V: Gc + Send,

source§

const SUPPORT_GC: bool = V::SUPPORT_GC

source§

impl<ONE, MANY> Gc for OneToMany<ONE, MANY>
where - ONE: Copy + From<usize> + Send, - MANY: Gc + Send + Sync,

source§

const SUPPORT_GC: bool = MANY::SUPPORT_GC

source§

impl<T> Gc for OnceCell<T>
where - T: Gc,

source§

const SUPPORT_GC: bool = T::SUPPORT_GC

\ No newline at end of file + E::Key: Copy + From<usize>,
source§

const SUPPORT_GC: bool = E::SUPPORT_GC

source§

impl<K, V> Gc for VecMap<K, V>
where + K: Copy + From<usize> + Send, + V: Gc + Send,

source§

const SUPPORT_GC: bool = V::SUPPORT_GC

source§

impl<ONE, MANY> Gc for OneToMany<ONE, MANY>
where + ONE: Copy + From<usize> + Send, + MANY: Gc + Send + Sync,

source§

const SUPPORT_GC: bool = MANY::SUPPORT_GC

source§

impl<T> Gc for OnceCell<T>
where + T: Gc,

source§

const SUPPORT_GC: bool = T::SUPPORT_GC

\ No newline at end of file diff --git a/storm/index.html b/storm/index.html index 37934bd3..835b8f95 100644 --- a/storm/index.html +++ b/storm/index.html @@ -1,6 +1,6 @@ -storm - Rust

Trait Implementations§

§

impl<T> Clone for OnceCell<T>
where - T: Clone,

§

fn clone(&self) -> OnceCell<T>

Returns a copy of the value. Read more
§

fn clone_from(&mut self, source: &OnceCell<T>)

Performs copy-assignment from source. Read more
§

impl<T> Debug for OnceCell<T>
where - T: Debug,

§

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

Formats the value using the given formatter. Read more
§

impl<T> Default for OnceCell<T>

§

fn default() -> OnceCell<T>

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

impl<T> From<T> for OnceCell<T>

§

fn from(value: T) -> OnceCell<T>

Converts to this type from the input type.
source§

impl<T> Gc for OnceCell<T>
where - T: Gc,

source§

const SUPPORT_GC: bool = T::SUPPORT_GC

source§

fn gc(&mut self, ctx: &GcCtx)

§

impl<T> PartialEq for OnceCell<T>
where - T: PartialEq,

§

fn eq(&self, other: &OnceCell<T>) -> bool

This method tests for self and other values to be equal, and is used -by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
§

impl<T> Eq for OnceCell<T>
where - T: Eq,

Auto Trait Implementations§

§

impl<T> RefUnwindSafe for OnceCell<T>

§

impl<T> Send for OnceCell<T>
where - T: Send,

§

impl<T> Sync for OnceCell<T>
where - T: Send + Sync,

§

impl<T> Unpin for OnceCell<T>
where - T: Unpin,

§

impl<T> UnwindSafe for OnceCell<T>
where - T: UnwindSafe,

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where - T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where - T: ?Sized,

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<!> for T

source§

fn from(t: !) -> T

Converts to this type from the input type.
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+

Trait Implementations§

§

impl<T> Clone for OnceCell<T>
where + T: Clone,

§

fn clone(&self) -> OnceCell<T>

Returns a copy of the value. Read more
§

fn clone_from(&mut self, source: &OnceCell<T>)

Performs copy-assignment from source. Read more
§

impl<T> Debug for OnceCell<T>
where + T: Debug,

§

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

Formats the value using the given formatter. Read more
§

impl<T> Default for OnceCell<T>

§

fn default() -> OnceCell<T>

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

impl<T> From<T> for OnceCell<T>

§

fn from(value: T) -> OnceCell<T>

Converts to this type from the input type.
source§

impl<T> Gc for OnceCell<T>
where + T: Gc,

source§

const SUPPORT_GC: bool = T::SUPPORT_GC

source§

fn gc(&mut self, ctx: &GcCtx)

§

impl<T> PartialEq for OnceCell<T>
where + T: PartialEq,

§

fn eq(&self, other: &OnceCell<T>) -> bool

This method tests for self and other values to be equal, and is used +by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
§

impl<T> Eq for OnceCell<T>
where + T: Eq,

Auto Trait Implementations§

§

impl<T> RefUnwindSafe for OnceCell<T>

§

impl<T> Send for OnceCell<T>
where + T: Send,

§

impl<T> Sync for OnceCell<T>
where + T: Sync + Send,

§

impl<T> Unpin for OnceCell<T>
where + T: Unpin,

§

impl<T> UnwindSafe for OnceCell<T>
where + T: UnwindSafe,

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where + T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where + T: ?Sized,

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<!> for T

source§

fn from(t: !) -> T

Converts to this type from the input type.
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> FromRefOpt<U> for T
where - U: AsRefOpt<T>,

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an + U: AsRefOpt<T>,
§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where - U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where + U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

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

-
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> ToOwned for T
where - T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

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

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where - S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

+
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> ToOwned for T
where + T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

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

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where + S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
\ No newline at end of file diff --git a/storm/prelude/struct.QueueRwLock.html b/storm/prelude/struct.QueueRwLock.html index 70bdf2bc..58c7503b 100644 --- a/storm/prelude/struct.QueueRwLock.html +++ b/storm/prelude/struct.QueueRwLock.html @@ -1,31 +1,31 @@ -QueueRwLock in storm::prelude - Rust +QueueRwLock in storm::prelude - Rust

Struct storm::prelude::QueueRwLock

pub struct QueueRwLock<T> { /* private fields */ }

Implementations§

§

impl<T> QueueRwLock<T>

pub fn new(val: T) -> QueueRwLock<T>

Creates a new instance of an QueueRwLock<T> which is unlocked.

-

pub fn get_mut(&mut self) -> &mut T

Returns a mutable reference to the underlying data.

+

pub fn get_mut(&mut self) -> &mut T

Returns a mutable reference to the underlying data.

Since this call borrows the RwLock mutably, no actual locking needs to take place—the mutable borrow statically guarantees no locks exist.

pub fn into_inner(self) -> T

Consumes this RwLock, returning the underlying data.

-

pub async fn queue(&self) -> Result<QueueRwLockQueueGuard<'_, T>, Error>

Enqueue to gain access to the write.

-

pub async fn read(&self) -> Result<QueueRwLockReadGuard<'_, T>, Error>

Locks this RwLock with shared read access

-

pub fn try_queue(&self) -> Option<QueueRwLockQueueGuard<'_, T>>

Attempts to acquire the queue, and returns None if any +

pub async fn queue(&self) -> Result<QueueRwLockQueueGuard<'_, T>, Error>

Enqueue to gain access to the write.

+

pub async fn read(&self) -> Result<QueueRwLockReadGuard<'_, T>, Error>

Locks this RwLock with shared read access

+

pub fn try_queue(&self) -> Option<QueueRwLockQueueGuard<'_, T>>

Attempts to acquire the queue, and returns None if any somewhere else is in the queue.

-

Trait Implementations§

§

impl<T> Default for QueueRwLock<T>
where - T: Default,

§

fn default() -> QueueRwLock<T>

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

Auto Trait Implementations§

§

impl<T> !RefUnwindSafe for QueueRwLock<T>

§

impl<T> Send for QueueRwLock<T>
where - T: Send,

§

impl<T> Sync for QueueRwLock<T>
where - T: Send + Sync,

§

impl<T> Unpin for QueueRwLock<T>
where - T: Unpin,

§

impl<T> !UnwindSafe for QueueRwLock<T>

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where - T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where - T: ?Sized,

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+

Trait Implementations§

§

impl<T> Default for QueueRwLock<T>
where + T: Default,

§

fn default() -> QueueRwLock<T>

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

Auto Trait Implementations§

§

impl<T> !RefUnwindSafe for QueueRwLock<T>

§

impl<T> Send for QueueRwLock<T>
where + T: Send,

§

impl<T> Sync for QueueRwLock<T>
where + T: Sync + Send,

§

impl<T> Unpin for QueueRwLock<T>
where + T: Unpin,

§

impl<T> !UnwindSafe for QueueRwLock<T>

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where + T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where + T: ?Sized,

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> FromRefOpt<U> for T
where - U: AsRefOpt<T>,

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an + U: AsRefOpt<T>,
§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where - U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where + U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

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

-
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where - S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

+
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where + S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
\ No newline at end of file diff --git a/storm/provider/index.html b/storm/provider/index.html index 857b0d01..4f123c21 100644 --- a/storm/provider/index.html +++ b/storm/provider/index.html @@ -1,3 +1,3 @@ -storm::provider - Rust -

Module storm::provider

source ·

Structs

Traits

Fields§

§use_transaction: bool

Trait Implementations§

source§

impl Debug for LoadArgs

source§

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

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

impl Default for LoadArgs

source§

fn default() -> LoadArgs

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

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where + T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where + T: ?Sized,

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> FromRefOpt<U> for T
where - U: AsRefOpt<T>,

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an + U: AsRefOpt<T>,
§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where - U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where + U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

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

-
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where - S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

+
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where + S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
\ No newline at end of file diff --git a/storm/provider/struct.ProviderContainer.html b/storm/provider/struct.ProviderContainer.html index 1b74a1a4..8c5ef6dc 100644 --- a/storm/provider/struct.ProviderContainer.html +++ b/storm/provider/struct.ProviderContainer.html @@ -1,32 +1,32 @@ -ProviderContainer in storm::provider - Rust +ProviderContainer in storm::provider - Rust
pub struct ProviderContainer { /* private fields */ }
Expand description

A dependency container to be able to instantiate and provide connection to databases.

A database provider can be named and have a type.

Implementations§

source§

impl ProviderContainer

source

pub fn new() -> Self

source

pub fn gc(&mut self)

A method to garbage collect all unused provider. This is intended to close database connections and release resources.

source

pub fn provide<'a, P: Provider>( &'a self, - name: &'a str -) -> BoxFuture<'a, Result<&'a P>>

Gets or creates a database provider that have been previously registered with + name: &'a str +) -> BoxFuture<'a, Result<&'a P>>

Gets or creates a database provider that have been previously registered with the register method.

source

pub fn register<F: ProviderFactory>( &mut self, - name: impl Into<Box<str>>, + name: impl Into<Box<str>>, factory: F )

Register a provider factory that creates provider on demand. A provider can be named.

-
source

pub fn transaction(&self) -> TransactionProvider<'_>

Trait Implementations§

source§

impl Default for ProviderContainer

source§

fn default() -> Self

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

impl From<ProviderContainer> for Ctx

source§

fn from(provider: ProviderContainer) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where - T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where - T: ?Sized,

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+
source

pub fn transaction(&self) -> TransactionProvider<'_>

Trait Implementations§

source§

impl Default for ProviderContainer

source§

fn default() -> Self

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

impl From<ProviderContainer> for Ctx

source§

fn from(provider: ProviderContainer) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where + T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where + T: ?Sized,

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> FromRefOpt<U> for T
where - U: AsRefOpt<T>,

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an + U: AsRefOpt<T>,
§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where - U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where + U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

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

-
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where - S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

+
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where + S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
\ No newline at end of file diff --git a/storm/provider/struct.TransactionProvider.html b/storm/provider/struct.TransactionProvider.html index 0680ae97..65a2948e 100644 --- a/storm/provider/struct.TransactionProvider.html +++ b/storm/provider/struct.TransactionProvider.html @@ -1,31 +1,31 @@ -TransactionProvider in storm::provider - Rust -
pub struct TransactionProvider<'a>(/* private fields */);

Implementations§

source§

impl<'a> TransactionProvider<'a>

source

pub fn commit(&self) -> BoxFuture<'_, Result<()>>

source

pub fn container(&self) -> &'a ProviderContainer

Methods from Deref<Target = ProviderContainer>§

source

pub fn provide<'a, P: Provider>( +TransactionProvider in storm::provider - Rust +
pub struct TransactionProvider<'a>(/* private fields */);

Implementations§

source§

impl<'a> TransactionProvider<'a>

source

pub fn commit(&self) -> BoxFuture<'_, Result<()>>

source

pub fn container(&self) -> &'a ProviderContainer

Methods from Deref<Target = ProviderContainer>§

source

pub fn provide<'a, P: Provider>( &'a self, - name: &'a str -) -> BoxFuture<'a, Result<&'a P>>

Gets or creates a database provider that have been previously registered with + name: &'a str +) -> BoxFuture<'a, Result<&'a P>>

Gets or creates a database provider that have been previously registered with the register method.

-
source

pub fn transaction(&self) -> TransactionProvider<'_>

Trait Implementations§

source§

impl<'a> Deref for TransactionProvider<'a>

§

type Target = ProviderContainer

The resulting type after dereferencing.
source§

fn deref(&self) -> &Self::Target

Dereferences the value.
source§

impl<'a> Drop for TransactionProvider<'a>

source§

fn drop(&mut self)

Executes the destructor for this type. Read more
source§

impl<C, E, FILTER> LoadAll<E, FILTER, C> for TransactionProvider<'_>
where - C: Default + Extend<(E::Key, E)> + Send + 'static, +

source

pub fn transaction(&self) -> TransactionProvider<'_>

Trait Implementations§

source§

impl<'a> Deref for TransactionProvider<'a>

§

type Target = ProviderContainer

The resulting type after dereferencing.
source§

fn deref(&self) -> &Self::Target

Dereferences the value.
source§

impl<'a> Drop for TransactionProvider<'a>

source§

fn drop(&mut self)

Executes the destructor for this type. Read more
source§

impl<C, E, FILTER> LoadAll<E, FILTER, C> for TransactionProvider<'_>
where + C: Default + Extend<(E::Key, E)> + Send + 'static, E: Entity + 'static, - FILTER: Send + Sync, + FILTER: Send + Sync, ProviderContainer: LoadAll<E, FILTER, C>,

source§

fn load_all_with_args<'a>( &'a self, - filter: &'a FILTER, + filter: &'a FILTER, args: LoadArgs -) -> BoxFuture<'a, Result<C>>

source§

fn load_all<'a>(&'a self, filter: &'a FILTER) -> BoxFuture<'a, Result<C>>

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where - T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where - T: ?Sized,

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+) -> BoxFuture<'a, Result<C>>
source§

fn load_all<'a>(&'a self, filter: &'a FILTER) -> BoxFuture<'a, Result<C>>

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where + T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where + T: ?Sized,

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> FromRefOpt<U> for T
where - U: AsRefOpt<T>,

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an + U: AsRefOpt<T>,
§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where - U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where + U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

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

-
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where - S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

+
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where + S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
\ No newline at end of file diff --git a/storm/provider/trait.Delete.html b/storm/provider/trait.Delete.html index 1bc37e0f..c31e7eb4 100644 --- a/storm/provider/trait.Delete.html +++ b/storm/provider/trait.Delete.html @@ -1,8 +1,8 @@ -Delete in storm::provider - Rust -

Trait storm::provider::Delete

source ·
pub trait Delete<E: Entity>: Send + Sync {
+Delete in storm::provider - Rust
+    

Trait storm::provider::Delete

source ·
pub trait Delete<E: Entity>: Send + Sync {
     // Required method
-    fn delete<'a>(&'a self, k: &'a E::Key) -> BoxFuture<'a, Result<()>>;
-}

Required Methods§

source

fn delete<'a>(&'a self, k: &'a E::Key) -> BoxFuture<'a, Result<()>>

Implementations on Foreign Types§

source§

impl<E, T> Delete<E> for &T
where + fn delete<'a>(&'a self, k: &'a E::Key) -> BoxFuture<'a, Result<()>>; +}

Required Methods§

source

fn delete<'a>(&'a self, k: &'a E::Key) -> BoxFuture<'a, Result<()>>

Implementations on Foreign Types§

source§

impl<E, T> Delete<E> for &T
where E: Entity, - E::Key: Sync, - T: Delete<E>,

source§

fn delete<'a>(&'a self, k: &'a E::Key) -> BoxFuture<'a, Result<()>>

Implementors§

\ No newline at end of file + E::Key: Sync, + T: Delete<E>,
source§

fn delete<'a>(&'a self, k: &'a E::Key) -> BoxFuture<'a, Result<()>>

Implementors§

\ No newline at end of file diff --git a/storm/provider/trait.LoadAll.html b/storm/provider/trait.LoadAll.html index d4bad8a5..54834a0a 100644 --- a/storm/provider/trait.LoadAll.html +++ b/storm/provider/trait.LoadAll.html @@ -1,38 +1,38 @@ -LoadAll in storm::provider - Rust -

Trait storm::provider::LoadAll

source ·
pub trait LoadAll<E: Entity, FILTER: Send + Sync, C>: Send + Sync
where - C: Default + Extend<(E::Key, E)> + Send,
{ +LoadAll in storm::provider - Rust +

Trait storm::provider::LoadAll

source ·
pub trait LoadAll<E: Entity, FILTER: Send + Sync, C>: Send + Sync
where + C: Default + Extend<(E::Key, E)> + Send,
{ // Required method fn load_all_with_args<'a>( &'a self, - filter: &'a FILTER, + filter: &'a FILTER, args: LoadArgs ) -> BoxFuture<'a, Result<C>>; // Provided method - fn load_all<'a>(&'a self, filter: &'a FILTER) -> BoxFuture<'a, Result<C>> { ... } + fn load_all<'a>(&'a self, filter: &'a FILTER) -> BoxFuture<'a, Result<C>> { ... } }

Required Methods§

source

fn load_all_with_args<'a>( &'a self, - filter: &'a FILTER, + filter: &'a FILTER, args: LoadArgs -) -> BoxFuture<'a, Result<C>>

Provided Methods§

source

fn load_all<'a>(&'a self, filter: &'a FILTER) -> BoxFuture<'a, Result<C>>

Implementations on Foreign Types§

source§

impl<C, E, FILTER, P> LoadAll<E, FILTER, C> for &P
where - C: Default + Extend<(E::Key, E)> + Send + 'static, +) -> BoxFuture<'a, Result<C>>

Provided Methods§

source

fn load_all<'a>(&'a self, filter: &'a FILTER) -> BoxFuture<'a, Result<C>>

Implementations on Foreign Types§

source§

impl<C, E, FILTER, P> LoadAll<E, FILTER, C> for &P
where + C: Default + Extend<(E::Key, E)> + Send + 'static, E: Entity + 'static, - FILTER: Send + Sync, + FILTER: Send + Sync, P: LoadAll<E, FILTER, C>,

source§

fn load_all_with_args<'a>( &'a self, - filter: &'a FILTER, + filter: &'a FILTER, args: LoadArgs ) -> BoxFuture<'a, Result<C>>

Implementors§

source§

impl<'a, E, F, C, L> LoadAll<E, F, C> for CtxLocks<'a, L>
where E: Entity, - C: Default + Extend<(E::Key, E)> + Send, - F: Send + Sync, - L: Send + Sync, + C: Default + Extend<(E::Key, E)> + Send, + F: Send + Sync, + L: Send + Sync, ProviderContainer: LoadAll<E, F, C>,

source§

impl<C, E, FILTER> LoadAll<E, FILTER, C> for TransactionProvider<'_>
where - C: Default + Extend<(E::Key, E)> + Send + 'static, + C: Default + Extend<(E::Key, E)> + Send + 'static, E: Entity + 'static, - FILTER: Send + Sync, + FILTER: Send + Sync, ProviderContainer: LoadAll<E, FILTER, C>,

source§

impl<E, F, C> LoadAll<E, F, C> for Ctx
where E: Entity, - C: Default + Extend<(E::Key, E)> + Send, - F: Send + Sync, + C: Default + Extend<(E::Key, E)> + Send, + F: Send + Sync, ProviderContainer: LoadAll<E, F, C>,

\ No newline at end of file diff --git a/storm/provider/trait.LoadOne.html b/storm/provider/trait.LoadOne.html index 6fc7d7c6..e8e1b611 100644 --- a/storm/provider/trait.LoadOne.html +++ b/storm/provider/trait.LoadOne.html @@ -1,22 +1,22 @@ -LoadOne in storm::provider - Rust -

Trait storm::provider::LoadOne

source ·
pub trait LoadOne<E: Entity>: Send + Sync {
+LoadOne in storm::provider - Rust
+    

Trait storm::provider::LoadOne

source ·
pub trait LoadOne<E: Entity>: Send + Sync {
     // Required method
     fn load_one_with_args<'a>(
         &'a self,
         k: &'a E::Key,
         args: LoadArgs
-    ) -> BoxFuture<'a, Result<Option<E>>>;
+    ) -> BoxFuture<'a, Result<Option<E>>>;
 
     // Provided methods
-    fn load_one<'a>(&'a self, k: &'a E::Key) -> BoxFuture<'a, Result<Option<E>>> { ... }
+    fn load_one<'a>(&'a self, k: &'a E::Key) -> BoxFuture<'a, Result<Option<E>>> { ... }
     fn load_one_ok<'a>(&'a self, k: &'a E::Key) -> BoxFuture<'a, Result<E>> { ... }
 }

Required Methods§

source

fn load_one_with_args<'a>( &'a self, k: &'a E::Key, args: LoadArgs -) -> BoxFuture<'a, Result<Option<E>>>

Provided Methods§

source

fn load_one<'a>(&'a self, k: &'a E::Key) -> BoxFuture<'a, Result<Option<E>>>

source

fn load_one_ok<'a>(&'a self, k: &'a E::Key) -> BoxFuture<'a, Result<E>>

Implementors§

source§

impl<'a, E, L> LoadOne<E> for CtxLocks<'a, L>
where +) -> BoxFuture<'a, Result<Option<E>>>

Provided Methods§

source

fn load_one<'a>(&'a self, k: &'a E::Key) -> BoxFuture<'a, Result<Option<E>>>

source

fn load_one_ok<'a>(&'a self, k: &'a E::Key) -> BoxFuture<'a, Result<E>>

Implementors§

source§

impl<'a, E, L> LoadOne<E> for CtxLocks<'a, L>
where E: Entity, - L: Send + Sync, + L: Send + Sync, ProviderContainer: LoadOne<E>,

source§

impl<E> LoadOne<E> for Ctx

\ No newline at end of file diff --git a/storm/provider/trait.Provider.html b/storm/provider/trait.Provider.html index 287ca929..a4b27052 100644 --- a/storm/provider/trait.Provider.html +++ b/storm/provider/trait.Provider.html @@ -1,6 +1,6 @@ -Provider in storm::provider - Rust -

Trait storm::provider::Provider

source ·
pub trait Provider: Any + Send + Sync {
+Provider in storm::provider - Rust
+    

Trait storm::provider::Provider

source ·
pub trait Provider: Any + Send + Sync {
     // Required methods
     fn cancel(&self);
-    fn commit(&self) -> BoxFuture<'_, Result<()>>;
-}

Required Methods§

source

fn cancel(&self)

source

fn commit(&self) -> BoxFuture<'_, Result<()>>

Implementors§

\ No newline at end of file + fn commit(&self) -> BoxFuture<'_, Result<()>>; +}

Required Methods§

source

fn cancel(&self)

source

fn commit(&self) -> BoxFuture<'_, Result<()>>

Implementors§

\ No newline at end of file diff --git a/storm/provider/trait.ProviderFactory.html b/storm/provider/trait.ProviderFactory.html index 94038df6..edd64d82 100644 --- a/storm/provider/trait.ProviderFactory.html +++ b/storm/provider/trait.ProviderFactory.html @@ -1,5 +1,5 @@ -ProviderFactory in storm::provider - Rust -
pub trait ProviderFactory: Send + Sync + 'static {
+ProviderFactory in storm::provider - Rust
+    
pub trait ProviderFactory: Send + Sync + 'static {
     type Provider: Provider;
 
     // Required method
diff --git a/storm/provider/trait.Upsert.html b/storm/provider/trait.Upsert.html
index bf7a0073..23db8de0 100644
--- a/storm/provider/trait.Upsert.html
+++ b/storm/provider/trait.Upsert.html
@@ -1,12 +1,12 @@
-Upsert in storm::provider - Rust
-    

Trait storm::provider::Upsert

source ·
pub trait Upsert<E: Entity>: Send + Sync {
+Upsert in storm::provider - Rust
+    

Trait storm::provider::Upsert

source ·
pub trait Upsert<E: Entity>: Send + Sync {
     // Required method
     fn upsert<'a>(
         &'a self,
         k: &'a E::Key,
-        v: &'a E
-    ) -> BoxFuture<'a, Result<()>>;
-}

Required Methods§

source

fn upsert<'a>(&'a self, k: &'a E::Key, v: &'a E) -> BoxFuture<'a, Result<()>>

Implementations on Foreign Types§

source§

impl<E, PROVIDER> Upsert<E> for &PROVIDER
where - E: Entity + Sync, - E::Key: Sync, - PROVIDER: Upsert<E> + Send + Sync,

source§

fn upsert<'a>(&'a self, k: &'a E::Key, v: &'a E) -> BoxFuture<'a, Result<()>>

Implementors§

\ No newline at end of file + v: &'a E + ) -> BoxFuture<'a, Result<()>>; +}

Required Methods§

source

fn upsert<'a>(&'a self, k: &'a E::Key, v: &'a E) -> BoxFuture<'a, Result<()>>

Implementations on Foreign Types§

source§

impl<E, PROVIDER> Upsert<E> for &PROVIDER
where + E: Entity + Sync, + E::Key: Sync, + PROVIDER: Upsert<E> + Send + Sync,

source§

fn upsert<'a>(&'a self, k: &'a E::Key, v: &'a E) -> BoxFuture<'a, Result<()>>

Implementors§

\ No newline at end of file diff --git a/storm/provider/trait.UpsertMut.html b/storm/provider/trait.UpsertMut.html index f4398a99..d9c4b105 100644 --- a/storm/provider/trait.UpsertMut.html +++ b/storm/provider/trait.UpsertMut.html @@ -1,11 +1,11 @@ -UpsertMut in storm::provider - Rust -

Trait storm::provider::UpsertMut

source ·
pub trait UpsertMut<E: Entity>: Send + Sync {
+UpsertMut in storm::provider - Rust
+    

Trait storm::provider::UpsertMut

source ·
pub trait UpsertMut<E: Entity>: Send + Sync {
     // Required method
     fn upsert_mut<'a>(
         &'a self,
         k: &'a mut E::Key,
-        v: &'a mut E
-    ) -> BoxFuture<'a, Result<()>>;
+        v: &'a mut E
+    ) -> BoxFuture<'a, Result<()>>;
 }
Expand description

This trait is implemented when the entity or the key must be changed while insert or update is performed. This case appears when there are triggers on the table, a sequence / identity column.

UpsertMut trait is not the same as the Upsert trait since the former need to take @@ -13,12 +13,12 @@

Required Methods§

source

fn upsert_mut<'a>( &'a self, k: &'a mut E::Key, - v: &'a mut E -) -> BoxFuture<'a, Result<()>>

Implementations on Foreign Types§

source§

impl<E, PROVIDER> UpsertMut<E> for &PROVIDER
where - E: Entity + Sync, - E::Key: Sync, - PROVIDER: UpsertMut<E> + Send + Sync,

Implementations on Foreign Types§

source§

impl<E, PROVIDER> UpsertMut<E> for &PROVIDER
where + E: Entity + Sync, + E::Key: Sync, + PROVIDER: UpsertMut<E> + Send + Sync,

source§

fn upsert_mut<'a>( &'a self, k: &'a mut E::Key, - v: &'a mut E -) -> BoxFuture<'a, Result<()>>

Implementors§

\ No newline at end of file + v: &'a mut E +) -> BoxFuture<'a, Result<()>>

Implementors§

\ No newline at end of file diff --git a/storm/struct.AsyncOnceCell.html b/storm/struct.AsyncOnceCell.html index 228234b9..9007af97 100644 --- a/storm/struct.AsyncOnceCell.html +++ b/storm/struct.AsyncOnceCell.html @@ -1,25 +1,25 @@ -AsyncOnceCell in storm - Rust -

Struct storm::AsyncOnceCell

pub struct AsyncOnceCell<T> { /* private fields */ }

Implementations§

§

impl<T> AsyncOnceCell<T>

pub const fn new() -> AsyncOnceCell<T>

pub fn with_val(val: T) -> AsyncOnceCell<T>

pub fn get(&self) -> Option<&T>

pub fn get_mut(&mut self) -> Option<&mut T>

pub async fn get_or_init<F>(&self, f: F) -> &T
where - F: Future<Output = T>,

pub fn get_or_init_sync<F>(&self, f: F) -> &T
where - F: FnOnce() -> T,

pub async fn get_or_try_init<F, E>(&self, f: F) -> Result<&T, E>
where - F: Future<Output = Result<T, E>>,

pub fn get_or_try_init_sync<E, F>(&self, f: F) -> Result<&T, E>
where - F: FnOnce() -> Result<T, E>,

pub fn into_inner(self) -> Option<T>

pub fn swap(&mut self, value: Option<T>) -> Option<T>

pub fn take(&mut self) -> Option<T>

Trait Implementations§

§

impl<T> Default for AsyncOnceCell<T>

§

fn default() -> AsyncOnceCell<T>

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

Auto Trait Implementations§

§

impl<T> !RefUnwindSafe for AsyncOnceCell<T>

§

impl<T> Send for AsyncOnceCell<T>
where - T: Send,

§

impl<T> Sync for AsyncOnceCell<T>
where - T: Send + Sync,

§

impl<T> Unpin for AsyncOnceCell<T>
where - T: Unpin,

§

impl<T> !UnwindSafe for AsyncOnceCell<T>

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where - T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where - T: ?Sized,

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+AsyncOnceCell in storm - Rust +

Struct storm::AsyncOnceCell

pub struct AsyncOnceCell<T> { /* private fields */ }

Implementations§

§

impl<T> AsyncOnceCell<T>

pub const fn new() -> AsyncOnceCell<T>

pub fn with_val(val: T) -> AsyncOnceCell<T>

pub fn get(&self) -> Option<&T>

pub fn get_mut(&mut self) -> Option<&mut T>

pub async fn get_or_init<F>(&self, f: F) -> &T
where + F: Future<Output = T>,

pub fn get_or_init_sync<F>(&self, f: F) -> &T
where + F: FnOnce() -> T,

pub async fn get_or_try_init<F, E>(&self, f: F) -> Result<&T, E>
where + F: Future<Output = Result<T, E>>,

pub fn get_or_try_init_sync<E, F>(&self, f: F) -> Result<&T, E>
where + F: FnOnce() -> Result<T, E>,

pub fn into_inner(self) -> Option<T>

pub fn swap(&mut self, value: Option<T>) -> Option<T>

pub fn take(&mut self) -> Option<T>

Trait Implementations§

§

impl<T> Default for AsyncOnceCell<T>

§

fn default() -> AsyncOnceCell<T>

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

Auto Trait Implementations§

§

impl<T> !RefUnwindSafe for AsyncOnceCell<T>

§

impl<T> Send for AsyncOnceCell<T>
where + T: Send,

§

impl<T> Sync for AsyncOnceCell<T>
where + T: Sync + Send,

§

impl<T> Unpin for AsyncOnceCell<T>
where + T: Unpin,

§

impl<T> !UnwindSafe for AsyncOnceCell<T>

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where + T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where + T: ?Sized,

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> FromRefOpt<U> for T
where - U: AsRefOpt<T>,

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an + U: AsRefOpt<T>,
§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where - U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where + U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

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

-
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where - S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

+
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where + S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
\ No newline at end of file diff --git a/storm/struct.Ctx.html b/storm/struct.Ctx.html index 379686f3..d84abce4 100644 --- a/storm/struct.Ctx.html +++ b/storm/struct.Ctx.html @@ -1,48 +1,48 @@ -Ctx in storm - Rust +Ctx in storm - Rust

Struct storm::Ctx

source ·
pub struct Ctx { /* private fields */ }

Implementations§

source§

impl Ctx

source

pub fn new(provider: ProviderContainer) -> Self

source

pub fn clear_tbl_of<E>(&mut self)
where E: Entity + EntityAccessor, - E::Tbl: Accessor,

source

pub fn provider(&self) -> &ProviderContainer

source

pub fn ref_as<T>(&self) -> BoxFuture<'_, Result<&T>>
where + E::Tbl: Accessor,

source

pub fn provider(&self) -> &ProviderContainer

source

pub fn ref_as<T>(&self) -> BoxFuture<'_, Result<&T>>
where Self: AsRefAsync<T>,

source

pub fn tbl_of<E>(&self) -> BoxFuture<'_, Result<&E::Tbl>>
where E: Entity + EntityAccessor, - Self: AsRefAsync<E::Tbl>,

source

pub fn tbl_of_opt<E>(&self) -> Option<&E::Tbl>
where + Self: AsRefAsync<E::Tbl>,

source

pub fn tbl_of_opt<E>(&self) -> Option<&E::Tbl>
where E: Entity + EntityAccessor, - E::Tbl: Accessor,

source

pub fn tbl_of_mut<E>(&mut self) -> Option<&mut E::Tbl>
where + E::Tbl: Accessor,

source

pub fn tbl_of_mut<E>(&mut self) -> Option<&mut E::Tbl>

source

pub fn vars(&self) -> &Vars

source§

impl Ctx

source

pub fn gc(&mut self)

Trait Implementations§

source§

impl<E> AsRefAsync<HashTable<E>> for Ctx
where E: CtxTypeInfo + Entity + EntityAccessor<Tbl = HashTable<E>>, - E::Key: Eq + Hash, - ProviderContainer: LoadAll<E, (), E::Tbl>,

source§

fn as_ref_async(&self) -> BoxFuture<'_, Result<&E::Tbl>>

source§

impl<E> AsRefAsync<VecTable<E>> for Ctx
where + E::Key: Eq + Hash, + ProviderContainer: LoadAll<E, (), E::Tbl>,

source§

fn as_ref_async(&self) -> BoxFuture<'_, Result<&E::Tbl>>

source§

impl<E> AsRefAsync<VecTable<E>> for Ctx
where E: CtxTypeInfo + Entity + EntityAccessor<Tbl = VecTable<E>>, - E::Key: Copy + Into<usize>, - ProviderContainer: LoadAll<E, (), E::Tbl>,

source§

fn as_ref_async(&self) -> BoxFuture<'_, Result<&E::Tbl>>

source§

impl<'a, L> AsyncTryFrom<'a, &'a Ctx> for CtxLocks<'a, L>
where - L: AsyncTryFrom<'a, &'a Ctx>,

source§

fn async_try_from(ctx: &'a Ctx) -> BoxFuture<'a, Result<Self>>

source§

impl Default for Ctx

source§

fn default() -> Self

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

impl From<ProviderContainer> for Ctx

source§

fn from(provider: ProviderContainer) -> Self

Converts to this type from the input type.
source§

impl<E, F, C> LoadAll<E, F, C> for Ctx
where + E::Key: Copy + Into<usize>, + ProviderContainer: LoadAll<E, (), E::Tbl>,

source§

fn as_ref_async(&self) -> BoxFuture<'_, Result<&E::Tbl>>

source§

impl<'a, L> AsyncTryFrom<'a, &'a Ctx> for CtxLocks<'a, L>
where + L: AsyncTryFrom<'a, &'a Ctx>,

source§

fn async_try_from(ctx: &'a Ctx) -> BoxFuture<'a, Result<Self>>

source§

impl Default for Ctx

source§

fn default() -> Self

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

impl From<ProviderContainer> for Ctx

source§

fn from(provider: ProviderContainer) -> Self

Converts to this type from the input type.
source§

impl<E, F, C> LoadAll<E, F, C> for Ctx
where E: Entity, - C: Default + Extend<(E::Key, E)> + Send, - F: Send + Sync, + C: Default + Extend<(E::Key, E)> + Send, + F: Send + Sync, ProviderContainer: LoadAll<E, F, C>,

source§

fn load_all_with_args<'a>( &'a self, - filter: &'a F, + filter: &'a F, args: LoadArgs -) -> BoxFuture<'a, Result<C>>

source§

fn load_all<'a>(&'a self, filter: &'a FILTER) -> BoxFuture<'a, Result<C>>

source§

impl<E> LoadOne<E> for Ctx
where +) -> BoxFuture<'a, Result<C>>

source§

fn load_all<'a>(&'a self, filter: &'a FILTER) -> BoxFuture<'a, Result<C>>

source§

impl<E> LoadOne<E> for Ctx

source§

fn load_one_with_args<'a>( &'a self, k: &'a E::Key, args: LoadArgs -) -> BoxFuture<'a, Result<Option<E>>>

source§

fn load_one<'a>(&'a self, k: &'a E::Key) -> BoxFuture<'a, Result<Option<E>>>

source§

fn load_one_ok<'a>(&'a self, k: &'a E::Key) -> BoxFuture<'a, Result<E>>

Auto Trait Implementations§

§

impl !RefUnwindSafe for Ctx

§

impl Send for Ctx

§

impl Sync for Ctx

§

impl Unpin for Ctx

§

impl !UnwindSafe for Ctx

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where - T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where - T: ?Sized,

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+) -> BoxFuture<'a, Result<Option<E>>>
source§

fn load_one<'a>(&'a self, k: &'a E::Key) -> BoxFuture<'a, Result<Option<E>>>

source§

fn load_one_ok<'a>(&'a self, k: &'a E::Key) -> BoxFuture<'a, Result<E>>

Auto Trait Implementations§

§

impl !RefUnwindSafe for Ctx

§

impl Send for Ctx

§

impl Sync for Ctx

§

impl Unpin for Ctx

§

impl !UnwindSafe for Ctx

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where + T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where + T: ?Sized,

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> FromRefOpt<U> for T
where - U: AsRefOpt<T>,

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an + U: AsRefOpt<T>,
§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where - U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where + U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

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

-
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where - S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

+
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where + S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
\ No newline at end of file diff --git a/storm/struct.CtxLocks.html b/storm/struct.CtxLocks.html index 945f2539..c29fe18f 100644 --- a/storm/struct.CtxLocks.html +++ b/storm/struct.CtxLocks.html @@ -1,46 +1,46 @@ -CtxLocks in storm - Rust +CtxLocks in storm - Rust

Struct storm::CtxLocks

source ·
pub struct CtxLocks<'a, L> {
     pub ctx: &'a Ctx,
     pub locks: L,
-}

Fields§

§ctx: &'a Ctx§locks: L

Implementations§

source§

impl<'a, L> CtxLocks<'a, L>

source

pub fn ref_as<T>(&self) -> &T
where - Self: AsRef<T>,

source

pub fn ref_as_async<T>(&self) -> BoxFuture<'_, Result<&T>>
where - Self: AsRefAsync<T>,

Trait Implementations§

source§

impl<'a, E: Entity, L> AsRef<HashTable<E>> for CtxLocks<'a, L>
where - L: AsRef<HashTable<E>>,

source§

fn as_ref(&self) -> &HashTable<E>

Converts this type into a shared reference of the (usually inferred) input type.
source§

impl<'a, E: Entity, L> AsRef<VecTable<E>> for CtxLocks<'a, L>
where - L: AsRef<VecTable<E>>,

source§

fn as_ref(&self) -> &VecTable<E>

Converts this type into a shared reference of the (usually inferred) input type.
source§

impl<'a, L> AsyncTryFrom<'a, &'a Ctx> for CtxLocks<'a, L>
where +}

Fields§

§ctx: &'a Ctx§locks: L

Implementations§

source§

impl<'a, L> CtxLocks<'a, L>

source

pub fn ref_as<T>(&self) -> &T
where + Self: AsRef<T>,

source

pub fn ref_as_async<T>(&self) -> BoxFuture<'_, Result<&T>>
where + Self: AsRefAsync<T>,

Trait Implementations§

source§

impl<'a, E: Entity, L> AsRef<HashTable<E>> for CtxLocks<'a, L>
where + L: AsRef<HashTable<E>>,

source§

fn as_ref(&self) -> &HashTable<E>

Converts this type into a shared reference of the (usually inferred) input type.
source§

impl<'a, E: Entity, L> AsRef<VecTable<E>> for CtxLocks<'a, L>
where + L: AsRef<VecTable<E>>,

source§

fn as_ref(&self) -> &VecTable<E>

Converts this type into a shared reference of the (usually inferred) input type.
source§

impl<'a, L> AsyncTryFrom<'a, &'a Ctx> for CtxLocks<'a, L>
where L: AsyncTryFrom<'a, &'a Ctx>,

source§

fn async_try_from(ctx: &'a Ctx) -> BoxFuture<'a, Result<Self>>

source§

impl<'a, E, F, C, L> LoadAll<E, F, C> for CtxLocks<'a, L>
where E: Entity, - C: Default + Extend<(E::Key, E)> + Send, - F: Send + Sync, - L: Send + Sync, + C: Default + Extend<(E::Key, E)> + Send, + F: Send + Sync, + L: Send + Sync, ProviderContainer: LoadAll<E, F, C>,

source§

fn load_all_with_args<'b>( &'b self, - filter: &'b F, + filter: &'b F, args: LoadArgs -) -> BoxFuture<'b, Result<C>>

source§

fn load_all<'a>(&'a self, filter: &'a FILTER) -> BoxFuture<'a, Result<C>>

source§

impl<'a, E, L> LoadOne<E> for CtxLocks<'a, L>
where +) -> BoxFuture<'b, Result<C>>

source§

fn load_all<'a>(&'a self, filter: &'a FILTER) -> BoxFuture<'a, Result<C>>

source§

impl<'a, E, L> LoadOne<E> for CtxLocks<'a, L>
where E: Entity, - L: Send + Sync, + L: Send + Sync, ProviderContainer: LoadOne<E>,

source§

fn load_one_with_args<'b>( &'b self, k: &'b E::Key, args: LoadArgs -) -> BoxFuture<'b, Result<Option<E>>>

source§

fn load_one<'a>(&'a self, k: &'a E::Key) -> BoxFuture<'a, Result<Option<E>>>

source§

fn load_one_ok<'a>(&'a self, k: &'a E::Key) -> BoxFuture<'a, Result<E>>

source§

impl<'a, L> Tag for CtxLocks<'a, L>
where - L: Tag,

source§

fn tag(&self) -> VersionTag

Auto Trait Implementations§

§

impl<'a, L> !RefUnwindSafe for CtxLocks<'a, L>

§

impl<'a, L> Send for CtxLocks<'a, L>
where - L: Send,

§

impl<'a, L> Sync for CtxLocks<'a, L>
where - L: Sync,

§

impl<'a, L> Unpin for CtxLocks<'a, L>
where - L: Unpin,

§

impl<'a, L> !UnwindSafe for CtxLocks<'a, L>

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where - T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where - T: ?Sized,

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+) -> BoxFuture<'b, Result<Option<E>>>
source§

fn load_one<'a>(&'a self, k: &'a E::Key) -> BoxFuture<'a, Result<Option<E>>>

source§

fn load_one_ok<'a>(&'a self, k: &'a E::Key) -> BoxFuture<'a, Result<E>>

source§

impl<'a, L> Tag for CtxLocks<'a, L>
where + L: Tag,

source§

fn tag(&self) -> VersionTag

Auto Trait Implementations§

§

impl<'a, L> !RefUnwindSafe for CtxLocks<'a, L>

§

impl<'a, L> Send for CtxLocks<'a, L>
where + L: Send,

§

impl<'a, L> Sync for CtxLocks<'a, L>
where + L: Sync,

§

impl<'a, L> Unpin for CtxLocks<'a, L>
where + L: Unpin,

§

impl<'a, L> !UnwindSafe for CtxLocks<'a, L>

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where + T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where + T: ?Sized,

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> FromRefOpt<U> for T
where - U: AsRefOpt<T>,

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an + U: AsRefOpt<T>,
§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where - U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where + U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

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

-
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where - S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

+
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where + S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
\ No newline at end of file diff --git a/storm/struct.CtxTransaction.html b/storm/struct.CtxTransaction.html index 2bb9481f..24b69c36 100644 --- a/storm/struct.CtxTransaction.html +++ b/storm/struct.CtxTransaction.html @@ -1,4 +1,4 @@ -CtxTransaction in storm - Rust +CtxTransaction in storm - Rust

Struct storm::CtxTransaction

source ·
pub struct CtxTransaction<'a> {
     pub ctx: &'a Ctx,
     /* private fields */
@@ -7,16 +7,16 @@
     k: E::Key,
     v: E,
     track: &'b E::TrackCtx
-) -> BoxFuture<'b, Result<()>>
where +) -> BoxFuture<'b, Result<()>>
where E: Entity, Self: Insert<E>,
source

pub fn insert_all<'b, E, I>( &'b mut self, iter: I, track: &'b E::TrackCtx -) -> BoxFuture<'b, Result<usize>>
where +) -> BoxFuture<'b, Result<usize>>
where E: Entity, - I: IntoIterator<Item = (E::Key, E)> + Send + 'b, - I::IntoIter: Send, + I: IntoIterator<Item = (E::Key, E)> + Send + 'b, + I::IntoIter: Send, Self: Insert<E>,

source

pub fn insert_mut<'b, E>( &'b mut self, k: E::Key, @@ -28,31 +28,31 @@ &'b mut self, iter: I, track: &'b E::TrackCtx -) -> BoxFuture<'b, Result<usize>>
where +) -> BoxFuture<'b, Result<usize>>
where E: Entity, - I: IntoIterator<Item = (E::Key, E)> + Send + 'b, - I::IntoIter: Send, - Self: InsertMut<E>,

source

pub fn ref_as<T>(&self) -> BoxFuture<'_, Result<&T>>
where + I: IntoIterator<Item = (E::Key, E)> + Send + 'b, + I::IntoIter: Send, + Self: InsertMut<E>,

source

pub fn ref_as<T>(&self) -> BoxFuture<'_, Result<&T>>
where Self: AsRefAsync<T>,

source

pub fn remove<'b, E>( &'b mut self, k: E::Key, track: &'b E::TrackCtx -) -> BoxFuture<'b, Result<()>>
where +) -> BoxFuture<'b, Result<()>>
where E: Entity, Self: Remove<E>,

source

pub fn remove_all<'b, E, K>( &'b mut self, keys: K, track: &'b E::TrackCtx -) -> BoxFuture<'b, Result<usize>>
where +) -> BoxFuture<'b, Result<usize>>
where E: Entity, - K: IntoIterator<Item = E::Key> + Send + 'b, - K::IntoIter: Send, + K: IntoIterator<Item = E::Key> + Send + 'b, + K::IntoIter: Send, Self: Remove<E>,

source

pub fn tbl_of<'b, E>( &'b mut self ) -> BoxFuture<'b, Result<TblTransaction<'a, 'b, E>>>

Trait Implementations§

source§

impl<'a, T> AsRefAsync<T> for CtxTransaction<'a>
where - Ctx: AsRefAsync<T>,

source§

impl<'a, E> Insert<E> for CtxTransaction<'a>
where + Ctx: AsRefAsync<T>,

source§

impl<'a, E> Insert<E> for CtxTransaction<'a>
where Ctx: AsRefAsync<E::Tbl>, E: Entity + EntityAccessor + LogAccessor, for<'b> TblTransaction<'a, 'b, E>: Insert<E>,

source§

fn insert<'c>( @@ -60,13 +60,13 @@ k: E::Key, v: E, track: &'c E::TrackCtx -) -> BoxFuture<'c, Result<()>>

source§

fn insert_all<'b, I>( +) -> BoxFuture<'c, Result<()>>

source§

fn insert_all<'b, I>( &'b mut self, iter: I, track: &'b <E as Entity>::TrackCtx -) -> BoxFuture<'b, Result<usize>>
where - I: IntoIterator<Item = (<E as Entity>::Key, E)> + Send + 'b, - I::IntoIter: Send,

source§

impl<'a, E> InsertIfChanged<E> for CtxTransaction<'a>
where +) -> BoxFuture<'b, Result<usize>>
where + I: IntoIterator<Item = (<E as Entity>::Key, E)> + Send + 'b, + I::IntoIter: Send,

source§

impl<'a, E> InsertIfChanged<E> for CtxTransaction<'a>
where Ctx: AsRefAsync<E::Tbl>, E: Entity + EntityAccessor + LogAccessor, for<'b> TblTransaction<'a, 'b, E>: InsertIfChanged<E>,

source§

fn insert_if_changed<'b>( @@ -74,13 +74,13 @@ k: E::Key, v: E, track: &'b <E as Entity>::TrackCtx -) -> BoxFuture<'b, Result<()>>

source§

fn insert_all_if_changed<'b, I>( +) -> BoxFuture<'b, Result<()>>

source§

fn insert_all_if_changed<'b, I>( &'b mut self, iter: I, track: &'b <E as Entity>::TrackCtx -) -> BoxFuture<'b, Result<usize>>
where - I: IntoIterator<Item = (E::Key, E)> + Send + 'b, - I::IntoIter: Send,

source§

impl<'a, E> InsertMut<E> for CtxTransaction<'a>
where +) -> BoxFuture<'b, Result<usize>>
where + I: IntoIterator<Item = (E::Key, E)> + Send + 'b, + I::IntoIter: Send,

source§

impl<'a, E> InsertMut<E> for CtxTransaction<'a>
where Ctx: AsRefAsync<E::Tbl>, E: Entity + EntityAccessor + LogAccessor, for<'b> TblTransaction<'a, 'b, E>: InsertMut<E>,

source§

fn insert_mut<'b>( @@ -92,9 +92,9 @@ &'b mut self, iter: I, track: &'b <E as Entity>::TrackCtx -) -> BoxFuture<'b, Result<usize>>
where - I: IntoIterator<Item = (<E as Entity>::Key, E)> + Send + 'b, - I::IntoIter: Send,

source§

impl<'a, E> InsertMutIfChanged<E> for CtxTransaction<'a>
where +) -> BoxFuture<'b, Result<usize>>
where + I: IntoIterator<Item = (<E as Entity>::Key, E)> + Send + 'b, + I::IntoIter: Send,

source§

impl<'a, E> InsertMutIfChanged<E> for CtxTransaction<'a>

source§

fn insert_mut_if_changed<'b>( @@ -106,35 +106,35 @@ &'b mut self, iter: I, track: &'b <E as Entity>::TrackCtx -) -> BoxFuture<'b, Result<usize>>
where - I: IntoIterator<Item = (E::Key, E)> + Send + 'b, - I::IntoIter: Send,

source§

impl<'a, E> Remove<E> for CtxTransaction<'a>
where +) -> BoxFuture<'b, Result<usize>>
where + I: IntoIterator<Item = (E::Key, E)> + Send + 'b, + I::IntoIter: Send,

source§

impl<'a, E> Remove<E> for CtxTransaction<'a>
where Ctx: AsRefAsync<E::Tbl>, E: Entity + EntityAccessor + LogAccessor, for<'b> TblTransaction<'a, 'b, E>: Remove<E>,

source§

fn remove<'b>( &'b mut self, k: E::Key, track: &'b E::TrackCtx -) -> BoxFuture<'b, Result<()>>

source§

fn remove_all<'b, K>( +) -> BoxFuture<'b, Result<()>>

source§

fn remove_all<'b, K>( &'b mut self, keys: K, track: &'b <E as Entity>::TrackCtx -) -> BoxFuture<'b, Result<usize>>
where - K: IntoIterator<Item = <E as Entity>::Key> + Send + 'b, - K::IntoIter: Send,

Auto Trait Implementations§

§

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

§

impl<'a> Send for CtxTransaction<'a>

§

impl<'a> Sync for CtxTransaction<'a>

§

impl<'a> Unpin for CtxTransaction<'a>

§

impl<'a> !UnwindSafe for CtxTransaction<'a>

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where - T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where - T: ?Sized,

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+) -> BoxFuture<'b, Result<usize>>
where + K: IntoIterator<Item = <E as Entity>::Key> + Send + 'b, + K::IntoIter: Send,

Auto Trait Implementations§

§

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

§

impl<'a> Send for CtxTransaction<'a>

§

impl<'a> Sync for CtxTransaction<'a>

§

impl<'a> Unpin for CtxTransaction<'a>

§

impl<'a> !UnwindSafe for CtxTransaction<'a>

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where + T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where + T: ?Sized,

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> FromRefOpt<U> for T
where - U: AsRefOpt<T>,

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an + U: AsRefOpt<T>,
§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where - U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where + U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

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

-
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where - S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

+
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where + S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
\ No newline at end of file diff --git a/storm/struct.HashTable.html b/storm/struct.HashTable.html index c003bc5e..a82f4bf7 100644 --- a/storm/struct.HashTable.html +++ b/storm/struct.HashTable.html @@ -1,14 +1,14 @@ -HashTable in storm - Rust -

Struct storm::HashTable

source ·
pub struct HashTable<E: Entity> { /* private fields */ }

Implementations§

source§

impl<E: Entity> HashTable<E>

source

pub fn new() -> Self

source

pub fn iter(&self) -> Iter<'_, E::Key, E>

source

pub fn keys(&self) -> Keys<'_, E::Key, E>

source

pub fn values(&self) -> Values<'_, E::Key, E>

Methods from Deref<Target = FxHashMap<E::Key, E>>§

1.0.0 · source

pub fn capacity(&self) -> usize

Returns the number of elements the map can hold without reallocating.

+HashTable in storm - Rust +

Struct storm::HashTable

source ·
pub struct HashTable<E: Entity> { /* private fields */ }

Implementations§

source§

impl<E: Entity> HashTable<E>

source

pub fn new() -> Self

source

pub fn iter(&self) -> Iter<'_, E::Key, E>

source

pub fn keys(&self) -> Keys<'_, E::Key, E>

source

pub fn values(&self) -> Values<'_, E::Key, E>

Methods from Deref<Target = FxHashMap<E::Key, E>>§

1.0.0 · source

pub fn capacity(&self) -> usize

Returns the number of elements the map can hold without reallocating.

This number is a lower bound; the HashMap<K, V> might be able to hold more, but is guaranteed to be able to hold at least this many.

-
Examples
+
§Examples
use std::collections::HashMap;
 let map: HashMap<i32, i32> = HashMap::with_capacity(100);
 assert!(map.capacity() >= 100);
-
1.0.0 · source

pub fn keys(&self) -> Keys<'_, K, V>

An iterator visiting all keys in arbitrary order. +

1.0.0 · source

pub fn keys(&self) -> Keys<'_, K, V>

An iterator visiting all keys in arbitrary order. The iterator element type is &'a K.

-
Examples
+
§Examples
use std::collections::HashMap;
 
 let map = HashMap::from([
@@ -20,12 +20,12 @@ 
Examples
for key in map.keys() { println!("{key}"); }
-
Performance
+
§Performance

In the current implementation, iterating over keys takes O(capacity) time instead of O(len) because it internally visits empty buckets too.

-
1.0.0 · source

pub fn values(&self) -> Values<'_, K, V>

An iterator visiting all values in arbitrary order. +

1.0.0 · source

pub fn values(&self) -> Values<'_, K, V>

An iterator visiting all values in arbitrary order. The iterator element type is &'a V.

-
Examples
+
§Examples
use std::collections::HashMap;
 
 let map = HashMap::from([
@@ -37,12 +37,12 @@ 
Examples
for val in map.values() { println!("{val}"); }
-
Performance
+
§Performance

In the current implementation, iterating over values takes O(capacity) time instead of O(len) because it internally visits empty buckets too.

-
1.0.0 · source

pub fn iter(&self) -> Iter<'_, K, V>

An iterator visiting all key-value pairs in arbitrary order. +

1.0.0 · source

pub fn iter(&self) -> Iter<'_, K, V>

An iterator visiting all key-value pairs in arbitrary order. The iterator element type is (&'a K, &'a V).

-
Examples
+
§Examples
use std::collections::HashMap;
 
 let map = HashMap::from([
@@ -54,73 +54,73 @@ 
Examples
for (key, val) in map.iter() { println!("key: {key} val: {val}"); }
-
Performance
+
§Performance

In the current implementation, iterating over map takes O(capacity) time instead of O(len) because it internally visits empty buckets too.

-
1.0.0 · source

pub fn len(&self) -> usize

Returns the number of elements in the map.

-
Examples
+
1.0.0 · source

pub fn len(&self) -> usize

Returns the number of elements in the map.

+
§Examples
use std::collections::HashMap;
 
 let mut a = HashMap::new();
 assert_eq!(a.len(), 0);
 a.insert(1, "a");
 assert_eq!(a.len(), 1);
-
1.0.0 · source

pub fn is_empty(&self) -> bool

Returns true if the map contains no elements.

-
Examples
+
1.0.0 · source

pub fn is_empty(&self) -> bool

Returns true if the map contains no elements.

+
§Examples
use std::collections::HashMap;
 
 let mut a = HashMap::new();
 assert!(a.is_empty());
 a.insert(1, "a");
 assert!(!a.is_empty());
-
1.9.0 · source

pub fn hasher(&self) -> &S

Returns a reference to the map’s BuildHasher.

-
Examples
+
1.9.0 · source

pub fn hasher(&self) -> &S

Returns a reference to the map’s BuildHasher.

+
§Examples
use std::collections::HashMap;
 use std::hash::RandomState;
 
 let hasher = RandomState::new();
 let map: HashMap<i32, i32> = HashMap::with_hasher(hasher);
 let hasher: &RandomState = map.hasher();
-
1.0.0 · source

pub fn get<Q>(&self, k: &Q) -> Option<&V>
where - K: Borrow<Q>, - Q: Hash + Eq + ?Sized,

Returns a reference to the value corresponding to the key.

+
1.0.0 · source

pub fn get<Q>(&self, k: &Q) -> Option<&V>
where + K: Borrow<Q>, + Q: Hash + Eq + ?Sized,

Returns a reference to the value corresponding to the key.

The key may be any borrowed form of the map’s key type, but -Hash and Eq on the borrowed form must match those for +Hash and Eq on the borrowed form must match those for the key type.

-
Examples
+
§Examples
use std::collections::HashMap;
 
 let mut map = HashMap::new();
 map.insert(1, "a");
 assert_eq!(map.get(&1), Some(&"a"));
 assert_eq!(map.get(&2), None);
-
1.40.0 · source

pub fn get_key_value<Q>(&self, k: &Q) -> Option<(&K, &V)>
where - K: Borrow<Q>, - Q: Hash + Eq + ?Sized,

Returns the key-value pair corresponding to the supplied key.

+
1.40.0 · source

pub fn get_key_value<Q>(&self, k: &Q) -> Option<(&K, &V)>
where + K: Borrow<Q>, + Q: Hash + Eq + ?Sized,

Returns the key-value pair corresponding to the supplied key.

The supplied key may be any borrowed form of the map’s key type, but -Hash and Eq on the borrowed form must match those for +Hash and Eq on the borrowed form must match those for the key type.

-
Examples
+
§Examples
use std::collections::HashMap;
 
 let mut map = HashMap::new();
 map.insert(1, "a");
 assert_eq!(map.get_key_value(&1), Some((&1, &"a")));
 assert_eq!(map.get_key_value(&2), None);
-
1.0.0 · source

pub fn contains_key<Q>(&self, k: &Q) -> bool
where - K: Borrow<Q>, - Q: Hash + Eq + ?Sized,

Returns true if the map contains a value for the specified key.

+
1.0.0 · source

pub fn contains_key<Q>(&self, k: &Q) -> bool
where + K: Borrow<Q>, + Q: Hash + Eq + ?Sized,

Returns true if the map contains a value for the specified key.

The key may be any borrowed form of the map’s key type, but -Hash and Eq on the borrowed form must match those for +Hash and Eq on the borrowed form must match those for the key type.

-
Examples
+
§Examples
use std::collections::HashMap;
 
 let mut map = HashMap::new();
 map.insert(1, "a");
 assert_eq!(map.contains_key(&1), true);
 assert_eq!(map.contains_key(&2), false);
-
source

pub fn raw_entry(&self) -> RawEntryBuilder<'_, K, V, S>

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

Creates a raw immutable entry builder for the HashMap.

+
source

pub fn raw_entry(&self) -> RawEntryBuilder<'_, K, V, S>

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

Creates a raw immutable entry builder for the HashMap.

Raw entries provide the lowest level of control for searching and manipulating a map. They must be manually initialized with a hash and then manually searched.

@@ -134,47 +134,47 @@
Examples
get should be preferred.

Immutable raw entries have very limited use; you might instead want raw_entry_mut.

Trait Implementations§

source§

impl<E> Accessor for HashTable<E>
where - E: Entity + EntityAccessor<Tbl = HashTable<E>>,

source§

fn var() -> TblVar<Self>

source§

fn deps() -> &'static Deps

source§

fn clear(ctx: &mut Vars)

source§

fn clear_deps(ctx: &mut Vars)

source§

fn register_deps<F: Fn(&mut Vars) + Send + Sync + 'static>(f: F)

source§

impl<E> ApplyLog<HashMap<<E as Entity>::Key, LogState<E>, BuildHasherDefault<FxHasher>>> for HashTable<E>
where + E: Entity + EntityAccessor<Tbl = HashTable<E>>,

source§

fn var() -> TblVar<Self>

source§

fn deps() -> &'static Deps

source§

fn clear(ctx: &mut Vars)

source§

fn clear_deps(ctx: &mut Vars)

source§

fn register_deps<F: Fn(&mut Vars) + Send + Sync + 'static>(f: F)

source§

impl<E> ApplyLog<HashMap<<E as Entity>::Key, LogState<E>, BuildHasherDefault<FxHasher>>> for HashTable<E>
where E: CtxTypeInfo + Entity + EntityAccessor<Tbl = Self>, - E::Key: Eq + Hash,

source§

fn apply_log(&mut self, log: Log<E>) -> bool

source§

impl<'a, E: Entity, L> AsRef<HashTable<E>> for CtxLocks<'a, L>
where - L: AsRef<HashTable<E>>,

source§

fn as_ref(&self) -> &HashTable<E>

Converts this type into a shared reference of the (usually inferred) input type.
source§

impl<E: Entity> AsRef<HashTable<E>> for HashTable<E>

source§

fn as_ref(&self) -> &Self

Converts this type into a shared reference of the (usually inferred) input type.
source§

impl<E> AsRefAsync<HashTable<E>> for Ctx
where + E::Key: Eq + Hash,

source§

fn apply_log(&mut self, log: Log<E>) -> bool

source§

impl<'a, E: Entity, L> AsRef<HashTable<E>> for CtxLocks<'a, L>
where + L: AsRef<HashTable<E>>,

source§

fn as_ref(&self) -> &HashTable<E>

Converts this type into a shared reference of the (usually inferred) input type.
source§

impl<E: Entity> AsRef<HashTable<E>> for HashTable<E>

source§

fn as_ref(&self) -> &Self

Converts this type into a shared reference of the (usually inferred) input type.
source§

impl<E> AsRefAsync<HashTable<E>> for Ctx
where E: CtxTypeInfo + Entity + EntityAccessor<Tbl = HashTable<E>>, - E::Key: Eq + Hash, - ProviderContainer: LoadAll<E, (), E::Tbl>,

source§

fn as_ref_async(&self) -> BoxFuture<'_, Result<&E::Tbl>>

source§

impl<E: Entity> Default for HashTable<E>

source§

fn default() -> Self

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

impl<E: Entity> Deref for HashTable<E>

§

type Target = HashMap<<E as Entity>::Key, E, BuildHasherDefault<FxHasher>>

The resulting type after dereferencing.
source§

fn deref(&self) -> &Self::Target

Dereferences the value.
source§

impl<E: Entity> EntityOf for HashTable<E>

§

type Entity = E

source§

impl<E> Extend<(<E as Entity>::Key, E)> for HashTable<E>
where + E::Key: Eq + Hash, + ProviderContainer: LoadAll<E, (), E::Tbl>,

source§

fn as_ref_async(&self) -> BoxFuture<'_, Result<&E::Tbl>>

source§

impl<E: Entity> Default for HashTable<E>

source§

fn default() -> Self

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

impl<E: Entity> Deref for HashTable<E>

§

type Target = HashMap<<E as Entity>::Key, E, BuildHasherDefault<FxHasher>>

The resulting type after dereferencing.
source§

fn deref(&self) -> &Self::Target

Dereferences the value.
source§

impl<E: Entity> EntityOf for HashTable<E>

§

type Entity = E

source§

impl<E> Extend<(<E as Entity>::Key, E)> for HashTable<E>
where E: CtxTypeInfo + Entity, - E::Key: Eq + Hash,

source§

fn extend<T>(&mut self, iter: T)
where - T: IntoIterator<Item = (E::Key, E)>,

Extends a collection with the contents of an iterator. Read more
source§

fn extend_one(&mut self, item: A)

🔬This is a nightly-only experimental API. (extend_one)
Extends a collection with exactly one element.
source§

fn extend_reserve(&mut self, additional: usize)

🔬This is a nightly-only experimental API. (extend_one)
Reserves capacity in a collection for the given number of additional elements. Read more
source§

impl<E> Gc for HashTable<E>
where + E::Key: Eq + Hash,

source§

fn extend<T>(&mut self, iter: T)
where + T: IntoIterator<Item = (E::Key, E)>,

Extends a collection with the contents of an iterator. Read more
source§

fn extend_one(&mut self, item: A)

🔬This is a nightly-only experimental API. (extend_one)
Extends a collection with exactly one element.
source§

fn extend_reserve(&mut self, additional: usize)

🔬This is a nightly-only experimental API. (extend_one)
Reserves capacity in a collection for the given number of additional elements. Read more
source§

impl<E> Gc for HashTable<E>
where E: CtxTypeInfo + Entity + Gc, - E::Key: Eq + Hash,

source§

const SUPPORT_GC: bool = E::SUPPORT_GC

source§

fn gc(&mut self, ctx: &GcCtx)

source§

impl<E: Entity> Get<E> for HashTable<E>
where - E::Key: Eq + Hash,

source§

fn get(&self, k: &E::Key) -> Option<&E>

source§

impl<E: Entity> GetMut<E> for HashTable<E>
where - E::Key: Eq + Hash,

source§

fn get_mut(&mut self, k: &E::Key) -> Option<&mut E>

source§

impl<'a, P, E> Init<'a, P> for HashTable<E>
where - E: CtxTypeInfo + Entity + Send, - E::Key: Eq + Hash + Send, - P: Sync + LoadAll<E, (), Self>,

source§

fn init(provider: &'a P) -> BoxFuture<'a, Result<Self>>

source§

impl<'a, E: Entity> IntoIterator for &'a HashTable<E>

§

type Item = (&'a <E as Entity>::Key, &'a E)

The type of the elements being iterated over.
§

type IntoIter = Iter<'a, <E as Entity>::Key, E>

Which kind of iterator are we turning this into?
source§

fn into_iter(self) -> Self::IntoIter

Creates an iterator from a value. Read more
source§

impl<'a, E> IntoParallelIterator for &'a HashTable<E>
where + E::Key: Eq + Hash,

source§

const SUPPORT_GC: bool = E::SUPPORT_GC

source§

fn gc(&mut self, ctx: &GcCtx)

source§

impl<E: Entity> Get<E> for HashTable<E>
where + E::Key: Eq + Hash,

source§

fn get(&self, k: &E::Key) -> Option<&E>

source§

impl<E: Entity> GetMut<E> for HashTable<E>
where + E::Key: Eq + Hash,

source§

fn get_mut(&mut self, k: &E::Key) -> Option<&mut E>

source§

impl<'a, P, E> Init<'a, P> for HashTable<E>
where + E: CtxTypeInfo + Entity + Send, + E::Key: Eq + Hash + Send, + P: Sync + LoadAll<E, (), Self>,

source§

fn init(provider: &'a P) -> BoxFuture<'a, Result<Self>>

source§

impl<'a, E: Entity> IntoIterator for &'a HashTable<E>

§

type Item = (&'a <E as Entity>::Key, &'a E)

The type of the elements being iterated over.
§

type IntoIter = Iter<'a, <E as Entity>::Key, E>

Which kind of iterator are we turning this into?
source§

fn into_iter(self) -> Self::IntoIter

Creates an iterator from a value. Read more
source§

impl<'a, E> IntoParallelIterator for &'a HashTable<E>
where E: Entity, - E::Key: Eq + Hash,

§

type Item = (&'a <E as Entity>::Key, &'a E)

The type of item that the parallel iterator will produce.
§

type Iter = Iter<'a, <E as Entity>::Key, E>

The parallel iterator type that will be created.
source§

fn into_par_iter(self) -> Self::Iter

Converts self into a parallel iterator. Read more
source§

impl<E: Entity> NotifyTag for HashTable<E>

source§

fn notify_tag(&mut self)

source§

impl<E: Entity> Tag for HashTable<E>

source§

fn tag(&self) -> VersionTag

Auto Trait Implementations§

§

impl<E> RefUnwindSafe for HashTable<E>
where - E: RefUnwindSafe, - <E as Entity>::Key: RefUnwindSafe,

§

impl<E> Send for HashTable<E>

§

impl<E> Sync for HashTable<E>

§

impl<E> Unpin for HashTable<E>
where - E: Unpin, - <E as Entity>::Key: Unpin,

§

impl<E> UnwindSafe for HashTable<E>
where - E: UnwindSafe, - <E as Entity>::Key: UnwindSafe,

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where - T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where - T: ?Sized,

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+ E::Key: Eq + Hash,
§

type Item = (&'a <E as Entity>::Key, &'a E)

The type of item that the parallel iterator will produce.
§

type Iter = Iter<'a, <E as Entity>::Key, E>

The parallel iterator type that will be created.
source§

fn into_par_iter(self) -> Self::Iter

Converts self into a parallel iterator. Read more
source§

impl<E: Entity> NotifyTag for HashTable<E>

source§

fn notify_tag(&mut self)

source§

impl<E: Entity> Tag for HashTable<E>

source§

fn tag(&self) -> VersionTag

Auto Trait Implementations§

§

impl<E> RefUnwindSafe for HashTable<E>
where + E: RefUnwindSafe, + <E as Entity>::Key: RefUnwindSafe,

§

impl<E> Send for HashTable<E>

§

impl<E> Sync for HashTable<E>

§

impl<E> Unpin for HashTable<E>
where + E: Unpin, + <E as Entity>::Key: Unpin,

§

impl<E> UnwindSafe for HashTable<E>
where + E: UnwindSafe, + <E as Entity>::Key: UnwindSafe,

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where + T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where + T: ?Sized,

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> FromRefOpt<U> for T
where - U: AsRefOpt<T>,

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an + U: AsRefOpt<T>,
§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where - U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where + U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

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

+From<T> for U chooses to do.

§

impl<'data, I> IntoParallelRefIterator<'data> for I
where - I: 'data + ?Sized, - &'data I: IntoParallelIterator,

§

type Iter = <&'data I as IntoParallelIterator>::Iter

The type of the parallel iterator that will be returned.
§

type Item = <&'data I as IntoParallelIterator>::Item

The type of item that the parallel iterator will produce. -This will typically be an &'data T reference type.
§

fn par_iter(&'data self) -> <I as IntoParallelRefIterator<'data>>::Iter

Converts self into a parallel iterator. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where - S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a + I: 'data + ?Sized, + &'data I: IntoParallelIterator,
§

type Iter = <&'data I as IntoParallelIterator>::Iter

The type of the parallel iterator that will be returned.
§

type Item = <&'data I as IntoParallelIterator>::Item

The type of item that the parallel iterator will produce. +This will typically be an &'data T reference type.
§

fn par_iter(&'data self) -> <I as IntoParallelRefIterator<'data>>::Iter

Converts self into a parallel iterator. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where + S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
\ No newline at end of file diff --git a/storm/struct.Logs.html b/storm/struct.Logs.html index e63f8045..45b2ef98 100644 --- a/storm/struct.Logs.html +++ b/storm/struct.Logs.html @@ -1,21 +1,21 @@ -Logs in storm - Rust +Logs in storm - Rust

Struct storm::Logs

source ·
pub struct Logs(/* private fields */);

Implementations§

source§

impl Logs

source

pub async fn apply_log( self, ctx: QueueRwLockQueueGuard<'_, Ctx> -) -> Result<bool>

Trait Implementations§

source§

impl<'a> ApplyLog<Logs> for QueueRwLockWriteGuard<'a, Ctx>

source§

fn apply_log(&mut self, log: Logs) -> bool

Auto Trait Implementations§

§

impl RefUnwindSafe for Logs

§

impl Send for Logs

§

impl Sync for Logs

§

impl Unpin for Logs

§

impl UnwindSafe for Logs

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where - T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where - T: ?Sized,

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+) -> Result<bool>

Trait Implementations§

source§

impl<'a> ApplyLog<Logs> for QueueRwLockWriteGuard<'a, Ctx>

source§

fn apply_log(&mut self, log: Logs) -> bool

Auto Trait Implementations§

§

impl RefUnwindSafe for Logs

§

impl Send for Logs

§

impl Sync for Logs

§

impl Unpin for Logs

§

impl UnwindSafe for Logs

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where + T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where + T: ?Sized,

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> FromRefOpt<U> for T
where - U: AsRefOpt<T>,

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an + U: AsRefOpt<T>,
§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where - U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where + U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

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

-
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where - S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

+
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where + S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
\ No newline at end of file diff --git a/storm/struct.OnChanged.html b/storm/struct.OnChanged.html index 4ff74ee7..3bcd3948 100644 --- a/storm/struct.OnChanged.html +++ b/storm/struct.OnChanged.html @@ -1,19 +1,19 @@ -OnChanged in storm - Rust -

Struct storm::OnChanged

source ·
pub struct OnChanged<E>(/* private fields */);

Implementations§

source§

impl<E: Entity> OnChanged<E>

source

pub fn register<H: ChangedHandler<E> + Send + Sync + 'static>(&self, handler: H)

source

pub fn register_fn<F>(&self, f: F)
where - F: Fn(&E::Key, Changed<&E>) + Send + Sync + 'static,

Trait Implementations§

source§

impl<E> Default for OnChanged<E>

source§

fn default() -> Self

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

Auto Trait Implementations§

§

impl<E> !RefUnwindSafe for OnChanged<E>

§

impl<E> Send for OnChanged<E>

§

impl<E> Sync for OnChanged<E>

§

impl<E> Unpin for OnChanged<E>

§

impl<E> !UnwindSafe for OnChanged<E>

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where - T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where - T: ?Sized,

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+OnChanged in storm - Rust +

Struct storm::OnChanged

source ·
pub struct OnChanged<E>(/* private fields */);

Implementations§

source§

impl<E: Entity> OnChanged<E>

source

pub fn register<H: ChangedHandler<E> + Send + Sync + 'static>(&self, handler: H)

source

pub fn register_fn<F>(&self, f: F)
where + F: Fn(&E::Key, Changed<&E>) + Send + Sync + 'static,

Trait Implementations§

source§

impl<E> Default for OnChanged<E>

source§

fn default() -> Self

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

Auto Trait Implementations§

§

impl<E> !RefUnwindSafe for OnChanged<E>

§

impl<E> Send for OnChanged<E>

§

impl<E> Sync for OnChanged<E>

§

impl<E> Unpin for OnChanged<E>

§

impl<E> !UnwindSafe for OnChanged<E>

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where + T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where + T: ?Sized,

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> FromRefOpt<U> for T
where - U: AsRefOpt<T>,

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an + U: AsRefOpt<T>,
§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where - U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where + U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

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

-
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where - S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

+
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where + S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
\ No newline at end of file diff --git a/storm/struct.OnRemove.html b/storm/struct.OnRemove.html index ec0d5069..cba81250 100644 --- a/storm/struct.OnRemove.html +++ b/storm/struct.OnRemove.html @@ -1,22 +1,22 @@ -OnRemove in storm - Rust -

Struct storm::OnRemove

source ·
pub struct OnRemove<E>(/* private fields */);

Implementations§

source§

impl<E: Entity> OnRemove<E>

source

pub fn register<H: RemovingHandler<E> + Send + Sync + 'static>( +OnRemove in storm - Rust +

Struct storm::OnRemove

source ·
pub struct OnRemove<E>(/* private fields */);

Implementations§

source§

impl<E: Entity> OnRemove<E>

source

pub fn register<H: RemovingHandler<E> + Send + Sync + 'static>( &self, handler: H )

source

pub fn register_fn<F>(&self, f: F)
where - F: for<'a, 'b> Fn(&'b mut CtxTransaction<'a>, &'b E::Key, &'b E::TrackCtx) -> BoxFuture<'b, Result<()>> + Send + Sync + 'static,

Trait Implementations§

source§

impl<E> Default for OnRemove<E>

source§

fn default() -> Self

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

Auto Trait Implementations§

§

impl<E> !RefUnwindSafe for OnRemove<E>

§

impl<E> Send for OnRemove<E>

§

impl<E> Sync for OnRemove<E>

§

impl<E> Unpin for OnRemove<E>

§

impl<E> !UnwindSafe for OnRemove<E>

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where - T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where - T: ?Sized,

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+ F: for<'a, 'b> Fn(&'b mut CtxTransaction<'a>, &'b E::Key, &'b E::TrackCtx) -> BoxFuture<'b, Result<()>> + Send + Sync + 'static,

Trait Implementations§

source§

impl<E> Default for OnRemove<E>

source§

fn default() -> Self

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

Auto Trait Implementations§

§

impl<E> !RefUnwindSafe for OnRemove<E>

§

impl<E> Send for OnRemove<E>

§

impl<E> Sync for OnRemove<E>

§

impl<E> Unpin for OnRemove<E>

§

impl<E> !UnwindSafe for OnRemove<E>

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where + T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where + T: ?Sized,

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> FromRefOpt<U> for T
where - U: AsRefOpt<T>,

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an + U: AsRefOpt<T>,
§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where - U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where + U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

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

-
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where - S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

+
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where + S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
\ No newline at end of file diff --git a/storm/struct.OnceCell.html b/storm/struct.OnceCell.html index 24797758..4c00c580 100644 --- a/storm/struct.OnceCell.html +++ b/storm/struct.OnceCell.html @@ -1,4 +1,4 @@ -OnceCell in storm - Rust +OnceCell in storm - Rust

Struct storm::OnceCell

pub struct OnceCell<T>(/* private fields */);
Expand description

A thread-safe cell which can be written to only once.

OnceCell provides & references to the contents without RAII guards.

Reading a non-None value out of OnceCell establishes a @@ -6,7 +6,7 @@ thread A initializes the cell with get_or_init(f), and thread B subsequently reads the result of this call, B also observes all the side effects of f.

-

Example

+

§Example

use once_cell::sync::OnceCell;
 
 static CELL: OnceCell<String> = OnceCell::new();
@@ -24,10 +24,10 @@ 

Example

assert_eq!(value.unwrap().as_str(), "Hello, World!");

Implementations§

§

impl<T> OnceCell<T>

pub const fn new() -> OnceCell<T>

Creates a new empty cell.

pub const fn with_value(value: T) -> OnceCell<T>

Creates a new initialized cell.

-

pub fn get(&self) -> Option<&T>

Gets the reference to the underlying value.

+

pub fn get(&self) -> Option<&T>

Gets the reference to the underlying value.

Returns None if the cell is empty, or being initialized. This method never blocks.

-

pub fn wait(&self) -> &T

Gets the reference to the underlying value, blocking the current +

pub fn wait(&self) -> &T

Gets the reference to the underlying value, blocking the current thread until it is set.

use once_cell::sync::OnceCell;
@@ -45,7 +45,7 @@ 

Example

let value: &u32 = cell.wait(); assert_eq!(*value, 92); t.join().unwrap();
-

pub fn get_mut(&mut self) -> Option<&mut T>

Gets the mutable reference to the underlying value.

+

pub fn get_mut(&mut self) -> Option<&mut T>

Gets the mutable reference to the underlying value.

Returns None if the cell is empty.

This method is allowed to violate the invariant of writing to a OnceCell at most once because it requires &mut access to self. As with all @@ -56,15 +56,15 @@

Example

let mut cell: OnceCell<u32> = OnceCell::new(); cell.set(92).unwrap(); cell = OnceCell::new();
-

pub unsafe fn get_unchecked(&self) -> &T

Get the reference to the underlying value, without checking if the +

pub unsafe fn get_unchecked(&self) -> &T

Get the reference to the underlying value, without checking if the cell is initialized.

-
Safety
+
§Safety

Caller must ensure that the cell is in initialized state, and that the contents are acquired by (synchronized to) this thread.

-

pub fn set(&self, value: T) -> Result<(), T>

Sets the contents of this cell to value.

+

pub fn set(&self, value: T) -> Result<(), T>

Sets the contents of this cell to value.

Returns Ok(()) if the cell was empty and Err(value) if it was full.

-
Example
+
§Example
use once_cell::sync::OnceCell;
 
 static CELL: OnceCell<i32> = OnceCell::new();
@@ -79,8 +79,8 @@ 
Example
assert_eq!(CELL.set(62), Err(62)); assert_eq!(CELL.get(), Some(&92)); }
-

pub fn try_insert(&self, value: T) -> Result<&T, (&T, T)>

Like set, but also returns a reference to the final cell value.

-
Example
+

pub fn try_insert(&self, value: T) -> Result<&T, (&T, T)>

Like set, but also returns a reference to the final cell value.

+
§Example
use once_cell::unsync::OnceCell;
 
 let cell = OnceCell::new();
@@ -90,19 +90,19 @@ 
Example
assert_eq!(cell.try_insert(62), Err((&92, 62))); assert!(cell.get().is_some());
-

pub fn get_or_init<F>(&self, f: F) -> &T
where - F: FnOnce() -> T,

Gets the contents of the cell, initializing it with f if the cell +

pub fn get_or_init<F>(&self, f: F) -> &T
where + F: FnOnce() -> T,

Gets the contents of the cell, initializing it with f if the cell was empty.

Many threads may call get_or_init concurrently with different initializing functions, but it is guaranteed that only one function will be executed.

-
Panics
+
§Panics

If f panics, the panic is propagated to the caller, and the cell remains uninitialized.

It is an error to reentrantly initialize the cell from f. The exact outcome is unspecified. Current implementation deadlocks, but this may be changed to a panic in the future.

-
Example
+
§Example
use once_cell::sync::OnceCell;
 
 let cell = OnceCell::new();
@@ -110,17 +110,17 @@ 
Example
assert_eq!(value, &92); let value = cell.get_or_init(|| unreachable!()); assert_eq!(value, &92);
-

pub fn get_or_try_init<F, E>(&self, f: F) -> Result<&T, E>
where - F: FnOnce() -> Result<T, E>,

Gets the contents of the cell, initializing it with f if +

pub fn get_or_try_init<F, E>(&self, f: F) -> Result<&T, E>
where + F: FnOnce() -> Result<T, E>,

Gets the contents of the cell, initializing it with f if the cell was empty. If the cell was empty and f failed, an error is returned.

-
Panics
+
§Panics

If f panics, the panic is propagated to the caller, and the cell remains uninitialized.

It is an error to reentrantly initialize the cell from f. The exact outcome is unspecified. Current implementation deadlocks, but this may be changed to a panic in the future.

-
Example
+
§Example
use once_cell::sync::OnceCell;
 
 let cell = OnceCell::new();
@@ -131,9 +131,9 @@ 
Example
}); assert_eq!(value, Ok(&92)); assert_eq!(cell.get(), Some(&92))
-

pub fn take(&mut self) -> Option<T>

Takes the value out of this OnceCell, moving it back to an uninitialized state.

+

pub fn take(&mut self) -> Option<T>

Takes the value out of this OnceCell, moving it back to an uninitialized state.

Has no effect and returns None if the OnceCell hasn’t been initialized.

-
Examples
+
§Examples
use once_cell::sync::OnceCell;
 
 let mut cell: OnceCell<String> = OnceCell::new();
@@ -152,9 +152,9 @@ 
Examples
let mut cell: OnceCell<u32> = OnceCell::new(); cell.set(92).unwrap(); cell = OnceCell::new();
-

pub fn into_inner(self) -> Option<T>

Consumes the OnceCell, returning the wrapped value. Returns +

pub fn into_inner(self) -> Option<T>

Consumes the OnceCell, returning the wrapped value. Returns None if the cell was empty.

-
Examples
+
§Examples
use once_cell::sync::OnceCell;
 
 let cell: OnceCell<String> = OnceCell::new();
@@ -163,33 +163,33 @@ 
Examples
let cell = OnceCell::new(); cell.set("hello".to_string()).unwrap(); assert_eq!(cell.into_inner(), Some("hello".to_string()));
-

Trait Implementations§

§

impl<T> Clone for OnceCell<T>
where - T: Clone,

§

fn clone(&self) -> OnceCell<T>

Returns a copy of the value. Read more
§

fn clone_from(&mut self, source: &OnceCell<T>)

Performs copy-assignment from source. Read more
§

impl<T> Debug for OnceCell<T>
where - T: Debug,

§

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

Formats the value using the given formatter. Read more
§

impl<T> Default for OnceCell<T>

§

fn default() -> OnceCell<T>

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

impl<T> From<T> for OnceCell<T>

§

fn from(value: T) -> OnceCell<T>

Converts to this type from the input type.
source§

impl<T> Gc for OnceCell<T>
where - T: Gc,

source§

const SUPPORT_GC: bool = T::SUPPORT_GC

source§

fn gc(&mut self, ctx: &GcCtx)

§

impl<T> PartialEq for OnceCell<T>
where - T: PartialEq,

§

fn eq(&self, other: &OnceCell<T>) -> bool

This method tests for self and other values to be equal, and is used -by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
§

impl<T> Eq for OnceCell<T>
where - T: Eq,

Auto Trait Implementations§

§

impl<T> RefUnwindSafe for OnceCell<T>

§

impl<T> Send for OnceCell<T>
where - T: Send,

§

impl<T> Sync for OnceCell<T>
where - T: Send + Sync,

§

impl<T> Unpin for OnceCell<T>
where - T: Unpin,

§

impl<T> UnwindSafe for OnceCell<T>
where - T: UnwindSafe,

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where - T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where - T: ?Sized,

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<!> for T

source§

fn from(t: !) -> T

Converts to this type from the input type.
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+

Trait Implementations§

§

impl<T> Clone for OnceCell<T>
where + T: Clone,

§

fn clone(&self) -> OnceCell<T>

Returns a copy of the value. Read more
§

fn clone_from(&mut self, source: &OnceCell<T>)

Performs copy-assignment from source. Read more
§

impl<T> Debug for OnceCell<T>
where + T: Debug,

§

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

Formats the value using the given formatter. Read more
§

impl<T> Default for OnceCell<T>

§

fn default() -> OnceCell<T>

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

impl<T> From<T> for OnceCell<T>

§

fn from(value: T) -> OnceCell<T>

Converts to this type from the input type.
source§

impl<T> Gc for OnceCell<T>
where + T: Gc,

source§

const SUPPORT_GC: bool = T::SUPPORT_GC

source§

fn gc(&mut self, ctx: &GcCtx)

§

impl<T> PartialEq for OnceCell<T>
where + T: PartialEq,

§

fn eq(&self, other: &OnceCell<T>) -> bool

This method tests for self and other values to be equal, and is used +by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
§

impl<T> Eq for OnceCell<T>
where + T: Eq,

Auto Trait Implementations§

§

impl<T> RefUnwindSafe for OnceCell<T>

§

impl<T> Send for OnceCell<T>
where + T: Send,

§

impl<T> Sync for OnceCell<T>
where + T: Sync + Send,

§

impl<T> Unpin for OnceCell<T>
where + T: Unpin,

§

impl<T> UnwindSafe for OnceCell<T>
where + T: UnwindSafe,

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where + T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where + T: ?Sized,

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<!> for T

source§

fn from(t: !) -> T

Converts to this type from the input type.
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> FromRefOpt<U> for T
where - U: AsRefOpt<T>,

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an + U: AsRefOpt<T>,
§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where - U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where + U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

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

-
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> ToOwned for T
where - T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

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

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where - S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

+
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> ToOwned for T
where + T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

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

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where + S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
\ No newline at end of file diff --git a/storm/struct.OneToMany.html b/storm/struct.OneToMany.html index ef03bc7a..601f3cbf 100644 --- a/storm/struct.OneToMany.html +++ b/storm/struct.OneToMany.html @@ -1,34 +1,34 @@ -OneToMany in storm - Rust -

Struct storm::OneToMany

source ·
pub struct OneToMany<ONE, MANY>(/* private fields */);

Implementations§

source§

impl<ONE, MANY> OneToMany<ONE, MANY>

source

pub fn get(&self, index: &ONE) -> &[MANY]
where - ONE: Copy + Into<usize>,

source

pub fn iter(&self) -> Iter<'_, ONE, Box<[MANY]>>

Trait Implementations§

source§

impl<ONE, MANY> FromIterator<(ONE, MANY)> for OneToMany<ONE, MANY>
where - ONE: Copy + From<usize> + Into<usize>, - MANY: Eq + Hash,

source§

fn from_iter<T: IntoIterator<Item = (ONE, MANY)>>(iter: T) -> Self

Creates a value from an iterator. Read more
source§

impl<ONE, MANY> Gc for OneToMany<ONE, MANY>
where - ONE: Copy + From<usize> + Send, - MANY: Gc + Send + Sync,

source§

const SUPPORT_GC: bool = MANY::SUPPORT_GC

source§

fn gc(&mut self, ctx: &GcCtx)

source§

impl<ONE, MANY> Index<&ONE> for OneToMany<ONE, MANY>
where - ONE: Copy + Into<usize>,

§

type Output = [MANY]

The returned type after indexing.
source§

fn index(&self, index: &ONE) -> &Self::Output

Performs the indexing (container[index]) operation. Read more
source§

impl<'a, ONE, MANY> IntoIterator for &'a OneToMany<ONE, MANY>
where - ONE: Copy + From<usize>,

§

type Item = (ONE, &'a Box<[MANY]>)

The type of the elements being iterated over.
§

type IntoIter = Iter<'a, ONE, Box<[MANY]>>

Which kind of iterator are we turning this into?
source§

fn into_iter(self) -> Self::IntoIter

Creates an iterator from a value. Read more

Auto Trait Implementations§

§

impl<ONE, MANY> RefUnwindSafe for OneToMany<ONE, MANY>
where - MANY: RefUnwindSafe, - ONE: RefUnwindSafe,

§

impl<ONE, MANY> Send for OneToMany<ONE, MANY>
where - MANY: Send, - ONE: Send,

§

impl<ONE, MANY> Sync for OneToMany<ONE, MANY>
where - MANY: Sync, - ONE: Sync,

§

impl<ONE, MANY> Unpin for OneToMany<ONE, MANY>
where - ONE: Unpin,

§

impl<ONE, MANY> UnwindSafe for OneToMany<ONE, MANY>
where - MANY: UnwindSafe, - ONE: UnwindSafe,

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where - T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where - T: ?Sized,

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+OneToMany in storm - Rust +

Struct storm::OneToMany

source ·
pub struct OneToMany<ONE, MANY>(/* private fields */);

Implementations§

source§

impl<ONE, MANY> OneToMany<ONE, MANY>

source

pub fn get(&self, index: &ONE) -> &[MANY]
where + ONE: Copy + Into<usize>,

source

pub fn iter(&self) -> Iter<'_, ONE, Box<[MANY]>>

Trait Implementations§

source§

impl<ONE, MANY> FromIterator<(ONE, MANY)> for OneToMany<ONE, MANY>
where + ONE: Copy + From<usize> + Into<usize>, + MANY: Eq + Hash,

source§

fn from_iter<T: IntoIterator<Item = (ONE, MANY)>>(iter: T) -> Self

Creates a value from an iterator. Read more
source§

impl<ONE, MANY> Gc for OneToMany<ONE, MANY>
where + ONE: Copy + From<usize> + Send, + MANY: Gc + Send + Sync,

source§

const SUPPORT_GC: bool = MANY::SUPPORT_GC

source§

fn gc(&mut self, ctx: &GcCtx)

source§

impl<ONE, MANY> Index<&ONE> for OneToMany<ONE, MANY>
where + ONE: Copy + Into<usize>,

§

type Output = [MANY]

The returned type after indexing.
source§

fn index(&self, index: &ONE) -> &Self::Output

Performs the indexing (container[index]) operation. Read more
source§

impl<'a, ONE, MANY> IntoIterator for &'a OneToMany<ONE, MANY>
where + ONE: Copy + From<usize>,

§

type Item = (ONE, &'a Box<[MANY]>)

The type of the elements being iterated over.
§

type IntoIter = Iter<'a, ONE, Box<[MANY]>>

Which kind of iterator are we turning this into?
source§

fn into_iter(self) -> Self::IntoIter

Creates an iterator from a value. Read more

Auto Trait Implementations§

§

impl<ONE, MANY> RefUnwindSafe for OneToMany<ONE, MANY>
where + MANY: RefUnwindSafe, + ONE: RefUnwindSafe,

§

impl<ONE, MANY> Send for OneToMany<ONE, MANY>
where + MANY: Send, + ONE: Send,

§

impl<ONE, MANY> Sync for OneToMany<ONE, MANY>
where + MANY: Sync, + ONE: Sync,

§

impl<ONE, MANY> Unpin for OneToMany<ONE, MANY>
where + ONE: Unpin,

§

impl<ONE, MANY> UnwindSafe for OneToMany<ONE, MANY>
where + MANY: UnwindSafe, + ONE: UnwindSafe,

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where + T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where + T: ?Sized,

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> FromRefOpt<U> for T
where - U: AsRefOpt<T>,

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an + U: AsRefOpt<T>,
§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where - U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where + U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

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

-
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where - S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

+
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where + S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
\ No newline at end of file diff --git a/storm/struct.QueueRwLock.html b/storm/struct.QueueRwLock.html index 06196493..c1ba453f 100644 --- a/storm/struct.QueueRwLock.html +++ b/storm/struct.QueueRwLock.html @@ -1,31 +1,31 @@ -QueueRwLock in storm - Rust +QueueRwLock in storm - Rust

Struct storm::QueueRwLock

pub struct QueueRwLock<T> { /* private fields */ }

Implementations§

§

impl<T> QueueRwLock<T>

pub fn new(val: T) -> QueueRwLock<T>

Creates a new instance of an QueueRwLock<T> which is unlocked.

-

pub fn get_mut(&mut self) -> &mut T

Returns a mutable reference to the underlying data.

+

pub fn get_mut(&mut self) -> &mut T

Returns a mutable reference to the underlying data.

Since this call borrows the RwLock mutably, no actual locking needs to take place—the mutable borrow statically guarantees no locks exist.

pub fn into_inner(self) -> T

Consumes this RwLock, returning the underlying data.

-

pub async fn queue(&self) -> Result<QueueRwLockQueueGuard<'_, T>, Error>

Enqueue to gain access to the write.

-

pub async fn read(&self) -> Result<QueueRwLockReadGuard<'_, T>, Error>

Locks this RwLock with shared read access

-

pub fn try_queue(&self) -> Option<QueueRwLockQueueGuard<'_, T>>

Attempts to acquire the queue, and returns None if any +

pub async fn queue(&self) -> Result<QueueRwLockQueueGuard<'_, T>, Error>

Enqueue to gain access to the write.

+

pub async fn read(&self) -> Result<QueueRwLockReadGuard<'_, T>, Error>

Locks this RwLock with shared read access

+

pub fn try_queue(&self) -> Option<QueueRwLockQueueGuard<'_, T>>

Attempts to acquire the queue, and returns None if any somewhere else is in the queue.

-

Trait Implementations§

§

impl<T> Default for QueueRwLock<T>
where - T: Default,

§

fn default() -> QueueRwLock<T>

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

Auto Trait Implementations§

§

impl<T> !RefUnwindSafe for QueueRwLock<T>

§

impl<T> Send for QueueRwLock<T>
where - T: Send,

§

impl<T> Sync for QueueRwLock<T>
where - T: Send + Sync,

§

impl<T> Unpin for QueueRwLock<T>
where - T: Unpin,

§

impl<T> !UnwindSafe for QueueRwLock<T>

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where - T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where - T: ?Sized,

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+

Trait Implementations§

§

impl<T> Default for QueueRwLock<T>
where + T: Default,

§

fn default() -> QueueRwLock<T>

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

Auto Trait Implementations§

§

impl<T> !RefUnwindSafe for QueueRwLock<T>

§

impl<T> Send for QueueRwLock<T>
where + T: Send,

§

impl<T> Sync for QueueRwLock<T>
where + T: Sync + Send,

§

impl<T> Unpin for QueueRwLock<T>
where + T: Unpin,

§

impl<T> !UnwindSafe for QueueRwLock<T>

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where + T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where + T: ?Sized,

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> FromRefOpt<U> for T
where - U: AsRefOpt<T>,

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an + U: AsRefOpt<T>,
§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where - U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where + U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

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

-
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where - S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

+
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where + S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
\ No newline at end of file diff --git a/storm/struct.TblTransaction.html b/storm/struct.TblTransaction.html index 9c5478fb..023af0da 100644 --- a/storm/struct.TblTransaction.html +++ b/storm/struct.TblTransaction.html @@ -1,8 +1,8 @@ -TblTransaction in storm - Rust +TblTransaction in storm - Rust

Struct storm::TblTransaction

source ·
pub struct TblTransaction<'a, 'b, E: Entity + EntityAccessor> { /* private fields */ }

Implementations§

source§

impl<'a, 'b, E> TblTransaction<'a, 'b, E>
where E: Entity + EntityAccessor, - E::Key: Eq + Hash, - E::Tbl: Get<E>,

source

pub fn get(&self, k: &E::Key) -> Option<&E>
where + E::Key: Eq + Hash, + E::Tbl: Get<E>,

source

pub fn get(&self, k: &E::Key) -> Option<&E>
where Self: Get<E>,

gets a reference from the log or the underlying ctx.

You can take the TblTransaction by ownership and have a longer lifetime for the & by using the Self::into_ref method.

@@ -11,14 +11,14 @@ k: E::Key, v: E, track: &'c E::TrackCtx -) -> BoxFuture<'c, Result<()>>
where +) -> BoxFuture<'c, Result<()>>
where Self: Insert<E>,
source

pub fn insert_all<'c, I>( &'c mut self, iter: I, track: &'c E::TrackCtx -) -> BoxFuture<'c, Result<usize>>
where - I: IntoIterator<Item = (E::Key, E)> + Send + 'a, - I::IntoIter: Send, +) -> BoxFuture<'c, Result<usize>>
where + I: IntoIterator<Item = (E::Key, E)> + Send + 'a, + I::IntoIter: Send, Self: Insert<E>,

source

pub fn insert_mut<'c>( &'c mut self, k: E::Key, @@ -29,60 +29,60 @@ &'c mut self, iter: I, track: &'c E::TrackCtx -) -> BoxFuture<'c, Result<usize>>
where - I: IntoIterator<Item = (E::Key, E)> + Send + 'a, - I::IntoIter: Send, - Self: InsertMut<E>,

source

pub fn into_ref(self, k: &E::Key) -> Option<&'b E>
where +) -> BoxFuture<'c, Result<usize>>
where + I: IntoIterator<Item = (E::Key, E)> + Send + 'a, + I::IntoIter: Send, + Self: InsertMut<E>,

source

pub fn into_ref(self, k: &E::Key) -> Option<&'b E>
where E: Entity + EntityAccessor + LogAccessor, - E::Key: Eq + Hash, - E::Tbl: Get<E>,

source

pub fn log(&self) -> Option<&FxHashMap<E::Key, LogState<E>>>
where + E::Key: Eq + Hash, + E::Tbl: Get<E>,

source

pub fn log(&self) -> Option<&FxHashMap<E::Key, LogState<E>>>

source

pub fn remove<'c>( &'c mut self, k: E::Key, track: &'c E::TrackCtx -) -> BoxFuture<'c, Result<()>>
where +) -> BoxFuture<'c, Result<()>>
where Self: Remove<E>,

source

pub fn remove_all<'c, K>( &'c mut self, keys: K, track: &'c E::TrackCtx -) -> BoxFuture<'c, Result<usize>>
where +) -> BoxFuture<'c, Result<usize>>
where Self: Remove<E>, - K: IntoIterator<Item = E::Key> + Send + 'c, - K::IntoIter: Send,

source

pub fn tbl(&self) -> &'a E::Tbl

Trait Implementations§

source§

impl<'a, 'b, E> Get<E> for TblTransaction<'a, 'b, E>
where + K: IntoIterator<Item = E::Key> + Send + 'c, + K::IntoIter: Send,

source

pub fn tbl(&self) -> &'a E::Tbl

Trait Implementations§

source§

impl<'a, 'b, E> Get<E> for TblTransaction<'a, 'b, E>
where E: Entity + EntityAccessor + LogAccessor, - E::Key: Eq + Hash, - E::Tbl: Get<E>,

source§

fn get(&self, k: &E::Key) -> Option<&E>

source§

impl<'a, 'b, E> Insert<E> for TblTransaction<'a, 'b, E>
where + E::Key: Eq + Hash, + E::Tbl: Get<E>,

source§

fn get(&self, k: &E::Key) -> Option<&E>

source§

impl<'a, 'b, E> Insert<E> for TblTransaction<'a, 'b, E>
where for<'c> TransactionProvider<'c>: Upsert<E>, E: Entity + EntityAccessor + LogAccessor, - E::Key: Eq + Hash, + E::Key: Eq + Hash, E::Tbl: Get<E>,

source§

fn insert<'c>( &'c mut self, k: E::Key, v: E, track: &'c E::TrackCtx -) -> BoxFuture<'c, Result<()>>

source§

fn insert_all<'c, I>( +) -> BoxFuture<'c, Result<()>>

source§

fn insert_all<'c, I>( &'c mut self, iter: I, track: &'c <E as Entity>::TrackCtx -) -> BoxFuture<'c, Result<usize>>
where - I: IntoIterator<Item = (<E as Entity>::Key, E)> + Send + 'c, - I::IntoIter: Send,

source§

impl<'a, 'b, E> InsertIfChanged<E> for TblTransaction<'a, 'b, E>
where - E: Entity + EntityAccessor + PartialEq, +) -> BoxFuture<'c, Result<usize>>
where + I: IntoIterator<Item = (<E as Entity>::Key, E)> + Send + 'c, + I::IntoIter: Send,

source§

impl<'a, 'b, E> InsertIfChanged<E> for TblTransaction<'a, 'b, E>
where + E: Entity + EntityAccessor + PartialEq, Self: Get<E> + Insert<E>,

source§

fn insert_if_changed<'c>( &'c mut self, k: E::Key, v: E, track: &'c E::TrackCtx -) -> BoxFuture<'c, Result<()>>

source§

fn insert_all_if_changed<'c, I>( +) -> BoxFuture<'c, Result<()>>

source§

fn insert_all_if_changed<'c, I>( &'c mut self, iter: I, track: &'c E::TrackCtx -) -> BoxFuture<'c, Result<usize>>
where - I: IntoIterator<Item = (E::Key, E)> + Send + 'c, - I::IntoIter: Send,

source§

impl<'a, 'b, E> InsertMut<E> for TblTransaction<'a, 'b, E>
where +) -> BoxFuture<'c, Result<usize>>
where + I: IntoIterator<Item = (E::Key, E)> + Send + 'c, + I::IntoIter: Send,

source§

impl<'a, 'b, E> InsertMut<E> for TblTransaction<'a, 'b, E>
where for<'c> TransactionProvider<'c>: UpsertMut<E>, E: Entity + EntityAccessor + LogAccessor, - E::Key: Clone + Eq + Hash, + E::Key: Clone + Eq + Hash, E::Tbl: Get<E>,

source§

fn insert_mut<'c>( &'c mut self, k: E::Key, @@ -92,10 +92,10 @@ &'c mut self, iter: I, track: &'c <E as Entity>::TrackCtx -) -> BoxFuture<'c, Result<usize>>
where - I: IntoIterator<Item = (<E as Entity>::Key, E)> + Send + 'c, - I::IntoIter: Send,

source§

impl<'a, 'b, E> InsertMutIfChanged<E> for TblTransaction<'a, 'b, E>
where - E: Entity + EntityAccessor + PartialEq, +) -> BoxFuture<'c, Result<usize>>
where + I: IntoIterator<Item = (<E as Entity>::Key, E)> + Send + 'c, + I::IntoIter: Send,

source§

impl<'a, 'b, E> InsertMutIfChanged<E> for TblTransaction<'a, 'b, E>
where + E: Entity + EntityAccessor + PartialEq, Self: Get<E> + InsertMut<E>,

source§

fn insert_mut_if_changed<'c>( &'c mut self, k: E::Key, @@ -105,36 +105,36 @@ &'c mut self, iter: I, track: &'c E::TrackCtx -) -> BoxFuture<'c, Result<usize>>
where - I: IntoIterator<Item = (E::Key, E)> + Send + 'c, - I::IntoIter: Send,

source§

impl<'a, 'b, E> Remove<E> for TblTransaction<'a, 'b, E>
where +) -> BoxFuture<'c, Result<usize>>
where + I: IntoIterator<Item = (E::Key, E)> + Send + 'c, + I::IntoIter: Send,

source§

impl<'a, 'b, E> Remove<E> for TblTransaction<'a, 'b, E>
where for<'c> TransactionProvider<'c>: Delete<E>, E: Entity + EntityAccessor + LogAccessor, - E::Key: Clone + Eq + Hash, + E::Key: Clone + Eq + Hash, E::Tbl: Accessor + Get<E>,

source§

fn remove<'c>( &'c mut self, k: E::Key, track: &'c E::TrackCtx -) -> BoxFuture<'c, Result<()>>

source§

fn remove_all<'c, K>( +) -> BoxFuture<'c, Result<()>>

source§

fn remove_all<'c, K>( &'c mut self, keys: K, track: &'c <E as Entity>::TrackCtx -) -> BoxFuture<'c, Result<usize>>
where - K: 'c + IntoIterator<Item = <E as Entity>::Key> + Send, - K::IntoIter: Send,

Auto Trait Implementations§

§

impl<'a, 'b, E> !RefUnwindSafe for TblTransaction<'a, 'b, E>

§

impl<'a, 'b, E> Send for TblTransaction<'a, 'b, E>

§

impl<'a, 'b, E> Sync for TblTransaction<'a, 'b, E>

§

impl<'a, 'b, E> Unpin for TblTransaction<'a, 'b, E>

§

impl<'a, 'b, E> !UnwindSafe for TblTransaction<'a, 'b, E>

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where - T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where - T: ?Sized,

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+) -> BoxFuture<'c, Result<usize>>
where + K: 'c + IntoIterator<Item = <E as Entity>::Key> + Send, + K::IntoIter: Send,

Auto Trait Implementations§

§

impl<'a, 'b, E> !RefUnwindSafe for TblTransaction<'a, 'b, E>

§

impl<'a, 'b, E> Send for TblTransaction<'a, 'b, E>

§

impl<'a, 'b, E> Sync for TblTransaction<'a, 'b, E>

§

impl<'a, 'b, E> Unpin for TblTransaction<'a, 'b, E>

§

impl<'a, 'b, E> !UnwindSafe for TblTransaction<'a, 'b, E>

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where + T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where + T: ?Sized,

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> FromRefOpt<U> for T
where - U: AsRefOpt<T>,

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an + U: AsRefOpt<T>,
§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where - U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where + U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

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

-
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where - S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

+
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where + S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
\ No newline at end of file diff --git a/storm/struct.VecMap.html b/storm/struct.VecMap.html index 47a2dce3..d5cd2200 100644 --- a/storm/struct.VecMap.html +++ b/storm/struct.VecMap.html @@ -1,20 +1,20 @@ -VecMap in storm - Rust +VecMap in storm - Rust

Struct storm::VecMap

pub struct VecMap<K, V> { /* private fields */ }

Implementations§

§

impl<K, V> VecMap<K, V>

pub fn par_iter(&self) -> ParIter<'_, K, V>
where - K: Sync, - V: Sync,

pub fn par_iter_mut(&mut self) -> ParIterMut<'_, K, V>
where - K: Send, - V: Send,

§

impl<K, V> VecMap<K, V>

pub const fn new() -> VecMap<K, V>

pub fn with_capacity(capacity: usize) -> VecMap<K, V>

pub fn clear(&mut self)

pub fn contains_key(&self, key: &K) -> bool
where - K: Copy + Into<usize>,

pub fn entry(&mut self, key: K) -> Entry<'_, K, V>
where - K: Copy + Into<usize>,

pub fn get(&self, key: &K) -> Option<&V>
where - K: Copy + Into<usize>,

pub fn get_mut(&mut self, key: &K) -> Option<&mut V>
where - K: Copy + Into<usize>,

pub fn insert(&mut self, key: K, value: V) -> Option<V>
where - K: Copy + Into<usize>,

pub fn is_empty(&self) -> bool

pub fn iter(&self) -> Iter<'_, K, V>

pub fn iter_mut(&mut self) -> IterMut<'_, K, V>

pub fn keys(&self) -> Keys<'_, K, V>

pub fn len(&self) -> usize

pub fn remove(&mut self, key: &K) -> Option<V>
where - K: Copy + Into<usize>,

pub fn retain<F>(&mut self, f: F)
where - F: FnMut(&K, &V) -> bool, - K: Copy + From<usize>,

Retains only the elements specified by the predicate.

+ K: Sync, + V: Sync,

pub fn par_iter_mut(&mut self) -> ParIterMut<'_, K, V>
where + K: Send, + V: Send,

§

impl<K, V> VecMap<K, V>

pub const fn new() -> VecMap<K, V>

pub fn with_capacity(capacity: usize) -> VecMap<K, V>

pub fn clear(&mut self)

pub fn contains_key(&self, key: &K) -> bool
where + K: Copy + Into<usize>,

pub fn entry(&mut self, key: K) -> Entry<'_, K, V>
where + K: Copy + Into<usize>,

pub fn get(&self, key: &K) -> Option<&V>
where + K: Copy + Into<usize>,

pub fn get_mut(&mut self, key: &K) -> Option<&mut V>
where + K: Copy + Into<usize>,

pub fn insert(&mut self, key: K, value: V) -> Option<V>
where + K: Copy + Into<usize>,

pub fn is_empty(&self) -> bool

pub fn iter(&self) -> Iter<'_, K, V>

pub fn iter_mut(&mut self) -> IterMut<'_, K, V>

pub fn keys(&self) -> Keys<'_, K, V>

pub fn len(&self) -> usize

pub fn remove(&mut self, key: &K) -> Option<V>
where + K: Copy + Into<usize>,

pub fn retain<F>(&mut self, f: F)
where + F: FnMut(&K, &V) -> bool, + K: Copy + From<usize>,

Retains only the elements specified by the predicate.

In other words, remove all elements e such that f(&e) returns false. This method operates in place, visiting each element exactly once in the original order, and preserves the order of the retained elements.

-
Example
+
§Example
use vec_map::VecMap;
 
 let mut map = VecMap::new();
@@ -25,72 +25,72 @@ 
Example
assert_eq!(map.len(), 1); assert_eq!(map.into_iter().collect::<Vec<_>>(), vec![(2, 11)]);
-

pub fn shrink_to_fit(&mut self)

pub fn values(&self) -> Values<'_, K, V>

pub fn values_mut(&mut self) -> ValuesMut<'_, K, V>

Trait Implementations§

§

impl<K, V> Clone for VecMap<K, V>
where - K: Clone, - V: Clone,

§

fn clone(&self) -> VecMap<K, V>

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
§

impl<K, V> Default for VecMap<K, V>

§

fn default() -> VecMap<K, V>

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

impl<K, V> Extend<(K, V)> for VecMap<K, V>
where - K: Copy + Into<usize>,

§

fn extend<T>(&mut self, iter: T)
where - T: IntoIterator<Item = (K, V)>,

Extends a collection with the contents of an iterator. Read more
source§

fn extend_one(&mut self, item: A)

🔬This is a nightly-only experimental API. (extend_one)
Extends a collection with exactly one element.
source§

fn extend_reserve(&mut self, additional: usize)

🔬This is a nightly-only experimental API. (extend_one)
Reserves capacity in a collection for the given number of additional elements. Read more
§

impl<K, V> FromIterator<(K, V)> for VecMap<K, V>
where - K: Copy + Into<usize>,

§

fn from_iter<T>(iter: T) -> VecMap<K, V>
where - T: IntoIterator<Item = (K, V)>,

Creates a value from an iterator. Read more
source§

impl<K, V> Gc for VecMap<K, V>
where - K: Copy + From<usize> + Send, - V: Gc + Send,

source§

const SUPPORT_GC: bool = V::SUPPORT_GC

source§

fn gc(&mut self, ctx: &GcCtx)

source§

impl<E: Entity> Get<E> for VecMap<E::Key, E>
where - E::Key: Copy + Into<usize>,

source§

fn get(&self, k: &E::Key) -> Option<&E>

§

impl<'a, K, V> IntoIterator for &'a VecMap<K, V>
where - K: Copy,

§

type Item = (K, &'a V)

The type of the elements being iterated over.
§

type IntoIter = Iter<'a, K, V>

Which kind of iterator are we turning this into?
§

fn into_iter(self) -> <&'a VecMap<K, V> as IntoIterator>::IntoIter

Creates an iterator from a value. Read more
§

impl<'a, K, V> IntoIterator for &'a mut VecMap<K, V>
where - K: Copy,

§

type Item = (K, &'a mut V)

The type of the elements being iterated over.
§

type IntoIter = IterMut<'a, K, V>

Which kind of iterator are we turning this into?
§

fn into_iter(self) -> <&'a mut VecMap<K, V> as IntoIterator>::IntoIter

Creates an iterator from a value. Read more
§

impl<K, V> IntoIterator for VecMap<K, V>

§

type Item = (K, V)

The type of the elements being iterated over.
§

type IntoIter = IntoIter<K, V>

Which kind of iterator are we turning this into?
§

fn into_iter(self) -> <VecMap<K, V> as IntoIterator>::IntoIter

Creates an iterator from a value. Read more
§

impl<'a, K, V> IntoParallelIterator for &'a VecMap<K, V>
where - K: Copy + Send + Sync, - V: Sync,

§

type Iter = ParIter<'a, K, V>

The parallel iterator type that will be created.
§

type Item = (K, &'a V)

The type of item that the parallel iterator will produce.
§

fn into_par_iter(self) -> <&'a VecMap<K, V> as IntoParallelIterator>::Iter

Converts self into a parallel iterator. Read more
§

impl<'a, K, V> IntoParallelIterator for &'a mut VecMap<K, V>
where - K: Copy + Send, - V: Send,

§

type Iter = ParIterMut<'a, K, V>

The parallel iterator type that will be created.
§

type Item = (K, &'a mut V)

The type of item that the parallel iterator will produce.
§

fn into_par_iter(self) -> <&'a mut VecMap<K, V> as IntoParallelIterator>::Iter

Converts self into a parallel iterator. Read more
§

impl<K, V> PartialEq for VecMap<K, V>
where - K: PartialEq, - V: PartialEq,

§

fn eq(&self, other: &VecMap<K, V>) -> bool

This method tests for self and other values to be equal, and is used -by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
§

impl<K, V> Eq for VecMap<K, V>
where - K: Eq + PartialEq, - V: Eq + PartialEq,

Auto Trait Implementations§

§

impl<K, V> RefUnwindSafe for VecMap<K, V>
where - K: RefUnwindSafe, - V: RefUnwindSafe,

§

impl<K, V> Send for VecMap<K, V>
where - K: Send, - V: Send,

§

impl<K, V> Sync for VecMap<K, V>
where - K: Sync, - V: Sync,

§

impl<K, V> Unpin for VecMap<K, V>
where - K: Unpin, - V: Unpin,

§

impl<K, V> UnwindSafe for VecMap<K, V>
where - K: UnwindSafe, - V: UnwindSafe,

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where - T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where - T: ?Sized,

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+

pub fn shrink_to_fit(&mut self)

pub fn values(&self) -> Values<'_, K, V>

pub fn values_mut(&mut self) -> ValuesMut<'_, K, V>

Trait Implementations§

§

impl<K, V> Clone for VecMap<K, V>
where + K: Clone, + V: Clone,

§

fn clone(&self) -> VecMap<K, V>

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
§

impl<K, V> Default for VecMap<K, V>

§

fn default() -> VecMap<K, V>

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

impl<K, V> Extend<(K, V)> for VecMap<K, V>
where + K: Copy + Into<usize>,

§

fn extend<T>(&mut self, iter: T)
where + T: IntoIterator<Item = (K, V)>,

Extends a collection with the contents of an iterator. Read more
source§

fn extend_one(&mut self, item: A)

🔬This is a nightly-only experimental API. (extend_one)
Extends a collection with exactly one element.
source§

fn extend_reserve(&mut self, additional: usize)

🔬This is a nightly-only experimental API. (extend_one)
Reserves capacity in a collection for the given number of additional elements. Read more
§

impl<K, V> FromIterator<(K, V)> for VecMap<K, V>
where + K: Copy + Into<usize>,

§

fn from_iter<T>(iter: T) -> VecMap<K, V>
where + T: IntoIterator<Item = (K, V)>,

Creates a value from an iterator. Read more
source§

impl<K, V> Gc for VecMap<K, V>
where + K: Copy + From<usize> + Send, + V: Gc + Send,

source§

const SUPPORT_GC: bool = V::SUPPORT_GC

source§

fn gc(&mut self, ctx: &GcCtx)

source§

impl<E: Entity> Get<E> for VecMap<E::Key, E>
where + E::Key: Copy + Into<usize>,

source§

fn get(&self, k: &E::Key) -> Option<&E>

§

impl<'a, K, V> IntoIterator for &'a VecMap<K, V>
where + K: Copy,

§

type Item = (K, &'a V)

The type of the elements being iterated over.
§

type IntoIter = Iter<'a, K, V>

Which kind of iterator are we turning this into?
§

fn into_iter(self) -> <&'a VecMap<K, V> as IntoIterator>::IntoIter

Creates an iterator from a value. Read more
§

impl<'a, K, V> IntoIterator for &'a mut VecMap<K, V>
where + K: Copy,

§

type Item = (K, &'a mut V)

The type of the elements being iterated over.
§

type IntoIter = IterMut<'a, K, V>

Which kind of iterator are we turning this into?
§

fn into_iter(self) -> <&'a mut VecMap<K, V> as IntoIterator>::IntoIter

Creates an iterator from a value. Read more
§

impl<K, V> IntoIterator for VecMap<K, V>

§

type Item = (K, V)

The type of the elements being iterated over.
§

type IntoIter = IntoIter<K, V>

Which kind of iterator are we turning this into?
§

fn into_iter(self) -> <VecMap<K, V> as IntoIterator>::IntoIter

Creates an iterator from a value. Read more
§

impl<'a, K, V> IntoParallelIterator for &'a VecMap<K, V>
where + K: Copy + Send + Sync, + V: Sync,

§

type Iter = ParIter<'a, K, V>

The parallel iterator type that will be created.
§

type Item = (K, &'a V)

The type of item that the parallel iterator will produce.
§

fn into_par_iter(self) -> <&'a VecMap<K, V> as IntoParallelIterator>::Iter

Converts self into a parallel iterator. Read more
§

impl<'a, K, V> IntoParallelIterator for &'a mut VecMap<K, V>
where + K: Copy + Send, + V: Send,

§

type Iter = ParIterMut<'a, K, V>

The parallel iterator type that will be created.
§

type Item = (K, &'a mut V)

The type of item that the parallel iterator will produce.
§

fn into_par_iter(self) -> <&'a mut VecMap<K, V> as IntoParallelIterator>::Iter

Converts self into a parallel iterator. Read more
§

impl<K, V> PartialEq for VecMap<K, V>
where + K: PartialEq, + V: PartialEq,

§

fn eq(&self, other: &VecMap<K, V>) -> bool

This method tests for self and other values to be equal, and is used +by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
§

impl<K, V> Eq for VecMap<K, V>
where + K: Eq + PartialEq, + V: Eq + PartialEq,

Auto Trait Implementations§

§

impl<K, V> RefUnwindSafe for VecMap<K, V>
where + K: RefUnwindSafe, + V: RefUnwindSafe,

§

impl<K, V> Send for VecMap<K, V>
where + K: Send, + V: Send,

§

impl<K, V> Sync for VecMap<K, V>
where + K: Sync, + V: Sync,

§

impl<K, V> Unpin for VecMap<K, V>
where + K: Unpin, + V: Unpin,

§

impl<K, V> UnwindSafe for VecMap<K, V>
where + K: UnwindSafe, + V: UnwindSafe,

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where + T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where + T: ?Sized,

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> FromRefOpt<U> for T
where - U: AsRefOpt<T>,

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an + U: AsRefOpt<T>,
§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where - U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where + U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

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

+From<T> for U chooses to do.

§

impl<'data, I> IntoParallelRefIterator<'data> for I
where - I: 'data + ?Sized, - &'data I: IntoParallelIterator,

§

type Iter = <&'data I as IntoParallelIterator>::Iter

The type of the parallel iterator that will be returned.
§

type Item = <&'data I as IntoParallelIterator>::Item

The type of item that the parallel iterator will produce. + I: 'data + ?Sized, + &'data I: IntoParallelIterator,
§

type Iter = <&'data I as IntoParallelIterator>::Iter

The type of the parallel iterator that will be returned.
§

type Item = <&'data I as IntoParallelIterator>::Item

The type of item that the parallel iterator will produce. This will typically be an &'data T reference type.
§

fn par_iter(&'data self) -> <I as IntoParallelRefIterator<'data>>::Iter

Converts self into a parallel iterator. Read more
§

impl<'data, I> IntoParallelRefMutIterator<'data> for I
where - I: 'data + ?Sized, - &'data mut I: IntoParallelIterator,

§

type Iter = <&'data mut I as IntoParallelIterator>::Iter

The type of iterator that will be created.
§

type Item = <&'data mut I as IntoParallelIterator>::Item

The type of item that will be produced; this is typically an + I: 'data + ?Sized, + &'data mut I: IntoParallelIterator,
§

type Iter = <&'data mut I as IntoParallelIterator>::Iter

The type of iterator that will be created.
§

type Item = <&'data mut I as IntoParallelIterator>::Item

The type of item that will be produced; this is typically an &'data mut T reference.
§

fn par_iter_mut( &'data mut self ) -> <I as IntoParallelRefMutIterator<'data>>::Iter

Creates the parallel iterator from self. Read more
source§

impl<ONE, MANY, T> OneToManyFromIter<ONE, MANY> for T
where - T: IntoIterator<Item = (ONE, MANY)>, - ONE: Copy + From<usize> + Into<usize>,

source§

fn collect_sort<F>(self) -> OneToMany<ONE, MANY>
where - MANY: Ord,

Collect the items and sort them.
source§

fn collect_sort_by<F>(self, cmp: F) -> OneToMany<ONE, MANY>
where - F: Fn(&MANY, &MANY) -> Ordering,

Collect the items and sort them by the cmp function specified.
source§

fn collect_sort_by_key<F, K>(self, key_cmp: F) -> OneToMany<ONE, MANY>
where - F: Fn(&MANY) -> K, - K: Ord,

Collect the items and sort them using a key_cmp function.
source§

fn collect_sort_dedup(self) -> OneToMany<ONE, MANY>
where - MANY: Ord,

source§

fn collect_sort_dedup_by<F>(self, cmp: F) -> OneToMany<ONE, MANY>
where - F: Fn(&MANY, &MANY) -> Ordering,

Collect the items and sort them by the cmp function specified. + T: IntoIterator<Item = (ONE, MANY)>, + ONE: Copy + From<usize> + Into<usize>,
source§

fn collect_sort<F>(self) -> OneToMany<ONE, MANY>
where + MANY: Ord,

Collect the items and sort them.
source§

fn collect_sort_by<F>(self, cmp: F) -> OneToMany<ONE, MANY>
where + F: Fn(&MANY, &MANY) -> Ordering,

Collect the items and sort them by the cmp function specified.
source§

fn collect_sort_by_key<F, K>(self, key_cmp: F) -> OneToMany<ONE, MANY>
where + F: Fn(&MANY) -> K, + K: Ord,

Collect the items and sort them using a key_cmp function.
source§

fn collect_sort_dedup(self) -> OneToMany<ONE, MANY>
where + MANY: Ord,

source§

fn collect_sort_dedup_by<F>(self, cmp: F) -> OneToMany<ONE, MANY>
where + F: Fn(&MANY, &MANY) -> Ordering,

Collect the items and sort them by the cmp function specified. Also removes duplicate MANY items using the same cmp function.
source§

fn collect_sort_dedup_by_key<F, K>(self, key_cmp: F) -> OneToMany<ONE, MANY>
where - F: Fn(&MANY) -> K, - K: Ord,

Collect the items and sort them by the key_cmp function specified. -Also removes duplicate MANY items using the same key_cmp function.
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> ToOwned for T
where - T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

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

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where - S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a + F: Fn(&MANY) -> K, + K: Ord,
Collect the items and sort them by the key_cmp function specified. +Also removes duplicate MANY items using the same key_cmp function.
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> ToOwned for T
where + T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

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

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where + S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
\ No newline at end of file diff --git a/storm/struct.VecTable.html b/storm/struct.VecTable.html index 5b25db81..ca286766 100644 --- a/storm/struct.VecTable.html +++ b/storm/struct.VecTable.html @@ -1,53 +1,53 @@ -VecTable in storm - Rust -

Struct storm::VecTable

source ·
pub struct VecTable<E: Entity> { /* private fields */ }

Implementations§

source§

impl<E: Entity> VecTable<E>

source

pub fn new() -> Self

source

pub fn iter(&self) -> Iter<'_, E::Key, E>

source

pub fn keys(&self) -> Keys<'_, E::Key, E>

source

pub fn values(&self) -> Values<'_, E::Key, E>

Methods from Deref<Target = VecMap<E::Key, E>>§

pub fn par_iter(&self) -> ParIter<'_, K, V>
where - K: Sync, - V: Sync,

pub fn contains_key(&self, key: &K) -> bool
where - K: Copy + Into<usize>,

pub fn get(&self, key: &K) -> Option<&V>
where - K: Copy + Into<usize>,

pub fn is_empty(&self) -> bool

pub fn iter(&self) -> Iter<'_, K, V>

pub fn keys(&self) -> Keys<'_, K, V>

pub fn len(&self) -> usize

pub fn values(&self) -> Values<'_, K, V>

Trait Implementations§

source§

impl<E> Accessor for VecTable<E>
where - E: Entity + EntityAccessor<Tbl = VecTable<E>>,

source§

fn var() -> TblVar<Self>

source§

fn deps() -> &'static Deps

source§

fn clear(ctx: &mut Vars)

source§

fn clear_deps(ctx: &mut Vars)

source§

fn register_deps<F: Fn(&mut Vars) + Send + Sync + 'static>(f: F)

source§

impl<E> ApplyLog<HashMap<<E as Entity>::Key, LogState<E>, BuildHasherDefault<FxHasher>>> for VecTable<E>
where +VecTable in storm - Rust +

Struct storm::VecTable

source ·
pub struct VecTable<E: Entity> { /* private fields */ }

Implementations§

source§

impl<E: Entity> VecTable<E>

source

pub fn new() -> Self

source

pub fn iter(&self) -> Iter<'_, E::Key, E>

source

pub fn keys(&self) -> Keys<'_, E::Key, E>

source

pub fn values(&self) -> Values<'_, E::Key, E>

Methods from Deref<Target = VecMap<E::Key, E>>§

pub fn par_iter(&self) -> ParIter<'_, K, V>
where + K: Sync, + V: Sync,

pub fn contains_key(&self, key: &K) -> bool
where + K: Copy + Into<usize>,

pub fn get(&self, key: &K) -> Option<&V>
where + K: Copy + Into<usize>,

pub fn is_empty(&self) -> bool

pub fn iter(&self) -> Iter<'_, K, V>

pub fn keys(&self) -> Keys<'_, K, V>

pub fn len(&self) -> usize

pub fn values(&self) -> Values<'_, K, V>

Trait Implementations§

source§

impl<E> Accessor for VecTable<E>
where + E: Entity + EntityAccessor<Tbl = VecTable<E>>,

source§

fn var() -> TblVar<Self>

source§

fn deps() -> &'static Deps

source§

fn clear(ctx: &mut Vars)

source§

fn clear_deps(ctx: &mut Vars)

source§

fn register_deps<F: Fn(&mut Vars) + Send + Sync + 'static>(f: F)

source§

impl<E> ApplyLog<HashMap<<E as Entity>::Key, LogState<E>, BuildHasherDefault<FxHasher>>> for VecTable<E>

source§

fn apply_log(&mut self, log: Log<E>) -> bool

source§

impl<'a, E: Entity, L> AsRef<VecTable<E>> for CtxLocks<'a, L>
where - L: AsRef<VecTable<E>>,

source§

fn as_ref(&self) -> &VecTable<E>

Converts this type into a shared reference of the (usually inferred) input type.
source§

impl<E: Entity> AsRef<VecTable<E>> for VecTable<E>

source§

fn as_ref(&self) -> &Self

Converts this type into a shared reference of the (usually inferred) input type.
source§

impl<E> AsRefAsync<VecTable<E>> for Ctx
where + E::Key: Copy + Into<usize>,

source§

fn apply_log(&mut self, log: Log<E>) -> bool

source§

impl<'a, E: Entity, L> AsRef<VecTable<E>> for CtxLocks<'a, L>
where + L: AsRef<VecTable<E>>,

source§

fn as_ref(&self) -> &VecTable<E>

Converts this type into a shared reference of the (usually inferred) input type.
source§

impl<E: Entity> AsRef<VecTable<E>> for VecTable<E>

source§

fn as_ref(&self) -> &Self

Converts this type into a shared reference of the (usually inferred) input type.
source§

impl<E> AsRefAsync<VecTable<E>> for Ctx
where E: CtxTypeInfo + Entity + EntityAccessor<Tbl = VecTable<E>>, - E::Key: Copy + Into<usize>, - ProviderContainer: LoadAll<E, (), E::Tbl>,

source§

fn as_ref_async(&self) -> BoxFuture<'_, Result<&E::Tbl>>

source§

impl<E> Clone for VecTable<E>
where - E: Clone + Entity, - E::Key: Clone,

source§

fn clone(&self) -> Self

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl<E: Entity> Default for VecTable<E>

source§

fn default() -> Self

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

impl<E: Entity> Deref for VecTable<E>

§

type Target = VecMap<<E as Entity>::Key, E>

The resulting type after dereferencing.
source§

fn deref(&self) -> &Self::Target

Dereferences the value.
source§

impl<E: Entity> EntityOf for VecTable<E>

§

type Entity = E

source§

impl<E> Extend<(<E as Entity>::Key, E)> for VecTable<E>
where + E::Key: Copy + Into<usize>, + ProviderContainer: LoadAll<E, (), E::Tbl>,

source§

fn as_ref_async(&self) -> BoxFuture<'_, Result<&E::Tbl>>

source§

impl<E> Clone for VecTable<E>
where + E: Clone + Entity, + E::Key: Clone,

source§

fn clone(&self) -> Self

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl<E: Entity> Default for VecTable<E>

source§

fn default() -> Self

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

impl<E: Entity> Deref for VecTable<E>

§

type Target = VecMap<<E as Entity>::Key, E>

The resulting type after dereferencing.
source§

fn deref(&self) -> &Self::Target

Dereferences the value.
source§

impl<E: Entity> EntityOf for VecTable<E>

§

type Entity = E

source§

impl<E> Extend<(<E as Entity>::Key, E)> for VecTable<E>
where E: CtxTypeInfo + Entity, - E::Key: Copy + Into<usize>,

source§

fn extend<T>(&mut self, iter: T)
where - T: IntoIterator<Item = (E::Key, E)>,

Extends a collection with the contents of an iterator. Read more
source§

fn extend_one(&mut self, item: A)

🔬This is a nightly-only experimental API. (extend_one)
Extends a collection with exactly one element.
source§

fn extend_reserve(&mut self, additional: usize)

🔬This is a nightly-only experimental API. (extend_one)
Reserves capacity in a collection for the given number of additional elements. Read more
source§

impl<E> Gc for VecTable<E>
where + E::Key: Copy + Into<usize>,

source§

fn extend<T>(&mut self, iter: T)
where + T: IntoIterator<Item = (E::Key, E)>,

Extends a collection with the contents of an iterator. Read more
source§

fn extend_one(&mut self, item: A)

🔬This is a nightly-only experimental API. (extend_one)
Extends a collection with exactly one element.
source§

fn extend_reserve(&mut self, additional: usize)

🔬This is a nightly-only experimental API. (extend_one)
Reserves capacity in a collection for the given number of additional elements. Read more
source§

impl<E> Gc for VecTable<E>
where E: Entity + CtxTypeInfo + Gc, - E::Key: Copy + From<usize>,

source§

const SUPPORT_GC: bool = E::SUPPORT_GC

source§

fn gc(&mut self, ctx: &GcCtx)

source§

impl<E: Entity> Get<E> for VecTable<E>
where - E::Key: Copy + Into<usize>,

source§

fn get(&self, k: &E::Key) -> Option<&E>

source§

impl<E: Entity> GetMut<E> for VecTable<E>
where - E::Key: Copy + Into<usize>,

source§

fn get_mut(&mut self, k: &E::Key) -> Option<&mut E>

source§

impl<'a, P, E> Init<'a, P> for VecTable<E>
where - E: CtxTypeInfo + Entity + Send, - E::Key: Copy + Into<usize> + Send, - P: Sync + LoadAll<E, (), Self>,

source§

fn init(provider: &'a P) -> BoxFuture<'a, Result<Self>>

source§

impl<'a, E: Entity> IntoIterator for &'a VecTable<E>
where - E::Key: Copy + From<usize>,

§

type Item = (<E as Entity>::Key, &'a E)

The type of the elements being iterated over.
§

type IntoIter = Iter<'a, <E as Entity>::Key, E>

Which kind of iterator are we turning this into?
source§

fn into_iter(self) -> Self::IntoIter

Creates an iterator from a value. Read more
source§

impl<'a, E: Entity> IntoParallelIterator for &'a VecTable<E>
where - E::Key: Copy + From<usize>,

§

type Item = (<E as Entity>::Key, &'a E)

The type of item that the parallel iterator will produce.
§

type Iter = ParIter<'a, <E as Entity>::Key, E>

The parallel iterator type that will be created.
source§

fn into_par_iter(self) -> Self::Iter

Converts self into a parallel iterator. Read more
source§

impl<E: Entity> NotifyTag for VecTable<E>

source§

fn notify_tag(&mut self)

source§

impl<E: Entity> Tag for VecTable<E>

source§

fn tag(&self) -> VersionTag

Auto Trait Implementations§

§

impl<E> RefUnwindSafe for VecTable<E>
where - E: RefUnwindSafe, - <E as Entity>::Key: RefUnwindSafe,

§

impl<E> Send for VecTable<E>

§

impl<E> Sync for VecTable<E>

§

impl<E> Unpin for VecTable<E>
where - E: Unpin, - <E as Entity>::Key: Unpin,

§

impl<E> UnwindSafe for VecTable<E>
where - E: UnwindSafe, - <E as Entity>::Key: UnwindSafe,

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where - T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where - T: ?Sized,

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+ E::Key: Copy + From<usize>,

source§

const SUPPORT_GC: bool = E::SUPPORT_GC

source§

fn gc(&mut self, ctx: &GcCtx)

source§

impl<E: Entity> Get<E> for VecTable<E>
where + E::Key: Copy + Into<usize>,

source§

fn get(&self, k: &E::Key) -> Option<&E>

source§

impl<E: Entity> GetMut<E> for VecTable<E>
where + E::Key: Copy + Into<usize>,

source§

fn get_mut(&mut self, k: &E::Key) -> Option<&mut E>

source§

impl<'a, P, E> Init<'a, P> for VecTable<E>
where + E: CtxTypeInfo + Entity + Send, + E::Key: Copy + Into<usize> + Send, + P: Sync + LoadAll<E, (), Self>,

source§

fn init(provider: &'a P) -> BoxFuture<'a, Result<Self>>

source§

impl<'a, E: Entity> IntoIterator for &'a VecTable<E>
where + E::Key: Copy + From<usize>,

§

type Item = (<E as Entity>::Key, &'a E)

The type of the elements being iterated over.
§

type IntoIter = Iter<'a, <E as Entity>::Key, E>

Which kind of iterator are we turning this into?
source§

fn into_iter(self) -> Self::IntoIter

Creates an iterator from a value. Read more
source§

impl<'a, E: Entity> IntoParallelIterator for &'a VecTable<E>
where + E::Key: Copy + From<usize>,

§

type Item = (<E as Entity>::Key, &'a E)

The type of item that the parallel iterator will produce.
§

type Iter = ParIter<'a, <E as Entity>::Key, E>

The parallel iterator type that will be created.
source§

fn into_par_iter(self) -> Self::Iter

Converts self into a parallel iterator. Read more
source§

impl<E: Entity> NotifyTag for VecTable<E>

source§

fn notify_tag(&mut self)

source§

impl<E: Entity> Tag for VecTable<E>

source§

fn tag(&self) -> VersionTag

Auto Trait Implementations§

§

impl<E> RefUnwindSafe for VecTable<E>
where + E: RefUnwindSafe, + <E as Entity>::Key: RefUnwindSafe,

§

impl<E> Send for VecTable<E>

§

impl<E> Sync for VecTable<E>

§

impl<E> Unpin for VecTable<E>
where + E: Unpin, + <E as Entity>::Key: Unpin,

§

impl<E> UnwindSafe for VecTable<E>
where + E: UnwindSafe, + <E as Entity>::Key: UnwindSafe,

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where + T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where + T: ?Sized,

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> FromRefOpt<U> for T
where - U: AsRefOpt<T>,

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an + U: AsRefOpt<T>,
§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where - U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where + U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

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

+From<T> for U chooses to do.

§

impl<'data, I> IntoParallelRefIterator<'data> for I
where - I: 'data + ?Sized, - &'data I: IntoParallelIterator,

§

type Iter = <&'data I as IntoParallelIterator>::Iter

The type of the parallel iterator that will be returned.
§

type Item = <&'data I as IntoParallelIterator>::Item

The type of item that the parallel iterator will produce. -This will typically be an &'data T reference type.
§

fn par_iter(&'data self) -> <I as IntoParallelRefIterator<'data>>::Iter

Converts self into a parallel iterator. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> ToOwned for T
where - T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

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

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where - S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a + I: 'data + ?Sized, + &'data I: IntoParallelIterator,
§

type Iter = <&'data I as IntoParallelIterator>::Iter

The type of the parallel iterator that will be returned.
§

type Item = <&'data I as IntoParallelIterator>::Item

The type of item that the parallel iterator will produce. +This will typically be an &'data T reference type.
§

fn par_iter(&'data self) -> <I as IntoParallelRefIterator<'data>>::Iter

Converts self into a parallel iterator. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> ToOwned for T
where + T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

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

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where + S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
\ No newline at end of file diff --git a/storm/struct.VersionTag.html b/storm/struct.VersionTag.html index c69f868e..dd4fa559 100644 --- a/storm/struct.VersionTag.html +++ b/storm/struct.VersionTag.html @@ -1,40 +1,40 @@ -VersionTag in storm - Rust +VersionTag in storm - Rust

Struct storm::VersionTag

pub struct VersionTag(/* private fields */);

Implementations§

§

impl VersionTag

pub fn new() -> VersionTag

Creates an initialized new VersionTag.

pub fn zero() -> VersionTag

Creates a version 0 which could indicate that the computation has not been done.

-
Example
+
§Example
use version_tag::VersionTag;
 
 // The zero version will always be the lowest version.
 // Calling new will start at version 1
 assert!(VersionTag::zero() < VersionTag::new());

pub fn notify(&mut self)

Internally increment the counter of the tag to signal a change.

-

Trait Implementations§

§

impl Clone for VersionTag

§

fn clone(&self) -> VersionTag

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
§

impl Debug for VersionTag

§

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

Formats the value using the given formatter. Read more
§

impl Default for VersionTag

§

fn default() -> VersionTag

Creates an initialized new VersionTag. This is the same as calling VersionTag::new.

-
§

impl Hash for VersionTag

§

fn hash<__H>(&self, state: &mut __H)
where - __H: Hasher,

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where - H: Hasher, - Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
§

impl Ord for VersionTag

§

fn cmp(&self, other: &VersionTag) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Self
where - Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Self
where - Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Self
where - Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
§

impl PartialEq for VersionTag

§

fn eq(&self, other: &VersionTag) -> bool

This method tests for self and other values to be equal, and is used -by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
§

impl PartialOrd for VersionTag

§

fn partial_cmp(&self, other: &VersionTag) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · source§

fn lt(&self, other: &Rhs) -> bool

This method tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · source§

fn le(&self, other: &Rhs) -> bool

This method tests less than or equal to (for self and other) and is used by the <= -operator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

This method tests greater than or equal to (for self and other) and is used by the >= -operator. Read more
§

impl Copy for VersionTag

§

impl Eq for VersionTag

§

impl StructuralEq for VersionTag

§

impl StructuralPartialEq for VersionTag

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where - T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where - T: ?Sized,

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+

Trait Implementations§

§

impl Clone for VersionTag

§

fn clone(&self) -> VersionTag

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
§

impl Debug for VersionTag

§

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

Formats the value using the given formatter. Read more
§

impl Default for VersionTag

§

fn default() -> VersionTag

Creates an initialized new VersionTag. This is the same as calling VersionTag::new.

+
§

impl Hash for VersionTag

§

fn hash<__H>(&self, state: &mut __H)
where + __H: Hasher,

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where + H: Hasher, + Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
§

impl Ord for VersionTag

§

fn cmp(&self, other: &VersionTag) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Self
where + Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Self
where + Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Self
where + Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
§

impl PartialEq for VersionTag

§

fn eq(&self, other: &VersionTag) -> bool

This method tests for self and other values to be equal, and is used +by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
§

impl PartialOrd for VersionTag

§

fn partial_cmp(&self, other: &VersionTag) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · source§

fn lt(&self, other: &Rhs) -> bool

This method tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · source§

fn le(&self, other: &Rhs) -> bool

This method tests less than or equal to (for self and other) and is used by the <= +operator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

This method tests greater than or equal to (for self and other) and is used by the >= +operator. Read more
§

impl Copy for VersionTag

§

impl Eq for VersionTag

§

impl StructuralPartialEq for VersionTag

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where + T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where + T: ?Sized,

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> FromRefOpt<U> for T
where - U: AsRefOpt<T>,

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an + U: AsRefOpt<T>,
§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where - U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where + U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

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

-
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> ToOwned for T
where - T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

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

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where - S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

+
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> ToOwned for T
where + T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

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

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where + S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
\ No newline at end of file diff --git a/storm/trait.Accessor.html b/storm/trait.Accessor.html index 85184a9d..700b881e 100644 --- a/storm/trait.Accessor.html +++ b/storm/trait.Accessor.html @@ -1,5 +1,5 @@ -Accessor in storm - Rust -

Trait storm::Accessor

source ·
pub trait Accessor: Sized + 'static {
+Accessor in storm - Rust
+    

Trait storm::Accessor

source ·
pub trait Accessor: Sized + 'static {
     // Required methods
     fn var() -> TblVar<Self>;
     fn deps() -> &'static Deps;
@@ -7,7 +7,7 @@
     // Provided methods
     fn clear(ctx: &mut Vars) { ... }
     fn clear_deps(ctx: &mut Vars) { ... }
-    fn register_deps<F: Fn(&mut Vars) + Send + Sync + 'static>(f: F) { ... }
-}

Required Methods§

source

fn var() -> TblVar<Self>

source

fn deps() -> &'static Deps

Provided Methods§

source

fn clear(ctx: &mut Vars)

source

fn clear_deps(ctx: &mut Vars)

source

fn register_deps<F: Fn(&mut Vars) + Send + Sync + 'static>(f: F)

Object Safety§

This trait is not object safe.

Implementors§

source§

impl<E> Accessor for HashTable<E>
where + fn register_deps<F: Fn(&mut Vars) + Send + Sync + 'static>(f: F) { ... } +}

Required Methods§

source

fn var() -> TblVar<Self>

source

fn deps() -> &'static Deps

Provided Methods§

source

fn clear(ctx: &mut Vars)

source

fn clear_deps(ctx: &mut Vars)

source

fn register_deps<F: Fn(&mut Vars) + Send + Sync + 'static>(f: F)

Object Safety§

This trait is not object safe.

Implementors§

source§

impl<E> Accessor for HashTable<E>
where E: Entity + EntityAccessor<Tbl = HashTable<E>>,

source§

impl<E> Accessor for VecTable<E>
where E: Entity + EntityAccessor<Tbl = VecTable<E>>,

\ No newline at end of file diff --git a/storm/trait.ApplyLog.html b/storm/trait.ApplyLog.html index c17bed1e..a57b6578 100644 --- a/storm/trait.ApplyLog.html +++ b/storm/trait.ApplyLog.html @@ -1,9 +1,9 @@ -ApplyLog in storm - Rust +ApplyLog in storm - Rust

Trait storm::ApplyLog

source ·
pub trait ApplyLog<L> {
     // Required method
-    fn apply_log(&mut self, log: L) -> bool;
-}

Required Methods§

source

fn apply_log(&mut self, log: L) -> bool

Implementations on Foreign Types§

source§

impl<'a> ApplyLog<Logs> for QueueRwLockWriteGuard<'a, Ctx>

source§

fn apply_log(&mut self, log: Logs) -> bool

Implementors§

source§

impl<E> ApplyLog<HashMap<<E as Entity>::Key, LogState<E>, BuildHasherDefault<FxHasher>>> for HashTable<E>
where + fn apply_log(&mut self, log: L) -> bool; +}

Required Methods§

source

fn apply_log(&mut self, log: L) -> bool

Implementations on Foreign Types§

source§

impl<'a> ApplyLog<Logs> for QueueRwLockWriteGuard<'a, Ctx>

source§

fn apply_log(&mut self, log: Logs) -> bool

Implementors§

source§

impl<E> ApplyLog<HashMap<<E as Entity>::Key, LogState<E>, BuildHasherDefault<FxHasher>>> for HashTable<E>
where E: CtxTypeInfo + Entity + EntityAccessor<Tbl = Self>, - E::Key: Eq + Hash,

source§

impl<E> ApplyLog<HashMap<<E as Entity>::Key, LogState<E>, BuildHasherDefault<FxHasher>>> for VecTable<E>
where + E::Key: Eq + Hash,

source§

impl<E> ApplyLog<HashMap<<E as Entity>::Key, LogState<E>, BuildHasherDefault<FxHasher>>> for VecTable<E>

\ No newline at end of file + E::Key: Copy + Into<usize>,
\ No newline at end of file diff --git a/storm/trait.AsRefAsync.html b/storm/trait.AsRefAsync.html index 1038deb4..9456849e 100644 --- a/storm/trait.AsRefAsync.html +++ b/storm/trait.AsRefAsync.html @@ -1,13 +1,13 @@ -AsRefAsync in storm - Rust +AsRefAsync in storm - Rust

Trait storm::AsRefAsync

source ·
pub trait AsRefAsync<T> {
     // Required method
-    fn as_ref_async(&self) -> BoxFuture<'_, Result<&T>>;
-}

Required Methods§

Implementations on Foreign Types§

source§

impl<T, U> AsRefAsync<T> for QueueRwLockReadGuard<'_, U>
where - U: AsRefAsync<T>,

Implementors§

source§

impl<'a, T> AsRefAsync<T> for CtxTransaction<'a>
where + fn as_ref_async(&self) -> BoxFuture<'_, Result<&T>>; +}

Required Methods§

Implementations on Foreign Types§

source§

impl<T, U> AsRefAsync<T> for QueueRwLockReadGuard<'_, U>
where + U: AsRefAsync<T>,

Implementors§

source§

impl<'a, T> AsRefAsync<T> for CtxTransaction<'a>
where Ctx: AsRefAsync<T>,

source§

impl<E> AsRefAsync<HashTable<E>> for Ctx
where E: CtxTypeInfo + Entity + EntityAccessor<Tbl = HashTable<E>>, - E::Key: Eq + Hash, - ProviderContainer: LoadAll<E, (), E::Tbl>,

source§

impl<E> AsRefAsync<VecTable<E>> for Ctx
where + E::Key: Eq + Hash, + ProviderContainer: LoadAll<E, (), E::Tbl>,

source§

impl<E> AsRefAsync<VecTable<E>> for Ctx
where E: CtxTypeInfo + Entity + EntityAccessor<Tbl = VecTable<E>>, - E::Key: Copy + Into<usize>, - ProviderContainer: LoadAll<E, (), E::Tbl>,

\ No newline at end of file + E::Key: Copy + Into<usize>, + ProviderContainer: LoadAll<E, (), E::Tbl>,
\ No newline at end of file diff --git a/storm/trait.AsRefOpt.html b/storm/trait.AsRefOpt.html index fab8d54a..cf0da455 100644 --- a/storm/trait.AsRefOpt.html +++ b/storm/trait.AsRefOpt.html @@ -1,5 +1,5 @@ -AsRefOpt in storm - Rust +AsRefOpt in storm - Rust

Trait storm::AsRefOpt

source ·
pub trait AsRefOpt<T> {
     // Required method
-    fn as_ref_opt(&self) -> Option<&T>;
-}

Required Methods§

source

fn as_ref_opt(&self) -> Option<&T>

Implementors§

\ No newline at end of file + fn as_ref_opt(&self) -> Option<&T>; +}

Required Methods§

source

fn as_ref_opt(&self) -> Option<&T>

Implementors§

\ No newline at end of file diff --git a/storm/trait.AsyncTryFrom.html b/storm/trait.AsyncTryFrom.html index b94b9855..1f80773d 100644 --- a/storm/trait.AsyncTryFrom.html +++ b/storm/trait.AsyncTryFrom.html @@ -1,6 +1,6 @@ -AsyncTryFrom in storm - Rust -

Trait storm::AsyncTryFrom

source ·
pub trait AsyncTryFrom<'a, T>: Sized {
+AsyncTryFrom in storm - Rust
+    

Trait storm::AsyncTryFrom

source ·
pub trait AsyncTryFrom<'a, T>: Sized {
     // Required method
     fn async_try_from(t: T) -> BoxFuture<'a, Result<Self>>;
-}

Required Methods§

source

fn async_try_from(t: T) -> BoxFuture<'a, Result<Self>>

Object Safety§

This trait is not object safe.

Implementors§

source§

impl<'a, L> AsyncTryFrom<'a, &'a Ctx> for CtxLocks<'a, L>
where +}

Required Methods§

source

fn async_try_from(t: T) -> BoxFuture<'a, Result<Self>>

Object Safety§

This trait is not object safe.

Implementors§

source§

impl<'a, L> AsyncTryFrom<'a, &'a Ctx> for CtxLocks<'a, L>
where L: AsyncTryFrom<'a, &'a Ctx>,

\ No newline at end of file diff --git a/storm/trait.ChangedHandler.html b/storm/trait.ChangedHandler.html index 4d2f8711..d90bd464 100644 --- a/storm/trait.ChangedHandler.html +++ b/storm/trait.ChangedHandler.html @@ -1,6 +1,6 @@ -ChangedHandler in storm - Rust +ChangedHandler in storm - Rust

Trait storm::ChangedHandler

source ·
pub trait ChangedHandler<E: Entity> {
     // Required method
-    fn handle_changed(&self, key: &E::Key, entity: Changed<&E>);
-}

Required Methods§

source

fn handle_changed(&self, key: &E::Key, entity: Changed<&E>)

Implementors§

source§

impl<E: Entity, T> ChangedHandler<E> for T
where - T: Fn(&E::Key, Changed<&E>),

\ No newline at end of file + fn handle_changed(&self, key: &E::Key, entity: Changed<&E>); +}

Required Methods§

source

fn handle_changed(&self, key: &E::Key, entity: Changed<&E>)

Implementors§

source§

impl<E: Entity, T> ChangedHandler<E> for T
where + T: Fn(&E::Key, Changed<&E>),

\ No newline at end of file diff --git a/storm/trait.CtxTypeInfo.html b/storm/trait.CtxTypeInfo.html index 57f7a5ab..4d0315cd 100644 --- a/storm/trait.CtxTypeInfo.html +++ b/storm/trait.CtxTypeInfo.html @@ -1,4 +1,4 @@ -CtxTypeInfo in storm - Rust +CtxTypeInfo in storm - Rust

Trait storm::CtxTypeInfo

source ·
pub trait CtxTypeInfo {
-    const NAME: &'static str;
-}

Required Associated Constants§

source

const NAME: &'static str

Object Safety§

This trait is not object safe.

Implementors§

\ No newline at end of file + const NAME: &'static str; +}

Required Associated Constants§

source

const NAME: &'static str

Object Safety§

This trait is not object safe.

Implementors§

\ No newline at end of file diff --git a/storm/trait.Entity.html b/storm/trait.Entity.html index 3d9d7f7b..dae556bf 100644 --- a/storm/trait.Entity.html +++ b/storm/trait.Entity.html @@ -1,33 +1,33 @@ -Entity in storm - Rust -

Trait storm::Entity

source ·
pub trait Entity: Send + Sync + 'static {
-    type Key: Send + Sync;
-    type TrackCtx: Debug + Sync;
+Entity in storm - Rust
+    

Trait storm::Entity

source ·
pub trait Entity: Send + Sync + 'static {
+    type Key: Send + Sync;
+    type TrackCtx: Debug + Sync;
 
     // Provided methods
     fn track_insert<'a>(
         &'a self,
         _key: &'a Self::Key,
-        _old: Option<&'a Self>,
+        _old: Option<&'a Self>,
         _ctx: &'a mut CtxTransaction<'_>,
         _track: &'a Self::TrackCtx
-    ) -> BoxFuture<'a, Result<()>> { ... }
+    ) -> BoxFuture<'a, Result<()>> { ... }
     fn track_remove<'a>(
         &'a self,
         _key: &'a Self::Key,
         _ctx: &'a mut CtxTransaction<'_>,
         _track: &'a Self::TrackCtx
-    ) -> BoxFuture<'a, Result<()>> { ... }
-}

Required Associated Types§

Provided Methods§

source

fn track_insert<'a>( + ) -> BoxFuture<'a, Result<()>> { ... } +}

Required Associated Types§

Provided Methods§

source

fn track_insert<'a>( &'a self, _key: &'a Self::Key, - _old: Option<&'a Self>, + _old: Option<&'a Self>, _ctx: &'a mut CtxTransaction<'_>, _track: &'a Self::TrackCtx -) -> BoxFuture<'a, Result<()>>

source

fn track_remove<'a>( +) -> BoxFuture<'a, Result<()>>

source

fn track_remove<'a>( &'a self, _key: &'a Self::Key, _ctx: &'a mut CtxTransaction<'_>, _track: &'a Self::TrackCtx -) -> BoxFuture<'a, Result<()>>

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl<T> Entity for Option<T>
where +) -> BoxFuture<'a, Result<()>>

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl<T> Entity for Option<T>
where T: Entity,

§

type Key = <T as Entity>::Key

§

type TrackCtx = <T as Entity>::TrackCtx

source§

impl<T> Entity for CacheIsland<T>
where T: Entity,

§

type Key = <T as Entity>::Key

§

type TrackCtx = <T as Entity>::TrackCtx

Implementors§

\ No newline at end of file diff --git a/storm/trait.EntityAccessor.html b/storm/trait.EntityAccessor.html index d178832f..033e4e3d 100644 --- a/storm/trait.EntityAccessor.html +++ b/storm/trait.EntityAccessor.html @@ -1,10 +1,10 @@ -EntityAccessor in storm - Rust -

Trait storm::EntityAccessor

source ·
pub trait EntityAccessor: Entity + Sized + 'static {
-    type Tbl: Send + Sync;
+EntityAccessor in storm - Rust
+    

Trait storm::EntityAccessor

source ·
pub trait EntityAccessor: Entity + Sized + 'static {
+    type Tbl: Send + Sync;
 
     // Required methods
     fn entity_var() -> TblVar<Self::Tbl>;
     fn entity_deps() -> &'static Deps;
     fn on_changed() -> &'static OnChanged<Self>;
     fn on_remove() -> &'static OnRemove<Self>;
-}

Required Associated Types§

Required Methods§

source

fn entity_var() -> TblVar<Self::Tbl>

source

fn entity_deps() -> &'static Deps

source

fn on_changed() -> &'static OnChanged<Self>

source

fn on_remove() -> &'static OnRemove<Self>

Object Safety§

This trait is not object safe.

Implementors§

\ No newline at end of file +}

Required Associated Types§

Required Methods§

source

fn entity_var() -> TblVar<Self::Tbl>

source

fn entity_deps() -> &'static Deps

source

fn on_changed() -> &'static OnChanged<Self>

source

fn on_remove() -> &'static OnRemove<Self>

Object Safety§

This trait is not object safe.

Implementors§

\ No newline at end of file diff --git a/storm/trait.EntityFields.html b/storm/trait.EntityFields.html index 50b9b801..5610dad2 100644 --- a/storm/trait.EntityFields.html +++ b/storm/trait.EntityFields.html @@ -1,4 +1,4 @@ -EntityFields in storm - Rust +EntityFields in storm - Rust

Trait storm::EntityFields

source ·
pub trait EntityFields {
     type Fields;
 }

Required Associated Types§

Implementors§

\ No newline at end of file diff --git a/storm/trait.EntityOf.html b/storm/trait.EntityOf.html index e441f433..8be877dc 100644 --- a/storm/trait.EntityOf.html +++ b/storm/trait.EntityOf.html @@ -1,4 +1,4 @@ -EntityOf in storm - Rust +EntityOf in storm - Rust

Trait storm::EntityOf

source ·
pub trait EntityOf {
     type Entity: Entity;
 }

Required Associated Types§

Implementors§

source§

impl<E: Entity> EntityOf for HashTable<E>

§

type Entity = E

source§

impl<E: Entity> EntityOf for VecTable<E>

§

type Entity = E

\ No newline at end of file diff --git a/storm/trait.FromRefOpt.html b/storm/trait.FromRefOpt.html index 29c00c32..a4bb64b5 100644 --- a/storm/trait.FromRefOpt.html +++ b/storm/trait.FromRefOpt.html @@ -1,6 +1,6 @@ -FromRefOpt in storm - Rust +FromRefOpt in storm - Rust

Trait storm::FromRefOpt

source ·
pub trait FromRefOpt<U> {
     // Required method
-    fn from_ref_opt(u: &U) -> Option<&Self>;
-}

Required Methods§

Object Safety§

This trait is not object safe.

Implementors§

source§

impl<T, U> FromRefOpt<U> for T
where + fn from_ref_opt(u: &U) -> Option<&Self>; +}

Required Methods§

Object Safety§

This trait is not object safe.

Implementors§

source§

impl<T, U> FromRefOpt<U> for T
where U: AsRefOpt<T>,

\ No newline at end of file diff --git a/storm/trait.Get.html b/storm/trait.Get.html index e988f162..2e5fbe5a 100644 --- a/storm/trait.Get.html +++ b/storm/trait.Get.html @@ -1,17 +1,17 @@ -Get in storm - Rust +Get in storm - Rust

Trait storm::Get

source ·
pub trait Get<E: Entity> {
     // Required method
-    fn get(&self, k: &E::Key) -> Option<&E>;
-}

Required Methods§

source

fn get(&self, k: &E::Key) -> Option<&E>

Implementations on Foreign Types§

source§

impl<E: Entity, S> Get<E> for HashMap<E::Key, E, S>
where - E::Key: Eq + Hash, - S: BuildHasher,

source§

fn get(&self, k: &E::Key) -> Option<&E>

source§

impl<E: Entity, S> Get<E> for Cache<E::Key, E, S>
where - E::Key: Eq + Hash, - S: BuildHasher,

source§

fn get(&self, k: &E::Key) -> Option<&E>

source§

impl<E: Entity, T> Get<E> for &T
where - T: Get<E>,

source§

fn get(&self, k: &E::Key) -> Option<&E>

source§

impl<E: Entity, T> Get<E> for &mut T
where - T: Get<E>,

source§

fn get(&self, k: &E::Key) -> Option<&E>

Implementors§

source§

impl<'a, 'b, E> Get<E> for TblTransaction<'a, 'b, E>
where + fn get(&self, k: &E::Key) -> Option<&E>; +}

Required Methods§

source

fn get(&self, k: &E::Key) -> Option<&E>

Implementations on Foreign Types§

source§

impl<E: Entity, S> Get<E> for HashMap<E::Key, E, S>
where + E::Key: Eq + Hash, + S: BuildHasher,

source§

fn get(&self, k: &E::Key) -> Option<&E>

source§

impl<E: Entity, S> Get<E> for Cache<E::Key, E, S>
where + E::Key: Eq + Hash, + S: BuildHasher,

source§

fn get(&self, k: &E::Key) -> Option<&E>

source§

impl<E: Entity, T> Get<E> for &T
where + T: Get<E>,

source§

fn get(&self, k: &E::Key) -> Option<&E>

source§

impl<E: Entity, T> Get<E> for &mut T
where + T: Get<E>,

source§

fn get(&self, k: &E::Key) -> Option<&E>

Implementors§

source§

impl<'a, 'b, E> Get<E> for TblTransaction<'a, 'b, E>
where E: Entity + EntityAccessor + LogAccessor, - E::Key: Eq + Hash, + E::Key: Eq + Hash, E::Tbl: Get<E>,

source§

impl<E: Entity> Get<E> for HashTable<E>
where - E::Key: Eq + Hash,

source§

impl<E: Entity> Get<E> for VecMap<E::Key, E>
where - E::Key: Copy + Into<usize>,

source§

impl<E: Entity> Get<E> for VecTable<E>
where - E::Key: Copy + Into<usize>,

\ No newline at end of file + E::Key: Eq + Hash,
source§

impl<E: Entity> Get<E> for VecMap<E::Key, E>
where + E::Key: Copy + Into<usize>,

source§

impl<E: Entity> Get<E> for VecTable<E>
where + E::Key: Copy + Into<usize>,

\ No newline at end of file diff --git a/storm/trait.GetMut.html b/storm/trait.GetMut.html index 523ef2ea..d6b6ade1 100644 --- a/storm/trait.GetMut.html +++ b/storm/trait.GetMut.html @@ -1,10 +1,10 @@ -GetMut in storm - Rust +GetMut in storm - Rust

Trait storm::GetMut

source ·
pub trait GetMut<E: Entity> {
     // Required method
-    fn get_mut(&mut self, k: &E::Key) -> Option<&mut E>;
-}

Required Methods§

source

fn get_mut(&mut self, k: &E::Key) -> Option<&mut E>

Implementations on Foreign Types§

source§

impl<E, S> GetMut<E> for Cache<E::Key, E, S>
where + fn get_mut(&mut self, k: &E::Key) -> Option<&mut E>; +}

Required Methods§

source

fn get_mut(&mut self, k: &E::Key) -> Option<&mut E>

Implementations on Foreign Types§

source§

impl<E, S> GetMut<E> for Cache<E::Key, E, S>
where E: Entity, - E::Key: Eq + Hash, - S: BuildHasher,

source§

fn get_mut(&mut self, k: &E::Key) -> Option<&mut E>

Implementors§

source§

impl<E: Entity> GetMut<E> for HashTable<E>
where - E::Key: Eq + Hash,

source§

impl<E: Entity> GetMut<E> for VecTable<E>
where - E::Key: Copy + Into<usize>,

\ No newline at end of file + E::Key: Eq + Hash, + S: BuildHasher,
source§

fn get_mut(&mut self, k: &E::Key) -> Option<&mut E>

Implementors§

source§

impl<E: Entity> GetMut<E> for HashTable<E>
where + E::Key: Eq + Hash,

source§

impl<E: Entity> GetMut<E> for VecTable<E>
where + E::Key: Copy + Into<usize>,

\ No newline at end of file diff --git a/storm/trait.Init.html b/storm/trait.Init.html index 2b91023e..55e05eb7 100644 --- a/storm/trait.Init.html +++ b/storm/trait.Init.html @@ -1,11 +1,11 @@ -Init in storm - Rust -

Trait storm::Init

source ·
pub trait Init<'a, P>: Sized + Send + Sync {
+Init in storm - Rust
+    

Trait storm::Init

source ·
pub trait Init<'a, P>: Sized + Send + Sync {
     // Required method
-    fn init(provider: &'a P) -> BoxFuture<'a, Result<Self>>;
-}

Required Methods§

source

fn init(provider: &'a P) -> BoxFuture<'a, Result<Self>>

Object Safety§

This trait is not object safe.

Implementors§

source§

impl<'a, P, E> Init<'a, P> for HashTable<E>
where - E: CtxTypeInfo + Entity + Send, - E::Key: Eq + Hash + Send, - P: Sync + LoadAll<E, (), Self>,

source§

impl<'a, P, E> Init<'a, P> for VecTable<E>
where - E: CtxTypeInfo + Entity + Send, - E::Key: Copy + Into<usize> + Send, - P: Sync + LoadAll<E, (), Self>,

\ No newline at end of file + fn init(provider: &'a P) -> BoxFuture<'a, Result<Self>>; +}

Required Methods§

source

fn init(provider: &'a P) -> BoxFuture<'a, Result<Self>>

Object Safety§

This trait is not object safe.

Implementors§

source§

impl<'a, P, E> Init<'a, P> for HashTable<E>
where + E: CtxTypeInfo + Entity + Send, + E::Key: Eq + Hash + Send, + P: Sync + LoadAll<E, (), Self>,

source§

impl<'a, P, E> Init<'a, P> for VecTable<E>
where + E: CtxTypeInfo + Entity + Send, + E::Key: Copy + Into<usize> + Send, + P: Sync + LoadAll<E, (), Self>,

\ No newline at end of file diff --git a/storm/trait.Insert.html b/storm/trait.Insert.html index 584aa215..282d6793 100644 --- a/storm/trait.Insert.html +++ b/storm/trait.Insert.html @@ -1,4 +1,4 @@ -Insert in storm - Rust +Insert in storm - Rust

Trait storm::Insert

source ·
pub trait Insert<E: Entity> {
     // Required methods
     fn insert<'a>(
@@ -6,29 +6,29 @@
         k: E::Key,
         v: E,
         track: &'a E::TrackCtx
-    ) -> BoxFuture<'a, Result<()>>;
+    ) -> BoxFuture<'a, Result<()>>;
     fn insert_all<'a, I>(
         &'a mut self,
         iter: I,
         track: &'a E::TrackCtx
-    ) -> BoxFuture<'a, Result<usize>>
-       where I: IntoIterator<Item = (E::Key, E)> + Send + 'a,
-             I::IntoIter: Send;
+    ) -> BoxFuture<'a, Result<usize>>
+       where I: IntoIterator<Item = (E::Key, E)> + Send + 'a,
+             I::IntoIter: Send;
 }

Required Methods§

source

fn insert<'a>( &'a mut self, k: E::Key, v: E, track: &'a E::TrackCtx -) -> BoxFuture<'a, Result<()>>

source

fn insert_all<'a, I>( +) -> BoxFuture<'a, Result<()>>

source

fn insert_all<'a, I>( &'a mut self, iter: I, track: &'a E::TrackCtx -) -> BoxFuture<'a, Result<usize>>
where - I: IntoIterator<Item = (E::Key, E)> + Send + 'a, - I::IntoIter: Send,

Object Safety§

This trait is not object safe.

Implementors§

source§

impl<'a, 'b, E> Insert<E> for TblTransaction<'a, 'b, E>
where +) -> BoxFuture<'a, Result<usize>>
where + I: IntoIterator<Item = (E::Key, E)> + Send + 'a, + I::IntoIter: Send,

Object Safety§

This trait is not object safe.

Implementors§

source§

impl<'a, 'b, E> Insert<E> for TblTransaction<'a, 'b, E>
where for<'c> TransactionProvider<'c>: Upsert<E>, E: Entity + EntityAccessor + LogAccessor, - E::Key: Eq + Hash, + E::Key: Eq + Hash, E::Tbl: Get<E>,

source§

impl<'a, E> Insert<E> for CtxTransaction<'a>
where Ctx: AsRefAsync<E::Tbl>, E: Entity + EntityAccessor + LogAccessor, diff --git a/storm/trait.InsertIfChanged.html b/storm/trait.InsertIfChanged.html index f0f47407..5f57f607 100644 --- a/storm/trait.InsertIfChanged.html +++ b/storm/trait.InsertIfChanged.html @@ -1,4 +1,4 @@ -InsertIfChanged in storm - Rust +InsertIfChanged in storm - Rust
pub trait InsertIfChanged<E: Entity> {
     // Required methods
     fn insert_if_changed<'a>(
@@ -6,27 +6,27 @@
         k: E::Key,
         v: E,
         track: &'a E::TrackCtx
-    ) -> BoxFuture<'a, Result<()>>;
+    ) -> BoxFuture<'a, Result<()>>;
     fn insert_all_if_changed<'a, I>(
         &'a mut self,
         iter: I,
         track: &'a E::TrackCtx
-    ) -> BoxFuture<'a, Result<usize>>
-       where I: IntoIterator<Item = (E::Key, E)> + Send + 'a,
-             I::IntoIter: Send;
+    ) -> BoxFuture<'a, Result<usize>>
+       where I: IntoIterator<Item = (E::Key, E)> + Send + 'a,
+             I::IntoIter: Send;
 }

Required Methods§

source

fn insert_if_changed<'a>( &'a mut self, k: E::Key, v: E, track: &'a E::TrackCtx -) -> BoxFuture<'a, Result<()>>

source

fn insert_all_if_changed<'a, I>( +) -> BoxFuture<'a, Result<()>>

source

fn insert_all_if_changed<'a, I>( &'a mut self, iter: I, track: &'a E::TrackCtx -) -> BoxFuture<'a, Result<usize>>
where - I: IntoIterator<Item = (E::Key, E)> + Send + 'a, - I::IntoIter: Send,

Object Safety§

This trait is not object safe.

Implementors§

source§

impl<'a, 'b, E> InsertIfChanged<E> for TblTransaction<'a, 'b, E>
where - E: Entity + EntityAccessor + PartialEq, +) -> BoxFuture<'a, Result<usize>>
where + I: IntoIterator<Item = (E::Key, E)> + Send + 'a, + I::IntoIter: Send,

Object Safety§

This trait is not object safe.

Implementors§

source§

impl<'a, 'b, E> InsertIfChanged<E> for TblTransaction<'a, 'b, E>
where + E: Entity + EntityAccessor + PartialEq, Self: Get<E> + Insert<E>,

source§

impl<'a, E> InsertIfChanged<E> for CtxTransaction<'a>
where Ctx: AsRefAsync<E::Tbl>, E: Entity + EntityAccessor + LogAccessor, diff --git a/storm/trait.InsertMut.html b/storm/trait.InsertMut.html index ebebae17..0b302add 100644 --- a/storm/trait.InsertMut.html +++ b/storm/trait.InsertMut.html @@ -1,4 +1,4 @@ -InsertMut in storm - Rust +InsertMut in storm - Rust

Trait storm::InsertMut

source ·
pub trait InsertMut<E: Entity> {
     // Required methods
     fn insert_mut<'a>(
@@ -11,10 +11,10 @@
         &'a mut self,
         iter: I,
         track: &'a E::TrackCtx
-    ) -> BoxFuture<'a, Result<usize>>
-       where I: IntoIterator<Item = (E::Key, E)> + Send + 'a,
-             I::IntoIter: Send,
-             Self: Send;
+    ) -> BoxFuture<'a, Result<usize>>
+       where I: IntoIterator<Item = (E::Key, E)> + Send + 'a,
+             I::IntoIter: Send,
+             Self: Send;
 }

Required Methods§

source

fn insert_mut<'a>( &'a mut self, k: E::Key, @@ -24,13 +24,13 @@ &'a mut self, iter: I, track: &'a E::TrackCtx -) -> BoxFuture<'a, Result<usize>>
where - I: IntoIterator<Item = (E::Key, E)> + Send + 'a, - I::IntoIter: Send, - Self: Send,

Object Safety§

This trait is not object safe.

Implementors§

source§

impl<'a, 'b, E> InsertMut<E> for TblTransaction<'a, 'b, E>
where +) -> BoxFuture<'a, Result<usize>>
where + I: IntoIterator<Item = (E::Key, E)> + Send + 'a, + I::IntoIter: Send, + Self: Send,

Object Safety§

This trait is not object safe.

Implementors§

source§

impl<'a, 'b, E> InsertMut<E> for TblTransaction<'a, 'b, E>
where for<'c> TransactionProvider<'c>: UpsertMut<E>, E: Entity + EntityAccessor + LogAccessor, - E::Key: Clone + Eq + Hash, + E::Key: Clone + Eq + Hash, E::Tbl: Get<E>,

source§

impl<'a, E> InsertMut<E> for CtxTransaction<'a>
where Ctx: AsRefAsync<E::Tbl>, E: Entity + EntityAccessor + LogAccessor, diff --git a/storm/trait.InsertMutIfChanged.html b/storm/trait.InsertMutIfChanged.html index 1b8b8481..dc08a777 100644 --- a/storm/trait.InsertMutIfChanged.html +++ b/storm/trait.InsertMutIfChanged.html @@ -1,4 +1,4 @@ -InsertMutIfChanged in storm - Rust +InsertMutIfChanged in storm - Rust
pub trait InsertMutIfChanged<E: Entity> {
     // Required methods
     fn insert_mut_if_changed<'a>(
@@ -11,9 +11,9 @@
         &'a mut self,
         iter: I,
         track: &'a E::TrackCtx
-    ) -> BoxFuture<'a, Result<usize>>
-       where I: IntoIterator<Item = (E::Key, E)> + Send + 'a,
-             I::IntoIter: Send;
+    ) -> BoxFuture<'a, Result<usize>>
+       where I: IntoIterator<Item = (E::Key, E)> + Send + 'a,
+             I::IntoIter: Send;
 }

Required Methods§

source

fn insert_mut_if_changed<'a>( &'a mut self, k: E::Key, @@ -23,10 +23,10 @@ &'a mut self, iter: I, track: &'a E::TrackCtx -) -> BoxFuture<'a, Result<usize>>
where - I: IntoIterator<Item = (E::Key, E)> + Send + 'a, - I::IntoIter: Send,

Object Safety§

This trait is not object safe.

Implementors§

source§

impl<'a, 'b, E> InsertMutIfChanged<E> for TblTransaction<'a, 'b, E>
where - E: Entity + EntityAccessor + PartialEq, +) -> BoxFuture<'a, Result<usize>>
where + I: IntoIterator<Item = (E::Key, E)> + Send + 'a, + I::IntoIter: Send,

Object Safety§

This trait is not object safe.

Implementors§

source§

impl<'a, 'b, E> InsertMutIfChanged<E> for TblTransaction<'a, 'b, E>
where + E: Entity + EntityAccessor + PartialEq, Self: Get<E> + InsertMut<E>,

source§

impl<'a, E> InsertMutIfChanged<E> for CtxTransaction<'a>
where Ctx: AsRefAsync<E::Tbl>, E: Entity + EntityAccessor + LogAccessor, diff --git a/storm/trait.IsDefined.html b/storm/trait.IsDefined.html index 9a203b93..928d0a1e 100644 --- a/storm/trait.IsDefined.html +++ b/storm/trait.IsDefined.html @@ -1,10 +1,10 @@ -IsDefined in storm - Rust +IsDefined in storm - Rust

Trait storm::IsDefined

source ·
pub trait IsDefined {
     // Required method
-    fn is_defined(&self) -> bool;
+    fn is_defined(&self) -> bool;
 }
Expand description

Indicate if a key is not zero. This trait must be implemented on keys used by the UpsertMut when a key is flagged as Identity (MS SQL). In such a case, the provider will check that property to determine if the entity must be inserted or updated.

-

Required Methods§

source

fn is_defined(&self) -> bool

Implementations on Foreign Types§

source§

impl IsDefined for i8

source§

impl IsDefined for i16

source§

impl IsDefined for i32

source§

impl IsDefined for i64

source§

impl IsDefined for isize

source§

impl IsDefined for u8

source§

impl IsDefined for u16

source§

impl IsDefined for u32

source§

impl IsDefined for u64

source§

impl IsDefined for usize

source§

impl<T> IsDefined for Option<T>
where - T: IsDefined,

Implementors§

\ No newline at end of file +

Required Methods§

source

fn is_defined(&self) -> bool

Implementations on Foreign Types§

source§

impl IsDefined for i8

source§

impl IsDefined for i16

source§

impl IsDefined for i32

source§

impl IsDefined for i64

source§

impl IsDefined for isize

source§

impl IsDefined for u8

source§

impl IsDefined for u16

source§

impl IsDefined for u32

source§

impl IsDefined for u64

source§

impl IsDefined for usize

source§

impl<T> IsDefined for Option<T>
where + T: IsDefined,

Implementors§

\ No newline at end of file diff --git a/storm/trait.IteratorExt.html b/storm/trait.IteratorExt.html index 1ae34099..01e59d77 100644 --- a/storm/trait.IteratorExt.html +++ b/storm/trait.IteratorExt.html @@ -1,56 +1,56 @@ -IteratorExt in storm - Rust -

Trait storm::IteratorExt

source ·
pub trait IteratorExt: Iterator {
+IteratorExt in storm - Rust
+    

Trait storm::IteratorExt

source ·
pub trait IteratorExt: Iterator {
     // Provided methods
     fn insert_all<'a, 'b, E>(
         self,
         trx: &'b mut CtxTransaction<'a>,
         track: &'b E::TrackCtx
-    ) -> BoxFuture<'b, Result<usize>>
+    ) -> BoxFuture<'b, Result<usize>>
        where CtxTransaction<'a>: Insert<E>,
              E: Entity,
-             Self: Iterator<Item = (E::Key, E)> + Sized + Send + 'b,
+             Self: Iterator<Item = (E::Key, E)> + Sized + Send + 'b,
              'a: 'b { ... }
     fn insert_mut_all<'a, 'b, E>(
         self,
         trx: &'b mut CtxTransaction<'a>,
         track: &'b E::TrackCtx
-    ) -> BoxFuture<'b, Result<usize>>
+    ) -> BoxFuture<'b, Result<usize>>
        where CtxTransaction<'a>: InsertMut<E>,
              E: Entity,
-             Self: Iterator<Item = (E::Key, E)> + Sized + Send + 'b,
+             Self: Iterator<Item = (E::Key, E)> + Sized + Send + 'b,
              'a: 'b { ... }
     fn remove_all<'a, 'b, E>(
         self,
         trx: &'b mut CtxTransaction<'a>,
         track: &'b E::TrackCtx
-    ) -> BoxFuture<'b, Result<usize>>
+    ) -> BoxFuture<'b, Result<usize>>
        where CtxTransaction<'a>: Remove<E>,
              E: Entity,
-             Self: Iterator<Item = E::Key> + Sized + Send + 'b,
+             Self: Iterator<Item = E::Key> + Sized + Send + 'b,
              'a: 'b { ... }
 }

Provided Methods§

source

fn insert_all<'a, 'b, E>( self, trx: &'b mut CtxTransaction<'a>, track: &'b E::TrackCtx -) -> BoxFuture<'b, Result<usize>>
where +) -> BoxFuture<'b, Result<usize>>
where CtxTransaction<'a>: Insert<E>, E: Entity, - Self: Iterator<Item = (E::Key, E)> + Sized + Send + 'b, + Self: Iterator<Item = (E::Key, E)> + Sized + Send + 'b, 'a: 'b,

source

fn insert_mut_all<'a, 'b, E>( self, trx: &'b mut CtxTransaction<'a>, track: &'b E::TrackCtx -) -> BoxFuture<'b, Result<usize>>
where +) -> BoxFuture<'b, Result<usize>>
where CtxTransaction<'a>: InsertMut<E>, E: Entity, - Self: Iterator<Item = (E::Key, E)> + Sized + Send + 'b, + Self: Iterator<Item = (E::Key, E)> + Sized + Send + 'b, 'a: 'b,

source

fn remove_all<'a, 'b, E>( self, trx: &'b mut CtxTransaction<'a>, track: &'b E::TrackCtx -) -> BoxFuture<'b, Result<usize>>
where +) -> BoxFuture<'b, Result<usize>>
where CtxTransaction<'a>: Remove<E>, E: Entity, - Self: Iterator<Item = E::Key> + Sized + Send + 'b, + Self: Iterator<Item = E::Key> + Sized + Send + 'b, 'a: 'b,

Implementors§

source§

impl<T> IteratorExt for T
where - T: Iterator,

\ No newline at end of file + T: Iterator,

\ No newline at end of file diff --git a/storm/trait.LogAccessor.html b/storm/trait.LogAccessor.html index 0b725669..2d99ace5 100644 --- a/storm/trait.LogAccessor.html +++ b/storm/trait.LogAccessor.html @@ -1,5 +1,5 @@ -LogAccessor in storm - Rust -

Trait storm::LogAccessor

source ·
pub trait LogAccessor: Entity + Sized + 'static {
+LogAccessor in storm - Rust
+    

Trait storm::LogAccessor

source ·
pub trait LogAccessor: Entity + Sized + 'static {
     // Required method
     fn log_var() -> LogVar<Log<Self>>;
-}

Required Methods§

source

fn log_var() -> LogVar<Log<Self>>

Object Safety§

This trait is not object safe.

Implementors§

\ No newline at end of file +}

Required Methods§

source

fn log_var() -> LogVar<Log<Self>>

Object Safety§

This trait is not object safe.

Implementors§

\ No newline at end of file diff --git a/storm/trait.NotifyTag.html b/storm/trait.NotifyTag.html index c5d19eae..dda76aba 100644 --- a/storm/trait.NotifyTag.html +++ b/storm/trait.NotifyTag.html @@ -1,4 +1,4 @@ -NotifyTag in storm - Rust +NotifyTag in storm - Rust

Trait storm::NotifyTag

source ·
pub trait NotifyTag {
     // Required method
     fn notify_tag(&mut self);
diff --git a/storm/trait.OneToManyFromIter.html b/storm/trait.OneToManyFromIter.html
index bcd80451..1bf1e67a 100644
--- a/storm/trait.OneToManyFromIter.html
+++ b/storm/trait.OneToManyFromIter.html
@@ -1,36 +1,36 @@
-OneToManyFromIter in storm - Rust
-    
pub trait OneToManyFromIter<ONE, MANY>: IntoIterator<Item = (ONE, MANY)> + Sized
where - ONE: Copy + From<usize> + Into<usize>,
{ +OneToManyFromIter in storm - Rust +
pub trait OneToManyFromIter<ONE, MANY>: IntoIterator<Item = (ONE, MANY)> + Sized
where + ONE: Copy + From<usize> + Into<usize>,
{ // Provided methods fn collect_sort<F>(self) -> OneToMany<ONE, MANY> - where MANY: Ord { ... } + where MANY: Ord { ... } fn collect_sort_by<F>(self, cmp: F) -> OneToMany<ONE, MANY> - where F: Fn(&MANY, &MANY) -> Ordering { ... } + where F: Fn(&MANY, &MANY) -> Ordering { ... } fn collect_sort_by_key<F, K>(self, key_cmp: F) -> OneToMany<ONE, MANY> - where F: Fn(&MANY) -> K, - K: Ord { ... } + where F: Fn(&MANY) -> K, + K: Ord { ... } fn collect_sort_dedup(self) -> OneToMany<ONE, MANY> - where MANY: Ord { ... } + where MANY: Ord { ... } fn collect_sort_dedup_by<F>(self, cmp: F) -> OneToMany<ONE, MANY> - where F: Fn(&MANY, &MANY) -> Ordering { ... } + where F: Fn(&MANY, &MANY) -> Ordering { ... } fn collect_sort_dedup_by_key<F, K>(self, key_cmp: F) -> OneToMany<ONE, MANY> - where F: Fn(&MANY) -> K, - K: Ord { ... } + where F: Fn(&MANY) -> K, + K: Ord { ... } }

Provided Methods§

source

fn collect_sort<F>(self) -> OneToMany<ONE, MANY>
where - MANY: Ord,

Collect the items and sort them.

+ MANY: Ord,

Collect the items and sort them.

source

fn collect_sort_by<F>(self, cmp: F) -> OneToMany<ONE, MANY>
where - F: Fn(&MANY, &MANY) -> Ordering,

Collect the items and sort them by the cmp function specified.

+ F: Fn(&MANY, &MANY) -> Ordering,

Collect the items and sort them by the cmp function specified.

source

fn collect_sort_by_key<F, K>(self, key_cmp: F) -> OneToMany<ONE, MANY>
where - F: Fn(&MANY) -> K, - K: Ord,

Collect the items and sort them using a key_cmp function.

+ F: Fn(&MANY) -> K, + K: Ord,

Collect the items and sort them using a key_cmp function.

source

fn collect_sort_dedup(self) -> OneToMany<ONE, MANY>
where - MANY: Ord,

source

fn collect_sort_dedup_by<F>(self, cmp: F) -> OneToMany<ONE, MANY>
where - F: Fn(&MANY, &MANY) -> Ordering,

Collect the items and sort them by the cmp function specified. + MANY: Ord,

source

fn collect_sort_dedup_by<F>(self, cmp: F) -> OneToMany<ONE, MANY>
where + F: Fn(&MANY, &MANY) -> Ordering,

Collect the items and sort them by the cmp function specified. Also removes duplicate MANY items using the same cmp function.

source

fn collect_sort_dedup_by_key<F, K>(self, key_cmp: F) -> OneToMany<ONE, MANY>
where - F: Fn(&MANY) -> K, - K: Ord,

Collect the items and sort them by the key_cmp function specified. + F: Fn(&MANY) -> K, + K: Ord,

Collect the items and sort them by the key_cmp function specified. Also removes duplicate MANY items using the same key_cmp function.

-

Object Safety§

This trait is not object safe.

Implementors§

source§

impl<ONE, MANY, T> OneToManyFromIter<ONE, MANY> for T
where - T: IntoIterator<Item = (ONE, MANY)> + Sized, - ONE: Copy + From<usize> + Into<usize>,

\ No newline at end of file +

Object Safety§

This trait is not object safe.

Implementors§

source§

impl<ONE, MANY, T> OneToManyFromIter<ONE, MANY> for T
where + T: IntoIterator<Item = (ONE, MANY)> + Sized, + ONE: Copy + From<usize> + Into<usize>,

\ No newline at end of file diff --git a/storm/trait.Remove.html b/storm/trait.Remove.html index 657ce530..8f91cf14 100644 --- a/storm/trait.Remove.html +++ b/storm/trait.Remove.html @@ -1,32 +1,32 @@ -Remove in storm - Rust +Remove in storm - Rust

Trait storm::Remove

source ·
pub trait Remove<E: Entity> {
     // Required methods
     fn remove<'a>(
         &'a mut self,
         k: E::Key,
         track: &'a E::TrackCtx
-    ) -> BoxFuture<'a, Result<()>>;
+    ) -> BoxFuture<'a, Result<()>>;
     fn remove_all<'a, K>(
         &'a mut self,
         keys: K,
         track: &'a E::TrackCtx
-    ) -> BoxFuture<'a, Result<usize>>
-       where K: 'a + IntoIterator<Item = E::Key> + Send,
-             K::IntoIter: Send;
+    ) -> BoxFuture<'a, Result<usize>>
+       where K: 'a + IntoIterator<Item = E::Key> + Send,
+             K::IntoIter: Send;
 }

Required Methods§

source

fn remove<'a>( &'a mut self, k: E::Key, track: &'a E::TrackCtx -) -> BoxFuture<'a, Result<()>>

source

fn remove_all<'a, K>( +) -> BoxFuture<'a, Result<()>>

source

fn remove_all<'a, K>( &'a mut self, keys: K, track: &'a E::TrackCtx -) -> BoxFuture<'a, Result<usize>>
where - K: 'a + IntoIterator<Item = E::Key> + Send, - K::IntoIter: Send,

Object Safety§

This trait is not object safe.

Implementors§

source§

impl<'a, 'b, E> Remove<E> for TblTransaction<'a, 'b, E>
where +) -> BoxFuture<'a, Result<usize>>
where + K: 'a + IntoIterator<Item = E::Key> + Send, + K::IntoIter: Send,

Object Safety§

This trait is not object safe.

Implementors§

source§

impl<'a, 'b, E> Remove<E> for TblTransaction<'a, 'b, E>
where for<'c> TransactionProvider<'c>: Delete<E>, E: Entity + EntityAccessor + LogAccessor, - E::Key: Clone + Eq + Hash, + E::Key: Clone + Eq + Hash, E::Tbl: Accessor + Get<E>,

source§

impl<'a, E> Remove<E> for CtxTransaction<'a>
where Ctx: AsRefAsync<E::Tbl>, E: Entity + EntityAccessor + LogAccessor, diff --git a/storm/trait.RemovingHandler.html b/storm/trait.RemovingHandler.html index 018debde..49fc603b 100644 --- a/storm/trait.RemovingHandler.html +++ b/storm/trait.RemovingHandler.html @@ -1,4 +1,4 @@ -RemovingHandler in storm - Rust +RemovingHandler in storm - Rust
pub trait RemovingHandler<E: Entity> {
     // Required method
     fn handle_removing<'a>(
@@ -6,11 +6,11 @@
         trx: &'a mut CtxTransaction<'_>,
         key: &'a E::Key,
         track_ctx: &'a E::TrackCtx
-    ) -> BoxFuture<'a, Result<()>>;
+    ) -> BoxFuture<'a, Result<()>>;
 }

Required Methods§

source

fn handle_removing<'a>( &'a self, trx: &'a mut CtxTransaction<'_>, key: &'a E::Key, track_ctx: &'a E::TrackCtx -) -> BoxFuture<'a, Result<()>>

Implementors§

source§

impl<E: Entity, T> RemovingHandler<E> for T
where - T: for<'a> Fn(&'a mut CtxTransaction<'_>, &'a E::Key, &'a E::TrackCtx) -> BoxFuture<'a, Result<()>>,

\ No newline at end of file +) -> BoxFuture<'a, Result<()>>

Implementors§

source§

impl<E: Entity, T> RemovingHandler<E> for T
where + T: for<'a> Fn(&'a mut CtxTransaction<'_>, &'a E::Key, &'a E::TrackCtx) -> BoxFuture<'a, Result<()>>,

\ No newline at end of file diff --git a/storm/trait.Tag.html b/storm/trait.Tag.html index c23aa821..25c0685f 100644 --- a/storm/trait.Tag.html +++ b/storm/trait.Tag.html @@ -1,6 +1,6 @@ -Tag in storm - Rust +Tag in storm - Rust

Trait storm::Tag

source ·
pub trait Tag {
     // Required method
     fn tag(&self) -> VersionTag;
-}

Required Methods§

source

fn tag(&self) -> VersionTag

Implementations on Foreign Types§

source§

impl<T: Tag> Tag for &T

source§

fn tag(&self) -> VersionTag

Implementors§

source§

impl<'a, L> Tag for CtxLocks<'a, L>
where +}

Required Methods§

source

fn tag(&self) -> VersionTag

Implementations on Foreign Types§

source§

impl<T: Tag> Tag for &T

source§

fn tag(&self) -> VersionTag

Implementors§

source§

impl<'a, L> Tag for CtxLocks<'a, L>
where L: Tag,

source§

impl<E: Entity> Tag for HashTable<E>

source§

impl<E: Entity> Tag for VecTable<E>

\ No newline at end of file diff --git a/storm/trait.Transaction.html b/storm/trait.Transaction.html index a7c3c5ac..e5963bdb 100644 --- a/storm/trait.Transaction.html +++ b/storm/trait.Transaction.html @@ -1,4 +1,4 @@ -Transaction in storm - Rust +Transaction in storm - Rust

Trait storm::Transaction

source ·
pub trait Transaction {
     // Required method
     fn transaction(&self) -> CtxTransaction<'_>;
diff --git a/storm/type.BoxFuture.html b/storm/type.BoxFuture.html
index 6560263d..75495f0f 100644
--- a/storm/type.BoxFuture.html
+++ b/storm/type.BoxFuture.html
@@ -1,2 +1,2 @@
-BoxFuture in storm - Rust
-    

Type Alias storm::BoxFuture

source ·
pub type BoxFuture<'a, T> = Pin<Box<dyn Future<Output = T> + Send + 'a>>;

Aliased Type§

struct BoxFuture<'a, T> { /* private fields */ }
\ No newline at end of file +BoxFuture in storm - Rust +

Type Alias storm::BoxFuture

source ·
pub type BoxFuture<'a, T> = Pin<Box<dyn Future<Output = T> + Send + 'a>>;

Aliased Type§

struct BoxFuture<'a, T> { /* private fields */ }
\ No newline at end of file diff --git a/storm/type.Deps.html b/storm/type.Deps.html index 625b17d9..95632463 100644 --- a/storm/type.Deps.html +++ b/storm/type.Deps.html @@ -1,2 +1,2 @@ -Deps in storm - Rust -

Type Alias storm::Deps

source ·
pub type Deps = RwLock<Vec<Box<dyn Fn(&mut Vars) + Send + Sync>>>;

Aliased Type§

struct Deps { /* private fields */ }
\ No newline at end of file +Deps in storm - Rust +

Type Alias storm::Deps

source ·
pub type Deps = RwLock<Vec<Box<dyn Fn(&mut Vars) + Send + Sync>>>;

Aliased Type§

struct Deps { /* private fields */ }
\ No newline at end of file diff --git a/storm/type.Log.html b/storm/type.Log.html index 27496e12..9d653ced 100644 --- a/storm/type.Log.html +++ b/storm/type.Log.html @@ -1,2 +1,2 @@ -Log in storm - Rust +Log in storm - Rust

Type Alias storm::Log

source ·
pub type Log<E> = FxHashMap<<E as Entity>::Key, LogState<E>>;

Aliased Type§

struct Log<E> { /* private fields */ }
\ No newline at end of file diff --git a/storm/type.LogVar.html b/storm/type.LogVar.html index b519471c..7d3bfe9d 100644 --- a/storm/type.LogVar.html +++ b/storm/type.LogVar.html @@ -1,2 +1,2 @@ -LogVar in storm - Rust +LogVar in storm - Rust

Type Alias storm::LogVar

source ·
pub type LogVar<T> = Var<T, Log>;

Aliased Type§

struct LogVar<T> { /* private fields */ }
\ No newline at end of file diff --git a/storm/type.LogsVar.html b/storm/type.LogsVar.html index 2c5cceb3..d8872159 100644 --- a/storm/type.LogsVar.html +++ b/storm/type.LogsVar.html @@ -1,2 +1,2 @@ -LogsVar in storm - Rust +LogsVar in storm - Rust

Type Alias storm::LogsVar

source ·
pub type LogsVar = Container<Log>;

Aliased Type§

struct LogsVar { /* private fields */ }
\ No newline at end of file diff --git a/storm/type.Result.html b/storm/type.Result.html index e438ceef..2bc72379 100644 --- a/storm/type.Result.html +++ b/storm/type.Result.html @@ -1,5 +1,5 @@ -Result in storm - Rust -

Type Alias storm::Result

source ·
pub type Result<T> = Result<T, Error>;

Aliased Type§

enum Result<T> {
+Result in storm - Rust
+    

Type Alias storm::Result

source ·
pub type Result<T> = Result<T, Error>;

Aliased Type§

enum Result<T> {
     Ok(T),
     Err(Error),
 }

Variants§

§1.0.0

Ok(T)

Contains the success value

diff --git a/storm/type.TblVar.html b/storm/type.TblVar.html index e40aaa03..8edcb078 100644 --- a/storm/type.TblVar.html +++ b/storm/type.TblVar.html @@ -1,2 +1,2 @@ -TblVar in storm - Rust +TblVar in storm - Rust

Type Alias storm::TblVar

source ·
pub type TblVar<T> = Var<T, Tbl>;

Aliased Type§

struct TblVar<T> { /* private fields */ }
\ No newline at end of file diff --git a/storm/type.Vars.html b/storm/type.Vars.html index 2a2376b4..24b7c1c2 100644 --- a/storm/type.Vars.html +++ b/storm/type.Vars.html @@ -1,2 +1,2 @@ -Vars in storm - Rust +Vars in storm - Rust

Type Alias storm::Vars

source ·
pub type Vars = Container<Tbl>;

Aliased Type§

struct Vars { /* private fields */ }
\ No newline at end of file diff --git a/storm/vars/index.html b/storm/vars/index.html index 856e862b..0ead56af 100644 --- a/storm/vars/index.html +++ b/storm/vars/index.html @@ -1,2 +1,2 @@ -storm::vars - Rust -
\ No newline at end of file +storm::vars - Rust +

Module storm::vars

source ·

Structs§

\ No newline at end of file diff --git a/storm/vars/struct.Log.html b/storm/vars/struct.Log.html index 2f39bbd7..10c43cad 100644 --- a/storm/vars/struct.Log.html +++ b/storm/vars/struct.Log.html @@ -1,18 +1,18 @@ -Log in storm::vars - Rust -

Struct storm::vars::Log

source ·
pub struct Log;

Trait Implementations§

source§

impl VarRegister for Log

source§

fn register() -> &'static Register

Auto Trait Implementations§

§

impl RefUnwindSafe for Log

§

impl Send for Log

§

impl Sync for Log

§

impl Unpin for Log

§

impl UnwindSafe for Log

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where - T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where - T: ?Sized,

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+Log in storm::vars - Rust +

Struct storm::vars::Log

source ·
pub struct Log;

Trait Implementations§

source§

impl VarRegister for Log

source§

fn register() -> &'static Register

Auto Trait Implementations§

§

impl RefUnwindSafe for Log

§

impl Send for Log

§

impl Sync for Log

§

impl Unpin for Log

§

impl UnwindSafe for Log

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where + T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where + T: ?Sized,

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> FromRefOpt<U> for T
where - U: AsRefOpt<T>,

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an + U: AsRefOpt<T>,
§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where - U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where + U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

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

-
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where - S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

+
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where + S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
\ No newline at end of file diff --git a/storm/vars/struct.Tbl.html b/storm/vars/struct.Tbl.html index cd0acc1c..772c3faf 100644 --- a/storm/vars/struct.Tbl.html +++ b/storm/vars/struct.Tbl.html @@ -1,18 +1,18 @@ -Tbl in storm::vars - Rust -

Struct storm::vars::Tbl

source ·
pub struct Tbl;

Trait Implementations§

source§

impl VarRegister for Tbl

source§

fn register() -> &'static Register

Auto Trait Implementations§

§

impl RefUnwindSafe for Tbl

§

impl Send for Tbl

§

impl Sync for Tbl

§

impl Unpin for Tbl

§

impl UnwindSafe for Tbl

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where - T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where - T: ?Sized,

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+Tbl in storm::vars - Rust +

Struct storm::vars::Tbl

source ·
pub struct Tbl;

Trait Implementations§

source§

impl VarRegister for Tbl

source§

fn register() -> &'static Register

Auto Trait Implementations§

§

impl RefUnwindSafe for Tbl

§

impl Send for Tbl

§

impl Sync for Tbl

§

impl Unpin for Tbl

§

impl UnwindSafe for Tbl

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where + T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where + T: ?Sized,

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> FromRefOpt<U> for T
where - U: AsRefOpt<T>,

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an + U: AsRefOpt<T>,
§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where - U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where + U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

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

-
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where - S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

+
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where + S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
\ No newline at end of file diff --git a/storm_derive/all.html b/storm_derive/all.html index 7dc03ba4..6de4ddca 100644 --- a/storm_derive/all.html +++ b/storm_derive/all.html @@ -1,2 +1,2 @@ -List of all items in this crate +List of all items in this crate
\ No newline at end of file diff --git a/storm_derive/attr.indexing.html b/storm_derive/attr.indexing.html index ded510ab..f05c514c 100644 --- a/storm_derive/attr.indexing.html +++ b/storm_derive/attr.indexing.html @@ -1,2 +1,2 @@ -indexing in storm_derive - Rust +indexing in storm_derive - Rust

Attribute Macro storm_derive::indexing

source ·
#[indexing]
\ No newline at end of file diff --git a/storm_derive/derive.Ctx.html b/storm_derive/derive.Ctx.html index a7667cf6..910693e7 100644 --- a/storm_derive/derive.Ctx.html +++ b/storm_derive/derive.Ctx.html @@ -1,4 +1,4 @@ -Ctx in storm_derive - Rust +Ctx in storm_derive - Rust

Derive Macro storm_derive::Ctx

source ·
#[derive(Ctx)]
 {
     // Attributes available to this derive:
diff --git a/storm_derive/derive.LocksAwait.html b/storm_derive/derive.LocksAwait.html
index e4411a41..cc88f369 100644
--- a/storm_derive/derive.LocksAwait.html
+++ b/storm_derive/derive.LocksAwait.html
@@ -1,4 +1,4 @@
-LocksAwait in storm_derive - Rust
+LocksAwait in storm_derive - Rust
     

Derive Macro storm_derive::LocksAwait

source ·
#[derive(LocksAwait)]
 {
     // Attributes available to this derive:
diff --git a/storm_derive/derive.MssqlDelete.html b/storm_derive/derive.MssqlDelete.html
index c939737c..4e7de4b1 100644
--- a/storm_derive/derive.MssqlDelete.html
+++ b/storm_derive/derive.MssqlDelete.html
@@ -1,4 +1,4 @@
-MssqlDelete in storm_derive - Rust
+MssqlDelete in storm_derive - Rust
     

Derive Macro storm_derive::MssqlDelete

source ·
#[derive(MssqlDelete)]
 {
     // Attributes available to this derive:
diff --git a/storm_derive/derive.MssqlLoad.html b/storm_derive/derive.MssqlLoad.html
index b093a29f..8b12235b 100644
--- a/storm_derive/derive.MssqlLoad.html
+++ b/storm_derive/derive.MssqlLoad.html
@@ -1,4 +1,4 @@
-MssqlLoad in storm_derive - Rust
+MssqlLoad in storm_derive - Rust
     

Derive Macro storm_derive::MssqlLoad

source ·
#[derive(MssqlLoad)]
 {
     // Attributes available to this derive:
diff --git a/storm_derive/derive.MssqlSave.html b/storm_derive/derive.MssqlSave.html
index 109d0493..2693d0e9 100644
--- a/storm_derive/derive.MssqlSave.html
+++ b/storm_derive/derive.MssqlSave.html
@@ -1,4 +1,4 @@
-MssqlSave in storm_derive - Rust
+MssqlSave in storm_derive - Rust
     

Derive Macro storm_derive::MssqlSave

source ·
#[derive(MssqlSave)]
 {
     // Attributes available to this derive:
diff --git a/storm_derive/derive.NoopDelete.html b/storm_derive/derive.NoopDelete.html
index 114294fe..8e01402d 100644
--- a/storm_derive/derive.NoopDelete.html
+++ b/storm_derive/derive.NoopDelete.html
@@ -1,2 +1,2 @@
-NoopDelete in storm_derive - Rust
+NoopDelete in storm_derive - Rust
     

Derive Macro storm_derive::NoopDelete

source ·
#[derive(NoopDelete)]
\ No newline at end of file diff --git a/storm_derive/derive.NoopLoad.html b/storm_derive/derive.NoopLoad.html index 77d1ffc6..eb89ac35 100644 --- a/storm_derive/derive.NoopLoad.html +++ b/storm_derive/derive.NoopLoad.html @@ -1,2 +1,2 @@ -NoopLoad in storm_derive - Rust +NoopLoad in storm_derive - Rust

Derive Macro storm_derive::NoopLoad

source ·
#[derive(NoopLoad)]
\ No newline at end of file diff --git a/storm_derive/derive.NoopSave.html b/storm_derive/derive.NoopSave.html index f0063b05..7ce5b84e 100644 --- a/storm_derive/derive.NoopSave.html +++ b/storm_derive/derive.NoopSave.html @@ -1,2 +1,2 @@ -NoopSave in storm_derive - Rust +NoopSave in storm_derive - Rust

Derive Macro storm_derive::NoopSave

source ·
#[derive(NoopSave)]
\ No newline at end of file diff --git a/storm_derive/index.html b/storm_derive/index.html index 5ebe01a2..8d9cbfde 100644 --- a/storm_derive/index.html +++ b/storm_derive/index.html @@ -1,3 +1,3 @@ -storm_derive - Rust

Variants§

§

AlreadyInTransaction

§

AsyncCellLock(Error)

§

ClientInError

§

ColumnNull

§

ConvertFailed(String)

§

EntityNotFound

§

Internal

§

NotInTransaction

§

ProviderNotFound

§

Std(Box<dyn Error + Send + Sync>)

§

Str(&'static str)

§

String(String)

§

Mssql(Error)

Implementations§

§

impl Error

pub fn as_mssql(&self) -> Option<&Error>

pub fn std<E>(e: E) -> Error
where + E: Into<Box<dyn Error + Send + Sync>>,

Trait Implementations§

§

impl Debug for Error

§

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

Formats the value using the given formatter. Read more
§

impl Display for Error

§

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

Formats the value using the given formatter. Read more
§

impl Error for Error

1.30.0 · source§

fn source(&self) -> Option<&(dyn Error + 'static)>

The lower-level source of this error, if any. Read more
1.0.0 · source§

fn description(&self) -> &str

👎Deprecated since 1.42.0: use the Display impl or to_string()
1.0.0 · source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type based access to context intended for error reports. Read more
§

impl From<Box<dyn Error + Send + Sync>> for Error

§

fn from(b: Box<dyn Error + Send + Sync>) -> Error

Converts to this type from the input type.
§

impl From<Error> for Error

§

fn from(e: Error) -> Error

Converts to this type from the input type.
§

impl From<Error> for Error

§

fn from(e: Error) -> Error

Converts to this type from the input type.

Auto Trait Implementations§

§

impl !RefUnwindSafe for Error

§

impl Send for Error

§

impl Sync for Error

§

impl Unpin for Error

§

impl !UnwindSafe for Error

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where + T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where + T: ?Sized,

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T, U> FromRefOpt<U> for T
where - U: AsRefOpt<T>,

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an + U: AsRefOpt<T>,
§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where - U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where + U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

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

-
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> ToString for T
where - T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. Read more
source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where - S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

+
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> ToString for T
where + T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. Read more
source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where + S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
\ No newline at end of file diff --git a/storm_mssql/fn.apply_field_diff_impl.html b/storm_mssql/fn.apply_field_diff_impl.html index d0eb7b02..45ccfe2d 100644 --- a/storm_mssql/fn.apply_field_diff_impl.html +++ b/storm_mssql/fn.apply_field_diff_impl.html @@ -1,5 +1,5 @@ -apply_field_diff_impl in storm_mssql - Rust +apply_field_diff_impl in storm_mssql - Rust
pub fn apply_field_diff_impl<T: for<'de> Deserialize<'de>>(
-    v: &mut T,
+    v: &mut T,
     value: Value
-) -> Result<()>
\ No newline at end of file +) -> Result<()>
\ No newline at end of file diff --git a/storm_mssql/fn.create_provider_container_from_env.html b/storm_mssql/fn.create_provider_container_from_env.html index 01933ca9..970baddd 100644 --- a/storm_mssql/fn.create_provider_container_from_env.html +++ b/storm_mssql/fn.create_provider_container_from_env.html @@ -1,5 +1,5 @@ -create_provider_container_from_env in storm_mssql - Rust -
pub fn create_provider_container_from_env(
-    env_var: &str,
-    name: &str
+create_provider_container_from_env in storm_mssql - Rust
+    
pub fn create_provider_container_from_env(
+    env_var: &str,
+    name: &str
 ) -> Result<ProviderContainer>
\ No newline at end of file diff --git a/storm_mssql/fn.field_diff_impl.html b/storm_mssql/fn.field_diff_impl.html index 0a7991e1..7cbb6e2d 100644 --- a/storm_mssql/fn.field_diff_impl.html +++ b/storm_mssql/fn.field_diff_impl.html @@ -1,5 +1,5 @@ -field_diff_impl in storm_mssql - Rust -
pub fn field_diff_impl<T: PartialEq + Serialize>(
-    new: &T,
-    old: &T
-) -> Option<Value>
\ No newline at end of file +field_diff_impl in storm_mssql - Rust +
pub fn field_diff_impl<T: PartialEq + Serialize>(
+    new: &T,
+    old: &T
+) -> Option<Value>
\ No newline at end of file diff --git a/storm_mssql/fn.from_field_diff_impl.html b/storm_mssql/fn.from_field_diff_impl.html index b9a2c684..65234205 100644 --- a/storm_mssql/fn.from_field_diff_impl.html +++ b/storm_mssql/fn.from_field_diff_impl.html @@ -1,4 +1,4 @@ -from_field_diff_impl in storm_mssql - Rust +from_field_diff_impl in storm_mssql - Rust
pub fn from_field_diff_impl<T: for<'de> Deserialize<'de>>(
     value: Value
 ) -> Result<T>
\ No newline at end of file diff --git a/storm_mssql/fn.into_column_data_static.html b/storm_mssql/fn.into_column_data_static.html index 482b4161..cb708381 100644 --- a/storm_mssql/fn.into_column_data_static.html +++ b/storm_mssql/fn.into_column_data_static.html @@ -1,2 +1,2 @@ -into_column_data_static in storm_mssql - Rust +into_column_data_static in storm_mssql - Rust
pub fn into_column_data_static(data: &ColumnData<'_>) -> ColumnData<'static>
\ No newline at end of file diff --git a/storm_mssql/index.html b/storm_mssql/index.html index b66d97fb..eafbb10a 100644 --- a/storm_mssql/index.html +++ b/storm_mssql/index.html @@ -1,5 +1,5 @@ -storm_mssql - Rust

Fields§

§use_transaction: bool

Trait Implementations§

source§

impl Clone for ExecuteArgs

source§

fn clone(&self) -> ExecuteArgs

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for ExecuteArgs

source§

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

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

impl Default for ExecuteArgs

source§

fn default() -> Self

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

impl Copy for ExecuteArgs

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where + T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where + T: ?Sized,

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T, U> FromRefOpt<U> for T
where - U: AsRefOpt<T>,

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an + U: AsRefOpt<T>,
§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where - U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where + U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

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

-
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> ToOwned for T
where - T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

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

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where - S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

+
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> ToOwned for T
where + T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

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

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where + S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
\ No newline at end of file diff --git a/storm_mssql/struct.KeysFilter.html b/storm_mssql/struct.KeysFilter.html index 4b51b4a4..2001997b 100644 --- a/storm_mssql/struct.KeysFilter.html +++ b/storm_mssql/struct.KeysFilter.html @@ -1,26 +1,26 @@ -KeysFilter in storm_mssql - Rust -

Struct storm_mssql::KeysFilter

source ·
pub struct KeysFilter<'a, K>(pub &'a str, pub &'a [K]);

Tuple Fields§

§0: &'a str§1: &'a [K]

Trait Implementations§

source§

impl<'a, K> FilterSql for KeysFilter<'a, K>
where +KeysFilter in storm_mssql - Rust +

Struct storm_mssql::KeysFilter

source ·
pub struct KeysFilter<'a, K>(pub &'a str, pub &'a [K]);

Tuple Fields§

§0: &'a str§1: &'a [K]

Trait Implementations§

source§

impl<'a, K> FilterSql for KeysFilter<'a, K>
where K: ToSql,

source§

fn filter_sql( &self, - param_index: usize -) -> (Cow<'_, str>, Cow<'_, [&dyn ToSql]>)

Auto Trait Implementations§

§

impl<'a, K> RefUnwindSafe for KeysFilter<'a, K>
where - K: RefUnwindSafe,

§

impl<'a, K> Send for KeysFilter<'a, K>
where - K: Sync,

§

impl<'a, K> Sync for KeysFilter<'a, K>
where - K: Sync,

§

impl<'a, K> Unpin for KeysFilter<'a, K>

§

impl<'a, K> UnwindSafe for KeysFilter<'a, K>
where - K: RefUnwindSafe,

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where - T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where - T: ?Sized,

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+ param_index: usize +) -> (Cow<'_, str>, Cow<'_, [&dyn ToSql]>)

Auto Trait Implementations§

§

impl<'a, K> RefUnwindSafe for KeysFilter<'a, K>
where + K: RefUnwindSafe,

§

impl<'a, K> Send for KeysFilter<'a, K>
where + K: Sync,

§

impl<'a, K> Sync for KeysFilter<'a, K>
where + K: Sync,

§

impl<'a, K> Unpin for KeysFilter<'a, K>

§

impl<'a, K> UnwindSafe for KeysFilter<'a, K>
where + K: RefUnwindSafe,

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where + T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where + T: ?Sized,

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T, U> FromRefOpt<U> for T
where - U: AsRefOpt<T>,

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an + U: AsRefOpt<T>,
§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where - U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where + U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

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

-
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where - S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

+
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where + S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
\ No newline at end of file diff --git a/storm_mssql/struct.MssqlFactory.html b/storm_mssql/struct.MssqlFactory.html index 58f5d179..9a3a6c50 100644 --- a/storm_mssql/struct.MssqlFactory.html +++ b/storm_mssql/struct.MssqlFactory.html @@ -1,19 +1,19 @@ -MssqlFactory in storm_mssql - Rust +MssqlFactory in storm_mssql - Rust
pub struct MssqlFactory(pub Config);

Tuple Fields§

§0: Config

Implementations§

source§

impl MssqlFactory

source

pub fn from_env<K>(var_name: K) -> Result<Self>
where - K: AsRef<OsStr>,

Trait Implementations§

source§

impl From<MssqlFactory> for TransactionScoped<MssqlFactory>

source§

fn from(f: MssqlFactory) -> Self

Converts to this type from the input type.
source§

impl ProviderFactory for MssqlFactory

§

type Provider = MssqlProvider

source§

fn create_provider(&self) -> BoxFuture<'_, Result<Self::Provider>>

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where - T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where - T: ?Sized,

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+ K: AsRef<OsStr>,

Trait Implementations§

source§

impl From<MssqlFactory> for TransactionScoped<MssqlFactory>

source§

fn from(f: MssqlFactory) -> Self

Converts to this type from the input type.
source§

impl ProviderFactory for MssqlFactory

§

type Provider = MssqlProvider

source§

fn create_provider(&self) -> BoxFuture<'_, Result<Self::Provider>>

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where + T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where + T: ?Sized,

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T, U> FromRefOpt<U> for T
where - U: AsRefOpt<T>,

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an + U: AsRefOpt<T>,
§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where - U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where + U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

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

-
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where - S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

+
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where + S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
\ No newline at end of file diff --git a/storm_mssql/struct.MssqlProvider.html b/storm_mssql/struct.MssqlProvider.html index b4194830..768f8003 100644 --- a/storm_mssql/struct.MssqlProvider.html +++ b/storm_mssql/struct.MssqlProvider.html @@ -1,47 +1,47 @@ -MssqlProvider in storm_mssql - Rust +MssqlProvider in storm_mssql - Rust
pub struct MssqlProvider(/* private fields */);

Implementations§

source§

impl MssqlProvider

source

pub fn new<F: ClientFactory>(client_factory: F) -> Self

source

pub async unsafe fn create_client(&self) -> Result<Client>

Creates a new Client instance.

-
Safety
+
§Safety

This operation is safe but the returning client is not constrained by the lock and can modify the database without storm’s knowledge.

source

pub async unsafe fn get_transaction_client( &self -) -> Option<MssqlTransactionGuard<'_>>

Creates a new Client instance.

-
Safety
+) -> Option<MssqlTransactionGuard<'_>>

Creates a new Client instance.

+
§Safety

This operation is safe but the returning client is not constrained by the lock and can modify the database without storm’s knowledge.

Trait Implementations§

source§

impl Execute for MssqlProvider

source§

fn execute_with_args<'a, S>( &'a self, statement: S, params: &'a [&'a dyn ToSql], args: ExecuteArgs -) -> BoxFuture<'a, Result<u64>>
where - S: ?Sized + Debug + Into<Cow<'a, str>> + Send + 'a,

source§

fn execute<'a, S>( +) -> BoxFuture<'a, Result<u64>>
where + S: ?Sized + Debug + Into<Cow<'a, str>> + Send + 'a,

source§

fn execute<'a, S>( &'a self, statement: S, params: &'a [&'a dyn ToSql] -) -> BoxFuture<'a, Result<u64>>
where - S: ?Sized + Debug + Into<Cow<'a, str>> + Send + 'a,

source§

impl From<Box<dyn ClientFactory>> for MssqlProvider

source§

fn from(factory: Box<dyn ClientFactory>) -> Self

Converts to this type from the input type.
source§

impl Provider for MssqlProvider

source§

fn cancel(&self)

source§

fn commit(&self) -> BoxFuture<'_, Result<()>>

source§

impl QueryRows for MssqlProvider

source§

fn query_rows<'a, S, M, R, C>( +) -> BoxFuture<'a, Result<u64>>
where + S: ?Sized + Debug + Into<Cow<'a, str>> + Send + 'a,

source§

impl From<Box<dyn ClientFactory>> for MssqlProvider

source§

fn from(factory: Box<dyn ClientFactory>) -> Self

Converts to this type from the input type.
source§

impl Provider for MssqlProvider

source§

fn cancel(&self)

source§

fn commit(&self) -> BoxFuture<'_, Result<()>>

source§

impl QueryRows for MssqlProvider

source§

fn query_rows<'a, S, M, R, C>( &'a self, statement: S, params: &'a [&'a dyn ToSql], mapper: M, - use_transaction: bool + use_transaction: bool ) -> BoxFuture<'a, Result<C>>
where - C: Default + Extend<R> + Send, - M: FnMut(Row) -> Result<R> + Send + 'a, - R: Send, - S: ?Sized + Debug + for<'b> Into<Cow<'b, str>> + Send + 'a,

Execute a query on the sql server and returns the row. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where - T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where - T: ?Sized,

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+ C: Default + Extend<R> + Send, + M: FnMut(Row) -> Result<R> + Send + 'a, + R: Send, + S: ?Sized + Debug + for<'b> Into<Cow<'b, str>> + Send + 'a,
Execute a query on the sql server and returns the row. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where + T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where + T: ?Sized,

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T, U> FromRefOpt<U> for T
where - U: AsRefOpt<T>,

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an + U: AsRefOpt<T>,
§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where - U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where + U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

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

-
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where - S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

+
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where + S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
\ No newline at end of file diff --git a/storm_mssql/struct.MssqlTransactionGuard.html b/storm_mssql/struct.MssqlTransactionGuard.html index ba6e2365..25819d9e 100644 --- a/storm_mssql/struct.MssqlTransactionGuard.html +++ b/storm_mssql/struct.MssqlTransactionGuard.html @@ -1,9 +1,9 @@ -MssqlTransactionGuard in storm_mssql - Rust -
pub struct MssqlTransactionGuard<'a>(/* private fields */);

Methods from Deref<Target = Client>§

pub async fn execute<'a>( +MssqlTransactionGuard in storm_mssql - Rust +
pub struct MssqlTransactionGuard<'a>(/* private fields */);

Methods from Deref<Target = Client>§

pub async fn execute<'a>( &mut self, - query: impl Into<Cow<'a, str>>, + query: impl Into<Cow<'a, str>>, params: &[&dyn ToSql] -) -> Result<ExecuteResult, Error>

Executes SQL statements in the SQL Server, returning the number rows +) -> Result<ExecuteResult, Error>

Executes SQL statements in the SQL Server, returning the number rows affected. Useful for INSERT, UPDATE and DELETE statements. The query can define the parameter placement by annotating them with @PN, where N is the index of the parameter, starting from 1. If @@ -14,7 +14,7 @@ FromSql.

This API is not quite suitable for dynamic query parameters. In these cases using a Query object might be easier.

-
Example
+
§Example
let results = client
     .execute(
         "INSERT INTO ##Test (id) VALUES (@P1), (@P2), (@P3)",
@@ -23,9 +23,9 @@ 
Example
.await?;

pub async fn query<'a, 'b>( &'a mut self, - query: impl Into<Cow<'b, str>>, + query: impl Into<Cow<'b, str>>, params: &'b [&'b dyn ToSql] -) -> Result<QueryStream<'a>, Error>
where +) -> Result<QueryStream<'a>, Error>
where 'a: 'b,

Executes SQL statements in the SQL Server, returning resulting rows. Useful for SELECT statements. The query can define the parameter placement by annotating them with @PN, where N is the index of the @@ -38,7 +38,7 @@

Example

This API can be cumbersome for dynamic query parameters. In these cases, if fighting too much with the compiler, using a Query object might be easier.

-
Example
+
§Example
let stream = client
     .query(
         "SELECT @P1, @P2, @P3",
@@ -47,23 +47,23 @@ 
Example
.await?;

pub async fn simple_query<'a, 'b>( &'a mut self, - query: impl Into<Cow<'b, str>> -) -> Result<QueryStream<'a>, Error>
where + query: impl Into<Cow<'b, str>> +) -> Result<QueryStream<'a>, Error>
where 'a: 'b,

Execute multiple queries, delimited with ; and return multiple result sets; one for each query.

-
Example
+
§Example
let row = client.simple_query("SELECT 1 AS col").await?.into_row().await?.unwrap();
 assert_eq!(Some(1i32), row.get("col"));
-
Warning
+
§Warning

Do not use this with any user specified input. Please resort to prepared statements using the query method.

pub async fn bulk_insert<'a>( &'a mut self, - table: &'a str -) -> Result<BulkLoadRequest<'a, S>, Error>

Execute a BULK INSERT statement, efficiantly storing a large number of + table: &'a str +) -> Result<BulkLoadRequest<'a, S>, Error>

Execute a BULK INSERT statement, efficiantly storing a large number of rows to a specified table. Note: make sure the input row follows the same schema as the table, otherwise calling send() will return an error.

-
Example
+
§Example
let create_table = r#"
     CREATE TABLE ##bulk_test (
         id INT IDENTITY PRIMARY KEY,
@@ -87,20 +87,20 @@ 
Example
// The request must be finalized. let res = req.finalize().await?; assert_eq!(3, res.total());
-

Trait Implementations§

source§

impl<'a> Deref for MssqlTransactionGuard<'a>

§

type Target = Client<Compat<TcpStream>>

The resulting type after dereferencing.
source§

fn deref(&self) -> &Self::Target

Dereferences the value.
source§

impl<'a> DerefMut for MssqlTransactionGuard<'a>

source§

fn deref_mut(&mut self) -> &mut Self::Target

Mutably dereferences the value.

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where - T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where - T: ?Sized,

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+

Trait Implementations§

source§

impl<'a> Deref for MssqlTransactionGuard<'a>

§

type Target = Client<Compat<TcpStream>>

The resulting type after dereferencing.
source§

fn deref(&self) -> &Self::Target

Dereferences the value.
source§

impl<'a> DerefMut for MssqlTransactionGuard<'a>

source§

fn deref_mut(&mut self) -> &mut Self::Target

Mutably dereferences the value.

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where + T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where + T: ?Sized,

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T, U> FromRefOpt<U> for T
where - U: AsRefOpt<T>,

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an + U: AsRefOpt<T>,
§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where - U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where + U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

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

-
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where - S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

+
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where + S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
\ No newline at end of file diff --git a/storm_mssql/struct.Parameter.html b/storm_mssql/struct.Parameter.html index 54074054..6e351142 100644 --- a/storm_mssql/struct.Parameter.html +++ b/storm_mssql/struct.Parameter.html @@ -1,19 +1,19 @@ -Parameter in storm_mssql - Rust -

Struct storm_mssql::Parameter

source ·
pub struct Parameter<'a>(/* private fields */);

Implementations§

source§

impl<'a> Parameter<'a>

source

pub fn from_ref<T: ToSql>(t: &'a T) -> Self

source§

impl Parameter<'static>

source

pub fn from_owned<T: ToSql>(t: T) -> Self

Trait Implementations§

source§

impl<'a> ToSql for Parameter<'a>

source§

fn to_sql(&self) -> ColumnData<'_>

Convert to a value understood by the SQL Server. Conversion -by-reference.
source§

impl<'a> ToSql for Parameter<'a>

source§

fn to_sql(&self) -> ColumnData<'_>

Auto Trait Implementations§

§

impl<'a> RefUnwindSafe for Parameter<'a>

§

impl<'a> Send for Parameter<'a>

§

impl<'a> Sync for Parameter<'a>

§

impl<'a> Unpin for Parameter<'a>

§

impl<'a> UnwindSafe for Parameter<'a>

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where - T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where - T: ?Sized,

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+Parameter in storm_mssql - Rust +

Struct storm_mssql::Parameter

source ·
pub struct Parameter<'a>(/* private fields */);

Implementations§

source§

impl<'a> Parameter<'a>

source

pub fn from_ref<T: ToSql>(t: &'a T) -> Self

source§

impl Parameter<'static>

source

pub fn from_owned<T: ToSql>(t: T) -> Self

Trait Implementations§

source§

impl<'a> ToSql for Parameter<'a>

source§

fn to_sql(&self) -> ColumnData<'_>

source§

impl<'a> ToSql for Parameter<'a>

source§

fn to_sql(&self) -> ColumnData<'_>

Convert to a value understood by the SQL Server. Conversion +by-reference.

Auto Trait Implementations§

§

impl<'a> RefUnwindSafe for Parameter<'a>

§

impl<'a> Send for Parameter<'a>

§

impl<'a> Sync for Parameter<'a>

§

impl<'a> Unpin for Parameter<'a>

§

impl<'a> UnwindSafe for Parameter<'a>

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where + T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where + T: ?Sized,

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T, U> FromRefOpt<U> for T
where - U: AsRefOpt<T>,

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an + U: AsRefOpt<T>,
§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where - U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where + U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

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

-
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where - S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

+
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where + S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
\ No newline at end of file diff --git a/storm_mssql/struct.TransactionScoped.html b/storm_mssql/struct.TransactionScoped.html index 13a32320..db60ff69 100644 --- a/storm_mssql/struct.TransactionScoped.html +++ b/storm_mssql/struct.TransactionScoped.html @@ -1,28 +1,28 @@ -TransactionScoped in storm_mssql - Rust +TransactionScoped in storm_mssql - Rust
pub struct TransactionScoped<F>(/* private fields */);
Expand description

This can wrap a ClientFactory and creates a transaction for each Client that are returned. It is useful for integration tests making sure that all items are rollback once the test is done.

Trait Implementations§

source§

impl<F> ClientFactory for TransactionScoped<F>
where - F: ClientFactory + Send + Sync,

source§

fn create_client(&self) -> BoxFuture<'_, Result<Client>>

source§

fn under_transaction(&self) -> bool

Indicate if the client factory operate under a transaction. This is useful for -tests operations where all commits are rollback after the tests.
source§

impl From<MssqlFactory> for TransactionScoped<MssqlFactory>

source§

fn from(f: MssqlFactory) -> Self

Converts to this type from the input type.
source§

impl ProviderFactory for TransactionScoped<MssqlFactory>

§

type Provider = MssqlProvider

source§

fn create_provider(&self) -> BoxFuture<'_, Result<Self::Provider>>

Auto Trait Implementations§

§

impl<F> RefUnwindSafe for TransactionScoped<F>
where - F: RefUnwindSafe,

§

impl<F> Send for TransactionScoped<F>
where - F: Send,

§

impl<F> Sync for TransactionScoped<F>
where - F: Sync,

§

impl<F> Unpin for TransactionScoped<F>
where - F: Unpin,

§

impl<F> UnwindSafe for TransactionScoped<F>
where - F: UnwindSafe,

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where - T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where - T: ?Sized,

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+ F: ClientFactory + Send + Sync,
source§

fn create_client(&self) -> BoxFuture<'_, Result<Client>>

source§

fn under_transaction(&self) -> bool

Indicate if the client factory operate under a transaction. This is useful for +tests operations where all commits are rollback after the tests.
source§

impl From<MssqlFactory> for TransactionScoped<MssqlFactory>

source§

fn from(f: MssqlFactory) -> Self

Converts to this type from the input type.
source§

impl ProviderFactory for TransactionScoped<MssqlFactory>

§

type Provider = MssqlProvider

source§

fn create_provider(&self) -> BoxFuture<'_, Result<Self::Provider>>

Auto Trait Implementations§

§

impl<F> RefUnwindSafe for TransactionScoped<F>
where + F: RefUnwindSafe,

§

impl<F> Send for TransactionScoped<F>
where + F: Send,

§

impl<F> Sync for TransactionScoped<F>
where + F: Sync,

§

impl<F> Unpin for TransactionScoped<F>
where + F: Unpin,

§

impl<F> UnwindSafe for TransactionScoped<F>
where + F: UnwindSafe,

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where + T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where + T: ?Sized,

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T, U> FromRefOpt<U> for T
where - U: AsRefOpt<T>,

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an + U: AsRefOpt<T>,
§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where - U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where + U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

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

-
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where - S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

+
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where + S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
\ No newline at end of file diff --git a/storm_mssql/struct.UpsertBuilder.html b/storm_mssql/struct.UpsertBuilder.html index 5482580f..df43396b 100644 --- a/storm_mssql/struct.UpsertBuilder.html +++ b/storm_mssql/struct.UpsertBuilder.html @@ -1,24 +1,24 @@ -UpsertBuilder in storm_mssql - Rust -
pub struct UpsertBuilder<'a> { /* private fields */ }

Implementations§

source§

impl<'a> UpsertBuilder<'a>

source

pub fn new(table: &'a str) -> Self

source

pub fn add_field_identity<T: IsDefined + ToSql>(&mut self, name: &str, value: T)

source

pub fn add_field_owned<T: ToSql>(&mut self, name: &str, value: T)

source

pub fn add_field_ref<T: ToSql>(&mut self, name: &str, value: &'a T)

source

pub fn add_key_identity<T: IsDefined + ToSql>(&mut self, name: &str, value: T)

source

pub fn add_key_ref<T: ToSql>(&mut self, name: &str, value: &'a T)

source

pub async fn execute<P: Execute>(self, provider: &P) -> Result<()>

source

pub async fn execute_identity<K, P>( +UpsertBuilder in storm_mssql - Rust +
pub struct UpsertBuilder<'a> { /* private fields */ }

Implementations§

source§

impl<'a> UpsertBuilder<'a>

source

pub fn new(table: &'a str) -> Self

source

pub fn add_field_identity<T: IsDefined + ToSql>(&mut self, name: &str, value: T)

source

pub fn add_field_owned<T: ToSql>(&mut self, name: &str, value: T)

source

pub fn add_field_ref<T: ToSql>(&mut self, name: &str, value: &'a T)

source

pub fn add_key_identity<T: IsDefined + ToSql>(&mut self, name: &str, value: T)

source

pub fn add_key_ref<T: ToSql>(&mut self, name: &str, value: &'a T)

source

pub async fn execute<P: Execute>(self, provider: &P) -> Result<()>

source

pub async fn execute_identity<K, P>( self, - provider: &P, - key: &mut K -) -> Result<()>
where - K: for<'b> FromSql<'b> + ToSql + Send, - P: Execute + QueryRows,

source

pub fn sql(&self) -> String

Auto Trait Implementations§

§

impl<'a> RefUnwindSafe for UpsertBuilder<'a>

§

impl<'a> Send for UpsertBuilder<'a>

§

impl<'a> Sync for UpsertBuilder<'a>

§

impl<'a> Unpin for UpsertBuilder<'a>

§

impl<'a> UnwindSafe for UpsertBuilder<'a>

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where - T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where - T: ?Sized,

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+ provider: &P, + key: &mut K +) -> Result<()>
where + K: for<'b> FromSql<'b> + ToSql + Send, + P: Execute + QueryRows,

source

pub fn sql(&self) -> String

Auto Trait Implementations§

§

impl<'a> RefUnwindSafe for UpsertBuilder<'a>

§

impl<'a> Send for UpsertBuilder<'a>

§

impl<'a> Sync for UpsertBuilder<'a>

§

impl<'a> Unpin for UpsertBuilder<'a>

§

impl<'a> UnwindSafe for UpsertBuilder<'a>

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where + T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where + T: ?Sized,

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T, U> FromRefOpt<U> for T
where - U: AsRefOpt<T>,

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an + U: AsRefOpt<T>,
§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where - U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where + U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

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

-
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where - S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a +From<T> for U chooses to do.

+
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where + S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
\ No newline at end of file diff --git a/storm_mssql/trait.ApplyEntityDiff.html b/storm_mssql/trait.ApplyEntityDiff.html index d0487e53..2b6e20b6 100644 --- a/storm_mssql/trait.ApplyEntityDiff.html +++ b/storm_mssql/trait.ApplyEntityDiff.html @@ -1,11 +1,11 @@ -ApplyEntityDiff in storm_mssql - Rust +ApplyEntityDiff in storm_mssql - Rust
pub trait ApplyEntityDiff: EntityFields {
     // Required method
-    fn apply_entity_diff<S: BuildHasher>(
+    fn apply_entity_diff<S: BuildHasher>(
         &mut self,
-        map: &HashMap<FieldsOrStr<Self::Fields>, Value, S>
-    ) -> Result<()>;
-}

Required Methods§

source

fn apply_entity_diff<S: BuildHasher>( + map: &HashMap<FieldsOrStr<Self::Fields>, Value, S> + ) -> Result<()>; +}

Required Methods§

source

fn apply_entity_diff<S: BuildHasher>( &mut self, - map: &HashMap<FieldsOrStr<Self::Fields>, Value, S> -) -> Result<()>

Object Safety§

This trait is not object safe.

Implementors§

\ No newline at end of file + map: &HashMap<FieldsOrStr<Self::Fields>, Value, S> +) -> Result<()>

Object Safety§

This trait is not object safe.

Implementors§

\ No newline at end of file diff --git a/storm_mssql/trait.ApplyFieldDiff.html b/storm_mssql/trait.ApplyFieldDiff.html index f8d6a0eb..e3cc091b 100644 --- a/storm_mssql/trait.ApplyFieldDiff.html +++ b/storm_mssql/trait.ApplyFieldDiff.html @@ -1,5 +1,5 @@ -ApplyFieldDiff in storm_mssql - Rust -
pub trait ApplyFieldDiff: Sized {
+ApplyFieldDiff in storm_mssql - Rust
+    
pub trait ApplyFieldDiff: Sized {
     // Required method
-    fn apply_field_diff(&mut self, value: Value) -> Result<()>;
-}

Required Methods§

source

fn apply_field_diff(&mut self, value: Value) -> Result<()>

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl ApplyFieldDiff for bool

source§

fn apply_field_diff(&mut self, value: Value) -> Result<()>

source§

impl ApplyFieldDiff for f32

source§

fn apply_field_diff(&mut self, value: Value) -> Result<()>

source§

impl ApplyFieldDiff for f64

source§

fn apply_field_diff(&mut self, value: Value) -> Result<()>

source§

impl ApplyFieldDiff for i8

source§

fn apply_field_diff(&mut self, value: Value) -> Result<()>

source§

impl ApplyFieldDiff for i16

source§

fn apply_field_diff(&mut self, value: Value) -> Result<()>

source§

impl ApplyFieldDiff for i32

source§

fn apply_field_diff(&mut self, value: Value) -> Result<()>

source§

impl ApplyFieldDiff for i64

source§

fn apply_field_diff(&mut self, value: Value) -> Result<()>

source§

impl ApplyFieldDiff for u8

source§

fn apply_field_diff(&mut self, value: Value) -> Result<()>

source§

impl ApplyFieldDiff for u16

source§

fn apply_field_diff(&mut self, value: Value) -> Result<()>

source§

impl ApplyFieldDiff for u32

source§

fn apply_field_diff(&mut self, value: Value) -> Result<()>

source§

impl ApplyFieldDiff for u64

source§

fn apply_field_diff(&mut self, value: Value) -> Result<()>

source§

impl ApplyFieldDiff for Box<str>

source§

fn apply_field_diff(&mut self, value: Value) -> Result<()>

source§

impl ApplyFieldDiff for String

source§

fn apply_field_diff(&mut self, value: Value) -> Result<()>

source§

impl ApplyFieldDiff for DateTime<FixedOffset>

source§

fn apply_field_diff(&mut self, value: Value) -> Result<()>

source§

impl ApplyFieldDiff for DateTime<Local>

source§

fn apply_field_diff(&mut self, value: Value) -> Result<()>

source§

impl ApplyFieldDiff for DateTime<Utc>

source§

fn apply_field_diff(&mut self, value: Value) -> Result<()>

source§

impl ApplyFieldDiff for NaiveDate

source§

fn apply_field_diff(&mut self, value: Value) -> Result<()>

source§

impl ApplyFieldDiff for NaiveDateTime

source§

fn apply_field_diff(&mut self, value: Value) -> Result<()>

source§

impl ApplyFieldDiff for NaiveTime

source§

fn apply_field_diff(&mut self, value: Value) -> Result<()>

source§

impl ApplyFieldDiff for Uuid

source§

fn apply_field_diff(&mut self, value: Value) -> Result<()>

source§

impl<T: ApplyFieldDiff + FromFieldDiff> ApplyFieldDiff for Option<T>

source§

fn apply_field_diff(&mut self, value: Value) -> Result<()>

Implementors§

\ No newline at end of file + fn apply_field_diff(&mut self, value: Value) -> Result<()>; +}

Required Methods§

source

fn apply_field_diff(&mut self, value: Value) -> Result<()>

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl ApplyFieldDiff for bool

source§

fn apply_field_diff(&mut self, value: Value) -> Result<()>

source§

impl ApplyFieldDiff for f32

source§

fn apply_field_diff(&mut self, value: Value) -> Result<()>

source§

impl ApplyFieldDiff for f64

source§

fn apply_field_diff(&mut self, value: Value) -> Result<()>

source§

impl ApplyFieldDiff for i8

source§

fn apply_field_diff(&mut self, value: Value) -> Result<()>

source§

impl ApplyFieldDiff for i16

source§

fn apply_field_diff(&mut self, value: Value) -> Result<()>

source§

impl ApplyFieldDiff for i32

source§

fn apply_field_diff(&mut self, value: Value) -> Result<()>

source§

impl ApplyFieldDiff for i64

source§

fn apply_field_diff(&mut self, value: Value) -> Result<()>

source§

impl ApplyFieldDiff for u8

source§

fn apply_field_diff(&mut self, value: Value) -> Result<()>

source§

impl ApplyFieldDiff for u16

source§

fn apply_field_diff(&mut self, value: Value) -> Result<()>

source§

impl ApplyFieldDiff for u32

source§

fn apply_field_diff(&mut self, value: Value) -> Result<()>

source§

impl ApplyFieldDiff for u64

source§

fn apply_field_diff(&mut self, value: Value) -> Result<()>

source§

impl ApplyFieldDiff for Box<str>

source§

fn apply_field_diff(&mut self, value: Value) -> Result<()>

source§

impl ApplyFieldDiff for String

source§

fn apply_field_diff(&mut self, value: Value) -> Result<()>

source§

impl ApplyFieldDiff for DateTime<FixedOffset>

source§

fn apply_field_diff(&mut self, value: Value) -> Result<()>

source§

impl ApplyFieldDiff for DateTime<Local>

source§

fn apply_field_diff(&mut self, value: Value) -> Result<()>

source§

impl ApplyFieldDiff for DateTime<Utc>

source§

fn apply_field_diff(&mut self, value: Value) -> Result<()>

source§

impl ApplyFieldDiff for NaiveDate

source§

fn apply_field_diff(&mut self, value: Value) -> Result<()>

source§

impl ApplyFieldDiff for NaiveDateTime

source§

fn apply_field_diff(&mut self, value: Value) -> Result<()>

source§

impl ApplyFieldDiff for NaiveTime

source§

fn apply_field_diff(&mut self, value: Value) -> Result<()>

source§

impl ApplyFieldDiff for Uuid

source§

fn apply_field_diff(&mut self, value: Value) -> Result<()>

source§

impl<T: ApplyFieldDiff + FromFieldDiff> ApplyFieldDiff for Option<T>

source§

fn apply_field_diff(&mut self, value: Value) -> Result<()>

Implementors§

\ No newline at end of file diff --git a/storm_mssql/trait.ClientFactory.html b/storm_mssql/trait.ClientFactory.html index 99879d13..aa4071f0 100644 --- a/storm_mssql/trait.ClientFactory.html +++ b/storm_mssql/trait.ClientFactory.html @@ -1,11 +1,11 @@ -ClientFactory in storm_mssql - Rust -
pub trait ClientFactory: Send + Sync + 'static {
+ClientFactory in storm_mssql - Rust
+    
pub trait ClientFactory: Send + Sync + 'static {
     // Required method
     fn create_client(&self) -> BoxFuture<'_, Result<Client>>;
 
     // Provided method
-    fn under_transaction(&self) -> bool { ... }
-}

Required Methods§

source

fn create_client(&self) -> BoxFuture<'_, Result<Client>>

Provided Methods§

source

fn under_transaction(&self) -> bool

Indicate if the client factory operate under a transaction. This is useful for + fn under_transaction(&self) -> bool { ... } +}

Required Methods§

source

fn create_client(&self) -> BoxFuture<'_, Result<Client>>

Provided Methods§

source

fn under_transaction(&self) -> bool

Indicate if the client factory operate under a transaction. This is useful for tests operations where all commits are rollback after the tests.

Implementations on Foreign Types§

source§

impl ClientFactory for Config

source§

fn create_client(&self) -> BoxFuture<'_, Result<Client>>

Implementors§

\ No newline at end of file + F: ClientFactory + Send + Sync,
\ No newline at end of file diff --git a/storm_mssql/trait.EntityDiff.html b/storm_mssql/trait.EntityDiff.html index aa68caf8..74f6d852 100644 --- a/storm_mssql/trait.EntityDiff.html +++ b/storm_mssql/trait.EntityDiff.html @@ -1,13 +1,13 @@ -EntityDiff in storm_mssql - Rust +EntityDiff in storm_mssql - Rust
pub trait EntityDiff: EntityFields {
     // Required method
-    fn entity_diff<S: BuildHasher>(
+    fn entity_diff<S: BuildHasher>(
         &self,
-        old: &Self,
-        map: &mut HashMap<Self::Fields, Value, S>
+        old: &Self,
+        map: &mut HashMap<Self::Fields, Value, S>
     );
-}

Required Methods§

Required Methods§

source

fn entity_diff<S: BuildHasher>( &self, - old: &Self, - map: &mut HashMap<Self::Fields, Value, S> -)

Object Safety§

This trait is not object safe.

Implementors§

\ No newline at end of file + old: &Self, + map: &mut HashMap<Self::Fields, Value, S> +)

Object Safety§

This trait is not object safe.

Implementors§

\ No newline at end of file diff --git a/storm_mssql/trait.Execute.html b/storm_mssql/trait.Execute.html index 66b16e99..fd7018ae 100644 --- a/storm_mssql/trait.Execute.html +++ b/storm_mssql/trait.Execute.html @@ -1,4 +1,4 @@ -Execute in storm_mssql - Rust +Execute in storm_mssql - Rust

Trait storm_mssql::Execute

source ·
pub trait Execute {
     // Required method
     fn execute_with_args<'a, S>(
@@ -6,25 +6,25 @@
         statement: S,
         params: &'a [&'a dyn ToSql],
         args: ExecuteArgs
-    ) -> BoxFuture<'a, Result<u64>>
-       where S: ?Sized + Debug + Into<Cow<'a, str>> + Send + 'a;
+    ) -> BoxFuture<'a, Result<u64>>
+       where S: ?Sized + Debug + Into<Cow<'a, str>> + Send + 'a;
 
     // Provided method
     fn execute<'a, S>(
         &'a self,
         statement: S,
         params: &'a [&'a dyn ToSql]
-    ) -> BoxFuture<'a, Result<u64>>
-       where S: ?Sized + Debug + Into<Cow<'a, str>> + Send + 'a { ... }
+    ) -> BoxFuture<'a, Result<u64>>
+       where S: ?Sized + Debug + Into<Cow<'a, str>> + Send + 'a { ... }
 }

Required Methods§

source

fn execute_with_args<'a, S>( &'a self, statement: S, params: &'a [&'a dyn ToSql], args: ExecuteArgs -) -> BoxFuture<'a, Result<u64>>
where - S: ?Sized + Debug + Into<Cow<'a, str>> + Send + 'a,

Provided Methods§

source

fn execute<'a, S>( +) -> BoxFuture<'a, Result<u64>>
where + S: ?Sized + Debug + Into<Cow<'a, str>> + Send + 'a,

Provided Methods§

source

fn execute<'a, S>( &'a self, statement: S, params: &'a [&'a dyn ToSql] -) -> BoxFuture<'a, Result<u64>>
where - S: ?Sized + Debug + Into<Cow<'a, str>> + Send + 'a,

Object Safety§

This trait is not object safe.

Implementors§

\ No newline at end of file +) -> BoxFuture<'a, Result<u64>>
where + S: ?Sized + Debug + Into<Cow<'a, str>> + Send + 'a,

Object Safety§

This trait is not object safe.

Implementors§

\ No newline at end of file diff --git a/storm_mssql/trait.FieldDiff.html b/storm_mssql/trait.FieldDiff.html index 72446453..9f6669da 100644 --- a/storm_mssql/trait.FieldDiff.html +++ b/storm_mssql/trait.FieldDiff.html @@ -1,5 +1,5 @@ -FieldDiff in storm_mssql - Rust +FieldDiff in storm_mssql - Rust
pub trait FieldDiff {
     // Required method
-    fn field_diff(&self, old: &Self) -> Option<Value>;
-}

Required Methods§

source

fn field_diff(&self, old: &Self) -> Option<Value>

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl FieldDiff for bool

source§

fn field_diff(&self, old: &Self) -> Option<Value>

source§

impl FieldDiff for f32

source§

fn field_diff(&self, old: &Self) -> Option<Value>

source§

impl FieldDiff for f64

source§

fn field_diff(&self, old: &Self) -> Option<Value>

source§

impl FieldDiff for i8

source§

fn field_diff(&self, old: &Self) -> Option<Value>

source§

impl FieldDiff for i16

source§

fn field_diff(&self, old: &Self) -> Option<Value>

source§

impl FieldDiff for i32

source§

fn field_diff(&self, old: &Self) -> Option<Value>

source§

impl FieldDiff for i64

source§

fn field_diff(&self, old: &Self) -> Option<Value>

source§

impl FieldDiff for u8

source§

fn field_diff(&self, old: &Self) -> Option<Value>

source§

impl FieldDiff for u16

source§

fn field_diff(&self, old: &Self) -> Option<Value>

source§

impl FieldDiff for u32

source§

fn field_diff(&self, old: &Self) -> Option<Value>

source§

impl FieldDiff for u64

source§

fn field_diff(&self, old: &Self) -> Option<Value>

source§

impl FieldDiff for Box<str>

source§

fn field_diff(&self, old: &Self) -> Option<Value>

source§

impl FieldDiff for String

source§

fn field_diff(&self, old: &Self) -> Option<Value>

source§

impl FieldDiff for DateTime<FixedOffset>

source§

fn field_diff(&self, old: &Self) -> Option<Value>

source§

impl FieldDiff for DateTime<Local>

source§

fn field_diff(&self, old: &Self) -> Option<Value>

source§

impl FieldDiff for DateTime<Utc>

source§

fn field_diff(&self, old: &Self) -> Option<Value>

source§

impl FieldDiff for NaiveDate

source§

fn field_diff(&self, old: &Self) -> Option<Value>

source§

impl FieldDiff for NaiveDateTime

source§

fn field_diff(&self, old: &Self) -> Option<Value>

source§

impl FieldDiff for NaiveTime

source§

fn field_diff(&self, old: &Self) -> Option<Value>

source§

impl FieldDiff for Uuid

source§

fn field_diff(&self, old: &Self) -> Option<Value>

source§

impl<T: PartialEq + Serialize> FieldDiff for Option<T>

source§

fn field_diff(&self, old: &Self) -> Option<Value>

Implementors§

\ No newline at end of file + fn field_diff(&self, old: &Self) -> Option<Value>; +}

Required Methods§

source

fn field_diff(&self, old: &Self) -> Option<Value>

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl FieldDiff for bool

source§

fn field_diff(&self, old: &Self) -> Option<Value>

source§

impl FieldDiff for f32

source§

fn field_diff(&self, old: &Self) -> Option<Value>

source§

impl FieldDiff for f64

source§

fn field_diff(&self, old: &Self) -> Option<Value>

source§

impl FieldDiff for i8

source§

fn field_diff(&self, old: &Self) -> Option<Value>

source§

impl FieldDiff for i16

source§

fn field_diff(&self, old: &Self) -> Option<Value>

source§

impl FieldDiff for i32

source§

fn field_diff(&self, old: &Self) -> Option<Value>

source§

impl FieldDiff for i64

source§

fn field_diff(&self, old: &Self) -> Option<Value>

source§

impl FieldDiff for u8

source§

fn field_diff(&self, old: &Self) -> Option<Value>

source§

impl FieldDiff for u16

source§

fn field_diff(&self, old: &Self) -> Option<Value>

source§

impl FieldDiff for u32

source§

fn field_diff(&self, old: &Self) -> Option<Value>

source§

impl FieldDiff for u64

source§

fn field_diff(&self, old: &Self) -> Option<Value>

source§

impl FieldDiff for Box<str>

source§

fn field_diff(&self, old: &Self) -> Option<Value>

source§

impl FieldDiff for String

source§

fn field_diff(&self, old: &Self) -> Option<Value>

source§

impl FieldDiff for DateTime<FixedOffset>

source§

fn field_diff(&self, old: &Self) -> Option<Value>

source§

impl FieldDiff for DateTime<Local>

source§

fn field_diff(&self, old: &Self) -> Option<Value>

source§

impl FieldDiff for DateTime<Utc>

source§

fn field_diff(&self, old: &Self) -> Option<Value>

source§

impl FieldDiff for NaiveDate

source§

fn field_diff(&self, old: &Self) -> Option<Value>

source§

impl FieldDiff for NaiveDateTime

source§

fn field_diff(&self, old: &Self) -> Option<Value>

source§

impl FieldDiff for NaiveTime

source§

fn field_diff(&self, old: &Self) -> Option<Value>

source§

impl FieldDiff for Uuid

source§

fn field_diff(&self, old: &Self) -> Option<Value>

source§

impl<T: PartialEq + Serialize> FieldDiff for Option<T>

source§

fn field_diff(&self, old: &Self) -> Option<Value>

Implementors§

\ No newline at end of file diff --git a/storm_mssql/trait.FilterSql.html b/storm_mssql/trait.FilterSql.html index 1950f872..b45a1b71 100644 --- a/storm_mssql/trait.FilterSql.html +++ b/storm_mssql/trait.FilterSql.html @@ -1,12 +1,12 @@ -FilterSql in storm_mssql - Rust -
pub trait FilterSql: Send + Sync {
+FilterSql in storm_mssql - Rust
+    
pub trait FilterSql: Send + Sync {
     // Required method
     fn filter_sql(
         &self,
-        param_index: usize
-    ) -> (Cow<'_, str>, Cow<'_, [&dyn ToSql]>);
+        param_index: usize
+    ) -> (Cow<'_, str>, Cow<'_, [&dyn ToSql]>);
 }
Expand description

Allow to filter a list of rows.

-

Implement FilterSql

+

§Implement FilterSql

use std::borrow::Cow;
 use storm_mssql::{FilterSql, ToSql};
 
@@ -24,6 +24,6 @@ 

Implement FilterSql< }

Required Methods§

source

fn filter_sql( &self, - param_index: usize -) -> (Cow<'_, str>, Cow<'_, [&dyn ToSql]>)

Implementations on Foreign Types§

source§

impl FilterSql for (&str, &[&dyn ToSql])

source§

fn filter_sql(&self, _: usize) -> (Cow<'_, str>, Cow<'_, [&dyn ToSql]>)

source§

impl FilterSql for ()

source§

fn filter_sql(&self, _: usize) -> (Cow<'_, str>, Cow<'_, [&dyn ToSql]>)

Implementors§

source§

impl<'a, K> FilterSql for KeysFilter<'a, K>
where + param_index: usize +) -> (Cow<'_, str>, Cow<'_, [&dyn ToSql]>)

Implementations on Foreign Types§

source§

impl FilterSql for (&str, &[&dyn ToSql])

source§

fn filter_sql(&self, _: usize) -> (Cow<'_, str>, Cow<'_, [&dyn ToSql]>)

source§

impl FilterSql for ()

source§

fn filter_sql(&self, _: usize) -> (Cow<'_, str>, Cow<'_, [&dyn ToSql]>)

Implementors§

source§

impl<'a, K> FilterSql for KeysFilter<'a, K>
where K: ToSql,

\ No newline at end of file diff --git a/storm_mssql/trait.FromFieldDiff.html b/storm_mssql/trait.FromFieldDiff.html index 3dd51d61..bdfbe6c5 100644 --- a/storm_mssql/trait.FromFieldDiff.html +++ b/storm_mssql/trait.FromFieldDiff.html @@ -1,6 +1,6 @@ -FromFieldDiff in storm_mssql - Rust -
pub trait FromFieldDiff: Sized {
+FromFieldDiff in storm_mssql - Rust
+    
pub trait FromFieldDiff: Sized {
     // Required method
     fn from_field_diff(value: Value) -> Result<Self>;
 }
Expand description

Create the field from the diff value.

-

Required Methods§

source

fn from_field_diff(value: Value) -> Result<Self>

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl FromFieldDiff for bool

source§

impl FromFieldDiff for f32

source§

impl FromFieldDiff for f64

source§

impl FromFieldDiff for i8

source§

impl FromFieldDiff for i16

source§

impl FromFieldDiff for i32

source§

impl FromFieldDiff for i64

source§

impl FromFieldDiff for u8

source§

impl FromFieldDiff for u16

source§

impl FromFieldDiff for u32

source§

impl FromFieldDiff for u64

source§

impl FromFieldDiff for Box<str>

source§

impl FromFieldDiff for String

source§

impl FromFieldDiff for DateTime<FixedOffset>

source§

impl FromFieldDiff for DateTime<Local>

source§

impl FromFieldDiff for DateTime<Utc>

source§

impl FromFieldDiff for NaiveDate

source§

impl FromFieldDiff for NaiveDateTime

source§

impl FromFieldDiff for NaiveTime

source§

impl FromFieldDiff for Uuid

source§

impl<T: FromFieldDiff> FromFieldDiff for Option<T>

Implementors§

\ No newline at end of file +

Required Methods§

source

fn from_field_diff(value: Value) -> Result<Self>

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl FromFieldDiff for bool

source§

impl FromFieldDiff for f32

source§

impl FromFieldDiff for f64

source§

impl FromFieldDiff for i8

source§

impl FromFieldDiff for i16

source§

impl FromFieldDiff for i32

source§

impl FromFieldDiff for i64

source§

impl FromFieldDiff for u8

source§

impl FromFieldDiff for u16

source§

impl FromFieldDiff for u32

source§

impl FromFieldDiff for u64

source§

impl FromFieldDiff for Box<str>

source§

impl FromFieldDiff for String

source§

impl FromFieldDiff for DateTime<FixedOffset>

source§

impl FromFieldDiff for DateTime<Local>

source§

impl FromFieldDiff for DateTime<Utc>

source§

impl FromFieldDiff for NaiveDate

source§

impl FromFieldDiff for NaiveDateTime

source§

impl FromFieldDiff for NaiveTime

source§

impl FromFieldDiff for Uuid

source§

impl<T: FromFieldDiff> FromFieldDiff for Option<T>

Implementors§

\ No newline at end of file diff --git a/storm_mssql/trait.FromSql.html b/storm_mssql/trait.FromSql.html index 9efef0fe..7c41f3e8 100644 --- a/storm_mssql/trait.FromSql.html +++ b/storm_mssql/trait.FromSql.html @@ -1,8 +1,8 @@ -FromSql in storm_mssql - Rust -

Trait storm_mssql::FromSql

source ·
pub trait FromSql<'a>: Sized {
+FromSql in storm_mssql - Rust
+    

Trait storm_mssql::FromSql

source ·
pub trait FromSql<'a>: Sized {
     type Column: FromSql<'a>;
 
     // Required method
-    fn from_sql(col: Option<Self::Column>) -> Result<Self>;
-}

Required Associated Types§

source

type Column: FromSql<'a>

Required Methods§

source

fn from_sql(col: Option<Self::Column>) -> Result<Self>

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl<'a> FromSql<'a> for &'a str

§

type Column = &'a str

source§

fn from_sql(col: Option<Self::Column>) -> Result<Self>

source§

impl<'a> FromSql<'a> for &'a [u8]

§

type Column = &'a [u8]

source§

fn from_sql(col: Option<Self::Column>) -> Result<Self>

source§

impl<'a> FromSql<'a> for bool

§

type Column = bool

source§

fn from_sql(col: Option<Self::Column>) -> Result<Self>

source§

impl<'a> FromSql<'a> for f32

§

type Column = f32

source§

fn from_sql(col: Option<Self::Column>) -> Result<Self>

source§

impl<'a> FromSql<'a> for f64

§

type Column = f64

source§

fn from_sql(col: Option<Self::Column>) -> Result<Self>

source§

impl<'a> FromSql<'a> for i16

§

type Column = i16

source§

fn from_sql(col: Option<Self::Column>) -> Result<Self>

source§

impl<'a> FromSql<'a> for i32

§

type Column = i32

source§

fn from_sql(col: Option<Self::Column>) -> Result<Self>

source§

impl<'a> FromSql<'a> for i64

§

type Column = i64

source§

fn from_sql(col: Option<Self::Column>) -> Result<Self>

source§

impl<'a> FromSql<'a> for u8

§

type Column = u8

source§

fn from_sql(col: Option<Self::Column>) -> Result<Self>

source§

impl<'a> FromSql<'a> for Box<str>

§

type Column = &'a str

source§

fn from_sql(col: Option<Self::Column>) -> Result<Self>

source§

impl<'a> FromSql<'a> for Box<[u8]>

§

type Column = &'a [u8]

source§

fn from_sql(col: Option<Self::Column>) -> Result<Self>

source§

impl<'a> FromSql<'a> for String

§

type Column = &'a str

source§

fn from_sql(col: Option<Self::Column>) -> Result<Self>

source§

impl<'a> FromSql<'a> for Vec<u8>

§

type Column = &'a [u8]

source§

fn from_sql(col: Option<Self::Column>) -> Result<Self>

source§

impl<'a> FromSql<'a> for DateTime<FixedOffset>

source§

impl<'a> FromSql<'a> for DateTime<Utc>

§

type Column = DateTime<Utc>

source§

fn from_sql(col: Option<Self::Column>) -> Result<Self>

source§

impl<'a> FromSql<'a> for NaiveDate

§

type Column = NaiveDate

source§

fn from_sql(col: Option<Self::Column>) -> Result<Self>

source§

impl<'a> FromSql<'a> for NaiveDateTime

source§

impl<'a> FromSql<'a> for NaiveTime

§

type Column = NaiveTime

source§

fn from_sql(col: Option<Self::Column>) -> Result<Self>

source§

impl<'a> FromSql<'a> for Uuid

§

type Column = Uuid

source§

fn from_sql(col: Option<Self::Column>) -> Result<Self>

source§

impl<'a, 'b> FromSql<'a> for Cow<'b, str>

§

type Column = &'a str

source§

fn from_sql(col: Option<Self::Column>) -> Result<Self>

source§

impl<'a, 'b> FromSql<'a> for Cow<'b, [u8]>

§

type Column = &'a [u8]

source§

fn from_sql(col: Option<Self::Column>) -> Result<Self>

source§

impl<'a, T> FromSql<'a> for Option<T>
where - T: FromSql<'a>,

§

type Column = <T as FromSql<'a>>::Column

source§

fn from_sql(col: Option<Self::Column>) -> Result<Self>

source§

impl<'a, T: Clone + FromSql<'a>> FromSql<'a> for Cow<'a, T>

§

type Column = <T as FromSql<'a>>::Column

source§

fn from_sql(col: Option<Self::Column>) -> Result<Self>

source§

impl<'a, T: FromSql<'a>> FromSql<'a> for Box<T>

§

type Column = <T as FromSql<'a>>::Column

source§

fn from_sql(col: Option<Self::Column>) -> Result<Self>

source§

impl<'a, T: FromSql<'a>> FromSql<'a> for Arc<T>

§

type Column = <T as FromSql<'a>>::Column

source§

fn from_sql(col: Option<Self::Column>) -> Result<Self>

Implementors§

\ No newline at end of file + fn from_sql(col: Option<Self::Column>) -> Result<Self>; +}

Required Associated Types§

source

type Column: FromSql<'a>

Required Methods§

source

fn from_sql(col: Option<Self::Column>) -> Result<Self>

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl<'a> FromSql<'a> for &'a str

§

type Column = &'a str

source§

fn from_sql(col: Option<Self::Column>) -> Result<Self>

source§

impl<'a> FromSql<'a> for &'a [u8]

§

type Column = &'a [u8]

source§

fn from_sql(col: Option<Self::Column>) -> Result<Self>

source§

impl<'a> FromSql<'a> for bool

§

type Column = bool

source§

fn from_sql(col: Option<Self::Column>) -> Result<Self>

source§

impl<'a> FromSql<'a> for f32

§

type Column = f32

source§

fn from_sql(col: Option<Self::Column>) -> Result<Self>

source§

impl<'a> FromSql<'a> for f64

§

type Column = f64

source§

fn from_sql(col: Option<Self::Column>) -> Result<Self>

source§

impl<'a> FromSql<'a> for i16

§

type Column = i16

source§

fn from_sql(col: Option<Self::Column>) -> Result<Self>

source§

impl<'a> FromSql<'a> for i32

§

type Column = i32

source§

fn from_sql(col: Option<Self::Column>) -> Result<Self>

source§

impl<'a> FromSql<'a> for i64

§

type Column = i64

source§

fn from_sql(col: Option<Self::Column>) -> Result<Self>

source§

impl<'a> FromSql<'a> for u8

§

type Column = u8

source§

fn from_sql(col: Option<Self::Column>) -> Result<Self>

source§

impl<'a> FromSql<'a> for Box<str>

§

type Column = &'a str

source§

fn from_sql(col: Option<Self::Column>) -> Result<Self>

source§

impl<'a> FromSql<'a> for Box<[u8]>

§

type Column = &'a [u8]

source§

fn from_sql(col: Option<Self::Column>) -> Result<Self>

source§

impl<'a> FromSql<'a> for String

§

type Column = &'a str

source§

fn from_sql(col: Option<Self::Column>) -> Result<Self>

source§

impl<'a> FromSql<'a> for Vec<u8>

§

type Column = &'a [u8]

source§

fn from_sql(col: Option<Self::Column>) -> Result<Self>

source§

impl<'a> FromSql<'a> for DateTime<FixedOffset>

source§

impl<'a> FromSql<'a> for DateTime<Utc>

§

type Column = DateTime<Utc>

source§

fn from_sql(col: Option<Self::Column>) -> Result<Self>

source§

impl<'a> FromSql<'a> for NaiveDate

§

type Column = NaiveDate

source§

fn from_sql(col: Option<Self::Column>) -> Result<Self>

source§

impl<'a> FromSql<'a> for NaiveDateTime

source§

impl<'a> FromSql<'a> for NaiveTime

§

type Column = NaiveTime

source§

fn from_sql(col: Option<Self::Column>) -> Result<Self>

source§

impl<'a> FromSql<'a> for Uuid

§

type Column = Uuid

source§

fn from_sql(col: Option<Self::Column>) -> Result<Self>

source§

impl<'a, 'b> FromSql<'a> for Cow<'b, str>

§

type Column = &'a str

source§

fn from_sql(col: Option<Self::Column>) -> Result<Self>

source§

impl<'a, 'b> FromSql<'a> for Cow<'b, [u8]>

§

type Column = &'a [u8]

source§

fn from_sql(col: Option<Self::Column>) -> Result<Self>

source§

impl<'a, T> FromSql<'a> for Option<T>
where + T: FromSql<'a>,

§

type Column = <T as FromSql<'a>>::Column

source§

fn from_sql(col: Option<Self::Column>) -> Result<Self>

source§

impl<'a, T: Clone + FromSql<'a>> FromSql<'a> for Cow<'a, T>

§

type Column = <T as FromSql<'a>>::Column

source§

fn from_sql(col: Option<Self::Column>) -> Result<Self>

source§

impl<'a, T: FromSql<'a>> FromSql<'a> for Box<T>

§

type Column = <T as FromSql<'a>>::Column

source§

fn from_sql(col: Option<Self::Column>) -> Result<Self>

source§

impl<'a, T: FromSql<'a>> FromSql<'a> for Arc<T>

§

type Column = <T as FromSql<'a>>::Column

source§

fn from_sql(col: Option<Self::Column>) -> Result<Self>

Implementors§

\ No newline at end of file diff --git a/storm_mssql/trait.MssqlMeta.html b/storm_mssql/trait.MssqlMeta.html index 29a17f77..899f634b 100644 --- a/storm_mssql/trait.MssqlMeta.html +++ b/storm_mssql/trait.MssqlMeta.html @@ -1,5 +1,5 @@ -MssqlMeta in storm_mssql - Rust +MssqlMeta in storm_mssql - Rust
pub trait MssqlMeta {
-    const TABLE: &'static str;
-    const TRANSLATED_TABLE: &'static str;
-}

Required Associated Constants§

source

const TABLE: &'static str

source

const TRANSLATED_TABLE: &'static str

Object Safety§

This trait is not object safe.

Implementors§

\ No newline at end of file + const TABLE: &'static str; + const TRANSLATED_TABLE: &'static str; +}

Required Associated Constants§

source

const TABLE: &'static str

source

const TRANSLATED_TABLE: &'static str

Object Safety§

This trait is not object safe.

Implementors§

\ No newline at end of file diff --git a/storm_mssql/trait.QueryRows.html b/storm_mssql/trait.QueryRows.html index 68f04082..6a79d007 100644 --- a/storm_mssql/trait.QueryRows.html +++ b/storm_mssql/trait.QueryRows.html @@ -1,4 +1,4 @@ -QueryRows in storm_mssql - Rust +QueryRows in storm_mssql - Rust
pub trait QueryRows {
     // Required method
     fn query_rows<'a, S, M, R, C>(
@@ -6,38 +6,38 @@
         statement: S,
         params: &'a [&'a dyn ToSql],
         mapper: M,
-        use_transaction: bool
+        use_transaction: bool
     ) -> BoxFuture<'a, Result<C>>
-       where C: Default + Extend<R> + Send,
-             M: FnMut(Row) -> Result<R> + Send + 'a,
-             R: Send,
-             S: ?Sized + Debug + for<'b> Into<Cow<'b, str>> + Send + 'a;
+       where C: Default + Extend<R> + Send,
+             M: FnMut(Row) -> Result<R> + Send + 'a,
+             R: Send,
+             S: ?Sized + Debug + for<'b> Into<Cow<'b, str>> + Send + 'a;
 }

Required Methods§

source

fn query_rows<'a, S, M, R, C>( &'a self, statement: S, params: &'a [&'a dyn ToSql], mapper: M, - use_transaction: bool + use_transaction: bool ) -> BoxFuture<'a, Result<C>>
where - C: Default + Extend<R> + Send, - M: FnMut(Row) -> Result<R> + Send + 'a, - R: Send, - S: ?Sized + Debug + for<'b> Into<Cow<'b, str>> + Send + 'a,

Execute a query on the sql server and returns the row.

-
Parameters
+ C: Default + Extend<R> + Send, + M: FnMut(Row) -> Result<R> + Send + 'a, + R: Send, + S: ?Sized + Debug + for<'b> Into<Cow<'b, str>> + Send + 'a,

Execute a query on the sql server and returns the row.

+
§Parameters
  • use_transaction: make sure the query is run inside a transaction. This is useful when loading we need to execute a query and then load the result from sql from the same transaction.
-

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl<P> QueryRows for &P
where - P: QueryRows + Send + Sync,

source§

fn query_rows<'a, S, M, R, C>( +

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl<P> QueryRows for &P
where + P: QueryRows + Send + Sync,

source§

fn query_rows<'a, S, M, R, C>( &'a self, statement: S, params: &'a [&'a dyn ToSql], mapper: M, - use_transaction: bool + use_transaction: bool ) -> BoxFuture<'a, Result<C>>
where - C: Default + Extend<R> + Send, - M: FnMut(Row) -> Result<R> + Send + 'a, - R: Send, - S: ?Sized + Debug + for<'b> Into<Cow<'b, str>> + Send + 'a,

Implementors§

\ No newline at end of file + C: Default + Extend<R> + Send, + M: FnMut(Row) -> Result<R> + Send + 'a, + R: Send, + S: ?Sized + Debug + for<'b> Into<Cow<'b, str>> + Send + 'a,

Implementors§

\ No newline at end of file diff --git a/storm_mssql/trait.SaveEntityPart.html b/storm_mssql/trait.SaveEntityPart.html index c9ba76cc..e3fcaaf1 100644 --- a/storm_mssql/trait.SaveEntityPart.html +++ b/storm_mssql/trait.SaveEntityPart.html @@ -1,4 +1,4 @@ -SaveEntityPart in storm_mssql - Rust +SaveEntityPart in storm_mssql - Rust
pub trait SaveEntityPart: Entity {
     // Required method
     fn save_entity_part<'a>(
@@ -10,7 +10,7 @@
     &'a self,
     k: &'a Self::Key,
     builder: &mut UpsertBuilder<'a>
-)

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl<T> SaveEntityPart for Option<T>
where +)

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl<T> SaveEntityPart for Option<T>
where T: SaveEntityPart,

source§

fn save_entity_part<'a>( &'a self, k: &'a Self::Key, diff --git a/storm_mssql/trait.ToSql.html b/storm_mssql/trait.ToSql.html index 103ff893..1411b4f1 100644 --- a/storm_mssql/trait.ToSql.html +++ b/storm_mssql/trait.ToSql.html @@ -1,6 +1,6 @@ -ToSql in storm_mssql - Rust -

Trait storm_mssql::ToSql

source ·
pub trait ToSql: Send + Sync {
+ToSql in storm_mssql - Rust
+    

Trait storm_mssql::ToSql

source ·
pub trait ToSql: Send + Sync {
     // Required method
     fn to_sql(&self) -> ColumnData<'_>;
-}

Required Methods§

source

fn to_sql(&self) -> ColumnData<'_>

Implementations on Foreign Types§

source§

impl ToSql for &str

source§

fn to_sql(&self) -> ColumnData<'_>

source§

impl ToSql for &[u8]

source§

fn to_sql(&self) -> ColumnData<'_>

source§

impl ToSql for bool

source§

fn to_sql(&self) -> ColumnData<'_>

source§

impl ToSql for f32

source§

fn to_sql(&self) -> ColumnData<'_>

source§

impl ToSql for f64

source§

fn to_sql(&self) -> ColumnData<'_>

source§

impl ToSql for i16

source§

fn to_sql(&self) -> ColumnData<'_>

source§

impl ToSql for i32

source§

fn to_sql(&self) -> ColumnData<'_>

source§

impl ToSql for i64

source§

fn to_sql(&self) -> ColumnData<'_>

source§

impl ToSql for str

source§

fn to_sql(&self) -> ColumnData<'_>

source§

impl ToSql for u8

source§

fn to_sql(&self) -> ColumnData<'_>

source§

impl ToSql for Box<str>

source§

fn to_sql(&self) -> ColumnData<'_>

source§

impl ToSql for Box<[u8]>

source§

fn to_sql(&self) -> ColumnData<'_>

source§

impl ToSql for String

source§

fn to_sql(&self) -> ColumnData<'_>

source§

impl ToSql for Arc<str>

source§

fn to_sql(&self) -> ColumnData<'_>

source§

impl ToSql for Arc<[u8]>

source§

fn to_sql(&self) -> ColumnData<'_>

source§

impl ToSql for Vec<u8>

source§

fn to_sql(&self) -> ColumnData<'_>

source§

impl ToSql for DateTime<FixedOffset>

source§

fn to_sql(&self) -> ColumnData<'_>

source§

impl ToSql for DateTime<Utc>

source§

fn to_sql(&self) -> ColumnData<'_>

source§

impl ToSql for NaiveDate

source§

fn to_sql(&self) -> ColumnData<'_>

source§

impl ToSql for NaiveDateTime

source§

fn to_sql(&self) -> ColumnData<'_>

source§

impl ToSql for NaiveTime

source§

fn to_sql(&self) -> ColumnData<'_>

source§

impl ToSql for Uuid

source§

fn to_sql(&self) -> ColumnData<'_>

source§

impl ToSql for [u8]

source§

fn to_sql(&self) -> ColumnData<'_>

source§

impl<'a> ToSql for Cow<'a, str>

source§

fn to_sql(&self) -> ColumnData<'_>

source§

impl<'a> ToSql for Cow<'a, [u8]>

source§

fn to_sql(&self) -> ColumnData<'_>

source§

impl<T> ToSql for Option<T>
where - T: ToSql + ToSqlNull,

source§

fn to_sql(&self) -> ColumnData<'_>

source§

impl<T: ToSql> ToSql for &T

source§

fn to_sql(&self) -> ColumnData<'_>

Implementors§

source§

impl<'a> ToSql for Parameter<'a>

\ No newline at end of file +}

Required Methods§

source

fn to_sql(&self) -> ColumnData<'_>

Implementations on Foreign Types§

source§

impl ToSql for &str

source§

fn to_sql(&self) -> ColumnData<'_>

source§

impl ToSql for &[u8]

source§

fn to_sql(&self) -> ColumnData<'_>

source§

impl ToSql for bool

source§

fn to_sql(&self) -> ColumnData<'_>

source§

impl ToSql for f32

source§

fn to_sql(&self) -> ColumnData<'_>

source§

impl ToSql for f64

source§

fn to_sql(&self) -> ColumnData<'_>

source§

impl ToSql for i16

source§

fn to_sql(&self) -> ColumnData<'_>

source§

impl ToSql for i32

source§

fn to_sql(&self) -> ColumnData<'_>

source§

impl ToSql for i64

source§

fn to_sql(&self) -> ColumnData<'_>

source§

impl ToSql for str

source§

fn to_sql(&self) -> ColumnData<'_>

source§

impl ToSql for u8

source§

fn to_sql(&self) -> ColumnData<'_>

source§

impl ToSql for Box<str>

source§

fn to_sql(&self) -> ColumnData<'_>

source§

impl ToSql for Box<[u8]>

source§

fn to_sql(&self) -> ColumnData<'_>

source§

impl ToSql for String

source§

fn to_sql(&self) -> ColumnData<'_>

source§

impl ToSql for Arc<str>

source§

fn to_sql(&self) -> ColumnData<'_>

source§

impl ToSql for Arc<[u8]>

source§

fn to_sql(&self) -> ColumnData<'_>

source§

impl ToSql for Vec<u8>

source§

fn to_sql(&self) -> ColumnData<'_>

source§

impl ToSql for DateTime<FixedOffset>

source§

fn to_sql(&self) -> ColumnData<'_>

source§

impl ToSql for DateTime<Utc>

source§

fn to_sql(&self) -> ColumnData<'_>

source§

impl ToSql for NaiveDate

source§

fn to_sql(&self) -> ColumnData<'_>

source§

impl ToSql for NaiveDateTime

source§

fn to_sql(&self) -> ColumnData<'_>

source§

impl ToSql for NaiveTime

source§

fn to_sql(&self) -> ColumnData<'_>

source§

impl ToSql for Uuid

source§

fn to_sql(&self) -> ColumnData<'_>

source§

impl ToSql for [u8]

source§

fn to_sql(&self) -> ColumnData<'_>

source§

impl<'a> ToSql for Cow<'a, str>

source§

fn to_sql(&self) -> ColumnData<'_>

source§

impl<'a> ToSql for Cow<'a, [u8]>

source§

fn to_sql(&self) -> ColumnData<'_>

source§

impl<T> ToSql for Option<T>
where + T: ToSql + ToSqlNull,

source§

fn to_sql(&self) -> ColumnData<'_>

source§

impl<T: ToSql> ToSql for &T

source§

fn to_sql(&self) -> ColumnData<'_>

Implementors§

source§

impl<'a> ToSql for Parameter<'a>

\ No newline at end of file diff --git a/storm_mssql/trait.ToSqlNull.html b/storm_mssql/trait.ToSqlNull.html index c7fc5c04..77451c65 100644 --- a/storm_mssql/trait.ToSqlNull.html +++ b/storm_mssql/trait.ToSqlNull.html @@ -1,5 +1,5 @@ -ToSqlNull in storm_mssql - Rust +ToSqlNull in storm_mssql - Rust
pub trait ToSqlNull {
     // Required method
     fn to_sql_null() -> ColumnData<'static>;
-}

Required Methods§

source

fn to_sql_null() -> ColumnData<'static>

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl ToSqlNull for &str

source§

fn to_sql_null() -> ColumnData<'static>

source§

impl ToSqlNull for &[u8]

source§

fn to_sql_null() -> ColumnData<'static>

source§

impl ToSqlNull for bool

source§

fn to_sql_null() -> ColumnData<'static>

source§

impl ToSqlNull for f32

source§

fn to_sql_null() -> ColumnData<'static>

source§

impl ToSqlNull for f64

source§

fn to_sql_null() -> ColumnData<'static>

source§

impl ToSqlNull for i16

source§

fn to_sql_null() -> ColumnData<'static>

source§

impl ToSqlNull for i32

source§

fn to_sql_null() -> ColumnData<'static>

source§

impl ToSqlNull for i64

source§

fn to_sql_null() -> ColumnData<'static>

source§

impl ToSqlNull for str

source§

fn to_sql_null() -> ColumnData<'static>

source§

impl ToSqlNull for u8

source§

fn to_sql_null() -> ColumnData<'static>

source§

impl ToSqlNull for Box<str>

source§

fn to_sql_null() -> ColumnData<'static>

source§

impl ToSqlNull for Box<[u8]>

source§

fn to_sql_null() -> ColumnData<'static>

source§

impl ToSqlNull for String

source§

fn to_sql_null() -> ColumnData<'static>

source§

impl ToSqlNull for Arc<str>

source§

fn to_sql_null() -> ColumnData<'static>

source§

impl ToSqlNull for Arc<[u8]>

source§

fn to_sql_null() -> ColumnData<'static>

source§

impl ToSqlNull for Vec<u8>

source§

fn to_sql_null() -> ColumnData<'static>

source§

impl ToSqlNull for DateTime<FixedOffset>

source§

fn to_sql_null() -> ColumnData<'static>

source§

impl ToSqlNull for DateTime<Utc>

source§

fn to_sql_null() -> ColumnData<'static>

source§

impl ToSqlNull for NaiveDate

source§

fn to_sql_null() -> ColumnData<'static>

source§

impl ToSqlNull for NaiveDateTime

source§

fn to_sql_null() -> ColumnData<'static>

source§

impl ToSqlNull for NaiveTime

source§

fn to_sql_null() -> ColumnData<'static>

source§

impl ToSqlNull for Uuid

source§

fn to_sql_null() -> ColumnData<'static>

source§

impl ToSqlNull for [u8]

source§

fn to_sql_null() -> ColumnData<'static>

source§

impl<'a> ToSqlNull for Cow<'a, str>

source§

fn to_sql_null() -> ColumnData<'static>

source§

impl<'a> ToSqlNull for Cow<'a, [u8]>

source§

fn to_sql_null() -> ColumnData<'static>

Implementors§

\ No newline at end of file +}

Required Methods§

source

fn to_sql_null() -> ColumnData<'static>

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl ToSqlNull for &str

source§

fn to_sql_null() -> ColumnData<'static>

source§

impl ToSqlNull for &[u8]

source§

fn to_sql_null() -> ColumnData<'static>

source§

impl ToSqlNull for bool

source§

fn to_sql_null() -> ColumnData<'static>

source§

impl ToSqlNull for f32

source§

fn to_sql_null() -> ColumnData<'static>

source§

impl ToSqlNull for f64

source§

fn to_sql_null() -> ColumnData<'static>

source§

impl ToSqlNull for i16

source§

fn to_sql_null() -> ColumnData<'static>

source§

impl ToSqlNull for i32

source§

fn to_sql_null() -> ColumnData<'static>

source§

impl ToSqlNull for i64

source§

fn to_sql_null() -> ColumnData<'static>

source§

impl ToSqlNull for str

source§

fn to_sql_null() -> ColumnData<'static>

source§

impl ToSqlNull for u8

source§

fn to_sql_null() -> ColumnData<'static>

source§

impl ToSqlNull for Box<str>

source§

fn to_sql_null() -> ColumnData<'static>

source§

impl ToSqlNull for Box<[u8]>

source§

fn to_sql_null() -> ColumnData<'static>

source§

impl ToSqlNull for String

source§

fn to_sql_null() -> ColumnData<'static>

source§

impl ToSqlNull for Arc<str>

source§

fn to_sql_null() -> ColumnData<'static>

source§

impl ToSqlNull for Arc<[u8]>

source§

fn to_sql_null() -> ColumnData<'static>

source§

impl ToSqlNull for Vec<u8>

source§

fn to_sql_null() -> ColumnData<'static>

source§

impl ToSqlNull for DateTime<FixedOffset>

source§

fn to_sql_null() -> ColumnData<'static>

source§

impl ToSqlNull for DateTime<Utc>

source§

fn to_sql_null() -> ColumnData<'static>

source§

impl ToSqlNull for NaiveDate

source§

fn to_sql_null() -> ColumnData<'static>

source§

impl ToSqlNull for NaiveDateTime

source§

fn to_sql_null() -> ColumnData<'static>

source§

impl ToSqlNull for NaiveTime

source§

fn to_sql_null() -> ColumnData<'static>

source§

impl ToSqlNull for Uuid

source§

fn to_sql_null() -> ColumnData<'static>

source§

impl ToSqlNull for [u8]

source§

fn to_sql_null() -> ColumnData<'static>

source§

impl<'a> ToSqlNull for Cow<'a, str>

source§

fn to_sql_null() -> ColumnData<'static>

source§

impl<'a> ToSqlNull for Cow<'a, [u8]>

source§

fn to_sql_null() -> ColumnData<'static>

Implementors§

\ No newline at end of file diff --git a/storm_mssql/type.Client.html b/storm_mssql/type.Client.html index be19e691..e6dcc27f 100644 --- a/storm_mssql/type.Client.html +++ b/storm_mssql/type.Client.html @@ -1,2 +1,2 @@ -Client in storm_mssql - Rust -

Type Alias storm_mssql::Client

source ·
pub type Client = Client<Compat<TcpStream>>;

Aliased Type§

struct Client { /* private fields */ }
\ No newline at end of file +Client in storm_mssql - Rust +

Type Alias storm_mssql::Client

source ·
pub type Client = Client<Compat<TcpStream>>;

Aliased Type§

struct Client { /* private fields */ }
\ No newline at end of file diff --git a/storm_mssql/type.Result.html b/storm_mssql/type.Result.html index 4fb72365..9cf57893 100644 --- a/storm_mssql/type.Result.html +++ b/storm_mssql/type.Result.html @@ -1,5 +1,5 @@ -Result in storm_mssql - Rust -

Type Alias storm_mssql::Result

pub type Result<T> = Result<T, Error>;

Aliased Type§

enum Result<T> {
+Result in storm_mssql - Rust
+    

Type Alias storm_mssql::Result

pub type Result<T> = Result<T, Error>;

Aliased Type§

enum Result<T> {
     Ok(T),
     Err(Error),
 }

Variants§

§1.0.0

Ok(T)

Contains the success value

diff --git a/trait.impl/attached/register/trait.VarRegister.js b/trait.impl/attached/register/trait.VarRegister.js index c8268f3d..4093fbbe 100644 --- a/trait.impl/attached/register/trait.VarRegister.js +++ b/trait.impl/attached/register/trait.VarRegister.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"storm":[["impl VarRegister for Log"],["impl VarRegister for Tbl"]] +"storm":[["impl VarRegister for Tbl"],["impl VarRegister for Log"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/core/clone/trait.Clone.js b/trait.impl/core/clone/trait.Clone.js index 1e0db6e0..5c149ac6 100644 --- a/trait.impl/core/clone/trait.Clone.js +++ b/trait.impl/core/clone/trait.Clone.js @@ -1,4 +1,4 @@ (function() {var implementors = { -"storm":[["impl<E: Clone> Clone for Changed<E>"],["impl<E> Clone for VecTable<E>
where\n E: Clone + Entity,\n E::Key: Clone,
"],["impl<Fields: Clone> Clone for FieldsOrStr<Fields>"],["impl<T: Clone> Clone for LogState<T>"]], -"storm_mssql":[["impl Clone for ExecuteArgs"]] +"storm":[["impl<E: Clone> Clone for Changed<E>"],["impl<Fields: Clone> Clone for FieldsOrStr<Fields>"],["impl<T: Clone> Clone for LogState<T>"],["impl<E> Clone for VecTable<E>
where\n E: Clone + Entity,\n E::Key: Clone,
"]], +"storm_mssql":[["impl Clone for ExecuteArgs"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/core/cmp/trait.Eq.js b/trait.impl/core/cmp/trait.Eq.js index ae167160..a35cb071 100644 --- a/trait.impl/core/cmp/trait.Eq.js +++ b/trait.impl/core/cmp/trait.Eq.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"storm":[["impl<Fields: Eq> Eq for FieldsOrStr<Fields>"]] +"storm":[["impl<Fields: Eq> Eq for FieldsOrStr<Fields>"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/core/cmp/trait.PartialEq.js b/trait.impl/core/cmp/trait.PartialEq.js index fd11fa2c..2d159bb0 100644 --- a/trait.impl/core/cmp/trait.PartialEq.js +++ b/trait.impl/core/cmp/trait.PartialEq.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"storm":[["impl<Fields: PartialEq> PartialEq for FieldsOrStr<Fields>"],["impl<T: PartialEq> PartialEq for LogState<T>"]] +"storm":[["impl<T: PartialEq> PartialEq for LogState<T>"],["impl<Fields: PartialEq> PartialEq for FieldsOrStr<Fields>"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/core/convert/trait.AsRef.js b/trait.impl/core/convert/trait.AsRef.js index 1b9b297f..cbd118f7 100644 --- a/trait.impl/core/convert/trait.AsRef.js +++ b/trait.impl/core/convert/trait.AsRef.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"storm":[["impl<E: Entity> AsRef<VecTable<E>> for VecTable<E>"],["impl<'a, E: Entity, L> AsRef<VecTable<E>> for CtxLocks<'a, L>
where\n L: AsRef<VecTable<E>>,
"],["impl<E: Entity> AsRef<HashTable<E>> for HashTable<E>"],["impl<'a, E: Entity, L> AsRef<HashTable<E>> for CtxLocks<'a, L>
where\n L: AsRef<HashTable<E>>,
"]] +"storm":[["impl<'a, E: Entity, L> AsRef<HashTable<E>> for CtxLocks<'a, L>
where\n L: AsRef<HashTable<E>>,
"],["impl<E: Entity> AsRef<HashTable<E>> for HashTable<E>"],["impl<'a, E: Entity, L> AsRef<VecTable<E>> for CtxLocks<'a, L>
where\n L: AsRef<VecTable<E>>,
"],["impl<E: Entity> AsRef<VecTable<E>> for VecTable<E>"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/core/convert/trait.From.js b/trait.impl/core/convert/trait.From.js index a58f840e..c89f471c 100644 --- a/trait.impl/core/convert/trait.From.js +++ b/trait.impl/core/convert/trait.From.js @@ -1,4 +1,4 @@ (function() {var implementors = { -"storm":[["impl From<ProviderContainer> for Ctx"],["impl From<Box<dyn Error + Send + Sync>> for Error"],["impl From<Error> for Error"],["impl From<Error> for Error"]], -"storm_mssql":[["impl From<MssqlFactory> for TransactionScoped<MssqlFactory>"],["impl From<Box<dyn ClientFactory>> for MssqlProvider"]] +"storm":[["impl From<Error> for Error"],["impl From<Box<dyn Error + Send + Sync>> for Error"],["impl From<Error> for Error"],["impl From<ProviderContainer> for Ctx"]], +"storm_mssql":[["impl From<Box<dyn ClientFactory>> for MssqlProvider"],["impl From<MssqlFactory> for TransactionScoped<MssqlFactory>"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/core/default/trait.Default.js b/trait.impl/core/default/trait.Default.js index cea17979..be58949d 100644 --- a/trait.impl/core/default/trait.Default.js +++ b/trait.impl/core/default/trait.Default.js @@ -1,4 +1,4 @@ (function() {var implementors = { -"storm":[["impl Default for Ctx"],["impl<E: Entity> Default for LoadAllKeyOnly<E>"],["impl<E: Entity> Default for VecTable<E>"],["impl<E> Default for OnChanged<E>"],["impl<E: Entity> Default for HashTable<E>"],["impl Default for GcCtx"],["impl Default for ProviderContainer"],["impl<E> Default for OnRemove<E>"],["impl Default for LoadArgs"]], -"storm_mssql":[["impl Default for ExecuteArgs"]] +"storm":[["impl<E> Default for OnRemove<E>"],["impl Default for LoadArgs"],["impl Default for GcCtx"],["impl Default for Ctx"],["impl<E> Default for OnChanged<E>"],["impl<E: Entity> Default for LoadAllKeyOnly<E>"],["impl<E: Entity> Default for HashTable<E>"],["impl<E: Entity> Default for VecTable<E>"],["impl Default for ProviderContainer"]], +"storm_mssql":[["impl Default for ExecuteArgs"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/core/error/trait.Error.js b/trait.impl/core/error/trait.Error.js index 1196d9de..14798be6 100644 --- a/trait.impl/core/error/trait.Error.js +++ b/trait.impl/core/error/trait.Error.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"storm":[["impl Error for Error"]] +"storm":[["impl Error for Error"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/core/fmt/trait.Debug.js b/trait.impl/core/fmt/trait.Debug.js index 9c69a67a..955ef868 100644 --- a/trait.impl/core/fmt/trait.Debug.js +++ b/trait.impl/core/fmt/trait.Debug.js @@ -1,4 +1,4 @@ (function() {var implementors = { -"storm":[["impl<T: Debug> Debug for LogState<T>"],["impl Debug for Error"],["impl Debug for LoadArgs"]], -"storm_mssql":[["impl Debug for ExecuteArgs"]] +"storm":[["impl Debug for Error"],["impl Debug for LoadArgs"],["impl<T: Debug> Debug for LogState<T>"]], +"storm_mssql":[["impl Debug for ExecuteArgs"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/core/fmt/trait.Display.js b/trait.impl/core/fmt/trait.Display.js index 26d1a8d1..5866dd4a 100644 --- a/trait.impl/core/fmt/trait.Display.js +++ b/trait.impl/core/fmt/trait.Display.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"storm":[["impl Display for Error"]] +"storm":[["impl Display for Error"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/core/hash/trait.Hash.js b/trait.impl/core/hash/trait.Hash.js index dce7e429..97eddd51 100644 --- a/trait.impl/core/hash/trait.Hash.js +++ b/trait.impl/core/hash/trait.Hash.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"storm":[["impl<Fields: Hash> Hash for FieldsOrStr<Fields>"]] +"storm":[["impl<Fields: Hash> Hash for FieldsOrStr<Fields>"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/core/iter/traits/collect/trait.Extend.js b/trait.impl/core/iter/traits/collect/trait.Extend.js index a4646222..e6ca50a5 100644 --- a/trait.impl/core/iter/traits/collect/trait.Extend.js +++ b/trait.impl/core/iter/traits/collect/trait.Extend.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"storm":[["impl<E> Extend<(<E as Entity>::Key, E)> for HashTable<E>
where\n E: CtxTypeInfo + Entity,\n E::Key: Eq + Hash,
"],["impl<E: Entity> Extend<(<E as Entity>::Key, E)> for LoadAllKeyOnly<E>"],["impl<E> Extend<(<E as Entity>::Key, E)> for VecTable<E>
where\n E: CtxTypeInfo + Entity,\n E::Key: Copy + Into<usize>,
"]] +"storm":[["impl<E: Entity> Extend<(<E as Entity>::Key, E)> for LoadAllKeyOnly<E>"],["impl<E> Extend<(<E as Entity>::Key, E)> for HashTable<E>
where\n E: CtxTypeInfo + Entity,\n E::Key: Eq + Hash,
"],["impl<E> Extend<(<E as Entity>::Key, E)> for VecTable<E>
where\n E: CtxTypeInfo + Entity,\n E::Key: Copy + Into<usize>,
"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/core/iter/traits/collect/trait.FromIterator.js b/trait.impl/core/iter/traits/collect/trait.FromIterator.js index cdb5b2b0..f5703660 100644 --- a/trait.impl/core/iter/traits/collect/trait.FromIterator.js +++ b/trait.impl/core/iter/traits/collect/trait.FromIterator.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"storm":[["impl<ONE, MANY> FromIterator<(ONE, MANY)> for OneToMany<ONE, MANY>
where\n ONE: Copy + From<usize> + Into<usize>,\n MANY: Eq + Hash,
"]] +"storm":[["impl<ONE, MANY> FromIterator<(ONE, MANY)> for OneToMany<ONE, MANY>
where\n ONE: Copy + From<usize> + Into<usize>,\n MANY: Eq + Hash,
"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/core/iter/traits/collect/trait.IntoIterator.js b/trait.impl/core/iter/traits/collect/trait.IntoIterator.js index a3401544..79e17a05 100644 --- a/trait.impl/core/iter/traits/collect/trait.IntoIterator.js +++ b/trait.impl/core/iter/traits/collect/trait.IntoIterator.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"storm":[["impl<'a, ONE, MANY> IntoIterator for &'a OneToMany<ONE, MANY>
where\n ONE: Copy + From<usize>,
"],["impl<'a, E: Entity> IntoIterator for &'a HashTable<E>"],["impl<'a, E: Entity> IntoIterator for &'a VecTable<E>
where\n E::Key: Copy + From<usize>,
"]] +"storm":[["impl<'a, ONE, MANY> IntoIterator for &'a OneToMany<ONE, MANY>
where\n ONE: Copy + From<usize>,
"],["impl<'a, E: Entity> IntoIterator for &'a VecTable<E>
where\n E::Key: Copy + From<usize>,
"],["impl<'a, E: Entity> IntoIterator for &'a HashTable<E>"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/core/marker/trait.Copy.js b/trait.impl/core/marker/trait.Copy.js index dfafc89a..a45a0685 100644 --- a/trait.impl/core/marker/trait.Copy.js +++ b/trait.impl/core/marker/trait.Copy.js @@ -1,4 +1,4 @@ (function() {var implementors = { -"storm":[["impl<E: Copy> Copy for Changed<E>"]], -"storm_mssql":[["impl Copy for ExecuteArgs"]] +"storm":[["impl<E: Copy> Copy for Changed<E>"]], +"storm_mssql":[["impl Copy for ExecuteArgs"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/core/marker/trait.Send.js b/trait.impl/core/marker/trait.Send.js index a68ba216..8bfcf79d 100644 --- a/trait.impl/core/marker/trait.Send.js +++ b/trait.impl/core/marker/trait.Send.js @@ -1,4 +1,4 @@ (function() {var implementors = { -"storm":[["impl Send for Tbl",1,["storm::accessor::vars::Tbl"]],["impl Send for Log",1,["storm::accessor::vars::Log"]],["impl Send for Ctx",1,["storm::ctx::Ctx"]],["impl<'a, L> Send for CtxLocks<'a, L>
where\n L: Send,
",1,["storm::ctx::CtxLocks"]],["impl<'a> Send for CtxTransaction<'a>",1,["storm::ctx::CtxTransaction"]],["impl<'a, 'b, E> Send for TblTransaction<'a, 'b, E>",1,["storm::ctx::TblTransaction"]],["impl<Fields> Send for FieldsOrStr<Fields>
where\n Fields: Send,
",1,["storm::entity_fields::FieldsOrStr"]],["impl Send for Error",1,["storm::error::Error"]],["impl Send for GcCtx",1,["storm::gc::GcCtx"]],["impl<E> Send for HashTable<E>",1,["storm::hash_table::HashTable"]],["impl Send for Logs",1,["storm::logs::Logs"]],["impl<E> Send for Changed<E>
where\n E: Send,
",1,["storm::on_changed::Changed"]],["impl<E> Send for OnChanged<E>",1,["storm::on_changed::OnChanged"]],["impl<E> Send for OnRemove<E>",1,["storm::on_remove::OnRemove"]],["impl<ONE, MANY> Send for OneToMany<ONE, MANY>
where\n MANY: Send,\n ONE: Send,
",1,["storm::one_to_many::OneToMany"]],["impl Send for LoadArgs",1,["storm::provider::load_all::LoadArgs"]],["impl<E> Send for LoadAllKeyOnly<E>",1,["storm::provider::load_all::LoadAllKeyOnly"]],["impl Send for ProviderContainer",1,["storm::provider::provider_container::ProviderContainer"]],["impl<'a> Send for TransactionProvider<'a>",1,["storm::provider::transaction_provider::TransactionProvider"]],["impl<T> Send for LogState<T>
where\n T: Send,
",1,["storm::state::LogState"]],["impl<E> Send for VecTable<E>",1,["storm::vec_table::VecTable"]]], -"storm_mssql":[["impl Send for ExecuteArgs",1,["storm_mssql::execute::ExecuteArgs"]],["impl<'a, K> Send for KeysFilter<'a, K>
where\n K: Sync,
",1,["storm_mssql::filter_sql::KeysFilter"]],["impl Send for MssqlFactory",1,["storm_mssql::mssql_factory::MssqlFactory"]],["impl Send for MssqlProvider",1,["storm_mssql::mssql_provider::MssqlProvider"]],["impl<'a> Send for MssqlTransactionGuard<'a>",1,["storm_mssql::mssql_provider::MssqlTransactionGuard"]],["impl<'a> Send for Parameter<'a>",1,["storm_mssql::parameter::Parameter"]],["impl<F> Send for TransactionScoped<F>
where\n F: Send,
",1,["storm_mssql::transaction_scoped::TransactionScoped"]],["impl<'a> Send for UpsertBuilder<'a>",1,["storm_mssql::upsert_builder::UpsertBuilder"]]] +"storm":[["impl Send for Tbl",1,["storm::accessor::vars::Tbl"]],["impl Send for Log",1,["storm::accessor::vars::Log"]],["impl Send for Ctx",1,["storm::ctx::Ctx"]],["impl<'a, L> Send for CtxLocks<'a, L>
where\n L: Send,
",1,["storm::ctx::CtxLocks"]],["impl<'a> Send for CtxTransaction<'a>",1,["storm::ctx::CtxTransaction"]],["impl<'a, 'b, E> Send for TblTransaction<'a, 'b, E>",1,["storm::ctx::TblTransaction"]],["impl<Fields> Send for FieldsOrStr<Fields>
where\n Fields: Send,
",1,["storm::entity_fields::FieldsOrStr"]],["impl Send for Error",1,["storm::error::Error"]],["impl Send for GcCtx",1,["storm::gc::GcCtx"]],["impl<E> Send for HashTable<E>",1,["storm::hash_table::HashTable"]],["impl Send for Logs",1,["storm::logs::Logs"]],["impl<E> Send for Changed<E>
where\n E: Send,
",1,["storm::on_changed::Changed"]],["impl<E> Send for OnChanged<E>",1,["storm::on_changed::OnChanged"]],["impl<E> Send for OnRemove<E>",1,["storm::on_remove::OnRemove"]],["impl<ONE, MANY> Send for OneToMany<ONE, MANY>
where\n MANY: Send,\n ONE: Send,
",1,["storm::one_to_many::OneToMany"]],["impl Send for LoadArgs",1,["storm::provider::load_all::LoadArgs"]],["impl<E> Send for LoadAllKeyOnly<E>",1,["storm::provider::load_all::LoadAllKeyOnly"]],["impl Send for ProviderContainer",1,["storm::provider::provider_container::ProviderContainer"]],["impl<'a> Send for TransactionProvider<'a>",1,["storm::provider::transaction_provider::TransactionProvider"]],["impl<T> Send for LogState<T>
where\n T: Send,
",1,["storm::state::LogState"]],["impl<E> Send for VecTable<E>",1,["storm::vec_table::VecTable"]]], +"storm_mssql":[["impl Send for ExecuteArgs",1,["storm_mssql::execute::ExecuteArgs"]],["impl<'a, K> Send for KeysFilter<'a, K>
where\n K: Sync,
",1,["storm_mssql::filter_sql::KeysFilter"]],["impl Send for MssqlFactory",1,["storm_mssql::mssql_factory::MssqlFactory"]],["impl Send for MssqlProvider",1,["storm_mssql::mssql_provider::MssqlProvider"]],["impl<'a> Send for MssqlTransactionGuard<'a>",1,["storm_mssql::mssql_provider::MssqlTransactionGuard"]],["impl<'a> Send for Parameter<'a>",1,["storm_mssql::parameter::Parameter"]],["impl<F> Send for TransactionScoped<F>
where\n F: Send,
",1,["storm_mssql::transaction_scoped::TransactionScoped"]],["impl<'a> Send for UpsertBuilder<'a>",1,["storm_mssql::upsert_builder::UpsertBuilder"]]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/core/marker/trait.StructuralPartialEq.js b/trait.impl/core/marker/trait.StructuralPartialEq.js index b6294f2e..8cdba239 100644 --- a/trait.impl/core/marker/trait.StructuralPartialEq.js +++ b/trait.impl/core/marker/trait.StructuralPartialEq.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"storm":[["impl<Fields> StructuralPartialEq for FieldsOrStr<Fields>"]] +"storm":[["impl<Fields> StructuralPartialEq for FieldsOrStr<Fields>"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/core/marker/trait.Sync.js b/trait.impl/core/marker/trait.Sync.js index bc7a4ad6..5a7c51bc 100644 --- a/trait.impl/core/marker/trait.Sync.js +++ b/trait.impl/core/marker/trait.Sync.js @@ -1,4 +1,4 @@ (function() {var implementors = { -"storm":[["impl Sync for Tbl",1,["storm::accessor::vars::Tbl"]],["impl Sync for Log",1,["storm::accessor::vars::Log"]],["impl Sync for Ctx",1,["storm::ctx::Ctx"]],["impl<'a, L> Sync for CtxLocks<'a, L>
where\n L: Sync,
",1,["storm::ctx::CtxLocks"]],["impl<'a> Sync for CtxTransaction<'a>",1,["storm::ctx::CtxTransaction"]],["impl<'a, 'b, E> Sync for TblTransaction<'a, 'b, E>",1,["storm::ctx::TblTransaction"]],["impl<Fields> Sync for FieldsOrStr<Fields>
where\n Fields: Sync,
",1,["storm::entity_fields::FieldsOrStr"]],["impl Sync for Error",1,["storm::error::Error"]],["impl Sync for GcCtx",1,["storm::gc::GcCtx"]],["impl<E> Sync for HashTable<E>",1,["storm::hash_table::HashTable"]],["impl Sync for Logs",1,["storm::logs::Logs"]],["impl<E> Sync for Changed<E>
where\n E: Sync,
",1,["storm::on_changed::Changed"]],["impl<E> Sync for OnChanged<E>",1,["storm::on_changed::OnChanged"]],["impl<E> Sync for OnRemove<E>",1,["storm::on_remove::OnRemove"]],["impl<ONE, MANY> Sync for OneToMany<ONE, MANY>
where\n MANY: Sync,\n ONE: Sync,
",1,["storm::one_to_many::OneToMany"]],["impl Sync for LoadArgs",1,["storm::provider::load_all::LoadArgs"]],["impl<E> Sync for LoadAllKeyOnly<E>",1,["storm::provider::load_all::LoadAllKeyOnly"]],["impl Sync for ProviderContainer",1,["storm::provider::provider_container::ProviderContainer"]],["impl<'a> Sync for TransactionProvider<'a>",1,["storm::provider::transaction_provider::TransactionProvider"]],["impl<T> Sync for LogState<T>
where\n T: Sync,
",1,["storm::state::LogState"]],["impl<E> Sync for VecTable<E>",1,["storm::vec_table::VecTable"]]], -"storm_mssql":[["impl Sync for ExecuteArgs",1,["storm_mssql::execute::ExecuteArgs"]],["impl<'a, K> Sync for KeysFilter<'a, K>
where\n K: Sync,
",1,["storm_mssql::filter_sql::KeysFilter"]],["impl Sync for MssqlFactory",1,["storm_mssql::mssql_factory::MssqlFactory"]],["impl Sync for MssqlProvider",1,["storm_mssql::mssql_provider::MssqlProvider"]],["impl<'a> Sync for MssqlTransactionGuard<'a>",1,["storm_mssql::mssql_provider::MssqlTransactionGuard"]],["impl<'a> Sync for Parameter<'a>",1,["storm_mssql::parameter::Parameter"]],["impl<F> Sync for TransactionScoped<F>
where\n F: Sync,
",1,["storm_mssql::transaction_scoped::TransactionScoped"]],["impl<'a> Sync for UpsertBuilder<'a>",1,["storm_mssql::upsert_builder::UpsertBuilder"]]] +"storm":[["impl Sync for Tbl",1,["storm::accessor::vars::Tbl"]],["impl Sync for Log",1,["storm::accessor::vars::Log"]],["impl Sync for Ctx",1,["storm::ctx::Ctx"]],["impl<'a, L> Sync for CtxLocks<'a, L>
where\n L: Sync,
",1,["storm::ctx::CtxLocks"]],["impl<'a> Sync for CtxTransaction<'a>",1,["storm::ctx::CtxTransaction"]],["impl<'a, 'b, E> Sync for TblTransaction<'a, 'b, E>",1,["storm::ctx::TblTransaction"]],["impl<Fields> Sync for FieldsOrStr<Fields>
where\n Fields: Sync,
",1,["storm::entity_fields::FieldsOrStr"]],["impl Sync for Error",1,["storm::error::Error"]],["impl Sync for GcCtx",1,["storm::gc::GcCtx"]],["impl<E> Sync for HashTable<E>",1,["storm::hash_table::HashTable"]],["impl Sync for Logs",1,["storm::logs::Logs"]],["impl<E> Sync for Changed<E>
where\n E: Sync,
",1,["storm::on_changed::Changed"]],["impl<E> Sync for OnChanged<E>",1,["storm::on_changed::OnChanged"]],["impl<E> Sync for OnRemove<E>",1,["storm::on_remove::OnRemove"]],["impl<ONE, MANY> Sync for OneToMany<ONE, MANY>
where\n MANY: Sync,\n ONE: Sync,
",1,["storm::one_to_many::OneToMany"]],["impl Sync for LoadArgs",1,["storm::provider::load_all::LoadArgs"]],["impl<E> Sync for LoadAllKeyOnly<E>",1,["storm::provider::load_all::LoadAllKeyOnly"]],["impl Sync for ProviderContainer",1,["storm::provider::provider_container::ProviderContainer"]],["impl<'a> Sync for TransactionProvider<'a>",1,["storm::provider::transaction_provider::TransactionProvider"]],["impl<T> Sync for LogState<T>
where\n T: Sync,
",1,["storm::state::LogState"]],["impl<E> Sync for VecTable<E>",1,["storm::vec_table::VecTable"]]], +"storm_mssql":[["impl Sync for ExecuteArgs",1,["storm_mssql::execute::ExecuteArgs"]],["impl<'a, K> Sync for KeysFilter<'a, K>
where\n K: Sync,
",1,["storm_mssql::filter_sql::KeysFilter"]],["impl Sync for MssqlFactory",1,["storm_mssql::mssql_factory::MssqlFactory"]],["impl Sync for MssqlProvider",1,["storm_mssql::mssql_provider::MssqlProvider"]],["impl<'a> Sync for MssqlTransactionGuard<'a>",1,["storm_mssql::mssql_provider::MssqlTransactionGuard"]],["impl<'a> Sync for Parameter<'a>",1,["storm_mssql::parameter::Parameter"]],["impl<F> Sync for TransactionScoped<F>
where\n F: Sync,
",1,["storm_mssql::transaction_scoped::TransactionScoped"]],["impl<'a> Sync for UpsertBuilder<'a>",1,["storm_mssql::upsert_builder::UpsertBuilder"]]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/core/marker/trait.Unpin.js b/trait.impl/core/marker/trait.Unpin.js index 8e609df3..f86f0676 100644 --- a/trait.impl/core/marker/trait.Unpin.js +++ b/trait.impl/core/marker/trait.Unpin.js @@ -1,4 +1,4 @@ (function() {var implementors = { -"storm":[["impl Unpin for Tbl",1,["storm::accessor::vars::Tbl"]],["impl Unpin for Log",1,["storm::accessor::vars::Log"]],["impl Unpin for Ctx",1,["storm::ctx::Ctx"]],["impl<'a, L> Unpin for CtxLocks<'a, L>
where\n L: Unpin,
",1,["storm::ctx::CtxLocks"]],["impl<'a> Unpin for CtxTransaction<'a>",1,["storm::ctx::CtxTransaction"]],["impl<'a, 'b, E> Unpin for TblTransaction<'a, 'b, E>",1,["storm::ctx::TblTransaction"]],["impl<Fields> Unpin for FieldsOrStr<Fields>
where\n Fields: Unpin,
",1,["storm::entity_fields::FieldsOrStr"]],["impl Unpin for Error",1,["storm::error::Error"]],["impl Unpin for GcCtx",1,["storm::gc::GcCtx"]],["impl<E> Unpin for HashTable<E>
where\n E: Unpin,\n <E as Entity>::Key: Unpin,
",1,["storm::hash_table::HashTable"]],["impl Unpin for Logs",1,["storm::logs::Logs"]],["impl<E> Unpin for Changed<E>
where\n E: Unpin,
",1,["storm::on_changed::Changed"]],["impl<E> Unpin for OnChanged<E>",1,["storm::on_changed::OnChanged"]],["impl<E> Unpin for OnRemove<E>",1,["storm::on_remove::OnRemove"]],["impl<ONE, MANY> Unpin for OneToMany<ONE, MANY>
where\n ONE: Unpin,
",1,["storm::one_to_many::OneToMany"]],["impl Unpin for LoadArgs",1,["storm::provider::load_all::LoadArgs"]],["impl<E> Unpin for LoadAllKeyOnly<E>
where\n <E as Entity>::Key: Unpin,
",1,["storm::provider::load_all::LoadAllKeyOnly"]],["impl Unpin for ProviderContainer",1,["storm::provider::provider_container::ProviderContainer"]],["impl<'a> Unpin for TransactionProvider<'a>",1,["storm::provider::transaction_provider::TransactionProvider"]],["impl<T> Unpin for LogState<T>
where\n T: Unpin,
",1,["storm::state::LogState"]],["impl<E> Unpin for VecTable<E>
where\n E: Unpin,\n <E as Entity>::Key: Unpin,
",1,["storm::vec_table::VecTable"]]], -"storm_mssql":[["impl Unpin for ExecuteArgs",1,["storm_mssql::execute::ExecuteArgs"]],["impl<'a, K> Unpin for KeysFilter<'a, K>",1,["storm_mssql::filter_sql::KeysFilter"]],["impl Unpin for MssqlFactory",1,["storm_mssql::mssql_factory::MssqlFactory"]],["impl Unpin for MssqlProvider",1,["storm_mssql::mssql_provider::MssqlProvider"]],["impl<'a> Unpin for MssqlTransactionGuard<'a>",1,["storm_mssql::mssql_provider::MssqlTransactionGuard"]],["impl<'a> Unpin for Parameter<'a>",1,["storm_mssql::parameter::Parameter"]],["impl<F> Unpin for TransactionScoped<F>
where\n F: Unpin,
",1,["storm_mssql::transaction_scoped::TransactionScoped"]],["impl<'a> Unpin for UpsertBuilder<'a>",1,["storm_mssql::upsert_builder::UpsertBuilder"]]] +"storm":[["impl Unpin for Tbl",1,["storm::accessor::vars::Tbl"]],["impl Unpin for Log",1,["storm::accessor::vars::Log"]],["impl Unpin for Ctx",1,["storm::ctx::Ctx"]],["impl<'a, L> Unpin for CtxLocks<'a, L>
where\n L: Unpin,
",1,["storm::ctx::CtxLocks"]],["impl<'a> Unpin for CtxTransaction<'a>",1,["storm::ctx::CtxTransaction"]],["impl<'a, 'b, E> Unpin for TblTransaction<'a, 'b, E>",1,["storm::ctx::TblTransaction"]],["impl<Fields> Unpin for FieldsOrStr<Fields>
where\n Fields: Unpin,
",1,["storm::entity_fields::FieldsOrStr"]],["impl Unpin for Error",1,["storm::error::Error"]],["impl Unpin for GcCtx",1,["storm::gc::GcCtx"]],["impl<E> Unpin for HashTable<E>
where\n E: Unpin,\n <E as Entity>::Key: Unpin,
",1,["storm::hash_table::HashTable"]],["impl Unpin for Logs",1,["storm::logs::Logs"]],["impl<E> Unpin for Changed<E>
where\n E: Unpin,
",1,["storm::on_changed::Changed"]],["impl<E> Unpin for OnChanged<E>",1,["storm::on_changed::OnChanged"]],["impl<E> Unpin for OnRemove<E>",1,["storm::on_remove::OnRemove"]],["impl<ONE, MANY> Unpin for OneToMany<ONE, MANY>
where\n ONE: Unpin,
",1,["storm::one_to_many::OneToMany"]],["impl Unpin for LoadArgs",1,["storm::provider::load_all::LoadArgs"]],["impl<E> Unpin for LoadAllKeyOnly<E>
where\n <E as Entity>::Key: Unpin,
",1,["storm::provider::load_all::LoadAllKeyOnly"]],["impl Unpin for ProviderContainer",1,["storm::provider::provider_container::ProviderContainer"]],["impl<'a> Unpin for TransactionProvider<'a>",1,["storm::provider::transaction_provider::TransactionProvider"]],["impl<T> Unpin for LogState<T>
where\n T: Unpin,
",1,["storm::state::LogState"]],["impl<E> Unpin for VecTable<E>
where\n E: Unpin,\n <E as Entity>::Key: Unpin,
",1,["storm::vec_table::VecTable"]]], +"storm_mssql":[["impl Unpin for ExecuteArgs",1,["storm_mssql::execute::ExecuteArgs"]],["impl<'a, K> Unpin for KeysFilter<'a, K>",1,["storm_mssql::filter_sql::KeysFilter"]],["impl Unpin for MssqlFactory",1,["storm_mssql::mssql_factory::MssqlFactory"]],["impl Unpin for MssqlProvider",1,["storm_mssql::mssql_provider::MssqlProvider"]],["impl<'a> Unpin for MssqlTransactionGuard<'a>",1,["storm_mssql::mssql_provider::MssqlTransactionGuard"]],["impl<'a> Unpin for Parameter<'a>",1,["storm_mssql::parameter::Parameter"]],["impl<F> Unpin for TransactionScoped<F>
where\n F: Unpin,
",1,["storm_mssql::transaction_scoped::TransactionScoped"]],["impl<'a> Unpin for UpsertBuilder<'a>",1,["storm_mssql::upsert_builder::UpsertBuilder"]]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/core/ops/deref/trait.Deref.js b/trait.impl/core/ops/deref/trait.Deref.js index 1011dff3..1f4d5323 100644 --- a/trait.impl/core/ops/deref/trait.Deref.js +++ b/trait.impl/core/ops/deref/trait.Deref.js @@ -1,4 +1,4 @@ (function() {var implementors = { -"storm":[["impl<E: Entity> Deref for HashTable<E>"],["impl<'a> Deref for TransactionProvider<'a>"],["impl<E: Entity> Deref for VecTable<E>"]], -"storm_mssql":[["impl<'a> Deref for MssqlTransactionGuard<'a>"]] +"storm":[["impl<E: Entity> Deref for VecTable<E>"],["impl<'a> Deref for TransactionProvider<'a>"],["impl<E: Entity> Deref for HashTable<E>"]], +"storm_mssql":[["impl<'a> Deref for MssqlTransactionGuard<'a>"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/core/ops/deref/trait.DerefMut.js b/trait.impl/core/ops/deref/trait.DerefMut.js index 37ba5d2a..9ecb5af8 100644 --- a/trait.impl/core/ops/deref/trait.DerefMut.js +++ b/trait.impl/core/ops/deref/trait.DerefMut.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"storm_mssql":[["impl<'a> DerefMut for MssqlTransactionGuard<'a>"]] +"storm_mssql":[["impl<'a> DerefMut for MssqlTransactionGuard<'a>"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/core/ops/drop/trait.Drop.js b/trait.impl/core/ops/drop/trait.Drop.js index 14ba78dc..0cf71b49 100644 --- a/trait.impl/core/ops/drop/trait.Drop.js +++ b/trait.impl/core/ops/drop/trait.Drop.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"storm":[["impl<'a> Drop for TransactionProvider<'a>"]] +"storm":[["impl<'a> Drop for TransactionProvider<'a>"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/core/ops/index/trait.Index.js b/trait.impl/core/ops/index/trait.Index.js index d104bee9..87a5237f 100644 --- a/trait.impl/core/ops/index/trait.Index.js +++ b/trait.impl/core/ops/index/trait.Index.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"storm":[["impl<ONE, MANY> Index<&ONE> for OneToMany<ONE, MANY>
where\n ONE: Copy + Into<usize>,
"]] +"storm":[["impl<ONE, MANY> Index<&ONE> for OneToMany<ONE, MANY>
where\n ONE: Copy + Into<usize>,
"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/core/panic/unwind_safe/trait.RefUnwindSafe.js b/trait.impl/core/panic/unwind_safe/trait.RefUnwindSafe.js index 3628669c..1976ea64 100644 --- a/trait.impl/core/panic/unwind_safe/trait.RefUnwindSafe.js +++ b/trait.impl/core/panic/unwind_safe/trait.RefUnwindSafe.js @@ -1,4 +1,4 @@ (function() {var implementors = { -"storm":[["impl RefUnwindSafe for Tbl",1,["storm::accessor::vars::Tbl"]],["impl RefUnwindSafe for Log",1,["storm::accessor::vars::Log"]],["impl !RefUnwindSafe for Ctx",1,["storm::ctx::Ctx"]],["impl<'a, L> !RefUnwindSafe for CtxLocks<'a, L>",1,["storm::ctx::CtxLocks"]],["impl<'a> !RefUnwindSafe for CtxTransaction<'a>",1,["storm::ctx::CtxTransaction"]],["impl<'a, 'b, E> !RefUnwindSafe for TblTransaction<'a, 'b, E>",1,["storm::ctx::TblTransaction"]],["impl<Fields> RefUnwindSafe for FieldsOrStr<Fields>
where\n Fields: RefUnwindSafe,
",1,["storm::entity_fields::FieldsOrStr"]],["impl !RefUnwindSafe for Error",1,["storm::error::Error"]],["impl RefUnwindSafe for GcCtx",1,["storm::gc::GcCtx"]],["impl<E> RefUnwindSafe for HashTable<E>
where\n E: RefUnwindSafe,\n <E as Entity>::Key: RefUnwindSafe,
",1,["storm::hash_table::HashTable"]],["impl RefUnwindSafe for Logs",1,["storm::logs::Logs"]],["impl<E> RefUnwindSafe for Changed<E>
where\n E: RefUnwindSafe,
",1,["storm::on_changed::Changed"]],["impl<E> !RefUnwindSafe for OnChanged<E>",1,["storm::on_changed::OnChanged"]],["impl<E> !RefUnwindSafe for OnRemove<E>",1,["storm::on_remove::OnRemove"]],["impl<ONE, MANY> RefUnwindSafe for OneToMany<ONE, MANY>
where\n MANY: RefUnwindSafe,\n ONE: RefUnwindSafe,
",1,["storm::one_to_many::OneToMany"]],["impl RefUnwindSafe for LoadArgs",1,["storm::provider::load_all::LoadArgs"]],["impl<E> RefUnwindSafe for LoadAllKeyOnly<E>
where\n <E as Entity>::Key: RefUnwindSafe,
",1,["storm::provider::load_all::LoadAllKeyOnly"]],["impl !RefUnwindSafe for ProviderContainer",1,["storm::provider::provider_container::ProviderContainer"]],["impl<'a> !RefUnwindSafe for TransactionProvider<'a>",1,["storm::provider::transaction_provider::TransactionProvider"]],["impl<T> RefUnwindSafe for LogState<T>
where\n T: RefUnwindSafe,
",1,["storm::state::LogState"]],["impl<E> RefUnwindSafe for VecTable<E>
where\n E: RefUnwindSafe,\n <E as Entity>::Key: RefUnwindSafe,
",1,["storm::vec_table::VecTable"]]], -"storm_mssql":[["impl RefUnwindSafe for ExecuteArgs",1,["storm_mssql::execute::ExecuteArgs"]],["impl<'a, K> RefUnwindSafe for KeysFilter<'a, K>
where\n K: RefUnwindSafe,
",1,["storm_mssql::filter_sql::KeysFilter"]],["impl RefUnwindSafe for MssqlFactory",1,["storm_mssql::mssql_factory::MssqlFactory"]],["impl !RefUnwindSafe for MssqlProvider",1,["storm_mssql::mssql_provider::MssqlProvider"]],["impl<'a> !RefUnwindSafe for MssqlTransactionGuard<'a>",1,["storm_mssql::mssql_provider::MssqlTransactionGuard"]],["impl<'a> RefUnwindSafe for Parameter<'a>",1,["storm_mssql::parameter::Parameter"]],["impl<F> RefUnwindSafe for TransactionScoped<F>
where\n F: RefUnwindSafe,
",1,["storm_mssql::transaction_scoped::TransactionScoped"]],["impl<'a> RefUnwindSafe for UpsertBuilder<'a>",1,["storm_mssql::upsert_builder::UpsertBuilder"]]] +"storm":[["impl RefUnwindSafe for Tbl",1,["storm::accessor::vars::Tbl"]],["impl RefUnwindSafe for Log",1,["storm::accessor::vars::Log"]],["impl !RefUnwindSafe for Ctx",1,["storm::ctx::Ctx"]],["impl<'a, L> !RefUnwindSafe for CtxLocks<'a, L>",1,["storm::ctx::CtxLocks"]],["impl<'a> !RefUnwindSafe for CtxTransaction<'a>",1,["storm::ctx::CtxTransaction"]],["impl<'a, 'b, E> !RefUnwindSafe for TblTransaction<'a, 'b, E>",1,["storm::ctx::TblTransaction"]],["impl<Fields> RefUnwindSafe for FieldsOrStr<Fields>
where\n Fields: RefUnwindSafe,
",1,["storm::entity_fields::FieldsOrStr"]],["impl !RefUnwindSafe for Error",1,["storm::error::Error"]],["impl RefUnwindSafe for GcCtx",1,["storm::gc::GcCtx"]],["impl<E> RefUnwindSafe for HashTable<E>
where\n E: RefUnwindSafe,\n <E as Entity>::Key: RefUnwindSafe,
",1,["storm::hash_table::HashTable"]],["impl RefUnwindSafe for Logs",1,["storm::logs::Logs"]],["impl<E> RefUnwindSafe for Changed<E>
where\n E: RefUnwindSafe,
",1,["storm::on_changed::Changed"]],["impl<E> !RefUnwindSafe for OnChanged<E>",1,["storm::on_changed::OnChanged"]],["impl<E> !RefUnwindSafe for OnRemove<E>",1,["storm::on_remove::OnRemove"]],["impl<ONE, MANY> RefUnwindSafe for OneToMany<ONE, MANY>
where\n MANY: RefUnwindSafe,\n ONE: RefUnwindSafe,
",1,["storm::one_to_many::OneToMany"]],["impl RefUnwindSafe for LoadArgs",1,["storm::provider::load_all::LoadArgs"]],["impl<E> RefUnwindSafe for LoadAllKeyOnly<E>
where\n <E as Entity>::Key: RefUnwindSafe,
",1,["storm::provider::load_all::LoadAllKeyOnly"]],["impl !RefUnwindSafe for ProviderContainer",1,["storm::provider::provider_container::ProviderContainer"]],["impl<'a> !RefUnwindSafe for TransactionProvider<'a>",1,["storm::provider::transaction_provider::TransactionProvider"]],["impl<T> RefUnwindSafe for LogState<T>
where\n T: RefUnwindSafe,
",1,["storm::state::LogState"]],["impl<E> RefUnwindSafe for VecTable<E>
where\n E: RefUnwindSafe,\n <E as Entity>::Key: RefUnwindSafe,
",1,["storm::vec_table::VecTable"]]], +"storm_mssql":[["impl RefUnwindSafe for ExecuteArgs",1,["storm_mssql::execute::ExecuteArgs"]],["impl<'a, K> RefUnwindSafe for KeysFilter<'a, K>
where\n K: RefUnwindSafe,
",1,["storm_mssql::filter_sql::KeysFilter"]],["impl RefUnwindSafe for MssqlFactory",1,["storm_mssql::mssql_factory::MssqlFactory"]],["impl !RefUnwindSafe for MssqlProvider",1,["storm_mssql::mssql_provider::MssqlProvider"]],["impl<'a> !RefUnwindSafe for MssqlTransactionGuard<'a>",1,["storm_mssql::mssql_provider::MssqlTransactionGuard"]],["impl<'a> RefUnwindSafe for Parameter<'a>",1,["storm_mssql::parameter::Parameter"]],["impl<F> RefUnwindSafe for TransactionScoped<F>
where\n F: RefUnwindSafe,
",1,["storm_mssql::transaction_scoped::TransactionScoped"]],["impl<'a> RefUnwindSafe for UpsertBuilder<'a>",1,["storm_mssql::upsert_builder::UpsertBuilder"]]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/core/panic/unwind_safe/trait.UnwindSafe.js b/trait.impl/core/panic/unwind_safe/trait.UnwindSafe.js index 3b91deff..3afe9447 100644 --- a/trait.impl/core/panic/unwind_safe/trait.UnwindSafe.js +++ b/trait.impl/core/panic/unwind_safe/trait.UnwindSafe.js @@ -1,4 +1,4 @@ (function() {var implementors = { -"storm":[["impl UnwindSafe for Tbl",1,["storm::accessor::vars::Tbl"]],["impl UnwindSafe for Log",1,["storm::accessor::vars::Log"]],["impl !UnwindSafe for Ctx",1,["storm::ctx::Ctx"]],["impl<'a, L> !UnwindSafe for CtxLocks<'a, L>",1,["storm::ctx::CtxLocks"]],["impl<'a> !UnwindSafe for CtxTransaction<'a>",1,["storm::ctx::CtxTransaction"]],["impl<'a, 'b, E> !UnwindSafe for TblTransaction<'a, 'b, E>",1,["storm::ctx::TblTransaction"]],["impl<Fields> UnwindSafe for FieldsOrStr<Fields>
where\n Fields: UnwindSafe,
",1,["storm::entity_fields::FieldsOrStr"]],["impl !UnwindSafe for Error",1,["storm::error::Error"]],["impl UnwindSafe for GcCtx",1,["storm::gc::GcCtx"]],["impl<E> UnwindSafe for HashTable<E>
where\n E: UnwindSafe,\n <E as Entity>::Key: UnwindSafe,
",1,["storm::hash_table::HashTable"]],["impl UnwindSafe for Logs",1,["storm::logs::Logs"]],["impl<E> UnwindSafe for Changed<E>
where\n E: UnwindSafe,
",1,["storm::on_changed::Changed"]],["impl<E> !UnwindSafe for OnChanged<E>",1,["storm::on_changed::OnChanged"]],["impl<E> !UnwindSafe for OnRemove<E>",1,["storm::on_remove::OnRemove"]],["impl<ONE, MANY> UnwindSafe for OneToMany<ONE, MANY>
where\n MANY: UnwindSafe,\n ONE: UnwindSafe,
",1,["storm::one_to_many::OneToMany"]],["impl UnwindSafe for LoadArgs",1,["storm::provider::load_all::LoadArgs"]],["impl<E> UnwindSafe for LoadAllKeyOnly<E>
where\n <E as Entity>::Key: UnwindSafe,
",1,["storm::provider::load_all::LoadAllKeyOnly"]],["impl !UnwindSafe for ProviderContainer",1,["storm::provider::provider_container::ProviderContainer"]],["impl<'a> !UnwindSafe for TransactionProvider<'a>",1,["storm::provider::transaction_provider::TransactionProvider"]],["impl<T> UnwindSafe for LogState<T>
where\n T: UnwindSafe,
",1,["storm::state::LogState"]],["impl<E> UnwindSafe for VecTable<E>
where\n E: UnwindSafe,\n <E as Entity>::Key: UnwindSafe,
",1,["storm::vec_table::VecTable"]]], -"storm_mssql":[["impl UnwindSafe for ExecuteArgs",1,["storm_mssql::execute::ExecuteArgs"]],["impl<'a, K> UnwindSafe for KeysFilter<'a, K>
where\n K: RefUnwindSafe,
",1,["storm_mssql::filter_sql::KeysFilter"]],["impl UnwindSafe for MssqlFactory",1,["storm_mssql::mssql_factory::MssqlFactory"]],["impl !UnwindSafe for MssqlProvider",1,["storm_mssql::mssql_provider::MssqlProvider"]],["impl<'a> !UnwindSafe for MssqlTransactionGuard<'a>",1,["storm_mssql::mssql_provider::MssqlTransactionGuard"]],["impl<'a> UnwindSafe for Parameter<'a>",1,["storm_mssql::parameter::Parameter"]],["impl<F> UnwindSafe for TransactionScoped<F>
where\n F: UnwindSafe,
",1,["storm_mssql::transaction_scoped::TransactionScoped"]],["impl<'a> UnwindSafe for UpsertBuilder<'a>",1,["storm_mssql::upsert_builder::UpsertBuilder"]]] +"storm":[["impl UnwindSafe for Tbl",1,["storm::accessor::vars::Tbl"]],["impl UnwindSafe for Log",1,["storm::accessor::vars::Log"]],["impl !UnwindSafe for Ctx",1,["storm::ctx::Ctx"]],["impl<'a, L> !UnwindSafe for CtxLocks<'a, L>",1,["storm::ctx::CtxLocks"]],["impl<'a> !UnwindSafe for CtxTransaction<'a>",1,["storm::ctx::CtxTransaction"]],["impl<'a, 'b, E> !UnwindSafe for TblTransaction<'a, 'b, E>",1,["storm::ctx::TblTransaction"]],["impl<Fields> UnwindSafe for FieldsOrStr<Fields>
where\n Fields: UnwindSafe,
",1,["storm::entity_fields::FieldsOrStr"]],["impl !UnwindSafe for Error",1,["storm::error::Error"]],["impl UnwindSafe for GcCtx",1,["storm::gc::GcCtx"]],["impl<E> UnwindSafe for HashTable<E>
where\n E: UnwindSafe,\n <E as Entity>::Key: UnwindSafe,
",1,["storm::hash_table::HashTable"]],["impl UnwindSafe for Logs",1,["storm::logs::Logs"]],["impl<E> UnwindSafe for Changed<E>
where\n E: UnwindSafe,
",1,["storm::on_changed::Changed"]],["impl<E> !UnwindSafe for OnChanged<E>",1,["storm::on_changed::OnChanged"]],["impl<E> !UnwindSafe for OnRemove<E>",1,["storm::on_remove::OnRemove"]],["impl<ONE, MANY> UnwindSafe for OneToMany<ONE, MANY>
where\n MANY: UnwindSafe,\n ONE: UnwindSafe,
",1,["storm::one_to_many::OneToMany"]],["impl UnwindSafe for LoadArgs",1,["storm::provider::load_all::LoadArgs"]],["impl<E> UnwindSafe for LoadAllKeyOnly<E>
where\n <E as Entity>::Key: UnwindSafe,
",1,["storm::provider::load_all::LoadAllKeyOnly"]],["impl !UnwindSafe for ProviderContainer",1,["storm::provider::provider_container::ProviderContainer"]],["impl<'a> !UnwindSafe for TransactionProvider<'a>",1,["storm::provider::transaction_provider::TransactionProvider"]],["impl<T> UnwindSafe for LogState<T>
where\n T: UnwindSafe,
",1,["storm::state::LogState"]],["impl<E> UnwindSafe for VecTable<E>
where\n E: UnwindSafe,\n <E as Entity>::Key: UnwindSafe,
",1,["storm::vec_table::VecTable"]]], +"storm_mssql":[["impl UnwindSafe for ExecuteArgs",1,["storm_mssql::execute::ExecuteArgs"]],["impl<'a, K> UnwindSafe for KeysFilter<'a, K>
where\n K: RefUnwindSafe,
",1,["storm_mssql::filter_sql::KeysFilter"]],["impl UnwindSafe for MssqlFactory",1,["storm_mssql::mssql_factory::MssqlFactory"]],["impl !UnwindSafe for MssqlProvider",1,["storm_mssql::mssql_provider::MssqlProvider"]],["impl<'a> !UnwindSafe for MssqlTransactionGuard<'a>",1,["storm_mssql::mssql_provider::MssqlTransactionGuard"]],["impl<'a> UnwindSafe for Parameter<'a>",1,["storm_mssql::parameter::Parameter"]],["impl<F> UnwindSafe for TransactionScoped<F>
where\n F: UnwindSafe,
",1,["storm_mssql::transaction_scoped::TransactionScoped"]],["impl<'a> UnwindSafe for UpsertBuilder<'a>",1,["storm_mssql::upsert_builder::UpsertBuilder"]]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/rayon/iter/trait.IntoParallelIterator.js b/trait.impl/rayon/iter/trait.IntoParallelIterator.js index 4141051f..46b1dd48 100644 --- a/trait.impl/rayon/iter/trait.IntoParallelIterator.js +++ b/trait.impl/rayon/iter/trait.IntoParallelIterator.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"storm":[["impl<'a, E: Entity> IntoParallelIterator for &'a VecTable<E>
where\n E::Key: Copy + From<usize>,
"],["impl<'a, E> IntoParallelIterator for &'a HashTable<E>
where\n E: Entity,\n E::Key: Eq + Hash,
"]] +"storm":[["impl<'a, E> IntoParallelIterator for &'a HashTable<E>
where\n E: Entity,\n E::Key: Eq + Hash,
"],["impl<'a, E: Entity> IntoParallelIterator for &'a VecTable<E>
where\n E::Key: Copy + From<usize>,
"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/storm/provider/provider_factory/trait.ProviderFactory.js b/trait.impl/storm/provider/provider_factory/trait.ProviderFactory.js index 609d72e0..47e670eb 100644 --- a/trait.impl/storm/provider/provider_factory/trait.ProviderFactory.js +++ b/trait.impl/storm/provider/provider_factory/trait.ProviderFactory.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"storm_mssql":[["impl ProviderFactory for TransactionScoped<MssqlFactory>"],["impl ProviderFactory for MssqlFactory"]] +"storm_mssql":[["impl ProviderFactory for MssqlFactory"],["impl ProviderFactory for TransactionScoped<MssqlFactory>"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/type.impl/attached/container/struct.Container.js b/type.impl/attached/container/struct.Container.js index 8604760b..a10039b7 100644 --- a/type.impl/attached/container/struct.Container.js +++ b/type.impl/attached/container/struct.Container.js @@ -1,3 +1,3 @@ (function() {var type_impls = { -"storm":[["
§

impl<Ctx> Container<Ctx>
where\n Ctx: VarRegister,

pub fn new() -> Container<Ctx>

pub fn clear<T>(&mut self, var: Var<T, Ctx>)

pub fn get<T>(&self, var: Var<T, Ctx>) -> Option<&T>

pub fn get_mut<T>(&mut self, var: Var<T, Ctx>) -> Option<&mut T>

pub fn get_or_init<F, T>(&self, var: Var<T, Ctx>, init: F) -> &T
where\n F: FnOnce() -> T,

pub fn get_or_init_mut<F, T>(&mut self, var: Var<T, Ctx>, init: F) -> &mut T
where\n F: FnOnce() -> T,

pub fn replace<T>(&mut self, var: Var<T, Ctx>, val: Option<T>) -> Option<T>

",0,"storm::accessor::LogsVar","storm::accessor::Vars"],["
§

impl<Ctx> Drop for Container<Ctx>
where\n Ctx: VarRegister,

§

fn drop(&mut self)

Executes the destructor for this type. Read more
","Drop","storm::accessor::LogsVar","storm::accessor::Vars"],["
§

impl<Ctx> Sync for Container<Ctx>
where\n Ctx: VarRegister,

","Sync","storm::accessor::LogsVar","storm::accessor::Vars"],["
§

impl<Ctx> Send for Container<Ctx>
where\n Ctx: VarRegister,

","Send","storm::accessor::LogsVar","storm::accessor::Vars"],["
§

impl<Ctx> Default for Container<Ctx>
where\n Ctx: VarRegister,

§

fn default() -> Container<Ctx>

Returns the “default value” for a type. Read more
","Default","storm::accessor::LogsVar","storm::accessor::Vars"]] +"storm":[["
§

impl<Ctx> Container<Ctx>
where\n Ctx: VarRegister,

pub fn new() -> Container<Ctx>

pub fn clear<T>(&mut self, var: Var<T, Ctx>)

pub fn get<T>(&self, var: Var<T, Ctx>) -> Option<&T>

pub fn get_mut<T>(&mut self, var: Var<T, Ctx>) -> Option<&mut T>

pub fn get_or_init<F, T>(&self, var: Var<T, Ctx>, init: F) -> &T
where\n F: FnOnce() -> T,

pub fn get_or_init_mut<F, T>(&mut self, var: Var<T, Ctx>, init: F) -> &mut T
where\n F: FnOnce() -> T,

pub fn replace<T>(&mut self, var: Var<T, Ctx>, val: Option<T>) -> Option<T>

",0,"storm::accessor::LogsVar","storm::accessor::Vars"],["
§

impl<Ctx> Send for Container<Ctx>
where\n Ctx: VarRegister,

","Send","storm::accessor::LogsVar","storm::accessor::Vars"],["
§

impl<Ctx> Default for Container<Ctx>
where\n Ctx: VarRegister,

§

fn default() -> Container<Ctx>

Returns the “default value” for a type. Read more
","Default","storm::accessor::LogsVar","storm::accessor::Vars"],["
§

impl<Ctx> Sync for Container<Ctx>
where\n Ctx: VarRegister,

","Sync","storm::accessor::LogsVar","storm::accessor::Vars"],["
§

impl<Ctx> Drop for Container<Ctx>
where\n Ctx: VarRegister,

§

fn drop(&mut self)

Executes the destructor for this type. Read more
","Drop","storm::accessor::LogsVar","storm::accessor::Vars"]] };if (window.register_type_impls) {window.register_type_impls(type_impls);} else {window.pending_type_impls = type_impls;}})() \ No newline at end of file diff --git a/type.impl/attached/var/struct.Var.js b/type.impl/attached/var/struct.Var.js index 01df8f15..a2ed6555 100644 --- a/type.impl/attached/var/struct.Var.js +++ b/type.impl/attached/var/struct.Var.js @@ -1,3 +1,3 @@ (function() {var type_impls = { -"storm":[["
§

impl<CTX, T> Clone for Var<T, CTX>
where\n CTX: VarRegister,

§

fn clone(&self) -> Var<T, CTX>

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
","Clone","storm::accessor::LogVar","storm::accessor::TblVar"],["
§

impl<CTX, T> Copy for Var<T, CTX>
where\n CTX: VarRegister,

","Copy","storm::accessor::LogVar","storm::accessor::TblVar"]] +"storm":[["
§

impl<CTX, T> Copy for Var<T, CTX>
where\n CTX: VarRegister,

","Copy","storm::accessor::LogVar","storm::accessor::TblVar"],["
§

impl<CTX, T> Clone for Var<T, CTX>
where\n CTX: VarRegister,

§

fn clone(&self) -> Var<T, CTX>

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
","Clone","storm::accessor::LogVar","storm::accessor::TblVar"]] };if (window.register_type_impls) {window.register_type_impls(type_impls);} else {window.pending_type_impls = type_impls;}})() \ No newline at end of file diff --git a/type.impl/core/pin/struct.Pin.js b/type.impl/core/pin/struct.Pin.js index d49794a1..db281423 100644 --- a/type.impl/core/pin/struct.Pin.js +++ b/type.impl/core/pin/struct.Pin.js @@ -1,3 +1,3 @@ (function() {var type_impls = { -"storm":[["
source§

impl<P> Pin<P>
where\n P: Deref,\n <P as Deref>::Target: Unpin,

1.33.0 (const: unstable) · source

pub fn new(pointer: P) -> Pin<P>

Construct a new Pin<P> around a pointer to some data of a type that\nimplements Unpin.

\n

Unlike Pin::new_unchecked, this method is safe because the pointer\nP dereferences to an Unpin type, which cancels the pinning guarantees.

\n
Examples
\n
use std::pin::Pin;\n\nlet mut val: u8 = 5;\n// We can pin the value, since it doesn't care about being moved\nlet mut pinned: Pin<&mut u8> = Pin::new(&mut val);
\n
1.39.0 (const: unstable) · source

pub fn into_inner(pin: Pin<P>) -> P

Unwraps this Pin<P> returning the underlying pointer.

\n

This requires that the data inside this Pin implements Unpin so that we\ncan ignore the pinning invariants when unwrapping it.

\n
Examples
\n
use std::pin::Pin;\n\nlet mut val: u8 = 5;\nlet pinned: Pin<&mut u8> = Pin::new(&mut val);\n// Unwrap the pin to get a reference to the value\nlet r = Pin::into_inner(pinned);\nassert_eq!(*r, 5);
\n
",0,"storm::BoxFuture"],["
source§

impl<P> Pin<P>
where\n P: Deref,

1.33.0 (const: unstable) · source

pub unsafe fn new_unchecked(pointer: P) -> Pin<P>

Construct a new Pin<P> around a reference to some data of a type that\nmay or may not implement Unpin.

\n

If pointer dereferences to an Unpin type, Pin::new should be used\ninstead.

\n
Safety
\n

This constructor is unsafe because we cannot guarantee that the data\npointed to by pointer is pinned, meaning that the data will not be moved or\nits storage invalidated until it gets dropped. If the constructed Pin<P> does\nnot guarantee that the data P points to is pinned, that is a violation of\nthe API contract and may lead to undefined behavior in later (safe) operations.

\n

By using this method, you are making a promise about the P::Deref and\nP::DerefMut implementations, if they exist. Most importantly, they\nmust not move out of their self arguments: Pin::as_mut and Pin::as_ref\nwill call DerefMut::deref_mut and Deref::deref on the pinned pointer\nand expect these methods to uphold the pinning invariants.\nMoreover, by calling this method you promise that the reference P\ndereferences to will not be moved out of again; in particular, it\nmust not be possible to obtain a &mut P::Target and then\nmove out of that reference (using, for example mem::swap).

\n

For example, calling Pin::new_unchecked on an &'a mut T is unsafe because\nwhile you are able to pin it for the given lifetime 'a, you have no control\nover whether it is kept pinned once 'a ends:

\n\n
use std::mem;\nuse std::pin::Pin;\n\nfn move_pinned_ref<T>(mut a: T, mut b: T) {\n    unsafe {\n        let p: Pin<&mut T> = Pin::new_unchecked(&mut a);\n        // This should mean the pointee `a` can never move again.\n    }\n    mem::swap(&mut a, &mut b); // Potential UB down the road ⚠️\n    // The address of `a` changed to `b`'s stack slot, so `a` got moved even\n    // though we have previously pinned it! We have violated the pinning API contract.\n}
\n

A value, once pinned, must remain pinned until it is dropped (unless its type implements\nUnpin). Because Pin<&mut T> does not own the value, dropping the Pin will not drop\nthe value and will not end the pinning contract. So moving the value after dropping the\nPin<&mut T> is still a violation of the API contract.

\n

Similarly, calling Pin::new_unchecked on an Rc<T> is unsafe because there could be\naliases to the same data that are not subject to the pinning restrictions:

\n\n
use std::rc::Rc;\nuse std::pin::Pin;\n\nfn move_pinned_rc<T>(mut x: Rc<T>) {\n    let pinned = unsafe { Pin::new_unchecked(Rc::clone(&x)) };\n    {\n        let p: Pin<&T> = pinned.as_ref();\n        // This should mean the pointee can never move again.\n    }\n    drop(pinned);\n    let content = Rc::get_mut(&mut x).unwrap(); // Potential UB down the road ⚠️\n    // Now, if `x` was the only reference, we have a mutable reference to\n    // data that we pinned above, which we could use to move it as we have\n    // seen in the previous example. We have violated the pinning API contract.\n }
\n
Pinning of closure captures
\n

Particular care is required when using Pin::new_unchecked in a closure:\nPin::new_unchecked(&mut var) where var is a by-value (moved) closure capture\nimplicitly makes the promise that the closure itself is pinned, and that all uses\nof this closure capture respect that pinning.

\n\n
use std::pin::Pin;\nuse std::task::Context;\nuse std::future::Future;\n\nfn move_pinned_closure(mut x: impl Future, cx: &mut Context<'_>) {\n    // Create a closure that moves `x`, and then internally uses it in a pinned way.\n    let mut closure = move || unsafe {\n        let _ignore = Pin::new_unchecked(&mut x).poll(cx);\n    };\n    // Call the closure, so the future can assume it has been pinned.\n    closure();\n    // Move the closure somewhere else. This also moves `x`!\n    let mut moved = closure;\n    // Calling it again means we polled the future from two different locations,\n    // violating the pinning API contract.\n    moved(); // Potential UB ⚠️\n}
\n

When passing a closure to another API, it might be moving the closure any time, so\nPin::new_unchecked on closure captures may only be used if the API explicitly documents\nthat the closure is pinned.

\n

The better alternative is to avoid all that trouble and do the pinning in the outer function\ninstead (here using the pin! macro):

\n\n
use std::pin::pin;\nuse std::task::Context;\nuse std::future::Future;\n\nfn move_pinned_closure(mut x: impl Future, cx: &mut Context<'_>) {\n    let mut x = pin!(x);\n    // Create a closure that captures `x: Pin<&mut _>`, which is safe to move.\n    let mut closure = move || {\n        let _ignore = x.as_mut().poll(cx);\n    };\n    // Call the closure, so the future can assume it has been pinned.\n    closure();\n    // Move the closure somewhere else.\n    let mut moved = closure;\n    // Calling it again here is fine (except that we might be polling a future that already\n    // returned `Poll::Ready`, but that is a separate problem).\n    moved();\n}
\n
1.33.0 · source

pub fn as_ref(&self) -> Pin<&<P as Deref>::Target>

Gets a pinned shared reference from this pinned pointer.

\n

This is a generic method to go from &Pin<Pointer<T>> to Pin<&T>.\nIt is safe because, as part of the contract of Pin::new_unchecked,\nthe pointee cannot move after Pin<Pointer<T>> got created.\n“Malicious” implementations of Pointer::Deref are likewise\nruled out by the contract of Pin::new_unchecked.

\n
1.39.0 (const: unstable) · source

pub unsafe fn into_inner_unchecked(pin: Pin<P>) -> P

Unwraps this Pin<P> returning the underlying pointer.

\n
Safety
\n

This function is unsafe. You must guarantee that you will continue to\ntreat the pointer P as pinned after you call this function, so that\nthe invariants on the Pin type can be upheld. If the code using the\nresulting P does not continue to maintain the pinning invariants that\nis a violation of the API contract and may lead to undefined behavior in\nlater (safe) operations.

\n

If the underlying data is Unpin, Pin::into_inner should be used\ninstead.

\n
",0,"storm::BoxFuture"],["
source§

impl<P> Pin<P>
where\n P: DerefMut,

1.33.0 · source

pub fn as_mut(&mut self) -> Pin<&mut <P as Deref>::Target>

Gets a pinned mutable reference from this pinned pointer.

\n

This is a generic method to go from &mut Pin<Pointer<T>> to Pin<&mut T>.\nIt is safe because, as part of the contract of Pin::new_unchecked,\nthe pointee cannot move after Pin<Pointer<T>> got created.\n“Malicious” implementations of Pointer::DerefMut are likewise\nruled out by the contract of Pin::new_unchecked.

\n

This method is useful when doing multiple calls to functions that consume the pinned type.

\n
Example
\n
use std::pin::Pin;\n\nimpl Type {\n    fn method(self: Pin<&mut Self>) {\n        // do something\n    }\n\n    fn call_method_twice(mut self: Pin<&mut Self>) {\n        // `method` consumes `self`, so reborrow the `Pin<&mut Self>` via `as_mut`.\n        self.as_mut().method();\n        self.as_mut().method();\n    }\n}
\n
1.33.0 · source

pub fn set(&mut self, value: <P as Deref>::Target)
where\n <P as Deref>::Target: Sized,

Assigns a new value to the memory behind the pinned reference.

\n

This overwrites pinned data, but that is okay: its destructor gets\nrun before being overwritten, so no pinning guarantee is violated.

\n
Example
\n
use std::pin::Pin;\n\nlet mut val: u8 = 5;\nlet mut pinned: Pin<&mut u8> = Pin::new(&mut val);\nprintln!(\"{}\", pinned); // 5\npinned.as_mut().set(10);\nprintln!(\"{}\", pinned); // 10
\n
",0,"storm::BoxFuture"],["
1.41.0 · source§

impl<P, Q> PartialOrd<Pin<Q>> for Pin<P>
where\n P: Deref,\n Q: Deref,\n <P as Deref>::Target: PartialOrd<<Q as Deref>::Target>,

source§

fn partial_cmp(&self, other: &Pin<Q>) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
source§

fn lt(&self, other: &Pin<Q>) -> bool

This method tests less than (for self and other) and is used by the < operator. Read more
source§

fn le(&self, other: &Pin<Q>) -> bool

This method tests less than or equal to (for self and other) and is used by the <=\noperator. Read more
source§

fn gt(&self, other: &Pin<Q>) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
source§

fn ge(&self, other: &Pin<Q>) -> bool

This method tests greater than or equal to (for self and other) and is used by the >=\noperator. Read more
","PartialOrd>","storm::BoxFuture"],["
1.33.0 · source§

impl<P> DerefMut for Pin<P>
where\n P: DerefMut,\n <P as Deref>::Target: Unpin,

source§

fn deref_mut(&mut self) -> &mut <P as Deref>::Target

Mutably dereferences the value.
","DerefMut","storm::BoxFuture"],["
1.33.0 · source§

impl<P> Clone for Pin<P>
where\n P: Clone,

source§

fn clone(&self) -> Pin<P>

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
","Clone","storm::BoxFuture"],["
1.33.0 · source§

impl<P, U> CoerceUnsized<Pin<U>> for Pin<P>
where\n P: CoerceUnsized<U>,

","CoerceUnsized>","storm::BoxFuture"],["
1.41.0 · source§

impl<P> Eq for Pin<P>
where\n P: Deref,\n <P as Deref>::Target: Eq,

","Eq","storm::BoxFuture"],["
1.41.0 · source§

impl<P> Hash for Pin<P>
where\n P: Deref,\n <P as Deref>::Target: Hash,

source§

fn hash<H>(&self, state: &mut H)
where\n H: Hasher,

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where\n H: Hasher,\n Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
","Hash","storm::BoxFuture"],["
1.33.0 · source§

impl<P> Deref for Pin<P>
where\n P: Deref,

§

type Target = <P as Deref>::Target

The resulting type after dereferencing.
source§

fn deref(&self) -> &<P as Deref>::Target

Dereferences the value.
","Deref","storm::BoxFuture"],["
1.33.0 · source§

impl<P> Pointer for Pin<P>
where\n P: Pointer,

source§

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

Formats the value using the given formatter.
","Pointer","storm::BoxFuture"],["
1.41.0 · source§

impl<P> Ord for Pin<P>
where\n P: Deref,\n <P as Deref>::Target: Ord,

source§

fn cmp(&self, other: &Pin<P>) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Self
where\n Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Self
where\n Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Self
where\n Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
","Ord","storm::BoxFuture"],["
source§

impl<P> AsyncIterator for Pin<P>
where\n P: DerefMut,\n <P as Deref>::Target: AsyncIterator,

§

type Item = <<P as Deref>::Target as AsyncIterator>::Item

🔬This is a nightly-only experimental API. (async_iterator)
The type of items yielded by the async iterator.
source§

fn poll_next(\n self: Pin<&mut Pin<P>>,\n cx: &mut Context<'_>\n) -> Poll<Option<<Pin<P> as AsyncIterator>::Item>>

🔬This is a nightly-only experimental API. (async_iterator)
Attempt to pull out the next value of this async iterator, registering the\ncurrent task for wakeup if the value is not yet available, and returning\nNone if the async iterator is exhausted. Read more
source§

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

🔬This is a nightly-only experimental API. (async_iterator)
Returns the bounds on the remaining length of the async iterator. Read more
","AsyncIterator","storm::BoxFuture"],["
1.41.0 · source§

impl<P, Q> PartialEq<Pin<Q>> for Pin<P>
where\n P: Deref,\n Q: Deref,\n <P as Deref>::Target: PartialEq<<Q as Deref>::Target>,

source§

fn eq(&self, other: &Pin<Q>) -> bool

This method tests for self and other values to be equal, and is used\nby ==.
source§

fn ne(&self, other: &Pin<Q>) -> bool

This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
","PartialEq>","storm::BoxFuture"],["
1.36.0 · source§

impl<P> Future for Pin<P>
where\n P: DerefMut,\n <P as Deref>::Target: Future,

§

type Output = <<P as Deref>::Target as Future>::Output

The type of value produced on completion.
source§

fn poll(\n self: Pin<&mut Pin<P>>,\n cx: &mut Context<'_>\n) -> Poll<<Pin<P> as Future>::Output>

Attempt to resolve the future to a final value, registering\nthe current task for wakeup if the value is not yet available. Read more
","Future","storm::BoxFuture"],["
1.33.0 · source§

impl<P> Display for Pin<P>
where\n P: Display,

source§

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

Formats the value using the given formatter. Read more
","Display","storm::BoxFuture"],["
1.33.0 · source§

impl<P> Debug for Pin<P>
where\n P: Debug,

source§

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

Formats the value using the given formatter. Read more
","Debug","storm::BoxFuture"],["
1.33.0 · source§

impl<P, U> DispatchFromDyn<Pin<U>> for Pin<P>
where\n P: DispatchFromDyn<U>,

","DispatchFromDyn>","storm::BoxFuture"],["
1.33.0 · source§

impl<P> Copy for Pin<P>
where\n P: Copy,

","Copy","storm::BoxFuture"],["
1.33.0 · source§

impl<T, A> From<Box<T, A>> for Pin<Box<T, A>>
where\n A: Allocator + 'static,\n T: ?Sized,

source§

fn from(boxed: Box<T, A>) -> Pin<Box<T, A>>

Converts a Box<T> into a Pin<Box<T>>. If T does not implement Unpin, then\n*boxed will be pinned in memory and unable to be moved.

\n

This conversion does not allocate on the heap and happens in place.

\n

This is also available via Box::into_pin.

\n

Constructing and pinning a Box with <Pin<Box<T>>>::from(Box::new(x))\ncan also be written more concisely using Box::pin(x).\nThis From implementation is useful if you already have a Box<T>, or you are\nconstructing a (pinned) Box in a different way than with Box::new.

\n
","From>","storm::BoxFuture"],["
source§

impl<G, R, A> Coroutine<R> for Pin<Box<G, A>>
where\n G: Coroutine<R> + ?Sized,\n A: Allocator + 'static,

§

type Yield = <G as Coroutine<R>>::Yield

🔬This is a nightly-only experimental API. (coroutine_trait)
The type of value this coroutine yields. Read more
§

type Return = <G as Coroutine<R>>::Return

🔬This is a nightly-only experimental API. (coroutine_trait)
The type of value this coroutine returns. Read more
source§

fn resume(\n self: Pin<&mut Pin<Box<G, A>>>,\n arg: R\n) -> CoroutineState<<Pin<Box<G, A>> as Coroutine<R>>::Yield, <Pin<Box<G, A>> as Coroutine<R>>::Return>

🔬This is a nightly-only experimental API. (coroutine_trait)
Resumes the execution of this coroutine. Read more
","Coroutine","storm::BoxFuture"],["
§

impl<P> AsyncWrite for Pin<P>
where\n P: DerefMut + Unpin,\n <P as Deref>::Target: AsyncWrite,

§

fn poll_write(\n self: Pin<&mut Pin<P>>,\n cx: &mut Context<'_>,\n buf: &[u8]\n) -> Poll<Result<usize, Error>>

Attempt to write bytes from buf into the object. Read more
§

fn poll_write_vectored(\n self: Pin<&mut Pin<P>>,\n cx: &mut Context<'_>,\n bufs: &[IoSlice<'_>]\n) -> Poll<Result<usize, Error>>

Like poll_write, except that it writes from a slice of buffers. Read more
§

fn is_write_vectored(&self) -> bool

Determines if this writer has an efficient poll_write_vectored\nimplementation. Read more
§

fn poll_flush(\n self: Pin<&mut Pin<P>>,\n cx: &mut Context<'_>\n) -> Poll<Result<(), Error>>

Attempts to flush the object, ensuring that any buffered data reach\ntheir destination. Read more
§

fn poll_shutdown(\n self: Pin<&mut Pin<P>>,\n cx: &mut Context<'_>\n) -> Poll<Result<(), Error>>

Initiates or attempts to shut down this writer, returning success when\nthe I/O connection has completely shut down. Read more
","AsyncWrite","storm::BoxFuture"],["
§

impl<P> AsyncBufRead for Pin<P>
where\n P: DerefMut + Unpin,\n <P as Deref>::Target: AsyncBufRead,

§

fn poll_fill_buf(\n self: Pin<&mut Pin<P>>,\n cx: &mut Context<'_>\n) -> Poll<Result<&[u8], Error>>

Attempts to return the contents of the internal buffer, filling it with more data\nfrom the inner reader if it is empty. Read more
§

fn consume(self: Pin<&mut Pin<P>>, amt: usize)

Tells this buffer that amt bytes have been consumed from the buffer,\nso they should no longer be returned in calls to poll_read. Read more
","AsyncBufRead","storm::BoxFuture"],["
§

impl<P> AsyncRead for Pin<P>
where\n P: DerefMut + Unpin,\n <P as Deref>::Target: AsyncRead,

§

fn poll_read(\n self: Pin<&mut Pin<P>>,\n cx: &mut Context<'_>,\n buf: &mut ReadBuf<'_>\n) -> Poll<Result<(), Error>>

Attempts to read from the AsyncRead into buf. Read more
","AsyncRead","storm::BoxFuture"],["
§

impl<P> AsyncSeek for Pin<P>
where\n P: DerefMut + Unpin,\n <P as Deref>::Target: AsyncSeek,

§

fn start_seek(self: Pin<&mut Pin<P>>, pos: SeekFrom) -> Result<(), Error>

Attempts to seek to an offset, in bytes, in a stream. Read more
§

fn poll_complete(\n self: Pin<&mut Pin<P>>,\n cx: &mut Context<'_>\n) -> Poll<Result<u64, Error>>

Waits for a seek operation to complete. Read more
","AsyncSeek","storm::BoxFuture"],["
§

impl<P, Item> Sink<Item> for Pin<P>
where\n P: DerefMut + Unpin,\n <P as Deref>::Target: Sink<Item>,

§

type Error = <<P as Deref>::Target as Sink<Item>>::Error

The type of value produced by the sink when an error occurs.
§

fn poll_ready(\n self: Pin<&mut Pin<P>>,\n cx: &mut Context<'_>\n) -> Poll<Result<(), <Pin<P> as Sink<Item>>::Error>>

Attempts to prepare the Sink to receive a value. Read more
§

fn start_send(\n self: Pin<&mut Pin<P>>,\n item: Item\n) -> Result<(), <Pin<P> as Sink<Item>>::Error>

Begin the process of sending a value to the sink.\nEach call to this function must be preceded by a successful call to\npoll_ready which returned Poll::Ready(Ok(())). Read more
§

fn poll_flush(\n self: Pin<&mut Pin<P>>,\n cx: &mut Context<'_>\n) -> Poll<Result<(), <Pin<P> as Sink<Item>>::Error>>

Flush any remaining output from this sink. Read more
§

fn poll_close(\n self: Pin<&mut Pin<P>>,\n cx: &mut Context<'_>\n) -> Poll<Result<(), <Pin<P> as Sink<Item>>::Error>>

Flush any remaining output and close this sink, if necessary. Read more
","Sink","storm::BoxFuture"],["
§

impl<P> Stream for Pin<P>
where\n P: DerefMut + Unpin,\n <P as Deref>::Target: Stream,

§

type Item = <<P as Deref>::Target as Stream>::Item

Values yielded by the stream.
§

fn poll_next(\n self: Pin<&mut Pin<P>>,\n cx: &mut Context<'_>\n) -> Poll<Option<<Pin<P> as Stream>::Item>>

Attempt to pull out the next value of this stream, registering the\ncurrent task for wakeup if the value is not yet available, and returning\nNone if the stream is exhausted. Read more
§

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

Returns the bounds on the remaining length of the stream. Read more
","Stream","storm::BoxFuture"],["
§

impl<P> FusedFuture for Pin<P>
where\n P: DerefMut + Unpin,\n <P as Deref>::Target: FusedFuture,

§

fn is_terminated(&self) -> bool

Returns true if the underlying future should no longer be polled.
","FusedFuture","storm::BoxFuture"],["
§

impl<P> FusedStream for Pin<P>
where\n P: DerefMut + Unpin,\n <P as Deref>::Target: FusedStream,

§

fn is_terminated(&self) -> bool

Returns true if the stream should no longer be polled.
","FusedStream","storm::BoxFuture"],["
§

impl<'a, T, F> UnsafeFutureObj<'a, T> for Pin<Box<F>>
where\n F: Future<Output = T> + 'a,

§

fn into_raw(self) -> *mut dyn Future<Output = T> + 'a

Convert an owned instance into a (conceptually owned) fat pointer. Read more
§

unsafe fn drop(ptr: *mut dyn Future<Output = T> + 'a)

Drops the future represented by the given fat pointer. Read more
","UnsafeFutureObj<'a, T>","storm::BoxFuture"],["
§

impl<'a, T> UnsafeFutureObj<'a, T> for Pin<Box<dyn Future<Output = T> + 'a>>
where\n T: 'a,

§

fn into_raw(self) -> *mut dyn Future<Output = T> + 'a

Convert an owned instance into a (conceptually owned) fat pointer. Read more
§

unsafe fn drop(ptr: *mut dyn Future<Output = T> + 'a)

Drops the future represented by the given fat pointer. Read more
","UnsafeFutureObj<'a, T>","storm::BoxFuture"],["
§

impl<'a, T> UnsafeFutureObj<'a, T> for Pin<Box<dyn Future<Output = T> + Send + 'a>>
where\n T: 'a,

§

fn into_raw(self) -> *mut dyn Future<Output = T> + 'a

Convert an owned instance into a (conceptually owned) fat pointer. Read more
§

unsafe fn drop(ptr: *mut dyn Future<Output = T> + 'a)

Drops the future represented by the given fat pointer. Read more
","UnsafeFutureObj<'a, T>","storm::BoxFuture"],["
§

impl<P> AsyncWrite for Pin<P>
where\n P: DerefMut + Unpin,\n <P as Deref>::Target: AsyncWrite,

§

fn poll_write(\n self: Pin<&mut Pin<P>>,\n cx: &mut Context<'_>,\n buf: &[u8]\n) -> Poll<Result<usize, Error>>

Attempt to write bytes from buf into the object. Read more
§

fn poll_write_vectored(\n self: Pin<&mut Pin<P>>,\n cx: &mut Context<'_>,\n bufs: &[IoSlice<'_>]\n) -> Poll<Result<usize, Error>>

Attempt to write bytes from bufs into the object using vectored\nIO operations. Read more
§

fn poll_flush(\n self: Pin<&mut Pin<P>>,\n cx: &mut Context<'_>\n) -> Poll<Result<(), Error>>

Attempt to flush the object, ensuring that any buffered data reach\ntheir destination. Read more
§

fn poll_close(\n self: Pin<&mut Pin<P>>,\n cx: &mut Context<'_>\n) -> Poll<Result<(), Error>>

Attempt to close the object. Read more
","AsyncWrite","storm::BoxFuture"],["
§

impl<P> AsyncRead for Pin<P>
where\n P: DerefMut + Unpin,\n <P as Deref>::Target: AsyncRead,

§

fn poll_read(\n self: Pin<&mut Pin<P>>,\n cx: &mut Context<'_>,\n buf: &mut [u8]\n) -> Poll<Result<usize, Error>>

Attempt to read from the AsyncRead into buf. Read more
§

fn poll_read_vectored(\n self: Pin<&mut Pin<P>>,\n cx: &mut Context<'_>,\n bufs: &mut [IoSliceMut<'_>]\n) -> Poll<Result<usize, Error>>

Attempt to read from the AsyncRead into bufs using vectored\nIO operations. Read more
","AsyncRead","storm::BoxFuture"],["
§

impl<P> AsyncSeek for Pin<P>
where\n P: DerefMut + Unpin,\n <P as Deref>::Target: AsyncSeek,

§

fn poll_seek(\n self: Pin<&mut Pin<P>>,\n cx: &mut Context<'_>,\n pos: SeekFrom\n) -> Poll<Result<u64, Error>>

Attempt to seek to an offset, in bytes, in a stream. Read more
","AsyncSeek","storm::BoxFuture"],["
§

impl<P> AsyncBufRead for Pin<P>
where\n P: DerefMut + Unpin,\n <P as Deref>::Target: AsyncBufRead,

§

fn poll_fill_buf(\n self: Pin<&mut Pin<P>>,\n cx: &mut Context<'_>\n) -> Poll<Result<&[u8], Error>>

Attempt to return the contents of the internal buffer, filling it with more data\nfrom the inner reader if it is empty. Read more
§

fn consume(self: Pin<&mut Pin<P>>, amt: usize)

Tells this buffer that amt bytes have been consumed from the buffer,\nso they should no longer be returned in calls to poll_read. Read more
","AsyncBufRead","storm::BoxFuture"]] +"storm":[["
source§

impl<Ptr> Pin<Ptr>
where\n Ptr: Deref,\n <Ptr as Deref>::Target: Unpin,

1.33.0 (const: unstable) · source

pub fn new(pointer: Ptr) -> Pin<Ptr>

Construct a new Pin<Ptr> around a pointer to some data of a type that\nimplements Unpin.

\n

Unlike Pin::new_unchecked, this method is safe because the pointer\nPtr dereferences to an Unpin type, which cancels the pinning guarantees.

\n
§Examples
\n
use std::pin::Pin;\n\nlet mut val: u8 = 5;\n\n// Since `val` doesn't care about being moved, we can safely create a \"facade\" `Pin`\n// which will allow `val` to participate in `Pin`-bound apis  without checking that\n// pinning guarantees are actually upheld.\nlet mut pinned: Pin<&mut u8> = Pin::new(&mut val);
\n
1.39.0 (const: unstable) · source

pub fn into_inner(pin: Pin<Ptr>) -> Ptr

Unwraps this Pin<Ptr>, returning the underlying pointer.

\n

Doing this operation safely requires that the data pointed at by this pinning pointer\nimplemts Unpin so that we can ignore the pinning invariants when unwrapping it.

\n
§Examples
\n
use std::pin::Pin;\n\nlet mut val: u8 = 5;\nlet pinned: Pin<&mut u8> = Pin::new(&mut val);\n\n// Unwrap the pin to get the underlying mutable reference to the value. We can do\n// this because `val` doesn't care about being moved, so the `Pin` was just\n// a \"facade\" anyway.\nlet r = Pin::into_inner(pinned);\nassert_eq!(*r, 5);
\n
",0,"storm::BoxFuture"],["
source§

impl<Ptr> Pin<Ptr>
where\n Ptr: Deref,

1.33.0 (const: unstable) · source

pub unsafe fn new_unchecked(pointer: Ptr) -> Pin<Ptr>

Construct a new Pin<Ptr> around a reference to some data of a type that\nmay or may not implement Unpin.

\n

If pointer dereferences to an Unpin type, Pin::new should be used\ninstead.

\n
§Safety
\n

This constructor is unsafe because we cannot guarantee that the data\npointed to by pointer is pinned. At its core, pinning a value means making the\nguarantee that the value’s data will not be moved nor have its storage invalidated until\nit gets dropped. For a more thorough explanation of pinning, see the pin module docs.

\n

If the caller that is constructing this Pin<Ptr> does not ensure that the data Ptr\npoints to is pinned, that is a violation of the API contract and may lead to undefined\nbehavior in later (even safe) operations.

\n

By using this method, you are also making a promise about the Deref and\nDerefMut implementations of Ptr, if they exist. Most importantly, they\nmust not move out of their self arguments: Pin::as_mut and Pin::as_ref\nwill call DerefMut::deref_mut and Deref::deref on the pointer type Ptr\nand expect these methods to uphold the pinning invariants.\nMoreover, by calling this method you promise that the reference Ptr\ndereferences to will not be moved out of again; in particular, it\nmust not be possible to obtain a &mut Ptr::Target and then\nmove out of that reference (using, for example mem::swap).

\n

For example, calling Pin::new_unchecked on an &'a mut T is unsafe because\nwhile you are able to pin it for the given lifetime 'a, you have no control\nover whether it is kept pinned once 'a ends, and therefore cannot uphold the\nguarantee that a value, once pinned, remains pinned until it is dropped:

\n\n
use std::mem;\nuse std::pin::Pin;\n\nfn move_pinned_ref<T>(mut a: T, mut b: T) {\n    unsafe {\n        let p: Pin<&mut T> = Pin::new_unchecked(&mut a);\n        // This should mean the pointee `a` can never move again.\n    }\n    mem::swap(&mut a, &mut b); // Potential UB down the road ⚠️\n    // The address of `a` changed to `b`'s stack slot, so `a` got moved even\n    // though we have previously pinned it! We have violated the pinning API contract.\n}
\n

A value, once pinned, must remain pinned until it is dropped (unless its type implements\nUnpin). Because Pin<&mut T> does not own the value, dropping the Pin will not drop\nthe value and will not end the pinning contract. So moving the value after dropping the\nPin<&mut T> is still a violation of the API contract.

\n

Similarly, calling Pin::new_unchecked on an Rc<T> is unsafe because there could be\naliases to the same data that are not subject to the pinning restrictions:

\n\n
use std::rc::Rc;\nuse std::pin::Pin;\n\nfn move_pinned_rc<T>(mut x: Rc<T>) {\n    // This should mean the pointee can never move again.\n    let pin = unsafe { Pin::new_unchecked(Rc::clone(&x)) };\n    {\n        let p: Pin<&T> = pin.as_ref();\n        // ...\n    }\n    drop(pin);\n\n    let content = Rc::get_mut(&mut x).unwrap(); // Potential UB down the road ⚠️\n    // Now, if `x` was the only reference, we have a mutable reference to\n    // data that we pinned above, which we could use to move it as we have\n    // seen in the previous example. We have violated the pinning API contract.\n }
\n
§Pinning of closure captures
\n

Particular care is required when using Pin::new_unchecked in a closure:\nPin::new_unchecked(&mut var) where var is a by-value (moved) closure capture\nimplicitly makes the promise that the closure itself is pinned, and that all uses\nof this closure capture respect that pinning.

\n\n
use std::pin::Pin;\nuse std::task::Context;\nuse std::future::Future;\n\nfn move_pinned_closure(mut x: impl Future, cx: &mut Context<'_>) {\n    // Create a closure that moves `x`, and then internally uses it in a pinned way.\n    let mut closure = move || unsafe {\n        let _ignore = Pin::new_unchecked(&mut x).poll(cx);\n    };\n    // Call the closure, so the future can assume it has been pinned.\n    closure();\n    // Move the closure somewhere else. This also moves `x`!\n    let mut moved = closure;\n    // Calling it again means we polled the future from two different locations,\n    // violating the pinning API contract.\n    moved(); // Potential UB ⚠️\n}
\n

When passing a closure to another API, it might be moving the closure any time, so\nPin::new_unchecked on closure captures may only be used if the API explicitly documents\nthat the closure is pinned.

\n

The better alternative is to avoid all that trouble and do the pinning in the outer function\ninstead (here using the pin! macro):

\n\n
use std::pin::pin;\nuse std::task::Context;\nuse std::future::Future;\n\nfn move_pinned_closure(mut x: impl Future, cx: &mut Context<'_>) {\n    let mut x = pin!(x);\n    // Create a closure that captures `x: Pin<&mut _>`, which is safe to move.\n    let mut closure = move || {\n        let _ignore = x.as_mut().poll(cx);\n    };\n    // Call the closure, so the future can assume it has been pinned.\n    closure();\n    // Move the closure somewhere else.\n    let mut moved = closure;\n    // Calling it again here is fine (except that we might be polling a future that already\n    // returned `Poll::Ready`, but that is a separate problem).\n    moved();\n}
\n
1.33.0 · source

pub fn as_ref(&self) -> Pin<&<Ptr as Deref>::Target>

Gets a shared reference to the pinned value this Pin points to.

\n

This is a generic method to go from &Pin<Pointer<T>> to Pin<&T>.\nIt is safe because, as part of the contract of Pin::new_unchecked,\nthe pointee cannot move after Pin<Pointer<T>> got created.\n“Malicious” implementations of Pointer::Deref are likewise\nruled out by the contract of Pin::new_unchecked.

\n
1.39.0 (const: unstable) · source

pub unsafe fn into_inner_unchecked(pin: Pin<Ptr>) -> Ptr

Unwraps this Pin<Ptr>, returning the underlying Ptr.

\n
§Safety
\n

This function is unsafe. You must guarantee that you will continue to\ntreat the pointer Ptr as pinned after you call this function, so that\nthe invariants on the Pin type can be upheld. If the code using the\nresulting Ptr does not continue to maintain the pinning invariants that\nis a violation of the API contract and may lead to undefined behavior in\nlater (safe) operations.

\n

Note that you must be able to guarantee that the data pointed to by Ptr\nwill be treated as pinned all the way until its drop handler is complete!

\n

For more information, see the pin module docs

\n

If the underlying data is Unpin, Pin::into_inner should be used\ninstead.

\n
",0,"storm::BoxFuture"],["
source§

impl<Ptr> Pin<Ptr>
where\n Ptr: DerefMut,

1.33.0 · source

pub fn as_mut(&mut self) -> Pin<&mut <Ptr as Deref>::Target>

Gets a mutable reference to the pinned value this Pin<Ptr> points to.

\n

This is a generic method to go from &mut Pin<Pointer<T>> to Pin<&mut T>.\nIt is safe because, as part of the contract of Pin::new_unchecked,\nthe pointee cannot move after Pin<Pointer<T>> got created.\n“Malicious” implementations of Pointer::DerefMut are likewise\nruled out by the contract of Pin::new_unchecked.

\n

This method is useful when doing multiple calls to functions that consume the\npinning pointer.

\n
§Example
\n
use std::pin::Pin;\n\nimpl Type {\n    fn method(self: Pin<&mut Self>) {\n        // do something\n    }\n\n    fn call_method_twice(mut self: Pin<&mut Self>) {\n        // `method` consumes `self`, so reborrow the `Pin<&mut Self>` via `as_mut`.\n        self.as_mut().method();\n        self.as_mut().method();\n    }\n}
\n
1.33.0 · source

pub fn set(&mut self, value: <Ptr as Deref>::Target)
where\n <Ptr as Deref>::Target: Sized,

Assigns a new value to the memory location pointed to by the Pin<Ptr>.

\n

This overwrites pinned data, but that is okay: the original pinned value’s destructor gets\nrun before being overwritten and the new value is also a valid value of the same type, so\nno pinning invariant is violated. See the pin module documentation\nfor more information on how this upholds the pinning invariants.

\n
§Example
\n
use std::pin::Pin;\n\nlet mut val: u8 = 5;\nlet mut pinned: Pin<&mut u8> = Pin::new(&mut val);\nprintln!(\"{}\", pinned); // 5\npinned.set(10);\nprintln!(\"{}\", pinned); // 10
\n
",0,"storm::BoxFuture"],["
1.41.0 · source§

impl<Ptr, Q> PartialOrd<Pin<Q>> for Pin<Ptr>
where\n Ptr: Deref,\n Q: Deref,\n <Ptr as Deref>::Target: PartialOrd<<Q as Deref>::Target>,

source§

fn partial_cmp(&self, other: &Pin<Q>) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
source§

fn lt(&self, other: &Pin<Q>) -> bool

This method tests less than (for self and other) and is used by the < operator. Read more
source§

fn le(&self, other: &Pin<Q>) -> bool

This method tests less than or equal to (for self and other) and is used by the <=\noperator. Read more
source§

fn gt(&self, other: &Pin<Q>) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
source§

fn ge(&self, other: &Pin<Q>) -> bool

This method tests greater than or equal to (for self and other) and is used by the >=\noperator. Read more
","PartialOrd>","storm::BoxFuture"],["
1.33.0 · source§

impl<Ptr, U> CoerceUnsized<Pin<U>> for Pin<Ptr>
where\n Ptr: CoerceUnsized<U>,

","CoerceUnsized>","storm::BoxFuture"],["
1.41.0 · source§

impl<Ptr> Hash for Pin<Ptr>
where\n Ptr: Deref,\n <Ptr as Deref>::Target: Hash,

source§

fn hash<H>(&self, state: &mut H)
where\n H: Hasher,

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where\n H: Hasher,\n Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
","Hash","storm::BoxFuture"],["
1.33.0 · source§

impl<Ptr> Pointer for Pin<Ptr>
where\n Ptr: Pointer,

source§

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

Formats the value using the given formatter.
","Pointer","storm::BoxFuture"],["
1.33.0 · source§

impl<Ptr> DerefMut for Pin<Ptr>
where\n Ptr: DerefMut,\n <Ptr as Deref>::Target: Unpin,

source§

fn deref_mut(&mut self) -> &mut <Ptr as Deref>::Target

Mutably dereferences the value.
","DerefMut","storm::BoxFuture"],["
1.33.0 · source§

impl<Ptr> Clone for Pin<Ptr>
where\n Ptr: Clone,

source§

fn clone(&self) -> Pin<Ptr>

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
","Clone","storm::BoxFuture"],["
1.36.0 · source§

impl<P> Future for Pin<P>
where\n P: DerefMut,\n <P as Deref>::Target: Future,

§

type Output = <<P as Deref>::Target as Future>::Output

The type of value produced on completion.
source§

fn poll(\n self: Pin<&mut Pin<P>>,\n cx: &mut Context<'_>\n) -> Poll<<Pin<P> as Future>::Output>

Attempt to resolve the future to a final value, registering\nthe current task for wakeup if the value is not yet available. Read more
","Future","storm::BoxFuture"],["
1.33.0 · source§

impl<Ptr> Display for Pin<Ptr>
where\n Ptr: Display,

source§

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

Formats the value using the given formatter. Read more
","Display","storm::BoxFuture"],["
1.33.0 · source§

impl<Ptr> Debug for Pin<Ptr>
where\n Ptr: Debug,

source§

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

Formats the value using the given formatter. Read more
","Debug","storm::BoxFuture"],["
1.41.0 · source§

impl<Ptr> Eq for Pin<Ptr>
where\n Ptr: Deref,\n <Ptr as Deref>::Target: Eq,

","Eq","storm::BoxFuture"],["
1.41.0 · source§

impl<Ptr> Ord for Pin<Ptr>
where\n Ptr: Deref,\n <Ptr as Deref>::Target: Ord,

source§

fn cmp(&self, other: &Pin<Ptr>) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Self
where\n Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Self
where\n Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Self
where\n Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
","Ord","storm::BoxFuture"],["
1.33.0 · source§

impl<Ptr> Copy for Pin<Ptr>
where\n Ptr: Copy,

","Copy","storm::BoxFuture"],["
source§

impl<P> AsyncIterator for Pin<P>
where\n P: DerefMut,\n <P as Deref>::Target: AsyncIterator,

§

type Item = <<P as Deref>::Target as AsyncIterator>::Item

🔬This is a nightly-only experimental API. (async_iterator)
The type of items yielded by the async iterator.
source§

fn poll_next(\n self: Pin<&mut Pin<P>>,\n cx: &mut Context<'_>\n) -> Poll<Option<<Pin<P> as AsyncIterator>::Item>>

🔬This is a nightly-only experimental API. (async_iterator)
Attempt to pull out the next value of this async iterator, registering the\ncurrent task for wakeup if the value is not yet available, and returning\nNone if the async iterator is exhausted. Read more
source§

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

🔬This is a nightly-only experimental API. (async_iterator)
Returns the bounds on the remaining length of the async iterator. Read more
","AsyncIterator","storm::BoxFuture"],["
1.41.0 · source§

impl<Ptr, Q> PartialEq<Pin<Q>> for Pin<Ptr>
where\n Ptr: Deref,\n Q: Deref,\n <Ptr as Deref>::Target: PartialEq<<Q as Deref>::Target>,

source§

fn eq(&self, other: &Pin<Q>) -> bool

This method tests for self and other values to be equal, and is used\nby ==.
source§

fn ne(&self, other: &Pin<Q>) -> bool

This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
","PartialEq>","storm::BoxFuture"],["
1.33.0 · source§

impl<Ptr> Deref for Pin<Ptr>
where\n Ptr: Deref,

§

type Target = <Ptr as Deref>::Target

The resulting type after dereferencing.
source§

fn deref(&self) -> &<Ptr as Deref>::Target

Dereferences the value.
","Deref","storm::BoxFuture"],["
1.33.0 · source§

impl<Ptr, U> DispatchFromDyn<Pin<U>> for Pin<Ptr>
where\n Ptr: DispatchFromDyn<U>,

","DispatchFromDyn>","storm::BoxFuture"],["
source§

impl<G, R, A> Coroutine<R> for Pin<Box<G, A>>
where\n G: Coroutine<R> + ?Sized,\n A: Allocator + 'static,

§

type Yield = <G as Coroutine<R>>::Yield

🔬This is a nightly-only experimental API. (coroutine_trait)
The type of value this coroutine yields. Read more
§

type Return = <G as Coroutine<R>>::Return

🔬This is a nightly-only experimental API. (coroutine_trait)
The type of value this coroutine returns. Read more
source§

fn resume(\n self: Pin<&mut Pin<Box<G, A>>>,\n arg: R\n) -> CoroutineState<<Pin<Box<G, A>> as Coroutine<R>>::Yield, <Pin<Box<G, A>> as Coroutine<R>>::Return>

🔬This is a nightly-only experimental API. (coroutine_trait)
Resumes the execution of this coroutine. Read more
","Coroutine","storm::BoxFuture"],["
1.33.0 · source§

impl<T, A> From<Box<T, A>> for Pin<Box<T, A>>
where\n A: Allocator + 'static,\n T: ?Sized,

source§

fn from(boxed: Box<T, A>) -> Pin<Box<T, A>>

Converts a Box<T> into a Pin<Box<T>>. If T does not implement Unpin, then\n*boxed will be pinned in memory and unable to be moved.

\n

This conversion does not allocate on the heap and happens in place.

\n

This is also available via Box::into_pin.

\n

Constructing and pinning a Box with <Pin<Box<T>>>::from(Box::new(x))\ncan also be written more concisely using Box::pin(x).\nThis From implementation is useful if you already have a Box<T>, or you are\nconstructing a (pinned) Box in a different way than with Box::new.

\n
","From>","storm::BoxFuture"],["
§

impl<P> AsyncWrite for Pin<P>
where\n P: DerefMut + Unpin,\n <P as Deref>::Target: AsyncWrite,

§

fn poll_write(\n self: Pin<&mut Pin<P>>,\n cx: &mut Context<'_>,\n buf: &[u8]\n) -> Poll<Result<usize, Error>>

Attempt to write bytes from buf into the object. Read more
§

fn poll_write_vectored(\n self: Pin<&mut Pin<P>>,\n cx: &mut Context<'_>,\n bufs: &[IoSlice<'_>]\n) -> Poll<Result<usize, Error>>

Like poll_write, except that it writes from a slice of buffers. Read more
§

fn is_write_vectored(&self) -> bool

Determines if this writer has an efficient poll_write_vectored\nimplementation. Read more
§

fn poll_flush(\n self: Pin<&mut Pin<P>>,\n cx: &mut Context<'_>\n) -> Poll<Result<(), Error>>

Attempts to flush the object, ensuring that any buffered data reach\ntheir destination. Read more
§

fn poll_shutdown(\n self: Pin<&mut Pin<P>>,\n cx: &mut Context<'_>\n) -> Poll<Result<(), Error>>

Initiates or attempts to shut down this writer, returning success when\nthe I/O connection has completely shut down. Read more
","AsyncWrite","storm::BoxFuture"],["
§

impl<P> AsyncBufRead for Pin<P>
where\n P: DerefMut + Unpin,\n <P as Deref>::Target: AsyncBufRead,

§

fn poll_fill_buf(\n self: Pin<&mut Pin<P>>,\n cx: &mut Context<'_>\n) -> Poll<Result<&[u8], Error>>

Attempts to return the contents of the internal buffer, filling it with more data\nfrom the inner reader if it is empty. Read more
§

fn consume(self: Pin<&mut Pin<P>>, amt: usize)

Tells this buffer that amt bytes have been consumed from the buffer,\nso they should no longer be returned in calls to poll_read. Read more
","AsyncBufRead","storm::BoxFuture"],["
§

impl<P> AsyncRead for Pin<P>
where\n P: DerefMut + Unpin,\n <P as Deref>::Target: AsyncRead,

§

fn poll_read(\n self: Pin<&mut Pin<P>>,\n cx: &mut Context<'_>,\n buf: &mut ReadBuf<'_>\n) -> Poll<Result<(), Error>>

Attempts to read from the AsyncRead into buf. Read more
","AsyncRead","storm::BoxFuture"],["
§

impl<P> AsyncSeek for Pin<P>
where\n P: DerefMut + Unpin,\n <P as Deref>::Target: AsyncSeek,

§

fn start_seek(self: Pin<&mut Pin<P>>, pos: SeekFrom) -> Result<(), Error>

Attempts to seek to an offset, in bytes, in a stream. Read more
§

fn poll_complete(\n self: Pin<&mut Pin<P>>,\n cx: &mut Context<'_>\n) -> Poll<Result<u64, Error>>

Waits for a seek operation to complete. Read more
","AsyncSeek","storm::BoxFuture"],["
§

impl<P, Item> Sink<Item> for Pin<P>
where\n P: DerefMut + Unpin,\n <P as Deref>::Target: Sink<Item>,

§

type Error = <<P as Deref>::Target as Sink<Item>>::Error

The type of value produced by the sink when an error occurs.
§

fn poll_ready(\n self: Pin<&mut Pin<P>>,\n cx: &mut Context<'_>\n) -> Poll<Result<(), <Pin<P> as Sink<Item>>::Error>>

Attempts to prepare the Sink to receive a value. Read more
§

fn start_send(\n self: Pin<&mut Pin<P>>,\n item: Item\n) -> Result<(), <Pin<P> as Sink<Item>>::Error>

Begin the process of sending a value to the sink.\nEach call to this function must be preceded by a successful call to\npoll_ready which returned Poll::Ready(Ok(())). Read more
§

fn poll_flush(\n self: Pin<&mut Pin<P>>,\n cx: &mut Context<'_>\n) -> Poll<Result<(), <Pin<P> as Sink<Item>>::Error>>

Flush any remaining output from this sink. Read more
§

fn poll_close(\n self: Pin<&mut Pin<P>>,\n cx: &mut Context<'_>\n) -> Poll<Result<(), <Pin<P> as Sink<Item>>::Error>>

Flush any remaining output and close this sink, if necessary. Read more
","Sink","storm::BoxFuture"],["
§

impl<P> Stream for Pin<P>
where\n P: DerefMut + Unpin,\n <P as Deref>::Target: Stream,

§

type Item = <<P as Deref>::Target as Stream>::Item

Values yielded by the stream.
§

fn poll_next(\n self: Pin<&mut Pin<P>>,\n cx: &mut Context<'_>\n) -> Poll<Option<<Pin<P> as Stream>::Item>>

Attempt to pull out the next value of this stream, registering the\ncurrent task for wakeup if the value is not yet available, and returning\nNone if the stream is exhausted. Read more
§

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

Returns the bounds on the remaining length of the stream. Read more
","Stream","storm::BoxFuture"],["
§

impl<P> FusedFuture for Pin<P>
where\n P: DerefMut + Unpin,\n <P as Deref>::Target: FusedFuture,

§

fn is_terminated(&self) -> bool

Returns true if the underlying future should no longer be polled.
","FusedFuture","storm::BoxFuture"],["
§

impl<P> FusedStream for Pin<P>
where\n P: DerefMut + Unpin,\n <P as Deref>::Target: FusedStream,

§

fn is_terminated(&self) -> bool

Returns true if the stream should no longer be polled.
","FusedStream","storm::BoxFuture"],["
§

impl<'a, T> UnsafeFutureObj<'a, T> for Pin<Box<dyn Future<Output = T> + Send + 'a>>
where\n T: 'a,

§

fn into_raw(self) -> *mut dyn Future<Output = T> + 'a

Convert an owned instance into a (conceptually owned) fat pointer. Read more
§

unsafe fn drop(ptr: *mut dyn Future<Output = T> + 'a)

Drops the future represented by the given fat pointer. Read more
","UnsafeFutureObj<'a, T>","storm::BoxFuture"],["
§

impl<'a, T> UnsafeFutureObj<'a, T> for Pin<Box<dyn Future<Output = T> + 'a>>
where\n T: 'a,

§

fn into_raw(self) -> *mut dyn Future<Output = T> + 'a

Convert an owned instance into a (conceptually owned) fat pointer. Read more
§

unsafe fn drop(ptr: *mut dyn Future<Output = T> + 'a)

Drops the future represented by the given fat pointer. Read more
","UnsafeFutureObj<'a, T>","storm::BoxFuture"],["
§

impl<'a, T, F> UnsafeFutureObj<'a, T> for Pin<Box<F>>
where\n F: Future<Output = T> + 'a,

§

fn into_raw(self) -> *mut dyn Future<Output = T> + 'a

Convert an owned instance into a (conceptually owned) fat pointer. Read more
§

unsafe fn drop(ptr: *mut dyn Future<Output = T> + 'a)

Drops the future represented by the given fat pointer. Read more
","UnsafeFutureObj<'a, T>","storm::BoxFuture"],["
§

impl<P> AsyncWrite for Pin<P>
where\n P: DerefMut + Unpin,\n <P as Deref>::Target: AsyncWrite,

§

fn poll_write(\n self: Pin<&mut Pin<P>>,\n cx: &mut Context<'_>,\n buf: &[u8]\n) -> Poll<Result<usize, Error>>

Attempt to write bytes from buf into the object. Read more
§

fn poll_write_vectored(\n self: Pin<&mut Pin<P>>,\n cx: &mut Context<'_>,\n bufs: &[IoSlice<'_>]\n) -> Poll<Result<usize, Error>>

Attempt to write bytes from bufs into the object using vectored\nIO operations. Read more
§

fn poll_flush(\n self: Pin<&mut Pin<P>>,\n cx: &mut Context<'_>\n) -> Poll<Result<(), Error>>

Attempt to flush the object, ensuring that any buffered data reach\ntheir destination. Read more
§

fn poll_close(\n self: Pin<&mut Pin<P>>,\n cx: &mut Context<'_>\n) -> Poll<Result<(), Error>>

Attempt to close the object. Read more
","AsyncWrite","storm::BoxFuture"],["
§

impl<P> AsyncRead for Pin<P>
where\n P: DerefMut + Unpin,\n <P as Deref>::Target: AsyncRead,

§

fn poll_read(\n self: Pin<&mut Pin<P>>,\n cx: &mut Context<'_>,\n buf: &mut [u8]\n) -> Poll<Result<usize, Error>>

Attempt to read from the AsyncRead into buf. Read more
§

fn poll_read_vectored(\n self: Pin<&mut Pin<P>>,\n cx: &mut Context<'_>,\n bufs: &mut [IoSliceMut<'_>]\n) -> Poll<Result<usize, Error>>

Attempt to read from the AsyncRead into bufs using vectored\nIO operations. Read more
","AsyncRead","storm::BoxFuture"],["
§

impl<P> AsyncSeek for Pin<P>
where\n P: DerefMut + Unpin,\n <P as Deref>::Target: AsyncSeek,

§

fn poll_seek(\n self: Pin<&mut Pin<P>>,\n cx: &mut Context<'_>,\n pos: SeekFrom\n) -> Poll<Result<u64, Error>>

Attempt to seek to an offset, in bytes, in a stream. Read more
","AsyncSeek","storm::BoxFuture"],["
§

impl<P> AsyncBufRead for Pin<P>
where\n P: DerefMut + Unpin,\n <P as Deref>::Target: AsyncBufRead,

§

fn poll_fill_buf(\n self: Pin<&mut Pin<P>>,\n cx: &mut Context<'_>\n) -> Poll<Result<&[u8], Error>>

Attempt to return the contents of the internal buffer, filling it with more data\nfrom the inner reader if it is empty. Read more
§

fn consume(self: Pin<&mut Pin<P>>, amt: usize)

Tells this buffer that amt bytes have been consumed from the buffer,\nso they should no longer be returned in calls to poll_read. Read more
","AsyncBufRead","storm::BoxFuture"]] };if (window.register_type_impls) {window.register_type_impls(type_impls);} else {window.pending_type_impls = type_impls;}})() \ No newline at end of file diff --git a/type.impl/core/result/enum.Result.js b/type.impl/core/result/enum.Result.js index 8bdbc2b0..292a32c0 100644 --- a/type.impl/core/result/enum.Result.js +++ b/type.impl/core/result/enum.Result.js @@ -1,4 +1,4 @@ (function() {var type_impls = { -"storm":[["
source§

impl<T, E> Result<T, E>

1.0.0 (const: 1.48.0) · source

pub const fn is_ok(&self) -> bool

Returns true if the result is Ok.

\n
Examples
\n
let x: Result<i32, &str> = Ok(-3);\nassert_eq!(x.is_ok(), true);\n\nlet x: Result<i32, &str> = Err(\"Some error message\");\nassert_eq!(x.is_ok(), false);
\n
1.70.0 · source

pub fn is_ok_and(self, f: impl FnOnce(T) -> bool) -> bool

Returns true if the result is Ok and the value inside of it matches a predicate.

\n
Examples
\n
let x: Result<u32, &str> = Ok(2);\nassert_eq!(x.is_ok_and(|x| x > 1), true);\n\nlet x: Result<u32, &str> = Ok(0);\nassert_eq!(x.is_ok_and(|x| x > 1), false);\n\nlet x: Result<u32, &str> = Err(\"hey\");\nassert_eq!(x.is_ok_and(|x| x > 1), false);
\n
1.0.0 (const: 1.48.0) · source

pub const fn is_err(&self) -> bool

Returns true if the result is Err.

\n
Examples
\n
let x: Result<i32, &str> = Ok(-3);\nassert_eq!(x.is_err(), false);\n\nlet x: Result<i32, &str> = Err(\"Some error message\");\nassert_eq!(x.is_err(), true);
\n
1.70.0 · source

pub fn is_err_and(self, f: impl FnOnce(E) -> bool) -> bool

Returns true if the result is Err and the value inside of it matches a predicate.

\n
Examples
\n
use std::io::{Error, ErrorKind};\n\nlet x: Result<u32, Error> = Err(Error::new(ErrorKind::NotFound, \"!\"));\nassert_eq!(x.is_err_and(|x| x.kind() == ErrorKind::NotFound), true);\n\nlet x: Result<u32, Error> = Err(Error::new(ErrorKind::PermissionDenied, \"!\"));\nassert_eq!(x.is_err_and(|x| x.kind() == ErrorKind::NotFound), false);\n\nlet x: Result<u32, Error> = Ok(123);\nassert_eq!(x.is_err_and(|x| x.kind() == ErrorKind::NotFound), false);
\n
1.0.0 · source

pub fn ok(self) -> Option<T>

Converts from Result<T, E> to Option<T>.

\n

Converts self into an Option<T>, consuming self,\nand discarding the error, if any.

\n
Examples
\n
let x: Result<u32, &str> = Ok(2);\nassert_eq!(x.ok(), Some(2));\n\nlet x: Result<u32, &str> = Err(\"Nothing here\");\nassert_eq!(x.ok(), None);
\n
1.0.0 · source

pub fn err(self) -> Option<E>

Converts from Result<T, E> to Option<E>.

\n

Converts self into an Option<E>, consuming self,\nand discarding the success value, if any.

\n
Examples
\n
let x: Result<u32, &str> = Ok(2);\nassert_eq!(x.err(), None);\n\nlet x: Result<u32, &str> = Err(\"Nothing here\");\nassert_eq!(x.err(), Some(\"Nothing here\"));
\n
1.0.0 (const: 1.48.0) · source

pub const fn as_ref(&self) -> Result<&T, &E>

Converts from &Result<T, E> to Result<&T, &E>.

\n

Produces a new Result, containing a reference\ninto the original, leaving the original in place.

\n
Examples
\n
let x: Result<u32, &str> = Ok(2);\nassert_eq!(x.as_ref(), Ok(&2));\n\nlet x: Result<u32, &str> = Err(\"Error\");\nassert_eq!(x.as_ref(), Err(&\"Error\"));
\n
1.0.0 (const: unstable) · source

pub fn as_mut(&mut self) -> Result<&mut T, &mut E>

Converts from &mut Result<T, E> to Result<&mut T, &mut E>.

\n
Examples
\n
fn mutate(r: &mut Result<i32, i32>) {\n    match r.as_mut() {\n        Ok(v) => *v = 42,\n        Err(e) => *e = 0,\n    }\n}\n\nlet mut x: Result<i32, i32> = Ok(2);\nmutate(&mut x);\nassert_eq!(x.unwrap(), 42);\n\nlet mut x: Result<i32, i32> = Err(13);\nmutate(&mut x);\nassert_eq!(x.unwrap_err(), 0);
\n
1.0.0 · source

pub fn map<U, F>(self, op: F) -> Result<U, E>
where\n F: FnOnce(T) -> U,

Maps a Result<T, E> to Result<U, E> by applying a function to a\ncontained Ok value, leaving an Err value untouched.

\n

This function can be used to compose the results of two functions.

\n
Examples
\n

Print the numbers on each line of a string multiplied by two.

\n\n
let line = \"1\\n2\\n3\\n4\\n\";\n\nfor num in line.lines() {\n    match num.parse::<i32>().map(|i| i * 2) {\n        Ok(n) => println!(\"{n}\"),\n        Err(..) => {}\n    }\n}
\n
1.41.0 · source

pub fn map_or<U, F>(self, default: U, f: F) -> U
where\n F: FnOnce(T) -> U,

Returns the provided default (if Err), or\napplies a function to the contained value (if Ok).

\n

Arguments passed to map_or are eagerly evaluated; if you are passing\nthe result of a function call, it is recommended to use map_or_else,\nwhich is lazily evaluated.

\n
Examples
\n
let x: Result<_, &str> = Ok(\"foo\");\nassert_eq!(x.map_or(42, |v| v.len()), 3);\n\nlet x: Result<&str, _> = Err(\"bar\");\nassert_eq!(x.map_or(42, |v| v.len()), 42);
\n
1.41.0 · source

pub fn map_or_else<U, D, F>(self, default: D, f: F) -> U
where\n D: FnOnce(E) -> U,\n F: FnOnce(T) -> U,

Maps a Result<T, E> to U by applying fallback function default to\na contained Err value, or function f to a contained Ok value.

\n

This function can be used to unpack a successful result\nwhile handling an error.

\n
Examples
\n
let k = 21;\n\nlet x : Result<_, &str> = Ok(\"foo\");\nassert_eq!(x.map_or_else(|e| k * 2, |v| v.len()), 3);\n\nlet x : Result<&str, _> = Err(\"bar\");\nassert_eq!(x.map_or_else(|e| k * 2, |v| v.len()), 42);
\n
1.0.0 · source

pub fn map_err<F, O>(self, op: O) -> Result<T, F>
where\n O: FnOnce(E) -> F,

Maps a Result<T, E> to Result<T, F> by applying a function to a\ncontained Err value, leaving an Ok value untouched.

\n

This function can be used to pass through a successful result while handling\nan error.

\n
Examples
\n
fn stringify(x: u32) -> String { format!(\"error code: {x}\") }\n\nlet x: Result<u32, u32> = Ok(2);\nassert_eq!(x.map_err(stringify), Ok(2));\n\nlet x: Result<u32, u32> = Err(13);\nassert_eq!(x.map_err(stringify), Err(\"error code: 13\".to_string()));
\n
1.76.0 · source

pub fn inspect<F>(self, f: F) -> Result<T, E>
where\n F: FnOnce(&T),

Calls the provided closure with a reference to the contained value (if Ok).

\n
Examples
\n
let x: u8 = \"4\"\n    .parse::<u8>()\n    .inspect(|x| println!(\"original: {x}\"))\n    .map(|x| x.pow(3))\n    .expect(\"failed to parse number\");
\n
1.76.0 · source

pub fn inspect_err<F>(self, f: F) -> Result<T, E>
where\n F: FnOnce(&E),

Calls the provided closure with a reference to the contained error (if Err).

\n
Examples
\n
use std::{fs, io};\n\nfn read() -> io::Result<String> {\n    fs::read_to_string(\"address.txt\")\n        .inspect_err(|e| eprintln!(\"failed to read file: {e}\"))\n}
\n
1.47.0 · source

pub fn as_deref(&self) -> Result<&<T as Deref>::Target, &E>
where\n T: Deref,

Converts from Result<T, E> (or &Result<T, E>) to Result<&<T as Deref>::Target, &E>.

\n

Coerces the Ok variant of the original Result via Deref\nand returns the new Result.

\n
Examples
\n
let x: Result<String, u32> = Ok(\"hello\".to_string());\nlet y: Result<&str, &u32> = Ok(\"hello\");\nassert_eq!(x.as_deref(), y);\n\nlet x: Result<String, u32> = Err(42);\nlet y: Result<&str, &u32> = Err(&42);\nassert_eq!(x.as_deref(), y);
\n
1.47.0 · source

pub fn as_deref_mut(&mut self) -> Result<&mut <T as Deref>::Target, &mut E>
where\n T: DerefMut,

Converts from Result<T, E> (or &mut Result<T, E>) to Result<&mut <T as DerefMut>::Target, &mut E>.

\n

Coerces the Ok variant of the original Result via DerefMut\nand returns the new Result.

\n
Examples
\n
let mut s = \"HELLO\".to_string();\nlet mut x: Result<String, u32> = Ok(\"hello\".to_string());\nlet y: Result<&mut str, &mut u32> = Ok(&mut s);\nassert_eq!(x.as_deref_mut().map(|x| { x.make_ascii_uppercase(); x }), y);\n\nlet mut i = 42;\nlet mut x: Result<String, u32> = Err(42);\nlet y: Result<&mut str, &mut u32> = Err(&mut i);\nassert_eq!(x.as_deref_mut().map(|x| { x.make_ascii_uppercase(); x }), y);
\n
1.0.0 · source

pub fn iter(&self) -> Iter<'_, T>

Returns an iterator over the possibly contained value.

\n

The iterator yields one value if the result is Result::Ok, otherwise none.

\n
Examples
\n
let x: Result<u32, &str> = Ok(7);\nassert_eq!(x.iter().next(), Some(&7));\n\nlet x: Result<u32, &str> = Err(\"nothing!\");\nassert_eq!(x.iter().next(), None);
\n
1.0.0 · source

pub fn iter_mut(&mut self) -> IterMut<'_, T>

Returns a mutable iterator over the possibly contained value.

\n

The iterator yields one value if the result is Result::Ok, otherwise none.

\n
Examples
\n
let mut x: Result<u32, &str> = Ok(7);\nmatch x.iter_mut().next() {\n    Some(v) => *v = 40,\n    None => {},\n}\nassert_eq!(x, Ok(40));\n\nlet mut x: Result<u32, &str> = Err(\"nothing!\");\nassert_eq!(x.iter_mut().next(), None);
\n
1.4.0 · source

pub fn expect(self, msg: &str) -> T
where\n E: Debug,

Returns the contained Ok value, consuming the self value.

\n

Because this function may panic, its use is generally discouraged.\nInstead, prefer to use pattern matching and handle the Err\ncase explicitly, or call unwrap_or, unwrap_or_else, or\nunwrap_or_default.

\n
Panics
\n

Panics if the value is an Err, with a panic message including the\npassed message, and the content of the Err.

\n
Examples
\n
let x: Result<u32, &str> = Err(\"emergency failure\");\nx.expect(\"Testing expect\"); // panics with `Testing expect: emergency failure`
\n
Recommended Message Style
\n

We recommend that expect messages are used to describe the reason you\nexpect the Result should be Ok.

\n\n
let path = std::env::var(\"IMPORTANT_PATH\")\n    .expect(\"env variable `IMPORTANT_PATH` should be set by `wrapper_script.sh`\");
\n

Hint: If you’re having trouble remembering how to phrase expect\nerror messages remember to focus on the word “should” as in “env\nvariable should be set by blah” or “the given binary should be available\nand executable by the current user”.

\n

For more detail on expect message styles and the reasoning behind our recommendation please\nrefer to the section on “Common Message\nStyles” in the\nstd::error module docs.

\n
1.0.0 · source

pub fn unwrap(self) -> T
where\n E: Debug,

Returns the contained Ok value, consuming the self value.

\n

Because this function may panic, its use is generally discouraged.\nInstead, prefer to use pattern matching and handle the Err\ncase explicitly, or call unwrap_or, unwrap_or_else, or\nunwrap_or_default.

\n
Panics
\n

Panics if the value is an Err, with a panic message provided by the\nErr’s value.

\n
Examples
\n

Basic usage:

\n\n
let x: Result<u32, &str> = Ok(2);\nassert_eq!(x.unwrap(), 2);
\n\n
let x: Result<u32, &str> = Err(\"emergency failure\");\nx.unwrap(); // panics with `emergency failure`
\n
1.16.0 · source

pub fn unwrap_or_default(self) -> T
where\n T: Default,

Returns the contained Ok value or a default

\n

Consumes the self argument then, if Ok, returns the contained\nvalue, otherwise if Err, returns the default value for that\ntype.

\n
Examples
\n

Converts a string to an integer, turning poorly-formed strings\ninto 0 (the default value for integers). parse converts\na string to any other type that implements FromStr, returning an\nErr on error.

\n\n
let good_year_from_input = \"1909\";\nlet bad_year_from_input = \"190blarg\";\nlet good_year = good_year_from_input.parse().unwrap_or_default();\nlet bad_year = bad_year_from_input.parse().unwrap_or_default();\n\nassert_eq!(1909, good_year);\nassert_eq!(0, bad_year);
\n
1.17.0 · source

pub fn expect_err(self, msg: &str) -> E
where\n T: Debug,

Returns the contained Err value, consuming the self value.

\n
Panics
\n

Panics if the value is an Ok, with a panic message including the\npassed message, and the content of the Ok.

\n
Examples
\n
let x: Result<u32, &str> = Ok(10);\nx.expect_err(\"Testing expect_err\"); // panics with `Testing expect_err: 10`
\n
1.0.0 · source

pub fn unwrap_err(self) -> E
where\n T: Debug,

Returns the contained Err value, consuming the self value.

\n
Panics
\n

Panics if the value is an Ok, with a custom panic message provided\nby the Ok’s value.

\n
Examples
\n
let x: Result<u32, &str> = Ok(2);\nx.unwrap_err(); // panics with `2`
\n\n
let x: Result<u32, &str> = Err(\"emergency failure\");\nassert_eq!(x.unwrap_err(), \"emergency failure\");
\n
source

pub fn into_ok(self) -> T
where\n E: Into<!>,

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

Returns the contained Ok value, but never panics.

\n

Unlike unwrap, this method is known to never panic on the\nresult types it is implemented for. Therefore, it can be used\ninstead of unwrap as a maintainability safeguard that will fail\nto compile if the error type of the Result is later changed\nto an error that can actually occur.

\n
Examples
\n
\nfn only_good_news() -> Result<String, !> {\n    Ok(\"this is fine\".into())\n}\n\nlet s: String = only_good_news().into_ok();\nprintln!(\"{s}\");
\n
source

pub fn into_err(self) -> E
where\n T: Into<!>,

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

Returns the contained Err value, but never panics.

\n

Unlike unwrap_err, this method is known to never panic on the\nresult types it is implemented for. Therefore, it can be used\ninstead of unwrap_err as a maintainability safeguard that will fail\nto compile if the ok type of the Result is later changed\nto a type that can actually occur.

\n
Examples
\n
\nfn only_bad_news() -> Result<!, String> {\n    Err(\"Oops, it failed\".into())\n}\n\nlet error: String = only_bad_news().into_err();\nprintln!(\"{error}\");
\n
1.0.0 · source

pub fn and<U>(self, res: Result<U, E>) -> Result<U, E>

Returns res if the result is Ok, otherwise returns the Err value of self.

\n

Arguments passed to and are eagerly evaluated; if you are passing the\nresult of a function call, it is recommended to use and_then, which is\nlazily evaluated.

\n
Examples
\n
let x: Result<u32, &str> = Ok(2);\nlet y: Result<&str, &str> = Err(\"late error\");\nassert_eq!(x.and(y), Err(\"late error\"));\n\nlet x: Result<u32, &str> = Err(\"early error\");\nlet y: Result<&str, &str> = Ok(\"foo\");\nassert_eq!(x.and(y), Err(\"early error\"));\n\nlet x: Result<u32, &str> = Err(\"not a 2\");\nlet y: Result<&str, &str> = Err(\"late error\");\nassert_eq!(x.and(y), Err(\"not a 2\"));\n\nlet x: Result<u32, &str> = Ok(2);\nlet y: Result<&str, &str> = Ok(\"different result type\");\nassert_eq!(x.and(y), Ok(\"different result type\"));
\n
1.0.0 · source

pub fn and_then<U, F>(self, op: F) -> Result<U, E>
where\n F: FnOnce(T) -> Result<U, E>,

Calls op if the result is Ok, otherwise returns the Err value of self.

\n

This function can be used for control flow based on Result values.

\n
Examples
\n
fn sq_then_to_string(x: u32) -> Result<String, &'static str> {\n    x.checked_mul(x).map(|sq| sq.to_string()).ok_or(\"overflowed\")\n}\n\nassert_eq!(Ok(2).and_then(sq_then_to_string), Ok(4.to_string()));\nassert_eq!(Ok(1_000_000).and_then(sq_then_to_string), Err(\"overflowed\"));\nassert_eq!(Err(\"not a number\").and_then(sq_then_to_string), Err(\"not a number\"));
\n

Often used to chain fallible operations that may return Err.

\n\n
use std::{io::ErrorKind, path::Path};\n\n// Note: on Windows \"/\" maps to \"C:\\\"\nlet root_modified_time = Path::new(\"/\").metadata().and_then(|md| md.modified());\nassert!(root_modified_time.is_ok());\n\nlet should_fail = Path::new(\"/bad/path\").metadata().and_then(|md| md.modified());\nassert!(should_fail.is_err());\nassert_eq!(should_fail.unwrap_err().kind(), ErrorKind::NotFound);
\n
1.0.0 · source

pub fn or<F>(self, res: Result<T, F>) -> Result<T, F>

Returns res if the result is Err, otherwise returns the Ok value of self.

\n

Arguments passed to or are eagerly evaluated; if you are passing the\nresult of a function call, it is recommended to use or_else, which is\nlazily evaluated.

\n
Examples
\n
let x: Result<u32, &str> = Ok(2);\nlet y: Result<u32, &str> = Err(\"late error\");\nassert_eq!(x.or(y), Ok(2));\n\nlet x: Result<u32, &str> = Err(\"early error\");\nlet y: Result<u32, &str> = Ok(2);\nassert_eq!(x.or(y), Ok(2));\n\nlet x: Result<u32, &str> = Err(\"not a 2\");\nlet y: Result<u32, &str> = Err(\"late error\");\nassert_eq!(x.or(y), Err(\"late error\"));\n\nlet x: Result<u32, &str> = Ok(2);\nlet y: Result<u32, &str> = Ok(100);\nassert_eq!(x.or(y), Ok(2));
\n
1.0.0 · source

pub fn or_else<F, O>(self, op: O) -> Result<T, F>
where\n O: FnOnce(E) -> Result<T, F>,

Calls op if the result is Err, otherwise returns the Ok value of self.

\n

This function can be used for control flow based on result values.

\n
Examples
\n
fn sq(x: u32) -> Result<u32, u32> { Ok(x * x) }\nfn err(x: u32) -> Result<u32, u32> { Err(x) }\n\nassert_eq!(Ok(2).or_else(sq).or_else(sq), Ok(2));\nassert_eq!(Ok(2).or_else(err).or_else(sq), Ok(2));\nassert_eq!(Err(3).or_else(sq).or_else(err), Ok(9));\nassert_eq!(Err(3).or_else(err).or_else(err), Err(3));
\n
1.0.0 · source

pub fn unwrap_or(self, default: T) -> T

Returns the contained Ok value or a provided default.

\n

Arguments passed to unwrap_or are eagerly evaluated; if you are passing\nthe result of a function call, it is recommended to use unwrap_or_else,\nwhich is lazily evaluated.

\n
Examples
\n
let default = 2;\nlet x: Result<u32, &str> = Ok(9);\nassert_eq!(x.unwrap_or(default), 9);\n\nlet x: Result<u32, &str> = Err(\"error\");\nassert_eq!(x.unwrap_or(default), default);
\n
1.0.0 · source

pub fn unwrap_or_else<F>(self, op: F) -> T
where\n F: FnOnce(E) -> T,

Returns the contained Ok value or computes it from a closure.

\n
Examples
\n
fn count(x: &str) -> usize { x.len() }\n\nassert_eq!(Ok(2).unwrap_or_else(count), 2);\nassert_eq!(Err(\"foo\").unwrap_or_else(count), 3);
\n
1.58.0 · source

pub unsafe fn unwrap_unchecked(self) -> T

Returns the contained Ok value, consuming the self value,\nwithout checking that the value is not an Err.

\n
Safety
\n

Calling this method on an Err is undefined behavior.

\n
Examples
\n
let x: Result<u32, &str> = Ok(2);\nassert_eq!(unsafe { x.unwrap_unchecked() }, 2);
\n\n
let x: Result<u32, &str> = Err(\"emergency failure\");\nunsafe { x.unwrap_unchecked(); } // Undefined behavior!
\n
1.58.0 · source

pub unsafe fn unwrap_err_unchecked(self) -> E

Returns the contained Err value, consuming the self value,\nwithout checking that the value is not an Ok.

\n
Safety
\n

Calling this method on an Ok is undefined behavior.

\n
Examples
\n
let x: Result<u32, &str> = Ok(2);\nunsafe { x.unwrap_err_unchecked() }; // Undefined behavior!
\n\n
let x: Result<u32, &str> = Err(\"emergency failure\");\nassert_eq!(unsafe { x.unwrap_err_unchecked() }, \"emergency failure\");
\n
",0,"storm::Result"],["
source§

impl<T, E> Result<&T, E>

1.59.0 · source

pub fn copied(self) -> Result<T, E>
where\n T: Copy,

Maps a Result<&T, E> to a Result<T, E> by copying the contents of the\nOk part.

\n
Examples
\n
let val = 12;\nlet x: Result<&i32, i32> = Ok(&val);\nassert_eq!(x, Ok(&12));\nlet copied = x.copied();\nassert_eq!(copied, Ok(12));
\n
1.59.0 · source

pub fn cloned(self) -> Result<T, E>
where\n T: Clone,

Maps a Result<&T, E> to a Result<T, E> by cloning the contents of the\nOk part.

\n
Examples
\n
let val = 12;\nlet x: Result<&i32, i32> = Ok(&val);\nassert_eq!(x, Ok(&12));\nlet cloned = x.cloned();\nassert_eq!(cloned, Ok(12));
\n
",0,"storm::Result"],["
source§

impl<T, E> Result<&mut T, E>

1.59.0 · source

pub fn copied(self) -> Result<T, E>
where\n T: Copy,

Maps a Result<&mut T, E> to a Result<T, E> by copying the contents of the\nOk part.

\n
Examples
\n
let mut val = 12;\nlet x: Result<&mut i32, i32> = Ok(&mut val);\nassert_eq!(x, Ok(&mut 12));\nlet copied = x.copied();\nassert_eq!(copied, Ok(12));
\n
1.59.0 · source

pub fn cloned(self) -> Result<T, E>
where\n T: Clone,

Maps a Result<&mut T, E> to a Result<T, E> by cloning the contents of the\nOk part.

\n
Examples
\n
let mut val = 12;\nlet x: Result<&mut i32, i32> = Ok(&mut val);\nassert_eq!(x, Ok(&mut 12));\nlet cloned = x.cloned();\nassert_eq!(cloned, Ok(12));
\n
",0,"storm::Result"],["
source§

impl<T, E> Result<Option<T>, E>

1.33.0 (const: unstable) · source

pub fn transpose(self) -> Option<Result<T, E>>

Transposes a Result of an Option into an Option of a Result.

\n

Ok(None) will be mapped to None.\nOk(Some(_)) and Err(_) will be mapped to Some(Ok(_)) and Some(Err(_)).

\n
Examples
\n
#[derive(Debug, Eq, PartialEq)]\nstruct SomeErr;\n\nlet x: Result<Option<i32>, SomeErr> = Ok(Some(5));\nlet y: Option<Result<i32, SomeErr>> = Some(Ok(5));\nassert_eq!(x.transpose(), y);
\n
",0,"storm::Result"],["
source§

impl<T, E> Result<Result<T, E>, E>

source

pub fn flatten(self) -> Result<T, E>

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

Converts from Result<Result<T, E>, E> to Result<T, E>

\n
Examples
\n
#![feature(result_flattening)]\nlet x: Result<Result<&'static str, u32>, u32> = Ok(Ok(\"hello\"));\nassert_eq!(Ok(\"hello\"), x.flatten());\n\nlet x: Result<Result<&'static str, u32>, u32> = Ok(Err(6));\nassert_eq!(Err(6), x.flatten());\n\nlet x: Result<Result<&'static str, u32>, u32> = Err(6);\nassert_eq!(Err(6), x.flatten());
\n

Flattening only removes one level of nesting at a time:

\n\n
#![feature(result_flattening)]\nlet x: Result<Result<Result<&'static str, u32>, u32>, u32> = Ok(Ok(Ok(\"hello\")));\nassert_eq!(Ok(Ok(\"hello\")), x.flatten());\nassert_eq!(Ok(\"hello\"), x.flatten().flatten());
\n
",0,"storm::Result"],["
1.61.0 · source§

impl<T, E> Termination for Result<T, E>
where\n T: Termination,\n E: Debug,

source§

fn report(self) -> ExitCode

Is called to get the representation of the value as status code.\nThis status code is returned to the operating system.
","Termination","storm::Result"],["
1.0.0 · source§

impl<T, E> PartialOrd for Result<T, E>
where\n T: PartialOrd,\n E: PartialOrd,

source§

fn partial_cmp(&self, other: &Result<T, E>) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · source§

fn lt(&self, other: &Rhs) -> bool

This method tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · source§

fn le(&self, other: &Rhs) -> bool

This method tests less than or equal to (for self and other) and is used by the <=\noperator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

This method tests greater than or equal to (for self and other) and is used by the >=\noperator. Read more
","PartialOrd","storm::Result"],["
1.16.0 · source§

impl<T, U, E> Product<Result<U, E>> for Result<T, E>
where\n T: Product<U>,

source§

fn product<I>(iter: I) -> Result<T, E>
where\n I: Iterator<Item = Result<U, E>>,

Takes each element in the Iterator: if it is an Err, no further\nelements are taken, and the Err is returned. Should no Err\noccur, the product of all elements is returned.

\n
Examples
\n

This multiplies each number in a vector of strings,\nif a string could not be parsed the operation returns Err:

\n\n
let nums = vec![\"5\", \"10\", \"1\", \"2\"];\nlet total: Result<usize, _> = nums.iter().map(|w| w.parse::<usize>()).product();\nassert_eq!(total, Ok(100));\nlet nums = vec![\"5\", \"10\", \"one\", \"2\"];\nlet total: Result<usize, _> = nums.iter().map(|w| w.parse::<usize>()).product();\nassert!(total.is_err());
\n
","Product>","storm::Result"],["
source§

impl<T, E, F> FromResidual<Result<Infallible, E>> for Result<T, F>
where\n F: From<E>,

source§

fn from_residual(residual: Result<Infallible, E>) -> Result<T, F>

🔬This is a nightly-only experimental API. (try_trait_v2)
Constructs the type from a compatible Residual type. Read more
","FromResidual>","storm::Result"],["
source§

impl<T, E, F> FromResidual<Yeet<E>> for Result<T, F>
where\n F: From<E>,

source§

fn from_residual(_: Yeet<E>) -> Result<T, F>

🔬This is a nightly-only experimental API. (try_trait_v2)
Constructs the type from a compatible Residual type. Read more
","FromResidual>","storm::Result"],["
source§

impl<T, E> Try for Result<T, E>

§

type Output = T

🔬This is a nightly-only experimental API. (try_trait_v2)
The type of the value produced by ? when not short-circuiting.
§

type Residual = Result<Infallible, E>

🔬This is a nightly-only experimental API. (try_trait_v2)
The type of the value passed to FromResidual::from_residual\nas part of ? when short-circuiting. Read more
source§

fn from_output(output: <Result<T, E> as Try>::Output) -> Result<T, E>

🔬This is a nightly-only experimental API. (try_trait_v2)
Constructs the type from its Output type. Read more
source§

fn branch(\n self\n) -> ControlFlow<<Result<T, E> as Try>::Residual, <Result<T, E> as Try>::Output>

🔬This is a nightly-only experimental API. (try_trait_v2)
Used in ? to decide whether the operator should produce a value\n(because this returned ControlFlow::Continue)\nor propagate a value back to the caller\n(because this returned ControlFlow::Break). Read more
","Try","storm::Result"],["
1.0.0 · source§

impl<T, E> Clone for Result<T, E>
where\n T: Clone,\n E: Clone,

source§

fn clone(&self) -> Result<T, E>

Returns a copy of the value. Read more
source§

fn clone_from(&mut self, source: &Result<T, E>)

Performs copy-assignment from source. Read more
","Clone","storm::Result"],["
1.0.0 · source§

impl<A, E, V> FromIterator<Result<A, E>> for Result<V, E>
where\n V: FromIterator<A>,

source§

fn from_iter<I>(iter: I) -> Result<V, E>
where\n I: IntoIterator<Item = Result<A, E>>,

Takes each element in the Iterator: if it is an Err, no further\nelements are taken, and the Err is returned. Should no Err occur, a\ncontainer with the values of each Result is returned.

\n

Here is an example which increments every integer in a vector,\nchecking for overflow:

\n\n
let v = vec![1, 2];\nlet res: Result<Vec<u32>, &'static str> = v.iter().map(|x: &u32|\n    x.checked_add(1).ok_or(\"Overflow!\")\n).collect();\nassert_eq!(res, Ok(vec![2, 3]));
\n

Here is another example that tries to subtract one from another list\nof integers, this time checking for underflow:

\n\n
let v = vec![1, 2, 0];\nlet res: Result<Vec<u32>, &'static str> = v.iter().map(|x: &u32|\n    x.checked_sub(1).ok_or(\"Underflow!\")\n).collect();\nassert_eq!(res, Err(\"Underflow!\"));
\n

Here is a variation on the previous example, showing that no\nfurther elements are taken from iter after the first Err.

\n\n
let v = vec![3, 2, 1, 10];\nlet mut shared = 0;\nlet res: Result<Vec<u32>, &'static str> = v.iter().map(|x: &u32| {\n    shared += x;\n    x.checked_sub(2).ok_or(\"Underflow!\")\n}).collect();\nassert_eq!(res, Err(\"Underflow!\"));\nassert_eq!(shared, 6);
\n

Since the third element caused an underflow, no further elements were taken,\nso the final value of shared is 6 (= 3 + 2 + 1), not 16.

\n
","FromIterator>","storm::Result"],["
1.0.0 · source§

impl<T, E> StructuralEq for Result<T, E>

","StructuralEq","storm::Result"],["
1.0.0 · source§

impl<T, E> Eq for Result<T, E>
where\n T: Eq,\n E: Eq,

","Eq","storm::Result"],["
1.0.0 · source§

impl<T, E> Hash for Result<T, E>
where\n T: Hash,\n E: Hash,

source§

fn hash<__H>(&self, state: &mut __H)
where\n __H: Hasher,

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where\n H: Hasher,\n Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
","Hash","storm::Result"],["
1.0.0 · source§

impl<T, E> Ord for Result<T, E>
where\n T: Ord,\n E: Ord,

source§

fn cmp(&self, other: &Result<T, E>) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Self
where\n Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Self
where\n Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Self
where\n Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
","Ord","storm::Result"],["
source§

impl<T, E> Residual<T> for Result<Infallible, E>

§

type TryType = Result<T, E>

🔬This is a nightly-only experimental API. (try_trait_v2_residual)
The “return” type of this meta-function.
","Residual","storm::Result"],["
1.0.0 · source§

impl<T, E> PartialEq for Result<T, E>
where\n T: PartialEq,\n E: PartialEq,

source§

fn eq(&self, other: &Result<T, E>) -> bool

This method tests for self and other values to be equal, and is used\nby ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
","PartialEq","storm::Result"],["
1.0.0 · source§

impl<T, E> IntoIterator for Result<T, E>

source§

fn into_iter(self) -> IntoIter<T>

Returns a consuming iterator over the possibly contained value.

\n

The iterator yields one value if the result is Result::Ok, otherwise none.

\n
Examples
\n
let x: Result<u32, &str> = Ok(5);\nlet v: Vec<u32> = x.into_iter().collect();\nassert_eq!(v, [5]);\n\nlet x: Result<u32, &str> = Err(\"nothing!\");\nlet v: Vec<u32> = x.into_iter().collect();\nassert_eq!(v, []);
\n
§

type Item = T

The type of the elements being iterated over.
§

type IntoIter = IntoIter<T>

Which kind of iterator are we turning this into?
","IntoIterator","storm::Result"],["
1.16.0 · source§

impl<T, U, E> Sum<Result<U, E>> for Result<T, E>
where\n T: Sum<U>,

source§

fn sum<I>(iter: I) -> Result<T, E>
where\n I: Iterator<Item = Result<U, E>>,

Takes each element in the Iterator: if it is an Err, no further\nelements are taken, and the Err is returned. Should no Err\noccur, the sum of all elements is returned.

\n
Examples
\n

This sums up every integer in a vector, rejecting the sum if a negative\nelement is encountered:

\n\n
let f = |&x: &i32| if x < 0 { Err(\"Negative element found\") } else { Ok(x) };\nlet v = vec![1, 2];\nlet res: Result<i32, _> = v.iter().map(f).sum();\nassert_eq!(res, Ok(3));\nlet v = vec![1, -2];\nlet res: Result<i32, _> = v.iter().map(f).sum();\nassert_eq!(res, Err(\"Negative element found\"));
\n
","Sum>","storm::Result"],["
1.0.0 · source§

impl<T, E> StructuralPartialEq for Result<T, E>

","StructuralPartialEq","storm::Result"],["
1.0.0 · source§

impl<T, E> Debug for Result<T, E>
where\n T: Debug,\n E: Debug,

source§

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

Formats the value using the given formatter. Read more
","Debug","storm::Result"],["
1.0.0 · source§

impl<T, E> Copy for Result<T, E>
where\n T: Copy,\n E: Copy,

","Copy","storm::Result"],["
source§

impl<'de, T, E> Deserialize<'de> for Result<T, E>
where\n T: Deserialize<'de>,\n E: Deserialize<'de>,

source§

fn deserialize<D>(\n deserializer: D\n) -> Result<Result<T, E>, <D as Deserializer<'de>>::Error>
where\n D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
","Deserialize<'de>","storm::Result"],["
source§

impl<T, E> Serialize for Result<T, E>
where\n T: Serialize,\n E: Serialize,

source§

fn serialize<S>(\n &self,\n serializer: S\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
where\n S: Serializer,

Serialize this value into the given Serde serializer. Read more
","Serialize","storm::Result"],["
§

impl<C, T, E> FromParallelIterator<Result<T, E>> for Result<C, E>
where\n C: FromParallelIterator<T>,\n T: Send,\n E: Send,

Collect an arbitrary Result-wrapped collection.

\n

If any item is Err, then all previous Ok items collected are\ndiscarded, and it returns that error. If there are multiple errors, the\none returned is not deterministic.

\n
§

fn from_par_iter<I>(par_iter: I) -> Result<C, E>
where\n I: IntoParallelIterator<Item = Result<T, E>>,

Creates an instance of the collection from the parallel iterator par_iter. Read more
","FromParallelIterator>","storm::Result"],["
§

impl<T, E> IntoParallelIterator for Result<T, E>
where\n T: Send,

§

type Item = T

The type of item that the parallel iterator will produce.
§

type Iter = IntoIter<T>

The parallel iterator type that will be created.
§

fn into_par_iter(self) -> <Result<T, E> as IntoParallelIterator>::Iter

Converts self into a parallel iterator. Read more
","IntoParallelIterator","storm::Result"]], -"storm_mssql":[["
source§

impl<T, E> Result<T, E>

1.0.0 (const: 1.48.0) · source

pub const fn is_ok(&self) -> bool

Returns true if the result is Ok.

\n
Examples
\n
let x: Result<i32, &str> = Ok(-3);\nassert_eq!(x.is_ok(), true);\n\nlet x: Result<i32, &str> = Err(\"Some error message\");\nassert_eq!(x.is_ok(), false);
\n
1.70.0 · source

pub fn is_ok_and(self, f: impl FnOnce(T) -> bool) -> bool

Returns true if the result is Ok and the value inside of it matches a predicate.

\n
Examples
\n
let x: Result<u32, &str> = Ok(2);\nassert_eq!(x.is_ok_and(|x| x > 1), true);\n\nlet x: Result<u32, &str> = Ok(0);\nassert_eq!(x.is_ok_and(|x| x > 1), false);\n\nlet x: Result<u32, &str> = Err(\"hey\");\nassert_eq!(x.is_ok_and(|x| x > 1), false);
\n
1.0.0 (const: 1.48.0) · source

pub const fn is_err(&self) -> bool

Returns true if the result is Err.

\n
Examples
\n
let x: Result<i32, &str> = Ok(-3);\nassert_eq!(x.is_err(), false);\n\nlet x: Result<i32, &str> = Err(\"Some error message\");\nassert_eq!(x.is_err(), true);
\n
1.70.0 · source

pub fn is_err_and(self, f: impl FnOnce(E) -> bool) -> bool

Returns true if the result is Err and the value inside of it matches a predicate.

\n
Examples
\n
use std::io::{Error, ErrorKind};\n\nlet x: Result<u32, Error> = Err(Error::new(ErrorKind::NotFound, \"!\"));\nassert_eq!(x.is_err_and(|x| x.kind() == ErrorKind::NotFound), true);\n\nlet x: Result<u32, Error> = Err(Error::new(ErrorKind::PermissionDenied, \"!\"));\nassert_eq!(x.is_err_and(|x| x.kind() == ErrorKind::NotFound), false);\n\nlet x: Result<u32, Error> = Ok(123);\nassert_eq!(x.is_err_and(|x| x.kind() == ErrorKind::NotFound), false);
\n
1.0.0 · source

pub fn ok(self) -> Option<T>

Converts from Result<T, E> to Option<T>.

\n

Converts self into an Option<T>, consuming self,\nand discarding the error, if any.

\n
Examples
\n
let x: Result<u32, &str> = Ok(2);\nassert_eq!(x.ok(), Some(2));\n\nlet x: Result<u32, &str> = Err(\"Nothing here\");\nassert_eq!(x.ok(), None);
\n
1.0.0 · source

pub fn err(self) -> Option<E>

Converts from Result<T, E> to Option<E>.

\n

Converts self into an Option<E>, consuming self,\nand discarding the success value, if any.

\n
Examples
\n
let x: Result<u32, &str> = Ok(2);\nassert_eq!(x.err(), None);\n\nlet x: Result<u32, &str> = Err(\"Nothing here\");\nassert_eq!(x.err(), Some(\"Nothing here\"));
\n
1.0.0 (const: 1.48.0) · source

pub const fn as_ref(&self) -> Result<&T, &E>

Converts from &Result<T, E> to Result<&T, &E>.

\n

Produces a new Result, containing a reference\ninto the original, leaving the original in place.

\n
Examples
\n
let x: Result<u32, &str> = Ok(2);\nassert_eq!(x.as_ref(), Ok(&2));\n\nlet x: Result<u32, &str> = Err(\"Error\");\nassert_eq!(x.as_ref(), Err(&\"Error\"));
\n
1.0.0 (const: unstable) · source

pub fn as_mut(&mut self) -> Result<&mut T, &mut E>

Converts from &mut Result<T, E> to Result<&mut T, &mut E>.

\n
Examples
\n
fn mutate(r: &mut Result<i32, i32>) {\n    match r.as_mut() {\n        Ok(v) => *v = 42,\n        Err(e) => *e = 0,\n    }\n}\n\nlet mut x: Result<i32, i32> = Ok(2);\nmutate(&mut x);\nassert_eq!(x.unwrap(), 42);\n\nlet mut x: Result<i32, i32> = Err(13);\nmutate(&mut x);\nassert_eq!(x.unwrap_err(), 0);
\n
1.0.0 · source

pub fn map<U, F>(self, op: F) -> Result<U, E>
where\n F: FnOnce(T) -> U,

Maps a Result<T, E> to Result<U, E> by applying a function to a\ncontained Ok value, leaving an Err value untouched.

\n

This function can be used to compose the results of two functions.

\n
Examples
\n

Print the numbers on each line of a string multiplied by two.

\n\n
let line = \"1\\n2\\n3\\n4\\n\";\n\nfor num in line.lines() {\n    match num.parse::<i32>().map(|i| i * 2) {\n        Ok(n) => println!(\"{n}\"),\n        Err(..) => {}\n    }\n}
\n
1.41.0 · source

pub fn map_or<U, F>(self, default: U, f: F) -> U
where\n F: FnOnce(T) -> U,

Returns the provided default (if Err), or\napplies a function to the contained value (if Ok).

\n

Arguments passed to map_or are eagerly evaluated; if you are passing\nthe result of a function call, it is recommended to use map_or_else,\nwhich is lazily evaluated.

\n
Examples
\n
let x: Result<_, &str> = Ok(\"foo\");\nassert_eq!(x.map_or(42, |v| v.len()), 3);\n\nlet x: Result<&str, _> = Err(\"bar\");\nassert_eq!(x.map_or(42, |v| v.len()), 42);
\n
1.41.0 · source

pub fn map_or_else<U, D, F>(self, default: D, f: F) -> U
where\n D: FnOnce(E) -> U,\n F: FnOnce(T) -> U,

Maps a Result<T, E> to U by applying fallback function default to\na contained Err value, or function f to a contained Ok value.

\n

This function can be used to unpack a successful result\nwhile handling an error.

\n
Examples
\n
let k = 21;\n\nlet x : Result<_, &str> = Ok(\"foo\");\nassert_eq!(x.map_or_else(|e| k * 2, |v| v.len()), 3);\n\nlet x : Result<&str, _> = Err(\"bar\");\nassert_eq!(x.map_or_else(|e| k * 2, |v| v.len()), 42);
\n
1.0.0 · source

pub fn map_err<F, O>(self, op: O) -> Result<T, F>
where\n O: FnOnce(E) -> F,

Maps a Result<T, E> to Result<T, F> by applying a function to a\ncontained Err value, leaving an Ok value untouched.

\n

This function can be used to pass through a successful result while handling\nan error.

\n
Examples
\n
fn stringify(x: u32) -> String { format!(\"error code: {x}\") }\n\nlet x: Result<u32, u32> = Ok(2);\nassert_eq!(x.map_err(stringify), Ok(2));\n\nlet x: Result<u32, u32> = Err(13);\nassert_eq!(x.map_err(stringify), Err(\"error code: 13\".to_string()));
\n
1.76.0 · source

pub fn inspect<F>(self, f: F) -> Result<T, E>
where\n F: FnOnce(&T),

Calls the provided closure with a reference to the contained value (if Ok).

\n
Examples
\n
let x: u8 = \"4\"\n    .parse::<u8>()\n    .inspect(|x| println!(\"original: {x}\"))\n    .map(|x| x.pow(3))\n    .expect(\"failed to parse number\");
\n
1.76.0 · source

pub fn inspect_err<F>(self, f: F) -> Result<T, E>
where\n F: FnOnce(&E),

Calls the provided closure with a reference to the contained error (if Err).

\n
Examples
\n
use std::{fs, io};\n\nfn read() -> io::Result<String> {\n    fs::read_to_string(\"address.txt\")\n        .inspect_err(|e| eprintln!(\"failed to read file: {e}\"))\n}
\n
1.47.0 · source

pub fn as_deref(&self) -> Result<&<T as Deref>::Target, &E>
where\n T: Deref,

Converts from Result<T, E> (or &Result<T, E>) to Result<&<T as Deref>::Target, &E>.

\n

Coerces the Ok variant of the original Result via Deref\nand returns the new Result.

\n
Examples
\n
let x: Result<String, u32> = Ok(\"hello\".to_string());\nlet y: Result<&str, &u32> = Ok(\"hello\");\nassert_eq!(x.as_deref(), y);\n\nlet x: Result<String, u32> = Err(42);\nlet y: Result<&str, &u32> = Err(&42);\nassert_eq!(x.as_deref(), y);
\n
1.47.0 · source

pub fn as_deref_mut(&mut self) -> Result<&mut <T as Deref>::Target, &mut E>
where\n T: DerefMut,

Converts from Result<T, E> (or &mut Result<T, E>) to Result<&mut <T as DerefMut>::Target, &mut E>.

\n

Coerces the Ok variant of the original Result via DerefMut\nand returns the new Result.

\n
Examples
\n
let mut s = \"HELLO\".to_string();\nlet mut x: Result<String, u32> = Ok(\"hello\".to_string());\nlet y: Result<&mut str, &mut u32> = Ok(&mut s);\nassert_eq!(x.as_deref_mut().map(|x| { x.make_ascii_uppercase(); x }), y);\n\nlet mut i = 42;\nlet mut x: Result<String, u32> = Err(42);\nlet y: Result<&mut str, &mut u32> = Err(&mut i);\nassert_eq!(x.as_deref_mut().map(|x| { x.make_ascii_uppercase(); x }), y);
\n
1.0.0 · source

pub fn iter(&self) -> Iter<'_, T>

Returns an iterator over the possibly contained value.

\n

The iterator yields one value if the result is Result::Ok, otherwise none.

\n
Examples
\n
let x: Result<u32, &str> = Ok(7);\nassert_eq!(x.iter().next(), Some(&7));\n\nlet x: Result<u32, &str> = Err(\"nothing!\");\nassert_eq!(x.iter().next(), None);
\n
1.0.0 · source

pub fn iter_mut(&mut self) -> IterMut<'_, T>

Returns a mutable iterator over the possibly contained value.

\n

The iterator yields one value if the result is Result::Ok, otherwise none.

\n
Examples
\n
let mut x: Result<u32, &str> = Ok(7);\nmatch x.iter_mut().next() {\n    Some(v) => *v = 40,\n    None => {},\n}\nassert_eq!(x, Ok(40));\n\nlet mut x: Result<u32, &str> = Err(\"nothing!\");\nassert_eq!(x.iter_mut().next(), None);
\n
1.4.0 · source

pub fn expect(self, msg: &str) -> T
where\n E: Debug,

Returns the contained Ok value, consuming the self value.

\n

Because this function may panic, its use is generally discouraged.\nInstead, prefer to use pattern matching and handle the Err\ncase explicitly, or call unwrap_or, unwrap_or_else, or\nunwrap_or_default.

\n
Panics
\n

Panics if the value is an Err, with a panic message including the\npassed message, and the content of the Err.

\n
Examples
\n
let x: Result<u32, &str> = Err(\"emergency failure\");\nx.expect(\"Testing expect\"); // panics with `Testing expect: emergency failure`
\n
Recommended Message Style
\n

We recommend that expect messages are used to describe the reason you\nexpect the Result should be Ok.

\n\n
let path = std::env::var(\"IMPORTANT_PATH\")\n    .expect(\"env variable `IMPORTANT_PATH` should be set by `wrapper_script.sh`\");
\n

Hint: If you’re having trouble remembering how to phrase expect\nerror messages remember to focus on the word “should” as in “env\nvariable should be set by blah” or “the given binary should be available\nand executable by the current user”.

\n

For more detail on expect message styles and the reasoning behind our recommendation please\nrefer to the section on “Common Message\nStyles” in the\nstd::error module docs.

\n
1.0.0 · source

pub fn unwrap(self) -> T
where\n E: Debug,

Returns the contained Ok value, consuming the self value.

\n

Because this function may panic, its use is generally discouraged.\nInstead, prefer to use pattern matching and handle the Err\ncase explicitly, or call unwrap_or, unwrap_or_else, or\nunwrap_or_default.

\n
Panics
\n

Panics if the value is an Err, with a panic message provided by the\nErr’s value.

\n
Examples
\n

Basic usage:

\n\n
let x: Result<u32, &str> = Ok(2);\nassert_eq!(x.unwrap(), 2);
\n\n
let x: Result<u32, &str> = Err(\"emergency failure\");\nx.unwrap(); // panics with `emergency failure`
\n
1.16.0 · source

pub fn unwrap_or_default(self) -> T
where\n T: Default,

Returns the contained Ok value or a default

\n

Consumes the self argument then, if Ok, returns the contained\nvalue, otherwise if Err, returns the default value for that\ntype.

\n
Examples
\n

Converts a string to an integer, turning poorly-formed strings\ninto 0 (the default value for integers). parse converts\na string to any other type that implements FromStr, returning an\nErr on error.

\n\n
let good_year_from_input = \"1909\";\nlet bad_year_from_input = \"190blarg\";\nlet good_year = good_year_from_input.parse().unwrap_or_default();\nlet bad_year = bad_year_from_input.parse().unwrap_or_default();\n\nassert_eq!(1909, good_year);\nassert_eq!(0, bad_year);
\n
1.17.0 · source

pub fn expect_err(self, msg: &str) -> E
where\n T: Debug,

Returns the contained Err value, consuming the self value.

\n
Panics
\n

Panics if the value is an Ok, with a panic message including the\npassed message, and the content of the Ok.

\n
Examples
\n
let x: Result<u32, &str> = Ok(10);\nx.expect_err(\"Testing expect_err\"); // panics with `Testing expect_err: 10`
\n
1.0.0 · source

pub fn unwrap_err(self) -> E
where\n T: Debug,

Returns the contained Err value, consuming the self value.

\n
Panics
\n

Panics if the value is an Ok, with a custom panic message provided\nby the Ok’s value.

\n
Examples
\n
let x: Result<u32, &str> = Ok(2);\nx.unwrap_err(); // panics with `2`
\n\n
let x: Result<u32, &str> = Err(\"emergency failure\");\nassert_eq!(x.unwrap_err(), \"emergency failure\");
\n
source

pub fn into_ok(self) -> T
where\n E: Into<!>,

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

Returns the contained Ok value, but never panics.

\n

Unlike unwrap, this method is known to never panic on the\nresult types it is implemented for. Therefore, it can be used\ninstead of unwrap as a maintainability safeguard that will fail\nto compile if the error type of the Result is later changed\nto an error that can actually occur.

\n
Examples
\n
\nfn only_good_news() -> Result<String, !> {\n    Ok(\"this is fine\".into())\n}\n\nlet s: String = only_good_news().into_ok();\nprintln!(\"{s}\");
\n
source

pub fn into_err(self) -> E
where\n T: Into<!>,

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

Returns the contained Err value, but never panics.

\n

Unlike unwrap_err, this method is known to never panic on the\nresult types it is implemented for. Therefore, it can be used\ninstead of unwrap_err as a maintainability safeguard that will fail\nto compile if the ok type of the Result is later changed\nto a type that can actually occur.

\n
Examples
\n
\nfn only_bad_news() -> Result<!, String> {\n    Err(\"Oops, it failed\".into())\n}\n\nlet error: String = only_bad_news().into_err();\nprintln!(\"{error}\");
\n
1.0.0 · source

pub fn and<U>(self, res: Result<U, E>) -> Result<U, E>

Returns res if the result is Ok, otherwise returns the Err value of self.

\n

Arguments passed to and are eagerly evaluated; if you are passing the\nresult of a function call, it is recommended to use and_then, which is\nlazily evaluated.

\n
Examples
\n
let x: Result<u32, &str> = Ok(2);\nlet y: Result<&str, &str> = Err(\"late error\");\nassert_eq!(x.and(y), Err(\"late error\"));\n\nlet x: Result<u32, &str> = Err(\"early error\");\nlet y: Result<&str, &str> = Ok(\"foo\");\nassert_eq!(x.and(y), Err(\"early error\"));\n\nlet x: Result<u32, &str> = Err(\"not a 2\");\nlet y: Result<&str, &str> = Err(\"late error\");\nassert_eq!(x.and(y), Err(\"not a 2\"));\n\nlet x: Result<u32, &str> = Ok(2);\nlet y: Result<&str, &str> = Ok(\"different result type\");\nassert_eq!(x.and(y), Ok(\"different result type\"));
\n
1.0.0 · source

pub fn and_then<U, F>(self, op: F) -> Result<U, E>
where\n F: FnOnce(T) -> Result<U, E>,

Calls op if the result is Ok, otherwise returns the Err value of self.

\n

This function can be used for control flow based on Result values.

\n
Examples
\n
fn sq_then_to_string(x: u32) -> Result<String, &'static str> {\n    x.checked_mul(x).map(|sq| sq.to_string()).ok_or(\"overflowed\")\n}\n\nassert_eq!(Ok(2).and_then(sq_then_to_string), Ok(4.to_string()));\nassert_eq!(Ok(1_000_000).and_then(sq_then_to_string), Err(\"overflowed\"));\nassert_eq!(Err(\"not a number\").and_then(sq_then_to_string), Err(\"not a number\"));
\n

Often used to chain fallible operations that may return Err.

\n\n
use std::{io::ErrorKind, path::Path};\n\n// Note: on Windows \"/\" maps to \"C:\\\"\nlet root_modified_time = Path::new(\"/\").metadata().and_then(|md| md.modified());\nassert!(root_modified_time.is_ok());\n\nlet should_fail = Path::new(\"/bad/path\").metadata().and_then(|md| md.modified());\nassert!(should_fail.is_err());\nassert_eq!(should_fail.unwrap_err().kind(), ErrorKind::NotFound);
\n
1.0.0 · source

pub fn or<F>(self, res: Result<T, F>) -> Result<T, F>

Returns res if the result is Err, otherwise returns the Ok value of self.

\n

Arguments passed to or are eagerly evaluated; if you are passing the\nresult of a function call, it is recommended to use or_else, which is\nlazily evaluated.

\n
Examples
\n
let x: Result<u32, &str> = Ok(2);\nlet y: Result<u32, &str> = Err(\"late error\");\nassert_eq!(x.or(y), Ok(2));\n\nlet x: Result<u32, &str> = Err(\"early error\");\nlet y: Result<u32, &str> = Ok(2);\nassert_eq!(x.or(y), Ok(2));\n\nlet x: Result<u32, &str> = Err(\"not a 2\");\nlet y: Result<u32, &str> = Err(\"late error\");\nassert_eq!(x.or(y), Err(\"late error\"));\n\nlet x: Result<u32, &str> = Ok(2);\nlet y: Result<u32, &str> = Ok(100);\nassert_eq!(x.or(y), Ok(2));
\n
1.0.0 · source

pub fn or_else<F, O>(self, op: O) -> Result<T, F>
where\n O: FnOnce(E) -> Result<T, F>,

Calls op if the result is Err, otherwise returns the Ok value of self.

\n

This function can be used for control flow based on result values.

\n
Examples
\n
fn sq(x: u32) -> Result<u32, u32> { Ok(x * x) }\nfn err(x: u32) -> Result<u32, u32> { Err(x) }\n\nassert_eq!(Ok(2).or_else(sq).or_else(sq), Ok(2));\nassert_eq!(Ok(2).or_else(err).or_else(sq), Ok(2));\nassert_eq!(Err(3).or_else(sq).or_else(err), Ok(9));\nassert_eq!(Err(3).or_else(err).or_else(err), Err(3));
\n
1.0.0 · source

pub fn unwrap_or(self, default: T) -> T

Returns the contained Ok value or a provided default.

\n

Arguments passed to unwrap_or are eagerly evaluated; if you are passing\nthe result of a function call, it is recommended to use unwrap_or_else,\nwhich is lazily evaluated.

\n
Examples
\n
let default = 2;\nlet x: Result<u32, &str> = Ok(9);\nassert_eq!(x.unwrap_or(default), 9);\n\nlet x: Result<u32, &str> = Err(\"error\");\nassert_eq!(x.unwrap_or(default), default);
\n
1.0.0 · source

pub fn unwrap_or_else<F>(self, op: F) -> T
where\n F: FnOnce(E) -> T,

Returns the contained Ok value or computes it from a closure.

\n
Examples
\n
fn count(x: &str) -> usize { x.len() }\n\nassert_eq!(Ok(2).unwrap_or_else(count), 2);\nassert_eq!(Err(\"foo\").unwrap_or_else(count), 3);
\n
1.58.0 · source

pub unsafe fn unwrap_unchecked(self) -> T

Returns the contained Ok value, consuming the self value,\nwithout checking that the value is not an Err.

\n
Safety
\n

Calling this method on an Err is undefined behavior.

\n
Examples
\n
let x: Result<u32, &str> = Ok(2);\nassert_eq!(unsafe { x.unwrap_unchecked() }, 2);
\n\n
let x: Result<u32, &str> = Err(\"emergency failure\");\nunsafe { x.unwrap_unchecked(); } // Undefined behavior!
\n
1.58.0 · source

pub unsafe fn unwrap_err_unchecked(self) -> E

Returns the contained Err value, consuming the self value,\nwithout checking that the value is not an Ok.

\n
Safety
\n

Calling this method on an Ok is undefined behavior.

\n
Examples
\n
let x: Result<u32, &str> = Ok(2);\nunsafe { x.unwrap_err_unchecked() }; // Undefined behavior!
\n\n
let x: Result<u32, &str> = Err(\"emergency failure\");\nassert_eq!(unsafe { x.unwrap_err_unchecked() }, \"emergency failure\");
\n
",0,"storm_mssql::Result"],["
source§

impl<T, E> Result<&T, E>

1.59.0 · source

pub fn copied(self) -> Result<T, E>
where\n T: Copy,

Maps a Result<&T, E> to a Result<T, E> by copying the contents of the\nOk part.

\n
Examples
\n
let val = 12;\nlet x: Result<&i32, i32> = Ok(&val);\nassert_eq!(x, Ok(&12));\nlet copied = x.copied();\nassert_eq!(copied, Ok(12));
\n
1.59.0 · source

pub fn cloned(self) -> Result<T, E>
where\n T: Clone,

Maps a Result<&T, E> to a Result<T, E> by cloning the contents of the\nOk part.

\n
Examples
\n
let val = 12;\nlet x: Result<&i32, i32> = Ok(&val);\nassert_eq!(x, Ok(&12));\nlet cloned = x.cloned();\nassert_eq!(cloned, Ok(12));
\n
",0,"storm_mssql::Result"],["
source§

impl<T, E> Result<&mut T, E>

1.59.0 · source

pub fn copied(self) -> Result<T, E>
where\n T: Copy,

Maps a Result<&mut T, E> to a Result<T, E> by copying the contents of the\nOk part.

\n
Examples
\n
let mut val = 12;\nlet x: Result<&mut i32, i32> = Ok(&mut val);\nassert_eq!(x, Ok(&mut 12));\nlet copied = x.copied();\nassert_eq!(copied, Ok(12));
\n
1.59.0 · source

pub fn cloned(self) -> Result<T, E>
where\n T: Clone,

Maps a Result<&mut T, E> to a Result<T, E> by cloning the contents of the\nOk part.

\n
Examples
\n
let mut val = 12;\nlet x: Result<&mut i32, i32> = Ok(&mut val);\nassert_eq!(x, Ok(&mut 12));\nlet cloned = x.cloned();\nassert_eq!(cloned, Ok(12));
\n
",0,"storm_mssql::Result"],["
source§

impl<T, E> Result<Option<T>, E>

1.33.0 (const: unstable) · source

pub fn transpose(self) -> Option<Result<T, E>>

Transposes a Result of an Option into an Option of a Result.

\n

Ok(None) will be mapped to None.\nOk(Some(_)) and Err(_) will be mapped to Some(Ok(_)) and Some(Err(_)).

\n
Examples
\n
#[derive(Debug, Eq, PartialEq)]\nstruct SomeErr;\n\nlet x: Result<Option<i32>, SomeErr> = Ok(Some(5));\nlet y: Option<Result<i32, SomeErr>> = Some(Ok(5));\nassert_eq!(x.transpose(), y);
\n
",0,"storm_mssql::Result"],["
source§

impl<T, E> Result<Result<T, E>, E>

source

pub fn flatten(self) -> Result<T, E>

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

Converts from Result<Result<T, E>, E> to Result<T, E>

\n
Examples
\n
#![feature(result_flattening)]\nlet x: Result<Result<&'static str, u32>, u32> = Ok(Ok(\"hello\"));\nassert_eq!(Ok(\"hello\"), x.flatten());\n\nlet x: Result<Result<&'static str, u32>, u32> = Ok(Err(6));\nassert_eq!(Err(6), x.flatten());\n\nlet x: Result<Result<&'static str, u32>, u32> = Err(6);\nassert_eq!(Err(6), x.flatten());
\n

Flattening only removes one level of nesting at a time:

\n\n
#![feature(result_flattening)]\nlet x: Result<Result<Result<&'static str, u32>, u32>, u32> = Ok(Ok(Ok(\"hello\")));\nassert_eq!(Ok(Ok(\"hello\")), x.flatten());\nassert_eq!(Ok(\"hello\"), x.flatten().flatten());
\n
",0,"storm_mssql::Result"],["
1.61.0 · source§

impl<T, E> Termination for Result<T, E>
where\n T: Termination,\n E: Debug,

source§

fn report(self) -> ExitCode

Is called to get the representation of the value as status code.\nThis status code is returned to the operating system.
","Termination","storm_mssql::Result"],["
1.0.0 · source§

impl<T, E> PartialOrd for Result<T, E>
where\n T: PartialOrd,\n E: PartialOrd,

source§

fn partial_cmp(&self, other: &Result<T, E>) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · source§

fn lt(&self, other: &Rhs) -> bool

This method tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · source§

fn le(&self, other: &Rhs) -> bool

This method tests less than or equal to (for self and other) and is used by the <=\noperator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

This method tests greater than or equal to (for self and other) and is used by the >=\noperator. Read more
","PartialOrd","storm_mssql::Result"],["
1.16.0 · source§

impl<T, U, E> Product<Result<U, E>> for Result<T, E>
where\n T: Product<U>,

source§

fn product<I>(iter: I) -> Result<T, E>
where\n I: Iterator<Item = Result<U, E>>,

Takes each element in the Iterator: if it is an Err, no further\nelements are taken, and the Err is returned. Should no Err\noccur, the product of all elements is returned.

\n
Examples
\n

This multiplies each number in a vector of strings,\nif a string could not be parsed the operation returns Err:

\n\n
let nums = vec![\"5\", \"10\", \"1\", \"2\"];\nlet total: Result<usize, _> = nums.iter().map(|w| w.parse::<usize>()).product();\nassert_eq!(total, Ok(100));\nlet nums = vec![\"5\", \"10\", \"one\", \"2\"];\nlet total: Result<usize, _> = nums.iter().map(|w| w.parse::<usize>()).product();\nassert!(total.is_err());
\n
","Product>","storm_mssql::Result"],["
source§

impl<T, E, F> FromResidual<Result<Infallible, E>> for Result<T, F>
where\n F: From<E>,

source§

fn from_residual(residual: Result<Infallible, E>) -> Result<T, F>

🔬This is a nightly-only experimental API. (try_trait_v2)
Constructs the type from a compatible Residual type. Read more
","FromResidual>","storm_mssql::Result"],["
source§

impl<T, E, F> FromResidual<Yeet<E>> for Result<T, F>
where\n F: From<E>,

source§

fn from_residual(_: Yeet<E>) -> Result<T, F>

🔬This is a nightly-only experimental API. (try_trait_v2)
Constructs the type from a compatible Residual type. Read more
","FromResidual>","storm_mssql::Result"],["
source§

impl<T, E> Try for Result<T, E>

§

type Output = T

🔬This is a nightly-only experimental API. (try_trait_v2)
The type of the value produced by ? when not short-circuiting.
§

type Residual = Result<Infallible, E>

🔬This is a nightly-only experimental API. (try_trait_v2)
The type of the value passed to FromResidual::from_residual\nas part of ? when short-circuiting. Read more
source§

fn from_output(output: <Result<T, E> as Try>::Output) -> Result<T, E>

🔬This is a nightly-only experimental API. (try_trait_v2)
Constructs the type from its Output type. Read more
source§

fn branch(\n self\n) -> ControlFlow<<Result<T, E> as Try>::Residual, <Result<T, E> as Try>::Output>

🔬This is a nightly-only experimental API. (try_trait_v2)
Used in ? to decide whether the operator should produce a value\n(because this returned ControlFlow::Continue)\nor propagate a value back to the caller\n(because this returned ControlFlow::Break). Read more
","Try","storm_mssql::Result"],["
1.0.0 · source§

impl<T, E> Clone for Result<T, E>
where\n T: Clone,\n E: Clone,

source§

fn clone(&self) -> Result<T, E>

Returns a copy of the value. Read more
source§

fn clone_from(&mut self, source: &Result<T, E>)

Performs copy-assignment from source. Read more
","Clone","storm_mssql::Result"],["
1.0.0 · source§

impl<A, E, V> FromIterator<Result<A, E>> for Result<V, E>
where\n V: FromIterator<A>,

source§

fn from_iter<I>(iter: I) -> Result<V, E>
where\n I: IntoIterator<Item = Result<A, E>>,

Takes each element in the Iterator: if it is an Err, no further\nelements are taken, and the Err is returned. Should no Err occur, a\ncontainer with the values of each Result is returned.

\n

Here is an example which increments every integer in a vector,\nchecking for overflow:

\n\n
let v = vec![1, 2];\nlet res: Result<Vec<u32>, &'static str> = v.iter().map(|x: &u32|\n    x.checked_add(1).ok_or(\"Overflow!\")\n).collect();\nassert_eq!(res, Ok(vec![2, 3]));
\n

Here is another example that tries to subtract one from another list\nof integers, this time checking for underflow:

\n\n
let v = vec![1, 2, 0];\nlet res: Result<Vec<u32>, &'static str> = v.iter().map(|x: &u32|\n    x.checked_sub(1).ok_or(\"Underflow!\")\n).collect();\nassert_eq!(res, Err(\"Underflow!\"));
\n

Here is a variation on the previous example, showing that no\nfurther elements are taken from iter after the first Err.

\n\n
let v = vec![3, 2, 1, 10];\nlet mut shared = 0;\nlet res: Result<Vec<u32>, &'static str> = v.iter().map(|x: &u32| {\n    shared += x;\n    x.checked_sub(2).ok_or(\"Underflow!\")\n}).collect();\nassert_eq!(res, Err(\"Underflow!\"));\nassert_eq!(shared, 6);
\n

Since the third element caused an underflow, no further elements were taken,\nso the final value of shared is 6 (= 3 + 2 + 1), not 16.

\n
","FromIterator>","storm_mssql::Result"],["
1.0.0 · source§

impl<T, E> StructuralEq for Result<T, E>

","StructuralEq","storm_mssql::Result"],["
1.0.0 · source§

impl<T, E> Eq for Result<T, E>
where\n T: Eq,\n E: Eq,

","Eq","storm_mssql::Result"],["
1.0.0 · source§

impl<T, E> Hash for Result<T, E>
where\n T: Hash,\n E: Hash,

source§

fn hash<__H>(&self, state: &mut __H)
where\n __H: Hasher,

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where\n H: Hasher,\n Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
","Hash","storm_mssql::Result"],["
1.0.0 · source§

impl<T, E> Ord for Result<T, E>
where\n T: Ord,\n E: Ord,

source§

fn cmp(&self, other: &Result<T, E>) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Self
where\n Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Self
where\n Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Self
where\n Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
","Ord","storm_mssql::Result"],["
source§

impl<T, E> Residual<T> for Result<Infallible, E>

§

type TryType = Result<T, E>

🔬This is a nightly-only experimental API. (try_trait_v2_residual)
The “return” type of this meta-function.
","Residual","storm_mssql::Result"],["
1.0.0 · source§

impl<T, E> PartialEq for Result<T, E>
where\n T: PartialEq,\n E: PartialEq,

source§

fn eq(&self, other: &Result<T, E>) -> bool

This method tests for self and other values to be equal, and is used\nby ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
","PartialEq","storm_mssql::Result"],["
1.0.0 · source§

impl<T, E> IntoIterator for Result<T, E>

source§

fn into_iter(self) -> IntoIter<T>

Returns a consuming iterator over the possibly contained value.

\n

The iterator yields one value if the result is Result::Ok, otherwise none.

\n
Examples
\n
let x: Result<u32, &str> = Ok(5);\nlet v: Vec<u32> = x.into_iter().collect();\nassert_eq!(v, [5]);\n\nlet x: Result<u32, &str> = Err(\"nothing!\");\nlet v: Vec<u32> = x.into_iter().collect();\nassert_eq!(v, []);
\n
§

type Item = T

The type of the elements being iterated over.
§

type IntoIter = IntoIter<T>

Which kind of iterator are we turning this into?
","IntoIterator","storm_mssql::Result"],["
1.16.0 · source§

impl<T, U, E> Sum<Result<U, E>> for Result<T, E>
where\n T: Sum<U>,

source§

fn sum<I>(iter: I) -> Result<T, E>
where\n I: Iterator<Item = Result<U, E>>,

Takes each element in the Iterator: if it is an Err, no further\nelements are taken, and the Err is returned. Should no Err\noccur, the sum of all elements is returned.

\n
Examples
\n

This sums up every integer in a vector, rejecting the sum if a negative\nelement is encountered:

\n\n
let f = |&x: &i32| if x < 0 { Err(\"Negative element found\") } else { Ok(x) };\nlet v = vec![1, 2];\nlet res: Result<i32, _> = v.iter().map(f).sum();\nassert_eq!(res, Ok(3));\nlet v = vec![1, -2];\nlet res: Result<i32, _> = v.iter().map(f).sum();\nassert_eq!(res, Err(\"Negative element found\"));
\n
","Sum>","storm_mssql::Result"],["
1.0.0 · source§

impl<T, E> StructuralPartialEq for Result<T, E>

","StructuralPartialEq","storm_mssql::Result"],["
1.0.0 · source§

impl<T, E> Debug for Result<T, E>
where\n T: Debug,\n E: Debug,

source§

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

Formats the value using the given formatter. Read more
","Debug","storm_mssql::Result"],["
1.0.0 · source§

impl<T, E> Copy for Result<T, E>
where\n T: Copy,\n E: Copy,

","Copy","storm_mssql::Result"],["
source§

impl<'de, T, E> Deserialize<'de> for Result<T, E>
where\n T: Deserialize<'de>,\n E: Deserialize<'de>,

source§

fn deserialize<D>(\n deserializer: D\n) -> Result<Result<T, E>, <D as Deserializer<'de>>::Error>
where\n D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
","Deserialize<'de>","storm_mssql::Result"],["
source§

impl<T, E> Serialize for Result<T, E>
where\n T: Serialize,\n E: Serialize,

source§

fn serialize<S>(\n &self,\n serializer: S\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
where\n S: Serializer,

Serialize this value into the given Serde serializer. Read more
","Serialize","storm_mssql::Result"],["
§

impl<C, T, E> FromParallelIterator<Result<T, E>> for Result<C, E>
where\n C: FromParallelIterator<T>,\n T: Send,\n E: Send,

Collect an arbitrary Result-wrapped collection.

\n

If any item is Err, then all previous Ok items collected are\ndiscarded, and it returns that error. If there are multiple errors, the\none returned is not deterministic.

\n
§

fn from_par_iter<I>(par_iter: I) -> Result<C, E>
where\n I: IntoParallelIterator<Item = Result<T, E>>,

Creates an instance of the collection from the parallel iterator par_iter. Read more
","FromParallelIterator>","storm_mssql::Result"],["
§

impl<T, E> IntoParallelIterator for Result<T, E>
where\n T: Send,

§

type Item = T

The type of item that the parallel iterator will produce.
§

type Iter = IntoIter<T>

The parallel iterator type that will be created.
§

fn into_par_iter(self) -> <Result<T, E> as IntoParallelIterator>::Iter

Converts self into a parallel iterator. Read more
","IntoParallelIterator","storm_mssql::Result"]] +"storm":[["
source§

impl<T, E> Result<T, E>

1.0.0 (const: 1.48.0) · source

pub const fn is_ok(&self) -> bool

Returns true if the result is Ok.

\n
§Examples
\n
let x: Result<i32, &str> = Ok(-3);\nassert_eq!(x.is_ok(), true);\n\nlet x: Result<i32, &str> = Err(\"Some error message\");\nassert_eq!(x.is_ok(), false);
\n
1.70.0 · source

pub fn is_ok_and(self, f: impl FnOnce(T) -> bool) -> bool

Returns true if the result is Ok and the value inside of it matches a predicate.

\n
§Examples
\n
let x: Result<u32, &str> = Ok(2);\nassert_eq!(x.is_ok_and(|x| x > 1), true);\n\nlet x: Result<u32, &str> = Ok(0);\nassert_eq!(x.is_ok_and(|x| x > 1), false);\n\nlet x: Result<u32, &str> = Err(\"hey\");\nassert_eq!(x.is_ok_and(|x| x > 1), false);
\n
1.0.0 (const: 1.48.0) · source

pub const fn is_err(&self) -> bool

Returns true if the result is Err.

\n
§Examples
\n
let x: Result<i32, &str> = Ok(-3);\nassert_eq!(x.is_err(), false);\n\nlet x: Result<i32, &str> = Err(\"Some error message\");\nassert_eq!(x.is_err(), true);
\n
1.70.0 · source

pub fn is_err_and(self, f: impl FnOnce(E) -> bool) -> bool

Returns true if the result is Err and the value inside of it matches a predicate.

\n
§Examples
\n
use std::io::{Error, ErrorKind};\n\nlet x: Result<u32, Error> = Err(Error::new(ErrorKind::NotFound, \"!\"));\nassert_eq!(x.is_err_and(|x| x.kind() == ErrorKind::NotFound), true);\n\nlet x: Result<u32, Error> = Err(Error::new(ErrorKind::PermissionDenied, \"!\"));\nassert_eq!(x.is_err_and(|x| x.kind() == ErrorKind::NotFound), false);\n\nlet x: Result<u32, Error> = Ok(123);\nassert_eq!(x.is_err_and(|x| x.kind() == ErrorKind::NotFound), false);
\n
1.0.0 · source

pub fn ok(self) -> Option<T>

Converts from Result<T, E> to Option<T>.

\n

Converts self into an Option<T>, consuming self,\nand discarding the error, if any.

\n
§Examples
\n
let x: Result<u32, &str> = Ok(2);\nassert_eq!(x.ok(), Some(2));\n\nlet x: Result<u32, &str> = Err(\"Nothing here\");\nassert_eq!(x.ok(), None);
\n
1.0.0 · source

pub fn err(self) -> Option<E>

Converts from Result<T, E> to Option<E>.

\n

Converts self into an Option<E>, consuming self,\nand discarding the success value, if any.

\n
§Examples
\n
let x: Result<u32, &str> = Ok(2);\nassert_eq!(x.err(), None);\n\nlet x: Result<u32, &str> = Err(\"Nothing here\");\nassert_eq!(x.err(), Some(\"Nothing here\"));
\n
1.0.0 (const: 1.48.0) · source

pub const fn as_ref(&self) -> Result<&T, &E>

Converts from &Result<T, E> to Result<&T, &E>.

\n

Produces a new Result, containing a reference\ninto the original, leaving the original in place.

\n
§Examples
\n
let x: Result<u32, &str> = Ok(2);\nassert_eq!(x.as_ref(), Ok(&2));\n\nlet x: Result<u32, &str> = Err(\"Error\");\nassert_eq!(x.as_ref(), Err(&\"Error\"));
\n
1.0.0 (const: unstable) · source

pub fn as_mut(&mut self) -> Result<&mut T, &mut E>

Converts from &mut Result<T, E> to Result<&mut T, &mut E>.

\n
§Examples
\n
fn mutate(r: &mut Result<i32, i32>) {\n    match r.as_mut() {\n        Ok(v) => *v = 42,\n        Err(e) => *e = 0,\n    }\n}\n\nlet mut x: Result<i32, i32> = Ok(2);\nmutate(&mut x);\nassert_eq!(x.unwrap(), 42);\n\nlet mut x: Result<i32, i32> = Err(13);\nmutate(&mut x);\nassert_eq!(x.unwrap_err(), 0);
\n
1.0.0 · source

pub fn map<U, F>(self, op: F) -> Result<U, E>
where\n F: FnOnce(T) -> U,

Maps a Result<T, E> to Result<U, E> by applying a function to a\ncontained Ok value, leaving an Err value untouched.

\n

This function can be used to compose the results of two functions.

\n
§Examples
\n

Print the numbers on each line of a string multiplied by two.

\n\n
let line = \"1\\n2\\n3\\n4\\n\";\n\nfor num in line.lines() {\n    match num.parse::<i32>().map(|i| i * 2) {\n        Ok(n) => println!(\"{n}\"),\n        Err(..) => {}\n    }\n}
\n
1.41.0 · source

pub fn map_or<U, F>(self, default: U, f: F) -> U
where\n F: FnOnce(T) -> U,

Returns the provided default (if Err), or\napplies a function to the contained value (if Ok).

\n

Arguments passed to map_or are eagerly evaluated; if you are passing\nthe result of a function call, it is recommended to use map_or_else,\nwhich is lazily evaluated.

\n
§Examples
\n
let x: Result<_, &str> = Ok(\"foo\");\nassert_eq!(x.map_or(42, |v| v.len()), 3);\n\nlet x: Result<&str, _> = Err(\"bar\");\nassert_eq!(x.map_or(42, |v| v.len()), 42);
\n
1.41.0 · source

pub fn map_or_else<U, D, F>(self, default: D, f: F) -> U
where\n D: FnOnce(E) -> U,\n F: FnOnce(T) -> U,

Maps a Result<T, E> to U by applying fallback function default to\na contained Err value, or function f to a contained Ok value.

\n

This function can be used to unpack a successful result\nwhile handling an error.

\n
§Examples
\n
let k = 21;\n\nlet x : Result<_, &str> = Ok(\"foo\");\nassert_eq!(x.map_or_else(|e| k * 2, |v| v.len()), 3);\n\nlet x : Result<&str, _> = Err(\"bar\");\nassert_eq!(x.map_or_else(|e| k * 2, |v| v.len()), 42);
\n
1.0.0 · source

pub fn map_err<F, O>(self, op: O) -> Result<T, F>
where\n O: FnOnce(E) -> F,

Maps a Result<T, E> to Result<T, F> by applying a function to a\ncontained Err value, leaving an Ok value untouched.

\n

This function can be used to pass through a successful result while handling\nan error.

\n
§Examples
\n
fn stringify(x: u32) -> String { format!(\"error code: {x}\") }\n\nlet x: Result<u32, u32> = Ok(2);\nassert_eq!(x.map_err(stringify), Ok(2));\n\nlet x: Result<u32, u32> = Err(13);\nassert_eq!(x.map_err(stringify), Err(\"error code: 13\".to_string()));
\n
1.76.0 · source

pub fn inspect<F>(self, f: F) -> Result<T, E>
where\n F: FnOnce(&T),

Calls the provided closure with a reference to the contained value (if Ok).

\n
§Examples
\n
let x: u8 = \"4\"\n    .parse::<u8>()\n    .inspect(|x| println!(\"original: {x}\"))\n    .map(|x| x.pow(3))\n    .expect(\"failed to parse number\");
\n
1.76.0 · source

pub fn inspect_err<F>(self, f: F) -> Result<T, E>
where\n F: FnOnce(&E),

Calls the provided closure with a reference to the contained error (if Err).

\n
§Examples
\n
use std::{fs, io};\n\nfn read() -> io::Result<String> {\n    fs::read_to_string(\"address.txt\")\n        .inspect_err(|e| eprintln!(\"failed to read file: {e}\"))\n}
\n
1.47.0 · source

pub fn as_deref(&self) -> Result<&<T as Deref>::Target, &E>
where\n T: Deref,

Converts from Result<T, E> (or &Result<T, E>) to Result<&<T as Deref>::Target, &E>.

\n

Coerces the Ok variant of the original Result via Deref\nand returns the new Result.

\n
§Examples
\n
let x: Result<String, u32> = Ok(\"hello\".to_string());\nlet y: Result<&str, &u32> = Ok(\"hello\");\nassert_eq!(x.as_deref(), y);\n\nlet x: Result<String, u32> = Err(42);\nlet y: Result<&str, &u32> = Err(&42);\nassert_eq!(x.as_deref(), y);
\n
1.47.0 · source

pub fn as_deref_mut(&mut self) -> Result<&mut <T as Deref>::Target, &mut E>
where\n T: DerefMut,

Converts from Result<T, E> (or &mut Result<T, E>) to Result<&mut <T as DerefMut>::Target, &mut E>.

\n

Coerces the Ok variant of the original Result via DerefMut\nand returns the new Result.

\n
§Examples
\n
let mut s = \"HELLO\".to_string();\nlet mut x: Result<String, u32> = Ok(\"hello\".to_string());\nlet y: Result<&mut str, &mut u32> = Ok(&mut s);\nassert_eq!(x.as_deref_mut().map(|x| { x.make_ascii_uppercase(); x }), y);\n\nlet mut i = 42;\nlet mut x: Result<String, u32> = Err(42);\nlet y: Result<&mut str, &mut u32> = Err(&mut i);\nassert_eq!(x.as_deref_mut().map(|x| { x.make_ascii_uppercase(); x }), y);
\n
1.0.0 · source

pub fn iter(&self) -> Iter<'_, T>

Returns an iterator over the possibly contained value.

\n

The iterator yields one value if the result is Result::Ok, otherwise none.

\n
§Examples
\n
let x: Result<u32, &str> = Ok(7);\nassert_eq!(x.iter().next(), Some(&7));\n\nlet x: Result<u32, &str> = Err(\"nothing!\");\nassert_eq!(x.iter().next(), None);
\n
1.0.0 · source

pub fn iter_mut(&mut self) -> IterMut<'_, T>

Returns a mutable iterator over the possibly contained value.

\n

The iterator yields one value if the result is Result::Ok, otherwise none.

\n
§Examples
\n
let mut x: Result<u32, &str> = Ok(7);\nmatch x.iter_mut().next() {\n    Some(v) => *v = 40,\n    None => {},\n}\nassert_eq!(x, Ok(40));\n\nlet mut x: Result<u32, &str> = Err(\"nothing!\");\nassert_eq!(x.iter_mut().next(), None);
\n
1.4.0 · source

pub fn expect(self, msg: &str) -> T
where\n E: Debug,

Returns the contained Ok value, consuming the self value.

\n

Because this function may panic, its use is generally discouraged.\nInstead, prefer to use pattern matching and handle the Err\ncase explicitly, or call unwrap_or, unwrap_or_else, or\nunwrap_or_default.

\n
§Panics
\n

Panics if the value is an Err, with a panic message including the\npassed message, and the content of the Err.

\n
§Examples
\n
let x: Result<u32, &str> = Err(\"emergency failure\");\nx.expect(\"Testing expect\"); // panics with `Testing expect: emergency failure`
\n
§Recommended Message Style
\n

We recommend that expect messages are used to describe the reason you\nexpect the Result should be Ok.

\n\n
let path = std::env::var(\"IMPORTANT_PATH\")\n    .expect(\"env variable `IMPORTANT_PATH` should be set by `wrapper_script.sh`\");
\n

Hint: If you’re having trouble remembering how to phrase expect\nerror messages remember to focus on the word “should” as in “env\nvariable should be set by blah” or “the given binary should be available\nand executable by the current user”.

\n

For more detail on expect message styles and the reasoning behind our recommendation please\nrefer to the section on “Common Message\nStyles” in the\nstd::error module docs.

\n
1.0.0 · source

pub fn unwrap(self) -> T
where\n E: Debug,

Returns the contained Ok value, consuming the self value.

\n

Because this function may panic, its use is generally discouraged.\nInstead, prefer to use pattern matching and handle the Err\ncase explicitly, or call unwrap_or, unwrap_or_else, or\nunwrap_or_default.

\n
§Panics
\n

Panics if the value is an Err, with a panic message provided by the\nErr’s value.

\n
§Examples
\n

Basic usage:

\n\n
let x: Result<u32, &str> = Ok(2);\nassert_eq!(x.unwrap(), 2);
\n\n
let x: Result<u32, &str> = Err(\"emergency failure\");\nx.unwrap(); // panics with `emergency failure`
\n
1.16.0 · source

pub fn unwrap_or_default(self) -> T
where\n T: Default,

Returns the contained Ok value or a default

\n

Consumes the self argument then, if Ok, returns the contained\nvalue, otherwise if Err, returns the default value for that\ntype.

\n
§Examples
\n

Converts a string to an integer, turning poorly-formed strings\ninto 0 (the default value for integers). parse converts\na string to any other type that implements FromStr, returning an\nErr on error.

\n\n
let good_year_from_input = \"1909\";\nlet bad_year_from_input = \"190blarg\";\nlet good_year = good_year_from_input.parse().unwrap_or_default();\nlet bad_year = bad_year_from_input.parse().unwrap_or_default();\n\nassert_eq!(1909, good_year);\nassert_eq!(0, bad_year);
\n
1.17.0 · source

pub fn expect_err(self, msg: &str) -> E
where\n T: Debug,

Returns the contained Err value, consuming the self value.

\n
§Panics
\n

Panics if the value is an Ok, with a panic message including the\npassed message, and the content of the Ok.

\n
§Examples
\n
let x: Result<u32, &str> = Ok(10);\nx.expect_err(\"Testing expect_err\"); // panics with `Testing expect_err: 10`
\n
1.0.0 · source

pub fn unwrap_err(self) -> E
where\n T: Debug,

Returns the contained Err value, consuming the self value.

\n
§Panics
\n

Panics if the value is an Ok, with a custom panic message provided\nby the Ok’s value.

\n
§Examples
\n
let x: Result<u32, &str> = Ok(2);\nx.unwrap_err(); // panics with `2`
\n\n
let x: Result<u32, &str> = Err(\"emergency failure\");\nassert_eq!(x.unwrap_err(), \"emergency failure\");
\n
source

pub fn into_ok(self) -> T
where\n E: Into<!>,

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

Returns the contained Ok value, but never panics.

\n

Unlike unwrap, this method is known to never panic on the\nresult types it is implemented for. Therefore, it can be used\ninstead of unwrap as a maintainability safeguard that will fail\nto compile if the error type of the Result is later changed\nto an error that can actually occur.

\n
§Examples
\n
\nfn only_good_news() -> Result<String, !> {\n    Ok(\"this is fine\".into())\n}\n\nlet s: String = only_good_news().into_ok();\nprintln!(\"{s}\");
\n
source

pub fn into_err(self) -> E
where\n T: Into<!>,

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

Returns the contained Err value, but never panics.

\n

Unlike unwrap_err, this method is known to never panic on the\nresult types it is implemented for. Therefore, it can be used\ninstead of unwrap_err as a maintainability safeguard that will fail\nto compile if the ok type of the Result is later changed\nto a type that can actually occur.

\n
§Examples
\n
\nfn only_bad_news() -> Result<!, String> {\n    Err(\"Oops, it failed\".into())\n}\n\nlet error: String = only_bad_news().into_err();\nprintln!(\"{error}\");
\n
1.0.0 · source

pub fn and<U>(self, res: Result<U, E>) -> Result<U, E>

Returns res if the result is Ok, otherwise returns the Err value of self.

\n

Arguments passed to and are eagerly evaluated; if you are passing the\nresult of a function call, it is recommended to use and_then, which is\nlazily evaluated.

\n
§Examples
\n
let x: Result<u32, &str> = Ok(2);\nlet y: Result<&str, &str> = Err(\"late error\");\nassert_eq!(x.and(y), Err(\"late error\"));\n\nlet x: Result<u32, &str> = Err(\"early error\");\nlet y: Result<&str, &str> = Ok(\"foo\");\nassert_eq!(x.and(y), Err(\"early error\"));\n\nlet x: Result<u32, &str> = Err(\"not a 2\");\nlet y: Result<&str, &str> = Err(\"late error\");\nassert_eq!(x.and(y), Err(\"not a 2\"));\n\nlet x: Result<u32, &str> = Ok(2);\nlet y: Result<&str, &str> = Ok(\"different result type\");\nassert_eq!(x.and(y), Ok(\"different result type\"));
\n
1.0.0 · source

pub fn and_then<U, F>(self, op: F) -> Result<U, E>
where\n F: FnOnce(T) -> Result<U, E>,

Calls op if the result is Ok, otherwise returns the Err value of self.

\n

This function can be used for control flow based on Result values.

\n
§Examples
\n
fn sq_then_to_string(x: u32) -> Result<String, &'static str> {\n    x.checked_mul(x).map(|sq| sq.to_string()).ok_or(\"overflowed\")\n}\n\nassert_eq!(Ok(2).and_then(sq_then_to_string), Ok(4.to_string()));\nassert_eq!(Ok(1_000_000).and_then(sq_then_to_string), Err(\"overflowed\"));\nassert_eq!(Err(\"not a number\").and_then(sq_then_to_string), Err(\"not a number\"));
\n

Often used to chain fallible operations that may return Err.

\n\n
use std::{io::ErrorKind, path::Path};\n\n// Note: on Windows \"/\" maps to \"C:\\\"\nlet root_modified_time = Path::new(\"/\").metadata().and_then(|md| md.modified());\nassert!(root_modified_time.is_ok());\n\nlet should_fail = Path::new(\"/bad/path\").metadata().and_then(|md| md.modified());\nassert!(should_fail.is_err());\nassert_eq!(should_fail.unwrap_err().kind(), ErrorKind::NotFound);
\n
1.0.0 · source

pub fn or<F>(self, res: Result<T, F>) -> Result<T, F>

Returns res if the result is Err, otherwise returns the Ok value of self.

\n

Arguments passed to or are eagerly evaluated; if you are passing the\nresult of a function call, it is recommended to use or_else, which is\nlazily evaluated.

\n
§Examples
\n
let x: Result<u32, &str> = Ok(2);\nlet y: Result<u32, &str> = Err(\"late error\");\nassert_eq!(x.or(y), Ok(2));\n\nlet x: Result<u32, &str> = Err(\"early error\");\nlet y: Result<u32, &str> = Ok(2);\nassert_eq!(x.or(y), Ok(2));\n\nlet x: Result<u32, &str> = Err(\"not a 2\");\nlet y: Result<u32, &str> = Err(\"late error\");\nassert_eq!(x.or(y), Err(\"late error\"));\n\nlet x: Result<u32, &str> = Ok(2);\nlet y: Result<u32, &str> = Ok(100);\nassert_eq!(x.or(y), Ok(2));
\n
1.0.0 · source

pub fn or_else<F, O>(self, op: O) -> Result<T, F>
where\n O: FnOnce(E) -> Result<T, F>,

Calls op if the result is Err, otherwise returns the Ok value of self.

\n

This function can be used for control flow based on result values.

\n
§Examples
\n
fn sq(x: u32) -> Result<u32, u32> { Ok(x * x) }\nfn err(x: u32) -> Result<u32, u32> { Err(x) }\n\nassert_eq!(Ok(2).or_else(sq).or_else(sq), Ok(2));\nassert_eq!(Ok(2).or_else(err).or_else(sq), Ok(2));\nassert_eq!(Err(3).or_else(sq).or_else(err), Ok(9));\nassert_eq!(Err(3).or_else(err).or_else(err), Err(3));
\n
1.0.0 · source

pub fn unwrap_or(self, default: T) -> T

Returns the contained Ok value or a provided default.

\n

Arguments passed to unwrap_or are eagerly evaluated; if you are passing\nthe result of a function call, it is recommended to use unwrap_or_else,\nwhich is lazily evaluated.

\n
§Examples
\n
let default = 2;\nlet x: Result<u32, &str> = Ok(9);\nassert_eq!(x.unwrap_or(default), 9);\n\nlet x: Result<u32, &str> = Err(\"error\");\nassert_eq!(x.unwrap_or(default), default);
\n
1.0.0 · source

pub fn unwrap_or_else<F>(self, op: F) -> T
where\n F: FnOnce(E) -> T,

Returns the contained Ok value or computes it from a closure.

\n
§Examples
\n
fn count(x: &str) -> usize { x.len() }\n\nassert_eq!(Ok(2).unwrap_or_else(count), 2);\nassert_eq!(Err(\"foo\").unwrap_or_else(count), 3);
\n
1.58.0 · source

pub unsafe fn unwrap_unchecked(self) -> T

Returns the contained Ok value, consuming the self value,\nwithout checking that the value is not an Err.

\n
§Safety
\n

Calling this method on an Err is undefined behavior.

\n
§Examples
\n
let x: Result<u32, &str> = Ok(2);\nassert_eq!(unsafe { x.unwrap_unchecked() }, 2);
\n\n
let x: Result<u32, &str> = Err(\"emergency failure\");\nunsafe { x.unwrap_unchecked(); } // Undefined behavior!
\n
1.58.0 · source

pub unsafe fn unwrap_err_unchecked(self) -> E

Returns the contained Err value, consuming the self value,\nwithout checking that the value is not an Ok.

\n
§Safety
\n

Calling this method on an Ok is undefined behavior.

\n
§Examples
\n
let x: Result<u32, &str> = Ok(2);\nunsafe { x.unwrap_err_unchecked() }; // Undefined behavior!
\n\n
let x: Result<u32, &str> = Err(\"emergency failure\");\nassert_eq!(unsafe { x.unwrap_err_unchecked() }, \"emergency failure\");
\n
",0,"storm::Result"],["
source§

impl<T, E> Result<&T, E>

1.59.0 · source

pub fn copied(self) -> Result<T, E>
where\n T: Copy,

Maps a Result<&T, E> to a Result<T, E> by copying the contents of the\nOk part.

\n
§Examples
\n
let val = 12;\nlet x: Result<&i32, i32> = Ok(&val);\nassert_eq!(x, Ok(&12));\nlet copied = x.copied();\nassert_eq!(copied, Ok(12));
\n
1.59.0 · source

pub fn cloned(self) -> Result<T, E>
where\n T: Clone,

Maps a Result<&T, E> to a Result<T, E> by cloning the contents of the\nOk part.

\n
§Examples
\n
let val = 12;\nlet x: Result<&i32, i32> = Ok(&val);\nassert_eq!(x, Ok(&12));\nlet cloned = x.cloned();\nassert_eq!(cloned, Ok(12));
\n
",0,"storm::Result"],["
source§

impl<T, E> Result<&mut T, E>

1.59.0 · source

pub fn copied(self) -> Result<T, E>
where\n T: Copy,

Maps a Result<&mut T, E> to a Result<T, E> by copying the contents of the\nOk part.

\n
§Examples
\n
let mut val = 12;\nlet x: Result<&mut i32, i32> = Ok(&mut val);\nassert_eq!(x, Ok(&mut 12));\nlet copied = x.copied();\nassert_eq!(copied, Ok(12));
\n
1.59.0 · source

pub fn cloned(self) -> Result<T, E>
where\n T: Clone,

Maps a Result<&mut T, E> to a Result<T, E> by cloning the contents of the\nOk part.

\n
§Examples
\n
let mut val = 12;\nlet x: Result<&mut i32, i32> = Ok(&mut val);\nassert_eq!(x, Ok(&mut 12));\nlet cloned = x.cloned();\nassert_eq!(cloned, Ok(12));
\n
",0,"storm::Result"],["
source§

impl<T, E> Result<Option<T>, E>

1.33.0 (const: unstable) · source

pub fn transpose(self) -> Option<Result<T, E>>

Transposes a Result of an Option into an Option of a Result.

\n

Ok(None) will be mapped to None.\nOk(Some(_)) and Err(_) will be mapped to Some(Ok(_)) and Some(Err(_)).

\n
§Examples
\n
#[derive(Debug, Eq, PartialEq)]\nstruct SomeErr;\n\nlet x: Result<Option<i32>, SomeErr> = Ok(Some(5));\nlet y: Option<Result<i32, SomeErr>> = Some(Ok(5));\nassert_eq!(x.transpose(), y);
\n
",0,"storm::Result"],["
source§

impl<T, E> Result<Result<T, E>, E>

source

pub fn flatten(self) -> Result<T, E>

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

Converts from Result<Result<T, E>, E> to Result<T, E>

\n
§Examples
\n
#![feature(result_flattening)]\nlet x: Result<Result<&'static str, u32>, u32> = Ok(Ok(\"hello\"));\nassert_eq!(Ok(\"hello\"), x.flatten());\n\nlet x: Result<Result<&'static str, u32>, u32> = Ok(Err(6));\nassert_eq!(Err(6), x.flatten());\n\nlet x: Result<Result<&'static str, u32>, u32> = Err(6);\nassert_eq!(Err(6), x.flatten());
\n

Flattening only removes one level of nesting at a time:

\n\n
#![feature(result_flattening)]\nlet x: Result<Result<Result<&'static str, u32>, u32>, u32> = Ok(Ok(Ok(\"hello\")));\nassert_eq!(Ok(Ok(\"hello\")), x.flatten());\nassert_eq!(Ok(\"hello\"), x.flatten().flatten());
\n
",0,"storm::Result"],["
1.61.0 · source§

impl<T, E> Termination for Result<T, E>
where\n T: Termination,\n E: Debug,

source§

fn report(self) -> ExitCode

Is called to get the representation of the value as status code.\nThis status code is returned to the operating system.
","Termination","storm::Result"],["
1.0.0 · source§

impl<T, E> PartialOrd for Result<T, E>
where\n T: PartialOrd,\n E: PartialOrd,

source§

fn partial_cmp(&self, other: &Result<T, E>) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · source§

fn lt(&self, other: &Rhs) -> bool

This method tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · source§

fn le(&self, other: &Rhs) -> bool

This method tests less than or equal to (for self and other) and is used by the <=\noperator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

This method tests greater than or equal to (for self and other) and is used by the >=\noperator. Read more
","PartialOrd","storm::Result"],["
1.0.0 · source§

impl<A, E, V> FromIterator<Result<A, E>> for Result<V, E>
where\n V: FromIterator<A>,

source§

fn from_iter<I>(iter: I) -> Result<V, E>
where\n I: IntoIterator<Item = Result<A, E>>,

Takes each element in the Iterator: if it is an Err, no further\nelements are taken, and the Err is returned. Should no Err occur, a\ncontainer with the values of each Result is returned.

\n

Here is an example which increments every integer in a vector,\nchecking for overflow:

\n\n
let v = vec![1, 2];\nlet res: Result<Vec<u32>, &'static str> = v.iter().map(|x: &u32|\n    x.checked_add(1).ok_or(\"Overflow!\")\n).collect();\nassert_eq!(res, Ok(vec![2, 3]));
\n

Here is another example that tries to subtract one from another list\nof integers, this time checking for underflow:

\n\n
let v = vec![1, 2, 0];\nlet res: Result<Vec<u32>, &'static str> = v.iter().map(|x: &u32|\n    x.checked_sub(1).ok_or(\"Underflow!\")\n).collect();\nassert_eq!(res, Err(\"Underflow!\"));
\n

Here is a variation on the previous example, showing that no\nfurther elements are taken from iter after the first Err.

\n\n
let v = vec![3, 2, 1, 10];\nlet mut shared = 0;\nlet res: Result<Vec<u32>, &'static str> = v.iter().map(|x: &u32| {\n    shared += x;\n    x.checked_sub(2).ok_or(\"Underflow!\")\n}).collect();\nassert_eq!(res, Err(\"Underflow!\"));\nassert_eq!(shared, 6);
\n

Since the third element caused an underflow, no further elements were taken,\nso the final value of shared is 6 (= 3 + 2 + 1), not 16.

\n
","FromIterator>","storm::Result"],["
1.0.0 · source§

impl<T, E> Hash for Result<T, E>
where\n T: Hash,\n E: Hash,

source§

fn hash<__H>(&self, state: &mut __H)
where\n __H: Hasher,

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where\n H: Hasher,\n Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
","Hash","storm::Result"],["
1.0.0 · source§

impl<T, E> Clone for Result<T, E>
where\n T: Clone,\n E: Clone,

source§

fn clone(&self) -> Result<T, E>

Returns a copy of the value. Read more
source§

fn clone_from(&mut self, source: &Result<T, E>)

Performs copy-assignment from source. Read more
","Clone","storm::Result"],["
source§

impl<T, E> Residual<T> for Result<Infallible, E>

§

type TryType = Result<T, E>

🔬This is a nightly-only experimental API. (try_trait_v2_residual)
The “return” type of this meta-function.
","Residual","storm::Result"],["
1.0.0 · source§

impl<T, E> IntoIterator for Result<T, E>

source§

fn into_iter(self) -> IntoIter<T>

Returns a consuming iterator over the possibly contained value.

\n

The iterator yields one value if the result is Result::Ok, otherwise none.

\n
§Examples
\n
let x: Result<u32, &str> = Ok(5);\nlet v: Vec<u32> = x.into_iter().collect();\nassert_eq!(v, [5]);\n\nlet x: Result<u32, &str> = Err(\"nothing!\");\nlet v: Vec<u32> = x.into_iter().collect();\nassert_eq!(v, []);
\n
§

type Item = T

The type of the elements being iterated over.
§

type IntoIter = IntoIter<T>

Which kind of iterator are we turning this into?
","IntoIterator","storm::Result"],["
1.0.0 · source§

impl<T, E> StructuralPartialEq for Result<T, E>

","StructuralPartialEq","storm::Result"],["
1.0.0 · source§

impl<T, E> Debug for Result<T, E>
where\n T: Debug,\n E: Debug,

source§

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

Formats the value using the given formatter. Read more
","Debug","storm::Result"],["
1.0.0 · source§

impl<T, E> Eq for Result<T, E>
where\n T: Eq,\n E: Eq,

","Eq","storm::Result"],["
1.16.0 · source§

impl<T, U, E> Sum<Result<U, E>> for Result<T, E>
where\n T: Sum<U>,

source§

fn sum<I>(iter: I) -> Result<T, E>
where\n I: Iterator<Item = Result<U, E>>,

Takes each element in the Iterator: if it is an Err, no further\nelements are taken, and the Err is returned. Should no Err\noccur, the sum of all elements is returned.

\n
§Examples
\n

This sums up every integer in a vector, rejecting the sum if a negative\nelement is encountered:

\n\n
let f = |&x: &i32| if x < 0 { Err(\"Negative element found\") } else { Ok(x) };\nlet v = vec![1, 2];\nlet res: Result<i32, _> = v.iter().map(f).sum();\nassert_eq!(res, Ok(3));\nlet v = vec![1, -2];\nlet res: Result<i32, _> = v.iter().map(f).sum();\nassert_eq!(res, Err(\"Negative element found\"));
\n
","Sum>","storm::Result"],["
1.0.0 · source§

impl<T, E> Ord for Result<T, E>
where\n T: Ord,\n E: Ord,

source§

fn cmp(&self, other: &Result<T, E>) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Self
where\n Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Self
where\n Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Self
where\n Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
","Ord","storm::Result"],["
1.0.0 · source§

impl<T, E> Copy for Result<T, E>
where\n T: Copy,\n E: Copy,

","Copy","storm::Result"],["
1.0.0 · source§

impl<T, E> PartialEq for Result<T, E>
where\n T: PartialEq,\n E: PartialEq,

source§

fn eq(&self, other: &Result<T, E>) -> bool

This method tests for self and other values to be equal, and is used\nby ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
","PartialEq","storm::Result"],["
source§

impl<T, E, F> FromResidual<Result<Infallible, E>> for Result<T, F>
where\n F: From<E>,

source§

fn from_residual(residual: Result<Infallible, E>) -> Result<T, F>

🔬This is a nightly-only experimental API. (try_trait_v2)
Constructs the type from a compatible Residual type. Read more
","FromResidual>","storm::Result"],["
source§

impl<T, E, F> FromResidual<Yeet<E>> for Result<T, F>
where\n F: From<E>,

source§

fn from_residual(_: Yeet<E>) -> Result<T, F>

🔬This is a nightly-only experimental API. (try_trait_v2)
Constructs the type from a compatible Residual type. Read more
","FromResidual>","storm::Result"],["
1.16.0 · source§

impl<T, U, E> Product<Result<U, E>> for Result<T, E>
where\n T: Product<U>,

source§

fn product<I>(iter: I) -> Result<T, E>
where\n I: Iterator<Item = Result<U, E>>,

Takes each element in the Iterator: if it is an Err, no further\nelements are taken, and the Err is returned. Should no Err\noccur, the product of all elements is returned.

\n
§Examples
\n

This multiplies each number in a vector of strings,\nif a string could not be parsed the operation returns Err:

\n\n
let nums = vec![\"5\", \"10\", \"1\", \"2\"];\nlet total: Result<usize, _> = nums.iter().map(|w| w.parse::<usize>()).product();\nassert_eq!(total, Ok(100));\nlet nums = vec![\"5\", \"10\", \"one\", \"2\"];\nlet total: Result<usize, _> = nums.iter().map(|w| w.parse::<usize>()).product();\nassert!(total.is_err());
\n
","Product>","storm::Result"],["
source§

impl<T, E> Try for Result<T, E>

§

type Output = T

🔬This is a nightly-only experimental API. (try_trait_v2)
The type of the value produced by ? when not short-circuiting.
§

type Residual = Result<Infallible, E>

🔬This is a nightly-only experimental API. (try_trait_v2)
The type of the value passed to FromResidual::from_residual\nas part of ? when short-circuiting. Read more
source§

fn from_output(output: <Result<T, E> as Try>::Output) -> Result<T, E>

🔬This is a nightly-only experimental API. (try_trait_v2)
Constructs the type from its Output type. Read more
source§

fn branch(\n self\n) -> ControlFlow<<Result<T, E> as Try>::Residual, <Result<T, E> as Try>::Output>

🔬This is a nightly-only experimental API. (try_trait_v2)
Used in ? to decide whether the operator should produce a value\n(because this returned ControlFlow::Continue)\nor propagate a value back to the caller\n(because this returned ControlFlow::Break). Read more
","Try","storm::Result"],["
source§

impl<'de, T, E> Deserialize<'de> for Result<T, E>
where\n T: Deserialize<'de>,\n E: Deserialize<'de>,

source§

fn deserialize<D>(\n deserializer: D\n) -> Result<Result<T, E>, <D as Deserializer<'de>>::Error>
where\n D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
","Deserialize<'de>","storm::Result"],["
source§

impl<T, E> Serialize for Result<T, E>
where\n T: Serialize,\n E: Serialize,

source§

fn serialize<S>(\n &self,\n serializer: S\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
where\n S: Serializer,

Serialize this value into the given Serde serializer. Read more
","Serialize","storm::Result"],["
§

impl<T, E> IntoParallelIterator for Result<T, E>
where\n T: Send,

§

type Item = T

The type of item that the parallel iterator will produce.
§

type Iter = IntoIter<T>

The parallel iterator type that will be created.
§

fn into_par_iter(self) -> <Result<T, E> as IntoParallelIterator>::Iter

Converts self into a parallel iterator. Read more
","IntoParallelIterator","storm::Result"],["
§

impl<C, T, E> FromParallelIterator<Result<T, E>> for Result<C, E>
where\n C: FromParallelIterator<T>,\n T: Send,\n E: Send,

Collect an arbitrary Result-wrapped collection.

\n

If any item is Err, then all previous Ok items collected are\ndiscarded, and it returns that error. If there are multiple errors, the\none returned is not deterministic.

\n
§

fn from_par_iter<I>(par_iter: I) -> Result<C, E>
where\n I: IntoParallelIterator<Item = Result<T, E>>,

Creates an instance of the collection from the parallel iterator par_iter. Read more
","FromParallelIterator>","storm::Result"]], +"storm_mssql":[["
source§

impl<T, E> Result<T, E>

1.0.0 (const: 1.48.0) · source

pub const fn is_ok(&self) -> bool

Returns true if the result is Ok.

\n
§Examples
\n
let x: Result<i32, &str> = Ok(-3);\nassert_eq!(x.is_ok(), true);\n\nlet x: Result<i32, &str> = Err(\"Some error message\");\nassert_eq!(x.is_ok(), false);
\n
1.70.0 · source

pub fn is_ok_and(self, f: impl FnOnce(T) -> bool) -> bool

Returns true if the result is Ok and the value inside of it matches a predicate.

\n
§Examples
\n
let x: Result<u32, &str> = Ok(2);\nassert_eq!(x.is_ok_and(|x| x > 1), true);\n\nlet x: Result<u32, &str> = Ok(0);\nassert_eq!(x.is_ok_and(|x| x > 1), false);\n\nlet x: Result<u32, &str> = Err(\"hey\");\nassert_eq!(x.is_ok_and(|x| x > 1), false);
\n
1.0.0 (const: 1.48.0) · source

pub const fn is_err(&self) -> bool

Returns true if the result is Err.

\n
§Examples
\n
let x: Result<i32, &str> = Ok(-3);\nassert_eq!(x.is_err(), false);\n\nlet x: Result<i32, &str> = Err(\"Some error message\");\nassert_eq!(x.is_err(), true);
\n
1.70.0 · source

pub fn is_err_and(self, f: impl FnOnce(E) -> bool) -> bool

Returns true if the result is Err and the value inside of it matches a predicate.

\n
§Examples
\n
use std::io::{Error, ErrorKind};\n\nlet x: Result<u32, Error> = Err(Error::new(ErrorKind::NotFound, \"!\"));\nassert_eq!(x.is_err_and(|x| x.kind() == ErrorKind::NotFound), true);\n\nlet x: Result<u32, Error> = Err(Error::new(ErrorKind::PermissionDenied, \"!\"));\nassert_eq!(x.is_err_and(|x| x.kind() == ErrorKind::NotFound), false);\n\nlet x: Result<u32, Error> = Ok(123);\nassert_eq!(x.is_err_and(|x| x.kind() == ErrorKind::NotFound), false);
\n
1.0.0 · source

pub fn ok(self) -> Option<T>

Converts from Result<T, E> to Option<T>.

\n

Converts self into an Option<T>, consuming self,\nand discarding the error, if any.

\n
§Examples
\n
let x: Result<u32, &str> = Ok(2);\nassert_eq!(x.ok(), Some(2));\n\nlet x: Result<u32, &str> = Err(\"Nothing here\");\nassert_eq!(x.ok(), None);
\n
1.0.0 · source

pub fn err(self) -> Option<E>

Converts from Result<T, E> to Option<E>.

\n

Converts self into an Option<E>, consuming self,\nand discarding the success value, if any.

\n
§Examples
\n
let x: Result<u32, &str> = Ok(2);\nassert_eq!(x.err(), None);\n\nlet x: Result<u32, &str> = Err(\"Nothing here\");\nassert_eq!(x.err(), Some(\"Nothing here\"));
\n
1.0.0 (const: 1.48.0) · source

pub const fn as_ref(&self) -> Result<&T, &E>

Converts from &Result<T, E> to Result<&T, &E>.

\n

Produces a new Result, containing a reference\ninto the original, leaving the original in place.

\n
§Examples
\n
let x: Result<u32, &str> = Ok(2);\nassert_eq!(x.as_ref(), Ok(&2));\n\nlet x: Result<u32, &str> = Err(\"Error\");\nassert_eq!(x.as_ref(), Err(&\"Error\"));
\n
1.0.0 (const: unstable) · source

pub fn as_mut(&mut self) -> Result<&mut T, &mut E>

Converts from &mut Result<T, E> to Result<&mut T, &mut E>.

\n
§Examples
\n
fn mutate(r: &mut Result<i32, i32>) {\n    match r.as_mut() {\n        Ok(v) => *v = 42,\n        Err(e) => *e = 0,\n    }\n}\n\nlet mut x: Result<i32, i32> = Ok(2);\nmutate(&mut x);\nassert_eq!(x.unwrap(), 42);\n\nlet mut x: Result<i32, i32> = Err(13);\nmutate(&mut x);\nassert_eq!(x.unwrap_err(), 0);
\n
1.0.0 · source

pub fn map<U, F>(self, op: F) -> Result<U, E>
where\n F: FnOnce(T) -> U,

Maps a Result<T, E> to Result<U, E> by applying a function to a\ncontained Ok value, leaving an Err value untouched.

\n

This function can be used to compose the results of two functions.

\n
§Examples
\n

Print the numbers on each line of a string multiplied by two.

\n\n
let line = \"1\\n2\\n3\\n4\\n\";\n\nfor num in line.lines() {\n    match num.parse::<i32>().map(|i| i * 2) {\n        Ok(n) => println!(\"{n}\"),\n        Err(..) => {}\n    }\n}
\n
1.41.0 · source

pub fn map_or<U, F>(self, default: U, f: F) -> U
where\n F: FnOnce(T) -> U,

Returns the provided default (if Err), or\napplies a function to the contained value (if Ok).

\n

Arguments passed to map_or are eagerly evaluated; if you are passing\nthe result of a function call, it is recommended to use map_or_else,\nwhich is lazily evaluated.

\n
§Examples
\n
let x: Result<_, &str> = Ok(\"foo\");\nassert_eq!(x.map_or(42, |v| v.len()), 3);\n\nlet x: Result<&str, _> = Err(\"bar\");\nassert_eq!(x.map_or(42, |v| v.len()), 42);
\n
1.41.0 · source

pub fn map_or_else<U, D, F>(self, default: D, f: F) -> U
where\n D: FnOnce(E) -> U,\n F: FnOnce(T) -> U,

Maps a Result<T, E> to U by applying fallback function default to\na contained Err value, or function f to a contained Ok value.

\n

This function can be used to unpack a successful result\nwhile handling an error.

\n
§Examples
\n
let k = 21;\n\nlet x : Result<_, &str> = Ok(\"foo\");\nassert_eq!(x.map_or_else(|e| k * 2, |v| v.len()), 3);\n\nlet x : Result<&str, _> = Err(\"bar\");\nassert_eq!(x.map_or_else(|e| k * 2, |v| v.len()), 42);
\n
1.0.0 · source

pub fn map_err<F, O>(self, op: O) -> Result<T, F>
where\n O: FnOnce(E) -> F,

Maps a Result<T, E> to Result<T, F> by applying a function to a\ncontained Err value, leaving an Ok value untouched.

\n

This function can be used to pass through a successful result while handling\nan error.

\n
§Examples
\n
fn stringify(x: u32) -> String { format!(\"error code: {x}\") }\n\nlet x: Result<u32, u32> = Ok(2);\nassert_eq!(x.map_err(stringify), Ok(2));\n\nlet x: Result<u32, u32> = Err(13);\nassert_eq!(x.map_err(stringify), Err(\"error code: 13\".to_string()));
\n
1.76.0 · source

pub fn inspect<F>(self, f: F) -> Result<T, E>
where\n F: FnOnce(&T),

Calls the provided closure with a reference to the contained value (if Ok).

\n
§Examples
\n
let x: u8 = \"4\"\n    .parse::<u8>()\n    .inspect(|x| println!(\"original: {x}\"))\n    .map(|x| x.pow(3))\n    .expect(\"failed to parse number\");
\n
1.76.0 · source

pub fn inspect_err<F>(self, f: F) -> Result<T, E>
where\n F: FnOnce(&E),

Calls the provided closure with a reference to the contained error (if Err).

\n
§Examples
\n
use std::{fs, io};\n\nfn read() -> io::Result<String> {\n    fs::read_to_string(\"address.txt\")\n        .inspect_err(|e| eprintln!(\"failed to read file: {e}\"))\n}
\n
1.47.0 · source

pub fn as_deref(&self) -> Result<&<T as Deref>::Target, &E>
where\n T: Deref,

Converts from Result<T, E> (or &Result<T, E>) to Result<&<T as Deref>::Target, &E>.

\n

Coerces the Ok variant of the original Result via Deref\nand returns the new Result.

\n
§Examples
\n
let x: Result<String, u32> = Ok(\"hello\".to_string());\nlet y: Result<&str, &u32> = Ok(\"hello\");\nassert_eq!(x.as_deref(), y);\n\nlet x: Result<String, u32> = Err(42);\nlet y: Result<&str, &u32> = Err(&42);\nassert_eq!(x.as_deref(), y);
\n
1.47.0 · source

pub fn as_deref_mut(&mut self) -> Result<&mut <T as Deref>::Target, &mut E>
where\n T: DerefMut,

Converts from Result<T, E> (or &mut Result<T, E>) to Result<&mut <T as DerefMut>::Target, &mut E>.

\n

Coerces the Ok variant of the original Result via DerefMut\nand returns the new Result.

\n
§Examples
\n
let mut s = \"HELLO\".to_string();\nlet mut x: Result<String, u32> = Ok(\"hello\".to_string());\nlet y: Result<&mut str, &mut u32> = Ok(&mut s);\nassert_eq!(x.as_deref_mut().map(|x| { x.make_ascii_uppercase(); x }), y);\n\nlet mut i = 42;\nlet mut x: Result<String, u32> = Err(42);\nlet y: Result<&mut str, &mut u32> = Err(&mut i);\nassert_eq!(x.as_deref_mut().map(|x| { x.make_ascii_uppercase(); x }), y);
\n
1.0.0 · source

pub fn iter(&self) -> Iter<'_, T>

Returns an iterator over the possibly contained value.

\n

The iterator yields one value if the result is Result::Ok, otherwise none.

\n
§Examples
\n
let x: Result<u32, &str> = Ok(7);\nassert_eq!(x.iter().next(), Some(&7));\n\nlet x: Result<u32, &str> = Err(\"nothing!\");\nassert_eq!(x.iter().next(), None);
\n
1.0.0 · source

pub fn iter_mut(&mut self) -> IterMut<'_, T>

Returns a mutable iterator over the possibly contained value.

\n

The iterator yields one value if the result is Result::Ok, otherwise none.

\n
§Examples
\n
let mut x: Result<u32, &str> = Ok(7);\nmatch x.iter_mut().next() {\n    Some(v) => *v = 40,\n    None => {},\n}\nassert_eq!(x, Ok(40));\n\nlet mut x: Result<u32, &str> = Err(\"nothing!\");\nassert_eq!(x.iter_mut().next(), None);
\n
1.4.0 · source

pub fn expect(self, msg: &str) -> T
where\n E: Debug,

Returns the contained Ok value, consuming the self value.

\n

Because this function may panic, its use is generally discouraged.\nInstead, prefer to use pattern matching and handle the Err\ncase explicitly, or call unwrap_or, unwrap_or_else, or\nunwrap_or_default.

\n
§Panics
\n

Panics if the value is an Err, with a panic message including the\npassed message, and the content of the Err.

\n
§Examples
\n
let x: Result<u32, &str> = Err(\"emergency failure\");\nx.expect(\"Testing expect\"); // panics with `Testing expect: emergency failure`
\n
§Recommended Message Style
\n

We recommend that expect messages are used to describe the reason you\nexpect the Result should be Ok.

\n\n
let path = std::env::var(\"IMPORTANT_PATH\")\n    .expect(\"env variable `IMPORTANT_PATH` should be set by `wrapper_script.sh`\");
\n

Hint: If you’re having trouble remembering how to phrase expect\nerror messages remember to focus on the word “should” as in “env\nvariable should be set by blah” or “the given binary should be available\nand executable by the current user”.

\n

For more detail on expect message styles and the reasoning behind our recommendation please\nrefer to the section on “Common Message\nStyles” in the\nstd::error module docs.

\n
1.0.0 · source

pub fn unwrap(self) -> T
where\n E: Debug,

Returns the contained Ok value, consuming the self value.

\n

Because this function may panic, its use is generally discouraged.\nInstead, prefer to use pattern matching and handle the Err\ncase explicitly, or call unwrap_or, unwrap_or_else, or\nunwrap_or_default.

\n
§Panics
\n

Panics if the value is an Err, with a panic message provided by the\nErr’s value.

\n
§Examples
\n

Basic usage:

\n\n
let x: Result<u32, &str> = Ok(2);\nassert_eq!(x.unwrap(), 2);
\n\n
let x: Result<u32, &str> = Err(\"emergency failure\");\nx.unwrap(); // panics with `emergency failure`
\n
1.16.0 · source

pub fn unwrap_or_default(self) -> T
where\n T: Default,

Returns the contained Ok value or a default

\n

Consumes the self argument then, if Ok, returns the contained\nvalue, otherwise if Err, returns the default value for that\ntype.

\n
§Examples
\n

Converts a string to an integer, turning poorly-formed strings\ninto 0 (the default value for integers). parse converts\na string to any other type that implements FromStr, returning an\nErr on error.

\n\n
let good_year_from_input = \"1909\";\nlet bad_year_from_input = \"190blarg\";\nlet good_year = good_year_from_input.parse().unwrap_or_default();\nlet bad_year = bad_year_from_input.parse().unwrap_or_default();\n\nassert_eq!(1909, good_year);\nassert_eq!(0, bad_year);
\n
1.17.0 · source

pub fn expect_err(self, msg: &str) -> E
where\n T: Debug,

Returns the contained Err value, consuming the self value.

\n
§Panics
\n

Panics if the value is an Ok, with a panic message including the\npassed message, and the content of the Ok.

\n
§Examples
\n
let x: Result<u32, &str> = Ok(10);\nx.expect_err(\"Testing expect_err\"); // panics with `Testing expect_err: 10`
\n
1.0.0 · source

pub fn unwrap_err(self) -> E
where\n T: Debug,

Returns the contained Err value, consuming the self value.

\n
§Panics
\n

Panics if the value is an Ok, with a custom panic message provided\nby the Ok’s value.

\n
§Examples
\n
let x: Result<u32, &str> = Ok(2);\nx.unwrap_err(); // panics with `2`
\n\n
let x: Result<u32, &str> = Err(\"emergency failure\");\nassert_eq!(x.unwrap_err(), \"emergency failure\");
\n
source

pub fn into_ok(self) -> T
where\n E: Into<!>,

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

Returns the contained Ok value, but never panics.

\n

Unlike unwrap, this method is known to never panic on the\nresult types it is implemented for. Therefore, it can be used\ninstead of unwrap as a maintainability safeguard that will fail\nto compile if the error type of the Result is later changed\nto an error that can actually occur.

\n
§Examples
\n
\nfn only_good_news() -> Result<String, !> {\n    Ok(\"this is fine\".into())\n}\n\nlet s: String = only_good_news().into_ok();\nprintln!(\"{s}\");
\n
source

pub fn into_err(self) -> E
where\n T: Into<!>,

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

Returns the contained Err value, but never panics.

\n

Unlike unwrap_err, this method is known to never panic on the\nresult types it is implemented for. Therefore, it can be used\ninstead of unwrap_err as a maintainability safeguard that will fail\nto compile if the ok type of the Result is later changed\nto a type that can actually occur.

\n
§Examples
\n
\nfn only_bad_news() -> Result<!, String> {\n    Err(\"Oops, it failed\".into())\n}\n\nlet error: String = only_bad_news().into_err();\nprintln!(\"{error}\");
\n
1.0.0 · source

pub fn and<U>(self, res: Result<U, E>) -> Result<U, E>

Returns res if the result is Ok, otherwise returns the Err value of self.

\n

Arguments passed to and are eagerly evaluated; if you are passing the\nresult of a function call, it is recommended to use and_then, which is\nlazily evaluated.

\n
§Examples
\n
let x: Result<u32, &str> = Ok(2);\nlet y: Result<&str, &str> = Err(\"late error\");\nassert_eq!(x.and(y), Err(\"late error\"));\n\nlet x: Result<u32, &str> = Err(\"early error\");\nlet y: Result<&str, &str> = Ok(\"foo\");\nassert_eq!(x.and(y), Err(\"early error\"));\n\nlet x: Result<u32, &str> = Err(\"not a 2\");\nlet y: Result<&str, &str> = Err(\"late error\");\nassert_eq!(x.and(y), Err(\"not a 2\"));\n\nlet x: Result<u32, &str> = Ok(2);\nlet y: Result<&str, &str> = Ok(\"different result type\");\nassert_eq!(x.and(y), Ok(\"different result type\"));
\n
1.0.0 · source

pub fn and_then<U, F>(self, op: F) -> Result<U, E>
where\n F: FnOnce(T) -> Result<U, E>,

Calls op if the result is Ok, otherwise returns the Err value of self.

\n

This function can be used for control flow based on Result values.

\n
§Examples
\n
fn sq_then_to_string(x: u32) -> Result<String, &'static str> {\n    x.checked_mul(x).map(|sq| sq.to_string()).ok_or(\"overflowed\")\n}\n\nassert_eq!(Ok(2).and_then(sq_then_to_string), Ok(4.to_string()));\nassert_eq!(Ok(1_000_000).and_then(sq_then_to_string), Err(\"overflowed\"));\nassert_eq!(Err(\"not a number\").and_then(sq_then_to_string), Err(\"not a number\"));
\n

Often used to chain fallible operations that may return Err.

\n\n
use std::{io::ErrorKind, path::Path};\n\n// Note: on Windows \"/\" maps to \"C:\\\"\nlet root_modified_time = Path::new(\"/\").metadata().and_then(|md| md.modified());\nassert!(root_modified_time.is_ok());\n\nlet should_fail = Path::new(\"/bad/path\").metadata().and_then(|md| md.modified());\nassert!(should_fail.is_err());\nassert_eq!(should_fail.unwrap_err().kind(), ErrorKind::NotFound);
\n
1.0.0 · source

pub fn or<F>(self, res: Result<T, F>) -> Result<T, F>

Returns res if the result is Err, otherwise returns the Ok value of self.

\n

Arguments passed to or are eagerly evaluated; if you are passing the\nresult of a function call, it is recommended to use or_else, which is\nlazily evaluated.

\n
§Examples
\n
let x: Result<u32, &str> = Ok(2);\nlet y: Result<u32, &str> = Err(\"late error\");\nassert_eq!(x.or(y), Ok(2));\n\nlet x: Result<u32, &str> = Err(\"early error\");\nlet y: Result<u32, &str> = Ok(2);\nassert_eq!(x.or(y), Ok(2));\n\nlet x: Result<u32, &str> = Err(\"not a 2\");\nlet y: Result<u32, &str> = Err(\"late error\");\nassert_eq!(x.or(y), Err(\"late error\"));\n\nlet x: Result<u32, &str> = Ok(2);\nlet y: Result<u32, &str> = Ok(100);\nassert_eq!(x.or(y), Ok(2));
\n
1.0.0 · source

pub fn or_else<F, O>(self, op: O) -> Result<T, F>
where\n O: FnOnce(E) -> Result<T, F>,

Calls op if the result is Err, otherwise returns the Ok value of self.

\n

This function can be used for control flow based on result values.

\n
§Examples
\n
fn sq(x: u32) -> Result<u32, u32> { Ok(x * x) }\nfn err(x: u32) -> Result<u32, u32> { Err(x) }\n\nassert_eq!(Ok(2).or_else(sq).or_else(sq), Ok(2));\nassert_eq!(Ok(2).or_else(err).or_else(sq), Ok(2));\nassert_eq!(Err(3).or_else(sq).or_else(err), Ok(9));\nassert_eq!(Err(3).or_else(err).or_else(err), Err(3));
\n
1.0.0 · source

pub fn unwrap_or(self, default: T) -> T

Returns the contained Ok value or a provided default.

\n

Arguments passed to unwrap_or are eagerly evaluated; if you are passing\nthe result of a function call, it is recommended to use unwrap_or_else,\nwhich is lazily evaluated.

\n
§Examples
\n
let default = 2;\nlet x: Result<u32, &str> = Ok(9);\nassert_eq!(x.unwrap_or(default), 9);\n\nlet x: Result<u32, &str> = Err(\"error\");\nassert_eq!(x.unwrap_or(default), default);
\n
1.0.0 · source

pub fn unwrap_or_else<F>(self, op: F) -> T
where\n F: FnOnce(E) -> T,

Returns the contained Ok value or computes it from a closure.

\n
§Examples
\n
fn count(x: &str) -> usize { x.len() }\n\nassert_eq!(Ok(2).unwrap_or_else(count), 2);\nassert_eq!(Err(\"foo\").unwrap_or_else(count), 3);
\n
1.58.0 · source

pub unsafe fn unwrap_unchecked(self) -> T

Returns the contained Ok value, consuming the self value,\nwithout checking that the value is not an Err.

\n
§Safety
\n

Calling this method on an Err is undefined behavior.

\n
§Examples
\n
let x: Result<u32, &str> = Ok(2);\nassert_eq!(unsafe { x.unwrap_unchecked() }, 2);
\n\n
let x: Result<u32, &str> = Err(\"emergency failure\");\nunsafe { x.unwrap_unchecked(); } // Undefined behavior!
\n
1.58.0 · source

pub unsafe fn unwrap_err_unchecked(self) -> E

Returns the contained Err value, consuming the self value,\nwithout checking that the value is not an Ok.

\n
§Safety
\n

Calling this method on an Ok is undefined behavior.

\n
§Examples
\n
let x: Result<u32, &str> = Ok(2);\nunsafe { x.unwrap_err_unchecked() }; // Undefined behavior!
\n\n
let x: Result<u32, &str> = Err(\"emergency failure\");\nassert_eq!(unsafe { x.unwrap_err_unchecked() }, \"emergency failure\");
\n
",0,"storm_mssql::Result"],["
source§

impl<T, E> Result<&T, E>

1.59.0 · source

pub fn copied(self) -> Result<T, E>
where\n T: Copy,

Maps a Result<&T, E> to a Result<T, E> by copying the contents of the\nOk part.

\n
§Examples
\n
let val = 12;\nlet x: Result<&i32, i32> = Ok(&val);\nassert_eq!(x, Ok(&12));\nlet copied = x.copied();\nassert_eq!(copied, Ok(12));
\n
1.59.0 · source

pub fn cloned(self) -> Result<T, E>
where\n T: Clone,

Maps a Result<&T, E> to a Result<T, E> by cloning the contents of the\nOk part.

\n
§Examples
\n
let val = 12;\nlet x: Result<&i32, i32> = Ok(&val);\nassert_eq!(x, Ok(&12));\nlet cloned = x.cloned();\nassert_eq!(cloned, Ok(12));
\n
",0,"storm_mssql::Result"],["
source§

impl<T, E> Result<&mut T, E>

1.59.0 · source

pub fn copied(self) -> Result<T, E>
where\n T: Copy,

Maps a Result<&mut T, E> to a Result<T, E> by copying the contents of the\nOk part.

\n
§Examples
\n
let mut val = 12;\nlet x: Result<&mut i32, i32> = Ok(&mut val);\nassert_eq!(x, Ok(&mut 12));\nlet copied = x.copied();\nassert_eq!(copied, Ok(12));
\n
1.59.0 · source

pub fn cloned(self) -> Result<T, E>
where\n T: Clone,

Maps a Result<&mut T, E> to a Result<T, E> by cloning the contents of the\nOk part.

\n
§Examples
\n
let mut val = 12;\nlet x: Result<&mut i32, i32> = Ok(&mut val);\nassert_eq!(x, Ok(&mut 12));\nlet cloned = x.cloned();\nassert_eq!(cloned, Ok(12));
\n
",0,"storm_mssql::Result"],["
source§

impl<T, E> Result<Option<T>, E>

1.33.0 (const: unstable) · source

pub fn transpose(self) -> Option<Result<T, E>>

Transposes a Result of an Option into an Option of a Result.

\n

Ok(None) will be mapped to None.\nOk(Some(_)) and Err(_) will be mapped to Some(Ok(_)) and Some(Err(_)).

\n
§Examples
\n
#[derive(Debug, Eq, PartialEq)]\nstruct SomeErr;\n\nlet x: Result<Option<i32>, SomeErr> = Ok(Some(5));\nlet y: Option<Result<i32, SomeErr>> = Some(Ok(5));\nassert_eq!(x.transpose(), y);
\n
",0,"storm_mssql::Result"],["
source§

impl<T, E> Result<Result<T, E>, E>

source

pub fn flatten(self) -> Result<T, E>

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

Converts from Result<Result<T, E>, E> to Result<T, E>

\n
§Examples
\n
#![feature(result_flattening)]\nlet x: Result<Result<&'static str, u32>, u32> = Ok(Ok(\"hello\"));\nassert_eq!(Ok(\"hello\"), x.flatten());\n\nlet x: Result<Result<&'static str, u32>, u32> = Ok(Err(6));\nassert_eq!(Err(6), x.flatten());\n\nlet x: Result<Result<&'static str, u32>, u32> = Err(6);\nassert_eq!(Err(6), x.flatten());
\n

Flattening only removes one level of nesting at a time:

\n\n
#![feature(result_flattening)]\nlet x: Result<Result<Result<&'static str, u32>, u32>, u32> = Ok(Ok(Ok(\"hello\")));\nassert_eq!(Ok(Ok(\"hello\")), x.flatten());\nassert_eq!(Ok(\"hello\"), x.flatten().flatten());
\n
",0,"storm_mssql::Result"],["
1.61.0 · source§

impl<T, E> Termination for Result<T, E>
where\n T: Termination,\n E: Debug,

source§

fn report(self) -> ExitCode

Is called to get the representation of the value as status code.\nThis status code is returned to the operating system.
","Termination","storm_mssql::Result"],["
1.0.0 · source§

impl<T, E> PartialOrd for Result<T, E>
where\n T: PartialOrd,\n E: PartialOrd,

source§

fn partial_cmp(&self, other: &Result<T, E>) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · source§

fn lt(&self, other: &Rhs) -> bool

This method tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · source§

fn le(&self, other: &Rhs) -> bool

This method tests less than or equal to (for self and other) and is used by the <=\noperator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

This method tests greater than or equal to (for self and other) and is used by the >=\noperator. Read more
","PartialOrd","storm_mssql::Result"],["
1.0.0 · source§

impl<A, E, V> FromIterator<Result<A, E>> for Result<V, E>
where\n V: FromIterator<A>,

source§

fn from_iter<I>(iter: I) -> Result<V, E>
where\n I: IntoIterator<Item = Result<A, E>>,

Takes each element in the Iterator: if it is an Err, no further\nelements are taken, and the Err is returned. Should no Err occur, a\ncontainer with the values of each Result is returned.

\n

Here is an example which increments every integer in a vector,\nchecking for overflow:

\n\n
let v = vec![1, 2];\nlet res: Result<Vec<u32>, &'static str> = v.iter().map(|x: &u32|\n    x.checked_add(1).ok_or(\"Overflow!\")\n).collect();\nassert_eq!(res, Ok(vec![2, 3]));
\n

Here is another example that tries to subtract one from another list\nof integers, this time checking for underflow:

\n\n
let v = vec![1, 2, 0];\nlet res: Result<Vec<u32>, &'static str> = v.iter().map(|x: &u32|\n    x.checked_sub(1).ok_or(\"Underflow!\")\n).collect();\nassert_eq!(res, Err(\"Underflow!\"));
\n

Here is a variation on the previous example, showing that no\nfurther elements are taken from iter after the first Err.

\n\n
let v = vec![3, 2, 1, 10];\nlet mut shared = 0;\nlet res: Result<Vec<u32>, &'static str> = v.iter().map(|x: &u32| {\n    shared += x;\n    x.checked_sub(2).ok_or(\"Underflow!\")\n}).collect();\nassert_eq!(res, Err(\"Underflow!\"));\nassert_eq!(shared, 6);
\n

Since the third element caused an underflow, no further elements were taken,\nso the final value of shared is 6 (= 3 + 2 + 1), not 16.

\n
","FromIterator>","storm_mssql::Result"],["
1.0.0 · source§

impl<T, E> Hash for Result<T, E>
where\n T: Hash,\n E: Hash,

source§

fn hash<__H>(&self, state: &mut __H)
where\n __H: Hasher,

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where\n H: Hasher,\n Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
","Hash","storm_mssql::Result"],["
1.0.0 · source§

impl<T, E> Clone for Result<T, E>
where\n T: Clone,\n E: Clone,

source§

fn clone(&self) -> Result<T, E>

Returns a copy of the value. Read more
source§

fn clone_from(&mut self, source: &Result<T, E>)

Performs copy-assignment from source. Read more
","Clone","storm_mssql::Result"],["
source§

impl<T, E> Residual<T> for Result<Infallible, E>

§

type TryType = Result<T, E>

🔬This is a nightly-only experimental API. (try_trait_v2_residual)
The “return” type of this meta-function.
","Residual","storm_mssql::Result"],["
1.0.0 · source§

impl<T, E> IntoIterator for Result<T, E>

source§

fn into_iter(self) -> IntoIter<T>

Returns a consuming iterator over the possibly contained value.

\n

The iterator yields one value if the result is Result::Ok, otherwise none.

\n
§Examples
\n
let x: Result<u32, &str> = Ok(5);\nlet v: Vec<u32> = x.into_iter().collect();\nassert_eq!(v, [5]);\n\nlet x: Result<u32, &str> = Err(\"nothing!\");\nlet v: Vec<u32> = x.into_iter().collect();\nassert_eq!(v, []);
\n
§

type Item = T

The type of the elements being iterated over.
§

type IntoIter = IntoIter<T>

Which kind of iterator are we turning this into?
","IntoIterator","storm_mssql::Result"],["
1.0.0 · source§

impl<T, E> StructuralPartialEq for Result<T, E>

","StructuralPartialEq","storm_mssql::Result"],["
1.0.0 · source§

impl<T, E> Debug for Result<T, E>
where\n T: Debug,\n E: Debug,

source§

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

Formats the value using the given formatter. Read more
","Debug","storm_mssql::Result"],["
1.0.0 · source§

impl<T, E> Eq for Result<T, E>
where\n T: Eq,\n E: Eq,

","Eq","storm_mssql::Result"],["
1.16.0 · source§

impl<T, U, E> Sum<Result<U, E>> for Result<T, E>
where\n T: Sum<U>,

source§

fn sum<I>(iter: I) -> Result<T, E>
where\n I: Iterator<Item = Result<U, E>>,

Takes each element in the Iterator: if it is an Err, no further\nelements are taken, and the Err is returned. Should no Err\noccur, the sum of all elements is returned.

\n
§Examples
\n

This sums up every integer in a vector, rejecting the sum if a negative\nelement is encountered:

\n\n
let f = |&x: &i32| if x < 0 { Err(\"Negative element found\") } else { Ok(x) };\nlet v = vec![1, 2];\nlet res: Result<i32, _> = v.iter().map(f).sum();\nassert_eq!(res, Ok(3));\nlet v = vec![1, -2];\nlet res: Result<i32, _> = v.iter().map(f).sum();\nassert_eq!(res, Err(\"Negative element found\"));
\n
","Sum>","storm_mssql::Result"],["
1.0.0 · source§

impl<T, E> Ord for Result<T, E>
where\n T: Ord,\n E: Ord,

source§

fn cmp(&self, other: &Result<T, E>) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Self
where\n Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Self
where\n Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Self
where\n Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
","Ord","storm_mssql::Result"],["
1.0.0 · source§

impl<T, E> Copy for Result<T, E>
where\n T: Copy,\n E: Copy,

","Copy","storm_mssql::Result"],["
1.0.0 · source§

impl<T, E> PartialEq for Result<T, E>
where\n T: PartialEq,\n E: PartialEq,

source§

fn eq(&self, other: &Result<T, E>) -> bool

This method tests for self and other values to be equal, and is used\nby ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
","PartialEq","storm_mssql::Result"],["
source§

impl<T, E, F> FromResidual<Result<Infallible, E>> for Result<T, F>
where\n F: From<E>,

source§

fn from_residual(residual: Result<Infallible, E>) -> Result<T, F>

🔬This is a nightly-only experimental API. (try_trait_v2)
Constructs the type from a compatible Residual type. Read more
","FromResidual>","storm_mssql::Result"],["
source§

impl<T, E, F> FromResidual<Yeet<E>> for Result<T, F>
where\n F: From<E>,

source§

fn from_residual(_: Yeet<E>) -> Result<T, F>

🔬This is a nightly-only experimental API. (try_trait_v2)
Constructs the type from a compatible Residual type. Read more
","FromResidual>","storm_mssql::Result"],["
1.16.0 · source§

impl<T, U, E> Product<Result<U, E>> for Result<T, E>
where\n T: Product<U>,

source§

fn product<I>(iter: I) -> Result<T, E>
where\n I: Iterator<Item = Result<U, E>>,

Takes each element in the Iterator: if it is an Err, no further\nelements are taken, and the Err is returned. Should no Err\noccur, the product of all elements is returned.

\n
§Examples
\n

This multiplies each number in a vector of strings,\nif a string could not be parsed the operation returns Err:

\n\n
let nums = vec![\"5\", \"10\", \"1\", \"2\"];\nlet total: Result<usize, _> = nums.iter().map(|w| w.parse::<usize>()).product();\nassert_eq!(total, Ok(100));\nlet nums = vec![\"5\", \"10\", \"one\", \"2\"];\nlet total: Result<usize, _> = nums.iter().map(|w| w.parse::<usize>()).product();\nassert!(total.is_err());
\n
","Product>","storm_mssql::Result"],["
source§

impl<T, E> Try for Result<T, E>

§

type Output = T

🔬This is a nightly-only experimental API. (try_trait_v2)
The type of the value produced by ? when not short-circuiting.
§

type Residual = Result<Infallible, E>

🔬This is a nightly-only experimental API. (try_trait_v2)
The type of the value passed to FromResidual::from_residual\nas part of ? when short-circuiting. Read more
source§

fn from_output(output: <Result<T, E> as Try>::Output) -> Result<T, E>

🔬This is a nightly-only experimental API. (try_trait_v2)
Constructs the type from its Output type. Read more
source§

fn branch(\n self\n) -> ControlFlow<<Result<T, E> as Try>::Residual, <Result<T, E> as Try>::Output>

🔬This is a nightly-only experimental API. (try_trait_v2)
Used in ? to decide whether the operator should produce a value\n(because this returned ControlFlow::Continue)\nor propagate a value back to the caller\n(because this returned ControlFlow::Break). Read more
","Try","storm_mssql::Result"],["
source§

impl<'de, T, E> Deserialize<'de> for Result<T, E>
where\n T: Deserialize<'de>,\n E: Deserialize<'de>,

source§

fn deserialize<D>(\n deserializer: D\n) -> Result<Result<T, E>, <D as Deserializer<'de>>::Error>
where\n D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
","Deserialize<'de>","storm_mssql::Result"],["
source§

impl<T, E> Serialize for Result<T, E>
where\n T: Serialize,\n E: Serialize,

source§

fn serialize<S>(\n &self,\n serializer: S\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
where\n S: Serializer,

Serialize this value into the given Serde serializer. Read more
","Serialize","storm_mssql::Result"],["
§

impl<T, E> IntoParallelIterator for Result<T, E>
where\n T: Send,

§

type Item = T

The type of item that the parallel iterator will produce.
§

type Iter = IntoIter<T>

The parallel iterator type that will be created.
§

fn into_par_iter(self) -> <Result<T, E> as IntoParallelIterator>::Iter

Converts self into a parallel iterator. Read more
","IntoParallelIterator","storm_mssql::Result"],["
§

impl<C, T, E> FromParallelIterator<Result<T, E>> for Result<C, E>
where\n C: FromParallelIterator<T>,\n T: Send,\n E: Send,

Collect an arbitrary Result-wrapped collection.

\n

If any item is Err, then all previous Ok items collected are\ndiscarded, and it returns that error. If there are multiple errors, the\none returned is not deterministic.

\n
§

fn from_par_iter<I>(par_iter: I) -> Result<C, E>
where\n I: IntoParallelIterator<Item = Result<T, E>>,

Creates an instance of the collection from the parallel iterator par_iter. Read more
","FromParallelIterator>","storm_mssql::Result"]] };if (window.register_type_impls) {window.register_type_impls(type_impls);} else {window.pending_type_impls = type_impls;}})() \ No newline at end of file diff --git a/type.impl/tiberius/client/struct.Client.js b/type.impl/tiberius/client/struct.Client.js index 3eb72746..9d23e9e8 100644 --- a/type.impl/tiberius/client/struct.Client.js +++ b/type.impl/tiberius/client/struct.Client.js @@ -1,3 +1,3 @@ (function() {var type_impls = { -"storm_mssql":[["
§

impl<S> Client<S>
where\n S: AsyncRead + AsyncWrite + Unpin + Send,

pub async fn connect(config: Config, tcp_stream: S) -> Result<Client<S>, Error>

Uses an instance of Config to specify the connection\noptions required to connect to the database using an established\ntcp connection

\n

pub async fn execute<'a>(\n &mut self,\n query: impl Into<Cow<'a, str>>,\n params: &[&dyn ToSql]\n) -> Result<ExecuteResult, Error>

Executes SQL statements in the SQL Server, returning the number rows\naffected. Useful for INSERT, UPDATE and DELETE statements. The\nquery can define the parameter placement by annotating them with\n@PN, where N is the index of the parameter, starting from 1. If\nexecuting multiple queries at a time, delimit them with ; and refer to\nExecuteResult how to get results for the separate queries.

\n

For mapping of Rust types when writing, see the documentation for\nToSql. For reading data from the database, see the documentation for\nFromSql.

\n

This API is not quite suitable for dynamic query parameters. In these\ncases using a Query object might be easier.

\n
Example
\n
let results = client\n    .execute(\n        \"INSERT INTO ##Test (id) VALUES (@P1), (@P2), (@P3)\",\n        &[&1i32, &2i32, &3i32],\n    )\n    .await?;
\n

pub async fn query<'a, 'b>(\n &'a mut self,\n query: impl Into<Cow<'b, str>>,\n params: &'b [&'b dyn ToSql]\n) -> Result<QueryStream<'a>, Error>
where\n 'a: 'b,

Executes SQL statements in the SQL Server, returning resulting rows.\nUseful for SELECT statements. The query can define the parameter\nplacement by annotating them with @PN, where N is the index of the\nparameter, starting from 1. If executing multiple queries at a time,\ndelimit them with ; and refer to QueryStream on proper stream\nhandling.

\n

For mapping of Rust types when writing, see the documentation for\nToSql. For reading data from the database, see the documentation for\nFromSql.

\n

This API can be cumbersome for dynamic query parameters. In these cases,\nif fighting too much with the compiler, using a Query object might be\neasier.

\n
Example
\n
let stream = client\n    .query(\n        \"SELECT @P1, @P2, @P3\",\n        &[&1i32, &2i32, &3i32],\n    )\n    .await?;
\n

pub async fn simple_query<'a, 'b>(\n &'a mut self,\n query: impl Into<Cow<'b, str>>\n) -> Result<QueryStream<'a>, Error>
where\n 'a: 'b,

Execute multiple queries, delimited with ; and return multiple result\nsets; one for each query.

\n
Example
\n
let row = client.simple_query(\"SELECT 1 AS col\").await?.into_row().await?.unwrap();\nassert_eq!(Some(1i32), row.get(\"col\"));
\n
Warning
\n

Do not use this with any user specified input. Please resort to prepared\nstatements using the query method.

\n

pub async fn bulk_insert<'a>(\n &'a mut self,\n table: &'a str\n) -> Result<BulkLoadRequest<'a, S>, Error>

Execute a BULK INSERT statement, efficiantly storing a large number of\nrows to a specified table. Note: make sure the input row follows the same\nschema as the table, otherwise calling send() will return an error.

\n
Example
\n
let create_table = r#\"\n    CREATE TABLE ##bulk_test (\n        id INT IDENTITY PRIMARY KEY,\n        val INT NOT NULL\n    )\n\"#;\n\nclient.simple_query(create_table).await?;\n\n// Start the bulk insert with the client.\nlet mut req = client.bulk_insert(\"##bulk_test\").await?;\n\nfor i in [0i32, 1i32, 2i32] {\n    let row = (i).into_row();\n\n    // The request will handle flushing to the wire in an optimal way,\n    // balancing between memory usage and IO performance.\n    req.send(row).await?;\n}\n\n// The request must be finalized.\nlet res = req.finalize().await?;\nassert_eq!(3, res.total());
\n

pub async fn close(self) -> Result<(), Error>

Closes this database connection explicitly.

\n
",0,"storm_mssql::Client"],["
§

impl<S> Debug for Client<S>
where\n S: Debug + AsyncRead + AsyncWrite + Unpin + Send,

§

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

Formats the value using the given formatter. Read more
","Debug","storm_mssql::Client"]] +"storm_mssql":[["
§

impl<S> Client<S>
where\n S: AsyncRead + AsyncWrite + Unpin + Send,

pub async fn connect(config: Config, tcp_stream: S) -> Result<Client<S>, Error>

Uses an instance of Config to specify the connection\noptions required to connect to the database using an established\ntcp connection

\n

pub async fn execute<'a>(\n &mut self,\n query: impl Into<Cow<'a, str>>,\n params: &[&dyn ToSql]\n) -> Result<ExecuteResult, Error>

Executes SQL statements in the SQL Server, returning the number rows\naffected. Useful for INSERT, UPDATE and DELETE statements. The\nquery can define the parameter placement by annotating them with\n@PN, where N is the index of the parameter, starting from 1. If\nexecuting multiple queries at a time, delimit them with ; and refer to\nExecuteResult how to get results for the separate queries.

\n

For mapping of Rust types when writing, see the documentation for\nToSql. For reading data from the database, see the documentation for\nFromSql.

\n

This API is not quite suitable for dynamic query parameters. In these\ncases using a Query object might be easier.

\n
§Example
\n
let results = client\n    .execute(\n        \"INSERT INTO ##Test (id) VALUES (@P1), (@P2), (@P3)\",\n        &[&1i32, &2i32, &3i32],\n    )\n    .await?;
\n

pub async fn query<'a, 'b>(\n &'a mut self,\n query: impl Into<Cow<'b, str>>,\n params: &'b [&'b dyn ToSql]\n) -> Result<QueryStream<'a>, Error>
where\n 'a: 'b,

Executes SQL statements in the SQL Server, returning resulting rows.\nUseful for SELECT statements. The query can define the parameter\nplacement by annotating them with @PN, where N is the index of the\nparameter, starting from 1. If executing multiple queries at a time,\ndelimit them with ; and refer to QueryStream on proper stream\nhandling.

\n

For mapping of Rust types when writing, see the documentation for\nToSql. For reading data from the database, see the documentation for\nFromSql.

\n

This API can be cumbersome for dynamic query parameters. In these cases,\nif fighting too much with the compiler, using a Query object might be\neasier.

\n
§Example
\n
let stream = client\n    .query(\n        \"SELECT @P1, @P2, @P3\",\n        &[&1i32, &2i32, &3i32],\n    )\n    .await?;
\n

pub async fn simple_query<'a, 'b>(\n &'a mut self,\n query: impl Into<Cow<'b, str>>\n) -> Result<QueryStream<'a>, Error>
where\n 'a: 'b,

Execute multiple queries, delimited with ; and return multiple result\nsets; one for each query.

\n
§Example
\n
let row = client.simple_query(\"SELECT 1 AS col\").await?.into_row().await?.unwrap();\nassert_eq!(Some(1i32), row.get(\"col\"));
\n
§Warning
\n

Do not use this with any user specified input. Please resort to prepared\nstatements using the query method.

\n

pub async fn bulk_insert<'a>(\n &'a mut self,\n table: &'a str\n) -> Result<BulkLoadRequest<'a, S>, Error>

Execute a BULK INSERT statement, efficiantly storing a large number of\nrows to a specified table. Note: make sure the input row follows the same\nschema as the table, otherwise calling send() will return an error.

\n
§Example
\n
let create_table = r#\"\n    CREATE TABLE ##bulk_test (\n        id INT IDENTITY PRIMARY KEY,\n        val INT NOT NULL\n    )\n\"#;\n\nclient.simple_query(create_table).await?;\n\n// Start the bulk insert with the client.\nlet mut req = client.bulk_insert(\"##bulk_test\").await?;\n\nfor i in [0i32, 1i32, 2i32] {\n    let row = (i).into_row();\n\n    // The request will handle flushing to the wire in an optimal way,\n    // balancing between memory usage and IO performance.\n    req.send(row).await?;\n}\n\n// The request must be finalized.\nlet res = req.finalize().await?;\nassert_eq!(3, res.total());
\n

pub async fn close(self) -> Result<(), Error>

Closes this database connection explicitly.

\n
",0,"storm_mssql::Client"],["
§

impl<S> Debug for Client<S>
where\n S: Debug + AsyncRead + AsyncWrite + Unpin + Send,

§

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

Formats the value using the given formatter. Read more
","Debug","storm_mssql::Client"]] };if (window.register_type_impls) {window.register_type_impls(type_impls);} else {window.pending_type_impls = type_impls;}})() \ No newline at end of file